:root{--bg: #0b0b0d;--frame: #18181c;--ink: #f4efe6;--ink-dim: #b9b2a6;--wood: #a7773f;--wood-dark: #6e4a22;--laminate: #cfc6b8;--red: #c8232c;--gold: #e7b544;--jade: #2f8f6b;--gravy: #7a4a1e;--pizza: #e0552f;--danger: #ff3b3b;--caption-bg: rgba(0, 0, 0, .72);--phone-w: min(100vw, 56.25vh );--phone-h: min(100vh, calc(100vw * 16 / 9));--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-caption: "Impact", "Anton", "Arial Black", "Helvetica Neue", sans-serif;--font-slip: Georgia, "Times New Roman", serif;--paper: #fffaf0;--paper-ink: #2a1a14;--panel: rgba(14, 12, 10, .9);--line: rgba(255, 255, 255, .16);--focus: #ffd34d;--s1: 1cqw;--s2: 2cqw;--s3: 3cqw;--s4: 4cqw;--s6: 6cqw;--radius: 10px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-ui);overflow:hidden}#app{height:100%;display:grid;place-items:center}.phone{position:relative;width:var(--phone-w);height:var(--phone-h);background:var(--frame);overflow:hidden;border-radius:18px;box-shadow:0 0 0 1px #000,0 20px 60px #0009;-webkit-user-select:none;user-select:none}.scene{position:absolute;top:0;right:0;bottom:0;left:0}.scene svg{width:100%;height:100%;display:block}.caption{position:absolute;left:4%;right:4%;padding:.6em .8em;background:var(--caption-bg);color:var(--ink);font-family:var(--font-caption);font-size:clamp(16px,2.4vh,28px);line-height:1.2;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 2px 0 #000;border-radius:6px}.card{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000;color:#fff;font-family:var(--font-caption);text-align:center;padding:8%}.rec{position:absolute;top:3%;left:4%;display:flex;align-items:center;gap:.4em;font-size:clamp(12px,1.8vh,18px);color:#fff;font-weight:700;letter-spacing:.1em}.rec:before{content:"";width:.8em;height:.8em;border-radius:50%;background:var(--danger);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}button{font:inherit;cursor:pointer}.phone{container-type:size}.phone:focus{outline:none}.stage{position:absolute;top:0;right:0;bottom:0;left:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.rec{z-index:5;padding:.3em .6em;background:#00000080;border-radius:999px;line-height:1}.rec-standby:before{background:#8a8a8a;animation:none}.mute{position:absolute;z-index:20;top:2.2%;right:4%;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:#0000008c;color:#fff}.mute svg{width:22px;height:22px}.mute[aria-pressed=true]{color:var(--ink-dim)}.location{position:absolute;z-index:4;top:9%;left:4%;display:flex;flex-direction:column;padding:.4em .7em;background:#0000008c;border-left:3px solid var(--red);border-radius:4px;font-size:clamp(12px,3.4cqw,16px);line-height:1.25}.location span{color:var(--ink-dim)}.scene.wobble svg{animation:handheld 7s ease-in-out infinite alternate;transform-origin:50% 50%}@keyframes handheld{0%{transform:scale(1.04) translate(0) rotate(0)}25%{transform:scale(1.04) translate(-3px,2px) rotate(-.3deg)}50%{transform:scale(1.04) translate(2px,-2px) rotate(.2deg)}75%{transform:scale(1.04) translate(-1px,3px) rotate(.35deg)}to{transform:scale(1.04) translate(3px,-1px) rotate(-.15deg)}}.scene.dim:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080}.bottom{position:absolute;z-index:6;left:4%;right:4%;bottom:4%;display:flex;flex-direction:column;gap:var(--s3)}.caption-host .caption{position:relative;left:auto;right:auto;font-size:clamp(16px,5.4cqw,26px);background:#000c;padding:.55em .75em}.caption-rest{visibility:hidden}.caption-next{position:absolute;right:.5em;bottom:.3em;font-size:.55em;opacity:0}.caption.waiting .caption-next{opacity:.8;animation:nudge .9s ease-in-out infinite}@keyframes nudge{50%{transform:translateY(3px)}}.caption.voice-her{font-family:var(--font-ui);font-style:italic;font-weight:600;text-transform:none;letter-spacing:0;font-size:clamp(15px,4.6cqw,22px);background:#16141ed1;color:#f4efe6e6;border-left:3px solid var(--ink-dim)}.caption.voice-her:before{content:"🎥 ";font-style:normal}.caption.voice-stage{font-family:var(--font-ui);font-style:italic;text-transform:none;letter-spacing:0;font-size:clamp(15px,4.6cqw,22px);color:var(--ink-dim);background:#000000b3}.caption.voice-card{background:none;text-align:center;color:#fff;font-size:clamp(22px,8cqw,40px);padding:0}.caption.voice-slip{background:none;padding:0;border-radius:0;font-family:var(--font-slip);font-size:clamp(10px,3cqw,15px);line-height:1.15;text-transform:none;letter-spacing:0;text-shadow:none;color:var(--paper-ink);text-align:center}.btn{position:relative;min-height:52px;padding:.5em 1em;border-radius:var(--radius);font-family:var(--font-caption);font-size:clamp(16px,5cqw,24px);letter-spacing:.03em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:.5em;transition:transform .08s,filter .15s,opacity .2s}.btn-primary{background:var(--red);color:#fff;border:2px solid #000;box-shadow:0 4px #6d0f15}.btn-secondary{background:#000000b3;color:var(--ink);border:2px solid var(--line)}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){transform:translateY(2px)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn kbd,.dish-key{font-family:var(--font-ui);font-size:11px;font-weight:700;line-height:1;padding:3px 5px;border-radius:4px;background:#00000059;border:1px solid rgba(255,255,255,.3)}.choices{display:flex;flex-direction:column;gap:var(--s2)}.choices:empty{display:none}@media(hover:none){.btn kbd,.dish-key,.kbd-hint{display:none}}.day-card{z-index:10;font-size:clamp(40px,18cqw,96px);letter-spacing:.04em;transition:opacity .35s}.day-card.out{opacity:0}.title-block{position:absolute;z-index:4;top:6.5%;left:5%;right:5%;text-align:center}.title-block:before{content:"";position:absolute;z-index:-1;top:-14%;right:-8%;bottom:-14%;left:-8%;background:radial-gradient(closest-side,rgba(0,0,0,.92) 55%,rgba(0,0,0,.6) 80%,transparent)}.logo{margin:0;font-family:var(--font-caption);font-weight:400;font-size:clamp(44px,15.5cqw,88px);line-height:.88;letter-spacing:.01em;color:var(--gold);-webkit-text-stroke:2px #2a1a14;text-shadow:0 5px 0 #2a1a14,0 10px 24px rgba(0,0,0,.6)}.logo span{display:block}.logo .logo-of{font-size:.42em;line-height:1.2;color:#fff}.tagline{margin:0;max-width:88%;text-align:center;padding:.45em .8em;background:#000000b3;border-radius:6px;font-size:clamp(14px,4.3cqw,20px);font-weight:600;line-height:1.3}.title-start{position:absolute;z-index:4;left:0;right:0;bottom:6%;display:flex;flex-direction:column;align-items:center;gap:var(--s4)}.start{min-height:56px;padding:.5em 1.4em;border:2px solid #000;border-radius:999px;background:var(--red);color:#fff;font-family:var(--font-caption);font-size:clamp(20px,6.5cqw,32px);letter-spacing:.06em;box-shadow:0 5px #6d0f15,0 10px 30px #00000080}.pulse{animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.06);opacity:.82}}.flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;background:#fff;opacity:0;pointer-events:none}.flash.go{animation:flash .45s ease-out}@keyframes flash{0%{opacity:.95}to{opacity:0}}.phone.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(4px,-2px)}30%,50%,70%{transform:translate(-6px,2px)}40%,60%{transform:translate(6px,-1px)}}.stamp{position:absolute;z-index:5;top:53%;left:50%;padding:.05em .25em;font-family:var(--font-caption);font-size:clamp(56px,24cqw,130px);line-height:1;color:var(--pizza);background:#fffaf0eb;border:6px solid var(--pizza);border-radius:10px;transform:translate(-50%) rotate(-12deg);animation:stamp .35s cubic-bezier(.2,1.6,.4,1) both}@keyframes stamp{0%{transform:translate(-50%) rotate(-12deg) scale(2.6);opacity:0}to{transform:translate(-50%) rotate(-12deg) scale(1);opacity:1}}.line-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;padding-top:calc(2.2% + 52px)}.hud{margin:0 4%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);padding:.5em .7em;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font-size:clamp(11px,3.3cqw,15px);font-weight:800;letter-spacing:.05em}.hud-item{white-space:nowrap}.hud .subs{margin-left:auto;color:var(--ink-dim)}.gut{display:inline-flex;align-items:center;gap:.4em}.gut-bar{display:inline-block;width:13cqw;height:9px;border-radius:9px;background:#ffffff26;overflow:hidden}.gut-fill{display:block;height:100%;background:linear-gradient(90deg,var(--jade),var(--gold));transition:width .4s}.gut.hot .gut-fill{background:var(--danger)}.gut.hot{color:var(--danger)}.gut-num{min-width:2ch;font-variant-numeric:tabular-nums}.line-head{margin:var(--s2) 4% var(--s2);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3)}.line-head h2{margin:0;font-family:var(--font-caption);font-weight:400;font-size:clamp(22px,7cqw,34px);text-transform:uppercase;line-height:1;text-shadow:0 2px 0 #000}.line-head p{margin:.3em 0 0;font-size:clamp(12px,3.5cqw,16px);color:var(--ink);text-shadow:0 1px 2px #000}.portrait{flex:none;width:21cqw;aspect-ratio:3 / 4;border-radius:var(--radius);border:2px solid rgba(255,255,255,.5);background:#ffffff1f;overflow:hidden}.portrait svg{display:block;width:100%;height:100%}.portrait.pose-excited{border-color:var(--gold);box-shadow:0 0 0 3px #e7b54466}.dish-area{position:relative;flex:1;min-height:0}.dish-grid{list-style:none;margin:0;height:100%;overflow-y:auto;padding:var(--s1) 4% var(--s4);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:var(--s2);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.dish{position:relative;width:100%;height:100%;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s1) var(--s1) var(--s2);border:2px solid #000;border-radius:var(--radius);background:var(--paper);color:var(--paper-ink);box-shadow:0 3px #00000080;transition:transform .08s}.dish:hover:not([aria-disabled=true]){transform:translateY(-2px)}.dish:active:not([aria-disabled=true]){transform:translateY(1px)}.dish[aria-disabled=true]{opacity:.55;cursor:not-allowed}.dish-key{position:absolute;top:4px;left:4px;color:var(--paper-ink);background:#0000000f;border-color:#00000040}.dish-art{width:62%;aspect-ratio:1}.dish-art svg{width:100%;height:100%;display:block}.dish-name{font-size:clamp(11px,3.2cqw,14px);font-weight:700;line-height:1.15;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em}.pips{display:flex;gap:3px;margin-top:auto}.pips i{width:8px;height:8px;border-radius:50%;background:#d7d0c2;border:1px solid #8f8776}.pips i.on{background:var(--pizza);border-color:#7a2a12}.risk-3 .pips i.on{background:var(--danger)}.line-captions{position:absolute;z-index:4;left:4%;right:4%;bottom:var(--s2)}.tray{flex:none;padding:var(--s3) 4% max(var(--s4),env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s2)}.tray-top{display:grid;grid-template-columns:36% 1fr;align-items:center;gap:var(--s3)}.plate-art svg{display:block;width:100%}.tray-status{margin:0 0 .5em;font-size:clamp(12px,3.4cqw,15px);color:var(--ink-dim);line-height:1.3}.plate-items{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2);min-height:44px}.plate-item{position:relative;width:44px;height:44px;padding:3px;border:2px solid #000;border-radius:8px;background:var(--paper)}.plate-item svg{width:100%;height:100%;display:block}.plate-item span{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;font-size:13px;font-weight:800;line-height:17px;text-align:center;border:1px solid #000}.tray-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--s2)}.tray-actions .btn{font-size:clamp(14px,4.4cqw,21px);padding:.4em .5em}.held{position:absolute;z-index:3;left:30.5%;top:44%;width:24cqw;transform:translate(-50%,-50%);filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}.held svg{display:block;width:100%}.held.up{animation:hold-up .45s cubic-bezier(.2,1.3,.4,1) both}@keyframes hold-up{0%{transform:translate(-50%,10%) rotate(-12deg) scale(.7);opacity:0}to{transform:translate(-50%,-50%) rotate(0) scale(1);opacity:1}}.plate-chip{position:absolute;z-index:4;top:9%;left:4%;padding:.35em .7em;background:#0009;border-radius:4px;font-family:var(--font-caption);font-size:clamp(14px,4.4cqw,20px);letter-spacing:.05em}.receipt{position:absolute;z-index:3;right:4%;bottom:17%;width:40cqw;transform:translateY(130cqh) rotate(6deg);transition:transform .7s cubic-bezier(.2,1,.3,1);filter:drop-shadow(0 10px 14px rgba(0,0,0,.5))}.receipt.up{transform:translateY(0) rotate(6deg)}.receipt svg{display:block;width:100%}.gong{position:absolute;z-index:3;top:10%;right:5%;width:26cqw;transform-origin:50% 10%}.gong svg{display:block;width:100%}.gong.ring{animation:ring 1.1s ease-out}@keyframes ring{15%{transform:rotate(9deg) scale(1.08)}35%{transform:rotate(-7deg)}55%{transform:rotate(4deg)}75%{transform:rotate(-2deg)}}.fortune-wrap{position:absolute;z-index:4;left:11%;right:11%;top:50%}.cookie{display:block;width:100%;padding:0;border:0;background:none;border-radius:20px;filter:drop-shadow(0 12px 16px rgba(0,0,0,.5))}.cookie svg{display:block;width:100%}.cookie.cracked{animation:crack .3s ease-out}@keyframes crack{40%{transform:scale(1.07)}}.slip-layer{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-6deg);pointer-events:none}.slip{position:absolute;left:29.5%;top:11.5%;width:41%;height:30%;display:flex;align-items:center;justify-content:center;border-radius:2px}.slip .caption{position:static;width:100%}.slip.lore:has(.caption:not([hidden])){box-shadow:0 0 14px 3px #e7b544b3,inset 0 0 10px #e7b54459}.slip.lore .caption{color:#6b4500}.hint{position:absolute;z-index:4;left:0;right:0;bottom:10%;margin:0 auto;width:max-content;max-width:90%;padding:.35em .9em;background:#000000b3;border-radius:999px;font-family:var(--font-caption);font-size:clamp(16px,5.2cqw,26px);letter-spacing:.06em}.verdict-num{position:absolute;z-index:4;left:21%;top:22%;transform:translate(-50%);font-family:var(--font-caption);font-size:clamp(90px,34cqw,180px);line-height:1;color:var(--gold);-webkit-text-stroke:3px #2a1a14;text-shadow:0 6px 0 #2a1a14,0 12px 30px rgba(0,0,0,.55);animation:slam .32s cubic-bezier(.2,1.5,.4,1) both}@keyframes slam{0%{transform:translate(-50%) scale(2.4);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.verdict-rating{position:absolute;z-index:4;left:10%;right:10%;top:57%;padding:var(--s2) var(--s3);background:#0009;border-radius:var(--radius);animation:rise .35s ease-out both}.verdict-rating svg{display:block;width:100%}@keyframes rise{0%{transform:translateY(12px);opacity:0}}.end-card{z-index:2}.end-body{width:100%;display:flex;flex-direction:column;gap:var(--s6)}.stats{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);animation:rise .4s ease-out both}.stats[hidden]{display:none}.stats>div{padding:var(--s2) var(--s1);border-top:1px solid var(--line)}.stats dt{font-family:var(--font-ui);font-size:clamp(11px,3cqw,14px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.stats dd{margin:.2em 0 0;font-size:clamp(22px,7.5cqw,36px);line-height:1.05}.stats small{display:block;font-family:var(--font-ui);font-size:clamp(11px,3cqw,14px);color:var(--ink-dim)}.stats-folds{grid-column:1 / -1}.folds{list-style:none;margin:.3em 0 0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:var(--s3)}.fold{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--font-ui);font-size:clamp(11px,3cqw,14px);font-weight:700}.fold-art{width:13cqw;height:13cqw;display:grid;place-items:center;border-radius:50%;background:#ffffff1a}.fold-art svg{width:86%;height:86%}.fold.missing{color:#8a8a8a}.fold.missing .fold-art{border:2px dashed #6a6a6a;background:none;font-family:var(--font-caption);font-size:6cqw}.final-card{z-index:8;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:var(--s4);overflow-y:auto;animation:fade-in .8s ease-out both}.final-card .logo{font-size:clamp(44px,16cqw,90px)}.final-stats{grid-template-columns:repeat(2,minmax(0,1fr));animation:none}.codex h2{margin:0;font-family:var(--font-ui);font-size:clamp(12px,3.4cqw,15px);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.codex h2 span{color:var(--gold)}.final-line .caption.voice-card{font-size:clamp(16px,5.4cqw,26px)}@keyframes fade-in{0%{opacity:0}}.boot-error{font-family:var(--font-ui);text-align:left;color:#ffb4b4}.boot-error h1{font-family:var(--font-caption);font-weight:400;color:#fff}@media(prefers-reduced-motion:reduce){.scene.wobble svg,.phone.shake,.pulse,.stamp,.held.up,.gong.ring,.cookie.cracked,.verdict-num,.verdict-rating,.stats,.final-card,.caption.waiting .caption-next{animation:none}.flash.go{animation:none;opacity:0}.receipt,.day-card,.gut-fill,.btn,.dish{transition:none}}
