@font-face{font-family:Arcade;src:url('../assets/ui-font.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--ink:#202522;--paper:#f1e9d5;--muted:#b7b8a7;--orange:#ffa060;--line:#454b40}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:14px/1.5 Arcade,system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ffc27c;outline-offset:4px}.shell{max-width:1120px;padding:0 40px;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:24px 0;gap:12px}.back{font-size:13px;letter-spacing:1px;font-weight:850}.back span{color:#9caa9f;font-weight:400;margin-left:12px;font-size:11px}.edition{font:11px monospace;letter-spacing:1px;color:var(--muted)}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 0 25px}.eyebrow{font-size:10px;letter-spacing:2px;color:#b9c4af;margin:0 0 7px}h1{font-size:clamp(40px,6.2vw,72px);line-height:1;letter-spacing:-4px;margin:0;font-weight:950}h1 em{font-style:normal;color:var(--orange)}.title-dot{display:inline-block;font-size:44px;color:var(--orange);vertical-align:middle;margin-left:15px}.tagline{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.tagline strong{font-weight:500;color:var(--paper)}.cabinet{border:1px solid #74786a;border-radius:13px;overflow:hidden;box-shadow:0 20px 50px #0b100d38;background:#272d27}.hud{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr;padding:18px 25px;gap:20px;background:#30372e}.hud>div{display:flex;flex-direction:column}.label{font-size:9px;letter-spacing:1.6px;color:#bdc7b3}.hud output{font:700 30px/1.3 'Courier New',monospace;letter-spacing:1px}.hud #score{color:var(--orange)}.hud #best{color:#cbd4be}.hud .clock{text-align:right}.hud .wave{border-left:1px solid #58604e;padding-left:20px}.clock output span{font:14px Arcade,system-ui}.clock.urgent{color:#ffae86}.floor-bar{display:flex;justify-content:space-between;padding:10px 24px;background:#c6cdab;color:#394332;font:9px monospace;letter-spacing:1px;gap:12px}.floor-bar i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#596d43;margin-right:5px}#combo{font-weight:700}.stage{position:relative;height:460px;isolation:isolate;background:#c0bba2}canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;cursor:crosshair}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#22292150;backdrop-filter:blur(2px)}.menu{position:relative;max-width:390px;width:100%;padding:28px 30px 22px;background:var(--paper);color:#252c22;box-shadow:6px 6px 0 #222a2370;text-align:center;border:1px solid #fff9df;border-radius:3px}.stamp{font:8px monospace;letter-spacing:2px;border-bottom:1px dashed #aba894;padding-bottom:12px;margin-bottom:17px;color:#696e5b}.menu-kicker{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#6b6e58;margin:0 0 10px}.menu h2{font-size:36px;line-height:1.07;letter-spacing:-1.8px;margin:0 0 16px;font-weight:950}.menu h2 em{font-style:normal;color:#a74928}.menu>p:not(.menu-kicker):not(.menu-note){font-size:12px;line-height:1.7;color:#555d4e;max-width:295px;margin:0 auto 20px}.primary{display:flex;justify-content:space-between;align-items:center;border:0;border-radius:5px;background:#dd6b37;color:#fff4df;font-size:13px;letter-spacing:1px;font-weight:850;width:100%;padding:14px 19px;min-height:48px;box-shadow:0 3px 0 #a14b26}.primary:hover{background:#c85b2b}.primary span{font-size:20px;line-height:1}.secondary{display:block;width:100%;border:1px solid #a6a48d;color:#535b46;background:none;margin-top:12px;min-height:44px;font-size:11px;letter-spacing:1px}.menu-note{font-size:9px;line-height:1.5;color:#6c715e;margin:17px 0 0}.infestation{padding:13px 24px 12px;background:#30372e;border-top:5px solid transparent;border-image:repeating-linear-gradient(-45deg,#c4c6a0 0 8px,#3d4534 8px 16px) 5}.infestation-copy{display:flex;justify-content:space-between;align-items:center;gap:15px;font:9px monospace;letter-spacing:1px;color:#c6cbb8}.infestation-copy b{font-size:16px;color:var(--paper)}progress{display:block;width:100%;height:5px;margin-top:8px;border:0;border-radius:2px;background:#505644;accent-color:var(--orange)}progress::-webkit-progress-bar{background:#505644}progress::-webkit-progress-value{background:var(--orange);transition:width .1s}.infestation.danger progress::-webkit-progress-value{background:#fa7954}.console{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px 10px 24px;min-height:56px}.console>span{font-size:10px;color:#c1c8b2}.tools{display:flex;gap:6px;flex-shrink:0}.tools button{min-height:36px;min-width:40px;padding:6px 9px;font:9px monospace;border:1px solid #58604d;border-radius:4px;background:#30372e;color:#e2e7d0}.tools button:hover:enabled{background:#45513b}.instructions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:25px 0 22px}.instructions>div{display:flex;gap:12px;align-items:flex-start}.step{font:12px monospace;color:var(--orange);margin-top:1px}.instructions p{margin:0;font-size:10px}.instructions b{display:block;letter-spacing:.7px;font-size:10px;margin-bottom:5px}.instructions p span{color:#b6bfab;font-size:11px}footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:18px 0 24px;border-top:1px solid var(--line);font:9px/1.7 monospace;color:#a8b19d;letter-spacing:.5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cabinet:fullscreen{display:flex;flex-direction:column;max-width:none;border-radius:0}.cabinet:fullscreen .stage{flex:1;min-height:240px}
@media(max-width:700px){.shell{padding:0 15px}.top{padding:18px 0}.back span{display:none}.edition{font-size:9px}.heading{padding:23px 0 22px}.tagline{display:none}.eyebrow{font-size:8px;letter-spacing:1.35px}h1{font-size:49px;letter-spacing:-3px}.title-dot{font-size:30px;margin-left:9px}.hud{padding:13px 15px;gap:10px;grid-template-columns:1.5fr 1.5fr .7fr 1fr}.label{font-size:7px;letter-spacing:.7px}.hud output{font-size:23px}.hud .wave{padding-left:10px}.floor-bar{padding:10px 13px;font-size:7px;letter-spacing:.4px}.stage{height:430px;height:clamp(375px,56svh,490px)}.menu{padding:23px 20px 20px;max-width:345px}.menu h2{font-size:32px}.menu>p:not(.menu-kicker):not(.menu-note){font-size:11px}.overlay{padding:15px}.menu-note{font-size:8px}.infestation{padding:10px 14px}.console{padding:9px 12px;gap:7px}.console>span{font-size:9px;max-width:45%}.tools{gap:4px}.tools button{font-size:8px;padding:5px 7px;min-width:34px;min-height:40px}.instructions{grid-template-columns:1fr;gap:14px;padding:22px 0}.instructions p span{font-size:11px}.instructions b{display:inline;margin-right:7px}footer{font-size:8px;gap:5px}}
@media(max-width:350px){h1{font-size:43px}.title-dot{display:none}.hud output{font-size:20px}.label{font-size:6px}.menu h2{font-size:29px}.stamp{font-size:7px}.console>span{font-size:8px}.floor-bar{font-size:6px}}
@media(max-height:540px) and (min-width:600px){.stage{height:330px}.menu{padding:14px 25px}.stamp{padding-bottom:7px;margin-bottom:10px}.menu h2{font-size:28px;margin-bottom:10px}.menu>p:not(.menu-kicker):not(.menu-note){margin-bottom:12px}.menu-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
