@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-400-normal-BbyBr73r.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-700-normal-D1YCjmaD.woff2)format("woff2")}:root{--enamel:#1d4e9e;--enamel-deep:#112f66;--enamel-lite:#2f66c4;--rim:#0b2149;--paper:#fff8e8;--paper-line:#e8dcc0;--ink:#1b1d2b;--ink-soft:#5b6079;--sun:#ffc533;--sun-deep:#cf9200;--chili:#e2412c;--leaf:#2f9d55;--chalk:#f3f6ff;--chalk-dim:#b9c6e6;--scrim:#081634bd;--f-display:"Lilita One","Arial Black",Impact,system-ui,sans-serif;--f-body:"Fredoka","Trebuchet MS",system-ui,sans-serif;--f-ticket:"Courier Prime","Courier New",ui-monospace,monospace;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}html{overscroll-behavior:none}img{max-width:100%}[hidden]{display:none!important}*{box-sizing:border-box}html,body{height:100%}body{color:var(--chalk);font-family:var(--f-body);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background-color:var(--enamel-deep);background-image:radial-gradient(#ffffff12 1px,#0000 1.6px),radial-gradient(#0000002e 1px,#0000 1.6px);background-position:0 0,11px 7px;background-size:23px 23px,31px 31px;margin:0;font-size:16px;overflow:hidden}#app{height:100%;position:relative}button{font-family:inherit}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.screen{padding-block:20px 28px;padding-inline:16px;position:absolute;inset:0;overflow-y:auto}.screen[data-screen=setup]{padding-bottom:0}.inner{flex-direction:column;gap:22px;max-width:980px;margin:0 auto;display:flex}.topbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.topbar h2{font-family:var(--f-display);letter-spacing:.01em;text-wrap:balance;flex:1;min-width:0;margin:0;font-size:clamp(1.6rem,5vw,2.3rem);font-weight:400}.eyebrow{font:600 .78rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.14em;color:var(--sun)}.lede{color:var(--chalk-dim);max-width:60ch;margin:0;line-height:1.5}.btn{font:600 1.05rem/1 var(--f-body);cursor:pointer;background:var(--sun);color:var(--ink);box-shadow:0 5px 0 var(--sun-deep);touch-action:manipulation;border:0;border-radius:14px;padding:15px 22px;transition:transform 60ms,box-shadow 60ms}.btn:active{box-shadow:0 1px 0 var(--sun-deep);transform:translateY(4px)}.btn.alt{background:var(--enamel-lite);color:var(--chalk);box-shadow:0 5px 0 var(--rim)}.btn.alt:active{box-shadow:0 1px 0 var(--rim)}.btn.ghost{color:var(--chalk);box-shadow:none;border:2px solid var(--enamel-lite);background:0 0;padding:11px 16px}.btn.small{border-radius:11px;padding:10px 14px;font-size:.92rem}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.hero{gap:18px;padding-top:min(6vh,48px);display:grid}.wordmark{font-family:var(--f-display);color:var(--sun);text-shadow:0 5px 0 var(--sun-deep),0 11px 0 var(--rim);letter-spacing:.005em;margin:0;font-size:clamp(3.4rem,14vw,7.4rem);font-weight:400;line-height:.86}.wordmark span{color:var(--chalk);text-shadow:0 5px 0 var(--enamel-lite),0 11px 0 var(--rim);display:block}.strip{flex-wrap:wrap;gap:6px;display:flex}.strip img{width:38px;height:38px}.cta{flex-wrap:wrap;gap:14px;display:flex}.cta .btn{flex:220px}.namefield{flex-direction:column;gap:6px;max-width:320px;display:flex}.namefield label{color:var(--chalk-dim);font-size:.85rem}input[type=text]{font:600 1.05rem var(--f-body);color:var(--ink);background:var(--paper);-webkit-user-select:text;user-select:text;border:0;border-radius:11px;width:100%;padding:12px 14px}.howto{counter-reset:s;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.howto li{background:var(--enamel);counter-increment:s;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:14px;display:grid}.howto li:before{content:counter(s);font-family:var(--f-display);color:var(--sun);text-align:center;grid-row:span 2;width:1.3ch;font-size:1.9rem}.howto b{font-weight:600}.howto small{color:var(--chalk-dim);font-size:.86rem;line-height:1.35}.version{opacity:.7;font-family:var(--f-ticket)}.note{color:var(--chalk-dim);margin:0;font-size:.86rem;line-height:1.45}.section-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-h h3{font:400 1.35rem var(--f-display);letter-spacing:.01em;margin:0}.linkish{color:var(--chalk-dim);cursor:pointer;background:0 0;border:0;padding:4px;font-size:.85rem;text-decoration:underline}.stages{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px;display:grid}.stage{text-align:left;cursor:pointer;background:var(--paper);color:var(--ink);box-shadow:0 4px 0 var(--rim);font-family:var(--f-body);border:0;border-radius:4px 4px 10px 10px;flex-direction:column;gap:8px;padding:12px;display:flex;position:relative}.stage:before{content:"";background:radial-gradient(circle at 5px 5px,var(--enamel-deep) 3.2px,transparent 3.6px) 0 0/12px 10px repeat-x;height:10px;position:absolute;top:-5px;left:8px;right:8px}.stage[aria-pressed=true]{outline:4px solid var(--sun);outline-offset:2px}.stage[disabled]{cursor:not-allowed}.stage[disabled] .thumb,.stage[disabled] .menu-icons{opacity:.25;filter:grayscale()}.stage .no{font:700 .74rem var(--f-ticket);letter-spacing:.08em;color:var(--ink-soft);justify-content:space-between;display:flex}.stage .nm{font:400 1.2rem/1.05 var(--f-display);letter-spacing:.01em}.stage .thumb{width:100%;height:auto;image-rendering:pixelated;border-radius:4px;max-width:100%}.stage .bl{color:var(--ink-soft);font-size:.82rem;line-height:1.35}.menu-icons{flex-wrap:wrap;gap:2px;display:flex}.menu-icons img{width:30px;height:30px}.stars{letter-spacing:.06em;color:var(--sun-deep);font-size:1rem}.stars .off{color:var(--paper-line)}.lockmsg{font:700 .78rem var(--f-ticket);color:var(--chili)}.tag{font:700 .66rem var(--f-ticket);letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:4px;padding:3px 6px;display:inline-block}.opts{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.opt{flex-direction:column;gap:10px;display:flex}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg button{border:2px solid var(--enamel-lite);background:var(--enamel);min-width:72px;color:var(--chalk);cursor:pointer;border-radius:12px;flex-direction:column;flex:1 1 0;align-items:center;gap:3px;padding:10px 8px;display:flex}.seg button b{font:400 1.1rem var(--f-display);letter-spacing:.02em}.seg button small{color:var(--chalk-dim);font-size:.74rem}.seg button[aria-pressed=true]{background:var(--sun);border-color:var(--sun);color:var(--ink)}.seg button[aria-pressed=true] small{color:var(--ink)}.guide{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.dish{background:var(--paper);color:var(--ink);border-radius:8px;grid-template-columns:54px 1fr;align-items:center;gap:4px 10px;padding:10px;display:grid}.dish>img{grid-row:span 2;width:54px;height:54px}.dish .dn{font:400 1.05rem var(--f-display);justify-content:space-between;gap:8px;display:flex}.dish .dn span{font:700 .8rem var(--f-ticket);color:var(--ink-soft)}.steps{flex-wrap:wrap;gap:4px;display:flex}.step{font:700 .72rem var(--f-ticket);background:#f1e7cf;border-radius:6px;align-items:center;gap:3px;padding:2px 6px 2px 2px;display:flex}.step img{width:22px;height:22px}.startbar{z-index:2;background:var(--rim);border-radius:16px 16px 0 0;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:4px;padding:12px 16px 14px;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 24px #050e2473}.start-summary{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.start-summary b{font:400 1.15rem/1.1 var(--f-display);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.start-summary span{color:var(--chalk-dim);font-size:.82rem}.startbar .btn{flex:0 240px}#stage-blurb{margin-top:-12px}.panel{background:var(--enamel);border-radius:16px;flex-direction:column;gap:12px;padding:18px;display:flex}.panel h3{font:400 1.3rem var(--f-display);margin:0}.joinrow{flex-wrap:wrap;gap:10px;display:flex}.joinrow input{text-transform:uppercase;letter-spacing:.3em;font-family:var(--f-ticket);flex:140px;font-weight:700}.msg{min-height:1.4em;color:var(--sun);margin:0;font-size:.92rem}.codebox{background:var(--paper);color:var(--ink);border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 16px;display:flex}.codebox .code{font:700 2.4rem/1 var(--f-ticket);letter-spacing:.24em}.codebox p{color:var(--ink-soft);flex:200px;margin:0;font-size:.88rem;line-height:1.4}.players{flex-wrap:wrap;gap:8px;display:flex}.pl{background:var(--enamel-deep);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-weight:600;display:flex}.dot{border:2px solid var(--rim);border-radius:50%;flex:none;width:22px;height:22px}.pl small{color:var(--chalk-dim);font-weight:500}@media (max-width:640px){.screen{padding-block:14px 24px}.hero{gap:14px;padding-top:8px}.strip{gap:4px}.strip img{width:28px;height:28px}.lede{font-size:.95rem}.howto li{padding:12px}.inner{gap:16px}.topbar h2{font-size:1.6rem}.stages{grid-template-columns:1fr;gap:12px}.stage{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:3px 12px;padding:10px 12px 10px 10px;display:grid}.stage .thumb{grid-area:1/1/span 4;align-self:center;width:92px}.stage .no,.stage .nm,.stage .menu-icons,.stage .stars,.stage .lockmsg{grid-column:2}.stage .bl{display:none}.stage .no{font-size:.66rem}.stage .nm{font-size:1.08rem}.stage .stars{font-size:.85rem;line-height:1}.stage .lockmsg{font-size:.7rem}.menu-icons img{width:24px;height:24px}.seg button{min-width:0;padding:8px 6px}.seg button small{text-align:center;font-size:.68rem;line-height:1.2}.guide{grid-template-columns:1fr;gap:8px}.dish{grid-template-columns:44px 1fr;padding:8px 10px}.dish>img{width:44px;height:44px}.startbar{border-radius:14px 14px 0 0;margin-inline:-16px;padding:10px 16px 12px}.startbar .btn{flex:none;padding:14px 18px}.start-summary{flex:1 1 0}.start-summary b{font-size:1rem}}.game{touch-action:none;-webkit-touch-callout:none;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;inset:0}.hud{background:var(--rim);align-items:stretch;gap:10px;min-width:0;padding:8px 10px;display:flex}.rail{scrollbar-width:none;flex:1;align-items:flex-start;gap:8px;min-width:0;padding-top:4px;display:flex;overflow-x:auto}.rail:empty:after{content:"Waiting for orders…";color:var(--chalk-dim);align-self:center;font-size:.85rem}.ticket{background:var(--paper);width:100px;color:var(--ink);border-radius:2px 2px 7px 7px;flex-direction:column;flex:none;gap:3px;padding:5px 6px 6px;animation:.35s cubic-bezier(.3,1.6,.6,1) drop;display:flex;position:relative}.ticket:before{content:"";background:var(--chalk-dim);border-radius:2px;width:28px;height:8px;margin-left:-14px;position:absolute;top:-6px;left:50%}.ticket .tn{font:700 .66rem var(--f-ticket);color:var(--ink-soft);justify-content:space-between;display:flex}.ticket .td{font:400 .86rem/1 var(--f-display);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ticket .art{align-items:center;gap:2px;display:flex}.ticket .art>img{flex:none;width:38px;height:38px}.ticket .parts{flex-wrap:wrap;flex:auto;gap:0;min-width:0;max-width:44px;display:flex}.ticket .parts img{width:22px;height:22px}.pat{background:var(--paper-line);border-radius:3px;height:6px;overflow:hidden}.pat>i{background:var(--leaf);border-radius:3px;height:100%;transition:background .3s;display:block}.ticket.low .pat>i{background:var(--chili)}.ticket.low{animation:.5s infinite shake}@keyframes drop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-1.5deg)}75%{transform:rotate(1.5deg)}}.meta{flex-direction:column;flex:none;justify-content:center;align-items:flex-end;gap:6px;display:flex}.clock{font:400 1.6rem/1 var(--f-display);font-variant-numeric:tabular-nums;color:var(--chalk)}.clock.hurry{color:var(--chili)}.score{font:700 .95rem var(--f-ticket);background:var(--sun);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:8px;padding:4px 8px}.iconbtn{background:var(--enamel);color:var(--chalk);cursor:pointer;min-width:40px;height:36px;font:600 .85rem var(--f-body);border:0;border-radius:10px;padding:0 10px}.metarow{gap:6px;display:flex}.stagewrap{place-items:center;min-height:0;padding:6px;display:grid;position:relative;overflow:hidden}#cv{touch-action:none;box-shadow:0 0 0 4px var(--rim),0 10px 0 4px #00000040;border-radius:6px;display:block}.chefbar{background:var(--rim);scrollbar-width:none;align-items:center;gap:8px;min-height:56px;padding:8px 10px;display:flex;overflow-x:auto}.chip{background:var(--enamel);color:var(--chalk);font:600 .9rem var(--f-body);cursor:pointer;border:2px solid #0000;border-radius:999px;flex:none;align-items:center;gap:8px;padding:5px 12px 5px 5px;display:flex}.chip[aria-pressed=true]{border-color:var(--sun);background:var(--enamel-lite)}.chip.other{cursor:default;opacity:.8;border-color:var(--enamel);background:0 0}.chip img{width:26px;height:26px}.chip .hands{background:var(--enamel-deep);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.barhint{color:var(--chalk-dim);white-space:nowrap;padding-left:4px;font-size:.8rem}.toast{background:var(--ink);color:var(--paper);font:600 .92rem var(--f-body);pointer-events:none;opacity:0;white-space:nowrap;text-overflow:ellipsis;border-radius:10px;max-width:calc(100% - 32px);padding:9px 14px;transition:opacity .2s;position:absolute;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%)}.toast.on{opacity:1}.bigmsg{pointer-events:none;font:400 clamp(3rem,14vw,6rem) var(--f-display);color:var(--sun);text-shadow:0 5px 0 var(--sun-deep),0 10px 0 var(--rim);place-items:center;display:grid;position:absolute;inset:0}.bigmsg small{color:var(--chalk);text-shadow:none;text-align:center;font-size:.3em;font-family:var(--f-body);margin-top:8px;font-weight:600;display:block}.modal{background:var(--scrim);z-index:5;place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}.card{background:var(--paper);color:var(--ink);width:min(440px,100%);box-shadow:0 8px 0 var(--rim);border-radius:6px 6px 14px 14px;flex-direction:column;gap:14px;padding:22px 20px 20px;display:flex;position:relative}.card h3{font:400 1.8rem/1 var(--f-display);text-wrap:balance;margin:0}.card .sub{font:700 .78rem var(--f-ticket);color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase}.bigscore{font:400 3.6rem/1 var(--f-display);font-variant-numeric:tabular-nums}.bigstars{letter-spacing:.08em;color:var(--sun-deep);font-size:2.6rem;line-height:1}.bigstars .off{color:var(--paper-line)}.rows{font:700 .92rem var(--f-ticket);border-top:2px dashed var(--paper-line);grid-template-columns:1fr auto;gap:6px 12px;padding-top:12px;display:grid}.rows span:nth-child(2n){text-align:right;font-variant-numeric:tabular-nums}.card .actions{flex-wrap:wrap;gap:10px;display:flex}.card .actions .btn{flex:130px}.card .btn.alt{background:var(--enamel)}@media (prefers-reduced-motion:reduce){.ticket,.ticket.low{animation:none}}@media (max-width:520px){.ticket{width:88px}.ticket .art>img{width:34px;height:34px}.ticket .parts{max-width:40px}.ticket .parts img{width:20px;height:20px}.clock{font-size:1.3rem}}.rail,.chefbar{touch-action:pan-x}
