
*{box-sizing:border-box}body{margin:0;background:#080f18;color:#e7f0f3;font:14px system-ui,sans-serif}header{height:84px;border-bottom:1px solid #26333d;display:flex;align-items:center;padding:0 4%;gap:16px}.brand{font-size:29px;font-weight:900;letter-spacing:-3px}.brand span{color:#e9b66c}.brand small{font-size:13px;letter-spacing:3px;margin-left:20px}.location{margin:auto;font-size:10px;color:#94a6b2;letter-spacing:2px}.location b{display:block;color:#e9d5ad;font-size:13px;margin-top:5px}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #34454e;background:#14212d;padding:12px 18px}button:hover{border-color:#edbd79;background:#25343d}button:focus-visible{outline:2px solid #80e5ec;outline-offset:3px}main{max-width:1400px;margin:auto;padding:24px 30px}.top{display:flex;gap:42px;align-items:center;padding:0 8px 20px}.top label{display:block;color:#8c9ba8;font-size:9px;letter-spacing:2px;margin-bottom:5px}.top strong{font-size:25px}.top meter{width:120px;height:7px;display:block;margin-top:4px;accent-color:#6fe0ce}.objective{margin-left:auto;line-height:1.6;font-size:12px}.viewport{position:relative;overflow:hidden;border:1px solid #46505a;border-radius:5px;background:#122738;box-shadow:0 20px 80px #0008}canvas{width:100%;display:block;touch-action:none}.tag{position:absolute;left:22px;top:18px;letter-spacing:2px;font-size:10px}.tag i{display:inline-block;width:6px;height:6px;background:#78e4d4;border-radius:50%;margin:0 10px}.tag span{color:#b5c3c9}#toast{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:10px 20px;background:#08131de6;border:1px solid #53616a;white-space:nowrap;font-size:12px;pointer-events:none}#overlay{position:absolute;inset:0;background:linear-gradient(90deg,#08131df5,#08131dba 48%,#08131d22);padding:11% 7%;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{color:#e7bd79;letter-spacing:3px;font-size:10px}h1{font-size:clamp(28px,4.5vw,67px);line-height:.99;letter-spacing:-3px;margin:22px 0}h1 em{font-style:normal;color:#edc88b}#overlay p{color:#bdc9d2;line-height:1.8}#overlay button,#launch{background:#e9b971;color:#18232b;font-weight:800;border-color:#fbd69e}#overlay button{margin:10px 0 22px;min-width:230px;text-align:left}button span+span{margin-left:10px}#overlay small{font-size:8px;letter-spacing:2px;color:#859ba8}.bottom{display:flex;justify-content:space-between;gap:15px;padding-top:16px}.slots{display:flex;gap:10px}.slots button{display:flex;align-items:center;gap:13px;text-align:left;min-width:190px}.slots b{font-size:27px;color:#79e7ea}.slots small{display:block;font-size:10px;color:#9cabb6;margin-top:4px}.slots .selected{border-color:#e4ba7b;box-shadow:inset 0 -2px #e4ba7b}kbd{font-size:9px;padding:3px 4px;border:1px solid #56616a;color:#aabac6;border-radius:3px}footer{display:flex;justify-content:space-between;font-size:9px;color:#8b9eac;letter-spacing:1px;padding:17px 0}footer kbd{margin:0 5px}#launch{min-width:200px}@media(max-width:850px){main{padding:12px}.top{gap:20px}.objective,.location,footer>span:last-child{display:none}.slots button{min-width:0;padding:10px;gap:6px}.slots b{display:none}#launch{min-width:130px}.brand small{font-size:10px}header{height:64px}#overlay{padding:7%}#overlay p{font-size:12px;margin:0}#overlay small{display:none}}

/* 3D edition */
body{background:radial-gradient(ellipse at 50% 0%,#243b4b 0,#0b1520 55%,#070e16 100%)}header{height:68px}main{padding:16px 30px}.top{padding-bottom:12px;gap:40px}.top strong{font-size:23px}.viewport{background:linear-gradient(#6b94ad,#c4d6db 70%,#ecdad1)}#scene{display:block;touch-action:none}#render-stats{margin-left:14px;color:#87d8d6;font-size:9px}.bottom{padding-top:12px}.slots button{padding:10px 15px}footer{padding:12px 0}#toast{bottom:14px}#overlay{padding:8% 7%}#overlay h1{font-size:clamp(32px,4.1vw,64px)}

.hangar-link{color:#e9bd7a;text-decoration:none;font-size:11px;letter-spacing:1px;padding:10px;border:1px solid #43515b}header{gap:10px}.brand small{margin-left:12px}@media(max-width:950px){.location{display:none}.brand{margin-right:auto}.brand small{display:none}header button{font-size:10px;padding:10px}}

.map-picker{margin:auto;color:#a5bdc7;font-size:9px;letter-spacing:2px}.map-picker select{display:block;background:#142635;color:#ffdb9c;border:1px solid #597078;padding:8px 24px 8px 10px;font:600 14px system-ui;margin-top:4px}.viewport{background-size:cover;background-position:center;background-repeat:no-repeat}#scene{background:transparent}.tag{background:#081522ba;padding:9px 12px;border-radius:3px}#overlay{background:linear-gradient(90deg,#06131de6,#06131d80 43%,transparent 80%)}@media(max-width:850px){.map-picker{letter-spacing:0}.map-picker select{font-size:11px;padding:6px}}

.upgrade-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:8px 12px;background:#10202b;border:1px solid #344d58;font-size:12px;color:#b5d8e3}.upgrade-bar button{padding:8px 14px;color:#ffe3a5;font-size:11px}button:disabled{opacity:.45;cursor:default}

.bottom{flex-wrap:wrap}.slots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;gap:6px}.slots button{min-width:0;padding:10px 7px;gap:6px;font-size:11px}.slots b{font-size:20px}.slots kbd{padding:2px}.bottom>#launch{margin-left:auto}.upgrade-bar{flex-wrap:wrap}@media(max-width:1050px){.slots{grid-template-columns:repeat(4,1fr)}}

/* Turret bay layout */
.arena-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:stretch}.tower-panel{border:1px solid #344d58;background:linear-gradient(180deg,#122735,#0d1a25);padding:14px;min-width:0}.panel-title{font-size:12px;letter-spacing:2px;color:#f1c57d;border-bottom:1px solid #304751;padding-bottom:10px;margin-bottom:10px}.panel-title small{display:block;color:#8eaab5;letter-spacing:.3px;font-size:10px;margin-top:5px}.slots{display:flex;flex-direction:column;gap:8px}.tower-card{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:stretch}.tower-card>[data-tool]{display:flex;align-items:center;gap:9px;text-align:left;padding:8px 7px;min-width:0}.tower-card>[data-tool] span:last-child{min-width:0}.tower-card b,.tower-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tower-card small{font-size:10px;color:#a4bac3;margin-top:3px}.tower-art{width:38px;height:38px;display:grid;place-items:center;border:1px solid #45616b;border-radius:6px;background:radial-gradient(circle at 35% 25%,#c5ffff,#1c596b 38%,#0b1a26 72%);font-size:24px;color:#d9ffff;flex:0 0 auto}.art-3{background:radial-gradient(circle,#d8a3ff,#442b78 45%,#111a2f)}.art-1{background:radial-gradient(circle,#dcffff,#397c99 45%,#102231)}.art-4{background:radial-gradient(circle,#ffd58d,#7b4931 45%,#231d23)}.art-5{background:radial-gradient(circle,#ffb0cc,#7d2947 45%,#211723)}.art-6{background:radial-gradient(circle,#f7ff9d,#55721f 45%,#15251f)}.art-2{background:radial-gradient(circle,#ffcd86,#87472c 45%,#261822)}.tower-upgrade{padding:5px 6px;font-size:9px;letter-spacing:.5px;color:#ffe0a3}.tower-card>[data-tool].selected{border-color:#e4ba7b;box-shadow:inset 3px 0 #e4ba7b}.tower-card>[data-tool][draggable=true]{cursor:grab}.bottom{justify-content:flex-end}.bottom #launch{margin-left:auto}@media(max-width:700px){.arena-layout{grid-template-columns:1fr}.tower-panel{order:2}.slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bottom{padding-top:10px}}@media(max-width:560px){.slots{grid-template-columns:1fr}.tower-panel{padding:10px}}

.tower-card b{font-size:12px;color:#e1edf1;white-space:normal;overflow:visible}.tower-card>[data-tool]{flex-wrap:wrap}.tower-card kbd{display:none}.tower-art{width:72px;height:64px;object-fit:contain;background:#edf0ed;border-radius:5px}.tower-card{grid-template-columns:minmax(0,1fr) 68px}.tower-card>[data-tool] span:last-child{flex:1;min-width:72px}.tower-panel{padding:10px}

/* Open weapon palette: two columns, no card boxes. */
.tower-panel{background:transparent;border:0;padding:4px 8px}.panel-title{border:0;text-align:center}.tower-panel .slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.tower-panel .tower-card{display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none}.tower-panel .tower-card>[data-tool]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:0;gap:4px;border:0;background:transparent;box-shadow:none;text-align:center}.tower-panel .tower-card>[data-tool]:hover{background:transparent;filter:brightness(1.15)}.tower-panel .tower-card>[data-tool].selected{border:0;box-shadow:none}.tower-panel .tower-art{width:106px;height:88px;object-fit:contain;border:0;border-radius:0;background:transparent;mix-blend-mode:screen}.tower-panel .tower-card b{font-size:11px;color:#e1edf1;white-space:normal}.tower-panel .tower-card small{font-size:11px;color:#efc77b}.tower-panel .tower-upgrade{padding:5px 12px;border:1px solid #56b8fa;border-radius:3px;background:#1678bd;color:white;font-size:9px;letter-spacing:.6px}.tower-panel .tower-upgrade:hover{background:#2499df}.tower-panel .tower-card>[data-tool] span:last-child{flex:initial;min-width:0}.tower-panel .tower-card>[data-tool].selected .tower-art{filter:drop-shadow(0 0 5px #50bcff)}

.tower-panel .tower-art{mix-blend-mode:normal}

/* Full HD desktop composition, sized to the available window. */
@media(min-width:1100px){
body{height:100dvh;overflow:hidden}header{height:58px;padding:0 24px}main{max-width:1920px;height:calc(100dvh - 58px);padding:12px 24px;display:grid;grid-template-rows:62px minmax(0,1fr) 42px 42px 28px;gap:8px}.top{padding:0 8px;gap:36px}.arena-layout{min-height:0;grid-template-columns:minmax(0,1fr) 280px}.viewport{min-height:0;height:100%}#scene{height:100%!important}.bottom{padding:0}.bottom #launch{padding:7px 24px}.upgrade-bar{margin:0;padding:4px 12px}footer{padding:5px 0}.tower-panel .slots{height:calc(100% - 54px);grid-template-rows:repeat(3,minmax(0,1fr));gap:4px 12px}.tower-panel .tower-card{justify-content:center}.tower-panel .tower-art{height:clamp(70px,11vh,124px);width:124px}.panel-title{margin-bottom:0;padding-bottom:8px}.tower-panel .tower-card b{font-size:12px}
}

/* Arena and command bay share one game frame. */
.arena-layout{gap:0;border:2px solid #876b3d;border-radius:9px;overflow:hidden;box-shadow:0 0 0 2px #172d37,0 18px 48px #0008;background:#102b35}.arena-layout .viewport{border:0;border-radius:0;box-shadow:none}.tower-panel{position:relative;display:flex;flex-direction:column;padding:14px 12px;background:linear-gradient(90deg,#0b2029e8,#173c49ed),repeating-linear-gradient(0deg,transparent 0 38px,#8db3b611 39px 40px);border-left:3px solid #8d7549;box-shadow:inset 4px 0 15px #0008}.tower-panel:before,.tower-panel:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#dfbc76;box-shadow:0 0 0 2px #453923;top:8px}.tower-panel:before{left:8px}.tower-panel:after{right:8px}.tower-panel .panel-title{color:#f4cd83;letter-spacing:2px;padding:4px 0 12px}.tower-panel .slots{flex:1;min-height:0;height:auto}.tower-panel #launch{width:100%;min-width:0;margin-top:10px;padding:14px 8px;border:1px solid #ffe2a6;border-radius:4px;background:linear-gradient(#ebc17c,#b6843e);box-shadow:0 3px 0 #745126,inset 0 1px #fff7;color:#182c35;font-size:13px;letter-spacing:1px}.tower-panel #launch:disabled{opacity:.55}.tower-panel .tower-upgrade{background:linear-gradient(#269cde,#176a9d)}
@media(min-width:1100px){main{grid-template-rows:62px minmax(0,1fr) 42px 28px}.tower-panel .slots{grid-template-rows:repeat(3,minmax(0,1fr))}.tower-panel .tower-art{height:clamp(66px,10vh,112px)}}

/* Shared scenery underneath a transparent weapon palette and brass perimeter. */
.arena-layout{background-size:cover;background-position:center;background-repeat:no-repeat;border:7px ridge #b49458;outline:1px solid #edcc88;outline-offset:1px;border-radius:10px;box-shadow:inset 0 0 0 2px #624824,0 12px 40px #0009}.arena-layout .viewport{background:transparent!important}.tower-panel{background:transparent;border-left:0;box-shadow:none}.tower-panel:before,.tower-panel:after{display:none}.tower-panel b,.tower-panel small,.panel-title{text-shadow:0 2px 3px #000,0 0 5px #000,1px 0 #000}.tower-panel #speed{align-self:center;flex:0 0 auto;padding:7px 16px;margin-top:5px;background:#102c3bdd;border:1px solid #78c8ec;border-radius:4px;color:#d7f8ff;font-weight:700}.tower-panel #speed[aria-pressed=true]{background:#167bb7;color:white;box-shadow:0 0 8px #69dfff80}.tower-panel #launch{font-size:11px}

/* Outpost Zero collapsible command bay. */
.brand{font-size:22px;letter-spacing:3px;font-weight:900;white-space:nowrap}.brand span{color:#edc57e}.arena-layout{position:relative}.tower-panel{background:linear-gradient(105deg,#112c3eef,#173d52f5);border-left:2px solid #b69c67;box-shadow:inset 3px 0 12px #0006}.tower-panel #bay-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 8px;background:#1b4d67;border:1px solid #5f9ab2;border-radius:3px;font-size:12px;letter-spacing:1.5px;color:#e8cd94;flex-shrink:0}.tower-panel #bay-toggle span{font-size:22px;line-height:14px}.tower-panel .panel-title{padding:0 0 4px}.tower-panel .panel-title small{font-size:10px}.arena-layout.bay-collapsed{grid-template-columns:minmax(0,1fr) 44px}.bay-collapsed .tower-panel{padding:6px 4px}.bay-collapsed #weapon-slots,.bay-collapsed .panel-title{display:none}.bay-collapsed #bay-toggle{height:160px;display:flex;flex-direction:column;justify-content:flex-start;gap:18px;padding:8px 0}.bay-collapsed #bay-toggle .bay-label{writing-mode:vertical-rl;font-size:11px;letter-spacing:2px}.bay-collapsed .tower-panel #speed{position:absolute;bottom:69px;right:62px;min-width:110px}.bay-collapsed .tower-panel #launch{position:absolute;bottom:14px;right:62px;width:230px;margin:0}.bay-collapsed .tower-panel{min-height:0}.tower-panel .tower-art{max-height:100px}

/* Compact arrow tab and readable health directly above the engine. */
.tower-panel #bay-toggle{align-self:flex-start;width:28px;height:30px;padding:0;justify-content:center;font-size:24px;line-height:1;letter-spacing:0}.bay-collapsed #bay-toggle{width:28px;height:30px;padding:0;gap:0;justify-content:center}.tower-panel .panel-title{margin-top:-22px;margin-left:34px;margin-bottom:9px}#engine-health{position:absolute;z-index:3;transform:translate(-50%,-100%);min-width:120px;padding:6px 10px;background:#09191fee;border:1px solid #8ad1bf;border-radius:5px;box-shadow:0 2px 8px #0009;pointer-events:none;text-align:center}#engine-health label{display:block;font-size:9px;font-weight:700;letter-spacing:1px;color:#d2efe6}#engine-health strong{display:block;font-size:19px;color:#fff;text-shadow:0 1px 2px #000}#engine-health meter{display:block;width:100%;height:8px;accent-color:#61e49b;margin-top:3px}

#upgrade-menu[hidden]{display:none}#upgrade-menu{position:fixed;inset:0;z-index:100;background:#020b14cf;display:flex;align-items:center;justify-content:center;padding:24px}.upgrade-window{width:min(1220px,96vw);max-height:94vh;overflow:auto;background:linear-gradient(#142e40,#0c1e2b);border:2px solid #ad8c51;border-radius:9px;box-shadow:0 20px 90px #000;color:#e0ecf4;padding:20px}.upgrade-heading{height:auto;padding:0 0 14px;border-bottom:1px solid #486073;justify-content:space-between}.upgrade-heading h2{margin:4px 0;font-size:26px}.upgrade-heading small{letter-spacing:2px;color:#d3b378;font-size:9px}.upgrade-heading button{padding:8px 12px}.upgrade-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0}.upgrade-summary label{font-size:10px;letter-spacing:1px}.upgrade-summary select{margin-left:8px;padding:8px;color:#e6f1f6;background:#0a1e2d;border:1px solid #527589;max-width:440px}.upgrade-summary>b{margin-left:auto;color:#f2cc78}.upgrade-summary p{width:100%;margin:0;color:#adc6d5;font-size:12px}.upgrade-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.upgrade-path{background:#0b1c28;border:1px solid #35536a;border-radius:6px;padding:12px}.upgrade-path.chosen{border-color:#e3be70;box-shadow:0 0 0 1px #e3be70}.upgrade-path.path-locked{opacity:.55}.upgrade-path h3{font-size:15px;color:#ebc47c;margin:0}.upgrade-path h3 span{color:#61bdf3}.upgrade-path>p{font-size:11px;color:#9bb5c8;min-height:28px}.upgrade-tier{display:flex;gap:10px;align-items:center;border-top:1px solid #2a4152;padding:10px 0;min-height:112px}.upgrade-tier img{width:88px;height:84px;object-fit:contain;flex:0 0 auto}.upgrade-tier b{font-size:11px;color:#e5eff5}.upgrade-tier small{display:block;font-size:10px;color:#b1c8d6;line-height:1.5;margin:4px 0}.upgrade-tier button{font-size:9px;padding:7px 8px;background:#176d9e;border-color:#4cbae7}.art-note{display:block;margin-top:14px;color:#829cab;font-size:10px}@media(max-width:850px){#upgrade-menu{padding:8px}.upgrade-paths{grid-template-columns:1fr}.upgrade-summary select{max-width:80vw}.upgrade-window{padding:12px}.upgrade-tier{min-height:90px}.upgrade-tier img{height:72px}}

/* Compact upgrade tiles: image, price and optional information. */
#upgrade-menu{padding:12px}.upgrade-window{width:min(650px,94vw);padding:13px;max-height:94vh}.upgrade-heading{gap:12px;padding-bottom:9px}.upgrade-heading h2{font-size:18px;margin:0}.upgrade-heading>b{margin-left:auto;font-size:12px;color:#ebc67e}.upgrade-heading>button{padding:5px 8px}.upgrade-summary{margin:9px 0;display:block}.upgrade-summary select{width:100%;max-width:none;margin:0;padding:6px;font-size:11px}.upgrade-paths{gap:8px}.upgrade-path{padding:7px}.upgrade-path h3{font-size:11px;text-align:center;min-height:26px;line-height:1.4}.upgrade-path.path-locked{opacity:.65}.upgrade-tier{position:relative;padding:0;display:block;min-height:0;margin-top:5px;border-top:1px solid #294453}.upgrade-purchase{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;padding:3px!important;background:transparent!important;border:0!important;opacity:1!important}.upgrade-purchase img{width:100%;max-width:120px;height:77px;object-fit:contain}.upgrade-purchase span{font-size:11px;background:#176d9e;border:1px solid #459dc2;border-radius:3px;padding:3px 8px;color:#f1f8ff;min-width:82px}.upgrade-purchase:disabled img{opacity:.6}.upgrade-purchase:disabled span{background:#203541;color:#91a5b0;border-color:#3b5362}.upgrade-tier.owned .upgrade-purchase span{color:#9bf3bc;border-color:#529a70}.info-dot{display:grid;place-items:center;width:17px;height:17px;padding:0!important;border:1px solid #83c7eb!important;border-radius:50%;background:#163c52!important;color:#d4edfc!important;font:700 10px Georgia,serif!important;line-height:1;cursor:pointer}.upgrade-tier>.info-dot{position:absolute;right:1px;top:4px;z-index:2}.tower-card{position:relative}.tower-card>.weapon-info-button{position:absolute;right:1px;top:2px;z-index:2}.tower-panel .tower-card>.weapon-info-button{width:17px;min-width:0;height:17px;display:grid;padding:0}#weapon-info[hidden]{display:none}#weapon-info{position:fixed;z-index:120;width:280px;max-height:235px;overflow:auto;background:#092131;border:1px solid #70afce;border-radius:6px;padding:15px;box-shadow:0 8px 30px #000c;color:#d5e8f2}#weapon-info h3{font-size:13px;margin:0 25px 10px 0;color:#f1c779}#weapon-info p{font-size:11px;line-height:1.6;margin:0}#weapon-info .close-info{position:absolute;right:5px;top:5px;padding:3px 5px;font-size:10px}@media(max-width:850px){.upgrade-paths{grid-template-columns:repeat(3,minmax(0,1fr))}.upgrade-path{padding:4px}.upgrade-purchase img{height:64px}.upgrade-purchase span{min-width:0;padding:3px;font-size:10px}.upgrade-path h3{font-size:10px}.upgrade-window{padding:8px}}

.brand img{display:block;width:170px;height:50px;object-fit:contain}@media(max-width:850px){.brand img{width:130px;height:42px}}

#main-menu[hidden],#menu-sheet[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#main-menu{position:fixed;inset:0;z-index:150;background:#030c17;display:grid;place-items:center}.main-menu-stage{position:relative;width:min(100vw,calc(100dvh * 1.776833));aspect-ratio:1672/941}.main-menu-stage>img{display:block;width:100%;height:100%;object-fit:contain}.main-menu-stage nav{position:absolute;inset:0}.menu-hotspot{position:absolute;left:4.4%;width:27.8%;padding:0;background:transparent!important;border:0!important;border-radius:30%;box-shadow:none}.menu-hotspot:hover{box-shadow:0 0 22px #62d8ff80,inset 0 0 20px #66dcff30}.menu-hotspot:focus-visible{outline:3px solid #a0f1ff;outline-offset:2px}#menu-play{top:44.2%;height:10.4%}#menu-levels{top:56.2%;height:7.3%}#menu-help{top:66.1%;height:7.3%}#menu-settings{top:76.2%;height:7.3%}#menu-sheet{position:absolute;inset:0;background:#020c17b8;display:grid;place-items:center;padding:20px}.menu-sheet-window{width:min(620px,94vw);max-height:90vh;overflow:auto;padding:22px;border:2px solid #b38d4e;border-radius:9px;background:linear-gradient(#193c51,#0b1f30);box-shadow:0 20px 70px #000c}.menu-sheet-window header{height:auto;padding:0 0 12px;justify-content:space-between}.menu-sheet-window h2{font-size:20px;letter-spacing:2px;color:#eccc8e;margin:0}.menu-sheet-window header button{padding:6px 10px}.menu-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.menu-level-grid button{display:flex;flex-direction:column;gap:7px;text-align:left}.menu-level-grid b{font-size:14px}.menu-level-grid small{font-size:9px;color:#e1bd7b}.menu-level-grid span{color:#65d7fb}.menu-instructions{padding-left:20px;color:#c4dce8;line-height:1.7;font-size:13px}.menu-instructions li{margin-bottom:10px}.menu-settings-options{display:grid;gap:12px;padding-top:16px}.menu-settings-options p{font-size:11px;color:#a4c0d1}.main-menu-open>header,.main-menu-open>main{visibility:hidden}@media(max-width:600px){.menu-level-grid{grid-template-columns:1fr}.menu-sheet-window{padding:14px}}

/* Compact objective life bar, with percentage over the fill. */
#engine-health{min-width:112px;width:112px;height:20px;padding:0;border:1px solid #bcead3;border-radius:4px;background:#10251fe8;overflow:hidden}#engine-health>div{height:100%;position:relative}#engine-health label{display:none}#engine-health strong{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;z-index:2;color:white;text-shadow:0 1px 3px #000,1px 0 2px #000}#engine-health meter{position:absolute;inset:0;width:100%;height:100%;margin:0;appearance:none;border:0;background:transparent}#engine-health meter::-webkit-meter-bar{background:#153329;border:0;border-radius:0}#engine-health meter::-webkit-meter-optimum-value{background:linear-gradient(#7de29d,#299057)}

/* Game information belongs within the arena frame. */
.tag,.upgrade-bar{display:none!important}.viewport>.top{position:absolute;left:18px;top:16px;z-index:5;display:flex;gap:26px;align-items:center;margin:0;padding:10px 16px;background:#08231ee6;border:1px solid #c8d7a47a;border-radius:6px;pointer-events:none}.viewport>.top label{font:700 11px system-ui,sans-serif;letter-spacing:1.2px;color:#cfe9c4}.viewport>.top strong{font:800 24px system-ui,sans-serif;color:#fff3bd;text-shadow:0 2px 3px #000}.tower-panel>.objective{display:block;flex:0 0 auto;width:100%;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #84b4c14d;font:600 12px/1.6 system-ui,sans-serif;color:#f0f7ff}.tower-panel>.objective label{display:block;font-size:11px;color:#f0cf8b;letter-spacing:1px}.tower-panel>.objective small{font-size:11px;color:#c4dce7}.viewport>footer{position:absolute;left:18px;bottom:16px;z-index:5;display:block;padding:10px 12px;border:1px solid #a2c5b56b;border-radius:5px;background:#09231eed;color:#f5f9ed;font:700 12px/1.5 system-ui,sans-serif;letter-spacing:.3px}.viewport>footer kbd{font:700 11px ui-monospace,monospace;color:#fff1b7;border-color:#a1b6a6;background:#203e32;padding:3px 5px}.viewport>footer>span:last-child{display:none}.bay-collapsed .objective{display:none}#toast{bottom:20px}
@media(min-width:1100px){main{grid-template-rows:minmax(0,1fr);padding:12px 24px}.arena-layout{grid-row:1}}@media(max-width:850px){.viewport>.top{left:8px;top:8px;padding:6px 10px;gap:15px}.viewport>.top strong{font-size:19px}.viewport>footer{left:8px;bottom:8px;font-size:10px;padding:6px}.viewport>footer kbd{font-size:9px}}

.map-picker,#toast,.tower-panel .panel-title{display:none!important}.hangar-link{margin-left:auto}.tower-panel #bay-toggle{margin-bottom:8px}

.tower-panel .tower-card>.weapon-info-button{top:50%;right:0;transform:translateY(-65px)}.wave-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto;margin-top:10px;width:100%}.tower-panel .wave-actions #launch{flex:1;min-width:0;width:auto;margin:0;padding:14px 5px;font-size:10px}.wave-actions #pause{flex:0 0 58px;width:58px;min-width:0;padding:9px 3px;font:700 9px system-ui,sans-serif;border:1px solid #79b7d0;border-radius:4px;background:#173e52;color:#ecf8ff}.bay-collapsed .wave-actions{position:absolute;bottom:14px;right:62px;width:280px}.bay-collapsed .wave-actions #launch{position:static;width:auto;margin:0}.bay-collapsed .wave-actions #pause{position:static}

/* Compact arsenal leaves space for future weapons without resizing the battlefield. */
.tower-panel .slots{align-content:start;grid-auto-rows:160px;grid-template-rows:repeat(3,160px);gap:10px 12px;flex:1;overflow:auto}.tower-panel .tower-card{height:160px;justify-content:center}.tower-panel .tower-art{height:78px;width:100px}.tower-panel .tower-card>.weapon-info-button{top:20px;transform:none;right:0}.wave-actions #launch{order:0}.wave-actions #pause{order:1}.arena-layout.bay-collapsed{grid-template-columns:minmax(0,1fr) 280px}.bay-collapsed .tower-panel{width:44px;justify-self:end}.bay-collapsed .wave-actions{right:54px;width:210px}.bay-collapsed .tower-panel #speed{right:54px}
@media(min-width:1100px){.tower-panel .slots{grid-template-rows:repeat(3,160px)}}@media(max-height:800px){.tower-panel .slots{grid-template-rows:repeat(3,132px);grid-auto-rows:132px;gap:6px 12px}.tower-panel .tower-card{height:132px}.tower-panel .tower-art{height:60px}.tower-panel .tower-card>.weapon-info-button{top:10px}}

#meadow-life{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.viewport>.top,.viewport>footer,#engine-health{z-index:5}.tower-panel button{border-radius:5px}.tower-panel .tower-upgrade{box-shadow:0 2px 0 #07517b;font-weight:800}.tower-panel .objective label{font-weight:800}.viewport>.top{border:2px solid #a0ce66;background:linear-gradient(#214f36f5,#173e2cf5);box-shadow:0 3px 0 #0c2b21;font-weight:800}.tower-panel{background:linear-gradient(110deg,#134261f5,#12354ff5)}

#pause-menu[hidden]{display:none}#pause-menu{position:fixed;inset:0;z-index:110;display:grid;place-items:center;background:#061c2b99;backdrop-filter:blur(4px)}.pause-window{width:min(350px,90vw);padding:26px;border:3px solid #e8c16d;border-radius:16px;background:linear-gradient(#214b65,#112e45);box-shadow:0 7px 0 #071e2e,0 20px 65px #0008;text-align:center}.pause-window small{font:800 10px system-ui;letter-spacing:3px;color:#a7d5d6}.pause-window h2{font:900 27px system-ui;margin:8px 0 22px;color:#fff4cf;text-shadow:0 3px #102c3a}.pause-window button{display:block;width:100%;margin-top:11px;padding:13px 8px;border-radius:7px;border:1px solid #95d4ed;font:800 13px system-ui;background:linear-gradient(#369bd0,#1975ad);box-shadow:0 3px 0 #063a5c}.pause-window #pause-restart{background:linear-gradient(#f3cc78,#d99e42);border-color:#fff0b9;color:#233b48;box-shadow:0 3px 0 #755322}.pause-window #pause-main{background:#18394e;border-color:#739caf;font-size:11px}.pause-window button:hover{filter:brightness(1.12)}

/* Two specialisations under the approved core rules. */
.upgrade-paths{grid-template-columns:repeat(2,minmax(0,1fr))}

#upgrade-menu .upgrade-window{width:min(1000px,94vw);max-height:94vh;overflow:auto}#upgrade-menu .upgrade-paths{grid-template-columns:repeat(3,minmax(0,1fr))}#upgrade-menu .upgrade-path h3 small{display:block;margin-top:5px;color:#acdbdd;font-size:10px}#upgrade-menu .upgrade-tier{height:115px;min-height:115px}#upgrade-menu .upgrade-purchase img{height:70px;max-height:70px}@media(max-height:850px){#upgrade-menu .upgrade-tier{height:88px;min-height:88px}#upgrade-menu .upgrade-purchase img{height:49px;max-height:49px}}

.research-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:10px 12px;margin:8px 0;border:1px solid #74a7b7;border-radius:5px;background:#173d50;font-size:12px}.research-summary b{margin-left:auto;color:#f3d381}.research-summary progress{width:100%;height:7px;accent-color:#79d6bb}.research-summary small{font-size:10px;color:#c3d8df}.weapon-xp-hud{max-width:240px}.viewport>.top .weapon-xp-hud strong{font-size:13px;line-height:1.6}#upgrade-menu .research-locked .upgrade-purchase span{color:#cbd7ee}
.player-xp-panel{position:absolute;right:30px;bottom:28px;z-index:6;width:32%;max-width:490px;min-width:240px;padding:10px 13px;border:1px solid #dcc477;border-radius:6px;background:linear-gradient(#183d32ed,#102f29ed);box-shadow:0 3px 8px #0005;pointer-events:none}.player-xp-panel>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;font:700 12px system-ui,sans-serif}.player-xp-panel strong{color:#fff0b1;letter-spacing:.7px}.player-xp-panel span{color:#edf9eb;font-size:11px}.player-xp-panel progress{display:block;width:100%;height:11px;appearance:none;border:1px solid #9bbc81;border-radius:6px;overflow:hidden;background:#10281e}.player-xp-panel progress::-webkit-progress-bar{background:#10281e}.player-xp-panel progress::-webkit-progress-value{background:linear-gradient(90deg,#76b342,#d3e981)}.player-xp-panel progress::-moz-progress-bar{background:linear-gradient(90deg,#76b342,#d3e981)}@media(max-width:850px){.player-xp-panel{right:8px;bottom:10px;min-width:185px;width:42%;padding:7px 9px}.player-xp-panel>div{font-size:10px;gap:6px}.player-xp-panel span{font-size:9px}}
#player-name-button{pointer-events:auto;padding:0;border:0;background:transparent;color:#fff0b1;font:800 12px system-ui;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}#player-name-button:hover{color:white;text-decoration:underline}.player-xp-panel>div{justify-content:flex-start}.player-xp-panel>div>span{margin-left:auto}#player-name-dialog[hidden]{display:none}#player-name-dialog{position:fixed;inset:0;z-index:140;display:grid;place-items:center;background:#020c17bc}.player-name-window{width:min(380px,90vw);padding:24px;border:2px solid #d6b96f;border-radius:9px;background:linear-gradient(#193c51,#102737);box-shadow:0 20px 70px #000a}.player-name-window h2{margin:0 0 18px;font-size:19px;color:#ffe0a0}.player-name-window label,.player-name-window small{display:block;margin-bottom:7px;color:#c4dce6;font-size:12px}.player-name-window input{width:100%;padding:12px;border:1px solid #72afbc;border-radius:5px;background:#0b1c2a;color:white;font:600 16px system-ui}.player-name-window small{margin-top:8px;font-size:10px}.player-name-window>div{display:flex;justify-content:flex-end;gap:10px}.player-name-window button{padding:9px 14px;border-radius:5px;font-weight:700}.player-name-window button[type=submit]{background:#e9b971;color:#18232b}#player-name-error{min-height:16px;color:#ffbfac;font-size:12px}
#main-menu .player-name-home{position:absolute;right:3%;top:4%;z-index:3;max-width:35%;padding:12px 20px;border:2px solid #d6b96f;border-radius:7px;background:#102d43ed;color:#ffe4a3;box-shadow:0 3px 10px #0006;font:800 15px system-ui;pointer-events:auto}#main-menu .player-name-home:hover{background:#214b60;color:white}#player-name-dialog{z-index:200}@media(max-width:650px){#main-menu .player-name-home{padding:8px 12px;font-size:12px}}
#player-display-name{max-width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#player-level{font-size:11px;white-space:nowrap}

/* HUD text belongs directly on the arena, without a coloured card. */
.viewport>.top{background:none;border:0;box-shadow:none;border-radius:0;padding:0;gap:26px;pointer-events:none}.viewport>.top label,.viewport>.top strong{color:#fff8df;text-shadow:0 1px 3px #201507,0 0 4px #201507}

/* User-directed arena HUD: transparent panels, clear blue lettering. */
.viewport>footer,.viewport>.top .weapon-xp-hud{display:none}
.viewport>.top label,.viewport>.top strong,.player-xp-panel strong,.player-xp-panel span{color:#142d40;text-shadow:1px 0 #fff3d8,-1px 0 #fff3d8,0 1px #fff3d8,0 -1px #fff3d8,0 2px 3px #fff8e8;font-family:"Trebuchet MS",Arial,sans-serif;font-weight:900}
.viewport>.top label{font-size:12px;letter-spacing:.8px}.viewport>.top strong{font-size:28px;letter-spacing:.2px}
.player-xp-panel{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0}
.player-xp-panel>div{font-family:"Trebuchet MS",Arial,sans-serif;font-weight:900;font-size:14px}.player-xp-panel span{font-size:12px}
.player-xp-panel progress{border-color:#16415a;background:#fff8;border-radius:5px}.player-xp-panel progress::-webkit-progress-bar{background:#ffffff80}.player-xp-panel progress::-webkit-progress-value{background:linear-gradient(90deg,#087fc1,#5ad9ff)}.player-xp-panel progress::-moz-progress-bar{background:#249ed4}

/* Outpost armoury workshop */
#upgrade-menu .upgrade-window{width:min(1380px,97vw);padding:22px;background:radial-gradient(ellipse at 30% 10%,#23495b,#102635 65%);border:2px solid #d3b16b;border-radius:18px;box-shadow:0 24px 100px #000c,inset 0 0 0 5px #0c1e2b}
#upgrade-menu .upgrade-heading h2{font-size:26px;text-transform:uppercase;letter-spacing:1px;color:#fff0ce}#upgrade-menu .upgrade-summary{display:flex;gap:18px;align-items:center}#upgrade-menu .upgrade-summary select{width:auto;min-width:260px}#upgrade-menu .upgrade-summary p{width:auto;flex:1}#upgrade-menu .research-summary{background:#0a202d;border-color:#355b6d;margin-bottom:20px}
.workshop-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}.upgrade-inspector{border:1px solid #7399a8;border-radius:12px;background:linear-gradient(145deg,#204959,#0b202d);padding:18px;display:flex;flex-direction:column;gap:10px}.workshop-eyebrow{font-size:10px;font-weight:800;letter-spacing:3px;color:#9bcbda}.inspector-art{height:180px;background:radial-gradient(ellipse,#57d8e341,transparent 70%);display:grid;place-items:center}.inspector-art img{width:100%;height:100%;max-height:180px;object-fit:contain;filter:drop-shadow(0 12px 10px #0008)}.inspector-tier{font-size:10px;color:#ffd584;letter-spacing:2px}.upgrade-inspector h3{font-size:23px;color:#fff0cc;margin:0}.upgrade-inspector p{font-size:12px;line-height:1.6;color:#cfdee5;margin:0}.inspector-stats{font-size:11px;line-height:1.6;color:#a9e7ee;border-top:1px solid #436675;padding-top:10px}.inspector-cost{display:grid;gap:5px;margin-top:auto;border-top:1px solid #436675;padding-top:12px}.inspector-cost span{font-size:9px;letter-spacing:1.5px;color:#9fbfcd}.inspector-cost strong{font-size:18px;color:#ffda8d;margin-bottom:7px}.upgrade-inspector>small{font-size:10px;line-height:1.5;color:#a9c1cb}
#upgrade-menu .upgrade-paths{display:flex;flex-direction:column;gap:16px;min-width:0}#upgrade-menu .upgrade-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;position:relative;background:#0b202c80;border:1px solid #456775;border-radius:12px;padding:34px 12px 12px}#upgrade-menu .upgrade-path h3{position:absolute;left:16px;top:10px;font-size:12px;min-height:0;text-align:left;text-transform:uppercase;letter-spacing:1px}#upgrade-menu .upgrade-path h3 small{display:inline;margin-left:12px;font-size:9px}#upgrade-menu .upgrade-tier{height:auto;min-height:0;margin:0;padding:6px 3px;border:1px solid #557d8c;border-radius:10px;background:linear-gradient(#23546b,#123448);box-shadow:0 4px 0 #071c28;z-index:1}#upgrade-menu .upgrade-tier:before{content:'';position:absolute;height:3px;width:14px;background:#5eaaba;left:-13px;top:48px;z-index:-1}#upgrade-menu .upgrade-tier:first-of-type:before{display:none}#upgrade-menu .upgrade-tier.inspected{border-color:#ffdb82;box-shadow:0 0 0 2px #e3bc6255,0 4px 0 #071c28}#upgrade-menu .upgrade-tier.owned{background:linear-gradient(#286764,#143c42)}#upgrade-menu .upgrade-purchase img{height:91px;max-height:91px;max-width:140px;filter:drop-shadow(0 6px 4px #0006)}#upgrade-menu .upgrade-purchase:disabled img{opacity:.65}#upgrade-menu .upgrade-purchase span{min-width:0;width:95%;padding:6px 2px;font-size:10px;font-weight:800;border-radius:5px}#upgrade-menu .upgrade-tier>.info-dot{right:5px;top:5px}#upgrade-menu .inspect-upgrade{background:none;border:0;box-shadow:none;color:#e7f4fa;width:100%;font-size:11px;font-weight:750;line-height:1.2;padding:7px 2px 2px;min-height:38px}#upgrade-menu .inspect-upgrade small{display:block;font-size:8px;color:#a9cfdb;letter-spacing:1px;margin:4px 0 0}#upgrade-menu button:focus-visible{outline:2px solid #fff0b4;outline-offset:3px}
/* Larger turret selection cards, using the game's own models. */
.tower-panel .weapon-slots{gap:12px;padding:10px 6px}.tower-panel .tower-card{border:1px solid #4d99af;border-radius:12px;background:linear-gradient(145deg,#296075,#123044);padding:5px;box-shadow:0 4px 0 #091d2a}.tower-panel .tower-card:has([data-tool].active){border-color:#ffe29b;box-shadow:0 0 0 2px #dfb45c,0 4px 0 #091d2a}.tower-panel [data-tool]{width:100%;border:0;background:transparent;padding:5px 1px}.tower-panel [data-tool] img{width:100%;height:105px;object-fit:contain;filter:drop-shadow(0 7px 4px #0008)}.tower-panel [data-tool] b{font-size:12px;color:#f2f8fa}.tower-panel [data-tool] small{display:block;font-size:16px;font-weight:900;color:#ffe1a0;text-shadow:0 2px 2px #000;margin-top:5px}.tower-panel .tower-upgrade{border-radius:5px;width:100%;font-size:9px;background:#16374b;border-color:#5c9aae;padding:5px}.tower-panel .tower-card>.weapon-info-button{right:6px;top:6px}.tower-panel #speed{margin-top:auto}
@media(max-height:850px){.tower-panel [data-tool] img{height:70px}.tower-panel .weapon-slots{gap:8px}.tower-panel [data-tool] small{font-size:13px}#upgrade-menu .upgrade-purchase img{height:65px;max-height:65px}.inspector-art{height:130px}#upgrade-menu .upgrade-paths{gap:10px}}
@media(max-width:1000px){.workshop-body{grid-template-columns:200px minmax(0,1fr);gap:12px}#upgrade-menu .upgrade-window{padding:14px}.upgrade-inspector{padding:12px}#upgrade-menu .upgrade-path{gap:6px;padding-left:7px;padding-right:7px}#upgrade-menu .inspect-upgrade{font-size:9px}#upgrade-menu .upgrade-heading h2{font-size:21px}}
@media(max-width:700px){.workshop-body{display:flex;flex-direction:column}.upgrade-inspector{display:grid;grid-template-columns:100px 1fr}.inspector-art{grid-row:1/6;height:100px}.inspector-cost{grid-column:1/-1;grid-template-columns:1fr 1fr}.upgrade-inspector>small,.inspector-stats,.workshop-eyebrow{display:none}#upgrade-menu .upgrade-paths{min-width:550px}#upgrade-menu .workshop-body{overflow:auto}#upgrade-menu .upgrade-summary select{min-width:0;width:100%}}
.tower-panel .slots{grid-template-rows:repeat(3,minmax(0,190px));grid-auto-rows:190px;gap:12px;align-content:start}.tower-panel .tower-card{display:flex;flex-direction:column;height:auto;min-height:0;box-sizing:border-box}.tower-panel .tower-card>[data-tool]{display:flex;flex-direction:column;flex:1;justify-content:center;gap:3px;text-align:center;box-sizing:border-box;min-height:0}.tower-panel .tower-card>[data-tool] span:last-child{flex:0;min-width:0}.tower-panel .tower-card>.tower-upgrade{box-sizing:border-box;flex:0;position:static;min-height:24px}.tower-panel .tower-card:has([data-tool].selected){border-color:#ffe29b;box-shadow:0 0 0 2px #dfb45c}.tower-panel .tower-card>.weapon-info-button{transform:none;top:6px;right:6px}@media(max-height:850px){.tower-panel .slots{grid-template-rows:repeat(3,150px);grid-auto-rows:150px;gap:8px}}

.tower-panel .tower-card:has([data-tool]:disabled){background:linear-gradient(#23343e,#162630);border-color:#51616a}.tower-panel [data-tool]:disabled{cursor:not-allowed;opacity:1}.tower-panel [data-tool]:disabled img{filter:grayscale(1);opacity:.35}.tower-panel [data-tool]:disabled small{font-size:13px;color:#a8c1cd;letter-spacing:1px}

#turret-actions[hidden]{display:none}#turret-actions{position:fixed;z-index:95;width:220px;padding:14px;border:1px solid #dfbd75;border-radius:12px;background:linear-gradient(#23495b,#102635);box-shadow:0 10px 35px #000a;color:#fff0cc}#turret-actions strong{display:block;margin:0 20px 12px 0;font-size:14px}#turret-actions button{display:block;width:100%;margin-top:8px;padding:10px;font-weight:800;background:#225b76;border:1px solid #71c7db;border-radius:6px}#turret-actions [data-action=demolish]{background:#734634;border-color:#d89a6d}#turret-actions small{display:block;font-size:10px;margin-top:4px;font-weight:500}#turret-actions [data-action=close]{position:absolute;right:8px;top:3px;width:24px;padding:2px;background:none;border:0}

.pause-window .pause-logo{display:block;width:132px;height:58px;object-fit:contain;margin:0 auto 12px}.pause-window [hidden]{display:none}.pause-window #pause-settings-page p{font-size:12px;color:#bad2df;line-height:1.6;margin:14px 0}.pause-window #pause-settings{background:#204456;border-color:#75a4bc}

/* Aligned live menu controls and arena picture cards. */
.main-menu-stage nav{inset:46% auto auto 5.6%;width:27.5%;display:flex;flex-direction:column;gap:18px}.main-menu-stage .menu-hotspot{position:relative;inset:auto!important;width:100%;height:auto!important;min-height:52px;padding:13px 12px;background:linear-gradient(180deg,#193d58,#09243c 48%,#123a55)!important;border:2px solid #d3ad5e!important;border-radius:9px;box-shadow:0 5px 0 #071826,inset 0 0 0 3px #263d4e,inset 0 0 18px #3bade044}.menu-hotspot span{font:bold clamp(12px,1.7vw,28px) Georgia,serif;letter-spacing:2px;color:#d5f5ff;text-shadow:0 0 12px #35c2fc}.main-menu-stage #menu-play{border-color:#ffe1a0!important;background:linear-gradient(#205f8b,#0a3a64)!important}.main-menu-stage #menu-play span{font-size:clamp(19px,2.8vw,42px)}
#menu-sheet:has(.menu-level-grid) .menu-sheet-window{width:min(1150px,95vw)}.menu-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.menu-level-grid button{position:relative;padding:0 0 14px;overflow:hidden;border:1px solid #7296a7;border-radius:10px;background:#112c3e}.level-shot{position:relative;width:100%;aspect-ratio:1476/1065;overflow:hidden;background:#183247}.level-shot .level-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.level-shot .level-road{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:fill}.level-endpoint{position:absolute;width:10%;height:15%;object-fit:contain;transform:translate(-50%,-75%);filter:drop-shadow(0 2px 2px #0008)}.menu-level-grid b,.menu-level-grid small{margin-left:14px}.menu-level-grid b{font-size:16px;margin-top:5px}.menu-level-grid .level-number{position:absolute;top:10px;left:10px;border:1px solid #e6c986;background:#102a3ee8;color:#fff1c5;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-weight:800}.level-group-label{font-size:11px;letter-spacing:2px;color:#b5d7e5}.pause-window #pause-help-page{max-height:65vh;overflow:auto}.pause-window:has(#pause-help-page:not([hidden])){width:min(620px,92vw)}
@media(max-width:850px){.main-menu-stage nav{gap:10px}.main-menu-stage .menu-hotspot{min-height:35px;padding:8px}.menu-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media(max-width:500px){.menu-level-grid{grid-template-columns:1fr}.main-menu-stage nav{gap:6px}.main-menu-stage .menu-hotspot{min-height:24px;padding:4px}.menu-hotspot span{letter-spacing:1px;font-size:9px}}

.main-menu-stage>img.main-menu-logo{position:absolute;left:2%;top:12%;width:35%;height:25%;object-fit:contain;filter:drop-shadow(0 5px 10px #001527);pointer-events:none}.pause-window .pause-logo{width:150px;height:62px}
.main-menu-stage>img.main-menu-logo{left:2%;top:6%;width:35%;height:36%}.pause-window .pause-logo{width:150px;height:88px}

.main-menu-stage .studio-credit{position:absolute;left:2.5%;bottom:2%;width:40%;height:14%;display:flex;align-items:center;gap:3%;pointer-events:none}.studio-credit img{display:block;width:44%;height:100%;object-fit:contain;mix-blend-mode:screen}.studio-credit p{margin:0;color:#d9edf7;font:500 clamp(10px,1.35vw,23px)/1.5 system-ui,sans-serif;text-shadow:0 2px 6px #071527;letter-spacing:.3px}.studio-credit strong{font-weight:800;color:#ffe3a2}@media(max-width:600px){.studio-credit p{font-size:clamp(7px,1.4vw,12px)}}

.studio-credit p{white-space:nowrap;font-size:clamp(8px,1.05vw,19px)}

/* Arena deployment console: metal trim, illuminated panels and clear map cards. */
#menu-sheet:has(.menu-level-grid){background:radial-gradient(ellipse,#03162799,#020911de);backdrop-filter:blur(5px)}
#menu-sheet:has(.menu-level-grid) .menu-sheet-window{position:relative;width:min(1250px,95vw);padding:25px;border:3px solid #cfaa60;border-radius:18px;background:repeating-linear-gradient(135deg,#ffffff02 0 1px,transparent 1px 9px),linear-gradient(130deg,#25475b,#102e43 45%,#091d2d);box-shadow:0 28px 100px #000d,0 0 0 5px #0c2336,inset 0 0 0 3px #5c482b,inset 0 2px 0 #ffe5a3}
#menu-sheet:has(.menu-level-grid) .menu-sheet-window:before,#menu-sheet:has(.menu-level-grid) .menu-sheet-window:after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f7e2ac,#8c733d 60%,#27313b 65%);top:10px;box-shadow:0 1px 3px #000}#menu-sheet:has(.menu-level-grid) .menu-sheet-window:before{left:10px}#menu-sheet:has(.menu-level-grid) .menu-sheet-window:after{right:10px}
#menu-sheet:has(.menu-level-grid) header{padding:1px 0 16px;border-bottom:1px solid #52859a;align-items:center}#menu-sheet:has(.menu-level-grid) header h2{font:800 clamp(18px,2vw,30px) Georgia,serif;color:#ffe4a8;letter-spacing:2px;text-shadow:0 2px 0 #0b1824}#menu-sheet:has(.menu-level-grid) header button{border:1px solid #c3a76e;border-radius:5px;background:#142c40;color:#ffdf9d;font-size:15px}
.deployment-banner{display:flex;align-items:center;gap:12px;margin:16px 0 18px;padding:12px 15px;background:linear-gradient(90deg,#133b51,#0a2334);border:1px solid #40748a;border-radius:8px;box-shadow:inset 3px 0 #71dcf0}.deployment-banner b{font-size:11px;letter-spacing:2px;color:#9deaff}.deployment-banner p{margin:5px 0 0;font-size:13px;color:#d3e8f1}.deployment-signal{width:10px;height:10px;border-radius:50%;background:#76f5d3;box-shadow:0 0 12px #72ffe4}.deployment-mode{margin-left:auto;color:#ffe3a0;font-size:14px;font-weight:900;letter-spacing:2px;text-align:right}.deployment-mode small{display:block;margin-top:5px;color:#a7c6d7;font-size:9px;letter-spacing:1px}
#menu-sheet .menu-level-grid{gap:19px;margin-top:0}#menu-sheet .menu-level-grid button{border:2px solid #8b7852;border-radius:10px;padding:6px 6px 14px;background:linear-gradient(145deg,#2b4c5d,#122e40 60%);box-shadow:0 5px 0 #061725,inset 0 1px #c2d2cd55;transition:transform .15s,border-color .15s,box-shadow .15s;gap:7px}#menu-sheet .menu-level-grid button:hover,#menu-sheet .menu-level-grid button:focus-visible{transform:translateY(-3px);border-color:#f7d98e;outline:2px solid #68daed;outline-offset:2px;box-shadow:0 7px 0 #061725,0 0 20px #4dc8e433}#menu-sheet .level-shot{border:1px solid #071725;border-radius:5px;box-shadow:0 1px 0 #bbd4d944}#menu-sheet .menu-level-grid b{font:800 clamp(13px,1.25vw,19px) Georgia,serif;color:#fff1cb;margin:5px 7px 0;letter-spacing:.3px}#menu-sheet .menu-level-grid>button>small{display:flex;align-items:center;justify-content:space-between;margin:3px 7px 0;font-size:10px;letter-spacing:1px;color:#9ec4d6;width:calc(100% - 14px)}#menu-sheet .menu-level-grid .level-number{left:14px;top:14px;width:29px;height:29px;color:#ffe5a5;border:2px solid #d7b96e;background:linear-gradient(#1f4b64,#0a2132);box-shadow:0 2px 5px #0008;font-size:12px}
#menu-sheet .deploy-card-action{color:#ffe2a0;border:1px solid #987b43;border-radius:4px;padding:5px 9px;background:linear-gradient(#28536b,#17374b);font-weight:800;font-size:10px}#menu-sheet .deploy-card-action span{color:#8fe8f6;margin-left:5px}
@media(max-height:850px){#menu-sheet:has(.menu-level-grid) .menu-sheet-window{padding:16px}.deployment-banner{margin:10px 0 12px;padding:8px 12px}#menu-sheet .menu-level-grid{gap:12px}#menu-sheet .menu-level-grid button{padding-bottom:9px}}@media(prefers-reduced-motion:reduce){#menu-sheet .menu-level-grid button{transition:none}}

/* Keep legacy canvas hidden even before any JavaScript starts. */
#game{visibility:hidden!important}#scene{visibility:hidden}body.arena-ready #scene{visibility:visible}#arena-loading[hidden]{display:none}#arena-loading{position:absolute;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:radial-gradient(ellipse at 50% 40%,#173d52,#071722 75%);color:#d1eaf3}#arena-loading img{width:min(300px,48%);height:auto;max-height:190px;object-fit:contain}#arena-loading p{font:600 14px system-ui;letter-spacing:1px}.arena-loading-spinner{width:30px;height:30px;border:3px solid #456170;border-top-color:#ffe0a0;border-right-color:#6ed8ef;border-radius:50%;animation:arena-spin 1s linear infinite}.load-failed .arena-loading-spinner{display:none}@keyframes arena-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.arena-loading-spinner{animation:none}}

#menu-sheet:has(.menu-level-grid) header{position:relative;min-height:100px;margin-bottom:18px}#menu-sheet .level-select-logo{position:absolute;left:50%;top:0;transform:translateX(-50%);width:180px;height:90px;object-fit:contain}#menu-sheet:has(.menu-level-grid) header h2{font-size:21px}.name-entry-logo{display:block;margin:0 auto 20px;width:210px;height:110px;object-fit:contain}#player-name-dialog{z-index:250;backdrop-filter:blur(8px)}.player-name-window [hidden]{display:none}#main-menu[inert]{pointer-events:none}@media(max-width:600px){#menu-sheet:has(.menu-level-grid) header{min-height:130px;align-items:end;padding-bottom:12px}#menu-sheet .level-select-logo{height:80px;width:160px}}
#issue-report{width:min(560px,90vw);max-height:88vh;overflow:auto;color:#f5edd4;background:linear-gradient(145deg,#20475b,#0b2435);border:2px solid #e7b756;border-radius:14px;padding:26px;box-shadow:0 12px 60px #000a;font:inherit}#issue-report::backdrop{background:#001222b8;backdrop-filter:blur(5px)}#issue-report h2{color:#ffda87;letter-spacing:.08em}#issue-report p{font-size:14px;line-height:1.5}#issue-report textarea{display:block;box-sizing:border-box;width:100%;margin:10px 0;padding:12px;border:1px solid #75adc2;border-radius:6px;background:#071f30;color:white;font:inherit;resize:vertical}.issue-actions{display:flex;gap:9px;flex-wrap:wrap}#issue-report button{padding:12px;border:1px solid #dfb768;border-radius:5px;color:#fff0c5;background:#19455e;font-weight:bold;cursor:pointer}#issue-report button:focus-visible{outline:3px solid #8af4ff}

.level-difficulty-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.level-difficulty-tabs button{padding:10px 16px;border:1px solid #8c9b93;border-radius:5px;background:#123149;color:#c3e3ef;font-weight:bold}.level-difficulty-tabs button[aria-pressed=true]{border-color:#ffe0a0;background:#325e70;color:#ffe0a0}

/* Environmental interaction on Polar Relay. */
.ice-pond-hit{position:absolute;left:40.5%;top:36%;width:17%;height:18%;z-index:5;border:0!important;border-radius:50%;background:transparent!important;box-shadow:none!important;padding:0;cursor:pointer;transform:none!important;}
.ice-pond-hit span{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);white-space:nowrap;background:#103747e8;border:1px solid #a6eaff;border-radius:5px;padding:5px 8px;color:#e4fbff;font:bold 10px system-ui;letter-spacing:.07em;box-shadow:0 2px 8px #001b35a0;}
.ice-pond-hit:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.ice-pond-prompt{position:absolute;left:49%;top:46%;transform:translate(-50%,-50%);z-index:35;width:290px;max-width:calc(100% - 32px);box-sizing:border-box;padding:20px;border:2px solid #d1b368;border-radius:10px;background:linear-gradient(145deg,#214a60,#0d2636);box-shadow:0 12px 35px #00101bcc,inset 0 0 0 2px #7294a333;color:#e8f8ff;}
.ice-pond-prompt[hidden],.ice-pond-hit[hidden]{display:none!important;}
.ice-pond-prompt h2{font:bold 17px Georgia,serif;letter-spacing:.07em;color:#ffe2a0;margin:0 0 14px;}
.ice-pond-prompt p{font:13px/1.5 system-ui;margin:10px 0;}.ice-pond-prompt small{font:11px/1.5 system-ui;color:#b8d8e8;display:block;}
.ice-pond-prompt .ice-pond-close{position:absolute;right:8px;top:8px;padding:1px 7px;min-width:0;font-size:17px;background:#102d3c;color:#c6e1ec;border:1px solid #688d9e;}
.ice-pond-actions{display:flex;gap:8px;margin-top:14px;}.ice-pond-actions button{font:bold 10px system-ui;padding:10px 8px;border-radius:4px;}.ice-pond-actions #ice-pond-buy{flex:1;background:linear-gradient(#f6d48b,#c6923e);color:#162c38;border:1px solid #ffe0a0;}.ice-pond-actions #ice-pond-buy:disabled{background:#4d616d;color:#c0cbd0;border-color:#75818a;cursor:not-allowed;opacity:.75;}.ice-pond-actions #ice-pond-cancel{background:#153444;color:#d2e9f4;border:1px solid #66899a;}

/* Auto-wave control sits beside normal/double speed. */
.tower-panel #wave-controls{display:flex;align-items:stretch;justify-content:center;gap:6px;width:100%;margin-top:auto;flex:0 0 auto}
.tower-panel #wave-controls #speed,.tower-panel #auto-waves{position:static;flex:1;min-width:0;margin:0;padding:8px 5px;border:1px solid #78c8ec;border-radius:4px;background:#102c3bdd;color:#d7f8ff;font-size:11px;font-weight:700;white-space:nowrap}
.tower-panel #auto-waves[aria-pressed=true]{background:#167bb7;color:white;box-shadow:0 0 8px #69dfff80}
#auto-waves:focus-visible{outline:2px solid #ffe09b;outline-offset:2px}
.bay-collapsed .tower-panel #wave-controls{position:absolute;bottom:69px;right:54px;width:220px}

#engine-health{top:16px;right:16px;left:auto;transform:none;display:flex;align-items:center;gap:9px;width:auto;height:auto;min-width:155px;padding:7px 12px;background:#102531ee;overflow:visible;border-color:#c8a362}#engine-health>img{width:62px;height:45px;object-fit:contain}#engine-health>div{height:auto}#engine-health label{display:block;font-size:10px;letter-spacing:1px}#engine-health strong{position:static;display:block;font-size:22px}#engine-health meter{display:none}


.viewport>.top{top:16px;left:16px;display:flex;align-items:center;gap:24px;padding:7px 14px;min-height:61px;background:#102531ee;border:1px solid #c8a362;border-radius:4px;box-shadow:0 2px 8px #0009}.viewport>.top label{display:block;color:#d2efe6;text-shadow:none;font:700 10px system-ui,sans-serif;letter-spacing:1px}.viewport>.top strong{display:block;color:white;text-shadow:0 1px 2px #000;font:700 22px system-ui,sans-serif;letter-spacing:0}


.level-shot .level-endpoint-layer{inset:0;width:100%;height:100%;transform:none;object-fit:fill;filter:none;pointer-events:none}


/* Research remains available even when this placed turret cannot buy the path. */
.upgrade-path.path-locked{opacity:1}

/* Settings use the same Georgia title/button lettering as the main menu. */
#menu-sheet .menu-sheet-window,#menu-sheet .menu-sheet-window button,#menu-sheet .menu-sheet-window input,#menu-sheet .menu-sheet-window h2{font-family:Georgia,serif}
#menu-sheet .menu-settings-options button{font-size:16px;font-weight:bold;letter-spacing:1px;min-height:46px}
#menu-sheet #menu-sheet-close{background:#bc2931!important;border:1px solid #ff8a8e!important;color:white!important;width:38px;height:36px;padding:0;font:bold 22px Georgia,serif;display:grid;place-items:center;border-radius:5px}
#menu-sheet #menu-sheet-close:hover{background:#e14049!important}
.volume-control{display:grid;gap:12px;padding:15px;background:#102a3c;border:1px solid #55758b;border-radius:5px;font:bold 15px Georgia,serif;color:#d5f5ff;letter-spacing:1px}
.volume-control>span{display:flex;justify-content:space-between;gap:15px}.volume-control output{color:#ffdfa0}.volume-control input{width:100%;accent-color:#e4b862;cursor:pointer;min-height:24px}
#menu-sheet .menu-settings-options>small{font:13px Georgia,serif;color:#adc6d5}

#studio-intro{position:fixed;inset:0;z-index:230;background:#000;display:grid;place-items:center}#studio-intro video{width:100%;height:100%;object-fit:contain}#skip-studio-intro{position:absolute;right:25px;bottom:25px;padding:10px 18px;border:1px solid #d5b16b;border-radius:5px;background:#102333d9;color:#fff0cc;font:bold 13px Georgia,serif;letter-spacing:1px}#skip-studio-intro:focus-visible{outline:3px solid #9cecff;outline-offset:3px}

.supply-crate-tap{position:absolute;z-index:12;width:48px;height:48px;transform:translate(-50%,-50%);border:2px solid #f8d36a;border-radius:10px;background:transparent;box-shadow:0 0 12px #ffd35a88;cursor:pointer;padding:0}.supply-crate-tap[hidden]{display:none}.supply-crate-tap:hover,.supply-crate-tap:focus-visible{outline:3px solid #8aeaff;outline-offset:3px;background:#ffe88a22}

/* Keep both arena counters aligned close to the top edge. */
.viewport>.top,#engine-health{top:8px}


/* Avoid showing retired shop artwork while current meshes load. */
body:not(.arena-ready) #weapon-slots img{visibility:hidden}
