@font-face{font-family:Bungee;src:url('./assets/fonts/Bungee-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#1B2233;--yellow:#FFD447;--paper:#fff9e9;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:#cad9bb}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;min-height:48px;border:2px solid var(--ink);border-radius:10px;padding:10px 14px;background:var(--paper);color:var(--ink);font-weight:700}button:hover{background:#fff0b9}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #2279b5;outline-offset:3px}button[aria-pressed=true]{background:var(--yellow);box-shadow:0 3px 0 var(--ink)}[hidden]{display:none!important}#world,#table-numbers{position:fixed;inset:0}canvas{display:block;width:100%;height:100%}#table-numbers{pointer-events:none}.table-number{position:absolute;transform:translate(-50%,-50%);width:48px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);color:white;border:2px solid var(--paper);border-radius:10px;box-shadow:0 3px 8px #0004}.table-number small{font-size:9px}.table-number strong{font-size:30px;line-height:1}.table-number.active{background:var(--yellow);color:var(--ink);border-color:var(--ink)}header{position:fixed;left:22px;right:22px;top:max(12px,env(safe-area-inset-top));display:flex;align-items:center;gap:18px;pointer-events:none}.brand{font:400 30px Bungee,sans-serif;color:var(--yellow);-webkit-text-stroke:1px var(--ink);text-shadow:2px 3px var(--ink);text-decoration:none;pointer-events:auto}header>span{font-size:11px;letter-spacing:1px;font-weight:800}header button{pointer-events:auto;margin-left:auto;width:50px;background:var(--yellow)}.mission{position:fixed;left:22px;top:78px;width:300px;background:#fff9e9f5;border:2px solid var(--ink);border-radius:14px;padding:12px;box-shadow:4px 4px 0 #1b223330}.stats{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:10px}#combo{color:#805319;font-weight:800}#orders{display:grid;gap:8px}.order-card{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:64px;padding:6px 10px;background:white}.order-card>strong{font-size:9px;text-align:center}.order-card b{display:block;font-size:29px;line-height:1}.order-card>span{font-size:14px}.order-card small{display:block;font-size:11px;font-weight:400;margin-top:4px}#prep-status{font-size:12px;margin:10px 0;min-height:28px}#counter-guide{width:100%;min-height:48px}#tray{position:fixed;right:22px;top:78px;width:290px;padding:12px;background:#fff9e9f5;border:2px solid var(--ink);border-radius:14px}#tray>strong{display:block;font-size:11px;margin-bottom:8px}#slots,#menu-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}#slots button,#menu-slots button{font-size:12px;min-height:62px;padding:8px}#slots small,#menu-slots small{display:block;font-size:9px;margin-bottom:5px}.bottom{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}#help{font-size:11px;padding:10px 14px;border-radius:20px;background:#fff9e9ed}#interact{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--yellow);min-width:240px;box-shadow:0 4px 0 var(--ink);min-height:58px}kbd{border:1px solid;border-radius:4px;padding:3px 6px}#dialogue{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 40px));background:#fff9e9f2;border:1px solid var(--ink);border-radius:12px;padding:12px 18px;text-align:center;pointer-events:none}#speaker{font-size:10px;display:block;color:#904521;margin-bottom:4px}#line{font-size:13px}#cat-event{position:fixed;z-index:4;top:230px;right:22px;width:290px;padding:12px;background:var(--yellow);border:2px solid var(--ink);border-radius:14px;font-size:13px}#cat-event button{margin-top:8px;width:100%}#joystick{display:none;position:fixed;left:22px;bottom:max(24px,env(safe-area-inset-bottom));width:112px;height:112px;border-radius:50%;background:#fff9e9c9;border:2px solid var(--ink);touch-action:none}#stick{position:absolute;left:32px;top:32px;width:44px;height:44px;border-radius:50%;background:var(--ink);pointer-events:none}.screen{position:fixed;inset:0;z-index:10;background:#1b2233a8;display:grid;place-items:center;padding:14px;backdrop-filter:blur(4px)}.screen section{width:min(520px,100%);max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;background:var(--paper);border:3px solid var(--ink);border-radius:20px;padding:24px;text-align:center;box-shadow:7px 7px 0 var(--ink)}h1,h2{font-family:Bungee,sans-serif;font-weight:400;line-height:1.3}h1{font-size:28px;margin:8px 0 16px}h2{font-size:23px;margin:10px 0}.eyebrow,#overlay-tag{font-size:10px;font-weight:800;letter-spacing:1px}.screen p{font-size:13px;line-height:1.55}.screen a{display:block;color:var(--ink);padding:14px;min-height:48px;font-weight:700}.screen>section>button{width:100%;margin-top:8px}#resume,#start-normal,#pickup,#flip{background:var(--yellow)}.tutorial-icons{font-size:30px;letter-spacing:6px}#tutorial{background:#efe8d3;padding:12px;border-radius:12px}#lesson-title{font:700 16px Segoe UI,sans-serif}#lesson-text{min-height:60px}#lesson-next{font-size:12px}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.mode-buttons button{font:400 17px Bungee,sans-serif;min-height:76px}.mode-buttons small{display:block;font:12px Segoe UI,sans-serif;margin-top:5px}#welcome-best,#best,#save-status{font-size:11px}.settings{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.settings button{flex:1;font-size:11px;padding:8px}.audio-controls{text-align:left;margin-top:14px;display:grid;gap:8px}.audio-controls label{font-size:12px}.audio-controls output{float:right}.audio-controls input{display:block;width:100%;height:32px;accent-color:#31543c}#drink-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}#drink-options button{text-align:left;font-size:13px;min-height:58px}#drink-options small{display:block;font-size:11px;font-weight:400;margin-top:4px}#prep-controls{margin-top:12px}#pickup,#flip{width:100%;margin:10px 0}#menu-slots{margin:8px 0}.flip-track{height:26px;background:#e0d4bc;border:2px solid var(--ink);border-radius:8px;position:relative;overflow:hidden}.sweet-zone{position:absolute;left:30%;width:40%;height:100%;background:var(--yellow)}#flip-needle{position:absolute;height:100%;width:6px;background:var(--ink);transform:translateX(-50%)}#loading{position:fixed;inset:0;z-index:20;background:var(--paper);display:grid;place-items:center}#close-menu{font-size:12px}
@media(pointer:coarse),(max-width:700px){#help{display:none}#joystick{display:block}.bottom{left:auto;right:16px;bottom:max(32px,env(safe-area-inset-bottom))}#interact{min-width:0;max-width:210px;font-size:12px;padding:12px}#interact kbd{display:none}header{left:14px;right:14px;gap:10px}.brand{font-size:25px}header>span{font-size:8px;max-width:100px}.mission{left:12px;top:74px;width:calc(100% - 24px);padding:8px}#orders{grid-template-columns:repeat(3,1fr);gap:5px}.order-card{display:block;text-align:center;padding:5px;min-height:82px}.order-card>strong{display:flex;align-items:center;justify-content:center;gap:5px}.order-card b{font-size:27px}.order-card>span{font-size:11px;display:block;margin-top:4px}.order-card small{font-size:9px}.order-card small span{display:block}#prep-status{margin:6px 66px 0 0;min-height:28px;font-size:11px}#counter-guide{position:absolute;right:8px;bottom:7px;width:auto;min-height:48px;font-size:11px;padding:6px}.stats{margin-bottom:6px}#tray{top:auto;bottom:155px;right:12px;width:calc(100% - 24px);padding:8px}#tray>strong{font-size:10px;margin-bottom:4px}#slots button{min-height:48px;padding:5px}#slots small{display:inline;margin-right:8px}#dialogue{bottom:246px;padding:8px 12px}#line{font-size:11px}#speaker{margin-bottom:2px}#cat-event{top:270px;right:12px;width:calc(100% - 24px);font-size:12px;padding:8px}.screen section{padding:18px}.table-number{width:42px;height:50px}.table-number strong{font-size:27px}}
@media(max-height:550px) and (min-width:600px){header{top:8px}.brand{font-size:23px}header>span{font-size:9px}header button{height:48px}.mission{top:66px;left:12px;width:245px;padding:7px}#orders{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.order-card{display:block;text-align:center;min-height:80px;padding:4px}.order-card>strong{font-size:8px}.order-card b{font-size:25px}.order-card>span{font-size:10px}.order-card small{font-size:8px}.order-card small span{display:block}.stats{font-size:11px;margin-bottom:6px}#prep-status{font-size:10px;margin:6px 65px 0 0;min-height:30px}#counter-guide{position:absolute;right:6px;bottom:6px;width:60px;min-height:48px;font-size:10px;padding:4px}#tray{top:66px;bottom:auto;right:12px;width:245px;padding:7px}#tray>strong{font-size:9px}#slots button{min-height:48px;font-size:11px;padding:4px}#slots small{display:block;font-size:8px}#dialogue{left:auto;transform:none;right:12px;top:176px;bottom:auto;width:245px;padding:6px 10px}#line{font-size:10px}#cat-event{top:auto;bottom:92px;right:12px;width:245px;font-size:10px;padding:7px}#cat-event button{font-size:10px;padding:5px;margin-top:4px}.bottom{bottom:12px}#joystick{bottom:12px;width:100px;height:100px}#stick{left:26px;top:26px}#help{display:none}.screen section{padding:14px;max-width:640px}#menu section{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}#menu .eyebrow,#menu h2{grid-column:1/-1;margin:0}#menu h2{font-size:18px}#drink-options{gap:5px}#drink-options button{font-size:11px;min-height:48px;padding:6px}#drink-options small{font-size:9px}#prep-controls{margin:0}#prep-detail{margin:2px;font-size:11px}#flip-game p{font-size:10px;margin:3px}#flip,#pickup{margin:5px 0}#close-menu{grid-column:1/-1;margin-top:0}#menu-slots button{min-height:48px;padding:4px}#welcome h1{font-size:22px;margin:0 0 7px}#welcome section{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}#welcome .eyebrow,#welcome h1{grid-column:1/-1;margin:0}#tutorial{grid-row:3/6;padding:8px}.tutorial-icons{font-size:22px}#lesson-text{font-size:11px;min-height:0}.mode-buttons{grid-template-columns:1fr;margin:0;gap:6px}.mode-buttons button{min-height:58px}#welcome-best{margin:0}#welcome a{font-size:12px;padding:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

#counter-orders{font-size:12px;font-weight:700;padding:8px;background:#ffe9a1;border-radius:8px;margin:8px 0;line-height:1.5}#counter-message{font-size:11px;color:#704626;min-height:18px}#menu-recover{background:var(--yellow);width:100%;font-size:12px}@media(max-height:550px) and (min-width:600px){#counter-orders{grid-column:1/-1;font-size:10px;padding:4px;margin:0}#counter-message{font-size:10px;margin:2px 0;min-height:0}#menu .eyebrow{font-size:9px}#menu section{padding:10px}#menu-recover{font-size:10px;padding:4px}}

/* On narrow phones, inactive menu choices yield space to the cooking interaction. */
@media(max-width:600px){#menu[data-preparing=true] #drink-options{display:none}}

@media(hover:hover) and (pointer:fine){#world canvas{cursor:crosshair}.table-number{pointer-events:auto;cursor:pointer}}
.back-link{pointer-events:auto;display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);text-decoration:none;font-size:18px}
@media(pointer:coarse),(max-width:700px){.back-link{width:34px;height:34px;font-size:16px}}
