@font-face{font-family:Manrope;src:url('/fonts/manrope.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:dark;--page:#101c2b;--surface:#152337;--ink:#eff5f4;--muted:#aebdca;--line:#344458;--accent:#b8f3cb;--accent-ink:#102e23;--soft:#21364a;--stage-ink:#eff5f4;--overlay:linear-gradient(90deg,#0e1b2bf5,#0e1b2bdf 46%,#0e1b2b00 78%)}
:root[data-theme=light]{color-scheme:light;--page:#edf2ef;--surface:#f7faf8;--ink:#182e34;--muted:#50666c;--line:#c3d0cf;--accent:#27694b;--accent-ink:#f3fff5;--soft:#dce9e1;--stage-ink:#182e34;--overlay:linear-gradient(90deg,#e7f0eff5,#e7f0efdf 46%,#e7f0ef00 78%)}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:Manrope,system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{touch-action:manipulation}::selection{background:var(--accent);color:var(--accent-ink)}.skip{position:absolute;top:-100px;background:var(--accent);color:var(--accent-ink);padding:14px;z-index:4}.skip:focus{top:10px}.site-header{max-width:1344px;margin:auto;padding:0 40px;height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:800;letter-spacing:-1.4px;white-space:nowrap}.brand span{font-size:10px;letter-spacing:2px;color:var(--muted);margin-left:17px;vertical-align:middle}.site-header nav{display:flex;gap:30px;font-size:13px;font-weight:700}.site-header nav a{padding:12px 0}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--accent)}main{max-width:1344px;margin:auto;padding:0 40px}.intro{padding:44px 0 32px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin:0 0 13px}h1{font-size:clamp(38px,5.8vw,74px);line-height:1.06;letter-spacing:-3.5px;margin:0 0 18px;font-weight:800}h1 span{color:var(--accent)}.intro>p:last-child{font-size:15px;color:var(--muted);margin:0;line-height:1.7}.arcade{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:0 22px 54px #020b1826;scroll-margin:20px}.dashboard{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px}.scores{display:flex;gap:38px;margin:0}.scores dt{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px}.scores dd{font:700 23px/1.1 Manrope,sans-serif;margin:0;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.scores dd small{font-size:12px;color:var(--muted);margin-left:4px}.scores .score-main dd{color:var(--accent)}.mint{color:var(--accent)}.game-actions{display:flex;gap:8px}.game-actions button{border:1px solid var(--line);border-radius:7px;color:var(--muted);background:transparent;padding:9px 11px;font-size:11px;font-weight:700;white-space:nowrap;min-height:38px}.game-actions button:hover:not(:disabled){background:var(--soft);color:var(--ink)}.game-actions button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}kbd{font:inherit;font-size:10px;display:inline-block;border:1px solid var(--line);border-radius:4px;padding:2px 5px;color:var(--ink)}.game-actions kbd{margin-left:5px}.stage{position:relative;height:420px;isolation:isolate;background:#13283b;overflow:hidden;/* layers: canvas 0, HUD 1, overlay 2 */}canvas{display:block;width:100%;height:100%;touch-action:pan-y;outline-offset:-5px!important}.overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;background:var(--overlay);color:var(--stage-ink);pointer-events:none}.overlay-copy{padding:32px 48px;max-width:590px;pointer-events:auto}.screen-kicker{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;color:var(--accent);margin:0 0 15px}.overlay h2{font-size:clamp(34px,4.2vw,56px);line-height:1.06;letter-spacing:-2px;margin:0 0 17px}.overlay-copy>p:not(.screen-kicker):not(.start-hint):not(.run-summary){font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 22px}.primary{border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:800;padding:15px 25px;box-shadow:0 4px 0 #3e7552;transition:transform .15s,box-shadow .15s;min-height:48px}.primary:hover{transform:translateY(-2px);box-shadow:0 6px 0 #3e7552}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #3e7552}.start-hint{font-size:10px;color:var(--muted);margin:17px 0 0}.run-summary{font-weight:800;font-size:15px;line-height:1.7;margin:0 0 20px;color:var(--accent)}.scene-caption{position:absolute;right:24px;bottom:24px;font-size:9px;letter-spacing:2px;color:#b2cbd1;pointer-events:none}.power-hud{position:absolute;left:24px;top:18px;display:flex;gap:8px;z-index:1;pointer-events:none}.power-hud span{background:#142b3bf2;border:1px solid #93d5b3;color:#d0ffdc;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:800}.toast{position:absolute;top:28px;left:50%;transform:translateX(-50%);font-weight:800;font-size:15px;color:var(--stage-ink);text-align:center;pointer-events:none;text-shadow:0 1px 8px var(--surface);width:80%;z-index:1}.control-deck{display:flex;align-items:center;gap:16px;padding:15px 25px;min-height:73px}.control-deck p{font-size:11px;color:var(--muted);margin:0;line-height:1.8}#run-status{margin-left:auto;font-size:11px;color:var(--accent)}.jump-button{background:var(--soft);border:1px solid var(--line);border-bottom-width:3px;border-radius:8px;padding:10px 20px;min-height:42px;color:var(--ink);font-size:12px;font-weight:800;white-space:nowrap}.jump-button span{margin-left:16px}.jump-button:active{transform:translateY(2px);border-bottom-width:1px}.touch-instructions{display:none}.field-guide{padding:48px 0 44px;display:grid;grid-template-columns:1fr 1.45fr;gap:80px}.guide-heading h2{font-size:27px;line-height:1.2;letter-spacing:-.8px;margin:0 0 18px}.guide-heading p{font-size:13px;color:var(--muted);max-width:320px;line-height:1.8;margin:0}.loot-guide{margin:0;display:grid;gap:23px}.loot-guide>div{position:relative;padding-left:58px}.loot-guide dt{font-size:13px;font-weight:800;margin-bottom:5px}.loot-guide dd{margin:0;font-size:12px;line-height:1.7;color:var(--muted);max-width:420px}.loot{position:absolute;left:0;top:3px;width:37px;height:37px;display:grid;place-items:center;font-weight:800;font-size:17px}.loot.coin{border-radius:50%;background:#b8f3cb;color:#193e2a;border:3px solid #6bc190;box-shadow:3px 3px #386e4b}.loot.multiplier{color:var(--accent);font-size:22px;transform:rotate(-9deg)}.loot.shield{border:2px solid #8dbed8;color:#8dbed8;border-radius:9px 9px 16px 16px;font-size:25px}footer{max-width:1264px;margin:0 auto;padding:25px 0 36px;display:flex;gap:24px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.6}footer p{margin:0}footer a{margin-left:auto;color:var(--ink)}[hidden]{display:none!important}.notice{padding:20px;background:var(--soft)}
@media(max-width:1050px){.dashboard{padding:18px 22px;gap:12px}.scores{gap:25px}.scores dd{font-size:21px}.game-actions{gap:5px}.game-actions button{padding:8px}.game-actions kbd{display:none}.field-guide{gap:40px}footer{margin-inline:40px}}
@media(max-width:760px){.site-header{height:70px;padding-inline:22px}.brand span{display:none}.site-header nav{gap:20px;font-size:12px}main{padding:0 18px}.intro{padding:30px 2px 24px}h1{font-size:43px;letter-spacing:-2.3px}.intro>p:last-child{font-size:13px;max-width:340px}.eyebrow{font-size:9px;letter-spacing:1.3px}.dashboard{padding:16px;flex-wrap:wrap;gap:17px}.scores{width:100%;justify-content:space-between;gap:12px}.scores dd{font-size:21px}.scores dt{font-size:8px;letter-spacing:.6px}.game-actions{width:100%;justify-content:flex-end}.game-actions button{min-height:36px;padding:7px 11px}#sound{margin-right:auto}.stage{height:350px}.overlay{background:linear-gradient(90deg,#0e1b2bf2,#0e1b2bc9 66%,#0e1b2b22)}:root[data-theme=light] .overlay{background:linear-gradient(90deg,#e7f0eff5,#e7f0efde 66%,#e7f0ef33)}.overlay-copy{padding:24px;max-width:100%}.overlay h2{font-size:39px;max-width:290px}.overlay-copy>p:not(.screen-kicker):not(.start-hint):not(.run-summary){font-size:12px;max-width:260px}.screen-kicker{font-size:9px}.primary{font-size:13px;padding:13px 22px}.start-hint{font-size:9px}.scene-caption{font-size:7px;right:14px;bottom:18px;letter-spacing:1.1px}.control-deck{padding:12px 16px;gap:10px;flex-wrap:wrap}.control-deck #instructions{font-size:10px}#run-status{order:3;width:100%;margin:0;font-size:10px}.jump-button{margin-left:auto;padding:9px 15px}.control-separator{display:none}.field-guide{grid-template-columns:1fr;padding:32px 6px;gap:28px}.guide-heading h2{font-size:24px}.guide-heading h2 br{display:initial}.guide-heading p{max-width:430px;font-size:12px}.loot-guide{gap:23px}.power-hud{left:12px;top:12px}.power-hud span{font-size:10px;padding:6px 8px}.toast{font-size:12px;top:50px}footer{margin:0 24px;flex-wrap:wrap;gap:9px;padding-top:22px;font-size:10px}footer p:nth-child(2){width:100%;order:3}footer a{margin-left:auto}.run-summary{font-size:12px}}
@media(pointer:coarse){#instructions>kbd,#instructions>.control-separator{display:none}#instructions{font-size:0!important}.touch-instructions{display:inline;font-size:10px}}
@media(prefers-reduced-motion:no-preference){.arcade{animation:arrive .55s ease-out}.intro{animation:arrive .4s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:760px){
  .overlay[data-mode=over] .overlay-copy{padding-block:18px}
  .overlay[data-mode=over] h2{font-size:32px;letter-spacing:-1px;margin-bottom:12px}
  .overlay[data-mode=over] .start-hint{display:none}
  .overlay[data-mode=over] .run-summary{margin-bottom:14px}
  .overlay[data-mode=over] #screen-description{margin-bottom:14px}
  .overlay[data-mode=over] .screen-kicker{font-size:8px;margin-bottom:12px}
}
