:root{--ink:#07100e;--paper:#d9dfd1;--lime:#c9f150;--acid:#a8d13c;--orange:#ff6a35;--blue:#70e3ee;--muted:#89918a;--line:rgba(218,232,210,.14);--display:'Barlow Condensed','Arial Narrow',sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--mono);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.noise{position:fixed;inset:0;z-index:100;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{height:78px;padding:0 clamp(24px,5vw,82px);display:flex;align-items:center;position:absolute;z-index:20;width:100%;border-bottom:1px solid rgba(255,255,255,.09)}.brand{color:#fff;text-decoration:none;font:800 27px/1 var(--display);letter-spacing:-1px;display:flex;align-items:center;gap:12px}.brand>span>span,.game-logo span{color:var(--lime)}.brand-mark{width:28px;height:28px;border:1px solid var(--lime);position:relative;display:flex!important;align-items:center;justify-content:center;gap:2px;transform:skew(-8deg)}.brand-mark i{width:3px;height:13px;background:var(--lime);transform:skew(8deg)}.brand-mark i:nth-child(2){height:20px}.site-header nav{display:flex;gap:38px;margin-left:auto;margin-right:55px}.site-header nav a{font:600 13px var(--display);text-transform:uppercase;letter-spacing:1.4px;color:#b7bdb5;text-decoration:none}.site-header nav a:hover{color:var(--lime)}.sound-toggle{background:none;border:0;color:#808a83;font:500 10px var(--mono);letter-spacing:1px}.sound-toggle span{color:var(--lime)}
.hero{min-height:790px;height:100vh;max-height:960px;position:relative;display:grid;grid-template-columns:46% 54%;overflow:hidden;background:radial-gradient(circle at 67% 37%,#1b3325 0,transparent 32%),linear-gradient(110deg,#08110f 35%,#122019)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.18) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.15) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 75%)}.grid-floor{position:absolute;width:85%;height:48%;right:-12%;bottom:-24%;border:1px solid rgba(201,241,80,.18);transform:perspective(550px) rotateX(64deg) rotateZ(-7deg);background-image:linear-gradient(rgba(201,241,80,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(201,241,80,.17) 1px,transparent 1px);background-size:65px 65px}.hero-copy{position:relative;z-index:2;align-self:center;padding-left:clamp(24px,7.5vw,124px);padding-top:55px}.eyebrow,.kicker{font:500 10px var(--mono);letter-spacing:2px;color:var(--lime)}.eyebrow span{display:inline-block;width:28px;height:1px;background:var(--lime);vertical-align:middle;margin-right:10px}.hero h1{font:800 clamp(68px,7.4vw,124px)/.78 var(--display);letter-spacing:-4px;margin:35px 0 34px;color:#eff1e7}.hero h1 em{font-style:italic;color:transparent;-webkit-text-stroke:1.5px var(--lime)}.hero-copy>p{font-size:13px;line-height:1.8;color:#a8afa7;max-width:510px}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:38px}.primary-btn{height:58px;min-width:204px;padding:0;border:0;background:var(--lime);display:flex;align-items:center;color:#10160f;font:700 15px var(--display);letter-spacing:1.2px;clip-path:polygon(0 0,93% 0,100% 25%,100% 100%,0 100%)}.primary-btn span{padding:0 27px;flex:1}.primary-btn b{font-size:20px;border-left:1px solid rgba(0,0,0,.22);height:100%;width:51px;display:grid;place-items:center}.primary-btn:hover{filter:brightness(1.12)}.text-btn{background:none;border:0;color:#d5d9d1;font:600 13px var(--display);letter-spacing:.6px}.text-btn span{color:var(--lime);margin-left:8px}.status-line{display:flex;align-items:center;gap:8px;margin-top:66px;font-size:8px;letter-spacing:1px;color:#777f79}.status-line i{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 9px var(--lime)}.status-line span{color:#a5c835}.status-line b{font-weight:400;margin-left:12px}.hero-art{position:relative;margin-top:78px;overflow:hidden;background:linear-gradient(140deg,transparent 5%,rgba(201,241,80,.035))}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0,transparent 17%,transparent 90%,var(--ink)),linear-gradient(0deg,var(--ink) 0,transparent 18%)}.sun{position:absolute;width:37vw;height:37vw;max-width:560px;max-height:560px;border-radius:50%;right:7%;top:6%;background:repeating-linear-gradient(0deg,rgba(201,241,80,.24) 0 3px,rgba(150,186,65,.2) 3px 7px);box-shadow:0 0 90px rgba(201,241,80,.12)}.mountains{position:absolute;left:0;right:0;bottom:16%;height:48%;background:#17241d;clip-path:polygon(0 72%,9% 57%,18% 65%,29% 35%,36% 50%,47% 31%,55% 49%,65% 27%,75% 58%,86% 43%,100% 61%,100% 100%,0 100%)}.mountains.m2{bottom:6%;height:37%;background:#0c1713;clip-path:polygon(0 62%,14% 42%,26% 70%,41% 48%,55% 67%,68% 38%,83% 61%,100% 42%,100% 100%,0 100%)}.tank-illustration{position:absolute;width:430px;height:310px;left:43%;top:49%;transform:translate(-50%,-50%) rotate(-4deg);z-index:2;filter:drop-shadow(0 30px 25px rgba(0,0,0,.65))}.tank-illustration .body{position:absolute;width:280px;height:105px;left:70px;top:115px;background:linear-gradient(145deg,#6f765e,#2c3b31 65%);clip-path:polygon(10% 0,88% 9%,100% 71%,84% 100%,13% 94%,0 58%);border-top:4px solid #a3a689}.tank-illustration .turret{position:absolute;width:150px;height:78px;left:140px;top:68px;background:linear-gradient(140deg,#889077,#36463b 70%);clip-path:polygon(20% 0,84% 12%,100% 60%,75% 100%,0 76%)}.tank-illustration .cannon{position:absolute;width:190px;height:18px;left:255px;top:82px;background:linear-gradient(#6b7665,#26382e);transform:rotate(-10deg);transform-origin:left center;clip-path:polygon(0 12%,100% 0,100% 100%,0 84%)}.tank-illustration .cannon:after{content:"";position:absolute;width:27px;height:28px;background:#96a17c;right:5px;top:-5px}.tank-illustration .track{position:absolute;width:78px;height:150px;top:139px;border-radius:32px;background:repeating-linear-gradient(0deg,#26312b 0 13px,#111b17 13px 18px);border:6px solid #111915}.tank-illustration .track.left{left:66px;transform:rotate(6deg)}.tank-illustration .track.right{right:58px;transform:rotate(-5deg)}.tank-illustration .antenna{position:absolute;width:2px;height:70px;background:#9cac85;left:183px;top:11px;transform:rotate(-10deg)}.alien{position:absolute;width:35px;height:57px;background:#283a28;clip-path:polygon(44% 0,57% 0,70% 36%,100% 63%,73% 61%,69% 100%,54% 71%,43% 100%,32% 65%,0 67%,28% 36%);z-index:1;filter:drop-shadow(0 0 8px rgba(201,241,80,.5))}.alien:after{content:"";position:absolute;left:12px;top:13px;width:11px;height:5px;background:var(--lime);box-shadow:0 0 9px var(--lime)}.alien.a1{right:15%;top:28%;transform:scale(1.8)}.alien.a2{left:13%;top:29%;transform:scale(.9)}.tracer{position:absolute;width:180px;height:2px;background:linear-gradient(90deg,transparent,var(--orange));z-index:3;box-shadow:0 0 8px var(--orange)}.tracer.t1{right:17%;top:43%;transform:rotate(-20deg)}.tracer.t2{right:3%;top:56%;width:110px;transform:rotate(-12deg)}.art-label{position:absolute;font-size:8px;line-height:1.6;color:#87948a;letter-spacing:1.2px;z-index:4}.art-label b{color:#d1d7ce;font-weight:500}.art-label.top{right:8%;top:8%;border-right:1px solid var(--lime);padding-right:12px;text-align:right}.art-label.bottom{right:8%;bottom:10%;border-left:1px solid var(--lime);padding-left:12px}
.arsenal-section{padding:120px clamp(24px,7.5vw,124px) 130px;background:#d7dccf;color:#121914}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}.section-heading h2,.field-section h2{font:800 clamp(52px,5.3vw,84px)/.83 var(--display);letter-spacing:-2px;margin:20px 0 0}.section-heading p{max-width:360px;font-size:11px;color:#5e665e;line-height:1.8}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.vehicle-card{background:#cbd1c4;padding:26px 30px 28px;position:relative;min-height:500px;border:1px solid transparent;transition:.25s}.vehicle-card:hover,.vehicle-card.active{background:#151e19;color:#e5e8df;border-color:#344236;transform:translateY(-6px)}.vehicle-card.active:after{content:"SELECTED";position:absolute;top:0;right:0;padding:7px 13px;background:var(--lime);color:#0c110e;font:700 9px var(--mono);letter-spacing:1px}.card-num{font:500 10px var(--mono);color:#777f76}.mini-vehicle{height:155px;position:relative;margin-top:10px}.mini-vehicle i,.mini-vehicle b{position:absolute;display:block}.tank-mini i{width:150px;height:62px;background:#6e765d;left:50%;top:53%;transform:translate(-50%,-50%);clip-path:polygon(12% 0,88% 0,100% 70%,80% 100%,14% 93%,0 56%)}.tank-mini b{width:112px;height:29px;background:#343e33;left:50%;top:32%;transform:translateX(-50%);box-shadow:72px -8px 0 -10px #566250}.hover-mini i{width:180px;height:57px;background:#596d68;left:50%;top:50%;transform:translate(-50%,-50%);clip-path:polygon(8% 20%,70% 0,100% 50%,72% 100%,3% 78%,0 48%);box-shadow:0 14px 20px rgba(69,224,236,.25)}.hover-mini b{width:74px;height:25px;border:3px solid #80988d;border-radius:50%;left:50%;top:28%;transform:translateX(-50%)}.buggy-mini i{width:140px;height:55px;background:#74665e;left:50%;top:48%;transform:translate(-50%,-50%);clip-path:polygon(12% 18%,75% 0,100% 65%,82% 100%,0 82%)}.buggy-mini b{width:32px;height:32px;border:8px solid #222a25;border-radius:50%;left:26%;top:60%;box-shadow:94px 0 0 -8px #222a25}.vehicle-type{font-size:8px;letter-spacing:1.5px;color:#717970}.vehicle-card:hover .vehicle-type,.vehicle-card.active .vehicle-type{color:var(--lime)}.vehicle-card h3{font:800 43px var(--display);margin:4px 0 10px}.vehicle-card p{font-size:10px;line-height:1.65;min-height:52px;color:#616961}.vehicle-card:hover p,.vehicle-card.active p{color:#89938b}.stat{display:grid;grid-template-columns:65px 1fr;gap:13px;align-items:center;margin-top:14px;font-size:8px}.stat i{height:3px;background:linear-gradient(90deg,var(--lime) var(--v),rgba(100,110,100,.25) var(--v))}.vehicle-card button{position:absolute;left:30px;right:30px;bottom:25px;height:43px;border:1px solid #9ba198;background:transparent;text-align:left;padding:0 15px;font:700 11px var(--display);letter-spacing:1px;color:inherit}.vehicle-card button b{float:right}.vehicle-card:hover button,.vehicle-card.active button{border-color:#59655d}.vehicle-card button:hover{background:var(--lime);color:#0b120d;border-color:var(--lime)}
.field-section{min-height:690px;padding:115px clamp(24px,7.5vw,124px);display:grid;grid-template-columns:1fr 1fr;background:radial-gradient(circle at 75% 50%,#244536 0,transparent 28%),#0a1411;position:relative;overflow:hidden}.field-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(201,241,80,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(201,241,80,.035) 1px,transparent 1px);background-size:40px 40px}.biome-copy{position:relative;z-index:2}.biome-copy p{font-size:11px;color:#8e9991;line-height:1.9;max-width:500px}.biome-list{margin-top:35px;max-width:520px}.biome-list span{height:42px;border-top:1px solid #27332b;display:flex;align-items:center;text-transform:uppercase;font:600 12px var(--display);letter-spacing:1px}.biome-list span:last-child{border-bottom:1px solid #27332b}.biome-list i{font:400 8px var(--mono);color:var(--lime);width:38px}.biome-list b{font:400 8px var(--mono);color:#647069;margin-left:auto}.map-orbit{position:relative;min-height:450px}.planet{position:absolute;left:50%;top:50%;width:285px;height:285px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#698260,#304b3a 34%,#12251c 75%);box-shadow:-25px 20px 80px rgba(0,0,0,.7),inset -35px -22px 65px #06110c,0 0 90px rgba(201,241,80,.08);overflow:hidden}.planet:before,.planet:after{content:"";position:absolute;width:130px;height:180px;background:#7c8766;opacity:.25;left:30px;top:10px;border-radius:60% 25% 55% 30%;transform:rotate(35deg)}.planet:after{width:120px;height:90px;left:160px;top:165px}.planet span{position:absolute;inset:0;background:repeating-linear-gradient(7deg,transparent 0 17px,rgba(201,241,80,.05) 18px)}.orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(201,241,80,.15);border-radius:50%;transform:translate(-50%,-50%) rotate(-16deg)}.orbit.o1{width:430px;height:370px}.orbit.o2{width:570px;height:430px}.pin{position:absolute;width:10px;height:10px;border:2px solid var(--lime);border-radius:50%;box-shadow:0 0 13px var(--lime)}.pin:after{content:"";position:absolute;left:3px;top:3px;width:2px;height:2px;background:var(--lime)}.pin.p1{left:40%;top:30%}.pin.p2{left:63%;top:63%}.pin.p3{left:72%;top:39%}.coordinate{position:absolute;right:0;bottom:5%;font-size:8px;line-height:1.8;color:#66736a;border-left:1px solid var(--lime);padding-left:12px}.intel-section{height:90px;background:var(--lime);color:#111810;display:flex;justify-content:center;align-items:center;gap:35px;font:800 15px var(--display);letter-spacing:1.2px}.intel-section i{width:5px;height:5px;background:#111810;transform:rotate(45deg)}
.deploy-modal,.manual-modal{position:fixed;inset:0;z-index:110;background:rgba(2,7,5,.88);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.25s;backdrop-filter:blur(9px)}.deploy-modal.open,.manual-modal.open{opacity:1;pointer-events:auto}.modal-panel{width:min(720px,94vw);padding:42px;background:#d9ded1;color:#141c16;position:relative;box-shadow:0 30px 100px #000}.close-modal,.manual-close{position:absolute;right:18px;top:14px;border:0;background:none;font:300 29px var(--display)}.modal-top h2{font:800 48px/.9 var(--display);margin:13px 0 8px}.modal-top p{font-size:9px;color:#687168}.callsign-label{font-size:8px;letter-spacing:1.5px;display:block;margin-top:25px;color:#687168}.callsign-label input{display:block;width:100%;height:47px;margin-top:8px;border:1px solid #abb1a8;background:#edf0e8;padding:0 15px;text-transform:uppercase;outline:0}.callsign-label input:focus{border-color:#718c2b}.selected-rig{height:50px;border:1px solid #afb5ac;border-top:0;display:flex;align-items:center;padding:0 14px;gap:15px}.selected-rig span{font-size:8px;color:#778077}.selected-rig b{font:800 18px var(--display)}.selected-rig button{margin-left:auto;border:0;background:none;font:600 9px var(--mono);color:#596358}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.mode-card{height:94px;border:1px solid #aab1a7;background:transparent;display:flex;align-items:center;gap:16px;text-align:left;padding:15px;position:relative}.mode-card:hover{border-color:#111;background:#151e19;color:#e5e9e0}.mode-card>i{font-style:normal;font-size:27px;color:#7da318}.mode-card span{display:flex;flex-direction:column}.mode-card span b{font:700 16px var(--display)}.mode-card small{font-size:8px;margin-top:5px;color:#707970}.mode-card em{position:absolute;right:10px;top:8px;font:400 8px var(--mono);color:#7e867d}.join-row{display:flex;margin-top:8px;height:48px}.join-row input{width:45%;border:1px solid #aab1a7;background:#edf0e8;padding:0 14px;text-transform:uppercase;letter-spacing:4px;outline:0}.join-row button{flex:1;border:0;background:var(--lime);font:700 12px var(--display);letter-spacing:1px}.form-error{height:10px;color:#bd3e27;font-size:8px;margin-bottom:0}.manual-modal>div{position:relative;width:min(660px,92vw);background:#dbe0d4;color:#131b15;padding:45px}.manual-modal h2{font:800 49px var(--display);margin:15px 0 25px}.manual-modal ol{list-style:none;padding:0;margin:0}.manual-modal li{display:grid;grid-template-columns:90px 1fr;border-top:1px solid #aeb5ac;padding:14px 0}.manual-modal li:last-child{border-bottom:1px solid #aeb5ac}.manual-modal li b{font:700 14px var(--display);color:#587217}.manual-modal li span{font-size:9px;line-height:1.6;color:#596259}
.game-shell{display:none;position:fixed;inset:0;z-index:90;background:#101813;overflow:hidden;cursor:none}.game-shell.active{display:block}.game-shell canvas{display:block;width:100%;height:100%}.game-topbar{position:absolute;left:24px;right:24px;top:18px;height:50px;display:flex;align-items:stretch;pointer-events:none}.game-logo{font:800 23px var(--display);padding:8px 23px 0 0;border-right:1px solid rgba(255,255,255,.18)}.sector{padding:7px 24px;min-width:180px}.game-topbar small,.weapon-hud>small{font:400 7px var(--mono);letter-spacing:1.3px;color:#839087;display:block}.sector b{font:700 13px var(--display);letter-spacing:1px}.wave-box,.enemy-box{margin-left:auto;border-left:1px solid rgba(255,255,255,.18);padding:6px 25px;min-width:100px}.enemy-box{margin-left:0}.wave-box b,.enemy-box b{font:700 23px var(--display);color:var(--lime)}#pause-btn{pointer-events:auto;width:50px;color:#e4e9df;background:rgba(7,13,10,.72);border:1px solid rgba(255,255,255,.18);cursor:pointer}.player-hud{position:absolute;left:24px;bottom:22px;width:270px}.player-name{display:flex;align-items:center;gap:8px;margin-bottom:9px}.player-name i{width:7px;height:7px;background:var(--lime);box-shadow:0 0 9px var(--lime)}.player-name span{font:700 15px var(--display);letter-spacing:.8px}.player-name b{font:400 7px var(--mono);color:#77827a;margin-left:auto}.bar{height:17px;background:rgba(4,10,7,.82);margin-top:3px;position:relative;border:1px solid rgba(255,255,255,.12);overflow:hidden}.bar span{position:absolute;inset:0;transform-origin:left;background:var(--lime)}.bar.boost span{background:var(--blue)}.bar b,.bar small{position:absolute;z-index:2;top:2px;font:500 7px var(--mono);color:#111811}.bar b{right:6px}.bar small{left:5px}.weapon-hud{position:absolute;left:315px;bottom:22px;border-left:1px solid rgba(255,255,255,.18);padding-left:20px}.weapon-hud div{display:flex;align-items:center;gap:9px;margin:5px 0}.weapon-icon{font-size:23px;color:var(--lime)}.weapon-hud div b{font:700 15px var(--display)}.weapon-hud p{font-size:7px;color:#7d8880}.weapon-hud p span{margin:0 7px}.weapon-hud kbd{background:none;border:1px solid #586259;padding:2px 4px;font:500 6px var(--mono);color:#aab4ac}.room-badge{position:absolute;right:24px;top:82px;width:160px;background:rgba(4,10,7,.76);border:1px solid rgba(201,241,80,.3);padding:8px 10px;display:none;align-items:center;gap:8px}.room-badge.visible{display:flex}.room-badge span{font-size:6px;color:#7d897f}.room-badge b{font:700 14px var(--mono);color:var(--lime);letter-spacing:2px}.room-badge button{margin-left:auto;background:none;border:0;color:#8e9990;font-size:6px}.crosshair{position:absolute;width:30px;height:30px;pointer-events:none;transform:translate(-50%,-50%)}.crosshair i,.crosshair b{position:absolute;inset:0;border:1px solid rgba(201,241,80,.8);border-radius:50%}.crosshair b{inset:8px;background:var(--lime);border:0;box-shadow:0 0 8px var(--lime)}.toast{position:absolute;top:82px;left:50%;transform:translate(-50%,-20px);padding:10px 17px;background:var(--lime);color:#121811;font:700 10px var(--mono);opacity:0;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.upgrade-screen,.pause-screen,.death-screen{position:absolute;inset:0;background:rgba(4,10,7,.91);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;cursor:auto}.upgrade-screen.open,.pause-screen.open,.death-screen.open{display:flex}.upgrade-screen{flex-direction:column;padding:40px}.upgrade-heading{text-align:center}.upgrade-heading>span,.pause-screen>div>span,.death-screen>div>span{font-size:8px;letter-spacing:2px;color:var(--lime)}.upgrade-heading h2{font:800 50px/.85 var(--display);margin:13px}.upgrade-heading h2 em{color:var(--lime);font-style:italic}.upgrade-heading p{font-size:8px;color:#839087}.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,280px));gap:8px;width:100%;justify-content:center;margin-top:28px}.upgrade-card{height:245px;background:#d9ded1;color:#151d17;border:0;padding:23px;text-align:left;position:relative;clip-path:polygon(0 0,94% 0,100% 7%,100% 100%,0 100%);transition:.15s}.upgrade-card:hover{background:var(--lime);transform:translateY(-5px)}.upgrade-card .u-num{font-size:8px;color:#737b74}.upgrade-card .u-icon{height:70px;display:grid;place-items:center;font:500 43px var(--display);color:#5f7b1a}.upgrade-card h3{font:800 25px var(--display);margin:8px 0}.upgrade-card p{font-size:8px;line-height:1.6;color:#5d665e}.upgrade-card b{position:absolute;bottom:15px;left:23px;font:600 8px var(--mono);letter-spacing:1px}.upgrade-timer{font-size:7px;letter-spacing:1px;color:#7f8a82;margin-top:18px}.upgrade-timer b{color:var(--lime)}.pause-screen>div,.death-screen>div{text-align:center}.pause-screen h2,.death-screen h2{font:800 72px/.78 var(--display);margin:18px 0 35px}.pause-screen button,.death-screen button{display:block;width:250px;height:46px;margin:6px auto;border:1px solid #667169;background:transparent;color:#dfe4db;font:700 11px var(--display);letter-spacing:1px}.pause-screen button:first-of-type,.death-screen button:first-of-type{background:var(--lime);border-color:var(--lime);color:#111810}.death-screen p{font-size:9px;color:#87938a}.mobile-controls{display:none}
@media(max-width:900px){.site-header nav{display:none}.site-header{padding:0 22px}.sound-toggle{margin-left:auto}.hero{height:auto;min-height:870px;display:block}.hero-copy{padding:145px 25px 40px}.hero h1{font-size:66px}.hero-art{position:absolute;inset:320px 0 0;margin:0;opacity:.46}.hero-copy>p,.hero-actions,.status-line,.eyebrow{position:relative;z-index:5}.arsenal-section,.field-section{padding:85px 22px}.section-heading{display:block}.section-heading p{margin-top:25px}.vehicle-grid{grid-template-columns:1fr}.vehicle-card{min-height:455px}.field-section{grid-template-columns:1fr;min-height:900px}.map-orbit{min-height:400px;transform:scale(.8)}.intel-section{gap:12px;font-size:10px;flex-wrap:wrap;padding:15px}.modal-panel{padding:30px 20px}.mode-grid{grid-template-columns:1fr}.game-topbar{left:12px;right:12px}.game-logo{display:none}.sector{padding-left:0}.enemy-box{display:none}.player-hud{left:12px;bottom:12px;width:220px}.weapon-hud{display:none}.room-badge{right:12px}.upgrade-screen{padding:15px}.upgrade-grid{grid-template-columns:1fr;gap:4px}.upgrade-card{height:135px;padding:14px}.upgrade-card .u-icon{float:left;width:60px;height:55px}.upgrade-card h3{margin:5px 0}.upgrade-card p{margin-left:70px}.upgrade-card b{left:84px}.upgrade-heading h2{font-size:37px}.upgrade-heading p{display:none}.mobile-controls{display:block}.stick-base{position:absolute;left:25px;bottom:80px;width:94px;height:94px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(5,12,8,.3)}.stick-base i{position:absolute;width:38px;height:38px;background:rgba(201,241,80,.45);border:1px solid var(--lime);border-radius:50%;left:27px;top:27px}.mobile-controls button{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(5,12,8,.4);color:#fff;font:700 10px var(--display)}#mobile-fire{right:28px;bottom:85px;width:77px;height:77px;border-color:var(--lime);color:var(--lime)}#mobile-dash{right:112px;bottom:40px;width:55px;height:55px}.crosshair{display:none}.game-shell{cursor:auto}}
@media(max-width:900px){.game-topbar .sector{min-width:122px}.wave-box,.enemy-box{min-width:62px;padding:6px 9px}.enemy-box{display:block}.player-hud{width:205px}.room-badge{right:10px;top:170px;width:112px;box-sizing:border-box}.room-badge button{display:none}}
.classified-airframe{margin-top:10px;min-height:70px;border:1px dashed #8c958b;padding:17px 20px;display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:1px;background:repeating-linear-gradient(135deg,transparent 0 9px,rgba(0,0,0,.025) 9px 18px)}.classified-airframe>span{color:#648119;font-size:8px}.classified-airframe>i{width:1px;height:30px;background:#9fa79d}.classified-airframe>b{font:800 20px var(--display);white-space:nowrap}.classified-airframe>p{margin:0;max-width:430px;color:#626b63;font-size:8px;line-height:1.5;letter-spacing:0}.classified-airframe>em{margin-left:auto;font-style:normal;font-size:7px;border:1px solid #a7aea5;padding:7px 9px;white-space:nowrap}
@media(max-width:900px){.classified-airframe{display:grid;grid-template-columns:1fr}.classified-airframe>i{display:none}.classified-airframe>em{margin-left:0;width:max-content}}
@media(max-width:560px){.hero h1{font-size:57px;letter-spacing:-2px}.primary-btn{min-width:175px}.text-btn{font-size:11px}.section-heading h2,.field-section h2{font-size:48px}.map-orbit{margin-left:-90px;margin-right:-90px}.join-row input{width:42%;font-size:9px}.game-topbar .sector{min-width:130px}.wave-box{min-width:70px;padding-right:10px}.player-hud{bottom:8px}.upgrade-heading{margin-top:20px}.upgrade-heading h2{font-size:31px}.upgrade-card{height:125px}.pause-screen h2,.death-screen h2{font-size:58px}}
.powerup-hud{position:absolute;left:24px;top:82px;display:none;max-width:440px;padding:8px 12px;background:rgba(4,10,7,.82);border:1px solid rgba(112,227,238,.42);color:#dffaff;font:700 8px var(--mono);letter-spacing:.8px}.powerup-hud.active{display:block}@media(max-width:900px){.powerup-hud{left:12px;top:76px;max-width:185px;font-size:7px;line-height:1.5;padding:6px 8px}}
.waiting-screen{position:absolute;inset:0;background:rgba(4,10,7,.93);backdrop-filter:blur(9px);display:none;align-items:center;justify-content:center;cursor:auto;z-index:3}.waiting-screen.open{display:flex}.waiting-screen>div{text-align:center;max-width:560px;padding:35px}.waiting-screen span{font-size:8px;letter-spacing:2px;color:var(--lime)}.waiting-screen h2{font:800 72px/.82 var(--display);margin:18px 0;color:#eef1e8}.waiting-screen p{font:500 9px/1.7 var(--mono);letter-spacing:1px;color:#8e9990}.waiting-screen i{display:block;width:120px;height:3px;margin:28px auto;background:linear-gradient(90deg,transparent,var(--lime),transparent);animation:waitPulse 1.2s infinite}@keyframes waitPulse{50%{transform:scaleX(.45);opacity:.45}}
.upgrade-card.installed{opacity:.46;filter:grayscale(1);cursor:not-allowed}.upgrade-card.installed:hover{background:#d9ded1;transform:none}
.upgrade-card{border-top:3px solid var(--rarity,#d9ded1)}.upgrade-card .u-rarity{position:absolute;right:18px;top:19px;font:800 7px var(--mono);letter-spacing:1px;color:var(--rarity,#536057)}.upgrade-card .u-icon{color:var(--rarity,#5f7b1a)}.upgrade-card.rarity-legendary,.upgrade-card.rarity-prototype{box-shadow:inset 0 0 38px color-mix(in srgb,var(--rarity) 17%,transparent)}
.debug-overlay{display:none;position:absolute;left:12px;top:78px;z-index:90;min-width:210px;padding:10px 12px;white-space:pre;background:rgba(2,7,4,.9);border:1px solid rgba(112,227,238,.55);color:#bdf7ff;font:600 8px/1.65 var(--mono);pointer-events:none}.debug-overlay.open{display:block}
.scoreboard-panel{position:absolute;right:24px;top:132px;width:220px;padding:11px 12px;background:rgba(4,10,7,.82);border:1px solid rgba(201,241,80,.24);pointer-events:none}.scoreboard-panel>div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:7px}.scoreboard-panel span{font:500 6px var(--mono);letter-spacing:.8px;color:#929d95}.scoreboard-panel>div b{font:700 8px var(--mono);color:var(--lime)}.scoreboard-panel ol{list-style:none;margin:7px 0 0;padding:0;counter-reset:rank}.scoreboard-panel li{counter-increment:rank;display:grid;grid-template-columns:16px 1fr auto;gap:5px;align-items:center;min-height:17px}.scoreboard-panel li:before{content:counter(rank,decimal-leading-zero);font:500 6px var(--mono);color:#647068}.scoreboard-panel li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scoreboard-panel li b{font:700 7px var(--mono);color:#dce2d8}.scoreboard-panel li.me span,.scoreboard-panel li.me b{color:var(--lime)}
@media(max-width:900px){.waiting-screen h2{font-size:52px}.scoreboard-panel{right:10px;top:266px;width:142px;padding:8px}.scoreboard-panel>div span{display:none}.scoreboard-panel li:nth-child(n+4){display:none}}
.upgrade-grid{max-height:68vh;overflow-y:auto}

/* PHEONiiX Survivor visual system */
.hero:before{background:radial-gradient(ellipse at 72% 78%,rgba(168,209,60,.12),transparent 38%),radial-gradient(circle at 18% 22%,rgba(255,255,255,.035),transparent 24%);background-size:auto;mask-image:none}.hero-art{background:radial-gradient(circle at 56% 62%,rgba(176,241,80,.08),transparent 35%),linear-gradient(145deg,transparent 8%,rgba(201,241,80,.03))}.sun{background:radial-gradient(circle at 35% 30%,rgba(235,255,190,.35),rgba(158,195,61,.21) 38%,rgba(67,90,40,.08) 70%);border:1px solid rgba(201,241,80,.2)}
.survivor-craft{position:absolute;width:440px;height:270px;left:46%;top:48%;transform:translate(-50%,-50%) rotate(-8deg);z-index:3;filter:drop-shadow(0 34px 24px rgba(0,0,0,.7))}.survivor-craft i{position:absolute;display:block}.survivor-craft .craft-body{width:275px;height:96px;left:84px;top:91px;background:linear-gradient(145deg,#e3e7db 0,#657069 38%,#26322d 72%,#111916);clip-path:polygon(0 46%,18% 4%,76% 0,100% 48%,78% 100%,18% 92%);border-top:4px solid rgba(255,255,255,.55)}.survivor-craft .craft-body:after{content:"";position:absolute;inset:38% 15% 30% 48%;background:#161f1b;clip-path:polygon(0 0,100% 25%,82% 100%,8% 72%)}.survivor-craft .cockpit{width:92px;height:40px;left:211px;top:104px;background:linear-gradient(135deg,#c9f150,#47664c 44%,#101a16);clip-path:polygon(0 20%,85% 0,100% 70%,18% 100%);box-shadow:inset 0 3px rgba(255,255,255,.35)}.survivor-craft .wing{width:188px;height:58px;top:109px;background:linear-gradient(160deg,#7e8980,#27332e);z-index:-1}.survivor-craft .wing.left{left:5px;transform:rotate(24deg);clip-path:polygon(0 32%,100% 0,85% 100%,18% 78%)}.survivor-craft .wing.right{right:0;transform:rotate(-20deg);clip-path:polygon(0 0,100% 38%,82% 82%,15% 100%)}.survivor-craft .rotor{width:112px;height:112px;border-radius:50%;top:72px;background:repeating-conic-gradient(rgba(225,240,231,.65) 0 4deg,transparent 4deg 42deg);border:7px solid #27332e;box-shadow:inset 0 0 0 3px #87938b,0 0 20px rgba(201,241,80,.1);animation:rotorSpin .8s linear infinite;z-index:-2}.survivor-craft .rotor:after{content:"";position:absolute;inset:39%;border-radius:50%;background:#c9f150}.survivor-craft .r1{left:-15px}.survivor-craft .r2{right:-18px}.survivor-craft .cannon{width:112px;height:10px;left:296px;background:linear-gradient(#aeb8ae,#29362f);clip-path:polygon(0 0,100% 28%,100% 72%,0 100%)}.survivor-craft .c1{top:127px}.survivor-craft .c2{top:151px}.brood-creature{position:absolute;width:88px;height:66px;z-index:2;background:radial-gradient(circle at 35% 28%,#839b52,#344126 48%,#10170f 78%);clip-path:polygon(4% 54%,18% 22%,42% 4%,72% 12%,96% 43%,82% 72%,55% 94%,22% 84%);filter:drop-shadow(0 8px 8px #000)}.brood-creature:before,.brood-creature:after{content:"";position:absolute;width:55px;height:8px;background:#172013;top:46px}.brood-creature:before{left:-27px;transform:rotate(-38deg);box-shadow:12px -21px 0 #172013}.brood-creature:after{right:-27px;transform:rotate(38deg);box-shadow:-12px -21px 0 #172013}.brood-creature i{position:absolute;width:40px;height:15px;left:20px;top:13px;border-radius:50%;background:rgba(255,255,255,.15)}.brood-creature b{position:absolute;width:8px;height:5px;right:18px;top:28px;background:#c9f150;box-shadow:0 0 12px #c9f150}.brood-creature.a1{right:11%;top:29%;transform:scale(1.25) rotate(13deg)}.brood-creature.a2{left:12%;top:31%;transform:scale(.72) rotate(-18deg)}@keyframes rotorSpin{to{transform:rotate(360deg)}}
.evolution-card{min-height:455px;padding-bottom:34px}.evolution-card:hover{background:#151e19;color:#e5e8df}.evolution-card p{min-height:68px}.evolution-mini i{width:185px;height:65px;left:50%;top:52%;transform:translate(-50%,-50%);background:linear-gradient(145deg,#849087,#27342e);clip-path:polygon(0 45%,20% 8%,75% 0,100% 50%,74% 100%,19% 88%);filter:drop-shadow(0 16px 11px rgba(0,0,0,.28))}.evolution-mini b{width:44px;height:44px;border:6px solid #3c4841;border-radius:50%;left:18%;top:34%;box-shadow:154px 0 0 -6px #3c4841}.tempest-mini b{width:38px;height:38px;left:13%;top:30%;box-shadow:176px 0 0 -6px #3c4841,0 58px 0 -6px #3c4841,176px 58px 0 -6px #3c4841}.ascension-mini i{width:210px;height:82px;background:linear-gradient(145deg,#dce2d8,#35443c 48%,#16201c);clip-path:polygon(0 45%,34% 30%,48% 0,100% 43%,62% 57%,47% 100%,30% 68%)}.ascension-mini b{width:18px;height:58px;border:0;border-radius:0;background:var(--lime);left:70%;top:34%;box-shadow:26px 0 0 -5px var(--lime);clip-path:polygon(0 0,100% 14%,75% 100%,22% 100%)}.locked-rig em{margin-left:auto;font:600 8px var(--mono);font-style:normal;color:#638019;letter-spacing:1px}.field-section:before{background:radial-gradient(circle at 75% 40%,rgba(201,241,80,.045),transparent 36%)}
.vehicle-preview{display:block;width:100%;height:176px;margin:16px 0 18px;background:#101914;border:1px solid rgba(94,111,99,.55);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));transition:border-color .25s,transform .25s}.vehicle-card:hover .vehicle-preview{border-color:var(--lime);transform:translateY(-2px)}
.vehicle-card img.vehicle-preview{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.vehicle-card img.vehicle-preview{object-fit:contain;padding:12px;background:radial-gradient(circle at 52% 48%,rgba(167,205,104,.2),rgba(10,17,13,.96) 66%),linear-gradient(145deg,#18231c,#0b100d)}

/* Landing command navigation */
.nav-leaderboard{position:relative}.nav-leaderboard>button{border:0;background:none;padding:0;font:600 13px var(--display);text-transform:uppercase;letter-spacing:1.4px;color:#b7bdb5}.nav-leaderboard>button:hover,.nav-leaderboard>button[aria-expanded="true"]{color:var(--lime)}.nav-leaderboard>button span{display:inline-block;margin-left:4px;transition:transform .18s}.nav-leaderboard>button[aria-expanded="true"] span{transform:rotate(180deg)}#nav-leaderboard-panel{position:absolute;right:-10px;top:34px;width:330px;padding:15px 16px 13px;background:rgba(4,10,7,.97);border:1px solid rgba(201,241,80,.35);box-shadow:0 22px 55px rgba(0,0,0,.55);color:#dce4db;z-index:40}#nav-leaderboard-panel header{display:flex;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.12)}#nav-leaderboard-panel header span{font:800 15px var(--display);letter-spacing:1px;color:#fff}#nav-leaderboard-panel header b{font:500 6px var(--mono);letter-spacing:.8px;color:var(--lime)}#nav-leaderboard-panel ol{list-style:none;margin:8px 0;padding:0;counter-reset:rank}#nav-leaderboard-panel li{counter-increment:rank;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;min-height:27px;border-bottom:1px solid rgba(255,255,255,.06);font:600 9px var(--mono)}#nav-leaderboard-panel li:before{content:counter(rank,decimal-leading-zero);color:#68766c;font-size:7px}#nav-leaderboard-panel li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c5cec6}#nav-leaderboard-panel li b{color:#fff}#nav-leaderboard-panel li:first-child b,#nav-leaderboard-panel li:first-child:before{color:var(--lime)}#nav-leaderboard-panel small{display:block;margin-top:9px;color:#708077;font:500 6px/1.5 var(--mono)}

/* PixiJS owns the battlefield when GPU initialization succeeds. */
.game-shell>#game-canvas,.game-shell>#pixi-canvas{position:absolute;inset:0;width:100%;height:100%}.game-shell>#pixi-canvas{display:none}.game-shell.pixi-active>#pixi-canvas{display:block}.game-shell.pixi-active>#game-canvas{display:none}
@media(max-width:900px){.survivor-craft{left:57%;top:48%;transform:translate(-50%,-50%) rotate(-8deg) scale(.72)}.brood-creature.a2{display:none}.evolution-card{min-height:410px}.classified-airframe>b{white-space:normal}.locked-rig em{font-size:7px}}
@media(max-width:900px){.scoreboard-panel{display:none}.stick-base,.aim-base{touch-action:none;position:absolute;bottom:74px;width:96px;height:96px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(5,12,8,.42);box-shadow:inset 0 0 28px rgba(0,0,0,.28)}.stick-base{left:24px}.aim-base{right:24px}.stick-base i,.aim-base i{position:absolute;width:38px;height:38px;background:rgba(201,241,80,.42);border:1px solid var(--lime);border-radius:50%;left:28px;top:28px;pointer-events:none}.aim-base i{background:rgba(112,227,238,.4);border-color:var(--blue)}.stick-base span,.aim-base span{position:absolute;left:0;right:0;bottom:-18px;text-align:center;font:600 7px var(--mono);letter-spacing:1px;color:#aab5ad}.aim-base span{color:var(--blue)}#mobile-dash{right:50%;transform:translateX(50%);bottom:26px;width:58px;height:42px;border-radius:8px}.player-hud{bottom:190px;width:190px}.room-badge{top:166px}.powerup-hud{top:76px}}
@media(max-width:900px){.upgrade-card .u-rarity{right:12px;top:11px}.debug-overlay{top:66px;left:8px;min-width:170px;font-size:7px}}
@media(max-width:900px) and (orientation:landscape){.stick-base,.aim-base{bottom:28px}.player-hud{bottom:136px}.room-badge{top:154px}#mobile-dash{bottom:18px}}

/* PHEONiiX cover hero */
.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}.brand-ii{text-transform:none!important;color:inherit!important;font-size:.78em;letter-spacing:0}.cover-hero{display:block;min-height:790px;height:100vh;max-height:960px;background:#050906;isolation:isolate}.cover-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(3,7,4,.3) 0,transparent 28%,transparent 55%,rgba(3,8,5,.92) 100%),linear-gradient(90deg,rgba(3,8,5,.14),transparent 64%);mask-image:none}.hero-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0}.cover-copy{position:absolute;z-index:3;left:clamp(24px,5vw,82px);bottom:28px;width:min(610px,46vw);padding:18px 22px 16px;background:linear-gradient(100deg,rgba(3,9,5,.92),rgba(3,9,5,.62) 72%,transparent);border-left:2px solid var(--lime);backdrop-filter:blur(6px);align-self:auto}.cover-copy>p{max-width:560px;margin:8px 0 0;color:#c5cdc4;font-size:11px;line-height:1.65}.cover-copy .hero-actions{margin-top:16px}.cover-copy .primary-btn{height:52px}.cover-copy .status-line{margin-top:14px}.cover-copy .eyebrow{font-size:8px}.site-header{background:linear-gradient(180deg,rgba(2,6,3,.78),rgba(2,6,3,.18))}
@media(max-width:900px){.cover-hero{height:auto;min-height:0;padding-top:78px;background:#050906}.cover-hero:before{display:none}.hero-cover-image{position:relative;display:block;width:100%;height:auto;object-fit:contain;object-position:center}.cover-copy{position:relative;inset:auto;width:auto;margin:0;padding:28px 24px 54px;background:linear-gradient(180deg,#050906,#08110f);border-left:0;border-top:1px solid rgba(201,241,80,.24);backdrop-filter:none}.cover-copy>p{font-size:11px}.cover-copy .hero-actions{display:flex}.cover-copy .status-line{margin-top:22px}}

/* v1.7 mobile field controls + Phoenix revive status */
#mobile-settings-btn,.mobile-pause,.mobile-settings-screen{display:none}.revive-status{margin-top:6px;padding:5px 7px;border:1px solid rgba(255,139,61,.35);background:rgba(5,12,8,.7);color:#ff9c50;font:600 7px var(--mono);letter-spacing:.8px}.revive-status.ready{border-color:rgba(201,241,80,.45);color:var(--lime);box-shadow:inset 2px 0 0 var(--lime)}.revive-status.recharging{color:#ffb072}.mobile-settings-screen{position:absolute;inset:0;z-index:18;background:rgba(4,10,7,.94);backdrop-filter:blur(10px);align-items:center;justify-content:center;cursor:auto}.mobile-settings-screen>div{width:min(88vw,360px);padding:30px 24px;border:1px solid rgba(201,241,80,.3);background:#0a130f;text-align:center}.mobile-settings-screen>div>span{font-size:8px;letter-spacing:2px;color:var(--lime)}.mobile-settings-screen h2{font:800 58px/.8 var(--display);margin:16px 0 28px}.mobile-settings-screen button{display:block;width:100%;min-height:52px;margin:8px 0;border:1px solid #667169;background:transparent;color:#e8eee4;font:700 12px var(--display);letter-spacing:1px}.mobile-settings-screen #mobile-sound-toggle{background:var(--lime);border-color:var(--lime);color:#111810}.mobile-settings-screen #mobile-sound-toggle b{margin-left:8px}.mobile-settings-screen p{margin:14px 0 24px;color:#8c9990;font-size:8px;line-height:1.7}
@media(max-width:900px){.game-topbar{top:max(10px,env(safe-area-inset-top));height:52px;gap:5px}.game-topbar .sector{min-width:96px;flex:1;padding:7px 5px 0 0;overflow:hidden}.game-topbar .sector b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-topbar .enemy-box{display:none}.game-topbar .wave-box{min-width:52px;padding:6px 7px;margin-left:0}.game-topbar #pause-btn{width:58px;min-width:58px;padding:0;font:700 9px var(--display);letter-spacing:.7px}.desktop-pause{display:none}.mobile-pause{display:inline}.game-topbar #mobile-settings-btn{display:block;pointer-events:auto;width:70px;min-width:70px;padding:0;border:1px solid rgba(112,227,238,.4);background:rgba(7,13,10,.78);color:var(--blue);font:700 8px var(--display);letter-spacing:.5px}.mobile-settings-screen.open{display:flex}.player-hud{bottom:calc(190px + env(safe-area-inset-bottom))}.stick-base,.aim-base{bottom:calc(74px + env(safe-area-inset-bottom))}#mobile-dash{bottom:calc(26px + env(safe-area-inset-bottom))}.toast{top:24%;width:max-content;max-width:calc(100% - 24px);text-align:center}.upgrade-grid{gap:6px;margin-top:20px}.upgrade-card{height:148px;padding:16px}.upgrade-card .u-icon{width:62px;height:58px}.upgrade-card p{margin-left:70px;padding-right:4px;line-height:1.45;max-height:46px;overflow:hidden}.upgrade-card b{left:86px;bottom:12px}.pause-screen,.death-screen,.upgrade-screen,.waiting-screen{z-index:16}.pause-screen button,.death-screen button{min-height:48px}.pause-screen h2,.death-screen h2{margin-bottom:28px}}
@media(max-width:900px) and (orientation:landscape){.game-topbar{top:8px}.game-topbar .sector{min-width:150px}.player-hud{bottom:calc(136px + env(safe-area-inset-bottom))}.stick-base,.aim-base{bottom:calc(28px + env(safe-area-inset-bottom))}#mobile-dash{bottom:calc(18px + env(safe-area-inset-bottom))}.mobile-settings-screen>div{width:min(68vw,430px);padding:18px 22px}.mobile-settings-screen h2{font-size:43px;margin:10px 0 18px}.mobile-settings-screen p{margin:8px 0 12px}.mobile-settings-screen button{min-height:44px}.upgrade-screen{padding:8px 16px}.upgrade-heading>span{font-size:6px}.upgrade-heading h2{font-size:30px;margin:5px}.upgrade-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.upgrade-card{height:218px;padding:13px}.upgrade-card .u-icon{float:none;width:auto;height:42px;font-size:31px}.upgrade-card h3{font-size:20px;margin:4px 0}.upgrade-card p{margin-left:0;max-height:44px;font-size:7px}.upgrade-card b{left:13px;bottom:10px;font-size:7px}.upgrade-timer{margin-top:7px}}
.sound-controls{display:flex;align-items:center;gap:12px}.upgrade-card p strong{display:block;margin-bottom:3px;color:#1f2b22;font-size:7px;letter-spacing:.8px}.mobile-settings-screen #mobile-music-toggle,.mobile-settings-screen #mobile-effects-toggle{background:var(--lime);border-color:var(--lime);color:#111810}.mobile-settings-screen #mobile-music-toggle b,.mobile-settings-screen #mobile-effects-toggle b{margin-left:8px}@media(max-width:900px){.sound-controls{margin-left:auto;gap:3px}.sound-controls .sound-toggle{margin-left:0;padding:7px 5px}}
.upgrade-card{height:260px}.upgrade-card p{max-height:68px;overflow:hidden}@media(max-width:900px){.upgrade-card{height:164px}.upgrade-card p{max-height:62px;font-size:7px}}@media(max-width:900px) and (orientation:landscape){.upgrade-card{height:218px}.upgrade-card p{max-height:66px}}
@media(max-width:560px){.cover-copy .hero-actions{align-items:flex-start;gap:18px}.cover-copy .primary-btn{min-width:160px}.cover-copy .text-btn{padding-top:18px}}
@media(min-width:901px){.cover-hero{height:auto;min-height:0;max-height:none;padding:78px clamp(24px,3vw,58px) 0}.cover-hero:before{display:none}.hero-cover-image{position:relative;inset:auto;display:block;width:min(100%,1600px);height:auto;margin:0 auto;object-fit:contain;object-position:center;box-shadow:0 22px 70px rgba(0,0,0,.48)}.cover-copy{position:relative;inset:auto;width:min(100%,1600px);margin:0 auto;padding:18px 24px 20px;display:grid;grid-template-columns:minmax(360px,1fr) auto;grid-template-rows:auto auto auto;column-gap:42px;background:linear-gradient(105deg,#08110f 0,#0d1812 62%,#07100e 100%);border-left:0;border-top:2px solid var(--lime);backdrop-filter:none}.cover-copy .eyebrow{grid-column:1;grid-row:1}.cover-copy>p{grid-column:1;grid-row:2;margin-top:7px}.cover-copy .hero-actions{grid-column:2;grid-row:1/4;align-self:center;margin:0}.cover-copy .status-line{grid-column:1;grid-row:3;margin-top:10px}}
.cover-hero>picture{display:contents}.staging-roster li{border-left:3px solid var(--team-color,var(--lime))}.staging-roster li span i{color:var(--team-color,var(--lime));font-style:normal;margin-right:5px}.squad-row>i{display:grid;place-items:center;color:var(--squad-color);font-style:normal;font-size:9px;text-shadow:0 0 5px #000}
.interception-hud{position:absolute;left:50%;top:80px;z-index:5;width:min(360px,42vw);transform:translateX(-50%);padding:9px 12px;background:rgba(2,6,4,.72);border:1px solid rgba(255,227,107,.5);pointer-events:none}.interception-hud span,.interception-hud small{font:600 6px var(--mono);letter-spacing:1px;color:#ffe36b}.interception-hud b{display:block;margin:2px 0 6px;font:700 14px var(--display)}.interception-hud i{display:block;height:3px;background:#ffe36b;transform-origin:left}.interception-hud small{display:block;margin-top:5px;color:#dce5de}@media(max-width:900px){.interception-hud{top:56px;width:260px;padding:6px 9px}.interception-hud b{font-size:10px;margin-bottom:4px}}

/* v2.4 compact mobile status strip */
@media(max-width:900px){.player-hud{left:50%;right:auto;bottom:calc(174px + env(safe-area-inset-bottom));width:min(44vw,168px);padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:3px;box-sizing:border-box;transform:translateX(-50%);background:rgba(4,10,7,.48);border:1px solid rgba(255,255,255,.12);pointer-events:none}.player-hud .player-name{display:none}.player-hud .bar{height:10px;margin:0;border-color:rgba(255,255,255,.14)}.player-hud .bar small,.player-hud .bar b{top:1px;font-size:5px;line-height:7px}.player-hud .bar small{left:3px}.player-hud .bar b{right:3px}.player-hud .bar.boost b{display:none}.player-hud .revive-status{grid-column:1/-1;min-height:0;margin:0;padding:2px 3px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(5,12,8,.48);font-size:5px;line-height:7px;letter-spacing:.35px;box-shadow:none}.player-hud .revive-status.ready{box-shadow:inset 2px 0 0 var(--lime)}}

/* Version 2.5 quality and command-interface layer. */
[hidden]{display:none!important}.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:var(--lime);color:#10160f;padding:10px 14px;text-decoration:none}.skip-link:focus{top:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.deploy-modal,.manual-modal,.upgrade-screen,.waiting-screen,.pause-screen,.death-screen,.mobile-settings-screen,.staging-screen,.abandon-confirm,.catchup-screen{z-index:140}.game-shell{font-size:calc(16px * var(--ui-scale,1))}.revive-status{position:relative;overflow:hidden}.revive-status:after{content:"";position:absolute;left:0;bottom:0;width:var(--revive-progress,100%);height:2px;background:currentColor;opacity:.8;transition:width .3s}.boss-hud{position:absolute;left:50%;top:82px;width:min(520px,48vw);transform:translateX(-50%);display:none;text-align:center;pointer-events:none}.boss-hud.visible{display:block}.boss-hud>span{font:800 15px var(--display);letter-spacing:1.3px;color:#fff}.boss-hud>div{height:8px;margin:5px 0;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.28);overflow:hidden}.boss-hud>div i{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,#ff493d,#ffb35d);transition:transform .12s}.boss-hud>b{font:600 7px var(--mono);color:#b9c5bd;letter-spacing:.9px}.run-score-strip{position:absolute;right:24px;top:132px;display:flex;gap:12px;padding:8px 10px;background:rgba(4,10,7,.78);border:1px solid rgba(255,255,255,.12);pointer-events:none}.run-score-strip span{font:500 6px var(--mono);color:#87938a}.run-score-strip b{display:block;margin-top:3px;color:#fff;font-size:9px}.scoreboard-panel{top:183px;pointer-events:auto;padding:0}.scoreboard-panel>button{width:100%;min-height:42px;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:9px 10px;border:0;background:transparent;color:inherit;text-align:left}.scoreboard-panel>button span{font-size:6px}.scoreboard-panel>button b{color:var(--lime);font-size:8px}.scoreboard-panel>button em{font-style:normal;color:var(--lime);font-size:15px}.scoreboard-panel ol{padding:0 10px 9px}.scoreboard-panel.collapsed ol{display:none}.scoreboard-panel:not(.collapsed)>button em{transform:rotate(45deg)}.squad-panel{position:absolute;left:24px;top:132px;width:230px;display:none;padding:10px;background:rgba(4,10,7,.82);border:1px solid rgba(112,227,238,.22);pointer-events:none}.squad-panel.visible{display:block}.squad-title{padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.12);font:600 7px var(--mono);color:var(--blue);letter-spacing:1px}.squad-row{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}.squad-row>i{width:7px;height:7px;background:var(--squad-color);box-shadow:0 0 6px var(--squad-color)}.squad-row span,.squad-row>b{font:700 9px var(--display)}.squad-row>b{text-align:right;color:#e9eee7}.squad-row small{display:block;margin-top:2px;font:500 5px var(--mono);color:#7f8b83}.squad-row.downed{opacity:.55}.biome-banner{position:absolute;left:50%;top:20%;min-width:390px;transform:translate(-50%,-20px);padding:16px 24px;background:rgba(4,10,7,.9);border-left:3px solid var(--lime);opacity:0;pointer-events:none;transition:.3s;text-align:center}.biome-banner.show{opacity:1;transform:translate(-50%,0)}.biome-banner span{font:600 7px var(--mono);letter-spacing:2px;color:var(--lime)}.biome-banner h2{margin:4px 0;font:800 33px var(--display)}.biome-banner p{margin:0;color:#c6d0c9;font:600 8px var(--mono);letter-spacing:1px}.self-dot{background:#fff}.enemy-dot{background:var(--lime)}.boss-dot{background:#ff493d}

.tutorial-panel{position:absolute;inset:0;z-index:15;pointer-events:none;cursor:auto}.tutorial-panel.open{display:block}.tutorial-panel>div{position:absolute;left:50%;top:18%;width:min(430px,84vw);transform:translateX(-50%);padding:20px 24px;background:rgba(3,10,6,.92);border:1px solid rgba(201,241,80,.35);border-left:3px solid var(--lime);text-align:center}.tutorial-panel span{font:600 8px var(--mono);color:var(--lime);letter-spacing:1.7px}.tutorial-panel h2{margin:8px 0;font:800 34px var(--display)}.tutorial-panel p{margin:0;color:#b1bcb4;font-size:9px}.tutorial-panel b{display:block;margin-top:16px;color:#fff;font:700 9px var(--mono);letter-spacing:1px}.tutorial-panel i{display:block;height:3px;margin:14px 0;background:linear-gradient(90deg,var(--lime) var(--tutorial-progress,0%),rgba(255,255,255,.12) var(--tutorial-progress,0%))}.tutorial-panel button{pointer-events:auto;border:0;background:transparent;color:#9aa69d;font:600 8px var(--mono);text-decoration:underline}

.command-dialog{position:absolute;inset:0;background:rgba(3,9,6,.93);backdrop-filter:blur(9px);display:none;align-items:center;justify-content:center;cursor:auto}.command-dialog.open{display:flex}.command-dialog>div{width:min(560px,92vw);max-height:90vh;overflow:auto;padding:34px;background:#0a130f;border:1px solid rgba(201,241,80,.3);box-shadow:0 28px 90px rgba(0,0,0,.65)}.command-dialog>div>span{color:var(--lime);font:600 8px var(--mono);letter-spacing:2px}.command-dialog h2{margin:12px 0 22px;font:800 54px/.85 var(--display)}.command-dialog p{color:#96a198;font:500 9px/1.7 var(--mono)}.command-dialog button,.manual-modal #replay-tutorial{display:block;width:100%;min-height:46px;margin:7px 0;border:1px solid #59665e;background:transparent;color:#edf2e9;font:700 11px var(--display);letter-spacing:1px}.command-dialog button:hover,.command-dialog button:focus-visible,.manual-modal #replay-tutorial:hover{border-color:var(--lime);color:var(--lime)}.command-dialog button:disabled{opacity:.38;cursor:not-allowed}.command-dialog button:first-of-type{background:var(--lime);border-color:var(--lime);color:#111810}.staging-screen h2 b{color:var(--lime)}.staging-screen .copy-code{background:transparent!important;color:var(--blue)!important;border-color:rgba(112,227,238,.45)!important}.staging-screen ul,.catchup-screen ul{list-style:none;margin:18px 0;padding:0}.staging-screen li{display:grid;grid-template-columns:1fr auto;border-top:1px solid rgba(255,255,255,.1);padding:10px 0}.staging-screen li span{font:700 14px var(--display)}.staging-screen li em{margin-left:8px;padding:2px 5px;background:var(--lime);color:#111;font:700 6px var(--mono);font-style:normal}.staging-screen li b{color:#d8a65f;font:700 8px var(--mono)}.staging-screen li b.ready{color:var(--lime)}.staging-screen li small{grid-column:1/-1;color:#77837b;font:500 6px var(--mono)}.catchup-screen h2 b{color:var(--lime)}.catchup-screen li{display:inline-block;margin:3px;padding:5px 7px;border:1px solid rgba(255,255,255,.16);font-size:7px}.abandon-confirm>div{text-align:center}.abandon-confirm>div>b{display:block;margin:18px;color:#ff9b68;font:700 11px var(--mono)}.settings-screen>div{width:min(720px,94vw)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;text-align:left}.settings-grid label{display:block;color:#aeb8b0;font:600 7px var(--mono);letter-spacing:.8px}.settings-grid output{float:right;color:var(--lime)}.settings-grid input[type=range],.settings-grid select{display:block;width:100%;height:31px;margin-top:5px;accent-color:var(--lime);background:#111c16;color:#fff;border:1px solid #465149}.settings-grid .check-setting{display:flex;gap:8px;align-items:center;min-height:34px}.settings-grid .check-setting input{width:18px;height:18px;accent-color:var(--lime)}.controls-reference{padding:10px;border:1px solid rgba(255,255,255,.1)}.controls-reference b{color:var(--lime)}

.summary-screen{overflow:auto;padding:24px}.summary-screen>div{width:min(760px,94vw);max-height:92vh;overflow:auto;text-align:left;padding:30px;background:#0a130f;border:1px solid rgba(201,241,80,.3)}.summary-screen h2{margin:10px 0 18px}.summary-identity{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.summary-identity b{font:800 24px var(--display)}.summary-identity em{font:700 8px var(--mono);color:var(--lime);font-style:normal}.summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:16px 0;background:rgba(255,255,255,.1)}.summary-stats div{padding:10px;background:#0a130f}.summary-stats dt{font:500 6px var(--mono);color:#7e8a81}.summary-stats dd{margin:5px 0 0;font:800 18px var(--display);color:#f0f3ec}.summary-screen h3{font:700 11px var(--mono);color:var(--lime)}.summary-screen ul{display:flex;flex-wrap:wrap;gap:5px;max-height:86px;overflow:auto;list-style:none;padding:0}.summary-screen li{padding:5px 7px;border:1px solid rgba(255,255,255,.14);font-size:7px}.upgrade-card{height:310px}.upgrade-card p{max-height:62px}.upgrade-metrics{margin:6px 0 22px;border-top:1px solid rgba(20,30,23,.14)}.upgrade-metrics div{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid rgba(20,30,23,.08)}.upgrade-metrics dt,.upgrade-metrics dd{margin:0;font:600 6px var(--mono);color:#5a665e}.upgrade-metrics dd b{position:static;color:#2f5315;font-size:inherit}.upgrade-card .install-copy{bottom:12px}.manual-modal>div{max-height:90vh;overflow:auto}.manual-modal #replay-tutorial{margin-top:18px;background:#151e19;color:#fff}
.summary-score-sync{margin:9px 0 0;padding:8px 10px;border-left:2px solid #70e3ee;background:rgba(112,227,238,.06);color:#a9eaf0;font:700 8px var(--mono);letter-spacing:.7px}.summary-score-sync[data-state="synced"]{border-color:var(--lime);background:rgba(201,241,80,.07);color:var(--lime)}.summary-score-sync[data-state="pending"]{border-color:#ffb45d;background:rgba(255,180,93,.07);color:#ffca8e}.summary-score-sync[data-state="unranked"],.summary-score-sync[data-state="host"]{border-color:#89968d;background:rgba(255,255,255,.04);color:#aeb8b1}

@media(max-width:900px){.boss-hud{top:72px;width:min(58vw,420px)}.boss-hud>span{font-size:10px}.boss-hud>b{font-size:5px}.run-score-strip{top:72px;right:10px;padding:6px;gap:6px}.run-score-strip span{font-size:5px}.run-score-strip b{font-size:7px}.scoreboard-panel{display:none}.squad-panel{left:10px;top:130px;width:160px;max-height:118px;overflow:hidden;padding:6px}.squad-row{padding:4px 0}.squad-row span,.squad-row>b{font-size:7px}.squad-row small{font-size:4px}.biome-banner{top:18%;min-width:0;width:min(86vw,400px);padding:12px}.biome-banner h2{font-size:26px}.tutorial-panel>div{top:13%;padding:14px}.tutorial-panel h2{font-size:27px}.command-dialog>div{padding:24px}.command-dialog h2{font-size:44px}.settings-grid{grid-template-columns:1fr;gap:8px}.settings-grid label{font-size:6px}.settings-screen>div{max-height:94vh}.summary-stats{grid-template-columns:repeat(2,1fr)}.upgrade-card{height:210px}.upgrade-card p{max-height:38px}.upgrade-metrics{margin-left:70px;margin-top:3px}.upgrade-metrics div:nth-child(n+3){display:none}.upgrade-card .install-copy{left:84px}}
@media(max-width:900px) and (orientation:landscape){.boss-hud{top:58px;width:42vw}.run-score-strip{top:60px}.squad-panel{top:105px}.tutorial-panel>div{top:8%;width:55vw}.command-dialog>div{width:min(76vw,720px);padding:18px}.command-dialog h2{font-size:38px;margin:8px 0 14px}.settings-grid{grid-template-columns:1fr 1fr}.summary-screen>div{width:80vw}.summary-stats{grid-template-columns:repeat(4,1fr)}.upgrade-card{height:235px}.upgrade-card p{max-height:35px}.upgrade-metrics{margin-left:0}.upgrade-metrics div:nth-child(n+4){display:none}.upgrade-card .install-copy{left:13px}}

/* Regression patch: mobile battlefield hierarchy and canonical pointer controls. */
.minimap>button{display:none}.mobile-controls,.mobile-controls *{touch-action:none;user-select:none;-webkit-user-select:none}.join-row #join-cancel{min-width:88px}.join-row button:disabled{opacity:.55;cursor:wait}
@media(max-width:900px){
  .game-topbar{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));height:52px;display:grid;grid-template-columns:minmax(0,1fr) 56px 54px;gap:6px}
  .game-topbar .sector{min-width:0;padding:6px 8px;background:rgba(4,10,7,.76);border:1px solid rgba(255,255,255,.12)}
  .game-topbar .wave-box{min-width:0;margin:0;padding:5px 7px;text-align:center;background:rgba(4,10,7,.76);border:1px solid rgba(255,255,255,.12)}
  .game-topbar .enemy-box,.game-logo{display:none}.game-topbar #pause-btn{width:54px;min-width:54px;min-height:48px}
  .boss-hud{top:calc(max(8px,env(safe-area-inset-top)) + 61px);left:max(10px,env(safe-area-inset-left));width:calc(100% - max(20px,env(safe-area-inset-left) + env(safe-area-inset-right)));max-width:none;transform:none;padding:6px 10px;box-sizing:border-box;background:rgba(4,10,7,.82);border:1px solid rgba(255,73,61,.34)}
  .boss-hud>span{font-size:11px}.boss-hud>b{font-size:6px}.boss-hud>div{height:7px;margin:4px 0}
  .run-score-strip,.scoreboard-panel{display:none!important}
  .player-hud{left:calc(12px + env(safe-area-inset-left));right:auto;bottom:calc(181px + env(safe-area-inset-bottom));width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 7px;padding:6px 8px;background:rgba(4,10,7,.78);border:1px solid rgba(255,255,255,.12);box-sizing:border-box;z-index:4;transform:none}
  .player-hud .player-name{display:none}.player-hud .bar{height:18px;margin:0}.player-hud .revive-status{grid-column:1/-1;margin:0;min-height:20px;box-sizing:border-box;text-align:center;font-size:6px;padding:5px}
  .stick-base,.aim-base{bottom:calc(66px + env(safe-area-inset-bottom));width:96px;height:96px}.stick-base{left:max(18px,env(safe-area-inset-left))}.aim-base{right:max(18px,env(safe-area-inset-right))}
  #mobile-dash{bottom:calc(16px + env(safe-area-inset-bottom));min-width:76px;width:76px;min-height:44px;height:44px}
  .squad-panel{left:max(10px,env(safe-area-inset-left));top:calc(max(8px,env(safe-area-inset-top)) + 68px);width:138px;max-height:82px;padding:5px}
  .room-badge{display:none!important}.powerup-hud{top:calc(max(8px,env(safe-area-inset-top)) + 120px);max-width:55vw}
  .tutorial-panel>div{top:calc(max(8px,env(safe-area-inset-top)) + 62px);width:min(88vw,430px);padding:12px 15px}.tutorial-panel h2{font-size:25px}.tutorial-panel p{font-size:13px;line-height:1.45;color:#d5ddd7}.tutorial-panel span{display:block;text-align:left;padding-right:110px;min-height:28px;font-size:11px;line-height:14px;letter-spacing:.5px}.tutorial-panel b{font-size:12px;line-height:1.4;margin-top:10px;letter-spacing:.4px}.tutorial-panel button{min-width:44px;min-height:44px;font-size:12px;color:#d5ddd7;position:absolute;top:4px;right:10px}
  .game-shell.training .minimap,.game-shell.training .run-score-strip,.game-shell.training .scoreboard-panel,.game-shell.training .squad-panel,.game-shell.training .room-badge,.game-shell.training .powerup-hud,.game-shell.training .player-hud,.game-shell.training .boss-hud{display:none!important}
  .upgrade-card{height:184px}.upgrade-metrics{max-height:62px;overflow:auto}.upgrade-metrics div:nth-child(n){display:flex}.upgrade-card p{max-height:42px}.upgrade-card .install-copy{bottom:9px}
}
@media(max-width:900px) and (orientation:portrait){
  .game-shell{--control-safe-zone:230px}.minimap,.squad-panel{top:calc(max(8px,env(safe-area-inset-top)) + 120px)}.biome-banner{top:25%}.toast{top:28%}
}
@media(max-width:900px) and (orientation:landscape){
  .game-topbar{height:46px;grid-template-columns:minmax(0,190px) 54px 52px}.game-topbar #pause-btn{min-height:44px;height:46px}
  .boss-hud{top:58px;left:50%;width:min(480px,58vw);transform:translateX(-50%)}
  .player-hud{left:calc(126px + env(safe-area-inset-left));right:auto;bottom:calc(16px + env(safe-area-inset-bottom));width:220px;grid-template-columns:1fr 1fr;padding:5px;transform:none}
  .player-hud .revive-status{font-size:5px}.stick-base,.aim-base{bottom:calc(18px + env(safe-area-inset-bottom));width:88px;height:88px}.stick-base{left:max(18px,env(safe-area-inset-left))}.aim-base{right:max(18px,env(safe-area-inset-right))}
  #mobile-dash{right:calc(112px + env(safe-area-inset-right));transform:none;bottom:calc(18px + env(safe-area-inset-bottom));width:64px;min-width:64px}.tutorial-panel>div{top:58px;left:auto;right:max(10px,env(safe-area-inset-right));transform:none;width:min(40vw,320px)}
  .squad-panel{top:58px}.upgrade-card{height:224px}.upgrade-metrics{max-height:50px}.upgrade-metrics div:nth-child(n){display:flex}
}
@media(max-width:360px) and (orientation:portrait){
  .game-topbar{grid-template-columns:minmax(0,1fr) 52px 50px}.game-topbar #pause-btn{width:50px;min-width:50px}.sector b{font-size:11px}
  .stick-base,.aim-base{width:88px;height:88px}.stick-base i,.aim-base i{left:24px;top:24px}.player-hud{bottom:calc(169px + env(safe-area-inset-bottom))}.tutorial-panel h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:900px) and (orientation:landscape){.player-hud{left:calc(126px + env(safe-area-inset-left));right:auto;bottom:calc(16px + env(safe-area-inset-bottom));width:220px;transform:none}}

/* Desktop combat text is deliberately larger than the compact mobile HUD. */
@media(min-width:901px){
  .site-header nav a,.nav-leaderboard>button{font-size:15px}.sound-toggle{font-size:12px}
  .cover-copy{width:min(680px,50vw)}.cover-copy>p{font-size:14px;line-height:1.7}.cover-copy .eyebrow{font-size:10px}.cover-copy .status-line{font-size:10px}.text-btn{font-size:15px}
  .section-heading p,.biome-copy p{font-size:14px;line-height:1.85}.kicker,.eyebrow{font-size:12px}
  .vehicle-type,.card-num{font-size:10px}.vehicle-card p{font-size:13px;line-height:1.65}.stat{font-size:10px}.vehicle-card button{font-size:13px}
  .biome-list span{font-size:15px;height:48px}.biome-list i,.biome-list b{font-size:10px}.coordinate{font-size:10px}.intel-section{font-size:17px}
  #nav-leaderboard-panel header span{font-size:18px}#nav-leaderboard-panel header b,#nav-leaderboard-panel small{font-size:8px}#nav-leaderboard-panel li{font-size:11px;min-height:31px}#nav-leaderboard-panel li:before{font-size:9px}
  .game-topbar{height:58px}.game-logo{font-size:26px}.game-topbar small,.weapon-hud>small{font-size:10px;letter-spacing:1.5px}
  .sector{min-width:230px;padding-top:6px}.sector b{font-size:18px}
  .wave-box,.enemy-box{min-width:118px}.wave-box b,.enemy-box b{font-size:31px}
  .boss-hud{width:min(680px,58vw);top:88px}.boss-hud>span{font-size:22px}.boss-hud>div{height:12px;margin:8px 0}.boss-hud>b{font-size:10px}
  .player-hud{width:330px}.player-name span{font-size:20px}.player-name b{font-size:10px}
  .bar{height:23px}.bar b,.bar small{top:4px;font-size:10px}.revive-status{padding:8px 10px;font-size:10px}
  .weapon-hud{left:380px}.weapon-hud div b{font-size:20px}.weapon-hud p{font-size:10px}.weapon-hud kbd{font-size:9px}
  .powerup-hud{font-size:11px;padding:11px 15px}
  .squad-panel{width:290px}.squad-title{font-size:10px}.squad-row span,.squad-row>b{font-size:12px}.squad-row small{font-size:8px}
  .room-badge{width:180px}.room-badge span{font-size:9px}.room-badge b{font-size:18px}.room-badge button{font-size:9px}
  .run-score-strip{padding:10px 12px}.run-score-strip span{font-size:9px}.run-score-strip b{font-size:13px}
  .scoreboard-panel{top:196px;width:270px}.scoreboard-panel>button{min-height:50px;padding:11px 13px}.scoreboard-panel>button span{font-size:10px}.scoreboard-panel>button b{font-size:13px}.scoreboard-panel ol{padding:0 13px 12px}.scoreboard-panel li{grid-template-columns:22px 1fr auto;min-height:27px;gap:7px}.scoreboard-panel li:before{font-size:9px}.scoreboard-panel li span{font-size:10px}.scoreboard-panel li b{font-size:10px}
}

.landing-leaderboard{padding:110px clamp(24px,7.5vw,124px);display:grid;grid-template-columns:minmax(300px,.8fr) minmax(440px,1.2fr);gap:clamp(55px,8vw,130px);align-items:center;background:linear-gradient(135deg,#0b1511 0,#07100d 58%,#101b13 100%);color:#e3e9e1;border-top:1px solid rgba(201,241,80,.16);position:relative;overflow:hidden}.landing-leaderboard:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 40%,rgba(112,227,238,.08),transparent 32%),linear-gradient(rgba(201,241,80,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(201,241,80,.026) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px;pointer-events:none}.leaderboard-intro,.leaderboard-board{position:relative;z-index:1}.leaderboard-intro h2{font:800 clamp(48px,5vw,78px)/.86 var(--display);letter-spacing:-1.5px;margin:18px 0 24px}.leaderboard-intro p{max-width:520px;color:#94a198;font-size:13px;line-height:1.8}.leaderboard-intro> b{display:inline-block;margin-top:20px;padding:7px 10px;border:1px solid rgba(201,241,80,.34);color:var(--lime);font:500 9px var(--mono);letter-spacing:1px}.leaderboard-board{padding:24px 28px 20px;background:rgba(2,8,5,.76);border:1px solid rgba(201,241,80,.28);box-shadow:0 30px 85px rgba(0,0,0,.36)}.leaderboard-board header{display:flex;justify-content:space-between;padding:0 0 14px;border-bottom:1px solid rgba(255,255,255,.13);color:#9eaaa1;font:600 9px var(--mono);letter-spacing:1.3px}.leaderboard-board ol{list-style:none;margin:0;padding:0;counter-reset:rank}.leaderboard-board li{counter-increment:rank;display:grid;grid-template-columns:40px 1fr auto;align-items:center;min-height:46px;border-bottom:1px solid rgba(255,255,255,.07);font:700 13px var(--mono)}.leaderboard-board li:before{content:counter(rank,decimal-leading-zero);color:#64736a;font-size:10px}.leaderboard-board li>span{display:flex;align-items:center;gap:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-board li small{color:#65746a;font:500 8px var(--mono);letter-spacing:.5px}.leaderboard-board li>b{color:#f5f7f3;font-size:14px}.leaderboard-board li:first-child:before,.leaderboard-board li:first-child>b{color:var(--lime)}.leaderboard-board>small{display:block;margin-top:14px;color:#69786f;font:500 8px var(--mono);letter-spacing:.65px}
@media(max-width:900px){.landing-leaderboard{padding:78px 22px;grid-template-columns:1fr;gap:38px}.leaderboard-intro h2{font-size:48px}.leaderboard-intro p{font-size:11px}.leaderboard-board{padding:18px 16px}.leaderboard-board li{grid-template-columns:30px 1fr auto;min-height:43px;font-size:11px}.leaderboard-board li>span{display:block}.leaderboard-board li small{display:block;margin-top:3px}.leaderboard-board li>b{font-size:12px}}
body.dialog-open .mobile-controls{opacity:0;pointer-events:none}body.dialog-open .game-shell .player-hud,body.dialog-open .game-shell .minimap,body.dialog-open .game-shell .game-topbar,body.dialog-open .game-shell .boss-hud,body.dialog-open .game-shell .run-score-strip,body.dialog-open .game-shell .scoreboard-panel,body.dialog-open .game-shell .squad-panel{opacity:0;pointer-events:none}

/* v2.6.3 low-latency pointer and compact mobile status placement. */
.game-shell{cursor:auto}.game-shell canvas{cursor:crosshair}.crosshair{display:none!important}
@media(max-width:900px){
  .game-shell canvas{cursor:auto}
  .player-hud{left:50%;right:auto;bottom:calc(106px + env(safe-area-inset-bottom));width:clamp(104px,calc(100vw - 222px),158px);max-width:158px;padding:3px;gap:2px 3px;transform:translateX(-50%);background:rgba(4,10,7,.66)}
  .player-hud .bar{height:10px}.player-hud .bar small,.player-hud .bar b{top:1px;font-size:5px;line-height:7px}.player-hud .bar small{left:2px}.player-hud .bar b{right:2px}
  .player-hud .revive-status{min-height:0;height:11px;padding:1px 2px;font-size:5px;line-height:8px;letter-spacing:.2px}
}
@media(max-width:900px) and (orientation:landscape){
  .player-hud{left:50%;right:auto;bottom:calc(51px + env(safe-area-inset-bottom));width:168px;transform:translateX(-50%)}
}
@media(max-width:360px) and (orientation:portrait){
  .player-hud{bottom:calc(102px + env(safe-area-inset-bottom));width:clamp(104px,calc(100vw - 214px),146px)}
}
.upgrade-screen .upgrade-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:8px;width:100%}.upgrade-screen .upgrade-card{flex:0 1 280px;width:min(280px,100%)}
@media(max-width:900px){.upgrade-screen .upgrade-grid{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center}.upgrade-screen .upgrade-card{flex:0 0 148px;width:min(100%,430px)}}
@media(max-width:900px) and (orientation:landscape){.upgrade-screen .upgrade-grid{flex-direction:row;flex-wrap:nowrap;align-items:stretch}.upgrade-screen .upgrade-card{flex:1 1 0;width:auto;min-width:0;max-width:280px}}

/* V34 local review candidate: mobile-first combat hierarchy and transparent tactical UI. */
.mobile-run-status{display:none}.leaderboard-stack{display:grid;gap:18px}.home-rank{display:flex;gap:18px;margin-top:18px}.home-rank span{padding:8px 10px;border:1px solid rgba(112,227,238,.22);font:600 8px var(--mono);color:#8f9d94}.home-rank b{display:block;margin-top:4px;color:#fff;font-size:12px}.coop-board{border-color:rgba(112,227,238,.3)}.settings-leaderboard{display:none}.site-header .brand{gap:14px;min-width:max-content}.site-header .brand>span:last-child{letter-spacing:.35px}
@media(max-width:900px){
  .site-header{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));gap:10px}.site-header .brand{gap:8px}.site-header .brand>span:last-child{font-size:16px}.brand-mark{transform:scale(.84);transform-origin:left center}
  .game-topbar{grid-template-columns:minmax(118px,1fr) 52px}.game-topbar .sector,.game-topbar .wave-box,.game-topbar .enemy-box,.game-topbar .game-logo{display:none}.mobile-run-status{display:block;align-self:start;padding:7px 9px;background:rgba(4,10,7,.62);border-left:2px solid var(--lime);backdrop-filter:blur(3px)}.mobile-run-status small{font:500 6px var(--mono);color:#8f9d94}.mobile-run-status b{display:block;margin-top:3px;font:800 15px var(--display);color:#fff}.mobile-run-status b span:last-child{color:var(--lime)}
  .game-topbar #pause-btn{justify-self:end;background:rgba(4,10,7,.56);border-color:rgba(255,255,255,.14);font-size:19px}.mobile-pause{font-size:19px}
  .run-score-strip{display:none}.player-hud{left:50%;bottom:calc(48px + env(safe-area-inset-bottom));width:min(154px,42vw);display:block;padding:2px;transform:translateX(-50%);background:transparent;border:0}.player-hud .bar{display:none}.player-hud .revive-status{display:block;height:auto;min-height:0;padding:3px 5px;background:rgba(4,10,7,.56);border:1px solid rgba(255,255,255,.1);font-size:5px;line-height:8px}
  .settings-leaderboard{display:block;margin:14px 0;padding:10px;border:1px solid rgba(112,227,238,.22);background:rgba(3,9,6,.48)}.settings-leaderboard h3{margin:0 0 7px;font:700 11px var(--display);color:var(--blue)}.settings-leaderboard ol{max-height:112px;overflow:auto;margin:0;padding:0;list-style:none}.settings-leaderboard li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06);font:500 6px var(--mono)}
  .leaderboard-stack{grid-template-columns:1fr}.landing-leaderboard{align-items:start}
}
@media(max-width:900px) and (orientation:portrait){.game-shell.active:after{content:'LANDSCAPE RECOMMENDED';position:absolute;left:50%;bottom:calc(8px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:4px 7px;background:rgba(4,10,7,.52);color:#9daba2;font:500 5px var(--mono);letter-spacing:.7px;pointer-events:none}}
@media(min-width:901px){.leaderboard-stack{grid-template-columns:1fr}.landing-leaderboard{grid-template-columns:minmax(300px,.72fr) minmax(480px,1.28fr)}}




@media(max-width:900px){}
@media(max-width:540px){}

/* Local V17 owner-review 2D cinematic hero. */
.hero-media{position:relative;isolation:isolate;width:min(100%,1600px);aspect-ratio:16/9;margin:0 auto;overflow:hidden;background:#02060c;box-shadow:0 22px 70px rgba(0,0,0,.48)}
.hero-media picture{display:block;position:absolute;inset:0}.hero-media .hero-cover-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;margin:0;box-shadow:none}
.hero-poster{z-index:0}
@media(max-width:900px){.hero-media{width:100%;aspect-ratio:4/5;margin:0;box-shadow:none}}

/* Near-ship hull/boost bars are the sole visual status treatment. The legacy
   DOM meters remain available to assistive technology and automated QA. */
.game-shell .player-hud{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}
.upgrade-actions{display:flex;gap:8px;margin-top:12px}.upgrade-actions button{min-height:38px;padding:0 14px;border:1px solid rgba(112,227,238,.4);background:rgba(6,15,10,.86);color:var(--blue);font:700 8px var(--mono);letter-spacing:.7px}.upgrade-actions button[aria-pressed="true"]{color:#111;background:#ffb45d;border-color:#ffb45d}.upgrade-screen.doctrine .upgrade-actions{display:none}

/* V35 RC1 // RISING FROM THE ASHES */
.local-profile-note{margin:9px 0 0;padding:7px 9px;border-left:2px solid #87958b;background:rgba(13,22,16,.055);color:#657067;font:500 7px/1.55 var(--mono);letter-spacing:.35px}.ash-point-selector{margin-top:13px;padding:12px;border:1px solid #aeb6ac;background:#eef1ea}.ash-point-selector header{display:flex;align-items:end;justify-content:space-between;gap:12px}.ash-point-selector header span{color:#9d4d28;font:700 7px var(--mono);letter-spacing:1.1px}.ash-point-selector header b{font:800 13px var(--display);letter-spacing:.7px}.ash-point-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:9px}.ash-point-card{min-height:68px;padding:7px;border:1px solid #aeb6ac;background:#dfe4da;color:#222b24;text-align:left}.ash-point-card b,.ash-point-card span,.ash-point-card small{display:block}.ash-point-card b{font:800 11px var(--display)}.ash-point-card span{margin-top:3px;font:700 7px var(--mono);color:#6e786f}.ash-point-card small{margin-top:7px;font:600 6px/1.35 var(--mono);color:#8d3c25}.ash-point-card.unlocked small{color:#587217}.ash-point-card.selected{border-color:#344226;box-shadow:inset 0 -3px 0 var(--lime);background:#131c16;color:#eef4ea}.ash-point-card.selected span{color:#b7c0b7}.ash-point-selector>p{margin:8px 0 0;color:#5d695f;font:600 7px var(--mono);letter-spacing:.5px}.game-topbar{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));height:48px;justify-content:center;align-items:start;z-index:15}.compact-run-line{display:flex;align-items:center;gap:9px;min-height:38px;padding:0 13px;background:rgba(3,9,6,.6);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(4px);font:600 9px var(--mono);letter-spacing:.45px;color:#aeb9b0;white-space:nowrap}.compact-run-line b{color:#fff;font-size:11px}.compact-run-line i{font-style:normal;color:var(--lime)}.compact-run-line em{margin-left:3px;padding-left:9px;border-left:1px solid rgba(255,255,255,.14);color:#ffb45d;font:700 7px var(--mono)}.game-topbar #pause-btn{position:absolute;right:0;top:0;width:46px;min-width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.14);background:rgba(3,9,6,.56);color:#e6eee7;font-size:21px;pointer-events:auto}.game-logo,.sector,.mobile-run-status,.wave-box,.enemy-box,.run-score-strip,.scoreboard-panel,.weapon-hud{display:none!important}
@media(max-width:900px){.modal-panel{max-height:94vh;overflow:auto}.ash-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ash-point-card:first-child{grid-column:1/-1}.game-topbar{left:calc(max(8px,env(safe-area-inset-left)) + 140px);right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));display:flex;justify-content:flex-start;grid-template-columns:none}.compact-run-line{box-sizing:border-box;width:calc(100% - 52px);min-height:34px;gap:5px;padding:0 8px;font-size:7px;overflow:hidden}.compact-run-line b{font-size:9px}.compact-run-line em{display:none}.game-topbar #pause-btn{width:44px;min-width:44px;height:44px}}
@media(max-width:520px) and (orientation:portrait){.compact-run-line{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:1px 7px;min-height:44px;padding:3px 7px;line-height:12px;white-space:nowrap}.compact-run-line>i{display:none}.compact-run-line>span{text-align:left}.compact-run-line>span:nth-of-type(even){text-align:right}.compact-run-line span:nth-of-type(3),.compact-run-line span:nth-of-type(4){font-size:6px}.ash-point-grid{grid-template-columns:1fr}.ash-point-card:first-child{grid-column:auto}}

/* Transparent tactical map: always visible during gameplay; never a control. */
.minimap{display:block;position:absolute;left:max(12px,env(safe-area-inset-left));right:auto;top:max(12px,env(safe-area-inset-top));bottom:auto;width:164px;z-index:14;pointer-events:none;background:transparent}
.minimap canvas{display:block;width:160px;height:112px;border:1px solid rgba(255,255,255,.18);background:rgba(3,9,6,.12);backdrop-filter:blur(1px)}
.minimap>span,.minimap>small{display:none}
@media(max-width:900px){.minimap{left:max(8px,env(safe-area-inset-left));top:max(8px,env(safe-area-inset-top));width:132px}.minimap canvas{width:130px;height:91px}}
@media(max-width:900px) and (orientation:portrait){.boss-hud{top:calc(max(8px,env(safe-area-inset-top)) + 101px)}}

/* Compact combat readouts: explicit line boxes preserve battlefield space. */
.combat-readouts{display:contents;}
@media(max-width:900px){
  .boss-hud{padding:4px 8px;line-height:1;}
  .boss-hud>span{display:block;font-size:14px;line-height:16px;letter-spacing:.7px;}
  .boss-hud>div{height:6px;margin:3px 0;}
  .boss-hud>b{display:block;font-size:11px;line-height:14px;letter-spacing:.15px;color:#e0e8e2;overflow-wrap:anywhere;}
  .powerup-hud{font-size:10px;line-height:14px;letter-spacing:.2px;box-sizing:border-box;pointer-events:none;}
}
@media(max-width:900px) and (orientation:portrait){
  .combat-readouts{position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 101px);left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none;}
  .combat-readouts>.boss-hud{position:static;transform:none;width:100%;}
  .combat-readouts>.powerup-hud{position:static;max-width:100%;overflow-wrap:anywhere;}
}
@media(min-width:901px){
  .powerup-hud{left:max(12px,env(safe-area-inset-left));top:calc(max(12px,env(safe-area-inset-top)) + 124px);max-width:240px;box-sizing:border-box;line-height:1.4;pointer-events:none;}
}

/* Keep the map and readouts without hiding large bosses behind the 320px stack. */
.boss-hud>#boss-health-compact{display:none;}
@media(max-width:380px) and (orientation:portrait){
  .game-shell.boss-present .minimap{width:94px;}
  .game-shell.boss-present .minimap canvas{width:92px;height:64.4px;}
  .game-shell.boss-present .game-topbar{left:calc(max(8px,env(safe-area-inset-left)) + 102px);}
  .game-shell.boss-present .combat-readouts{top:calc(max(8px,env(safe-area-inset-top)) + 48px);left:calc(max(8px,env(safe-area-inset-left)) + 102px);gap:4px;}
  .game-shell.boss-present .boss-hud{padding:2px 5px;}
  .game-shell.boss-present .boss-hud>span{font-size:13px;letter-spacing:.2px;}
  .game-shell.boss-present .boss-hud>div{height:4px;margin:2px 0;}
  .game-shell.boss-present .boss-hud>#boss-health-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  .game-shell.boss-present .boss-hud>#boss-health-compact{display:block;font-size:11px;line-height:14px;}
}

/* V38 // Tactical field-module cards. Shared DOM presentation for Pixi and Canvas. */
.upgrade-screen{
  box-sizing:border-box;padding:clamp(12px,2.3vh,26px) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
  background:radial-gradient(circle at 50% 42%,rgba(15,29,24,.92),rgba(2,7,5,.988) 68%);backdrop-filter:none;overflow:hidden;
}
.upgrade-heading{flex:0 0 auto}.upgrade-heading>span{font-size:7px;letter-spacing:1.7px;color:#95a29a}.upgrade-heading h2{margin:7px 0 5px;font-size:clamp(30px,4.2vh,48px);line-height:.9}.upgrade-heading h2 em{color:#dce7df}.upgrade-heading p{margin:0;color:#91a198;font-size:7px;letter-spacing:.45px}
.upgrade-screen .upgrade-grid{display:flex;flex:0 1 auto;flex-flow:row nowrap;justify-content:center;align-items:stretch;gap:clamp(9px,1.1vw,17px);width:100%;max-height:none;margin:clamp(9px,1.5vh,18px) 0 0;padding:0;overflow:visible;scrollbar-width:none;overscroll-behavior-x:contain}
.upgrade-screen .upgrade-grid::-webkit-scrollbar{display:none}
.upgrade-screen .upgrade-card{
  --category:#a884ff;--rarity:#d9ded1;isolation:isolate;display:flex;flex:0 1 300px;flex-direction:column;width:min(300px,29vw);min-width:228px;height:clamp(378px,55vh,500px);box-sizing:border-box;margin:0;padding:clamp(15px,2vh,22px) clamp(16px,1.5vw,22px) clamp(58px,9vh,82px);
  border:0;border-radius:0;background:linear-gradient(145deg,rgba(36,48,43,.985),rgba(10,18,15,.99) 43%,rgba(4,10,8,.995));color:#edf3ee;text-align:left;cursor:pointer;
  clip-path:polygon(12% 0,88% 0,100% 8%,100% 84%,50% 100%,0 84%,0 8%);box-shadow:none;transform:translateY(0) scale(1);transition:transform 150ms ease,filter 150ms ease;
}
.upgrade-screen .upgrade-card::before{content:'';position:absolute;z-index:-1;inset:2px;background:linear-gradient(155deg,color-mix(in srgb,var(--category) 22%,#17221d),#09110d 49%,color-mix(in srgb,var(--category) 10%,#050b08));clip-path:inherit;pointer-events:none}
.upgrade-screen .upgrade-card::after{content:'';position:absolute;z-index:0;left:13%;right:13%;top:7px;height:2px;background:linear-gradient(90deg,transparent,var(--category),transparent);box-shadow:0 0 10px color-mix(in srgb,var(--category) 46%,transparent);opacity:.78;pointer-events:none}
.upgrade-screen .upgrade-card:hover,.upgrade-screen .upgrade-card:focus-visible,.upgrade-screen .upgrade-card[data-focused="true"]{background:linear-gradient(145deg,color-mix(in srgb,var(--category) 72%,#fff),var(--category));filter:drop-shadow(0 12px 16px rgba(0,0,0,.48)) drop-shadow(0 0 8px color-mix(in srgb,var(--category) 38%,transparent));transform:translateY(-5px) scale(1.015);outline:0}
.upgrade-screen .upgrade-card:focus-visible::after,.upgrade-screen .upgrade-card[data-focused="true"]::after{height:3px;opacity:1;box-shadow:0 0 14px var(--category)}
.upgrade-screen .upgrade-card[disabled],.upgrade-screen .upgrade-card[aria-disabled="true"]{cursor:not-allowed;opacity:.76;filter:saturate(.72)}.upgrade-screen .upgrade-card[disabled]:hover,.upgrade-screen .upgrade-card[aria-disabled="true"]:hover{transform:none}
.upgrade-screen .upgrade-card.selected-confirm{animation:v38-card-confirm 180ms ease-out both}
@keyframes v38-card-confirm{50%{transform:translateY(-6px) scale(1.035);filter:drop-shadow(0 0 15px var(--category)) brightness(1.18)}}
.upgrade-card-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:18px}.upgrade-card .u-num{color:#aeb9b1;font:650 7px var(--mono);letter-spacing:.7px}.upgrade-card .u-rarity{position:static;padding-left:7px;border-left:2px solid var(--rarity);color:var(--rarity);font:750 7px var(--mono);letter-spacing:.8px;white-space:nowrap}
.upgrade-card .u-medallion{position:relative;z-index:2;display:grid;place-items:center;align-self:center;width:clamp(76px,10.4vh,104px);height:clamp(76px,10.4vh,104px);box-sizing:border-box;margin:clamp(7px,1vh,12px) 0 clamp(8px,1.1vh,13px);border:2px solid color-mix(in srgb,var(--category) 78%,#dce8df);border-radius:50%;background:radial-gradient(circle at 42% 35%,color-mix(in srgb,var(--category) 24%,#26352e),#08110d 67%);box-shadow:inset 0 0 0 6px rgba(0,0,0,.34),inset 0 0 0 8px color-mix(in srgb,var(--category) 27%,transparent),0 0 13px color-mix(in srgb,var(--category) 24%,transparent);color:var(--category)}
.upgrade-card .u-medallion::before,.upgrade-card .u-medallion::after{content:'';position:absolute;width:15px;height:8px;border:1px solid var(--category);background:#111b17}.upgrade-card .u-medallion::before{left:-10px}.upgrade-card .u-medallion::after{right:-10px}.upgrade-card .u-icon{display:grid;place-items:center;width:64%;height:64%;color:var(--category)}.upgrade-card .u-icon-art{display:block;width:100%;height:100%;overflow:visible}
.upgrade-card-classification{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:6px}.upgrade-card .u-category{color:var(--category);font:750 7px var(--mono);letter-spacing:.75px}.upgrade-card .u-tier{color:#c5cfc8;font:650 7px var(--mono);letter-spacing:.5px;text-align:right}
.upgrade-screen .upgrade-card h3{position:relative;z-index:2;min-height:2em;margin:0 0 6px;color:#f5f8f4;font:850 clamp(24px,3vh,31px)/.9 var(--display);letter-spacing:.2px}
.upgrade-screen .upgrade-card p{position:relative;z-index:2;display:-webkit-box;min-height:2.8em;max-height:none;margin:0 0 8px;padding:0;overflow:hidden;color:#c7d1ca;font:550 clamp(8px,1.03vh,10px)/1.42 var(--mono);letter-spacing:.12px;-webkit-line-clamp:3;-webkit-box-orient:vertical}.upgrade-screen .upgrade-card p strong{display:block;margin:0 0 3px;color:#91a098;font-size:7px;letter-spacing:.85px}
.upgrade-screen .upgrade-card p mark{padding:0 2px;border-radius:2px;background:rgba(3,9,6,.42);color:#fff36b;font:inherit;font-weight:900}
.upgrade-primary-metric{position:relative;z-index:2;margin-top:auto;padding:8px 9px;border-left:2px solid var(--category);background:color-mix(in srgb,var(--category) 9%,rgba(1,6,4,.72))}.upgrade-primary-metric dt{color:#a5b2aa;font:650 7px var(--mono);letter-spacing:.75px}.upgrade-primary-metric dd{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:4px 0 0;color:#b8c3bb;font:800 15px var(--display)}.upgrade-primary-metric dd b{position:static;color:var(--category);font:850 clamp(18px,2.5vh,24px) var(--display)}
.upgrade-screen .upgrade-metrics{position:relative;z-index:2;display:grid;gap:1px;max-height:none;margin:4px 0 0;border:0;overflow:visible}.upgrade-screen .upgrade-metrics div{display:flex;justify-content:space-between;gap:8px;padding:2px 1px;border:0}.upgrade-screen .upgrade-metrics dt,.upgrade-screen .upgrade-metrics dd{margin:0;color:#9ca9a1;font:600 6.5px var(--mono)}.upgrade-screen .upgrade-metrics dd b{position:static;color:#d6ded8;font:inherit}
.upgrade-card-status{position:absolute;z-index:2;left:8%;right:8%;bottom:16.5%;overflow:hidden;color:#d0dbd3;font:750 6.5px var(--mono);letter-spacing:.6px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.upgrade-card-status.synergy{color:#ff8de3}.upgrade-card-status.maximum{display:none;color:#ffd47a}
.upgrade-screen .upgrade-card .install-copy{position:absolute;z-index:2;left:50%;bottom:9%;width:60%;transform:translateX(-50%);color:#f2f7f3;font:750 7.5px var(--mono);letter-spacing:.8px;text-align:center}.upgrade-screen .upgrade-card .install-copy::before{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:linear-gradient(90deg,transparent,var(--category),transparent)}
.upgrade-carousel-nav{display:none}.upgrade-screen .upgrade-actions{flex:0 0 auto;margin-top:clamp(7px,1.1vh,12px)}.upgrade-screen .upgrade-actions button{min-height:36px}.upgrade-screen .upgrade-timer{flex:0 0 auto;margin-top:6px}
.upgrade-screen.doctrine .upgrade-card{--category:#ff65d7}.upgrade-screen.doctrine .upgrade-card .u-rarity{color:#e0b4ff}.upgrade-screen .upgrade-card.category-synergy::after{animation:v38-synergy-energy 2.4s ease-in-out infinite}@keyframes v38-synergy-energy{50%{opacity:.42;transform:scaleX(.76)}}
.reduce-motion .upgrade-screen .upgrade-card,.reduce-motion .upgrade-screen .upgrade-card::after{transition:none!important;animation:none!important}.reduce-motion .upgrade-screen .upgrade-card:hover,.reduce-motion .upgrade-screen .upgrade-card:focus-visible,.reduce-motion .upgrade-screen .upgrade-card[data-focused="true"]{transform:none}.reduce-motion .upgrade-screen .upgrade-card.selected-confirm{animation:none;filter:drop-shadow(0 0 7px var(--category))}
.reduce-flash .upgrade-screen .upgrade-card.selected-confirm{animation:none;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--category) 55%,transparent))}.reduce-flash .upgrade-screen .upgrade-card::after{box-shadow:none}


@media(max-width:900px) and (orientation:landscape){
  .upgrade-screen{padding:6px 12px}.upgrade-heading>span{font-size:5.5px}.upgrade-heading h2{margin:3px 0;font-size:25px}.upgrade-heading p{font-size:5.5px}.upgrade-screen .upgrade-grid{gap:7px;margin-top:6px}.upgrade-screen .upgrade-card{flex:1 1 0;width:auto;min-width:0;max-width:246px;height:235px;padding:8px 10px 28px;clip-path:polygon(10% 0,90% 0,100% 8%,100% 84%,50% 100%,0 84%,0 8%)}.upgrade-card .u-medallion{width:56px;height:56px;margin:4px 0 5px}.upgrade-card .u-num,.upgrade-card .u-rarity,.upgrade-card .u-category,.upgrade-card .u-tier{font-size:4.7px}.upgrade-screen .upgrade-card h3{min-height:1.75em;margin-bottom:3px;font-size:17px}.upgrade-screen .upgrade-card p{min-height:2.4em;margin-bottom:3px;font-size:5.5px;line-height:1.3;-webkit-line-clamp:2}.upgrade-screen .upgrade-card p strong{font-size:4.7px}.upgrade-primary-metric{padding:4px 5px}.upgrade-primary-metric dt{font-size:4.7px}.upgrade-primary-metric dd{margin-top:1px;font-size:10px}.upgrade-primary-metric dd b{font-size:13px}.upgrade-screen .upgrade-metrics{margin-top:2px}.upgrade-screen .upgrade-metrics div:nth-child(n+2){display:none}.upgrade-card-status{margin-top:2px;font-size:4.5px}.upgrade-screen .upgrade-card .install-copy{bottom:8px;font-size:5px}.upgrade-screen .upgrade-actions{margin-top:4px}.upgrade-screen .upgrade-actions button{min-height:29px;font-size:6px}.upgrade-screen .upgrade-timer{margin-top:3px;font-size:5px}
}

@media(max-width:600px) and (orientation:portrait){
  .upgrade-screen{align-items:stretch;padding:max(8px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))}.upgrade-heading{padding:0 5px}.upgrade-heading>span{font-size:5px}.upgrade-heading h2{margin:3px 0;font-size:26px}.upgrade-heading p{display:block;font-size:5.5px;line-height:1.3}.upgrade-screen .upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:4px;width:100%;margin:8px 0 0;padding:0;overflow:visible;touch-action:manipulation}.upgrade-screen .upgrade-card{display:flex;flex:none;width:100%;min-width:0;height:clamp(230px,40dvh,310px);padding:11px 8px 34px;background:color-mix(in srgb,var(--category) 90%,#edf4ef);filter:drop-shadow(0 9px 10px rgba(0,0,0,.62)) drop-shadow(0 0 5px color-mix(in srgb,var(--category) 42%,transparent));clip-path:polygon(12% 0,88% 0,100% 5%,100% 82%,92% 85%,92% 89%,50% 100%,8% 89%,8% 85%,0 82%,0 5%)}.upgrade-screen .upgrade-card::before{inset:4px;background:linear-gradient(90deg,rgba(1,8,5,.25),transparent 13%,transparent 87%,rgba(1,8,5,.25)),linear-gradient(180deg,color-mix(in srgb,var(--category) 82%,#34443c) 0 18%,color-mix(in srgb,var(--category) 72%,#10221a) 18% 100%);box-shadow:inset 0 0 0 2px rgba(235,247,238,.2),inset 0 20px 24px rgba(255,255,255,.08)}.upgrade-screen .upgrade-card::after{left:12%;right:12%;top:10px;height:6px;background:linear-gradient(90deg,rgba(255,255,255,.92) 0 34%,transparent 34% 43%,rgba(3,10,7,.62) 43% 57%,transparent 57% 66%,rgba(255,255,255,.92) 66%);box-shadow:0 2px 0 rgba(3,10,7,.54),0 0 8px rgba(255,255,255,.3)}.upgrade-card-topline{justify-content:center;gap:0;min-height:14px}.upgrade-card .u-num{display:none}.upgrade-card .u-rarity{padding:0;border:0;color:#fff;font:850 6px var(--display);letter-spacing:.35px;text-shadow:0 1px 2px #07100b}.upgrade-card .u-medallion,.upgrade-card-classification{display:none}.upgrade-screen .upgrade-card h3{min-height:2.45em;margin:13px 0 8px;padding:0 2px 8px;border-bottom:2px solid rgba(255,255,255,.28);color:#fff;font-size:clamp(16px,2.65vh,21px);font-weight:950;line-height:.88;text-align:center;text-shadow:-1px 0 #07100b,0 1px #07100b,1px 0 #07100b,0 -1px #07100b,0 2px 4px rgba(0,0,0,.8)}.upgrade-screen .upgrade-card p{display:block;min-height:5.1em;margin-bottom:8px;color:#fff;font:800 clamp(7px,1.08vh,9px)/1.28 var(--display);letter-spacing:.02px;text-align:left;text-shadow:0 1px 2px #07100b;-webkit-line-clamp:unset}.upgrade-screen .upgrade-card p strong{display:none}.upgrade-screen .upgrade-card p mark{padding:0 2px;background:rgba(4,10,7,.48);color:#fff36b;font-weight:950;text-shadow:0 1px 1px #07100b}.upgrade-primary-metric{padding:7px 5px;border:2px solid rgba(255,255,255,.3);background:linear-gradient(180deg,rgba(5,14,10,.48),rgba(3,9,6,.64));box-shadow:inset 0 0 0 1px rgba(3,10,7,.48);text-shadow:0 1px 2px #07100b}.upgrade-primary-metric dt{color:#fff;font:850 5.5px var(--display);letter-spacing:.15px}.upgrade-primary-metric dd{gap:2px;margin-top:3px;color:rgba(255,255,255,.76);font-size:9px}.upgrade-primary-metric dd b{color:#fff36b;font-size:clamp(13px,1.9vh,16px);text-shadow:0 1px 2px #07100b}.upgrade-screen .upgrade-metrics,.upgrade-card-status{display:none}.upgrade-screen .upgrade-card .install-copy{bottom:6.4%;width:66%;padding:4px 3px;background:rgba(3,10,7,.38);clip-path:polygon(6% 0,94% 0,100% 50%,94% 100%,6% 100%,0 50%);color:#fff;font:900 6.5px var(--display);letter-spacing:.45px;text-shadow:0 1px 2px #07100b}.upgrade-screen .upgrade-card .install-copy::before{display:none}.upgrade-carousel-nav{display:none}.upgrade-screen .upgrade-actions{justify-content:center;margin-top:6px}.upgrade-screen .upgrade-actions button{min-width:140px;min-height:40px;padding:0 12px;border-width:2px;font-size:6px}.upgrade-screen .upgrade-timer{margin-top:4px}
}

/* Settings keep the single native Save action outside the scrolling controls. */
.settings-screen>.settings-shell{display:flex;flex-direction:column;width:min(720px,94vw);max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));overflow:hidden;padding:0}
.settings-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:12px;padding:24px}
.settings-scroll>span{color:var(--lime);font:600 11px/1.4 var(--mono);letter-spacing:1.2px}
.settings-scroll h2{margin:8px 0 22px;line-height:1}
.settings-scroll .settings-grid{gap:18px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-scroll .settings-grid label{min-width:0;color:#d5ddd7;font-size:14px;line-height:1.4;letter-spacing:.15px}
.settings-scroll .settings-grid label:not(.check-setting){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:6px;align-items:start}
.settings-scroll .settings-grid output{float:none;white-space:nowrap}
.settings-scroll .settings-grid input[type=range],.settings-scroll .settings-grid select{grid-column:1/-1;min-width:0;height:44px;margin-top:0;font-size:16px}
.settings-scroll .settings-grid .check-setting{min-height:44px;gap:12px}
.settings-scroll .settings-grid .check-setting input{width:24px;height:24px;flex-shrink:0}
.settings-scroll>p{color:#c7d2ca;font-size:13px;line-height:1.65;letter-spacing:0}
.settings-scroll .controls-reference b{display:block;margin-bottom:6px}
.settings-screen .settings-scroll>button{min-height:44px;font-size:14px;background:transparent;border-color:#59665e;color:#edf2e9}
.settings-actions{flex-shrink:0;padding:12px 24px;border-top:1px solid #465149;background:#0a130f}
.settings-actions>button{margin:0;min-height:48px;font-size:16px;background:var(--lime);border-color:var(--lime);color:#111810}
.settings-actions>#settings-command-menu{min-height:44px;margin-bottom:8px;font-size:14px;background:transparent;border-color:#59665e;color:#edf2e9}
@media(max-width:900px){
  .settings-scroll{padding:18px 16px}.settings-scroll h2{font-size:36px;margin-bottom:18px}
  .settings-actions{padding:10px 16px}.settings-scroll .settings-grid{grid-template-columns:minmax(0,1fr)}
  .settings-scroll .settings-leaderboard h3{font-size:18px}.settings-scroll .settings-leaderboard ol{max-height:180px}
  .settings-scroll .settings-leaderboard li{font-size:12px;line-height:1.45;gap:12px;padding:7px 0;overflow-wrap:anywhere}
}
@media(max-width:900px) and (orientation:landscape){.settings-scroll .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:340px) and (orientation:portrait){
  .upgrade-heading h2{font-size:23px}.upgrade-heading p{font-size:5px}.upgrade-screen .upgrade-grid{gap:3px}.upgrade-screen .upgrade-card{height:clamp(218px,39dvh,260px);padding:9px 5px 31px}.upgrade-screen .upgrade-card h3{margin-top:10px;font-size:13px}.upgrade-screen .upgrade-card p{font-size:7.4px;line-height:1.22}.upgrade-primary-metric dt{font-size:4.8px}.upgrade-primary-metric dd{font-size:7px}.upgrade-primary-metric dd b{font-size:11px}.upgrade-screen .upgrade-card .install-copy{font-size:5.5px}.upgrade-screen .upgrade-actions button{min-height:38px}.upgrade-screen .upgrade-timer{font-size:5px}
}

/* Guest-side notice when the co-op host stops sending (tab hidden, asleep or offline). */
.host-stall{position:absolute;left:50%;top:84px;transform:translateX(-50%);z-index:60;display:grid;gap:4px;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;border:1px solid rgba(201,241,80,.55);background:rgba(8,17,15,.92);color:#e8f0dc;font:600 13px/1.35 "DM Mono",ui-monospace,monospace;text-align:center;pointer-events:none}
.host-stall b{color:#c9f150;letter-spacing:.12em;font-size:12px}
.host-stall[hidden]{display:none}
/* Mobile polish (Sept 22): readable deploy menu, run buttons above Ash Point on phones,
   compact portrait tutorial so the vehicle stays visible, rotate hint clear of Boost. */
.deploy-modal .kicker{color:#4d6a10}
.modal-top p{font-size:12px;color:#4f584f;line-height:1.45}
.local-profile-note{font-size:11px}
.ash-point-selector header span,.ash-point-card span,.ash-point-selector>p,.selected-rig span{font-size:11px}
.ash-point-card small{font-size:10px}
@media(max-width:700px){
 .deploy-modal .modal-panel{display:flex;flex-direction:column}.deploy-modal .modal-panel>*{flex-shrink:0}
 .deploy-modal .modal-top{order:0}.deploy-modal .modal-top h2{font-size:34px}
 .deploy-modal .callsign-label{order:1}.deploy-modal #callsign-help{order:2}
 .deploy-modal .selected-rig{order:3;margin-top:14px;border-top:1px solid #afb5ac}
 .deploy-modal .mode-grid{order:4}.deploy-modal .join-row{order:5}.deploy-modal .form-error{order:6}
 .deploy-modal .ash-point-selector{order:7}.deploy-modal .modal-panel>.mode-card{order:8;margin-top:10px}
 .deploy-modal .local-profile-note{order:9}
}
@media(max-width:900px) and (orientation:portrait){
 .tutorial-panel>div{top:calc(max(8px,env(safe-area-inset-top)) + 58px);padding:8px 12px}
 .tutorial-panel h2{font-size:19px;margin:4px 0}
 .tutorial-panel p{font-size:12px;line-height:1.35}
 .tutorial-panel i{margin:8px 0}.tutorial-panel b{margin-top:6px;font-size:11px}
 .game-shell.active:after{bottom:calc(66px + env(safe-area-inset-bottom));font-size:8px;letter-spacing:.5px}
}
