@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(./vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff")}:root{font-family:VT323,monospace;color:#d7e4df;background:#070e12;font-synthesis:none;color-scheme:dark;--green:#00eeab;--amber:#ffcc73;--muted:#6f8989;--line:#25393e}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100svh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 50%,#122128,#070e12 73%)}button{font:inherit;border:0;cursor:pointer}button:disabled{cursor:wait}button:focus-visible{outline:2px solid var(--amber);outline-offset:5px}button:active{transform:translateY(1px)}#app{width:min(100%,1600px,calc((100svh - 114px)*16/9));padding:0 24px}.masthead{height:55px;display:flex;align-items:center;justify-content:space-between;letter-spacing:1.5px}.wordmark{font-family:Arial,sans-serif;font-size:28px;font-weight:900;letter-spacing:-1.6px;color:#ebf6ef;display:flex;align-items:center;gap:21px}.brand-divider{font-family:VT323,monospace;color:#426068;font-size:23px;font-weight:400}.brand-sub{font-family:VT323,monospace;font-size:14px;letter-spacing:2.4px;font-weight:400;color:#8fa8a7}.masthead-right{display:flex;align-items:center;gap:9px;font-size:13px;color:#6d898a}.build-id{margin-left:8px;color:#455f64}.online-dot,.status-light{display:inline-block;width:4px;height:4px;background:var(--green);box-shadow:0 0 6px #00eeab66}.cabinet{padding:5px;border:1px solid #263b42;background:#0b151b;box-shadow:0 25px 75px #0006;position:relative}.cabinet:before,.cabinet:after{position:absolute;width:14px;height:14px;content:"";pointer-events:none;z-index:5}.cabinet:before{left:-1px;top:-1px;border-left:2px solid #66858a;border-top:2px solid #66858a}.cabinet:after{bottom:-1px;right:-1px;border-bottom:2px solid #66858a;border-right:2px solid #66858a}.game-surface{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;container-type:inline-size;isolation:isolate;background:#070e12;user-select:none;-webkit-user-select:none;touch-action:none}.game-surface canvas{display:block;width:100%;height:100%;image-rendering:pixelated;position:absolute;top:0;right:0;bottom:0;left:0}.game-surface[data-phase=playing],.game-surface.on-target{cursor:crosshair}.scanlines{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:.11;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,#000 3px,#000 4px);box-shadow:inset 0 0 60px #0005}.hud-frame{position:absolute;top:2.5%;width:15.5%;height:8.8%;padding:.45cqw 1.15cqw .4cqw;background:#020a10ed;z-index:3;border:1px solid #456471;box-shadow:0 0 0 3px #071016,0 0 0 4px #213640;clip-path:polygon(0 0,96% 0,96% 8%,100% 8%,100% 91%,96% 91%,96% 100%,0 100%)}.hud-score{left:2.1%}.hud-time{right:2.1%;width:12.8%}.hud-label{display:block;font-size:1.65cqw;letter-spacing:.16cqw;color:var(--green);line-height:1}.hud-frame strong{font-weight:400;font-size:2.9cqw;line-height:.98;color:var(--green);text-shadow:0 0 9px #00ffb535;letter-spacing:.08cqw;font-variant-numeric:tabular-nums}.hud-corner{position:absolute;right:0;bottom:0;width:5px;height:5px;background:#6c9297}.stage-status{position:absolute;z-index:3;left:50%;top:3.2%;transform:translate(-50%);display:flex;align-items:center;gap:7px;padding:4px 8px;font-size:1.05cqw;letter-spacing:.1cqw;background:#050e14d9;border:1px solid #1c343c;color:#a0b5b0;white-space:nowrap}.stage-status .status-light{width:3px;height:3px}.combo{position:absolute;top:13%;left:2.2%;z-index:3;font-size:1.4cqw;color:var(--green);text-shadow:2px 2px #000;background:#050d11bd;letter-spacing:.04cqw}.combo:not(:empty){padding:3px 7px}.attract{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;pointer-events:none}.game-title{position:absolute;top:61.5%;left:50%;width:50%;text-align:center;transform:translate(-50%);text-shadow:0 2px #050e12,0 0 25px #000,0 3px 25px #000}.title-kicker{display:block;font-size:1.08cqw;letter-spacing:.3cqw;color:#b0c8c5;margin-bottom:.05cqw}.game-title h1{font-size:6.7cqw;letter-spacing:.02cqw;line-height:.94;margin:0;color:#dcebe6;font-weight:400;text-shadow:3px 3px #092329,0 0 18px #021217;white-space:nowrap}.title-hyphen{color:#87aaa4}.title-period{color:var(--green)}.game-title p{font-size:1.55cqw;margin:.32cqw 0 0;color:#aac1bc;letter-spacing:.03cqw}.pixel-button{background:#051d1ded;border:2px solid var(--green);color:var(--green);display:flex;align-items:center;justify-content:center;gap:2cqw;min-height:3.65cqw;font-size:2.55cqw;line-height:1;letter-spacing:.26cqw;box-shadow:0 0 0 3px #071418,0 0 0 4px #316b61,inset 0 0 18px #00eeab09;text-shadow:0 0 8px #00eeab3b;transition:background .12s,color .12s;clip-path:polygon(0 10%,3% 10%,3% 0,97% 0,97% 10%,100% 10%,100% 90%,97% 90%,97% 100%,3% 100%,3% 90%,0 90%)}.pixel-button:hover{background:#093a30;color:#c8ffe9}.pixel-button:focus-visible{background:#145144;outline-offset:2px}.play{position:absolute;left:50%;bottom:7.2%;transform:translate(-50%);width:25%;height:6.8%;pointer-events:auto;font-size:3.25cqw;gap:2.4cqw;font-weight:400}.play:active{transform:translate(-50%) translateY(1px)}.play span{font-size:4.7cqw;line-height:.4;margin-top:-.25cqw}.play-instruction{position:absolute;bottom:3.05%;left:50%;transform:translate(-50%);font-size:1.1cqw;letter-spacing:.11cqw;color:#a7c1b9;text-shadow:1px 1px #000,0 0 8px #000;white-space:nowrap}.play-instruction span{color:#4b796e}.countdown{display:none;position:absolute;z-index:3;top:39%;left:50%;transform:translate(-50%,-50%);color:var(--green);text-align:center;text-shadow:3px 3px #04120e,0 0 28px #000}.countdown>span{font-size:10cqw;display:block;line-height:.9}.countdown small{font-size:1.8cqw;letter-spacing:.12cqw;background:#061512c9;padding:2px 9px}.loading{position:absolute;z-index:7;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;background:#08131c}.loading-label{font-size:20px;letter-spacing:2px;color:var(--green)}.loading-track{width:160px;border:1px solid #315753;padding:4px}.loading-track i{display:block;width:30%;height:4px;background:var(--green);animation:load 1.4s steps(8) infinite}@keyframes load{to{transform:translate(225%)}}.game-surface:not([data-phase=loading]) .loading{display:none}.game-surface:not([data-phase=attract]) .attract{display:none}.game-surface[data-phase=countdown] .countdown{display:block}.pause-overlay{position:absolute;z-index:9;top:0;right:0;bottom:0;left:0;background:#041017b8;display:none;align-items:center;justify-content:center}.paused .pause-overlay{display:flex}.pause-panel{width:35%;padding:2.5cqw;background:#09181ff7;border:1px solid #49666e;box-shadow:5px 5px #02090d;text-align:center}.eyebrow{color:#75979b;font-size:1.05cqw;letter-spacing:.12cqw}.pause-panel h2{font-size:4.1cqw;line-height:1;margin:1cqw 0 .5cqw;font-weight:400;color:#dae8df}.pause-panel p{font-size:1.55cqw;color:#a4b6af;margin:.5cqw 0 2cqw}.pause-panel .pixel-button{width:100%}.results{display:none;position:absolute;z-index:4;left:5.8%;top:19%;width:33%;padding:1.6cqw 2cqw 1.8cqw;background:#071218f5;border:1px solid #52747b;box-shadow:5px 5px #02090ecc}.results:before{content:"";position:absolute;top:-1px;left:-1px;width:22%;height:2px;background:var(--green)}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:.6cqw}.report-heading .eyebrow{font-size:.78cqw;letter-spacing:.04cqw}.report-stamp{color:#6d9790;border:1px solid #35534d;padding:.1cqw .35cqw;font-size:.8cqw;white-space:nowrap}.results h2{font-weight:400;font-size:2.55cqw;margin:.9cqw 0 1.6cqw;letter-spacing:.03cqw;white-space:nowrap}.results h2 span{color:var(--green)}.report-score-label{font-size:1cqw;letter-spacing:.14cqw;color:#75958e;display:flex;justify-content:space-between}.report-score-label span{color:var(--amber);letter-spacing:.07cqw}.report-score{font-size:6.3cqw;color:var(--green);line-height:1;margin:.15cqw 0 .8cqw;text-shadow:0 0 16px #00eeab20}.report-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:1cqw 1.5cqw;padding:1.3cqw 0;margin:0}.report-stats>div{display:flex;flex-direction:column;gap:.12cqw}.report-stats dt{font-size:.93cqw;letter-spacing:.08cqw;color:#708c89}.report-stats dd{font-size:2.05cqw;line-height:1;margin:0;color:#d9e8e2}.report-footer{display:flex;justify-content:space-between;font-size:1.08cqw;color:#708f88;margin:1cqw 0 1.3cqw}.report-footer span:last-child{color:#b8cdc5}.results .pixel-button{width:100%;font-size:2.2cqw;min-height:3.4cqw;justify-content:space-between;padding:.2cqw 1.5cqw}.mole-verdict{position:absolute;z-index:4;left:47%;top:21%;padding:.6cqw 1cqw;background:#071219f0;border-left:2px solid var(--amber);display:none;box-shadow:4px 4px #0005}.mole-verdict>span{font-size:1.85cqw;display:block;color:#d7e2d7;white-space:nowrap}.mole-verdict small{display:block;color:#6f9188;font-size:.85cqw;letter-spacing:.08cqw;margin-top:.3cqw}.game-surface[data-phase=results] .results,.game-surface[data-phase=results] .mole-verdict{display:block}.in-game-pause{position:absolute;z-index:4;bottom:2.7%;right:2.5%;color:#8cb3a9;background:#031016b8;border:1px solid #3c5b5d;font-size:1.3cqw;width:2.7cqw;height:2.5cqw;display:none}.game-surface[data-phase=playing] .in-game-pause{display:block}.round-ending{display:none;position:absolute;left:50%;top:65%;transform:translate(-50%);font-size:2.6cqw;letter-spacing:.1cqw;color:var(--green);background:#031017e8;padding:.6cqw 1.5cqw;white-space:nowrap}.game-surface[data-phase=roundEnd] .round-ending{display:block}.round-ending span{color:#a6daca}.urgent .hud-time strong,.urgent .hud-time .hud-label{color:var(--amber)}.urgent .hud-time{border-color:#bda266;animation:urgency .65s steps(2) infinite}.overclocked .stage-status{color:var(--green);border-color:#438374}.overclocked .combo{color:#d6ffeb}.score-punch{animation:score-punch .15s steps(3)}@keyframes score-punch{0%{color:#fff}to{color:var(--green)}}@keyframes urgency{50%{box-shadow:0 0 0 3px #071016,0 0 0 4px #705d37}}.console-footer{height:47px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;letter-spacing:.6px;color:#607d7c}.footer-left{display:flex;align-items:center;gap:9px}.footer-left .status-light{background:#3a6b5b;box-shadow:none}.footer-hint b{font-weight:400;color:#8bab9e}.console-controls{display:flex;align-items:center;gap:12px;white-space:nowrap}.console-controls button{background:none;color:#8ba59b;letter-spacing:.65px;padding:5px 0;font-size:13px}.console-controls button:hover{color:var(--green)}.control-divider{color:#304b4d}.speaker-icon{font-size:17px;line-height:10px;vertical-align:middle}.orientation-hint{display:none;text-align:center;font-size:16px;color:#617e7b}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#app:fullscreen{width:100%;height:100%;padding:0;display:flex;flex-direction:column;justify-content:center;background:#030a0f}#app:fullscreen .masthead,#app:fullscreen .console-footer{display:none}#app:fullscreen .cabinet{padding:0;border:0;width:min(100vw,calc(100vh*16/9));margin:auto}#app:fullscreen .game-surface{max-height:100vh}.reduced-motion *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:800px){#app{padding:0 10px;width:min(100%,calc((100svh - 86px)*16/9))}.masthead{height:42px}.wordmark{font-size:23px;gap:12px}.brand-sub{font-size:11px;letter-spacing:1px}.masthead-right{font-size:10px;letter-spacing:.5px}.build-id{display:none}.console-footer{height:37px;font-size:10px;gap:8px}.console-controls{gap:8px}.console-controls button{font-size:11px}.footer-hint{font-size:10px}.footer-hint b{display:none}.cabinet{padding:3px}.stage-status{font-size:1.2cqw;top:3.2%}.play-instruction{font-size:1.4cqw}.report-heading .eyebrow{font-size:1cqw}.report-stamp{display:none}.report-stats dt,.report-score-label{font-size:1.2cqw}.report-footer{font-size:1.3cqw}.in-game-pause{width:4cqw;height:3.5cqw;font-size:2cqw}.results{top:16%;width:36%;padding:1.7cqw 2cqw}.results h2{font-size:2.7cqw}.report-stats dd{font-size:2.5cqw}.results .pixel-button{min-height:4.4cqw}.pause-panel{width:43%}.pause-panel .pixel-button{min-height:5cqw;font-size:3cqw}.pause-panel p{font-size:2cqw}.pause-panel .eyebrow{font-size:1.6cqw}}@media(max-width:600px)and (orientation:portrait){#app{padding:0 7px;width:100%}.masthead-right{display:none}.console-footer{flex-wrap:wrap;height:auto;padding:12px 2px;gap:12px;justify-content:center}.footer-left{width:100%;justify-content:center}.footer-hint{font-size:12px}.console-controls button{font-size:13px}.orientation-hint{display:block;margin-top:4px}.stage-status{font-size:1.35cqw}.hud-label{font-size:1.9cqw}.hud-frame strong{font-size:3.3cqw}.hud-frame{height:9.5%;width:17%}.hud-time{width:14%}.game-title h1{font-size:7.4cqw}.title-kicker{font-size:1.25cqw}.game-title p{font-size:1.8cqw}.play{height:8%;bottom:6%;font-size:4cqw}.play-instruction{bottom:2.1%;font-size:1.5cqw}}@media(max-height:500px)and (orientation:landscape){#app{width:min(100%,calc((100svh - 16px)*16/9));padding:0 4px}.masthead,.console-footer{display:none}.cabinet{padding:2px}.orientation-hint{display:none}}.game-surface[data-phase=playing],.game-surface.on-target{cursor:none}.in-game-pause{cursor:pointer}.mission-progress{display:none;position:absolute;left:50%;top:8.1%;transform:translate(-50%);z-index:3;font-size:1.05cqw;letter-spacing:.14cqw;color:#92ada2;background:#031016b3;padding:.2cqw .6cqw}.game-surface[data-phase=playing] .mission-progress{display:block}.level-picker{position:absolute;left:2.5%;bottom:3.2%;display:flex;align-items:center;gap:.5cqw;pointer-events:auto;font-size:1cqw;color:#6e8b82}.level-picker>span{margin-right:.25cqw;letter-spacing:.1cqw}.level-picker button{width:2.2cqw;height:2.1cqw;padding:0;color:#92aea2;background:#061016d9;border:1px solid #3e5d5b;font-size:1.25cqw}.level-picker button.selected{border-color:var(--green);color:var(--green)}.level-picker button:disabled{opacity:.4;cursor:default}.level-outcome{font-size:.92cqw;line-height:1.1;color:var(--amber);margin:-1cqw 0 1.2cqw;letter-spacing:.03cqw}.level-outcome.cleared{color:var(--green)}.results{top:16%;padding-top:1.3cqw;padding-bottom:1.3cqw}.results .pixel-button[hidden]{display:none}.results .secondary-replay{background:none;border:none;box-shadow:none;clip-path:none;min-height:1.8cqw;padding:.8cqw 0 0;justify-content:center;font-size:1.05cqw;letter-spacing:.1cqw;color:#78978b}.results .secondary-replay:hover{color:var(--green)}@media(max-width:800px){.level-picker button{width:3.1cqw;height:3cqw;font-size:1.6cqw}.level-picker,.mission-progress{font-size:1.3cqw}.results{top:15%}.level-outcome{font-size:1.1cqw}.results .secondary-replay{font-size:1.4cqw;min-height:2.2cqw}}.mole-verdict{background:#f7f5eb;border:2px solid #1b292d;box-shadow:3px 3px #0004;color:#18242a}.mole-verdict>span{color:#18242a}.mole-verdict small{color:#5b6965}.mole-verdict:after{content:"";position:absolute;bottom:-13px;left:30px;border-top:13px solid #f7f5eb;border-left:5px solid transparent;border-right:7px solid transparent}.game-title{top:58%;width:68%}.title-pre{display:block;font-size:2.15cqw;line-height:1.1;letter-spacing:.4cqw;color:#b3c4c2;margin:.35cqw 0 .1cqw}.game-title h1{font-size:6.4cqw;letter-spacing:.04cqw}.game-title .title-period{color:#fa6759}.game-title p{margin-top:.5cqw}.termolator-verdict{display:none;position:absolute;z-index:4;left:48%;top:18%;width:38%;margin:0;pointer-events:none}.game-surface[data-phase=results] .termolator-verdict{display:block}.termolator-verdict img{display:block;width:100%;image-rendering:pixelated;border:1px solid #39535b;box-shadow:5px 5px #02090ecc}.last-words{position:absolute;z-index:1;left:8%;top:-2%;background:#f7f5eb;color:#19282d;border:2px solid #24383d;padding:.65cqw 1.25cqw;font-size:3.1cqw;line-height:1;box-shadow:3px 3px #0006}.last-words:after{content:"";position:absolute;bottom:-12px;left:24px;border-top:12px solid #f7f5eb;border-left:5px solid transparent;border-right:7px solid transparent}.last-words small{display:block;font-size:.8cqw;letter-spacing:.13cqw;color:#66716e;margin-top:.35cqw}@media(max-width:600px)and (orientation:portrait){.game-title h1{font-size:6.5cqw}.title-pre{font-size:2.3cqw}.termolator-verdict{left:47%;width:43%;top:20%}.last-words{font-size:3.5cqw}.last-words small{font-size:1cqw}}.tournament-instruction{position:absolute;bottom:1.8%;left:0;width:100%;text-align:center;color:#9eaea7;font-size:1.1cqw;line-height:1.35;letter-spacing:.08cqw}.tournament-instruction small{color:#668780;font-size:.8em;letter-spacing:.4px}.charge-status{display:none;position:absolute;left:2%;bottom:3%;z-index:8;background:#030d13df;border-left:2px solid #527984;padding:8px 12px;color:#90acb5;font-size:clamp(10px,1.2vw,17px);pointer-events:none}[data-phase=playing] .charge-status{display:block}.charge-cells{display:flex;gap:4px;margin:5px 0}.charge-cells i{width:24px;height:5px;background:#233942}.charge-cells .filled{background:#74daed;box-shadow:0 0 7px #3eaace55}.charge-status small{font-size:.72em}.charge-status.charged{color:#c6f7ff;border-color:#a4e8ff}.charge-status.charged .filled{background:#d1faff;box-shadow:0 0 10px #59c8ff}.tournament-dialog{width:min(540px,90vw);max-height:90dvh;padding:38px;color:#d0e1db;background:#08151c;border:2px solid #45666e;box-shadow:8px 8px #02080c;font:23px VT323,monospace}.tournament-dialog::backdrop{background:#02080bdd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tournament-dialog h2{font-size:46px;font-weight:400;line-height:1;margin:18px 0;color:#c7e8df}.tournament-dialog p{color:#92aaa7;line-height:1.3}.tournament-dialog [hidden]{display:none}.dialog-close{position:absolute;right:12px;top:8px;background:none;border:0;color:#8ba3a2;font:30px VT323;cursor:pointer}.tournament-dialog label{display:block;margin:26px 0 8px;color:#89b0a5;font-size:17px;letter-spacing:1px}.tournament-dialog input{width:100%;background:#020b11;color:#e4f6ee;border:1px solid #547772;padding:13px;font:27px VT323;outline:none}.tournament-dialog input:focus{border-color:#00dcac;box-shadow:0 0 0 1px #00dcac}.tournament-dialog .pixel-button{width:100%;font-size:25px;margin-top:12px}.tournament-dialog .form-error{color:#efb396;font-size:19px;min-height:0;margin:10px 0}.text-button{border:0;background:none;color:#80aaa5;font:18px VT323;padding:20px 0 0;cursor:pointer}.board-scope{font-size:16px;letter-spacing:.5px}.board-table-wrap{overflow:auto;max-height:42dvh;margin:24px 0}.tournament-dialog table{width:100%;border-collapse:collapse;text-align:left;font-size:21px}.tournament-dialog th{color:#698983;font-weight:400;font-size:15px;padding:0 8px 10px}.tournament-dialog td{border-top:1px solid #233a41;padding:13px 8px;overflow-wrap:anywhere}.tournament-dialog td:first-child{color:#6e9690}.tournament-dialog td:nth-child(3){color:#25dfb1}.tournament-dialog td:last-child{white-space:nowrap;font-size:17px;color:#8daca5}.tournament-dialog .current-player{background:#0f2b2a}.console-controls button:disabled{opacity:.35;cursor:default}@media(max-width:600px){.tournament-dialog{padding:24px}.tournament-dialog h2{font-size:36px}.charge-status{padding:4px 6px}.charge-cells{gap:3px;margin:3px 0}.charge-cells i{width:15px;height:3px}}.stage-status:empty{display:none}.console-footer{justify-content:flex-end}.results h2{margin:.3cqw 0;font-size:2.8cqw;color:#dcece6}.result-message{font-size:1.8cqw;line-height:1.1;margin:0 0 1.2cqw;color:#dcece6}.level-outcome{margin:0 0 1.2cqw}.results .secondary-replay{padding:.4cqw 0 .8cqw}.pause-panel h2{margin:0 0 2cqw}.tournament-dialog label.sr-only{margin:0}.story-dialog{padding:0;border:1px solid #35464c;background:#02080d;color:#dcece6;width:min(1380px,calc(100vw - 32px),calc((100dvh - 32px)*16/9));max-width:none;aspect-ratio:16/9;max-height:calc(100dvh - 32px);overflow:hidden;container-type:inline-size;box-shadow:0 30px 100px #000a;font-family:VT323,monospace}.story-dialog::backdrop{background:#02060bea}.story-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.story-picture,.story-effects{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;image-rendering:pixelated}.story-picture{opacity:0;transition:opacity .25s}.story-ready .story-picture{opacity:1}.story-inventor{position:absolute;left:3%;bottom:-10%;height:108%;width:auto;image-rendering:pixelated}.story-inventor[hidden]{display:none}.story-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#02070b9e 0%,transparent 22%,transparent 40%,#02080ddb 75%,#02080d 100%),linear-gradient(90deg,#02080d40,transparent 60%)}.story-toolbar{position:absolute;top:4%;left:4.5%;right:4.5%;display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:1.1cqw;letter-spacing:.1cqw;color:#92aca8;z-index:4}.story-toolbar>div{display:flex;gap:1.8cqw}.story-dialog button:not(.pixel-button){background:transparent;color:#b4cbc4;font:inherit;cursor:pointer;padding:.5cqw}.story-dialog button:hover{color:#56f4c9}.story-dialog button:disabled{opacity:.25;cursor:default}.story-dialog button[hidden]{display:none}.story-caption{position:absolute;left:12%;bottom:16%;width:76%;z-index:3;text-align:center;text-shadow:1px 2px 2px #02090d;visibility:hidden}.story-ready .story-caption{visibility:visible}.story-caption p{font-size:2.25cqw;line-height:1.25;max-width:66ch;margin:0 auto;color:#e0e9e2}.story-typewriter{white-space:pre-wrap}.story-remainder{visibility:hidden}.story-nav{position:absolute;left:5%;right:5%;bottom:4.5%;display:flex;align-items:center;justify-content:center;z-index:4}.story-actions{display:flex;gap:2.4cqw;align-items:center;font-size:1.2cqw;letter-spacing:.1cqw}.story-alarm{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:radial-gradient(ellipse at 50% -15%,#ef2034a6,transparent 72%);transition:opacity .4s}.alarm-on .story-alarm{opacity:1;animation:alarm-breathe 1.6s ease-in-out infinite}.story-dialog[data-scene=alarm] .story-caption{bottom:16%}.story-dialog .story-start{display:flex;min-width:22cqw;width:max-content;margin:2.5cqw auto 0;font-size:2.3cqw;min-height:4.4cqw;padding:.6cqw 2.8cqw;color:#ccfff0}.story-dialog .story-start[hidden]{display:none}.story-reduced .story-picture{transition:none}.story-reduced .story-alarm{animation:none}@keyframes alarm-breathe{0%,to{opacity:.35}50%{opacity:.85}}@media(max-width:600px)and (orientation:portrait){.console-footer{justify-content:center}.story-dialog{width:calc(100vw - 16px);height:min(740px,calc(100dvh - 30px));aspect-ratio:auto;max-height:none}.story-stage{bottom:auto;height:54%}.story-picture,.story-effects{object-fit:cover}.story-inventor{height:110%;left:-4%;bottom:-5%}.story-vignette{background:linear-gradient(180deg,#02080d88,transparent 22%,transparent 48%,#02080d 100%)}.story-toolbar{top:18px;left:18px;right:18px;font-size:10px;letter-spacing:1px}.story-toolbar>div{gap:12px}.story-caption,.story-dialog[data-scene=alarm] .story-caption{left:22px;bottom:15%;width:calc(100% - 44px)}.story-caption p{font-size:23px;line-height:1.25}.story-nav{left:20px;right:20px;bottom:24px}.story-actions{width:100%;justify-content:space-between;font-size:14px}.story-dialog .story-start{font-size:24px;min-height:45px;width:100%;margin-top:24px}.story-toolbar button,.story-actions button{min-height:36px;min-width:36px}.story-toolbar button{font-size:11px}}.help-button{position:absolute;z-index:10;right:2.5%;bottom:2.7%;width:3cqw;height:3cqw;min-width:24px;min-height:24px;border:1px solid #5a7b75;background:#051419eb;color:#c0e4d7;font-size:2.2cqw;line-height:1}.help-button:hover{color:var(--green);border-color:var(--green)}.in-game-pause{right:6.4%;height:3cqw;width:3cqw}.rules-dialog{width:min(590px,94vw)}.rules-list{list-style:none;counter-reset:rule;padding:0;margin:24px 0}.rules-list li{position:relative;padding-left:34px;margin:0 0 18px;counter-increment:rule}.rules-list li:before{content:counter(rule);position:absolute;left:0;top:1px;color:#00eeab;font-size:25px}.rules-list strong{font-size:25px;font-weight:400;color:#e1eee8}.rules-list p{font-size:20px;margin:4px 0 0;line-height:1.15}.rules-list em{font-style:normal;color:#ffe076}.rules-done{min-height:44px}.story-nav{justify-content:space-between}.story-dialog .story-skip{font-size:1.35cqw;min-height:3.3cqw;min-width:13cqw;padding:.65cqw 1.6cqw;letter-spacing:.09cqw}.story-dialog[data-scene=alarm] .story-nav{justify-content:center}.combo-multiplier{font-size:1.18em;color:#ffe071}@media(max-width:600px)and (orientation:portrait){.in-game-pause{right:11%;min-width:24px;min-height:24px}.help-button{font-size:21px}.story-actions{width:auto;gap:12px}.story-nav{left:16px;right:16px;gap:12px}.story-actions{font-size:12px;gap:9px}.story-dialog .story-skip{font-size:14px;min-height:38px;min-width:106px;padding:8px 10px;letter-spacing:.5px}.rules-dialog{padding:24px}}.entry-scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#050d15}.entry-city{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.entry-distance{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#02091480,#03091015 65%,#02091188)}.entry-fighters,.entry-moles{position:absolute;bottom:-2%;width:50%;height:100%;object-fit:fill;image-rendering:pixelated}.entry-fighters{left:-1.2%}.entry-moles{right:-1.2%}.entry-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 32%,#020a1199,transparent 48%),linear-gradient(180deg,#01070d25,transparent 45%,#02081022 78%,#020810e0)}.game-surface[data-phase=attract] .hud-frame,.game-surface[data-phase=attract] .stage-status{display:none}.game-title{top:24%;width:90%}.game-title h1{font-size:7.7cqw;color:#e4eee7;letter-spacing:.12cqw;text-shadow:3px 4px #07131d,0 0 30px #000,0 0 60px #000}.title-pre{font-size:2.75cqw;letter-spacing:.5cqw;margin:0 0 .65cqw;color:#e1e8df}.game-title .title-period{display:none}.play{top:53%;bottom:auto;width:27%;height:7.8%;font-size:2.85cqw;letter-spacing:.16cqw;gap:1.5cqw}.play span{font-size:3.7cqw}.tournament-instruction{bottom:5%;font-size:1.2cqw;color:#b0beb1;text-shadow:1px 2px #000}@media(max-width:600px)and (orientation:portrait){.game-surface[data-phase=attract]{min-height:440px;max-height:72svh;aspect-ratio:auto}.entry-fighters,.entry-moles{height:70%;width:80%;object-fit:contain;object-position:bottom;bottom:0}.entry-fighters{left:-10%}.entry-moles{right:-14%}.entry-distance{background:linear-gradient(180deg,#02091465,#03091045 60%,#02091199)}.game-title{top:15%;width:98%}.game-title h1{font-size:11.3cqw;letter-spacing:0}.title-pre{font-size:4.9cqw;letter-spacing:.7cqw;margin-bottom:1cqw}.play{top:36%;width:61%;height:10%;font-size:6cqw}.play span{font-size:8cqw}.tournament-instruction{bottom:4%;font-size:3cqw}}.rules-dialog{padding:24px 32px}.rules-dialog h2{margin:12px 0}.rules-list{margin:18px 0}.rules-list li{margin-bottom:14px}.masthead{justify-content:center;height:64px}.wordmark img{display:block;width:166px;height:auto}.result-message{color:#98aaa9;font-size:1.6cqw;line-height:1.25;margin-bottom:1.5cqw}.console-controls #leaderboard{border:1px solid #568d7e;background:#0b2a25;color:#8ff0cb;padding:7px 12px;font-size:15px}.console-controls #leaderboard:hover{background:#164437;color:#e1fff3}.results .leaderboard-action{margin:.5cqw 0 .75cqw;min-height:3.2cqw;font-size:1.8cqw;background:#10252b;color:#b7e6d7;border-color:#688f8b}.story-resistance-logo{display:none;position:absolute;left:0;width:13cqw;height:auto}.story-dialog[data-scene=resistance] .story-resistance-logo,.story-dialog[data-scene=alarm] .story-resistance-logo{display:block}@media(max-width:600px){.masthead{height:51px}.wordmark img{width:142px}.console-controls{gap:6px}.console-controls #leaderboard{font-size:13px;padding:6px 8px}.story-resistance-logo{width:116px}}.hud-frame{height:7cqw;padding:.75cqw 1.15cqw 1cqw}.hud-label{margin-bottom:.3cqw}.hud-frame strong{display:block;line-height:1}.combo{top:calc(2.5% + 7.8cqw)}.story-dialog[data-scene=alarm] .story-caption{top:50%;bottom:auto;transform:translateY(-50%)}.story-dialog[data-scene=alarm] .story-vignette{background:radial-gradient(ellipse at center,#02080ddd,#02080d99 42%,#02080d33 85%)}.story-dialog[data-scene=alarm] .story-start{margin-top:3cqw}@media(max-width:600px)and (orientation:portrait){.hud-frame{height:7.8cqw}.combo{top:calc(2.5% + 8.6cqw)}.story-dialog[data-scene=alarm] .story-stage{height:100%}.story-dialog[data-scene=alarm] .story-caption{top:50%;bottom:auto}.story-dialog[data-scene=alarm] .story-start{margin-top:28px}}.tournament-dialog{width:min(580px,calc(100vw - 40px));padding:34px 36px 30px}.tournament-dialog h2{margin:4px 0 28px;line-height:1.05}.tournament-dialog .pixel-button{min-height:50px;padding:12px 18px;line-height:1.1;letter-spacing:1.5px}.board-table-wrap{max-height:48dvh;margin:0 0 26px}.tournament-dialog table{table-layout:fixed}.tournament-dialog th{padding:0 12px 14px;font-size:17px}.tournament-dialog td{padding:16px 12px;line-height:1.2;vertical-align:middle}.tournament-dialog th:first-child{width:13%}.tournament-dialog th:nth-child(2){width:39%}.tournament-dialog th:nth-child(3){width:27%}.tournament-dialog th:last-child{width:21%}.tournament-dialog th:nth-child(n+3),.tournament-dialog td:nth-child(n+3){text-align:right}.tournament-dialog td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums;font-size:24px}.tournament-dialog .choose-player{margin:0}.tournament-dialog .empty-board{padding:24px 12px;margin:0;border-top:1px solid #233a41;text-align:center}@media(max-height:500px)and (orientation:landscape){.tournament-dialog{padding:22px 30px}.tournament-dialog h2{font-size:34px;margin:0 0 18px}.board-table-wrap{max-height:37dvh;margin-bottom:18px}.tournament-dialog .pixel-button{min-height:44px;font-size:22px;padding:9px 16px}.player-entry>p{margin:12px 0;font-size:20px}.tournament-dialog input{padding:9px 12px;font-size:23px}.text-button{padding-top:14px}}.orientation-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;border:0;padding:24px;width:100vw;max-width:none;height:100dvh;max-height:none;overflow:auto;background:radial-gradient(ellipse at 50% 36%,#132931,#030b10 72%);color:#e4eee8;text-align:center}.orientation-dialog::backdrop{background:#030b10}.rotate-content{min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.rotate-mole{position:relative;width:min(82vw,350px);margin:16px 0 12px}.rotate-mole img{display:block;width:100%;height:auto;image-rendering:pixelated;mix-blend-mode:lighten}.rotate-mole p{position:relative;z-index:1;width:max-content;max-width:100%;margin:0 auto -8px;padding:12px 22px;background:#f3f1e7;color:#1a282b;border:2px solid #172a2e;box-shadow:4px 4px #0006;font-size:30px;line-height:1.1}.rotate-mole p:after{content:"";position:absolute;bottom:-15px;left:46%;border-top:16px solid #f3f1e7;border-right:12px solid transparent}.rotate-phone{color:#00dcaa;flex-shrink:0;margin:0 0 14px}.orientation-dialog h2{font-size:30px;line-height:1.1;font-weight:400;margin:0 0 12px}.orientation-dialog #rotate-description{font-size:21px;line-height:1.3;color:#97afac;margin:0}.portrait-blocked,.portrait-blocked body{overflow:hidden;overscroll-behavior:none}@media(max-height:660px){.rotate-mole{width:min(63vw,260px);margin:0 0 8px}.rotate-phone{height:42px;margin-bottom:8px}.orientation-dialog{padding:16px}}.rotate-mole{align-self:flex-start;width:100vw;height:clamp(280px,49svh,430px);margin:0 0 18px -24px}.rotate-mole img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;object-position:left center}.rotate-mole p{position:absolute;top:6%;left:clamp(148px,43vw,290px);max-width:calc(100vw - 168px);margin:0;font-size:clamp(23px,6.7vw,30px);padding:12px 17px}.rotate-mole p:after{left:18px}.orientation-dialog:focus-visible{outline:none}@media(max-height:660px){.rotate-mole{height:clamp(245px,48svh,315px);width:100vw;margin:0 0 12px -16px}.rotate-mole p{font-size:24px;top:2%}}
