:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#070b13;color:#e4eaf1}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#172238 0%,#090f1b 45%,#070b13 80%)}main{width:min(1050px,96vw,calc((100svh - 120px)*1.4));padding:24px 0}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:13px;letter-spacing:2px}.page-header a{color:#e4eaf1;text-decoration:none;font-weight:800}.page-header a span{color:#c9aa62}.edition{font-size:10px;color:#718095;letter-spacing:2px}#stage-wrap{position:relative;width:100%;aspect-ratio:7/5;border:1px solid #344052;box-shadow:0 24px 100px #0009;overflow:hidden;background:#03060b}#stage{position:absolute;width:700px;height:500px;transform-origin:top left;overflow:hidden}canvas{display:block;touch-action:none}#game{position:absolute;inset:0;outline:none;width:700px;height:500px}button{font:inherit;border:1px solid #465263;background:#152134;color:#e4eaf1;cursor:pointer;padding:11px 20px;transition:background .15s,border-color .15s}button:hover{background:#24354f;border-color:#91a7c3}button:focus-visible{outline:2px solid #e8c776;outline-offset:2px}button:disabled{cursor:default;opacity:.45}button.primary{background:#d3b26c;color:#131923;border-color:#eacf90;font-weight:700}button.primary:hover{background:#f0cf88}.text-button{background:none;border-color:transparent;color:#9fb1c9;font-size:12px}.screen{position:absolute;inset:0;background:#070c17eF}.screen[hidden],#hud[hidden],.modal[hidden],[hidden]{display:none!important}#menu{background:linear-gradient(90deg,#061020eB 0%,#071020bd 36%,#07102012 80%),url('assets/bitmap-22.png') center center/cover}.menu-content{position:absolute;left:45px;top:66px;width:300px}.eyebrow{color:#acb8c8;font-size:9px;letter-spacing:2px;font-weight:bold}h1{font-size:48px;line-height:.97;letter-spacing:1px;margin:20px 0;font-weight:900;text-shadow:0 2px 18px #0009}h1 span{color:#e3c079}p{font-size:13px;line-height:1.65;color:#b5c3d4}.menu-content button{display:block;width:240px;margin-top:10px}.menu-footer{position:absolute;bottom:20px;left:45px;font-size:10px;color:#8c9bac;letter-spacing:.5px}#best{font-size:10px;color:#a4afbd;margin-top:12px}.missions-content{padding:45px 48px}h2{font-size:28px;margin:14px 0;color:#f2e3c3}#mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}#mission-grid button{padding:16px 12px;min-height:108px;text-align:left;position:relative}#mission-grid strong{display:block;color:#e3c079;font-size:28px;margin-bottom:10px}#mission-grid span{font-size:11px;line-height:1.5}#mission-grid small{position:absolute;right:10px;top:13px;color:#8193a8;font-size:10px}#hud{position:absolute;inset:0 auto 0 0;width:130px;padding:10px 5px;background:linear-gradient(90deg,#101825fa,#101a2beF);border-right:1px solid #3b4657;color:#cfdaea;font-size:10px}.hud-title{font-size:8px;letter-spacing:1px;color:#8698ad;margin:0 2px 10px}dl{margin:0 2px}dl div{display:flex;justify-content:space-between;margin:6px 0}dt{color:#9aaac0}dd{font-variant-numeric:tabular-nums;margin:0;color:#eee5d2}.hp-track{height:4px;background:#364456;margin:9px 2px 7px}#hp-fill{background:#93ba8c;height:100%;width:100%}#mode-label{font-size:9px;color:#dbbf85;margin:10px 2px 4px}#wave-label{font-size:8px;min-height:10px;color:#91a1b8;margin:0 2px}.weapons{margin-top:12px}.weapon{height:54px;margin-bottom:5px;padding:5px 4px;width:100%;display:flex;align-items:center;text-align:left;position:relative;background:#1b26357a;border-color:#3a4657}.weapon img{width:40px;height:42px;object-fit:contain}.weapon span{font-size:10px;margin-left:7px}.weapon small{display:block;color:#dcbf81;margin-top:5px;font-size:11px}.weapon kbd{position:absolute;left:3px;top:3px;font-size:7px;color:#8c9bb0;border:0;background:transparent;padding:0}.weapon.selected{border-color:#d1b470;background:#c5a65a26}.weapon.unaffordable{background:#713b3b59;border-color:#87504b}.weapon.unaffordable:hover{background:#87464675;border-color:#b66b60}.weapon.unaffordable small{color:#ee9a8f}.mini-label{display:flex;align-items:center;justify-content:space-between;font-size:7px;color:#8294aa;letter-spacing:.3px;margin:10px 0 4px}.mini-label button{padding:0 4px;border:0;background:none;font-size:15px;color:#d9bd81}#minimap{border:1px solid #455568;background:#060c16;width:120px;height:120px;cursor:crosshair;outline:none}.hud-actions{display:flex;gap:4px;margin:9px 0}.hud-actions button{padding:3px 0;width:27px;height:26px;font-size:14px;background:#1b2635}.hud-actions button.active{color:#e0c080}.modal{position:absolute;inset:0;background:#040a14aC;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.dialog{width:470px;max-height:470px;overflow:auto;background:#111d2cfA;border:1px solid #637187;padding:28px;box-shadow:0 20px 60px #0008}#modal-body{color:#bac8d8;font-size:12px;line-height:1.6}#modal-body p{font-size:12px;margin:8px 0}#modal-body b{color:#ecdbb7}#modal-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}#modal-actions button{font-size:12px;padding:10px 16px}#toast{position:absolute;bottom:22px;left:160px;max-width:500px;padding:10px 15px;font-size:12px;background:#162337f5;border:1px solid #9e844b;color:#efd597;pointer-events:none}footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#788a9f;margin-top:14px}kbd{background:#1a2433;border:1px solid #364254;border-radius:3px;padding:2px 4px;font:9px Arial}footer button{font-size:11px;padding:5px 0;border:0;background:none;color:#99aac0}main:fullscreen{width:100%;height:100%;padding:0;background:#070b13;display:flex;align-items:center;justify-content:center}main:fullscreen .page-header,main:fullscreen footer{display:none}main:fullscreen #stage-wrap{width:min(100vw,140vh);border:0}@media(max-width:600px){main{width:100vw;padding:12px 0}.page-header,footer{padding:0 12px}.page-header{font-size:11px}.edition{font-size:8px}footer{font-size:9px;gap:10px}footer span{line-height:1.9}#stage-wrap{border-left:0;border-right:0}}@media(prefers-reduced-motion:reduce){button{transition:none}}

#map-controls{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:4px;padding:4px;background:#101a2bf2;border:1px solid #455568;box-shadow:0 2px 12px #0005}#map-controls button{width:29px;height:27px;padding:0;font-size:18px;background:#1b2635}#zoom-level{width:42px;text-align:center;font-size:10px;color:#e3c079;font-variant-numeric:tabular-nums}#zoom-reset{margin-left:4px}

#hud .mini-label{position:absolute;left:5px;right:5px;bottom:175px;margin:0}#minimap{position:absolute;left:5px;bottom:50px}#hud .hud-actions{position:absolute;left:5px;right:5px;bottom:10px;margin:0}
#hud .hud-title{margin-bottom:8px}#hud dl div{margin:4px 0}#hud .weapons{position:absolute;left:5px;right:5px;top:150px;margin:0}#hud .weapon{height:48px;margin-bottom:4px}

#mission-progress{position:absolute;right:12px;top:12px;width:158px;padding:7px 9px;background:#101a2bf2;border:1px solid #8e7850;box-shadow:0 3px 14px #0006;pointer-events:none}.progress-heading{display:flex;align-items:center;justify-content:space-between;color:#c3b594;font-size:8px;letter-spacing:.4px}#progress-percent{font-size:10px;color:#efcc84}#progress-wave{display:block;margin-top:4px;font-size:12px;line-height:1.2;color:#f1dfbc}#mission-bar{height:4px;margin-top:5px;background:#324052;overflow:hidden}#mission-fill{height:100%;width:0;background:#dcba70;transition:width .2s linear}#progress-countdown{margin-top:4px;font-size:9px;color:#b7c6d9}

.mini-key{display:inline-flex;align-items:center;gap:3px;letter-spacing:0}.mini-key::before{content:"";width:5px;height:5px;border-radius:50%;background:#ff784f}.mini-key.turrets::before{background:#55ff8d}
