:root{color:#f5f5f5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#101820;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit;cursor:pointer}button:focus-visible{outline-offset:3px;outline:3px solid #fff}[hidden]{display:none!important}#app{min-height:100vh}.game-shell{background:radial-gradient(at 50% 15%,#ff7a001f,#0000 45%),#101820;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;min-height:100vh;padding:1.25rem clamp(1rem,4vw,3rem);display:grid}.game-hud{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,1200px);margin:0 auto;display:flex}.game-brand{letter-spacing:.12em;white-space:nowrap;font-weight:900}.game-brand b,h1 span{color:#ff7a00}.player-identity{background:#ffffff0a;border:1px solid #35434e;border-radius:999px;align-items:center;gap:.55rem;min-width:0;padding:.35rem .55rem;display:flex}.player-avatar{color:#101820;background:#ff7a00;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:900;display:grid}.player-identity-copy{gap:.1rem;min-width:0;display:grid}.player-identity-copy strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.78rem;overflow:hidden}.player-identity-copy small{color:#aeb8c1;font-size:.65rem}.sign-in-button{color:#ff7a00;background:0 0;border:1px solid #ff7a00;border-radius:999px;padding:.35rem .65rem;font-size:.7rem;font-weight:800}.hud-stats{color:#aeb8c1;letter-spacing:.1em;flex-wrap:wrap;gap:1.25rem;font-size:.75rem;display:flex}.hud-stats strong{color:#fff;letter-spacing:0;margin-top:.25rem;font-size:1.1rem;display:block}.sound-button{border:1px solid var(--line);min-height:2.5rem;color:var(--cream);white-space:nowrap;background:#ffe2aa0f;border-radius:999px;padding:.45rem .8rem;font-size:.75rem;font-weight:800}.sound-button:hover{border-color:var(--accent)}.sound-button[aria-pressed=true]{color:var(--muted)}.pause-button{z-index:4;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.primary-button{color:#fff;background:#ff7a00;border:1px solid #ff7a00;border-radius:999px;padding:.7rem 1.2rem;font-weight:800}.pause-button{color:#ff7a00;background:0 0}.scene-container{touch-action:pan-y;background:#101820;border:1px solid #35434e;border-radius:20px;width:min(100%,1200px);height:min(74vh,780px);min-height:420px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000059}.scene-container canvas{width:100%;height:100%;display:block}.game-overlay{text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080d12c2;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.eyebrow{color:#ff7a00;letter-spacing:.2em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem;font-weight:900}h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,8vw,5rem);line-height:1}h2{margin:0;font-size:clamp(2rem,6vw,3.5rem)}.game-overlay p:not(.eyebrow){color:#c5cdd3;max-width:38ch;line-height:1.6}.primary-button{min-width:160px;margin-top:1rem}.overlay-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.overlay-actions .primary-button,.overlay-actions .secondary-button{margin-top:1rem}.secondary-button{color:#f5f5f5;background:#ffffff0d;border:1px solid #73818b;border-radius:999px;min-width:160px;padding:.7rem 1.2rem;font-weight:800}.secondary-button:hover{background:#ffffff1f}.overlay-hint{font-size:.8rem}.best-run-summary{margin-top:0;font-size:.9rem}.scene-help{color:#9ba8b2;text-align:center;justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.help-key{color:#fff;border:1px solid #46545f;border-radius:6px;place-items:center;width:1.8rem;height:1.8rem;font-weight:800;display:inline-grid}.touch-controls{pointer-events:none;justify-content:space-between;display:none;position:absolute;bottom:1rem;left:1rem;right:1rem}.touch-controls button{color:#fff;pointer-events:auto;background:#101820b3;border:1px solid #fff6;border-radius:50%;width:3rem;height:3rem;font-size:1.4rem}@media (pointer:coarse),(width<=700px){.touch-controls{display:flex}.game-shell{gap:.8rem;padding:.8rem}.scene-container{border-radius:14px;height:72vh;min-height:380px}.hud-stats{gap:.7rem}.game-brand{font-size:.8rem}.scene-help{font-size:.75rem}}@media (width<=620px){.player-identity{order:2;margin-left:auto}.player-identity-copy strong{max-width:7rem}}@media (width<=420px){.game-hud{flex-wrap:wrap}.game-brand{margin-right:auto}.hud-stats{order:3;width:100%}}.leaderboard-panel{background:#ffffff08;border:1px solid #35434e;border-radius:18px;width:min(100%,1200px);margin:0 auto 1rem;padding:clamp(1rem,3vw,1.6rem)}.leaderboard-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.leaderboard-heading .eyebrow{margin-bottom:.35rem}.leaderboard-heading h2{font-size:clamp(1.5rem,4vw,2rem)}.leaderboard-refresh{min-width:auto;margin:0;padding:.55rem .9rem}.leaderboard-message,.score-save-message,.leaderboard-note{color:#aeb8c1;font-size:.85rem;line-height:1.5}.score-save-message{color:#f5f5f5;background:#ff7a0012;border-left:3px solid #ff7a00;padding:.7rem .85rem}.leaderboard-table-wrap{border:1px solid #35434e;border-radius:10px;overflow-x:auto}.leaderboard-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.leaderboard-table th,.leaderboard-table td{white-space:nowrap;border-bottom:1px solid #35434e;padding:.8rem .9rem}.leaderboard-table th{color:#aeb8c1;letter-spacing:.08em;text-transform:uppercase;background:#ffffff0a;font-size:.72rem}.leaderboard-table tbody tr:last-child td{border-bottom:0}.leaderboard-table tbody tr.current-player-row td:first-child,.leaderboard-player-name{color:#ff9133;font-weight:800}.leaderboard-table td[colspan]{color:#aeb8c1;text-align:center}@media (width<=520px){.leaderboard-table{font-size:.8rem}.leaderboard-table th,.leaderboard-table td{padding:.7rem .55rem}.leaderboard-panel{border-radius:12px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#17232b;--surface-raised:#202d37;--line:#3b4a56;--muted:#b2bdc6;--accent:#ff7a00;--accent-hover:#ff9133}html{scroll-behavior:smooth;background:#101820;min-width:320px}body{color:#f5f5f5}button{min-height:2.75rem;transition:background-color .16s,border-color .16s,transform .16s}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}.game-shell{grid-template-rows:auto auto auto;align-content:start}.game-hud{flex-wrap:wrap}.game-brand{font-size:.95rem}.hud-stats{align-items:center}.hud-stats>span{min-width:4.25rem}.scene-container{isolation:isolate}.scene-container canvas{z-index:0;position:relative}.game-overlay{z-index:2;overflow-y:auto}.scene-loading{z-index:3;border:1px solid var(--line);color:#e8edf1;pointer-events:none;background:#101820eb;border-radius:999px;align-items:center;gap:.6rem;max-width:calc(100% - 2rem);padding:.65rem .9rem;font-size:.8rem;display:inline-flex;position:absolute;top:.85rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.loading-indicator{border:2px solid #ffffff59;border-top-color:var(--accent);border-radius:50%;flex:none;width:.65rem;height:.65rem;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.instruction-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;width:min(100%,650px);margin:.4rem 0 .15rem;display:grid}.instruction-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;justify-items:center;gap:.3rem;min-width:0;padding:.8rem .55rem;display:grid}.instruction-icon{min-width:2rem;min-height:2rem;color:var(--accent);place-items:center;font-size:1.25rem;font-weight:900;display:grid}.instruction-card strong{font-size:.82rem}.instruction-card small{color:var(--muted);font-size:.72rem;line-height:1.4}.game-overlay .overlay-hint{margin-bottom:0}.primary-button{box-shadow:0 8px 22px #ff7a002e}.secondary-button:hover,.pause-button:hover{border-color:var(--accent)}.sign-in-button,.pause-button{min-height:2.5rem}.touch-controls{z-index:1}.scene-container:not([data-mode=running]) .touch-controls{display:none}.touch-controls button{-webkit-tap-highlight-color:transparent;border:1px solid #ffffff8c;width:3.25rem;height:3.25rem;min-height:3.25rem;box-shadow:0 4px 16px #0000004d}.touch-controls button:active{background:#ff7a00e6}.scene-help{flex-wrap:wrap;line-height:1.5}.leaderboard-panel{box-shadow:0 14px 40px #0000001f}.leaderboard-table tbody tr.current-player-row{box-shadow:inset 3px 0 var(--accent)}.leaderboard-message,.score-save-message{overflow-wrap:anywhere}:focus-visible{scroll-margin:1rem}@media (width<=900px){.game-hud{justify-content:flex-start}.player-identity{margin-left:auto}.hud-stats{border:1px solid var(--line);background:#ffffff08;border-radius:12px;order:3;justify-content:space-between;width:100%;padding:.7rem .85rem}.pause-button{margin-left:auto}.scene-container{height:min(68vh,720px)}}@media (width<=560px){.game-shell{gap:.7rem;padding:.65rem}.instruction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-hud{gap:.6rem}.game-brand{letter-spacing:.08em;font-size:.8rem}.player-identity{gap:.4rem;padding:.25rem .4rem}.player-identity-copy strong{max-width:6rem}.player-identity-copy small{font-size:.6rem}.sign-in-button{padding:.3rem .5rem;font-size:.65rem}.sound-button{min-height:2.25rem;padding:.35rem .55rem;font-size:.65rem}.hud-stats{letter-spacing:.06em;gap:.35rem;padding:.6rem .55rem;font-size:.62rem}.hud-stats>span{min-width:0}.hud-stats strong{font-size:1rem}.scene-container{border-radius:12px;height:68svh;min-height:360px}.game-overlay{padding:1rem .8rem}h1{font-size:clamp(2.2rem,11vw,3.4rem)}h2{font-size:clamp(1.8rem,8vw,2.5rem)}.game-overlay p:not(.eyebrow){margin-top:.7rem;margin-bottom:.7rem;font-size:.9rem}.instruction-grid{gap:.4rem}.instruction-card{border-radius:9px;padding:.55rem .3rem}.instruction-card strong{font-size:.7rem}.instruction-card small{font-size:.63rem}.primary-button,.secondary-button{min-width:145px;padding:.65rem .9rem}.overlay-actions{width:100%}.scene-help{gap:.35rem;font-size:.7rem}.leaderboard-panel{padding:.85rem}.leaderboard-table{min-width:440px}.leaderboard-note{font-size:.78rem}}@media (width<=380px){.player-identity-copy{display:none}.player-identity{margin-left:auto}.game-brand{font-size:.72rem}.scene-container{min-height:340px}.instruction-grid{grid-template-columns:1fr;gap:.35rem}.instruction-card{text-align:left;grid-template-columns:2rem minmax(0,1fr);place-items:center start;padding:.35rem .6rem}.instruction-icon{grid-row:span 2}.instruction-card strong,.instruction-card small{grid-column:2}.instruction-card small{margin-top:-.25rem}.game-overlay .eyebrow{margin-bottom:.45rem;font-size:.65rem}.game-overlay .primary-button{margin-top:.45rem}.game-overlay .overlay-hint{font-size:.7rem}}@media (height<=520px) and (orientation:landscape){.game-shell{gap:.5rem;padding:.5rem .8rem}.scene-container{height:62vh;min-height:260px}.game-overlay{padding:.6rem}.instruction-grid{width:min(100%,560px)}.instruction-card{padding:.35rem}.instruction-icon{min-height:1.4rem}.game-overlay h1{font-size:2.2rem}.game-overlay h2{font-size:1.8rem}.game-overlay p:not(.eyebrow){margin:.35rem 0;font-size:.8rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--surface:#2a1c10;--surface-raised:#38271a;--line:#5e4429;--muted:#d3bd9c;--accent:#f2a43a;--accent-hover:#ffbd5c;--ink:#2b1708;--cream:#fff4dc;background:#1a110a}html{background:#1a110a}.game-shell{background:radial-gradient(at 70% 0,#ffba5a2e,#0000 55%),#1a110a}.game-brand b,.eyebrow,.instruction-icon,.leaderboard-table tbody tr.current-player-row td:first-child,.leaderboard-player-name{color:var(--accent)}.player-identity{border-color:var(--line);background:#ffe2aa0f}.player-avatar{color:var(--ink);background:var(--accent)}.player-identity-copy small,.hud-stats,.scene-help,.leaderboard-message,.leaderboard-note,.leaderboard-table th,.leaderboard-table td[colspan]{color:var(--muted)}.sign-in-button,.pause-button{border-color:var(--accent);color:var(--accent)}.sign-in-button:hover{color:var(--ink);background:var(--accent)}.help-key{border-color:var(--line)}.scene-container{border:2px solid var(--line);background:#e3b070;border-radius:22px;box-shadow:0 24px 80px #00000073,inset 0 0 0 1px #ffe2aa1f}.scene-container[data-mode=running]{touch-action:none}.primary-button{color:var(--ink);text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(#ffd37a,#f2a43a);border:0;border-bottom:4px solid #a8641a;box-shadow:0 10px 24px #783c0059}.primary-button:hover{background:linear-gradient(#ffe0a0,#ffb54d)}.primary-button:active{border-bottom-width:2px;transform:translateY(2px)}.secondary-button{background:#ffe2aa14;border-color:#a98760}.secondary-button:hover,.pause-button:hover{border-color:var(--accent);background:#ffe2aa29}.touch-controls button{background:#2a1c10a6;border-color:#ffe2aaa6}.touch-controls button:active{color:var(--ink);background:var(--accent)}.game-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1a0f069e}.game-overlay p:not(.eyebrow){color:#f1e1c4;text-shadow:0 1px 8px #0000008c}.instruction-card{background:#24160a8c;border-color:#ffe2aa38}.instruction-card small{color:var(--muted)}.scene-loading{color:var(--cream);background:#24160aeb}#start-overlay{text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#1a0f06d1 0%,#1a0f067a 46%,#1a0f0600 78%);align-items:flex-start;padding-left:clamp(1.5rem,7%,5.5rem)}#start-overlay .instruction-grid{width:min(100%,540px)}#start-overlay p:not(.eyebrow){max-width:34ch}.title-art{letter-spacing:-.02em;text-transform:uppercase;margin:.15em 0 .25em;font-family:Arial Black,Segoe UI Black,Helvetica Neue,Inter,system-ui,sans-serif;font-size:clamp(2.8rem,9.5vw,6.6rem);font-weight:900;line-height:.9}.title-art .t-line{background:linear-gradient(#fff 25%,#ffe6bd 100%);color:#0000;-webkit-text-fill-color:transparent;filter:drop-shadow(0 .045em #a8641a)drop-shadow(0 .08em .1em #00000080);-webkit-background-clip:text;background-clip:text;width:fit-content;display:block}.title-art .t-3d{background:linear-gradient(#ffd37a,#e8943a);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}h2{color:var(--cream);text-shadow:0 .06em #a8641a}.leaderboard-panel{border-color:var(--line);background:#ffe2aa0a}.leaderboard-table-wrap{border-color:var(--line)}.leaderboard-table th{background:#ffe2aa0f}.leaderboard-table th,.leaderboard-table td{border-bottom-color:var(--line)}.score-save-message{border-left-color:var(--accent);color:var(--cream);background:#f2a43a1a}.leaderboard-table tbody tr.current-player-row{background:#f2a43a29}.leaderboard-table tbody tr:hover:not(.current-player-row){background:#ffe2aa0d}@media (width>=901px) and (pointer:fine){.scene-container{aspect-ratio:16/9;width:min(100%,1200px,142.222vh);height:auto;min-height:0}}@media (width<=700px){#start-overlay{text-align:center;background:linear-gradient(#1a0f0633 0%,#1a0f068c 40%,#1a0f06d1 100%);align-items:center;padding:1rem}.title-art{font-size:clamp(2.6rem,15vw,4.4rem)}.title-art .t-line{margin-inline:auto}}@media (height<=520px) and (orientation:landscape){.title-art{font-size:2.6rem}}.game-shell{grid-template-columns:minmax(0,1fr)}.season-indicator{border:1px solid var(--line);min-height:2.25rem;color:var(--cream);letter-spacing:.1em;white-space:nowrap;background:#ffe2aa14;border-radius:999px;justify-content:center;align-items:center;padding:.4rem .7rem;font-size:.68rem;font-weight:900;display:inline-flex}.season-indicator[data-season=spring]{color:#b7e4a2;border-color:#79a96b}.season-indicator[data-season=summer]{color:#ffdf8b;border-color:#e4b957}.season-indicator[data-season=autumn]{color:#ffc08a;border-color:#d77c3e}.season-indicator[data-season=winter]{color:#d9efff;border-color:#a9c6d8}@media (width<=560px){.season-indicator{min-height:2rem;padding:.3rem .5rem;font-size:.6rem}}.pause-button{border:1px solid var(--accent);border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;display:grid}.pause-button svg{fill:currentColor;width:1.1rem;height:1.1rem;display:block}.pause-button:active{transform:translate(-50%,1px)}
