.lunch-history-panel{display:flex;flex-direction:column;flex:1;min-inline-size:0;min-block-size:0;padding:20px;border:1px solid #d8decd;border-radius:16px;background:#fff;overflow:hidden}.lunch-history-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;flex-shrink:0;gap:12px;margin-block-end:16px}.lunch-history-heading h2{font-size:22px;font-weight:700;line-height:1.4;margin:0}.lunch-history-heading p{font-size:12px;line-height:1.5;color:#556247;margin-block:4px 0}.lunch-history-return,.lunch-history-copy{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:6px;min-block-size:44px;padding:8px 12px;border:1px solid #8b967d;border-radius:8px;background:#fff;color:#3f5e25;font-size:13px;line-height:1.4;font-weight:600}.lunch-history-storage-error{display:block;flex-shrink:0;padding:10px 12px;border:1px solid #8b967d;border-radius:8px;background:#f6f8ef;font-size:13px;line-height:1.6;color:var(--ink);margin-block:0 12px}.lunch-history-list{display:flex;flex-direction:column;flex:1;gap:12px;min-inline-size:0;min-block-size:0;list-style:none;padding:4px;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:8px}.lunch-history-item{flex-shrink:0;min-inline-size:0;padding:16px;border:1px solid #d8decd;border-radius:12px;background:#f7f9f1;overflow-wrap:anywhere}.lunch-history-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lunch-history-item-heading h3{min-inline-size:0;font-size:18px;font-weight:700;line-height:1.4;margin:0}.lunch-history-category{font-size:14px;line-height:1.5;margin-block:6px 0}.lunch-history-source,.lunch-history-item>time{display:block;font-size:12px;line-height:1.6;color:#556247;margin-block:8px 0}.lunch-history-item>time{font-variant-numeric:tabular-nums;margin-block-start:2px}.lunch-history-item>.copy-fallback{margin-block-start:16px}.lunch-history-empty{min-inline-size:0;padding-block:20px;font-size:14px;line-height:1.7;color:#556247;overflow-wrap:anywhere}.lunch-history-empty p{font-size:18px;font-weight:650;color:var(--ink);margin-block:0 8px}@media(hover:hover){.lunch-history-return:hover,.lunch-history-copy:hover{background:#edf2e3}}@media(max-width:600px){.lunch-history-panel{padding:16px}.lunch-history-heading h2{font-size:20px}.lunch-history-item{padding:12px}.lunch-history-item-heading{gap:8px}.lunch-history-item-heading h3{font-size:16px}}.random-lab.lunch-prototype{display:flex;flex-direction:column;block-size:100dvh;min-block-size:0;padding-block-end:16px}.lunch-prototype main{display:flex;flex-direction:column;flex:1;min-block-size:0}.lunch-masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;min-block-size:64px;flex-shrink:0;border-block-end:1px solid var(--line)}.lunch-prototype .page-heading{flex-shrink:0;padding-block:16px}.lunch-prototype .page-heading h1{font-size:28px;line-height:1.2;margin:0}.lunch-prototype .page-heading>p{font-size:14px;line-height:1.5;margin-block:6px 0}.lunch-source-details{margin-block-start:6px;font-size:12px;line-height:1.6;color:#556247}.lunch-source-details summary{width:fit-content;max-inline-size:100%;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.lunch-source-details .lunch-sample-notice{font-size:12px;line-height:1.6;margin-block:6px 0}.lunch-view-switch{display:flex;flex-shrink:0;gap:8px;margin-block-end:12px;padding:4px;background:#edf2e3;border-radius:10px}.lunch-view-switch button{flex:1;min-inline-size:0;min-block-size:40px;border:1px solid transparent;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:650;line-height:1.4}.lunch-view-switch [aria-pressed=true]{background:var(--ink);color:#fff}.lunch-error{flex-shrink:0;font-size:13px;line-height:1.5;margin-block:0 8px}.lunch-layout{display:flex;flex-direction:column;flex:1;min-block-size:0}.lunch-draw-panel,.lunch-candidate-panel{display:flex;flex:1;flex-direction:column;min-inline-size:0;min-block-size:0;border:1px solid #d8decd;border-radius:16px;background:#fff;padding:20px;overflow:auto;overscroll-behavior:contain}.lunch-layout>[hidden]{display:none}.lunch-draw-panel{background:#f6f8ef;overflow:hidden}.lunch-candidate-panel{inline-size:min(100%,960px);align-self:center}.lunch-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:16px;flex-shrink:0}.lunch-panel-heading h2{font-size:20px;line-height:1.4;font-weight:700;margin:0;scroll-margin-block-start:16px}.lunch-panel-heading>span{flex-shrink:0;font-size:12px;font-weight:600;color:#556247}.lunch-draw-stage{position:relative;container-type:size;flex:1;min-block-size:0;min-inline-size:0;isolation:isolate}.lunch-wheel-area{position:absolute;inset:0;display:grid;place-items:center;min-inline-size:0}.lunch-wheel-area.is-covered{opacity:.18;pointer-events:none}.lunch-stage-footer{position:absolute;inset-inline:0;inset-block-end:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding-block:8px}.lunch-stage-footer .lunch-status{text-align:center;margin:0}.lunch-result-overlay{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:12px;background:#f6f8ef99;min-block-size:0;min-inline-size:0}.lunch-secondary-button{min-block-size:44px;border:1px solid #8b967d;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;color:#3f5e25;background:#fff}.lunch-result-actions{display:grid;gap:8px;margin-block-start:20px}.lunch-result-actions .generate-button{margin:0;inline-size:100%;min-block-size:48px;justify-content:center;gap:8px;font-size:17px}.lunch-stage-label{display:block;font-size:11px;line-height:1.5;font-weight:650;color:#556247;margin-block-end:6px}.lunch-result{inline-size:min(100%,520px);max-block-size:100%;min-inline-size:0;padding:28px;border:1px solid #d8decd;border-radius:16px;background:#fff;box-shadow:0 8px 24px #232a1814,0 24px 64px #232a181a;overflow-y:auto;overscroll-behavior:contain}.lunch-result-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-block-end:8px}.lunch-result-heading .lunch-stage-label{margin:0}.lunch-result h3{font-size:clamp(26px,4vw,40px);font-weight:750;line-height:1.25;margin-block:0 6px;overflow-wrap:anywhere}.lunch-result>p{font-size:13px;margin:0;line-height:1.5}.lunch-result-source,.lunch-result-time{display:block;font-size:11px;color:#556247;line-height:1.5}.lunch-result-source{margin-block-start:8px}.lunch-result-meta summary{display:list-item;cursor:pointer}.lunch-result-time{margin-block:4px 10px}.lunch-status{display:block;margin-block-start:8px;font-size:12px;line-height:1.5;color:#556247}.lunch-empty-message:empty,.lunch-status:empty{display:none}.lunch-outcome>.text-button{margin-block-start:8px}.lunch-wheel{inline-size:min(calc(100cqi - 24px),calc(100cqb - 92px),760px);aspect-ratio:1;position:relative;margin-block:12px 80px}.lunch-wheel-rotor{inline-size:100%;block-size:100%;border:2px solid #8b967d;border-radius:50%;overflow:hidden}.lunch-wheel-track{inline-size:100%;block-size:100%;border-radius:50%;overflow:hidden}.lunch-wheel-rotor>svg{display:block;inline-size:100%;block-size:100%;fill:var(--ink);font-size:22px;font-weight:700}.lunch-wheel-pointer{position:absolute;top:-10px;left:50%;width:22px;height:26px;background:var(--ink);clip-path:polygon(0 0,100% 0,50% 100%);transform:translate(-50%);z-index:2}.lunch-wheel-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;inline-size:25%;max-inline-size:160px;min-inline-size:80px;min-block-size:80px;aspect-ratio:1;padding:6px;border-radius:50%;border:2px solid #527427;background:var(--lime);font-size:clamp(14px,3cqi,22px);line-height:1.3;font-weight:700;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent}.lunch-wheel-center small{font-size:10px;line-height:1.3;font-weight:600}.lunch-wheel-center:disabled{cursor:wait;opacity:.8}.lunch-wheel-help{font-size:11px;line-height:1.5;color:#556247;text-align:center;margin:8px 0 0}.lunch-options{display:flex;flex-direction:column;flex:1;padding:0;margin:0;border:0;min-inline-size:0;min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.lunch-categories{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0;padding:0;margin:0;border:0;min-inline-size:0}.lunch-categories button{max-inline-size:100%;min-block-size:36px;padding:6px 10px;border:1px solid #8b967d;border-radius:8px;background:#fff;color:#3f5e25;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.lunch-categories [aria-pressed=true]{background:var(--lime);border-color:#718437;color:var(--ink)}.lunch-selection-actions{display:flex;flex-shrink:0;gap:24px;justify-content:space-between;margin-block:8px}.lunch-selection-actions button{min-block-size:40px;font-size:12px}.lunch-list-cue{flex-shrink:0;font-size:11px;line-height:1.5;color:#556247;margin-block:0 8px}.lunch-place-list{display:grid;align-content:start;gap:8px;flex:1;min-block-size:96px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:4px;margin:0;border-radius:8px}.lunch-place{display:flex;align-items:center;gap:10px;min-inline-size:0;min-block-size:70px;padding:10px;border:1px solid #a9b992;border-radius:8px;background:#f7f9f1;cursor:pointer}.lunch-place.is-excluded{background:#fff;border-color:var(--line);color:var(--muted)}.lunch-place input{flex-shrink:0;inline-size:20px;block-size:20px;accent-color:#527427}.lunch-place-text{display:flex;flex-direction:column;gap:4px;min-inline-size:0;overflow-wrap:anywhere}.lunch-place-number{flex-shrink:0;min-inline-size:20px;font-size:12px;font-weight:650;text-align:center;color:#556247;font-variant-numeric:tabular-nums}.lunch-place-text strong{font-size:14px;line-height:1.4;font-weight:650}.lunch-place-text>span{font-size:11px;line-height:1.5}.lunch-place-distance{font-size:11px;margin-inline-start:auto;flex-shrink:0;color:#556247}.lunch-candidate-help,.lunch-no-candidates{flex-shrink:0;font-size:11px;line-height:1.5;color:var(--muted);margin-block:12px 0}.lunch-options:disabled{opacity:.65}.lunch-options:disabled label{cursor:not-allowed}@media(hover:hover){.lunch-wheel-center:not(:disabled):hover{background:#c9ee4b}}@media(prefers-reduced-motion:no-preference){.lunch-result{animation:lunch-result-reveal .3s ease-out both}@keyframes lunch-result-reveal{0%{opacity:0;transform:translateY(12px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.lunch-wheel-rotor[data-phase=spinning]{transition:transform var(--lunch-spin-duration, 7.2s) cubic-bezier(.12,.72,.16,1)}.lunch-wheel-center{transition:scale .15s ease-out}.lunch-wheel-center:not(:disabled):active{scale:.96}}@media(max-width:600px){.random-lab.lunch-prototype{padding-block-end:12px}.lunch-masthead{min-block-size:56px;gap:12px}.lunch-masthead>.text-button{font-size:12px}.lunch-prototype .page-heading{padding-block:12px}.lunch-prototype .page-heading h1{font-size:26px}.lunch-draw-panel,.lunch-candidate-panel{padding:16px}.lunch-panel-heading{margin-block-end:12px}.lunch-panel-heading h2{font-size:18px}.lunch-result h3{font-size:26px}.lunch-result{padding:16px}.lunch-result-overlay{padding:4px}.lunch-view-switch{gap:4px}.lunch-view-switch button{font-size:12px;padding:8px 4px}}@media(max-width:360px){.lunch-masthead>.text-button svg{display:none}}
