@font-face{font-family:Pixel;src:url(../assets/fonts/VT323-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--ink:#173b35;--deep-ink:#102820;--jade:#284f3c;--jade-light:#54836a;--cream:#fff0c8;--paper:#f5deb0;--muted-cream:#d8d3a7;--gold:#f0bd52;--coral:#ca513b;--wood:#946337;--wood-dark:#5f4128;font:20px/1.05 Pixel,monospace;color:var(--cream);background:var(--deep-ink);font-synthesis:none;color-scheme:dark;scrollbar-color:var(--wood) var(--deep-ink)}*{box-sizing:border-box}body,h1,h2,p,ol,dl,dd{margin:0}body{min-width:280px}button,input{font:inherit}button{border-radius:0;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:default}button:disabled:not(.ticket){opacity:.6}::selection{color:var(--deep-ink);background:var(--gold)}[hidden]{display:none!important}#app{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 0}#cabinet{position:relative;isolation:isolate;flex:none;width:384px;max-width:100vw;aspect-ratio:384/720;overflow:hidden;background:var(--jade);outline:4px solid #081d18}#stage{position:absolute;inset:0;display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none}#interface{position:absolute;inset:0;pointer-events:none}#interface button,#interface input,#interface label,#interface a{pointer-events:auto}.shop-name{position:absolute;left:30%;top:7.2%;width:40%;height:8.2%;display:flex;align-items:center;justify-content:center;color:var(--cream);font-size:clamp(20px,7vw,30px);font-weight:400;line-height:1;white-space:nowrap;text-align:center;text-shadow:2px 2px var(--deep-ink)}.menu-board{position:absolute;left:5%;top:50.3%;width:62%;padding:12px 12px 10px;border:5px solid var(--wood);background:var(--ink);box-shadow:inset 0 0 0 2px var(--wood-dark)}.menu-board h2{margin:0 0 8px;padding:0 0 9px;border-bottom:2px solid var(--jade-light);color:var(--gold);font-size:25px;font-weight:400;line-height:.95}.menu-choice{position:relative;display:block;width:100%;min-height:44px;padding:6px 5px 6px 20px;border:0;background:transparent;text-align:left;font-size:24px;line-height:1}.menu-choice:before{content:"";position:absolute;left:4px;top:calc(50% - 5px);border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;visibility:hidden}.menu-choice.primary-choice{color:var(--gold)}.menu-choice.primary-choice:before,.menu-choice:focus-visible:before,.menu-choice:hover:before{visibility:visible}.menu-choice:hover,.menu-choice:focus-visible{background:var(--jade)}.menu-choice:active{color:var(--cream)}.record-board{position:absolute;left:71%;top:67%;width:24%;padding:9px 4px;border:3px solid var(--wood);background:var(--ink);text-align:center;font-size:17px;line-height:.95}.record-board strong{display:block;margin:5px 0 1px;font-size:36px;font-weight:400;color:var(--gold)}.record-board small{display:block;font-size:16px}.counter-note{position:absolute;top:88%;left:6%;right:6%;text-align:center;font-size:19px;line-height:1.05}.menu-help{position:absolute;bottom:1%;left:5%;right:5%;min-height:36px;padding:4px;border:0;background:transparent;text-align:center;color:var(--cream);font-size:17px;text-decoration:underline;text-underline-offset:3px}.hud{position:absolute;top:1%;left:2%;right:2%;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:6px;height:54px;padding:2px 8px;border:2px solid var(--wood);background:var(--deep-ink)}.hud>div{min-width:0}.hud span{display:block;color:var(--muted-cream);font-size:12px;line-height:1}.hud strong{display:block;font-size:25px;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}.hud #wave{font-size:11px;white-space:nowrap}.hud .practice-clock{min-height:28px;min-width:0;padding:1px 5px;margin-top:2px;background:var(--gold);color:var(--ink);border-color:var(--wood-dark);font-size:21px}.hud button{min-width:44px;min-height:44px;padding:3px 5px;border:2px solid var(--wood);background:var(--jade);color:var(--cream);font-size:18px}.hud button:hover{background:var(--jade-light)}.rush-banner{position:absolute;top:9.2%;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:8px;height:3.5%;padding:1px 7px;background:var(--ink);font-size:17px;white-space:nowrap}.banner-action,.banner-help{border:0;background:var(--ink);color:var(--cream);font-size:16px;min-height:28px;padding:3px 5px}.banner-action{color:var(--gold);text-decoration:underline}.banner-help{min-width:32px;border:1px solid var(--wood)}.rush-banner strong{color:var(--gold);font-weight:400}.ticket-rail{position:absolute;top:calc(1% + 128px);left:2%;right:2%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:12.3%;border-top:4px solid var(--wood-dark)}.ticket{position:relative;min-width:0;height:100%;padding:5px 5px 8px;border:2px solid var(--wood-dark);border-top:0;background:var(--paper);color:var(--ink);text-align:left}.ticket:before{content:"";position:absolute;top:-7px;left:calc(50% - 5px);width:10px;height:9px;border:2px solid var(--wood-dark);background:var(--wood)}.ticket.selected{background:var(--cream);border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}.ticket:not(:disabled):hover{background:var(--cream)}.ticket[data-patience=urgent]{background:#ffd5a4}.ticket[data-patience=urgent] .ticket-state{color:#9d2e21}.ticket.empty{background:#173b35d9;color:var(--muted-cream);border-color:var(--wood);border-style:dashed}.ticket.empty:before{display:none}.ticket-name,.ticket-recipe,.ticket-state{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-name{font-size:15px;line-height:1}.ticket-recipe{margin-top:1px;font-size:22px;font-weight:400;line-height:.98}.ticket-state{margin-top:1px;font-size:13px;line-height:1}.ticket-toppings{display:flex;gap:3px;height:17px;align-items:center}.ticket-toppings svg{width:22px;height:16px}.ticket[data-plated=true] .ticket-state{color:#863620}.patience-track{position:absolute;left:5px;right:5px;bottom:4px;height:4px;background:#bca779}.patience-track>i{display:block;width:100%;height:100%;background:var(--jade)}.ticket[data-patience=urgent] .patience-track>i{background:var(--coral)}.customer-dialogue{position:absolute;z-index:3;top:calc(1% + 60px);left:2%;right:2%;height:64px;padding:4px 8px;border:2px solid var(--wood-dark);background:var(--cream);color:var(--ink);pointer-events:none}.customer-dialogue strong{display:block;margin-bottom:2px;font-size:12px;font-weight:400;color:#7c4129;text-transform:uppercase;line-height:1}.customer-dialogue>span{display:block;font-size:19px;line-height:19px}.customer-dialogue[data-kind=complaint],.customer-dialogue[data-kind=correction]{background:#ffdbac;border-color:#853c29}.customer-dialogue[data-kind=quiet]{background:#f5deb0}.game-feedback{position:absolute;top:47.2%;left:3%;right:3%;padding:4px 7px;border-top:2px solid var(--wood-dark);border-bottom:2px solid var(--wood-dark);background:var(--cream);color:var(--ink);text-align:center;font-size:17px;line-height:1}.game-feedback:empty{display:none}.basket-controls{position:absolute;top:78.5%;left:23%;right:23%;display:grid;grid-template-columns:1fr}.basket-button{position:relative;min-width:0;height:53px;padding:4px 6px 9px;border:3px solid var(--wood);background:var(--deep-ink);color:var(--cream);line-height:1;touch-action:none;user-select:none}.basket-button:before{content:"";position:absolute;left:0;right:0;top:-80px;height:80px;background:transparent;touch-action:none}.basket-button strong{display:block;font-size:20px;font-weight:400}.basket-button small{display:block;margin-top:3px;font-size:14px}.basket-button[data-phase=ready]{background:var(--gold);border-color:var(--wood-dark);color:var(--deep-ink)}.basket-button[data-phase=cooking]{background:var(--jade);color:var(--muted-cream)}.basket-button[data-phase=overcooked]{background:#983924;color:var(--cream)}.basket-button:hover:not(:disabled){border-color:var(--gold)}.basket-key{position:absolute;top:3px;left:5px;font-size:14px;color:inherit}.cook-track{position:absolute;left:3px;right:3px;bottom:3px;height:4px;background:var(--deep-ink)}.cook-track i{display:block;height:100%;background:var(--cream)}.basket-button[data-phase=ready] .cook-track i{background:var(--coral)}.topping-tray{position:absolute;left:0;right:0;bottom:0;height:100px;padding:5px 8px 6px;border-top:4px solid #d0d1b7;background:#65746a;box-shadow:inset 0 3px #344c43}.tray-heading{display:flex;justify-content:space-between;gap:5px;align-items:center;height:14px;color:var(--cream);font-size:14px;line-height:1}.tray-heading strong{font-weight:400}.tray-heading>span{font-size:12px;white-space:nowrap}#topping-request{height:19px;padding-top:2px;overflow:hidden;color:#fff7d7;font-size:15px;white-space:nowrap;text-overflow:ellipsis}#topping-request.recipe-error{color:#fff0b2}.topping-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 61px;gap:5px;height:52px}.topping-button{position:relative;min-width:0;min-height:52px;padding:0;border:0;background:transparent;color:var(--ink)}.ingredient-pan{display:block;height:35px;padding:0 2px;border:3px solid #c0c6b3;border-bottom-color:#34483d;border-right-color:#34483d;background:#4b594c;box-shadow:inset 0 2px #293f33}.topping-button svg{display:block;width:44px;height:33px;margin:-2px auto 0}.ingredient-label{display:block;height:17px;margin:0 3px;padding:1px 0;border-bottom:2px solid #7b5939;background:#f4deb0;font-size:15px;white-space:nowrap;line-height:1}.topping-button[aria-pressed=true] .ingredient-label{background:#ffdf85}.topping-button[aria-pressed=true]:after{content:"✓";position:absolute;top:0;right:1px;padding:0 2px;background:var(--cream);font-size:16px;color:var(--ink)}.topping-button kbd,.serve-button kbd{position:absolute;top:1px;left:2px;border:0;padding:0;font-size:11px;color:var(--cream)}.finish-place{display:flex;align-items:center;justify-content:center;position:relative}.finish-place>span{font-size:15px;line-height:1;text-align:center;color:var(--cream)}.serve-button{position:relative;width:100%;height:52px;padding:0 2px;border:3px solid var(--wood-dark);background:var(--gold);color:var(--ink);font-size:22px}.serve-button:enabled:hover{background:var(--cream)}.serve-button kbd{inset:auto 0 2px;color:var(--ink)}.topping-button:disabled{opacity:.68!important}.topping-button:disabled svg{filter:saturate(.4)}.instruction{position:absolute;top:89.1%;left:5%;right:5%;text-align:center;font-size:17px;line-height:1}.play-footer{position:absolute;bottom:1%;left:4%;right:4%;display:flex;align-items:center;gap:10px;height:37px;font-size:17px}.play-footer button,.footer-action{min-height:36px;padding:4px 8px;border:1px solid var(--wood);background:var(--ink);color:var(--cream);font-size:17px}.play-footer>span{margin-left:auto;color:var(--gold);white-space:nowrap}.catch-zone{position:absolute;top:52.4%;width:26%;height:12%;padding:0;border:0;background:transparent;touch-action:none}.catch-zone:focus-visible{outline-offset:-3px}.mix-zone{position:absolute;top:52.4%;width:26%;height:12%;padding:0;border:2px dashed var(--gold);background:transparent;touch-action:manipulation}.mix-zone:focus-visible{outline-offset:-3px}.mix-zone span{position:absolute;left:-4px;right:-4px;top:-3px;padding:2px 1px;border:1px solid var(--wood-dark);background:var(--gold);color:var(--ink);font-size:16px;white-space:nowrap;line-height:1}.cook-meter{position:absolute;top:69%;left:12%;right:12%;height:45px;padding:3px 5px;border:2px solid var(--wood-dark);background:var(--deep-ink);color:var(--cream)}.meter-label{display:flex;justify-content:space-between;height:12px;font-size:12px;line-height:1}.meter-label strong{font-weight:400;color:#bddd91}.meter-label span{font-size:11px}.meter-track{position:relative;height:12px;border:2px solid #bac7a8;background:#673d2c}.meter-track>i{position:absolute;top:0;bottom:0;background:#82ae67}.meter-track b{position:absolute;top:0;bottom:0;left:33.333%;width:33.333%;background:var(--gold)}#cook-pointer{position:absolute;top:-4px;bottom:-4px;width:4px;margin-left:-2px;border:1px solid var(--deep-ink);background:#fffdf0}.meter-key{text-align:center;font-size:10px;line-height:11px;padding-top:0}.catch-control{position:absolute;top:65.5%;width:26.5%;height:22px;margin:0;padding:0;accent-color:var(--jade);background:transparent;touch-action:none;opacity:0;pointer-events:none!important}.catch-control:focus-visible{top:61.5%;opacity:1;pointer-events:auto!important}.catch-control::-webkit-slider-runnable-track{height:4px;border:1px solid var(--ink);background:var(--wood)}.catch-control::-webkit-slider-thumb{margin-top:-7px}.help-strip{position:absolute;z-index:4;top:37%;left:4%;right:4%;padding:12px;border:3px solid var(--wood);background:var(--ink);font-size:18px;line-height:1.15}.help-strip strong{color:var(--gold);font-weight:400}.scrim,.result-shade{position:absolute;inset:0;background:#0b251cbd;pointer-events:auto}.chalk-dialog{position:absolute;top:28%;left:6%;width:88%;max-height:67%;padding:20px;overflow-y:auto;overscroll-behavior:contain;border:5px solid var(--wood);background:var(--ink);color:var(--cream);box-shadow:inset 0 0 0 2px var(--wood-dark);pointer-events:auto}.chalk-dialog h2{margin-bottom:14px;color:var(--gold);font-size:32px;font-weight:400;line-height:1}.chalk-dialog p{margin:10px 0 18px;font-size:20px;line-height:1.1}.board-button{display:block;width:100%;min-height:49px;margin-top:10px;padding:7px 10px;border:2px solid var(--wood);background:var(--jade);color:var(--cream);font-size:22px}.board-button.bright{border-color:var(--wood-dark);background:var(--gold);color:var(--ink)}.board-button:hover{border-color:var(--cream)}.options{top:17%;max-height:78%}.options label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:80px;padding:12px 0;border-bottom:1px solid var(--jade-light);cursor:pointer}.options label>span{min-width:0;font-size:22px}.options label strong{display:block;font-size:22px;font-weight:400}.options label small{display:block;margin-top:5px;color:var(--muted-cream);font-size:17px;line-height:1.05}.options input[type=checkbox]{flex:none;width:28px;height:28px;margin:0;accent-color:var(--gold);cursor:pointer}.chalk-dialog.guide{top:13%;max-height:83%}.guide ol{padding-left:21px;font-size:19px;line-height:1.08}.guide li{padding-left:3px;margin-bottom:14px}.guide li::marker{color:var(--gold)}.guide li strong{display:block;margin-bottom:4px;font-size:23px;font-weight:400}.guide p{font-size:18px}.receipt{position:absolute;top:21%;left:12%;width:76%;max-height:76%;padding:18px 20px;border-top:3px dashed var(--wood-dark);border-bottom:3px dashed var(--wood-dark);overflow-y:auto;overscroll-behavior:contain;background:var(--cream);color:var(--ink);text-align:center;color-scheme:light;pointer-events:auto}.receipt h2{margin:7px 0 5px;font-size:29px;font-weight:400;line-height:1}.receipt .brand,.receipt-brand{font-size:16px;line-height:1}.result-bowls{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:8px 0 10px}.result-bowls strong{color:#a43c28;font-size:57px;font-weight:400;line-height:1}.result-bowls span{font-size:20px}.receipt dl{border-top:1px dashed var(--wood);border-bottom:1px dashed var(--wood);padding:7px 0;text-align:left}.receipt dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:20px;line-height:1}.receipt dd{font-variant-numeric:tabular-nums}.receipt .coach{margin:12px 0;font-size:18px;line-height:1.05;text-align:left}.receipt-button{display:block;width:100%;min-height:48px;margin-top:8px;padding:6px 8px;border:2px solid var(--ink);background:var(--jade);color:var(--cream);font-size:22px}.receipt-button.bright{background:var(--gold);color:var(--ink)}.receipt-button:hover{background:var(--ink);color:var(--cream)}.receipt-link{display:block;width:100%;min-height:35px;margin-top:4px;padding:4px;border:0;background:transparent;color:var(--ink);font-size:18px;text-decoration:underline;text-underline-offset:3px}.receipt small{display:block;margin-top:4px;font-size:14px;line-height:1.05}.loading-board{position:absolute;top:34%;left:8%;right:8%;padding:22px 16px;border:5px solid var(--wood);background:var(--ink);text-align:center;font-size:22px}.loading-board h1,.loading-board h2{margin-bottom:12px;font-size:30px;font-weight:400}.loading-board p{font-size:20px;line-height:1.1}.chalk-dialog .small-note{margin:13px 0 0;color:var(--muted-cream);font-size:16px}.desktop-help{max-width:440px;padding:0 12px;color:var(--muted-cream);text-align:center;font-size:17px;line-height:1.1}kbd{padding:0 3px;border:1px solid var(--jade-light);font:inherit;color:var(--cream)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){#app{padding:0;gap:0}#cabinet{outline:0}.desktop-help{display:none}}@media(max-width:360px){.menu-board{top:49.8%;padding:9px 8px 7px}.menu-board h2{font-size:23px;margin-bottom:4px;padding-bottom:6px}.menu-choice{min-height:44px;font-size:22px;padding-left:17px}.record-board{padding:7px 3px;font-size:16px}.record-board strong{font-size:32px}.counter-note{font-size:18px}.hud{padding:3px 5px;gap:4px}.hud strong{font-size:26px}.rush-banner{left:2%;right:2%;font-size:16px}.ticket-rail{gap:6px}.ticket{padding:4px 4px 8px}.ticket-name{font-size:14px}.ticket-recipe{font-size:20px;margin-top:0}.ticket-state{margin-top:0;font-size:12px}.ticket-toppings{height:15px}.ticket-toppings svg{width:20px;height:14px}.basket-controls{gap:18px}.basket-button{padding-left:3px;padding-right:3px;min-height:49px}.basket-button strong{font-size:19px}.basket-key{display:none}.instruction{font-size:16px}.play-footer{gap:6px;font-size:16px}.play-footer button{padding:3px 6px;font-size:16px}.chalk-dialog{padding:15px}.chalk-dialog h2{margin-bottom:10px;font-size:30px}.chalk-dialog p{font-size:19px;margin-bottom:12px}.options label{min-height:73px}.chalk-dialog.guide{top:9%;max-height:88%}.guide ol{font-size:18px}.guide li{margin-bottom:10px}.guide li strong{font-size:22px}.receipt{top:15%;left:9%;width:82%;max-height:81%;padding:14px 16px}.receipt h2{font-size:27px}.receipt dl>div{font-size:19px}.receipt .coach{margin:9px 0}.result-bowls{margin:5px 0 7px}.result-bowls strong{font-size:52px}}@media(max-height:780px)and (min-width:601px){#app{justify-content:flex-start;padding:0;gap:0}.desktop-help{display:none}}@media(max-width:600px)and (max-height:719px){#cabinet{height:100svh;aspect-ratio:auto}.basket-controls{top:76.5%}.basket-button{height:49px;min-height:49px}.instruction{top:88%;font-size:16px}.play-footer{bottom:1%;height:36px}.basket-button strong{font-size:18px}.basket-button small{font-size:13px}.topping-tray{height:100px}.ingredient-label{font-size:14px}}@media(hover:none){.basket-key,.topping-controls kbd{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto}}
