.arcade-shell{max-width:1160px;margin:auto;padding:0 52px}.masthead{justify-content:space-between;height:108px;border-bottom:1px solid var(--line)}.masthead,.wordmark{display:flex;align-items:center}.wordmark{font-size:25px;letter-spacing:-1.2px;font-weight:700;gap:7px}.mark{color:var(--lime);font-size:35px;font-family:Arial,sans-serif;margin-right:4px}.wordmark-dot{color:var(--lime);margin-left:-6px}.edition{color:var(--muted);font-family:monospace;font-size:10px;letter-spacing:1.5px}.edition span{color:var(--lime);margin-left:18px;font-size:18px}.intro{position:relative;padding:50px 0 35px}.eyebrow{font-family:monospace;color:var(--muted);font-size:10px;letter-spacing:1.8px;margin:0 0 17px;display:flex;align-items:center;gap:9px}.eyebrow>span{height:5px;width:5px;border-radius:50%;background:var(--lime)}.intro-note{position:absolute;right:0;bottom:43px;display:flex;gap:15px;width:210px;align-items:flex-start;color:var(--muted);line-height:1.7;font-size:12px}.intro-note>span{font-size:24px;color:var(--lime)}.intro-note p{margin:0}.game{border:1px solid #c2d3a333;border-radius:14px;overflow:hidden;background:#131713;box-shadow:0 25px 90px #0004}.hud{height:77px;display:flex;align-items:center;gap:58px;padding:0 29px;border-bottom:1px solid var(--line)}.hud>div{display:flex;flex-direction:column;gap:5px}.hud span{font-family:monospace;color:var(--muted);font-size:9px;letter-spacing:1.6px}.hud strong{font-family:monospace;font-size:24px;font-weight:400;letter-spacing:2px}.hud .best strong{font-size:19px;color:#c3caba}.hud .flow{margin-left:auto}.hud .flow strong{font-size:19px}.pause-button{height:34px;width:34px;border:1px solid #ffffff28;border-radius:7px;background:transparent;color:var(--ink);font-size:17px}.playfield{position:relative;aspect-ratio:1000/560;background:#111710}.playfield canvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0e140bb3;backdrop-filter:blur(4px)}.overlay-card{text-align:center;padding:20px}.overlay-card .eyebrow{justify-content:center;font-size:9px}.orbit-icon{font-size:45px;color:var(--lime);margin-bottom:14px}.overlay h2{font-size:40px;line-height:1.15;letter-spacing:-1.5px;font-weight:400;margin:0 0 16px}.overlay-description{font-size:12px;color:#b8c2ae;margin:0 0 27px}.play-button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;padding:14px 20px;min-width:180px;border:0;border-radius:7px;background:var(--lime);color:#17200f;font-weight:700;box-shadow:0 0 30px #b0e65010}.play-button:hover{background:#e2ff9b}.play-button span{font-size:20px;line-height:16px}.overlay small{display:block;font-family:monospace;font-size:10px;color:var(--muted);margin-top:14px}.final-score{font-family:monospace;font-size:28px;color:var(--lime);margin:0 0 20px}.final-score span{font-size:10px;color:var(--muted)}.dash-status{position:absolute;bottom:20px;left:25px;pointer-events:none;display:flex;align-items:center;gap:7px;color:#b2bbac;font-family:monospace;font-size:9px;letter-spacing:1.2px}.dash-status span{width:5px;height:5px;border-radius:50%;background:#7c8578}.dash-status.charged{color:var(--lime)}.dash-status.charged span{background:var(--lime);box-shadow:0 0 10px #d6fa79}.controls{justify-content:center;gap:30px;min-height:59px;border-top:1px solid var(--line);color:#b9c0b2;font-size:11px}.controls,.controls>span{display:flex;align-items:center}.controls>span{gap:4px}.wide{padding:0 7px}.or{font-family:monospace;font-size:9px;margin:0 9px 0 2px;color:var(--muted)}.touch-controls{display:none}@media (min-width:1400px){.arcade-shell{max-width:1240px}.intro{padding-top:60px;padding-bottom:42px}}@media (max-width:700px){.arcade-shell{padding:0 20px}.masthead{height:80px}.wordmark{font-size:22px}.edition{font-size:8px;letter-spacing:1px}.edition span{margin-left:5px}.intro{padding:32px 0 25px}.intro-note{display:none}.eyebrow{font-size:8px;letter-spacing:1.2px}.hud{height:66px;padding:0 16px;gap:22px}.hud strong{font-size:21px}.hud span{font-size:8px}.hud .best strong{font-size:16px}.hud .flow{display:none}.pause-button{margin-left:auto}.playfield{aspect-ratio:1/1.1}.overlay h2{font-size:30px}.overlay-description{font-size:11px;max-width:240px;line-height:1.7}.orbit-icon{font-size:36px}.controls{gap:12px;padding:12px 5px;flex-wrap:wrap;font-size:9px}.or{display:none}.touch-controls{display:flex;justify-content:center;gap:9px;padding:12px;border-top:1px solid var(--line)}.touch-controls button{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:44px;height:44px;border:1px solid #ffffff2a;background:#1e261a;border-radius:8px;color:var(--lime)}.touch-controls button:last-child{padding:0 16px}.dash-status{left:15px;bottom:12px;font-size:8px}}@media(min-width:701px) and (max-height:850px){.masthead{height:70px}.intro{padding:25px 0}.intro .eyebrow{margin-bottom:10px}.game{max-width:870px;margin:0 auto}.hud{height:58px}.playfield{width:100%;height:44vh;aspect-ratio:auto;max-height:none}.controls{min-height:46px}.overlay h2{font-size:32px}.orbit-icon{font-size:30px;margin-bottom:8px}.overlay-description{margin-bottom:17px}}@media(max-width:700px){.controls,.dash-status,.edition,.eyebrow,.hud span,.or,.overlay small,.overlay-card .eyebrow{font-size:12px}.overlay-description{font-size:14px}.edition{letter-spacing:0}.eyebrow{letter-spacing:.5px}.hud{gap:16px}.hud span{letter-spacing:.5px}.controls{gap:10px}.controls kbd{min-width:20px}.overlay-card{padding:16px}.overlay-description{max-width:290px}}.leaderboard{margin:36px auto 0;padding:30px;border:1px solid #ffffff20;border-radius:14px;background:#131713;max-width:100%}.board-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.board-heading h2{margin:0 0 10px;font-size:32px;font-weight:400;letter-spacing:-1px}.board-heading>div>p:last-child{color:#a6afa0;font-size:13px;line-height:1.6;margin:0}.board-heading .eyebrow{font-size:12px;margin-bottom:12px}.board-refresh{border:1px solid #ffffff26;background:transparent;color:#d6fa79;border-radius:8px;min-width:44px;height:44px;font-size:24px}.board-results{min-height:130px;margin-top:24px}.board-message{padding:30px 0;color:#a6afa0;font-size:14px;line-height:1.6}.leaderboard table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.leaderboard thead{color:#a6afa0;font-family:monospace;font-size:12px}.leaderboard td,.leaderboard th{padding:14px 12px;border-bottom:1px solid #ffffff12}.leaderboard thead th{font-weight:400}.leaderboard tbody th{font-weight:400;overflow-wrap:anywhere}.leaderboard td:first-child{width:70px;font-family:monospace;color:#a6afa0}.leaderboard td:last-child,.leaderboard th:last-child{text-align:right;font-family:monospace}.leaderboard tr:first-child td:last-child,.your-score td,.your-score th{color:#d6fa79}.your-score{background:#d6fa7909}.score-form{margin-top:24px;padding:22px;border:1px solid #d6fa7933;border-radius:10px;background:#1b2315}.score-form h3{margin:0 0 18px;font-size:19px;font-weight:400}.score-form label{display:block;margin-bottom:9px;font-size:13px}.name-row{display:flex;gap:12px}.score-form input{min-width:0;flex:1;border:1px solid #ffffff35;border-radius:7px;background:#10170d;padding:13px;color:#eff1e9;font:inherit;outline-offset:3px}.score-form input:focus-visible{outline:2px solid #d6fa79}.score-form input::-moz-placeholder{color:#a6afa0}.score-form input::placeholder{color:#a6afa0}.score-form button{display:flex;align-items:center;justify-content:space-between;gap:25px;border:0;border-radius:7px;padding:12px 18px;background:#d6fa79;color:#17200f;font-weight:700;min-height:44px}.score-form>p{font-size:12px;color:#b8c2ae;line-height:1.7;margin:10px 0 0}.score-form .submitted{color:#d6fa79;font-size:15px}.score-form .board-error{color:#ffaaa2}.local-run{color:#a6afa0;font-size:13px;line-height:1.6}.add-name{display:block;background:transparent;border:0;color:#d6fa79;text-decoration:underline;text-underline-offset:4px;margin:12px auto 0;padding:8px;min-height:40px;font-size:13px}@media(min-width:701px) and (max-height:850px){.leaderboard{max-width:870px}}@media(max-width:700px){.leaderboard{padding:22px 16px;margin-top:24px}.board-heading h2{font-size:28px}.name-row{flex-direction:column}.score-form{padding:16px}.leaderboard td,.leaderboard th{padding:13px 6px}.leaderboard td:first-child{width:44px}.score-form input{font-size:16px}.board-heading .eyebrow{letter-spacing:.4px;font-size:12px}}.arcade-shell .playfield canvas{-o-object-fit:contain;object-fit:contain;-webkit-touch-callout:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.arcade-shell .touch-instructions{display:none}.arcade-shell .touch-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:4px}.arcade-shell .touch-pad button[data-key=ArrowUp]{grid-column:2;grid-row:1}.arcade-shell .touch-pad button[data-key=ArrowLeft]{grid-column:1;grid-row:2}.arcade-shell .touch-pad button[data-key=ArrowDown]{grid-column:2;grid-row:2}.arcade-shell .touch-pad button[data-key=ArrowRight]{grid-column:3;grid-row:2}.arcade-shell .touch-pad button{width:48px;height:48px;min-width:48px;min-height:48px;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.arcade-shell .touch-controls{align-items:center;justify-content:space-between;gap:20px}.arcade-shell .touch-dash{width:72px;height:72px;min-height:72px;border-radius:50%;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.arcade-shell .touch-controls button:active{background:#d6fa79;color:#17200f}@media (any-pointer:coarse){.arcade-shell .controls{display:none}.arcade-shell .touch-controls{display:flex;padding:12px 16px}.arcade-shell .touch-instructions{display:block;font-size:13px;line-height:1.6;color:#c3caba;padding:12px 16px;margin:0;border-top:1px solid #ffffff20}.arcade-shell .overlay small{display:none}.arcade-shell .pause-button{width:48px;height:48px;min-width:48px;min-height:48px}.arcade-shell[data-mode=paused],.arcade-shell[data-mode=playing]{position:fixed;inset:0;z-index:1000;max-width:none;width:100%;height:100dvh;min-height:0;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);background:#101710;overscroll-behavior:none;overflow:hidden}.arcade-shell:is([data-mode=playing],[data-mode=paused])>:is(.masthead,.intro,.leaderboard,footer){display:none}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .game{position:relative;display:flex;flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;border:0;border-radius:0;margin:0;box-shadow:none;overflow:hidden;overscroll-behavior:none;touch-action:none}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .hud{flex:0 0 60px;height:60px;padding:4px 16px;gap:22px}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .playfield{position:relative;flex:1 1 auto;width:100%;height:0;min-height:0;max-height:none;aspect-ratio:auto;background:#111710}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .playfield canvas{width:100%;height:100%}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .touch-instructions{position:absolute;top:66px;left:16px;right:16px;padding:0;border:0;pointer-events:none;text-align:center;font-size:12px;color:#c3caba99;z-index:1}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .touch-controls{position:absolute;bottom:10px;left:12px;right:12px;border:0;padding:0;pointer-events:none;z-index:2}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .touch-controls button{pointer-events:auto;background:#14200ede;border:1px solid #d6fa7955;box-shadow:0 3px 12px #0004}.arcade-shell[data-mode=paused] .touch-controls,.arcade-shell[data-mode=paused] .touch-instructions{visibility:hidden;pointer-events:none}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .dash-status{left:50%;bottom:14px;transform:translateX(-50%);font-size:11px;white-space:nowrap}.arcade-shell[data-mode=paused] .overlay{z-index:3}.arcade-shell[data-mode=paused] .overlay-card{max-width:360px;padding:20px}.arcade-shell[data-mode=paused] .overlay-description{font-size:14px;line-height:1.6}.arcade-shell:not([data-mode=playing]):not([data-mode=paused]){padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}}@media (any-pointer:coarse) and (orientation:landscape){.arcade-shell:is([data-mode=playing],[data-mode=paused]) .hud{flex-basis:52px;height:52px}.arcade-shell:is([data-mode=playing],[data-mode=paused]) .touch-instructions{top:55px;font-size:11px}.arcade-shell .touch-pad{grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,46px);gap:3px}.arcade-shell .touch-pad button{width:46px;height:46px;min-width:46px;min-height:46px}.arcade-shell[data-mode=paused] .orbit-icon,.arcade-shell[data-mode=paused] .overlay-card>.eyebrow{display:none}.arcade-shell[data-mode=paused] .overlay h2{font-size:28px;margin-bottom:10px}.arcade-shell[data-mode=paused] .overlay-description{margin-bottom:14px}}.arcade-shell .exit-run{display:block;border:0;background:transparent;color:#c3caba;margin:8px auto 0;min-height:44px;padding:10px 16px;text-decoration:underline;text-underline-offset:4px}@media(any-pointer:coarse) and (orientation:portrait){.arcade-shell:is([data-mode=playing],[data-mode=paused]) .dash-status{bottom:120px}}@media(any-pointer:coarse){.arcade-shell .add-name,.arcade-shell .wordmark{min-height:44px}.arcade-shell:not([data-mode=playing]):not([data-mode=paused]) .playfield{min-height:340px;max-height:none}}.arcade-shell[data-mode=over] .overlay{backdrop-filter:none;background:transparent;align-items:flex-start;justify-content:flex-start;padding:12px}.arcade-shell[data-mode=over] .overlay[data-impact-side=top]{align-items:flex-end}.arcade-shell[data-mode=over] .overlay-card{width:min(290px,100%);padding:16px;background:#10170ff2;border:1px solid #87997066;border-radius:10px}.arcade-shell[data-mode=over] .orbit-icon,.arcade-shell[data-mode=over] .overlay-card>.eyebrow{display:none}.arcade-shell[data-mode=over] .overlay h2{font-size:27px;margin-bottom:8px}.arcade-shell[data-mode=over] .final-score{margin-bottom:8px}.arcade-shell .impact-description{color:#d3dcc9;font-size:12px;line-height:1.5;margin:0 0 12px}.arcade-shell[data-mode=over] .dash-status{display:none}@media (any-pointer:fine) and (min-width:701px){.arcade-shell:is([data-mode=playing],[data-mode=paused],[data-mode=over]) .intro{display:none}.arcade-shell:is([data-mode=playing],[data-mode=paused],[data-mode=over]) .masthead{height:60px}.arcade-shell:is([data-mode=playing],[data-mode=paused],[data-mode=over]) .game{width:min(100%,calc(clamp(320px, calc(100dvh - 245px), 560px) * 1.785714));max-width:none}.arcade-shell:is([data-mode=playing],[data-mode=paused],[data-mode=over]) .playfield{height:clamp(320px,calc(100dvh - 245px),560px);aspect-ratio:auto}}@media (any-pointer:coarse){.arcade-shell[data-mode=over] .overlay-card{padding:12px}.arcade-shell[data-mode=over] .overlay h2{font-size:23px;margin-bottom:6px}.arcade-shell[data-mode=over] .final-score{font-size:24px;margin-bottom:6px}.arcade-shell[data-mode=over] .impact-description{line-height:1.4;margin-bottom:8px}.arcade-shell[data-mode=over] .play-button{min-height:44px;padding:10px 14px}.arcade-shell[data-mode=over] .add-name{margin-top:4px}}