:root{color-scheme:dark;--bg:#10181e;--panel:#151f27;--border:#2b3840;--text:#e5ebec;--muted:#89999f;--lime:#c5f277;--cyan:#66d6e8;--orange:#ed9673;--font:'Noto Sans SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.65 var(--font)}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button{color:var(--text)}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.shell{max-width:1800px;margin:auto;padding:0 30px}.masthead{height:101px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:20px}.brand{display:flex;gap:13px;align-items:center}.brand>svg{width:42px;height:42px;fill:none;stroke:var(--lime);stroke-width:1.7}.brand>span{font-size:23px;font-weight:700;letter-spacing:3px}.brand small{display:block;color:var(--muted);font:11px/1.5 'Bahnschrift Condensed','Arial Narrow',sans-serif;letter-spacing:2px;margin-top:3px}.header-status{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;letter-spacing:1px}.signal{width:6px;height:6px;background:var(--lime);box-shadow:0 0 12px #c5f25565}.muted{color:#546570}.header-actions{display:flex;gap:7px}.icon-button,.small-button{background:transparent;border:1px solid var(--border);border-radius:5px;height:34px;min-width:35px;padding:0 10px;font-size:17px}.icon-button:hover,.small-button:hover{background:#27343d;border-color:#647782}.small-button{font-size:13px}.command-grid{display:grid;grid-template-columns:184px minmax(0,1fr) 218px;gap:25px;padding-top:26px}.left-panel,.right-panel{padding-top:6px}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#b3c1c6;letter-spacing:1px;margin-bottom:15px}.section-label>span{font:11px 'Bahnschrift Condensed','Arial Narrow',sans-serif;color:#71838b;letter-spacing:1px}.division{height:1px;background:var(--border);margin:24px 0}.level-list{display:flex;flex-direction:column;gap:5px}.level-button{display:flex;align-items:center;text-align:left;gap:12px;border:1px solid transparent;background:transparent;border-radius:5px;padding:12px 10px;position:relative}.level-button .number{font:21px 'Bahnschrift Condensed','Arial Narrow',sans-serif;color:#657983;width:24px}.level-button .level-text{font-size:14px;font-weight:500}.level-button small{display:block;font:10px 'Bahnschrift Condensed','Arial Narrow',sans-serif;letter-spacing:1px;color:#768993;margin-top:3px}.level-button.active{background:#c5f2770c;border-color:#c5f2775b}.level-button.active .number,.level-button.active .level-text{color:var(--lime)}.level-button .level-mark{margin-left:auto;color:var(--lime);font-size:12px}.level-button:disabled{opacity:.42}.build-list{display:flex;flex-direction:column;gap:9px}.build-card{border:1px solid var(--border);background:#17232c;border-radius:5px;display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:11px 9px;text-align:left;min-height:74px}.build-card.active{border-color:var(--lime);background:#c5f27712}.build-card:hover{background:#22313a}.build-icon{width:39px;height:42px;display:flex;align-items:center;justify-content:center}.build-icon svg{width:39px;height:39px;stroke:currentColor;fill:none;stroke-width:1.6}.build-card strong{font-size:13px;display:block}.build-card small{font-size:10px;color:var(--muted);display:block;white-space:nowrap}.build-card .price{font:17px 'Bahnschrift Condensed','Arial Narrow',sans-serif;color:var(--lime)}.build-card .price small{font-size:10px;text-align:right}.tip-card{display:flex;gap:10px;margin-top:23px;color:var(--muted);font-size:11px;line-height:1.8}.tip-card p{margin:0}.tip-card strong{font-weight:500;color:#b9c8ce;font-size:11px}.tip-icon{font:26px 'Barlow Condensed';color:var(--cyan)}.mission-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.eyebrow{font:11px 'Bahnschrift Condensed','Arial Narrow',sans-serif;letter-spacing:1.8px;color:var(--muted)}h1{font-size:24px;font-weight:600;letter-spacing:2px;margin:3px 0 0;line-height:1.4}.mission-tags{display:flex;gap:8px}.mission-tags span{border:1px solid var(--border);color:var(--muted);font-size:10px;padding:4px 8px;border-radius:3px}.resource-bar{display:flex;gap:0;border:1px solid var(--border);border-bottom:0;background:#18242c;min-height:51px;border-radius:6px 6px 0 0;padding:0 17px;align-items:center}.resource-bar>div{display:flex;gap:9px;align-items:center;flex:1;color:var(--muted);font-size:11px}.resource-bar>div+div{border-left:1px solid var(--border);padding-left:18px}.resource-bar strong{font:22px 'Bahnschrift Condensed','Arial Narrow',sans-serif;color:var(--text)}.resource-icon{color:var(--lime);font-size:20px}.core-icon{color:var(--orange)}.energy-icon{color:var(--cyan)}.mini-meter{width:44px;height:4px;background:#35434b;overflow:hidden;border-radius:1px}.mini-meter i{display:block;height:100%;width:100%;background:var(--orange)}.battlefield{position:relative;background:#121e26;border:1px solid var(--border);overflow:hidden;aspect-ratio:5/3}.battlefield canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.map-coordinate{position:absolute;pointer-events:none;font:10px 'Bahnschrift Condensed','Arial Narrow',sans-serif;letter-spacing:1.5px;color:#6e838e}.coord-top{top:14px;left:18px}.coord-bottom{bottom:13px;left:18px;display:flex;align-items:center;gap:9px}.ground-key{width:15px;height:2px;background:#8a9b9c;margin-right:10px}.air-key{width:15px;height:0;border-top:2px dashed #5596a5}.wave-notice{position:absolute;top:15px;right:18px;font:11px 'Bahnschrift Condensed','Arial Narrow',sans-serif;letter-spacing:1px;color:var(--lime)}.wave-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-top:0;border-radius:0 0 6px 6px;background:#18242c;padding:14px 17px;gap:12px}.wave-readout{display:flex;gap:13px;align-items:center}.wave-readout .eyebrow{font-family:var(--font);font-size:11px;letter-spacing:0}.wave-readout strong{font:18px 'Bahnschrift Condensed','Arial Narrow',sans-serif;white-space:nowrap}.wave-dots{display:flex;gap:4px}.wave-dots i{width:16px;height:4px;background:#384750}.wave-dots i.complete{background:var(--lime)}.wave-dots i.current{background:var(--orange)}.wave-actions{display:flex;gap:9px}.primary-button{background:var(--lime);color:#182019;border:1px solid var(--lime);border-radius:4px;padding:9px 18px;font-size:13px;font-weight:600;min-height:40px}.primary-button:hover{background:#d7ff96}.gravity-button{background:#65d6e810;border:1px solid #65d6e84f;color:var(--cyan);padding:8px 12px;border-radius:4px;white-space:nowrap;font-size:12px}.gravity-button:hover{background:#65d6e820}.gravity-button>span{font-size:20px;margin-right:5px;line-height:1}.gravity-button kbd{color:#65d6e8;border-color:#65d6e84f;margin-left:8px}kbd{font:10px var(--font);color:#899ca6;border:1px solid #3c4c55;background:#1c2931;border-radius:3px;min-width:19px;display:inline-block;padding:0 4px;text-align:center;line-height:19px}.controls-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:15px;font-size:10px;color:#7c929b}.controls-strip span{display:flex;gap:4px;align-items:center}.objective{display:flex;gap:11px}.objective-marker{width:7px;height:7px;border:1px solid var(--lime);transform:rotate(45deg);flex-shrink:0;margin-top:7px}.objective strong{font-size:14px;font-weight:500}.objective p{font-size:11px;line-height:1.9;color:var(--muted);margin:6px 0 0}.intel{margin-top:20px;font-size:11px;color:var(--muted)}.intel>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.intel-tag{font-size:10px;border:1px solid #3b4244;color:#c4aaa0;padding:3px 6px;border-radius:3px}.selection-panel{min-height:177px}.selection-empty{text-align:center;color:#738a95;font-size:11px;padding:13px 0 0}.selection-empty svg{width:46px;stroke:#425965;fill:none;stroke-width:1.2}.selection-empty p{margin:10px 0 0;line-height:1.9}.selected-title{display:flex;align-items:center;justify-content:space-between}.selected-title strong{font-size:16px}.selected-title span{color:var(--lime);font:16px 'Bahnschrift Condensed','Arial Narrow',sans-serif}.tower-description{color:var(--muted);font-size:11px;line-height:1.8;margin:9px 0}.tower-stats{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#889da7;margin:13px 0}.tower-stats b{color:#d6e2e6;font-weight:500;display:block;font:18px 'Bahnschrift Condensed','Arial Narrow',sans-serif}.selection-actions{display:grid;gap:7px}.outline-button{border:1px solid #536149;background:#c5f27708;border-radius:4px;color:var(--lime);font-size:12px;min-height:35px;padding:7px 10px;text-align:center;display:flex;justify-content:center;align-items:center;gap:10px;width:100%}.outline-button:hover{background:#c5f2771b}.secondary-button{border:1px solid var(--border);background:#1c2a33;border-radius:4px;padding:7px 10px;font-size:12px;color:#afc2cc}.secondary-button:hover{background:#293a44}.text-button{border:0;background:none;color:var(--muted);font-size:11px;padding:3px}.pilot-card{display:flex;gap:12px;align-items:center}.pilot-portrait{width:51px;height:60px;background:#22323b;border:1px solid #3a535e;border-radius:4px;overflow:hidden;flex-shrink:0}.pilot-portrait svg{width:100%;height:100%;fill:#2e424b;stroke:#9bb5b8;stroke-width:1.4}.pilot-portrait svg path:nth-child(2){stroke:var(--lime);fill:#c5f27720}.pilot-card strong{font-size:15px;font-weight:600;display:block}.pilot-card span{display:block;font-size:10px;color:var(--muted);margin:3px 0 7px}.pilot-xp{width:115px;height:3px;background:#37434a}.pilot-xp i{display:block;height:100%;width:0;background:var(--lime)}.mech-status{display:flex;flex-direction:column;margin:13px 0 14px;gap:4px;font-size:11px}.mech-status span{color:var(--lime)}.mech-status small{font-size:10px;color:var(--muted)}.mission-footer{border-top:1px solid var(--border);margin-top:23px;padding-top:17px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px}.mission-footer strong{font:19px 'Bahnschrift Condensed','Arial Narrow',sans-serif;color:var(--text)}.mission-footer small{font:10px var(--font);color:var(--muted)}.mission-footer>span:last-child{margin-left:auto}.page-footer{border-top:1px solid var(--border);margin-top:28px;padding:15px 0;display:flex;justify-content:space-between;color:#607883;font-size:10px;letter-spacing:1px}.intro-overlay,.result-overlay,.pause-overlay{position:absolute;inset:0;background:#0a131bca;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:4}.intro-card,.result-card{max-width:430px;padding:28px;text-align:center}.intro-card h2{font-size:27px;letter-spacing:1px;line-height:1.5;margin:14px 0}.intro-card p,.result-card p{color:#a0b1b9;font-size:13px;line-height:1.9}.intro-steps{display:flex;gap:16px;justify-content:center;margin:24px 0;font-size:11px;color:#a8bbc5}.intro-steps b{display:block;font:23px 'Bahnschrift Condensed','Arial Narrow',sans-serif;color:var(--lime);margin-bottom:3px}.intro-card .primary-button{min-width:176px}.intro-card>small{display:block;margin-top:16px;font-size:10px;color:#78909b}.toast{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);border:1px solid #607a7e;background:#13232bed;color:#d2e6e8;padding:8px 16px;border-radius:4px;font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap;z-index:7}.toast.show{opacity:1}.pause-overlay{flex-direction:column;gap:20px}.pause-overlay>span{font-size:26px;letter-spacing:6px}.boss-hud{position:absolute;left:22%;right:22%;top:16px}.boss-hud>div:first-child{display:flex;gap:10px;align-items:center;font-size:10px;color:#dfac95}.boss-hud strong{font-size:13px;color:#f1c8b1}.boss-hud #boss-phase{margin-left:auto}.boss-meter{height:5px;background:#3e3432;margin-top:7px}.boss-meter i{height:100%;background:var(--orange);display:block;width:100%;transition:width .1s}.result-card .result-icon{font:55px 'Barlow Condensed';color:var(--lime)}.result-card h2{font-size:29px;letter-spacing:3px;margin:3px 0 10px}.result-stats{display:flex;justify-content:center;gap:30px;margin:22px 0;color:var(--muted);font-size:11px}.result-stats b{display:block;font:28px 'Barlow Condensed';color:var(--text)}.result-buttons{display:flex;justify-content:center;gap:10px}dialog{color:var(--text);border:1px solid #48616b;border-radius:8px;background:#15242e;padding:27px;width:min(650px,calc(100vw - 28px));max-height:85svh;overflow-y:auto;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#061018c9;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:23px;margin:12px 0 18px;letter-spacing:1px}.manual p{color:#a1b5bf;font-size:13px;line-height:1.9;margin:0 0 15px}.manual b{display:block;color:var(--lime);margin-bottom:4px;font-weight:500}.hangar-heading{display:flex;align-items:center;justify-content:space-between}.hangar-heading>span{color:var(--muted);font-size:12px}.hangar-heading strong{color:var(--lime);font:25px 'Barlow Condensed';margin-left:8px}.dialog-note{font-size:12px;color:var(--muted)}.hangar-pilots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.hangar-pilot{border:1px solid var(--border);border-radius:5px;padding:14px;background:#1a2d38}.hangar-pilot.active{border-color:var(--lime)}.hangar-pilot strong{display:block;font-size:16px}.hangar-pilot p{font-size:11px;line-height:1.8;color:var(--muted);min-height:40px}.hangar-pilot .secondary-button{width:100%;font-size:11px}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.module-card{border:1px solid var(--border);border-radius:5px;padding:14px}.module-card.equipped{border-color:#66d6e87a}.module-card strong{font-size:13px}.module-card p{font-size:11px;color:var(--muted);min-height:35px;margin:8px 0 13px}.module-card .secondary-button{width:100%;font-size:11px}.loadout-label{color:var(--cyan);font-size:12px;margin-bottom:11px}.touch-controls{margin-top:14px;display:flex;gap:12px;align-items:center}.touch-controls button{background:#253842;border:1px solid #48616b;border-radius:5px;min-width:48px;min-height:44px;touch-action:none}.dpad{display:grid;grid-template-columns:repeat(3,42px);gap:4px}.dpad button{min-width:42px;min-height:36px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.touch-controls>button{flex:1}@media(min-width:1550px){.command-grid{grid-template-columns:210px minmax(0,1fr) 240px;gap:30px}.left-panel,.right-panel{font-size:15px}.build-card strong{font-size:14px}.mission-top{margin-bottom:25px}h1{font-size:28px}.masthead{height:112px}}@media(max-width:1190px){.shell{padding:0 18px}.command-grid{grid-template-columns:158px minmax(0,1fr) 187px;gap:15px}.header-status{font-size:10px}.build-card{grid-template-columns:32px 1fr;gap:7px}.build-icon{width:32px}.build-card .price{grid-column:2;font-size:14px;display:flex;gap:4px}.build-card .price small{display:none}.build-card strong{font-size:12px}.build-card small{font-size:9px}.resource-bar{padding:0 10px}.resource-bar>div{gap:5px;font-size:9px}.resource-bar>div+div{padding-left:9px}.mini-meter{display:none}.mission-tags span:first-child{display:none}.wave-dots{display:none}.wave-readout .eyebrow{display:none}.wave-bar{padding:11px 10px}.wave-actions{gap:6px}.primary-button{padding:8px 12px;font-size:12px}.gravity-button{padding:7px 8px;font-size:11px}.gravity-button kbd{display:none}.intro-card{padding:20px}.intro-card h2{font-size:23px}.intro-steps{margin:14px 0}.objective p{font-size:10px}.mission-footer{flex-wrap:wrap}.mission-footer>span:last-child{margin-left:0}.controls-strip{justify-content:flex-start;gap:8px 13px}.pilot-xp{width:90px}}@media(max-width:960px){.command-grid{grid-template-columns:155px minmax(0,1fr)}.right-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:15px 25px;border-top:1px solid var(--border);padding-top:20px}.right-panel>.section-label,.right-panel>.division,.right-panel>.intel,.mission-footer{display:none}.objective{grid-column:1;grid-row:1}.selection-panel{grid-column:2;grid-row:1/3;min-height:0}.selection-empty{padding:0}.pilot-card{grid-column:3;grid-row:1}.mech-status{grid-column:3;grid-row:2;margin:0}#hangar-button{grid-column:1;grid-row:2}.header-status{display:none}.battlefield{min-height:270px}.intro-card h2{font-size:22px}.intro-card>small{margin-top:10px}.intro-card p{font-size:12px}}@media(max-width:640px){.shell{padding:0 12px}.masthead{height:78px;gap:8px}.brand{gap:8px}.brand>svg{width:32px}.brand>span{font-size:20px;letter-spacing:2px}.brand small{font-size:8px;letter-spacing:1.2px}.header-actions{gap:4px}.icon-button,.small-button{height:30px;min-width:29px;padding:0 6px}.command-grid{display:flex;flex-direction:column;gap:13px;padding-top:15px}.left-panel{display:contents}.left-panel>.section-label,.left-panel>.division,.tip-card{display:none}.level-list{flex-direction:row;order:0;gap:5px}.level-button{flex:1;padding:7px 0;justify-content:center;gap:4px}.level-button .number{font-size:19px;width:auto}.level-button .level-text{display:none}.level-button .level-mark{margin:0}.build-list{order:2;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.build-card{grid-template-columns:30px 1fr;padding:8px 6px;min-height:65px}.build-card .price{margin-top:-5px}.build-card small{font-size:9px}.battle-section{order:1}.mission-top{margin-bottom:12px}h1{font-size:21px}.mission-tags span{font-size:9px}.resource-bar{min-height:43px}.resource-bar strong{font-size:19px}.resource-bar>div{font-size:9px;gap:4px}.resource-icon{font-size:16px}.battlefield{aspect-ratio:5/3;min-height:245px}.intro-card{padding:17px 22px}.intro-card h2{font-size:21px;margin:8px 0}.intro-card .eyebrow{font-size:9px}.intro-card p{font-size:11px;margin:8px 0}.intro-steps{gap:15px;margin:10px 0}.intro-steps b{font-size:17px}.intro-card>small{display:none}.intro-card .primary-button{min-height:35px}.coord-top{font-size:8px;top:10px;left:10px}.coord-bottom{font-size:8px;left:10px;bottom:8px}.wave-notice{font-size:9px;right:10px;top:10px}.controls-strip{display:none}.right-panel{order:3;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:13px}.objective{grid-column:1;grid-row:1}.pilot-card{grid-column:2;grid-row:1}.selection-panel{grid-column:1;grid-row:2/4}.mech-status{grid-column:2;grid-row:2}#hangar-button{grid-column:2;grid-row:3;align-self:start}.page-footer{margin-top:20px;font-size:8px;gap:10px}.page-footer>span:last-child{display:none}.toast{font-size:10px;max-width:90%;white-space:normal;text-align:center;padding:6px 10px;bottom:30px}.boss-hud{left:17%;right:17%;top:10px}.boss-hud strong{font-size:10px}.boss-hud #boss-phase{font-size:8px}.hangar-pilots{grid-template-columns:1fr}.hangar-pilot{display:grid;grid-template-columns:1fr auto;gap:7px}.hangar-pilot p{margin:0;min-height:0;grid-column:1}.hangar-pilot button{grid-column:2;grid-row:1/3;align-self:center}.module-grid{gap:7px}.module-card{padding:10px}.result-card{padding:15px}.result-card h2{font-size:23px}.result-stats{margin:14px 0;gap:20px}.result-stats b{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:961px){.masthead{height:86px}.command-grid{padding-top:20px}.mission-top{margin-bottom:12px}.battlefield{max-height:max(300px,calc(100svh - 300px))}}

@media(min-width:641px){.level-button{padding:7px 8px}.level-button .number{font-size:19px}.level-button .level-text{font-size:13px}.level-button small{font-size:9px}.level-list{gap:4px}.left-panel .division{margin:16px 0}.left-panel .tip-card{display:none}.build-card{min-height:68px;padding:9px 8px}}

.battle-section{min-width:0;width:100%}.battlefield{width:100%;min-width:0}

@media(min-width:641px){.level-button{height:46px;line-height:1.25;padding:5px 8px}.level-button .level-text{line-height:1.25}.level-button small{line-height:1.2}.left-panel .section-label{margin-bottom:12px}.build-list{gap:7px}}
