:root{--bg:#101514;--panel:#18201d;--line:#303b34;--muted:#95a399;--yellow:#ffe14a;--text:#f1f4e9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px Manrope,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}header{max-width:1480px;margin:auto;height:94px;display:flex;align-items:center;padding:0 42px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text);font-size:13px;font-weight:800;letter-spacing:1px}.brand-mark{background:var(--yellow);color:#141813;padding:7px 12px;font-size:25px;border-radius:12px;position:relative}.brand-mark span{font-size:13px;margin-left:2px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:2px;margin-top:5px}.live{margin-left:auto;color:#a4b1a5;font-size:10px;letter-spacing:1.4px}.live i,.status i,.map-label i{display:inline-block;background:#9bd484;width:6px;height:6px;border-radius:50%;margin-right:8px}.icon{width:35px;height:35px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:50%;font-size:17px}.icon.active{background:var(--yellow);color:#111}main{max-width:1480px;margin:auto;padding:34px 42px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--muted);font-weight:700}h1{font-family:Unbounded,Arial,sans-serif;font-size:clamp(24px,2.7vw,40px);letter-spacing:-1.8px;font-weight:500;margin:13px 0}h1 em{font-style:normal;color:var(--yellow)}.sub{color:var(--muted);margin:0;font-size:12px}.mission{border-left:1px solid var(--line);padding:10px 0 10px 24px}.mission span,.mission small{display:block;color:var(--muted);font-size:10px}.mission b{display:block;font-size:14px;margin:7px 0}.game-shell{border:1px solid #39443b;border-radius:17px;overflow:hidden;background:var(--panel);box-shadow:0 20px 80px #0003}.hud{display:flex;gap:50px;padding:20px 25px;align-items:center;border-bottom:1px solid var(--line)}.hud>div>span{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.hud b{display:block;font-size:25px;line-height:1.3;letter-spacing:-.7px;font-weight:700}.hud b span{font-size:13px;color:var(--muted);margin-left:3px}.hud .icon{margin-left:auto}.hp-track{height:3px;background:#354437;margin-top:3px;min-width:103px}.hp-track i{display:block;height:100%;width:100%;background:var(--yellow)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 256px}.field-wrap{position:relative;background:#18221d;min-width:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}canvas{display:block;width:100%;height:auto;touch-action:manipulation;aspect-ratio:1000/580}.map-label{position:absolute;top:18px;left:20px;font-size:9px;letter-spacing:1.2px;color:#cad4c4}.map-label span{color:#697c6d;margin-left:13px}.map-legend{display:flex;justify-content:space-between;gap:8px;padding:13px 20px;font-size:9px;color:#91a18f;border-top:1px solid #293b2d}.map-legend i{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:5px}.yellow{background:var(--yellow)}.red{background:#ff826b}aside{padding:20px 17px;background:#1b221e;border-left:1px solid var(--line)}.aside-title{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;color:var(--muted);margin-bottom:15px}.tower-card{display:flex;text-align:left;gap:10px;width:100%;padding:12px 10px;margin-bottom:8px;color:var(--text);border:1px solid #364136;background:#252d25;border-radius:10px;align-items:center}.tower-card.selected{border-color:var(--yellow);background:#343727;box-shadow:inset 3px 0 var(--yellow)}.tower-symbol{font-size:25px;min-width:30px;text-align:center}.tower-card b{font-size:11px}.tower-card small{display:block;font-size:8px;color:#a9b4a2;margin-top:4px}.price{font-size:12px;margin-left:auto;color:var(--yellow);white-space:nowrap}.price small{font-size:8px;color:#92a08e;text-align:right}.selection{border-top:1px solid var(--line);margin-top:19px;padding-top:14px;min-height:117px}.selection h3{font-size:13px;margin:7px 0}.selection p{font-size:10px;line-height:1.7;color:var(--muted);margin:0 0 8px}.selection button{border:1px solid #526146;background:#303b2d;color:var(--text);padding:7px;border-radius:5px;font-size:10px;margin-right:4px}.emp{border:1px solid #575d3f;background:#363a27;color:#e9eabc;border-radius:9px;padding:12px;width:100%;text-align:left;margin-top:13px}.emp span{font-size:11px;font-weight:700}.emp small{display:block;margin-top:4px;font-size:8px;color:#aaa987}.controlbar{border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;justify-content:space-between;padding:16px 20px}.status{font-size:10px;color:#b3bda9;max-width:50%;line-height:1.5}.controls{display:flex;align-items:center;gap:7px}.ghost{border:1px solid #3a4639;border-radius:7px;background:transparent;color:#b3bda9;padding:11px 12px;font-size:11px}.primary{border:0;border-radius:7px;background:var(--yellow);color:#1b2117;padding:12px 20px;font-weight:800;font-size:12px}.primary span{margin-left:16px}.below{display:flex;justify-content:space-between;align-items:center;padding:22px 3px}.below p{font-size:10px;color:var(--muted);margin:8px 0}.text-button{background:none;border:0;color:var(--muted);font-size:10px}.pad-buttons{padding:0 0 20px}.pad-buttons button{padding:10px;margin:3px;background:#253426;color:#fff;border:1px solid #506047;border-radius:6px}footer{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);padding:20px 0;color:#73816f;font-size:8px;letter-spacing:.8px}footer p{margin:auto;font-size:9px;letter-spacing:0}.overlay{position:absolute;inset:0;background:#101b16db;backdrop-filter:blur(6px);align-items:center;justify-content:center;text-align:center;z-index:4;padding:25px}.overlay:not([hidden]){display:flex}.overlay p{font-size:12px;color:#b5c0ac}.overlay h2{font-family:Unbounded,Arial,sans-serif;font-size:30px;color:var(--yellow)}dialog{max-width:490px;width:calc(100% - 30px);border:1px solid #536146;border-radius:18px;padding:30px;background:#1c281e;color:var(--text);line-height:1.7}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog p,dialog li{font-size:13px;color:#b8c5af}dialog li{margin:10px 0}dialog h2{font-size:23px}.close{float:right}[hidden]{display:none!important}
@media(min-width:1550px){main{padding-top:50px}.intro{margin-bottom:35px}}
@media(max-width:1050px){.hud{gap:27px}.workspace{grid-template-columns:minmax(0,1fr) 222px}.mission{display:none}main{padding:24px 22px 0}header{padding:0 22px;height:76px}.hide-mobile{display:none}.tower-card{padding:10px 6px;gap:5px}.tower-symbol{font-size:21px}.tower-card b{font-size:10px}.selection{min-height:100px}.selection p{font-size:9px}}
@media(max-width:760px){header{height:68px;padding:0 16px}.brand{font-size:10px}.brand small{font-size:7px}.live{display:none}header .icon{margin-left:auto}main{padding:23px 12px 0}.intro{margin-bottom:23px}h1{font-size:26px;line-height:1.35;letter-spacing:-1px;max-width:340px}.eyebrow{font-size:8px}.sub{font-size:10px;max-width:290px;line-height:1.7}.hud{gap:0;justify-content:space-between;padding:13px 12px}.hud>div>span{font-size:7px;letter-spacing:.5px}.hud b{font-size:20px}.hud b span{font-size:10px}.hp-track{min-width:67px}.hud .icon{margin-left:0;width:27px;height:27px}.score-box{display:none}.workspace{display:flex;flex-direction:column}.map-label{top:12px;left:12px;font-size:7px}.map-label span{font-size:6px}.map-legend{padding:9px 12px;font-size:8px}aside{border-left:0;border-top:1px solid var(--line);padding:13px 12px}.aside-title{margin-bottom:9px;font-size:8px}#towerCards{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tower-card{margin:0;display:block;text-align:center;padding:9px 3px;position:relative}.tower-symbol{font-size:24px;display:block;margin-bottom:3px}.tower-card b{font-size:9px}.tower-card small{font-size:7px;line-height:1.4}.tower-card .price{display:block;margin-top:6px;font-size:11px}.price small{display:inline;margin-left:3px;font-size:7px}.selection{margin-top:12px;padding-top:10px;min-height:0}.selection h3{display:inline;margin-right:8px;font-size:11px}.selection>.eyebrow{display:none}.selection p{font-size:9px;line-height:1.5;margin:5px 0}.emp{margin-top:7px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:4px}.emp span{font-size:10px}.emp small{font-size:7px;margin:0}.controlbar{flex-direction:column;align-items:stretch;padding:11px 12px}.status{max-width:none;min-height:15px;font-size:9px}.controls{justify-content:stretch}.controls .primary{flex:1}.ghost{padding:11px 10px}.primary{padding:12px;font-size:11px}.below{align-items:start;gap:10px;padding:17px 3px}.below p{font-size:9px;line-height:1.6;max-width:235px}.text-button{font-size:8px;max-width:100px;line-height:1.6}footer{flex-wrap:wrap;padding:16px 0;gap:10px;font-size:7px}footer p{order:3;margin:0;width:100%;font-size:8px}footer>span:last-child{margin-left:auto;font-size:6px}.overlay h2{font-size:23px}.overlay p{font-size:10px}.overlay .primary{padding:10px 17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
/* Revision 02: equipment catalogue and wave intelligence. */
.workspace{grid-template-columns:minmax(0,1fr) 285px;align-items:stretch}.field-wrap{justify-content:center}.unit-thumb{width:55px;height:45px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 3px #0008)}.tower-card{padding:8px;gap:7px;min-height:62px}.unit-name{flex:1}.tower-card b{font-size:11px}.tower-card small{line-height:1.45}.tower-card.locked{opacity:.58}.tower-card.locked.selected{opacity:1}.price .unlock{color:#d3bd79;font-size:7px}.selection{margin-top:12px;min-height:0}.wave-intel{display:flex;align-items:center;gap:24px;padding:14px 23px;border-bottom:1px solid #3a4539;background:#20291f}.wave-intel b{display:block;margin-top:5px;font-size:12px}.wave-intel p{font-size:10px;color:#b2bfaa;line-height:1.6;margin:0 0 0 auto;max-width:360px}.enemy-counts{display:flex;gap:12px;font-size:10px;white-space:nowrap;color:#e0c7ad}.map-label{top:15px}.controlbar .status{min-height:30px}.tower-card .price{min-width:39px}#sound{transition:background .15s}#sound.active{box-shadow:0 0 15px #ffe14a30}
@media(max-width:1150px) and (min-width:761px){.workspace{grid-template-columns:minmax(0,1fr) 250px}.unit-thumb{width:43px}.wave-intel{gap:16px}.enemy-counts{flex-direction:column;gap:3px}.wave-intel p{max-width:280px}.tower-card b{font-size:10px}}
@media(max-width:760px){.workspace{display:flex}.field-wrap{min-height:0}.wave-intel{padding:11px 12px;gap:10px;flex-wrap:wrap}.wave-intel>div:first-child{flex:1}.wave-intel b{font-size:11px}.enemy-counts{font-size:8px;gap:7px}.wave-intel p{width:100%;max-width:none;margin:0;font-size:9px}.unit-thumb{width:55px;height:42px;display:block;margin:0 auto}.tower-card{min-height:110px;padding:7px 4px}.tower-card .price{margin-top:5px}.tower-card .unlock{display:block;margin:2px 0 0}.tower-card small{font-size:8px}.unit-name small{min-height:24px}.tower-card b{font-size:10px}#towerCards{grid-template-columns:repeat(4,minmax(0,1fr))}.selection{min-height:65px}.field-wrap canvas{min-height:0}.map-label{top:7px}.map-label span{display:none}}
@media(max-width:420px){#towerCards{grid-template-columns:repeat(3,minmax(0,1fr))}.tower-card{min-height:115px}.enemy-counts{gap:5px}.hud b{font-size:18px}}

/* Revision 03: a readable combat cockpit, with bounded optional motion. */
.hud{gap:clamp(20px,3.6vw,50px)}.hud-options{margin-left:auto;display:flex;gap:8px}.hud-options .icon{margin-left:0!important;flex-shrink:0}.hud-options #motion{font-size:17px}.field-column{min-width:0;display:flex;flex-direction:column;background:#17221b}.field-column .field-wrap{flex:1}.wave-intel{min-width:0}.wave-intel>div{min-width:0}.wave-intel .enemy-counts{flex-wrap:wrap;max-width:330px;row-gap:6px}.boss-count{color:#dcafff}.combat-notice{position:absolute;top:45px;left:50%;transform:translateX(-50%);max-width:88%;padding:9px 17px;border:1px solid #75928180;border-radius:6px;background:#152a21ed;color:#d5f3d5;text-align:center;font-size:10px;letter-spacing:.7px;line-height:1.5;z-index:2;pointer-events:none;box-shadow:0 4px 20px #0004}.combat-notice.danger{background:#302524ee;border-color:#e4a97980;color:#ffdab4}.map-label,.map-legend{pointer-events:none}.combat-dock{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,1.65fr);gap:20px;padding:17px 19px;background:linear-gradient(100deg,#212c22,#19251d);border-top:1px solid #3c4937;min-width:0}.charge-panel{min-width:0}.charge-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.charge-heading>span{font-size:8px;letter-spacing:1.2px;color:#a6b39a}.charge-heading b{font-size:22px;color:#dbdfa9;line-height:1.2}.charge-heading b span{font-size:10px;margin-left:2px;color:#a6b39a}.charge-track{height:7px;border:1px solid #49553f;background:#121e16;border-radius:3px;overflow:hidden;margin:7px 0 9px}.charge-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#92ba69,#ffe14a);transition:width .14s linear}.charged .charge-track{box-shadow:0 0 14px #ffe14a38;border-color:#ffe14a}.charged .charge-heading b{color:#ffe14a}.combo-line{display:flex;gap:8px;align-items:center;justify-content:space-between}.combo-line b{color:#98a48d;font-size:10px;white-space:nowrap}.combo-line .combo-hot{color:#ffe14a}.combo-line span{font-size:8px;color:#a5b29c;text-align:right;line-height:1.4}.combo-track{height:2px;margin-top:5px;background:#33402e}.combo-track i{display:block;width:0;height:100%;background:#d0cc86}.ability-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:stretch}.ability{position:relative;border:1px solid #56604b;background:#283327;border-radius:8px;padding:9px 8px;color:#d1d8bf;min-height:82px;text-align:left;overflow:hidden}.ability:disabled{opacity:.55}.ability-icon{font-size:23px;color:#a8b388;display:block;line-height:1;height:25px}.ability b{font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:5px;margin:4px 0}.ability small{font-size:8px;line-height:1.45;color:#b6c1a9;display:block}.ability kbd{font:8px Arial,sans-serif;border:1px solid #76836785;border-radius:3px;padding:2px 4px;color:#ced5ba}.ability.ready{border-color:#e8d65d;background:#3b3d25;color:#fff1a3;box-shadow:inset 0 0 0 1px #ffe14a16}.ability.ready .ability-icon{color:#ffe14a}.ability.active{opacity:1;border-color:#85dbc4;background:#233a30;color:#b0f2d9}.ability.active .ability-icon{color:#96efd6}.ability.active small{color:#b2d4bf}.ability:not(:disabled):hover,.upgrade-card:hover{filter:brightness(1.12)}.early-wave{border:1px solid #b99860;background:#3d3524;color:#ffe4aa;border-radius:7px;padding:8px 12px;white-space:nowrap;text-align:left}.early-wave b{display:block;font-size:11px}.early-wave small{display:block;font-size:8px;color:#cfba91;margin-top:4px}.early-wave:disabled{opacity:.5}.running-label{font-size:10px;padding-inline:13px;background:#2b392b;color:#a6b391}.controls{flex-wrap:wrap;justify-content:flex-end}.controls button{min-height:42px}.controlbar .status{max-width:43%}.upgrade-panel{padding:22px;background:linear-gradient(120deg,#343928,#242f23);border-bottom:1px solid #717143}.upgrade-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.upgrade-heading h2{font-size:19px;font-weight:500;letter-spacing:-.4px;margin:7px 0 0;color:#f4eab9}.upgrade-heading>span{font-size:10px;color:#d3cf9b;white-space:nowrap}.upgrade-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.upgrade-card{display:flex;flex-direction:column;position:relative;min-height:144px;text-align:left;padding:15px 17px 14px;color:#f1f1d7;border:1px solid #7b7e51;border-radius:10px;background:#202b20;transition:background .15s}.upgrade-number{font:10px monospace;color:#b7bc85;margin-bottom:9px}.upgrade-card b{font-size:15px;font-weight:600;margin-bottom:7px}.upgrade-card small{font-size:10px;line-height:1.6;color:#b9c5ac;max-width:360px}.upgrade-select{margin-top:auto;padding-top:12px;font-size:10px;color:#ffe14a}.run-upgrades{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;background:#19231a;border-top:1px solid #34442f;padding:10px 18px}.run-upgrades b{font-size:7px;letter-spacing:1px;color:#91a083;margin-right:3px}.run-upgrades span{font-size:8px;padding:4px 7px;border:1px solid #435238;border-radius:4px;color:#c7d0b3}.boss-panel{background:linear-gradient(90deg,#2b2331,#221e2a);border-bottom:1px solid #6f5277;padding:14px 20px 11px}.boss-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.boss-heading b{display:block;font-size:13px;letter-spacing:1.4px;margin-top:3px;color:#e5c8f3}.boss-heading .eyebrow{color:#ac8eb7;font-size:7px}.boss-heading>span{font-size:10px;color:#dcb6ec;white-space:nowrap}.boss-health{position:relative;height:8px;background:#4a3046;border-radius:3px;overflow:hidden}.boss-health i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#b77de4,#ebb6d8);transition:width .14s linear}.boss-health span{position:absolute;top:0;bottom:0;left:33.333%;width:2px;background:#271e2d}.boss-health span:last-child{left:66.666%}.boss-panel p{font-size:9px;line-height:1.5;margin:8px 0 0;color:#bd9dc9}.boss-panel.vulnerable{border-color:#78c3ad}.boss-panel.vulnerable .boss-health i{background:linear-gradient(90deg,#4ca596,#9ce8c8)}.boss-panel.vulnerable p{color:#a3ebd0}.pad-buttons button[aria-pressed=true]{border-color:#ffe14a;color:#ffe14a}.fiction-note{font-size:10px!important;border-top:1px solid #435039;padding-top:12px;color:#95a18b!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.calm-effects *{transition:none!important;scroll-behavior:auto!important}
@media(min-width:1151px){.controlbar .controls{gap:6px}.controlbar .status{max-width:36%}}
@media(max-width:1150px){.combat-dock{gap:12px;padding:14px;grid-template-columns:minmax(150px,1fr) minmax(0,1.8fr)}.charge-heading>span{font-size:7px;letter-spacing:.7px}.combo-line{align-items:start}.combo-line span{font-size:7px}.ability{padding:7px 6px}.ability b{font-size:9px}.ability small{font-size:7px}.ability kbd{font-size:7px;padding:1px 3px}.controlbar{align-items:flex-start}.controlbar .status{max-width:34%}.controls{gap:5px}.early-wave{padding:8px}.early-wave b{font-size:10px}.controls .running-label{display:none}.wave-intel{gap:16px}}
@media(max-width:900px) and (min-width:761px){.combat-dock{grid-template-columns:1fr;gap:12px}.charge-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.charge-heading{grid-column:1}.charge-track{grid-column:1}.combo-line{grid-column:2;grid-row:1}.combo-track{grid-column:2;grid-row:2;align-self:center}.ability{min-height:68px}.ability-icon{font-size:19px;height:20px}.wave-intel p{max-width:220px}}
@media(max-width:760px){.field-column{width:100%}.hud{gap:6px}.hud b{font-size:18px}.hud-options{gap:4px;margin-left:2px}.hud-options .icon{width:32px;height:36px;border-radius:9px}.hud-options #motion{font-size:15px}.hud>div>span{font-size:7px}.hud b span{font-size:9px}.hp-track{min-width:61px}.map-label{top:9px}.combat-notice{top:28px;font-size:8px;letter-spacing:.3px;padding:6px 10px;max-width:90%}.combat-dock{padding:13px 12px;grid-template-columns:1fr;gap:12px}.charge-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.charge-heading{grid-column:1}.charge-heading>span{font-size:7px}.charge-heading b{font-size:20px}.charge-track{grid-column:1;margin-bottom:0}.combo-line{grid-column:2;grid-row:1;align-items:center;gap:5px}.combo-line b{font-size:10px}.combo-line span{font-size:8px;max-width:85px}.combo-track{grid-column:2;grid-row:2;align-self:center;height:3px}.ability{min-height:69px;padding:9px 10px;display:grid;grid-template-columns:23px 1fr;gap:3px 6px;align-items:center}.ability-icon{font-size:24px;grid-column:1;grid-row:1;align-self:center}.ability b{font-size:10px;grid-column:2;grid-row:1;margin:0}.ability small{grid-column:1/3;font-size:9px;line-height:1.4}.ability kbd{display:none}.ability-buttons{gap:6px}.wave-intel .enemy-counts{max-width:none;flex-direction:row;flex-wrap:wrap;font-size:9px;gap:5px 10px}.wave-intel{gap:9px}.wave-intel p{font-size:10px}.wave-intel b{font-size:12px}.upgrade-panel{padding:17px 12px}.upgrade-heading{align-items:start}.upgrade-heading h2{font-size:16px;line-height:1.4;max-width:230px}.upgrade-heading>span{font-size:9px;padding-top:2px}.upgrade-cards{gap:7px}.upgrade-card{padding:11px 9px;min-height:180px}.upgrade-card b{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.upgrade-card small{font-size:9px;line-height:1.5}.upgrade-number{font-size:9px;margin-bottom:9px}.upgrade-select{font-size:9px}.boss-panel{padding:12px}.boss-heading b{font-size:10px;letter-spacing:1px}.boss-heading>span{font-size:9px}.boss-panel p{font-size:9px}.controlbar{align-items:stretch}.controlbar .status{max-width:none;min-height:30px;font-size:10px}.controls{justify-content:stretch;gap:6px;flex-wrap:wrap}.controls #start{min-width:120px}.controls .early-wave{flex:1;white-space:normal}.early-wave b{font-size:11px}.early-wave small{font-size:8px;line-height:1.3}.controls .running-label{display:none}.ghost{min-width:41px;padding:10px 8px}.controls #pause{min-width:60px}.run-upgrades{padding:9px 12px}.run-upgrades b{font-size:7px}.run-upgrades span{font-size:8px}.tower-card .unit-name small{font-size:9px}.tower-card .price{font-size:12px}.selection p{font-size:10px;line-height:1.6}.selection h3{font-size:12px}.selection button{padding:11px;font-size:11px;min-height:40px}.emp{min-height:44px}.emp span{font-size:11px}.emp small{font-size:8px}.text-button{min-height:44px;font-size:9px}.pad-buttons button{min-height:44px;font-size:11px}.below p{font-size:10px}.sub{font-size:11px;max-width:330px}footer>span:last-child{font-size:7px;line-height:1.5;max-width:225px;text-align:right}.overlay h2{font-size:25px}.overlay p{font-size:11px}dialog{padding:24px}dialog p,dialog li{font-size:12px}.close{min-width:35px;min-height:35px}}
@media(max-width:380px){.hud{padding:12px 9px;gap:5px}.hud b{font-size:17px}.hud>div>span{font-size:6px}.hud-options .icon{width:28px}.hud-options{gap:3px}.hp-track{min-width:56px}.combo-line span{font-size:7px}.ability{padding:8px;grid-template-columns:18px 1fr;column-gap:4px}.ability b{font-size:9px}.ability-icon{font-size:21px}.ability small{font-size:8px}.upgrade-cards{grid-template-columns:1fr}.upgrade-card{min-height:0;display:grid;grid-template-columns:22px 1fr;gap:5px 8px;padding:12px}.upgrade-number{grid-column:1;grid-row:1;margin:0}.upgrade-card b{grid-column:2;margin:0}.upgrade-card small{grid-column:2;font-size:10px}.upgrade-select{grid-column:2;padding-top:2px}.charge-heading>span{font-size:6px}.hud .score-box{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Revision 04: four distinct operations and their live tactical controls. */
.deployment{margin-bottom:23px}.deployment-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px}.deployment-heading .eyebrow{margin:0 0 6px;font-size:8px}.deployment h2{font-size:19px;font-weight:500;letter-spacing:-.4px;margin:0}.deployment-count{font:9px monospace;color:#7d8e84;letter-spacing:1px}.map-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.map-choice{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid #344139;border-radius:12px;background:#19221e;color:#e9efe7;overflow:hidden;min-width:0;transition:border-color .15s,transform .15s}.map-choice:hover{border-color:var(--map-accent);transform:translateY(-2px)}.map-choice[aria-pressed=true]{border-color:var(--map-accent);box-shadow:0 0 0 1px var(--map-accent)}.map-thumbnail{height:92px;position:relative;display:block;width:100%;overflow:hidden;border-bottom:1px solid #ffffff0c}.map-thumbnail svg{width:100%;height:100%;display:block;object-fit:cover}.map-code{position:absolute;left:12px;top:11px;font:10px monospace;color:var(--map-accent);letter-spacing:1px}.map-selected{position:absolute;top:10px;right:11px;display:none;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;background:var(--map-accent);color:#15231f;font-weight:800;font-size:12px}.map-choice[aria-pressed=true] .map-selected{display:block}.map-choice-copy{padding:13px 15px 14px;display:block}.map-choice-copy small{display:block;font-size:7px;letter-spacing:1.2px;color:var(--map-accent);line-height:1.5}.map-choice-copy b{display:block;font-size:15px;margin:5px 0 6px;font-weight:600}.map-choice-copy>span{display:block;color:#9eafa5;font-size:10px;line-height:1.5}.deployment-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.65fr);gap:25px;align-items:center;margin-top:15px;padding:16px 20px;border:1px solid #2c3b32;border-radius:10px;background:#17201c}.map-brief{display:flex;gap:17px;align-items:center;min-width:0}.location-symbol{font-size:29px;color:var(--sector-accent,#c2d68d);width:32px;text-align:center;flex-shrink:0}.map-brief b{font-size:11px;font-weight:600;color:#d7dfd7}.map-brief p{font-size:10px;line-height:1.7;color:#99aaa0;margin:5px 0 0;max-width:600px}.difficulty-picker{display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:center}.difficulty-picker>span{font-size:7px;letter-spacing:1.3px;color:#9bac9f}.difficulty-choices{display:flex;border:1px solid #425044;border-radius:7px;overflow:hidden}.difficulty-choices button{flex:1;padding:9px 12px;min-height:36px;border:0;border-right:1px solid #425044;color:#b2c0b7;background:#202c24;font-size:10px;white-space:nowrap}.difficulty-choices button:last-child{border-right:0}.difficulty-choices button[aria-pressed=true]{background:#dce5b4;color:#253021;font-weight:700}.difficulty-picker p{grid-column:1/3;margin:8px 0 0;color:#84968a;font-size:9px;line-height:1.5;text-align:right;min-height:14px}.map-label b{font-weight:500}.location-panel{padding:15px 20px;background:linear-gradient(100deg,#1b2c2c,#192621);border-top:1px solid #3f5750}.location-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.location-heading .eyebrow{font-size:7px;color:var(--sector-accent,#abc9ba);letter-spacing:1.4px}.location-heading h3{font-size:14px;margin:5px 0 0;font-weight:500;color:#e4efeb}.location-state{font:9px monospace;letter-spacing:.6px;color:var(--sector-accent,#a3c7bd);text-align:right;white-space:nowrap}.location-state.alert{color:#ffcf97}.location-panel>p{font-size:10px;color:#adc0b8;line-height:1.7;margin:10px 0 12px;max-width:860px}.node-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:12px}.node-card{padding:9px 11px;background:#12211fa0;border:1px solid #3d554d;border-radius:6px;min-width:0}.node-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:7px}.node-card b{font-size:9px;font-weight:500;color:#c5d5cf}.node-card span{font:9px monospace;color:#c4d7b9;white-space:nowrap}.node-health{height:3px;background:#43504a;overflow:hidden;border-radius:2px}.node-health i{display:block;height:100%;width:100%;background:var(--sector-accent,#99d5c1);transition:width .1s}.node-card.priority{border-color:var(--sector-accent);box-shadow:inset 0 0 0 1px #c2a2e31a}.node-card.destroyed{opacity:.55;border-color:#775657}.node-card.destroyed span{color:#ffa69d;font-size:7px}.location-controls{display:flex;gap:8px}.location-controls button{flex:1;min-width:0;display:grid;grid-template-columns:22px 1fr;column-gap:7px;text-align:left;color:#d2dfd7;background:#263a32;border:1px solid #456153;border-radius:7px;padding:10px 12px;min-height:52px}.location-controls button>span{grid-row:1/3;align-self:center;font-size:22px;color:#92b9a6}.location-controls b{font-weight:500;font-size:10px;line-height:1.4}.location-controls small{font-size:8px;line-height:1.5;margin-top:3px;color:#9ab4a7}.location-controls button[aria-pressed=true]{background:#31443c;border-color:var(--sector-accent);box-shadow:inset 0 0 0 1px #c4f2e111}.location-controls button[aria-pressed=true] span,.location-controls button[aria-pressed=true] b{color:var(--sector-accent)}.location-controls button:disabled[aria-pressed=true]{opacity:1}.location-controls button:disabled{opacity:.48}.help-locations{margin:20px 0;padding-top:10px;border-top:1px solid #445147}.help-locations h3{font-size:15px;color:#e0eacb}.help-locations p{font-size:11px}.help-locations b{color:#e0eacb}body[data-location=north]{--sector-accent:#a4e8f3}body[data-location=harbor]{--sector-accent:#8de0cb}body[data-location=rooftops]{--sector-accent:#e2b9f4}body[data-location=north] .location-panel{background:linear-gradient(100deg,#1e3540,#1c2b36);border-color:#466371}body[data-location=north] .location-controls button{background:#243d47;border-color:#4d6c75}body[data-location=north] .node-card{background:#172934}body[data-location=rooftops] .location-panel{background:linear-gradient(100deg,#30283d,#242533);border-color:#5e4d6e}body[data-location=rooftops] .location-controls button{background:#373245;border-color:#665675}body[data-location=rooftops] .node-card{background:#231e2d;border-color:#5d4d69}body[data-location=rooftops] .node-card.priority{border-color:#e2b9f4}body[data-location=north] .field-wrap{background:#172b38}body[data-location=harbor] .field-wrap{background:#12343b}body[data-location=rooftops] .field-wrap{background:#29223d}
@media(min-width:1550px){.intro{margin-bottom:26px}main{padding-top:32px}.map-thumbnail{height:108px}}
@media(max-width:1050px){.map-choices{gap:9px}.map-choice-copy{padding:11px}.map-choice-copy b{font-size:14px}.map-choice-copy>span{font-size:9px}.map-thumbnail{height:81px}.deployment-bottom{gap:18px;padding:14px}.difficulty-choices button{padding:9px 8px}.difficulty-picker{column-gap:8px}.map-brief{gap:10px}.location-heading h3{font-size:12px}.location-panel{padding:14px}.location-controls button{padding:9px 8px}.location-state{font-size:8px}.location-controls small{font-size:7px}}
@media(max-width:760px){.deployment{margin-bottom:17px}.deployment-heading{margin-bottom:12px}.deployment h2{font-size:17px}.deployment-count{font-size:8px}.map-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.map-thumbnail{height:74px}.map-code{left:10px;top:9px;font-size:9px}.map-choice-copy{padding:11px 12px}.map-choice-copy b{font-size:14px;margin:4px 0}.map-choice-copy small{font-size:6px;letter-spacing:1px}.map-choice-copy>span{font-size:9px;line-height:1.45;min-height:26px}.deployment-bottom{grid-template-columns:1fr;gap:13px;padding:13px 12px;margin-top:11px}.map-brief{gap:12px}.map-brief b{font-size:10px}.map-brief p{font-size:9px;line-height:1.65;margin-top:4px}.location-symbol{font-size:25px;width:26px}.difficulty-picker{grid-template-columns:auto minmax(0,1fr);column-gap:12px;border-top:1px solid #334036;padding-top:12px}.difficulty-choices button{min-height:41px;padding:10px;font-size:11px}.difficulty-picker>span{font-size:7px}.difficulty-picker p{font-size:9px;text-align:left;margin-top:7px;line-height:1.6}.location-panel{padding:13px 12px}.location-heading{align-items:flex-start;gap:9px}.location-heading h3{font-size:13px;line-height:1.4}.location-heading .eyebrow{font-size:6px}.location-state{font-size:7px;padding-top:2px;white-space:normal;max-width:118px;line-height:1.5}.location-panel>p{font-size:10px;line-height:1.65;margin:9px 0 10px}.node-status{gap:6px;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));margin-bottom:9px}.node-card{padding:8px}.node-card>div:first-child{display:block;margin-bottom:6px}.node-card b{font-size:9px;display:block;margin-bottom:4px}.node-card span{font-size:9px}.location-controls{gap:6px}.location-controls button{padding:10px 8px;grid-template-columns:1fr;min-height:67px;text-align:center;column-gap:0}.location-controls button>span{display:none}.location-controls b{font-size:10px;line-height:1.4}.location-controls small{font-size:8px;line-height:1.5;margin-top:4px}.map-label b{font-size:7px}.map-choice:hover{transform:none}.help-locations p{font-size:11px}}
@media(max-width:380px){.map-thumbnail{height:63px}.map-choice-copy{padding:10px}.map-choice-copy b{font-size:13px}.map-choice-copy small{font-size:5px}.map-choice-copy>span{font-size:8px;min-height:24px}.difficulty-picker{column-gap:8px}.difficulty-choices button{font-size:10px;padding:10px 6px}.difficulty-picker>span{font-size:6px}.deployment-count{font-size:7px}.location-controls b{font-size:9px}.location-controls small{font-size:7px}}
