:root{--ink:#2b2b3a;--paper:#fffaf0;--pink:#ff8fa3;--teal:#3fbfb0;--sun:#ffd166;--red:#ef5d4d;color:var(--ink);font-family:ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,Nunito,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#e9e6e1;height:100%;margin:0;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}button,input{font:inherit;color:inherit}button{cursor:pointer;border:1.5px solid var(--ink);background:#ffffff8c;border-radius:255px 18px 225px/18px 225px 18px 255px;padding:7px 15px;font-weight:700;transition:transform 80ms,background .12s}@media (hover:hover){button:hover{background:#ffffffd9}}button:active{transform:translate(1px,1px)rotate(-.6deg)}header{padding:calc(12px + env(safe-area-inset-top)) 16px 0;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed;top:0;left:0;right:0}header>*{pointer-events:auto}.title h1{letter-spacing:.5px;color:var(--ink);margin:0;font-size:34px;font-weight:900;line-height:1}.title p{max-width:330px;margin:6px 0 0;font-size:14px;font-weight:600;line-height:1.3}.top-actions{white-space:nowrap;align-items:center;gap:10px;font-size:14px;font-weight:800;display:flex}.bubble{border:3px solid var(--ink);text-align:center;pointer-events:none;background:#fff;border-radius:18px;max-width:min(340px,78vw);padding:10px 14px;font-size:15px;font-weight:700;line-height:1.3;position:fixed;transform:translate(-50%,-100%);box-shadow:0 4px #2b2b3a40}.bubble:after{content:"";border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);background:#fff;width:16px;height:16px;margin-left:-8px;position:absolute;bottom:-11px;left:50%;transform:rotate(45deg)}.bubble.fail,.bubble.fail:after{background:#ffe3df}.bubble.mess,.bubble.mess:after{background:#f6e0ff}.bubble.warn,.bubble.warn:after{background:#fff1cc}.bubble.win,.bubble.win:after{background:#e3ffd6}#log{pointer-events:none;flex-direction:column;gap:8px;width:300px;display:flex;position:fixed;top:96px;bottom:132px;right:16px}#entries{pointer-events:auto;-webkit-user-select:text;user-select:text;scrollbar-width:none;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}#entries>li{border:3px solid var(--ink);background:#fffaf0f0;border-radius:14px;padding:8px 10px}.said{font-size:14px;font-weight:800}.said:before{content:"“"}.said:after{content:"”"}.steps{margin:6px 0 0;padding:0;font-size:12.5px;line-height:1.3;list-style:none}.steps li{padding:3px 0 3px 18px;font-weight:600;position:relative}.steps li:before{content:"•";font-weight:900;position:absolute;left:4px}.steps li.ok:before{content:"✓";color:#2f9e62}.steps li.fail:before{content:"✗";color:var(--red)}.steps li.mess:before{content:"!";color:#8a2c8f}.steps li.warn:before{content:"?";color:#c98a00}.steps li.win:before{content:"★";color:#e0a100}.steps .op{opacity:.55;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px;font-weight:500;display:block}footer{left:0;right:0;bottom:var(--kb,0px);padding:0 16px calc(14px + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed}footer>*{pointer-events:auto}#status{color:#fff;text-align:center;background:#2b2b3ad1;border-radius:999px;max-width:min(640px,94vw);padding:6px 14px;font-size:14px;font-weight:700}.controls{justify-content:center;align-items:center;gap:12px;width:min(640px,100%);display:flex}#mic{touch-action:none;border-width:2px;border-radius:18px 225px 18px 255px/255px 18px 225px;flex:none;align-items:center;gap:10px;padding:12px 20px;font-size:16px;display:flex}#mic.recording{border-color:var(--red);color:var(--red);background:#fff;transform:rotate(-1deg)}#mic.live{border-color:var(--teal);background:#fff}#mic.live.recording{border-color:var(--red)}body.handsfree #mode{background:var(--ink);color:#fff}#mic:disabled,form button:disabled{opacity:.55;cursor:default}.mic-icon{background:currentColor;border-radius:7px;width:12px;height:20px;box-shadow:0 0 #ef5d4d80}#mic.recording .mic-icon{animation:.9s infinite pulse}@keyframes pulse{to{box-shadow:0 0 0 12px #ef5d4d00}}#type{flex:1;gap:8px;min-width:0;display:flex}#text{border:1.5px solid var(--ink);-webkit-user-select:text;user-select:text;background:#ffffff8c;border-radius:18px 225px 18px 255px/225px 18px 255px;outline:none;flex:1;min-width:0;padding:10px 16px;font-size:16px;font-weight:600}#text:focus{background:#fff}#win,.overlay{background:#2b2b3a73;place-items:center;display:grid;position:fixed;inset:0}.card{border:4px solid var(--ink);background:var(--paper);text-align:center;box-shadow:0 8px 0 var(--ink);border-radius:24px;max-width:88vw;padding:26px 30px}.card h2{margin:0 0 8px;font-size:30px;font-weight:900}.card p{margin:0 0 18px;font-weight:700;line-height:1.4}.card button{padding:10px 20px;font-size:16px}#start{background:var(--sun);letter-spacing:2px;width:min(560px,100%);box-shadow:0 6px 0 var(--ink);border-width:3px;border-radius:18px 225px 18px 255px/255px 18px 225px;margin-bottom:4vh;padding:30px 24px;font-size:48px;font-weight:900}@media (hover:hover){#start:hover{background:#ffdb85}}#intro .card{max-width:min(440px,88vw)}#intro .card p{font-size:18px}.card p.warning{color:var(--red);font-weight:900}#go{background:var(--sun);border-width:2px}canvas.confetti{pointer-events:none;z-index:50;width:100%;height:100%;position:fixed;inset:0}#help{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom) + var(--kb,0px));background:var(--paper);width:44px;height:44px;box-shadow:0 3px 0 var(--ink);border-width:2px;border-radius:50% 46% 52% 48%/48% 52% 46% 50%;padding:0;font-size:22px;font-weight:900;line-height:1;position:fixed}#howto .card{text-align:left;max-width:min(460px,88vw)}#howto h2{text-align:center}#howto ol{margin:0 0 20px;padding-left:22px;font-size:16px;font-weight:600;line-height:1.4}#howto li+li{margin-top:10px}#howto .card button{background:var(--sun);border-width:2px;margin:0 auto;display:block}body.kitchen .title{white-space:nowrap;text-align:center;text-shadow:0 0 6px #fdf3e1,0 0 3px #fdf3e1,0 0 1px #fdf3e1;position:absolute;left:50%;transform:translate(-50%)}body.kitchen .title h1{letter-spacing:1px;font-size:44px}.title p.command{letter-spacing:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-weight:700}.title p.command .prompt{color:var(--teal);margin-right:2px}body.kitchen .title p{max-width:none;margin-top:4px;font-size:16px}body.kitchen .top-actions{margin-left:auto}.type-instead{text-underline-offset:3px;opacity:.75;background:0 0;border:none;margin:12px auto 0;padding:2px 6px;font-size:14px;font-weight:700;text-decoration:underline;display:block}@media (hover:hover){.type-instead:hover{opacity:1;background:0 0}}#type-link{background:#fffaf0cc;border-radius:999px;margin:0;padding:3px 10px;font-size:13px}body.kitchen .bubble{border-width:3.5px;border-radius:22px;max-width:min(560px,88vw);padding:14px 22px;font-size:23px;line-height:1.25}body.kitchen .bubble.side{max-width:min(400px,40vw)}body.kitchen .bubble.side:after{border-bottom:0;border-top:3.5px solid var(--ink);margin:-8px 0 0;inset:50% -11px auto auto}body.kitchen:not(.debug) #log{display:none}@media (width<=760px){body.kitchen .bubble{border-width:2.5px;border-radius:16px;width:auto;max-width:100%;margin-top:10px;padding:8px 14px;font-size:16px;line-height:1.25;position:relative;transform:none;top:auto!important;left:auto!important}body.kitchen .bubble:after{border-width:0;border-left:2.5px solid var(--ink);border-top:2.5px solid var(--ink);top:-10px;bottom:auto}body.kitchen .bubble:not(.hidden)~#status{display:none}}#countdown{color:var(--sun);-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 10px 0 var(--ink);pointer-events:none;place-items:center;font-size:min(42vw,260px);font-weight:900;display:grid;position:fixed;inset:0}#countdown.pop{animation:1s ease-out count}@keyframes count{0%{opacity:0;transform:scale(1.6)}20%{opacity:1;transform:scale(1)}85%{opacity:1}to{opacity:0;transform:scale(.85)}}#clock{border:2px solid var(--ink);background:var(--paper);text-align:center;font-variant-numeric:tabular-nums;border-radius:12px;min-width:74px;padding:4px 12px;font-size:24px;font-weight:900}#clock.low{color:#fff;background:var(--red);border-color:var(--red);animation:1s step-end infinite tick}@keyframes tick{50%{transform:scale(1.08)}}@media (width<=760px){.title h1{font-size:26px}body.kitchen .title h1{font-size:34px}body.kitchen header{padding-top:calc(90px + env(safe-area-inset-top))}body.kitchen #status{padding:6px 14px;font-size:15px}body.kitchen .type-instead{font-size:15px}body.kitchen .title p,body.kitchen.started .title p{max-width:none;font-size:15px;display:block}body.kitchen .title{top:calc(14px + env(safe-area-inset-top))}body.kitchen .top-actions{flex-direction:row;align-items:center}.title p{max-width:210px;font-size:12px}body.started .title p{display:none}.top-actions{flex-direction:column-reverse;align-items:flex-end;gap:6px;font-size:12px}#log{top:auto;left:12px;right:12px;bottom:calc(176px + env(safe-area-inset-bottom) + var(--kb,0px));width:auto;max-height:22vh}#entries>li:not(:last-child){display:none}#entries>li{max-height:22vh;overflow-y:auto}.bubble{border-width:2px;width:max-content;max-width:92vw;padding:7px 12px;font-size:13px}.bubble:after{border-width:2px;bottom:-10px}#status{padding:5px 12px;font-size:13px}.controls{flex-direction:column-reverse;gap:8px}#mic{background:#fffc;justify-content:center;width:100%;padding:18px 20px;font-size:18px}#type{flex:none;width:100%}#text,#type button{padding:8px 14px}}@media (height<=480px){.title h1{font-size:22px}.title p{display:none}#log{width:220px;top:52px;bottom:70px}.bubble{padding:6px 10px;font-size:13px}#status{display:none}#mic{padding:9px 16px}}.scene-link{color:inherit;opacity:.7;font-size:13px;font-weight:700}#heard{text-align:right;pointer-events:none;width:min(320px,60vw);position:fixed;top:96px;right:16px}#said{font-size:20px;font-weight:900;line-height:1.2}#picked{margin-top:4px;font-size:13px;font-weight:700}#timing{opacity:.6;margin-top:2px;font-size:12px;font-weight:600}#moves{scrollbar-width:none;flex-direction:column;align-items:flex-start;gap:4px;width:132px;display:flex;position:fixed;top:100px;bottom:24px;left:16px;overflow-y:auto}#moves button{border-width:1px;padding:3px 9px;font-size:11.5px;font-weight:600}@media (width<=760px){#heard{top:64px}#said{font-size:16px}#moves{flex-direction:row;width:100%;position:static;overflow-x:auto}#moves button{flex:none}}.bubble.dale,.bubble.dale:after{background:#fff4dc}.bubble.whisper{box-shadow:none;border-style:dashed;border-width:2px;font-size:13px;font-style:italic;font-weight:600}.bubble.whisper:after{display:none}.bubble.lose{background:#ffe3df}#meters{pointer-events:none;flex-direction:column;gap:5px;font-size:12px;font-weight:700;display:flex;position:fixed;top:76px;left:16px}.meter{border:1.5px solid var(--ink);background:#ffffff80;border-radius:9px;width:150px;height:17px;position:relative;overflow:hidden}.meter i{background:#bfe3dc;transition:width .4s;position:absolute;inset:0 auto 0 0}.meter.bad i{background:#ffc2ba}.meter b{padding-left:8px;font-size:10.5px;line-height:14px;position:relative}#pow{color:var(--red);-webkit-text-stroke:1px var(--ink);pointer-events:none;opacity:0;white-space:nowrap;font-size:30px;font-weight:900;position:fixed;transform:translate(-50%,-50%)rotate(-8deg)}#pow.pop{animation:1.1s ease-out pow}@keyframes pow{0%{opacity:0;transform:translate(-50%,-50%)rotate(-8deg)scale(.3)}15%{opacity:1;transform:translate(-50%,-50%)rotate(-8deg)scale(1.25)}70%{opacity:1;transform:translate(-50%,-60%)rotate(-8deg)scale(1)}to{opacity:0;transform:translate(-50%,-90%)rotate(-8deg)scale(1)}}.steps li.say:before{content:"›"}.steps li.dale{font-weight:800}.steps li.dale:before{content:"‹";color:#c98a00}body.store .top-actions{flex-wrap:wrap;justify-content:flex-end}@media (width<=760px){#meters{top:calc(64px + env(safe-area-inset-top));gap:3px;left:12px}.meter{width:104px;height:14px}.meter b{font-size:9px;line-height:11px}body.store .top-actions{flex-direction:row;max-width:62vw}body.store .scene-link{display:none}#pow{font-size:22px}}@media (width>=761px){body.store #log{justify-content:flex-end;width:270px;height:34vh;inset:auto auto 96px 16px}body.store #entries>li{background:#fffaf0db}}#tags{pointer-events:none;position:fixed;inset:0;overflow:hidden}#tags span{white-space:nowrap;background:#fffdf2d1;border-radius:7px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:14px;position:absolute;top:0;left:0}@media (width<=760px){#tags span{padding:0 3px;font-size:8.5px;line-height:11px}body.store:not(.started) #meters{display:none}}body.store #status:empty{display:none}#confetti{pointer-events:none;z-index:6;position:fixed;inset:0;overflow:hidden}#confetti i{border-radius:2px;width:10px;height:14px;animation:linear infinite confetti;position:absolute;top:-20px}@keyframes confetti{to{transform:translate(var(--drift), 105vh) rotate(var(--turn))}}body.store #win{z-index:5}body.store #win.end-won{background:radial-gradient(circle at 50% 45%,#ffd1668c,#ff8fa359 55%,#3fbfb04d);align-items:start;padding-top:13vh}#win.end-won .card{border-color:var(--ink);box-shadow:0 8px 0 var(--ink), 0 0 0 10px #ffd166bf, 0 0 60px 20px #ffd16699;background:#fffdf2;animation:.7s cubic-bezier(.2,1.6,.4,1) both cheer,1.6s ease-in-out .7s infinite bob}#win.end-won h2{letter-spacing:1px;color:var(--red);text-shadow:3px 3px 0 var(--sun);font-size:46px}#win.end-won button{background:var(--sun);font-size:18px}@keyframes cheer{0%{opacity:0;transform:scale(.2)rotate(-14deg)}}@keyframes bob{50%{transform:translateY(-7px)rotate(.6deg)}}body.store #win.end-kicked,body.store #win.end-alarm{background:radial-gradient(circle,#3c00008c,#140000eb);animation:1.1s ease-in-out infinite alternate dread}body.store #win.end-alarm{animation:.5s step-end infinite siren}@keyframes dread{to{box-shadow:inset 0 0 160px 50px #ef281ebf}}@keyframes siren{0%{box-shadow:inset 0 0 180px 60px #ef281ed9}50%{box-shadow:inset 0 0 180px 60px #285aefcc}}#win.end-kicked .card,#win.end-alarm .card{color:#fff;border:5px solid var(--red);background:#1d1114;border-radius:6px;animation:.32s cubic-bezier(.3,0,.2,1) both slam;transform:rotate(-2deg);box-shadow:0 10px #000,0 0 50px 8px #ef281e99}#win.end-kicked h2,#win.end-alarm h2{letter-spacing:2px;color:var(--red);text-shadow:3px 3px #000;font-size:52px;line-height:1}#win.end-kicked button,#win.end-alarm button{background:var(--red);color:#fff;border-color:#fff;border-radius:4px}@keyframes slam{0%{opacity:0;transform:scale(3.2)rotate(9deg)}70%{opacity:1;transform:scale(.94)rotate(-3deg)}}body.store.shake #scene{animation:.55s linear shake}@keyframes shake{10%{transform:translate(-14px,8px)rotate(-.8deg)}25%{transform:translate(12px,-9px)rotate(.7deg)}40%{transform:translate(-10px,-6px)}55%{transform:translate(9px,7px)rotate(-.4deg)}70%{transform:translate(-6px,3px)}85%{transform:translate(4px,-2px)}}@media (width<=760px){#win.end-won h2{font-size:34px}#win.end-kicked h2,#win.end-alarm h2{font-size:38px}}
