:root{color-scheme:dark;--bg:#10151b;--surface:#171e26;--line:#303944;--muted:#98a5b3;--lime:#d2fb78;--red:#ff726b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f5ef;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:4px}button:disabled{cursor:default;opacity:.35}[hidden]{display:none!important}.shell{max-width:1020px;margin:auto;padding:28px 36px 20px}header{display:flex;align-items:center;gap:28px;padding-bottom:26px;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;font-weight:900;letter-spacing:-1px;color:inherit;text-decoration:none}.wordmark span{font-size:10px;vertical-align:top;margin-left:3px}.edition{font:10px monospace;letter-spacing:2px;color:var(--muted);flex:1}.edition span{margin-left:15px;color:#657383}.small{border:1px solid var(--line);border-radius:6px;background:transparent;color:#c0c9d2;min-height:44px;padding:0 14px;font:11px monospace;letter-spacing:1px}.intro{display:flex;align-items:end;justify-content:space-between;margin:32px 0 27px}.eyebrow{font:10px monospace;letter-spacing:1.7px;color:var(--lime);margin:0 0 13px}.eyebrow i{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:100%;margin-right:7px}h1{font-size:clamp(32px,4vw,48px);line-height:1.06;letter-spacing:-2px;margin:0;font-weight:750}h1 em{color:var(--lime);font-style:normal}.intro-copy{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 3px}.game{border:1px solid #39434d;border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:0 20px 80px #0003}.scoreboard{display:flex;padding:18px 25px;background:#1b232c;border-bottom:1px solid var(--line)}.scoreboard>div{flex:1}.scoreboard span{display:block;font:9px monospace;letter-spacing:1.7px;color:var(--muted);margin-bottom:6px}.scoreboard strong{font:600 27px monospace;color:var(--lime)}.scoreboard .round{text-align:center}.scoreboard .round strong{color:#f4f5ef}.scoreboard .best{text-align:right}.scoreboard .best strong{color:#c2ccd6}.arena{height:310px;position:relative;background:#12191f;touch-action:manipulation;user-select:none}canvas{width:100%;height:100%;display:block}.arena-top{position:absolute;top:18px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}#status{font:10px monospace;letter-spacing:1.5px;color:#a2afba}#timer{font:24px monospace}#timer span{font-size:12px;color:var(--muted)}.progress{position:absolute;bottom:0;height:3px;width:100%;background:#2b343f}.progress div{height:100%;width:100%;background:var(--lime)}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#10171feF;text-align:center;padding:20px}.panel{max-width:460px}h2{font-size:36px;letter-spacing:-1.2px;line-height:1.05;margin:0 0 14px}.panel>p:not(.eyebrow){font-size:12px;line-height:1.6;color:#aebac5}#choices{display:flex;gap:10px;justify-content:center;margin-top:17px}.primary,.secondary{border:0;border-radius:6px;padding:15px 23px;min-height:48px;font-size:12px;font-weight:800;letter-spacing:1px}.primary{background:var(--lime);color:#172117}.primary span{margin-left:36px}.secondary{background:transparent;border:1px solid var(--red);color:var(--red)}.primary:hover{background:#e0ffab}.secondary:hover{background:#ff726b16}.panel .panel-note{font-size:10px!important;margin:11px 0 0}.controls{display:flex;gap:10px;padding:12px;background:#1b232c}.switch{flex:1;min-height:50px;border:1px solid #465340;border-radius:6px;background:#26332c;color:var(--lime);font-weight:bold;font-size:12px;letter-spacing:1.5px;touch-action:manipulation}.switch>span{font-size:22px;vertical-align:middle;margin-right:12px}.switch:active{background:#3a4f34}kbd{font:9px monospace;padding:4px 6px;border:1px solid #63704e;border-radius:3px;margin-left:14px}.bottom{display:flex;justify-content:space-between;gap:10px;font:9px monospace;letter-spacing:1px;color:#8c9baa;margin:15px 0 35px}.bottom i{display:inline-block;width:7px;height:7px;margin:0 5px 0 14px}.bottom i:first-child{margin-left:0}.player-dot{background:var(--lime);border-radius:50%}.obstacle-dot{background:var(--red)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:11px;color:#748290}footer>span:last-child{font:9px monospace;letter-spacing:1px}footer b{color:#b8c5cc;margin-left:18px;font-weight:normal}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:600px){.shell{padding:18px 16px}header{padding-bottom:17px;gap:10px}.edition{font-size:8px;letter-spacing:1px}.edition span{display:none}.wordmark{font-size:20px}.small{padding:0 10px}.intro{margin:23px 0}.intro-copy{display:none}h1{font-size:36px}.arena{height:340px}.scoreboard{padding:16px 18px}.bottom{font-size:8px;flex-wrap:wrap;row-gap:12px;margin-bottom:23px}.bottom>span:last-child{width:100%;text-align:center}footer{font-size:10px}footer>span:last-child{font-size:8px;letter-spacing:0}footer b{margin-left:6px}h2{font-size:32px}.panel .eyebrow{font-size:8px}kbd{display:none}.arena-top{left:18px;right:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root .scoreboard>div{min-width:0}#panel-title{overflow-wrap:anywhere}#choices{flex-wrap:wrap}.arena-top #status{max-width:75%;font-size:9px}button{max-width:100%}

/* A single-screen game, with no setup or progression dashboard. */
.shell{max-width:800px}.intro{margin:22px 0 18px}.intro .eyebrow{margin:0}.arena{height:320px}.bottom{margin-bottom:22px}header{padding-bottom:18px}footer{font-size:10px}.scoreboard>div{min-width:0}
@media(max-width:600px){.shell{padding:14px 14px}.intro{margin:18px 0 14px}.arena{height:clamp(230px,43svh,340px)}.scoreboard{padding:13px 16px}.controls{padding:9px}.bottom{margin:12px 0 18px}.bottom>span:nth-child(2){display:none}.bottom>span:last-child{width:auto;font-size:8px}footer{padding-top:12px}.panel .eyebrow{font-size:8px}h2{font-size:30px}.panel>p:not(.eyebrow){font-size:12px}.primary,.secondary{padding:14px 18px}}

/* Freeze and expose the actual impact, without a replay or forced delay. */
.arena.failed{height:auto}.arena.failed canvas{height:240px}.arena.failed .overlay{position:relative;background:#1b232c;padding:14px}.arena.failed .panel .eyebrow{display:none}.arena.failed h2{font-size:23px;margin-bottom:6px}.arena.failed .panel>p{margin:6px 0}.arena.failed #choices{margin-top:9px}.arena.failed .progress{display:none}
