html{background:#263943}:root{--notebook-button-size:clamp(40px, 13vw, 52px);--action-button-size:var(--notebook-button-size);--pixel-font:"Tiny Table Pixel", "Lucida Console", "Courier New", monospace;font-family:var(--pixel-font);color:#fff6de;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#202a28}@font-face{font-family:Tiny Table Pixel;src:local("Press Start 2P"),local(Pixel Operator),local(Silkscreen);font-display:swap}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}#root{width:100vw;min-height:100svh;padding:max(8px, env(safe-area-inset-top)) clamp(8px, 2vw, 18px) max(8px, env(safe-area-inset-bottom));place-items:start center;display:grid}.main-menu{color:#fff7d7;width:min(100%,980px);min-height:min(100svh - 16px,760px);image-rendering:pixelated;isolation:isolate;background:#14191f;border:4px solid #100b12;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 4px #6b4437,0 18px #100b12,0 34px 80px #00000085}.menu-backdrop{z-index:-3;background-image:url(/assets/menu/main-menu-bg.png);background-position:50%;background-size:cover;animation:12s ease-in-out infinite alternate menu-drift;position:absolute;inset:-2%;transform:scale(1.02)}.menu-vignette{z-index:-2;background:linear-gradient(#0f0b0d4d,#0f0b0d9e),radial-gradient(circle at 50% 36%,#ffd37e29,#0000 34%),radial-gradient(circle,#0000 34%,#0a0709ad 100%);animation:2.8s steps(4,end) infinite menu-glow;position:absolute;inset:0}.menu-content{justify-items:center;gap:clamp(10px,2.6vw,18px);width:min(88%,450px);padding-block:clamp(22px,6vw,54px);display:grid}.menu-logo{object-fit:contain;filter:drop-shadow(0 8px #100b129e);width:min(92vw,420px);max-height:clamp(170px,34vw,300px);animation:.62s steps(7,end) both logo-arrive}.menu-tagline{color:#2e1e18;text-align:center;text-transform:uppercase;background:#fff7d7;border:3px solid #2e1e18;margin:0;padding:7px 10px;font-size:clamp(.74rem,2.4vw,.92rem);font-weight:950;line-height:1.15;animation:.52s steps(5,end) .14s both menu-rise;box-shadow:0 5px #2e1e1861}.menu-actions{gap:8px;width:min(100%,320px);animation:.54s steps(5,end) .22s both menu-rise;display:grid}.menu-button{color:#2e1e18;min-height:50px;font-family:var(--pixel-font);text-transform:uppercase;background:#fff7d7;border:3px solid #2e1e18;border-radius:6px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:9px 14px;font-size:clamp(.86rem,3vw,1.04rem);font-weight:950;display:grid;box-shadow:inset 0 -5px #2e1e182e,0 5px #2e1e186b}.menu-button span{overflow-wrap:anywhere;text-align:left;min-width:0}.menu-button.play{background:#f3c642}.menu-button:hover,.menu-button:focus-visible{background:#9fd4c9;transform:translateY(-2px)}.menu-button:active{transform:translateY(2px);box-shadow:inset 0 -2px #2e1e182e,0 2px #2e1e186b}.kofi-support{justify-content:center;width:min(100%,320px);display:flex}.menu-support{margin-top:2px;animation:.54s steps(5,end) .3s both menu-rise}.credits-legend{left:max(10px, env(safe-area-inset-left));bottom:max(8px, env(safe-area-inset-bottom));z-index:3;color:#fff7d7;max-width:min(260px,100% - 20px);font-family:var(--pixel-font);text-transform:uppercase;text-shadow:1px 1px #100b12;pointer-events:none;background:#100b128f;border:2px solid #100b1294;border-radius:5px;padding:4px 6px;font-size:clamp(.48rem,1.7vw,.64rem);font-weight:950;line-height:1.15;position:absolute}.menu-content .credits-legend{text-align:center;justify-self:center;margin-top:1px;animation:.54s steps(5,end) .36s both menu-rise;position:static}.kofi-support .btn-container,.kofi-support .kofi-button,.kofi-fallback-button{max-width:100%}.kofi-support .kofi-button,.kofi-fallback-button{min-height:40px}.kofi-fallback-button{color:#fff;background:#72a4f2;border-radius:7px;justify-content:center;align-items:center;min-width:180px;padding:8px 14px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex;box-shadow:1px 1px #0003}.menu-dialog-backdrop{z-index:4;background:#0a070994;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.menu-dialog{color:#2e1e18;background:#fff7d7;border:4px solid #2e1e18;border-radius:8px;gap:12px;width:min(100%,390px);padding:22px 16px 16px;animation:.19s steps(3,end) both dialog-pop;display:grid;position:relative;box-shadow:0 0 0 4px #7b4f3b,0 10px #100b1257}.menu-dialog h2,.dialog-lines p{margin:0}.menu-dialog h2{color:#166254;text-transform:uppercase;padding-right:42px;font-size:clamp(1.22rem,5vw,1.6rem);line-height:1}.dialog-lines{gap:7px;display:grid}.audio-options{gap:9px;display:grid}.option-toggle,.option-slider{background:#fffdf1;border:2px dashed #b47a4b;border-radius:6px;gap:8px;padding:9px;font-size:clamp(.75rem,2.5vw,.9rem);font-weight:900;display:grid}.option-toggle{grid-template-columns:minmax(0,1fr) 50px;align-items:center}.option-toggle span,.option-slider span{color:#30241a;align-items:center;gap:7px;min-width:0;display:inline-flex}.option-toggle input{accent-color:#2f7668;justify-self:end;width:46px;height:24px}.option-slider{grid-template-columns:minmax(0,1fr) auto}.option-slider span{grid-column:1/-1}.option-slider input{accent-color:#2f7668;width:100%}.option-slider strong{color:#166254;line-height:1}.dialog-lines p{background:#fffdf1;border:2px dashed #b47a4b;border-radius:6px;padding:8px 9px;font-size:clamp(.75rem,2.5vw,.9rem);font-weight:850;line-height:1.25}.leaderboard-panel,.leaderboard-submit{gap:9px;display:grid}.leaderboard-submit{color:#2e1e18;background:#fff7d7;border:3px solid #241812;border-radius:7px;width:min(100%,390px);margin:4px auto 0;padding:10px;box-shadow:0 5px #100b123d}.leaderboard-submit form{gap:7px;display:grid}.leaderboard-submit label{text-transform:uppercase;font-size:clamp(.7rem,2.2vw,.82rem);font-weight:950}.leaderboard-submit-row{grid-template-columns:minmax(0,1fr) minmax(96px,auto);gap:7px;display:grid}.leaderboard-submit input{color:#2e1e18;min-width:0;height:40px;font-family:var(--pixel-font);background:#fffdf1;border:2px solid #7b4f3b;border-radius:5px;padding:7px 9px;font-size:.78rem;font-weight:900}.leaderboard-submit button{color:#2e1e18;min-height:40px;font-family:var(--pixel-font);text-transform:uppercase;background:#f3c642;border:2px solid #2e1e18;border-radius:5px;padding:7px 9px;font-size:clamp(.68rem,2.2vw,.78rem);font-weight:950;box-shadow:inset 0 -4px #2e1e182e}.leaderboard-submit button:disabled{opacity:.65}.leaderboard-note{color:#2e1e18;background:#fffdf1;border:2px dashed #b47a4b;border-radius:6px;margin:0;padding:8px 9px;font-size:clamp(.72rem,2.5vw,.84rem);font-weight:850;line-height:1.28}.leaderboard-note.success{color:#166254;border-color:#2f7668}.leaderboard-note.error{color:#9b2e25;border-color:#e85d4a}.leaderboard-note.end-note{width:min(100%,390px);margin:4px auto 0}.leaderboard-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.leaderboard-list.compact{max-height:142px;overflow:auto}.leaderboard-row{color:#2e1e18;background:#fffdf1;border:2px dashed #b47a4b;border-radius:6px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;font-size:clamp(.68rem,2.3vw,.82rem);font-weight:900;display:grid}.leaderboard-row strong{overflow-wrap:anywhere;color:#166254;min-width:0}.leaderboard-row small{color:#6b4437;grid-column:2/-1;font-size:.68rem;line-height:1.1}.leaderboard-rank{color:#2e1e18;background:#9fd4c9;border:2px solid #2e1e18;border-radius:4px;place-items:center;width:26px;height:26px;font-size:.72rem;line-height:1;display:grid}.dialog-close{color:#fff7d7;background:#e85d4a;place-items:center;width:36px;height:36px;min-height:0;padding:0;display:grid;position:absolute;top:8px;right:8px}.app-shell{background:#111716;border:4px solid #0e0b0e;grid-template-rows:auto auto auto;gap:6px;width:min(100%,760px);display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 4px #6f5b52,0 18px #0e0b0e,0 30px 70px #0000007a}.topbar{color:#30241a;background:#fff8eb;border-bottom:3px solid #30241a;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.topbar div:first-child{gap:1px;display:grid}.topbar strong{font-size:clamp(1rem,4vw,1.25rem);line-height:1}.topbar span{color:#6f5b52;font-size:.78rem;font-weight:850}.score-pill{color:#30241a;text-align:center;white-space:nowrap;background:#f4c95d;border:2px solid #30241a;border-radius:8px;min-width:78px;padding:7px 9px;font-weight:950}.stage{background:#242329;place-items:center;min-height:0;display:grid;position:relative}.notebook-scene-button{width:var(--notebook-button-size);height:var(--notebook-button-size);z-index:1;background:#fff8eb;place-items:center;min-height:0;padding:0;display:grid;position:absolute;bottom:clamp(10px,3vw,16px);right:clamp(10px,3vw,16px)}.notebook-scene-button.active{background:#f4c95d}.phaser-cafe{aspect-ratio:426/528;width:100%;image-rendering:pixelated;image-rendering:crisp-edges;background:#242329;display:block;overflow:hidden}.phaser-cafe canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.overlay-panel{color:#30241a;text-align:center;z-index:2;background:#fff8eb;border:3px solid #30241a;border-radius:8px;justify-items:center;gap:14px;width:min(86%,360px);padding:22px 18px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 8px #30241a47}.overlay-panel h1,.overlay-panel h2,.overlay-panel p{margin:0}.overlay-panel h1{font-size:clamp(1.7rem,8vw,2.35rem);line-height:1.02}.overlay-panel p,.notebook-panel p{color:#6f5b52;font-size:.86rem;font-weight:750;line-height:1.35}.primary-action{color:#fff8eb;background:#2f7668;width:min(100%,240px)}.share-game{justify-items:center;gap:6px;width:min(100%,240px);display:grid}.share-action{color:#30241a;background:#9fd4c9;justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.share-action span{overflow-wrap:anywhere;min-width:0}.share-status{color:#166254;font-size:.72rem;font-weight:900;line-height:1.2}.share-status.unavailable{color:#9b2e25}.end-support{justify-items:center;gap:8px;width:100%;display:grid}.end-support p{max-width:280px}.results{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;display:grid}.results div{background:#fff;border:2px solid #30241a;border-radius:8px;gap:2px;padding:8px;display:grid}.results span{color:#6f5b52;font-size:.72rem;font-weight:850}.results strong{font-size:1.2rem}.kitchen-action-strip{background:#151c1b;gap:7px;padding:7px;display:grid}.kitchen-action-grid{grid-template-columns:repeat(4, var(--action-button-size));justify-content:center;align-items:start;gap:7px;display:grid}.kitchen-action-button{width:var(--action-button-size);height:var(--action-button-size);background:#fff8eb;place-items:center;min-height:0;padding:3px;display:grid;position:relative}.kitchen-action-button.ready{background:#f4c95d}.kitchen-action-button img{object-fit:contain;image-rendering:auto;width:64%;height:64%}.kitchen-action-button span{color:#30241a;text-transform:uppercase;font-size:.42rem;font-weight:950;line-height:1;position:absolute;bottom:4px;left:4px;right:4px}.kitchen-queue{gap:5px;display:grid}.queue-row{color:#30241a;background:#fff8eb;border:2px solid #30241a;border-radius:8px;grid-template-columns:20px minmax(0,1fr) 30px;align-items:center;gap:5px;min-height:24px;padding:3px 6px;font-weight:900;display:grid}.queue-row img{object-fit:contain;width:16px;height:16px}.queue-bar{background:#30241a;border-radius:999px;height:8px;padding:2px}.queue-bar span{border-radius:inherit;background:#f4c95d;min-width:3px;height:100%;display:block}.queue-row strong,.queue-count{text-align:right;font-size:.66rem;line-height:1}.queue-count{color:#fff8eb;padding-right:4px;font-weight:950}.queue-row.waiting{opacity:.78}.queue-row.waiting .queue-bar span{min-width:0}.kitchen-action-strip{border-top:3px solid #4d423f}button{color:#30241a;min-width:0;min-height:42px;font:850 clamp(.72rem, 2.7vw, .94rem) / 1 var(--pixel-font);letter-spacing:0;cursor:pointer;touch-action:manipulation;background:#fff8eb;border:2px solid #30241a;border-radius:8px;box-shadow:inset 0 -4px #30241a29}@keyframes menu-drift{0%{transform:scale(1.02)translate(-4px,-2px)}to{transform:scale(1.04)translate(5px,3px)}}@keyframes menu-glow{0%,to{opacity:.96}50%{opacity:1}}@keyframes logo-arrive{0%{opacity:0;transform:translateY(-18px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes menu-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-pop{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.48;transform:none}.notebook-panel{left:50%;bottom:max(14px, env(safe-area-inset-bottom));color:#30241a;z-index:5;background:#fff8eb;border:3px solid #30241a;border-radius:8px;gap:8px;width:min(92vw,380px);padding:10px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 12px #30241a2e}.notebook-header,.note-line{justify-content:space-between;align-items:center;gap:10px;display:flex}.notebook-header h2,.notebook-panel p{margin:0}.notebook-header button{background:#f4c95d;min-height:34px;padding-inline:12px}.note-line{border:2px dashed #b89a74;border-radius:8px;padding:7px 8px;font-weight:850}.tutorial-layer{z-index:20;pointer-events:none;position:fixed;inset:0}.tutorial-dim{background:#0e0b0e94;position:absolute;inset:0}.tutorial-highlight{border:3px solid #f4c95d;border-radius:8px;animation:1s ease-in-out infinite tutorial-pulse;position:absolute;box-shadow:0 0 0 9999px #0e0b0e33,0 0 0 5px #fff8eba6,0 0 24px #f4c95dbf}.tutorial-bubble{color:#30241a;text-align:center;background:#fff8eb;border:3px solid #30241a;border-radius:8px;width:min(280px,100vw - 24px);padding:11px 12px;font-size:.9rem;font-weight:950;line-height:1.18;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 7px #30241a3d}@keyframes tutorial-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@media (width>=760px){.app-shell{grid-template-rows:auto auto;grid-template-columns:minmax(0,426px) minmax(320px,1fr);width:min(100%,980px)}.topbar{grid-column:1/-1}.stage{grid-row:2}.kitchen-action-strip{grid-column:2;align-self:start}}@media (width<=520px){.main-menu{min-height:calc(100svh - 16px)}.menu-content{width:min(92%,360px);padding-top:18px}.menu-logo{width:min(94vw,330px);max-height:240px}.menu-actions{width:min(100%,286px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.menu-backdrop{transform:scale(1.02)}}
