@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}}
/* Simplified shift: one carried item and a single contextual action. */
#carrying{position:fixed;right:22px;top:78px;width:290px;background:#fff9e9f5;border:2px solid var(--ink);border-radius:14px;padding:14px}#carry-name{display:block;font-size:15px}#carry-hint{display:block;font-size:11px;line-height:1.5;margin-top:6px}#flip-game{position:fixed;right:22px;top:190px;width:290px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);padding:12px;z-index:3}#flip-game p{font-size:11px;margin:0 0 8px}#flip-game button{margin-bottom:0}.sweet-zone{left:25%;width:50%}#start-relaxed{background:var(--yellow);box-shadow:0 3px 0 var(--ink)}#start-normal{background:var(--paper);box-shadow:none;font-size:15px}#counter-guide{display:none}.mission #prep-status{margin:10px 0 0;min-height:24px}.mode-buttons{grid-template-columns:1fr}.mode-buttons #start-normal{min-height:52px}.mode-buttons #start-relaxed{min-height:74px}
@media(pointer:coarse),(max-width:700px){#orders{grid-template-columns:repeat(2,minmax(0,1fr))}.order-card{min-height:74px}.order-card>span{font-size:13px}.order-card small{font-size:10px}#carrying{top:auto;bottom:155px;right:12px;width:calc(100% - 24px);padding:10px}#carry-name{font-size:14px}#dialogue{bottom:245px}#flip-game{top:auto;bottom:250px;right:12px;width:calc(100% - 24px)}body:has(#flip-game:not([hidden])) #dialogue{visibility:hidden}#cat-event{top:auto;bottom:245px}body:has(#cat-event:not([hidden])) #dialogue{visibility:hidden}}
@media(max-height:550px) and (min-width:600px){#carrying{top:66px;bottom:auto;right:12px;width:245px;padding:9px}#carry-name{font-size:12px}#carry-hint{font-size:10px}#flip-game{top:155px;bottom:auto;right:12px;width:245px;padding:8px}#dialogue{top:160px;bottom:auto}#cat-event{top:160px;bottom:auto}#orders{grid-template-columns:repeat(2,minmax(0,1fr))}.mission #prep-status{font-size:11px}#welcome .mode-buttons{grid-template-columns:1fr}.mode-buttons #start-relaxed{min-height:64px}}

#extras{margin-top:16px;border:1px solid #bdbaa9;border-radius:10px;padding:10px;text-align:left}#extras summary{cursor:pointer;font-size:13px;font-weight:700;min-height:48px;display:list-item;align-content:center}#extras p{font-size:12px}#extras a{background:#e9e5d7;border-radius:8px;text-align:center}@media(max-height:550px) and (min-width:600px){#extras{margin:0;padding:6px}#extras summary{font-size:11px}}

#memory-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}#memory-options button{min-height:64px;text-align:left}#memory-options small{display:block;margin-top:5px;font-size:11px;font-weight:400}#order-menu-note{font-size:12px}#close-order-menu{margin-top:14px!important}#order-menu h2{font-size:23px}@media(max-height:550px) and (min-width:600px){#order-menu section{padding:12px}#order-menu .eyebrow,#order-menu h2,#order-menu-note{margin:4px 0}#memory-options{grid-template-columns:repeat(3,1fr);gap:6px}#memory-options button{min-height:56px;padding:8px;font-size:12px}#close-order-menu{margin-top:8px!important}}

/* Phone HUD: compact top strip, table shortcuts and contextual messages only. */
@media(pointer:coarse),(max-width:700px){
 header{left:12px;right:12px;top:max(10px,env(safe-area-inset-top));gap:8px;height:48px}
 header .brand{font-size:22px;letter-spacing:-1px}header>span{display:none}header button{width:48px;height:48px;padding:8px}
 .mission{top:68px;left:12px;width:calc(100% - 24px);padding:0;background:none;border:0;box-shadow:none;border-radius:0;pointer-events:none}
 .stats{position:fixed;right:74px;top:max(21px,calc(env(safe-area-inset-top) + 11px));margin:0;gap:8px;align-items:center;font-size:11px;background:#fff9e9db;padding:7px 9px;border-radius:20px}
 #combo{display:none}#clock{font-size:10px}#score{font-size:12px}
 #orders{display:flex;gap:7px;align-items:start}.order-card{pointer-events:auto;display:flex;flex:none;align-items:center;gap:8px;text-align:left;width:auto;max-width:calc(50% - 4px);min-height:48px;padding:5px 10px;border-width:1.5px;border-radius:10px;box-shadow:none!important}
 .order-card>strong{display:flex;flex-direction:column;gap:0;font-size:8px}.order-card b{font-size:23px}.order-card>span{font-size:11px;margin:0}.order-card small{display:none}
 .mission #prep-status{display:inline-block;max-width:100%;min-height:0;margin:9px 0 0;padding:5px 9px;background:#fff9e9d9;border-radius:14px;font-size:11px}
 #carrying{right:12px;left:auto;top:auto;bottom:130px;width:auto;max-width:calc(100% - 24px);padding:8px 12px;border-width:1px;border-radius:20px;background:#fff9e9ed}
 #carry-name{font-size:12px}#carry-hint{display:none}
 #dialogue{left:12px;right:12px;top:auto;bottom:130px;transform:none;width:auto;max-width:440px;margin:auto;padding:10px 12px;background:#fff9e9f5;border-radius:12px}#speaker{display:inline;font-size:11px;margin-right:6px}#line{font-size:12px;line-height:1.45}
 body:has(#carrying:not([hidden])) #dialogue{bottom:177px}
 #joystick{left:16px;bottom:max(18px,env(safe-area-inset-bottom));width:96px;height:96px;background:#fff9e97a;border-width:1.5px}#stick{left:24px;top:24px;width:44px;height:44px}
 .bottom{right:16px;bottom:max(30px,env(safe-area-inset-bottom));left:auto}#interact{min-height:56px;max-width:180px;padding:12px 16px;font-size:13px;border-width:2px}#interact:disabled{opacity:.72;background:#fff9e9cc;box-shadow:none}
 #cat-event{left:12px;right:12px;top:auto;bottom:177px;width:auto;padding:10px;border-width:1.5px}
 #flip-game{left:auto;right:12px;top:auto;bottom:130px;width:min(280px,calc(100% - 24px));padding:10px}#flip-game p{font-size:11px}
 body:not([data-playing=true]) .mission,body:not([data-playing=true]) #carrying{visibility:hidden}
}
@media(max-width:370px){header .brand{font-size:19px}.stats{gap:5px;padding:7px}#clock{font-size:9px}.order-card{padding:5px 8px;gap:6px}.order-card>span{font-size:10px}}
@media(max-height:550px) and (min-width:600px){
 .mission{top:66px;width:310px}.stats{right:74px;top:20px}#orders{display:flex}.order-card{min-height:48px;max-width:150px}
 #dialogue{left:auto;right:12px;top:80px;bottom:auto;width:260px;margin:0}body:has(#carrying:not([hidden])) #dialogue{top:125px;bottom:auto}
 #carrying{top:74px;bottom:auto;right:12px;max-width:260px}#cat-event{left:auto;right:12px;top:124px;bottom:auto;width:260px}
 #flip-game{top:78px;bottom:auto;right:12px;width:260px}#joystick{bottom:12px}.bottom{bottom:18px}
}

@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}}
