@import url('/fonts.css');
[hidden]{display:none!important}
.shop-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.crate{display:flex;flex-direction:column;gap:12px}.crate p{margin:0}.crate .primary{margin-top:auto;min-height:48px}.shop-result{margin:20px 0;color:var(--mint)}#shop-balance{font-size:1.6rem;color:var(--mint)}#shop-inventory{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:18px}.sell-button{margin-top:12px;min-height:44px;width:100%}#shop-filter{max-width:260px;margin:8px 0 12px}#wallet{font-size:12px;color:var(--mint);white-space:nowrap}.topbar nav{flex-shrink:0}#shop-count{white-space:nowrap}#shop h2{font-size:1.25rem}
@media(max-width:760px){.shop-boxes{grid-template-columns:1fr}.crate{gap:8px}#shop-inventory{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .nav{padding:10px 6px}#wallet{display:block}.shop-result{line-height:1.7}}
:root{color-scheme:dark;--bg:#0c1419;--panel:#121e25;--line:#2b3a43;--text:#e5eef0;--muted:#94a8b4;--mint:#b6f775;--cyan:#68d8d4;--red:#ff8374}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",Arial,"Malgun Gothic",sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);color:var(--text);background:#17252d;padding:12px 16px;font-size:.875rem;transition:background .15s,border-color .15s}button:hover{background:#263943;border-color:#789398}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}a{color:inherit;text-decoration:none}input,select{min-width:0;background:#0c161d;border:1px solid var(--line);color:var(--text);padding:12px;font-size:1rem;width:100%}input::placeholder{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:2.1rem;letter-spacing:-1px;margin-bottom:0}h2{font-size:1.6rem}h3{font-size:1rem;margin-bottom:16px}.topbar{min-height:88px;padding:18px 4vw;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6vw;background:#0e181e}.brand{font-size:1.55rem;letter-spacing:-1px;font-weight:900;white-space:nowrap}.brand span{color:var(--mint);margin-left:6px}.brand small{display:block;letter-spacing:2.4px;font-size:.6rem;color:var(--muted);margin-top:4px}.topbar nav{display:flex;gap:8px}.nav{background:none;border:0;color:var(--muted)}.nav.active{color:var(--mint);box-shadow:inset 0 -2px var(--mint)}.connection{margin-left:auto;display:flex;flex-direction:column;gap:5px;text-align:right;font-size:.75rem;color:var(--muted)}#connection{color:var(--cyan)}main{max-width:1550px;padding:32px 4vw 50px;margin:auto}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:.75rem;letter-spacing:2px;color:var(--muted);font-weight:600;margin-bottom:10px}.pilot{display:flex;gap:12px;align-items:center}.pilot input{width:160px}.pilot strong{color:var(--mint);font-size:1.4rem;white-space:nowrap}.pilot small{font-size:.75rem;color:var(--muted)}.lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);padding:25px}.hangar{border:1px solid var(--line);background:radial-gradient(ellipse at 60% 50%,#2b3b42,#101d24 70%);position:relative;overflow:hidden;min-height:500px}.hangar:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#7fa5ac0a 1px,transparent 1px),linear-gradient(90deg,#7fa5ac0a 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.hangar-caption{position:absolute;left:25px;right:25px;top:22px;display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:2px;color:var(--muted)}#hangar{width:100%;height:410px;display:block}.hangar-title{position:absolute;top:82px;left:30px;pointer-events:none}.hangar-title .eyebrow{color:var(--mint);font-size:.65rem}.hangar-title h2{font-size:2.4rem;line-height:1.3;letter-spacing:-1.5px}.hangar-title button{pointer-events:auto}.loadout-strip{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:#0b161bd9}.loadout-strip button{background:none;border:0;border-right:1px solid var(--line);padding:18px 9px;text-align:left}.loadout-strip b,.loadout-strip small{display:block;margin-top:5px}.loadout-strip small{font-size:.7rem;color:var(--muted)}.loadout-strip span{font-size:.7rem;color:var(--mint)}.deployment h2{margin-bottom:18px}.deployment label{font-size:.875rem;display:block;margin-bottom:8px}.deployment select{margin-bottom:12px}.primary{background:var(--mint);color:#152319;border-color:var(--mint);font-weight:700;display:flex;justify-content:space-between;gap:20px;align-items:center}.primary:hover{background:#cafd95;color:#142317}.primary span{font-size:.75rem}.secondary{background:transparent}.deployment button{width:100%;margin-bottom:10px}.map-mini{height:132px;background:repeating-linear-gradient(0deg,transparent,transparent 24px,#54707822 25px),repeating-linear-gradient(90deg,#101b22,#101b22 24px,#54707822 25px);position:relative;border:1px solid var(--line);margin-bottom:22px;overflow:hidden}.map-base{position:absolute;font-size:.6rem;left:32%;padding:5px;border:1px solid;transform:translateX(-50%)}.enemy{top:8px;color:var(--red)}.ally{bottom:8px;color:var(--cyan)}.map-center{position:absolute;left:30%;top:43%;color:var(--mint)}.map-mini p{position:absolute;left:56%;top:40px;color:var(--muted);font-size:.65rem;line-height:2}.map-mini strong{color:var(--text);font-size:.875rem}.muted{color:var(--muted);font-size:.875rem;line-height:1.7}.fine{color:var(--muted);font-size:.75rem;line-height:1.8;margin:0}.bottom-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:20px}.manual{display:flex;gap:25px}.manual p{font-size:.8rem;color:var(--muted);line-height:1.9;margin:0}.manual b{font-size:.7rem;display:block;letter-spacing:1px;color:var(--cyan);margin-bottom:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:15px}.row h3{margin:0}.row .eyebrow{margin:0}.chat-panel{padding:20px}#chat-log{height:108px;overflow-y:auto;margin-top:15px;font-size:.8rem;line-height:1.8;overflow-wrap:anywhere}#chat-log p{margin:0 0 5px}#chat-log strong{color:var(--cyan);margin-right:10px}#chat-form{display:flex;gap:8px}#chat-form input{padding:9px}.garage-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.garage-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.garage-slots button.active{border-color:var(--mint);color:var(--mint)}#assembly{display:block;width:100%;max-height:400px;object-fit:contain}.assembly-form label{display:block;font-size:.875rem;margin:15px 0}.assembly-form select,.assembly-form input{margin-top:8px}.error{color:var(--red);font-size:.875rem;min-height:24px}.build-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:10px;background:#0d171e}.stat small{display:block;font-size:.75rem;color:var(--muted)}.stat strong{display:block;margin-top:6px;color:var(--mint);font-size:1.15rem}.inventory{margin-top:20px}#inventory-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.part-item{border:1px solid var(--line);padding:14px;font-size:.875rem}.part-item small{display:block;color:var(--muted);font-size:.75rem;margin-top:8px;line-height:1.7}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:18px;border-bottom:1px solid var(--line);font-size:.875rem}th{color:var(--muted)}.battle-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.battle-top .eyebrow{margin-bottom:5px}#battle-clock{font-variant-numeric:tabular-nums;font-size:1.4rem}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.battlefield{position:relative;display:flex;justify-content:center;background:#081116;border:1px solid var(--line);height:min(83vh,1050px);min-height:500px}#arena{display:block;width:100%;height:100%;object-fit:contain;touch-action:none;cursor:crosshair}#battle-notice{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);max-width:95%;padding:8px 16px;background:#081116df;border:1px solid var(--line);font-size:.8rem;white-space:nowrap;pointer-events:none}.battle-controls{padding:18px}.resource{display:flex;align-items:baseline;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.resource span{font-size:.875rem}.resource strong{font-size:2.2rem;color:var(--mint)}.resource small{color:var(--muted)}#unit-count{font-size:.8rem;color:var(--muted)}#battle-slots{display:grid;gap:6px;margin:15px 0}.battle-slot{display:flex;align-items:center;text-align:left;padding:7px 10px;gap:10px;width:100%}.battle-slot canvas{width:42px;height:42px}.battle-slot b{display:block;font-size:.8rem}.battle-slot small{font-size:.75rem;color:var(--muted)}.battle-slot.active{border-color:var(--mint);background:#23382b}.battle-slot .slot-number{font-size:.75rem;color:var(--mint)}.battle-slot .slot-price{margin-left:auto;color:var(--mint);font-size:.85rem}#spawn{width:100%;margin-bottom:22px}.tactics,.skills{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tactics button,.skills button{padding:12px 8px}.tactics small,.skills small{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.tactics .active,.skills .active{border-color:var(--cyan);color:var(--cyan)}.skills{margin-bottom:15px}.danger{color:var(--red)}dialog{border:1px solid var(--line);background:#15242d;color:var(--text);padding:36px;width:min(90vw,460px);box-shadow:0 40px 100px #0008}dialog::backdrop{background:#030a10cc;backdrop-filter:blur(5px)}dialog h2{font-size:3rem;color:var(--mint)}dialog button{width:100%;margin-top:12px}#result-rating{font-size:1.5rem;margin-bottom:15px}#result-reward{color:var(--cyan);font-size:.875rem;line-height:1.7}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:15px 25px;background:#283c47;border:1px solid var(--cyan);z-index:20;max-width:95%;font-size:.875rem}.view[hidden]{display:none!important}.quiet{background:transparent}.connection.offline #connection{color:var(--red)}
@media(min-width:1450px){#hangar{height:460px}.hangar{min-height:550px}}
@media(max-width:1050px){.topbar{gap:25px}.lobby-grid{grid-template-columns:minmax(0,1fr) 290px}.hangar-title h2{font-size:1.8rem}.bottom-grid{grid-template-columns:1fr}.pilot .quiet{display:none}.manual{justify-content:space-between}.battle-layout{grid-template-columns:minmax(0,1fr) 270px}.battle-controls{padding:12px}.hangar-title{top:70px;left:22px}}
@media(max-width:760px){main{padding:22px 16px}.topbar{padding:15px 16px;gap:15px;flex-wrap:wrap}.brand{font-size:1.3rem}.topbar nav{order:3;width:100%;justify-content:space-between}.nav{flex:1}.connection{font-size:.7rem}.section-heading{align-items:flex-start}.pilot{flex-direction:column;align-items:flex-end;gap:5px}.pilot input{width:130px;padding:8px}.pilot strong{font-size:1rem}.lobby-grid{grid-template-columns:1fr}.hangar{min-height:430px}#hangar{height:360px}.hangar-title h2{font-size:1.65rem}.hangar-title .eyebrow{font-size:.6rem}.loadout-strip button{padding:14px 6px}.loadout-strip b{font-size:.7rem}.loadout-strip small{display:none}.deployment{display:grid;grid-template-columns:1fr 1fr;gap:10px}.deployment h2,.deployment .eyebrow,.deployment>.map-mini{display:none}.deployment select,.deployment #queue-status,.deployment .fine{grid-column:1/-1}.deployment button{margin:0}.deployment select{margin:0}.deployment #queue-status{margin:0}.manual{flex-wrap:wrap;gap:15px}.manual p{flex:1;min-width:130px}.garage-grid{grid-template-columns:1fr}.panel{padding:18px}.garage-slots button{padding:10px 5px}.build-stats{gap:5px}.stat{padding:8px}.stat strong{font-size:1rem}.battle-layout{grid-template-columns:1fr;gap:10px}.battlefield{height:65vh;min-height:440px}.battle-controls{display:block}.battle-controls .resource{margin:0 0 12px;padding:0 0 8px}.resource strong{font-size:1.6rem}#battle-slots{grid-template-columns:repeat(5,1fr);gap:4px}.battle-slot{display:block;text-align:center;padding:7px 2px}.battle-slot canvas{display:block;margin:auto}.battle-slot b{font-size:.65rem}.battle-slot small{display:none}.battle-slot .slot-number{display:none}.battle-slot .slot-price{font-size:.8rem}#spawn{margin-bottom:16px}.tactics{grid-template-columns:repeat(4,1fr)}.battle-controls h3{margin-top:12px;margin-bottom:10px}.battle-top strong{font-size:.8rem}#battle-notice{font-size:.7rem;padding:7px;white-space:normal;text-align:center;width:90%}th,td{padding:12px 5px;font-size:.8rem}h1{font-size:1.8rem}.hangar-title button{font-size:.75rem;padding:9px}}
.slot-card{min-width:0}.quick-spawn{width:100%;min-height:44px;color:var(--mint);padding:8px}.camera-tools{position:absolute;top:8px;left:8px;display:flex;gap:4px;z-index:2}.camera-tools button{min-width:44px;min-height:44px;padding:8px;background:#101e29ed}.battlefield{overflow:hidden}#arena{object-fit:fill}
@media (max-width:760px),(max-width:900px) and (pointer:coarse){
body.in-battle{overflow:hidden;overscroll-behavior:none}body.in-battle>.topbar{display:none}body.in-battle main{padding:0;max-width:none}body.in-battle #battle{position:fixed;inset:0;height:100dvh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);display:flex;flex-direction:column;background:var(--bg);z-index:5}
.battle-top{flex:none;height:40px;margin:0;padding:0 8px}.battle-top .eyebrow{display:none}#battle-teams{display:block;max-width:55vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.battle-top button{padding:8px}.battle-layout{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}.battlefield{flex:1;min-height:0;height:auto;border:0}#arena{width:100%;height:100%}.battle-controls{flex:none;padding:4px 6px;border-width:1px 0 0}.battle-controls>.row,.battle-controls>h3,.battle-controls>.fine,#spawn{display:none}.battle-controls .resource{height:26px;margin:0;padding:0;border:0;gap:8px}.resource strong{font-size:1.2rem}.resource span,.resource small{font-size:12px}#battle-slots{margin:2px 0 4px;gap:4px;grid-template-columns:repeat(5,minmax(0,1fr))}.battle-slot{width:100%;height:48px;min-height:44px;position:relative;padding:2px!important;display:flex;justify-content:center}.battle-slot canvas{width:36px;height:36px;margin:0}.battle-slot b,.battle-slot small,.battle-slot .slot-number{display:none}.battle-slot .slot-price{position:absolute;right:3px;bottom:2px;background:#0b171bdc;font-size:12px}.quick-spawn{height:44px;padding:4px;font-size:14px}.tactics{grid-template-columns:repeat(4,1fr);gap:4px}.tactics button{height:44px;padding:4px;font-size:14px}.tactics small{display:none}#current-order{display:none}.skills{grid-template-columns:1fr 1fr;gap:4px;margin:4px 0 0}.skills button{height:44px;padding:4px;font-size:14px}.skills small{display:inline;margin-left:7px;font-size:12px}#battle-notice{bottom:4px;padding:3px 8px;font-size:12px;max-width:96%;width:auto;white-space:nowrap;background:#081116aa;border:0}.camera-tools button{font-size:12px;padding:4px}.camera-tools{top:4px;left:4px}
}
@media (max-width:900px) and (orientation:landscape) and (pointer:coarse){.battle-layout{flex-direction:row}.battle-controls{width:285px;overflow-y:auto}.battlefield{min-width:0}.battle-top{height:30px}}

/* 2026 visual overhaul */
:root{--bg:#070b0e;--panel:#111820;--panel-2:#17212a;--line:#33424c;--text:#f2f5f4;--muted:#91a0a9;--mint:#d4ff64;--cyan:#4ce7e0;--red:#ff534d;--amber:#ffb33d}
body{background:radial-gradient(circle at 50% -20%,#23313a 0,#0b1014 38%,#050709 100%);min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(120deg,transparent 45%,#fff 45.2%,transparent 45.4%),linear-gradient(#fff1 1px,transparent 1px);background-size:900px 900px,100% 64px;mix-blend-mode:screen}
.topbar{position:sticky;top:0;z-index:10;min-height:78px;padding:13px 3vw;background:#090e12ed;backdrop-filter:blur(18px);box-shadow:0 12px 50px #0009;border-bottom-color:#3b4b53}
.brand{font-family:Impact,"Arial Black",sans-serif;font-size:1.72rem;font-style:italic;letter-spacing:-.5px;text-shadow:0 0 22px #5fffd344}.brand small{font-family:"Segoe UI";font-style:normal;letter-spacing:3.5px}.topbar nav{gap:2px;background:#05090c;border:1px solid #28343b;padding:4px}.nav{position:relative;padding:11px 13px;text-transform:uppercase;letter-spacing:.5px}.nav.active{background:linear-gradient(135deg,#273528,#15241c);box-shadow:none;color:var(--mint)}.nav.active:after{content:"";position:absolute;height:2px;left:10px;right:10px;bottom:2px;background:var(--mint);box-shadow:0 0 10px var(--mint)}
.sound-toggle{padding:9px 11px;font-size:.67rem;letter-spacing:1px}.sound-toggle.active{color:var(--mint);border-color:var(--mint);box-shadow:inset 0 0 18px #b6f77518}.connection{border-left:1px solid var(--line);padding-left:15px}
main{max-width:1600px}.view{min-height:calc(100vh - 160px)}.view-entering{animation:viewIn .38s cubic-bezier(.2,.8,.2,1)}@keyframes viewIn{from{opacity:0;transform:translateX(28px) scale(.99)}to{opacity:1;transform:none}}
.section-heading{border-left:4px solid var(--mint);padding-left:18px}.section-heading h1{font-family:Impact,"Arial Black",sans-serif;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.eyebrow{color:#a9bac2}.panel,.hangar{clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));background:linear-gradient(145deg,#18232b,#0d1318 70%);box-shadow:inset 0 1px #ffffff12,0 20px 50px #0006}
.hangar{min-height:570px;background:radial-gradient(ellipse at 68% 55%,#435057 0,#18232b 35%,#0a0f13 75%)}.hangar:after{content:"";position:absolute;left:26%;right:2%;bottom:72px;height:40%;background:linear-gradient(90deg,transparent,#a9c0c20b,transparent);border:1px solid #7f9ea01d;transform:perspective(300px) rotateX(58deg);transform-origin:bottom;pointer-events:none}.hangar-title h2{font-family:Impact,"Arial Black",sans-serif;font-size:3.15rem;font-weight:500;line-height:1.03;text-transform:uppercase;text-shadow:0 7px 22px #000}.loadout-strip{z-index:2;backdrop-filter:blur(10px)}.loadout-strip button:hover{background:#d4ff6410}.loadout-strip span{color:var(--mint)}
.deployment{border-top:3px solid var(--red)}.deployment h2{font-family:Impact,"Arial Black",sans-serif;font-weight:500;font-size:2rem}.map-mini{height:165px;border-color:#52616a;background:linear-gradient(#1b1516aa,#10171caa),repeating-linear-gradient(0deg,transparent,transparent 24px,#79909922 25px),repeating-linear-gradient(90deg,#101b22,#101b22 24px,#79909922 25px);box-shadow:inset 0 0 45px #000}.primary{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);border:0;box-shadow:0 6px 18px #b6f7751c}.deployment .primary{min-height:58px;font-size:1rem}
.lobby-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.lobby-actions button{text-align:left;padding:18px;background:linear-gradient(145deg,#172128,#0b1014)}.lobby-actions b,.lobby-actions span,.lobby-actions small{display:block}.lobby-actions b{color:var(--mint);font-size:.7rem;letter-spacing:2px}.lobby-actions span{font-size:1rem;font-weight:800;margin:6px 0}.lobby-actions small{color:var(--muted)}
.assembly-stage{background:radial-gradient(circle,#27363d,#0b1115 67%)}.inventory .part-item{position:relative;background:linear-gradient(135deg,#18232b,#0a1014);border-left:3px solid #60737d;min-height:105px}.inventory .part-item:before{content:"PART";display:block;font-size:.57rem;letter-spacing:2px;color:var(--mint);margin-bottom:12px}.comms-panel{max-width:900px;margin:auto}.comms-panel #chat-log{height:55vh;min-height:360px;padding:24px;background:#070b0e;border:1px solid #29363e;font-size:.95rem}.live-dot{color:var(--mint);font-size:.72rem;letter-spacing:2px}.live-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;background:var(--mint);box-shadow:0 0 12px var(--mint)}
.battlefield{background:#05090c;box-shadow:inset 0 0 80px #000}.battle-controls{border-top:3px solid var(--mint)}.camera-tools button{backdrop-filter:blur(8px);border-color:#61727c}.quick-spawn{background:#b7ef2d14}.battle-slot.active{box-shadow:inset 3px 0 var(--mint),0 0 20px #b6f77514}.tactics .active,.skills .active{box-shadow:inset 0 0 22px #68d8d420}
dialog{clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));border-top:4px solid var(--mint)}
@media(max-width:1180px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%;overflow-x:auto}.nav{flex:1;white-space:nowrap}.connection{margin-left:auto}.lobby-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{position:relative}.topbar nav{justify-content:flex-start}.nav{flex:0 0 auto;padding:10px}.sound-toggle{margin-left:auto}.connection{display:none}.view{min-height:auto}.hangar{min-height:500px}.hangar-title h2{font-size:2rem}.lobby-actions{grid-template-columns:1fr 1fr}.lobby-actions button{padding:13px}.lobby-actions small{display:none}.comms-panel #chat-log{height:52vh;min-height:280px}}
.inventory-filters{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.inventory-filters button{min-width:110px;min-height:44px}.inventory-filters [aria-pressed="true"]{background:var(--mint);color:#102014;border-color:var(--mint)}#inventory-heading{font-size:1.1rem}.chat-toggle{position:fixed;right:18px;bottom:18px;z-index:30;border-color:var(--cyan);box-shadow:0 8px 25px #0008}.global-chat{position:fixed;right:18px;bottom:76px;width:min(390px,calc(100vw - 24px));max-height:65dvh;background:#0b141bf5;border:1px solid var(--cyan);padding:16px;z-index:30;box-shadow:0 12px 50px #000b;backdrop-filter:blur(14px)}.global-chat h2{font-size:1rem;margin:0}.global-chat #chat-log{height:240px;max-height:35dvh;overflow-y:auto}.global-chat #chat-form{margin-top:12px}.global-chat .fine{margin-top:8px}body.in-battle .chat-toggle{top:48px;bottom:auto;right:8px;padding:9px;font-size:12px}body.in-battle .global-chat{top:94px;bottom:auto;right:8px}@media(max-width:760px){.global-chat{right:12px}.chat-toggle{bottom:calc(12px + env(safe-area-inset-bottom))}.inventory-filters button{flex:1;min-width:0}}
.chat-toggle{touch-action:none;user-select:none;cursor:grab}.chat-toggle:active{cursor:grabbing}.lobby-actions{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.lobby-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
.deck-library{margin-bottom:20px}.deck-library h2{margin:0 0 8px;font-size:1.2rem}.deck-library h2 small{color:var(--mint);font-size:.8rem;margin-left:10px}.deck-save{display:flex;gap:10px;margin:16px 0}.deck-save input{max-width:380px}.deck-save button{white-space:nowrap}#deck-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.deck-card{padding:14px;border:1px solid var(--line);background:#090f14}.deck-card>div{display:flex;flex-wrap:wrap;gap:6px}.deck-card button{font-size:.75rem;padding:9px}.deck-card p{margin:8px 0;overflow-wrap:anywhere}.part-icon{display:block;width:80px;height:80px;margin:0 auto 12px;background:radial-gradient(circle,#334650,#101a21 70%);border:1px solid #3c505b}.inventory .part-item:before{display:none}@media(max-width:760px){.deck-save{flex-wrap:wrap}.deck-save input{max-width:none}.deck-save button{width:100%}}
.hangar{min-height:0;padding-bottom:85px;background:#0b1014}.hangar:before,.hangar:after{display:none}#hangar{width:100%;height:auto;aspect-ratio:1100/600}.hangar-title{top:30%;left:3%;max-width:25%}.hangar-title h2{font-size:clamp(1.1rem,2.3vw,2.3rem);line-height:1.25}.hangar-title .eyebrow{font-size:.55rem;letter-spacing:1px}.hangar-title button{padding:8px;font-size:.7rem}.hangar-caption{top:12px;font-size:.55rem;pointer-events:none}@media(max-width:760px){.hangar{padding-top:95px;padding-bottom:75px}.hangar-title{top:14px;left:16px;max-width:none;display:flex;align-items:center;gap:15px}.hangar-title .eyebrow{display:none}.hangar-title h2{font-size:1.1rem;margin:0}.hangar-caption{display:none}#hangar{min-height:240px}}
.hangar{display:flex;flex-direction:column;padding-bottom:0}.hangar #hangar{flex:1;min-height:430px;height:100%;aspect-ratio:auto;object-fit:fill}.hangar .loadout-strip{position:relative;flex:none}.hangar-title{top:22%}@media(max-width:760px){.hangar{padding-top:80px}.hangar #hangar{min-height:280px;height:280px;flex:none}.hangar-title{top:14px}}
#assembly{touch-action:none;cursor:grab}#assembly:active{cursor:grabbing}.assembly-rotation{display:flex;justify-content:center;gap:8px;align-items:center;margin:12px 0}.assembly-rotation button{min-height:44px;min-width:44px}#rotation-angle{min-width:44px;color:var(--cyan);font-variant-numeric:tabular-nums}
.assembly-rotation{flex-wrap:wrap}#preview-motion{width:auto;max-width:170px;font-size:.8rem;min-height:44px}
.single-controls{border-top:1px solid var(--line);padding-top:16px;margin-top:10px}.single-controls h3{margin-bottom:10px}.single-controls .fine{margin:8px 0}.single-item-bonus{color:var(--cyan)!important}@media(max-width:760px){.single-controls{grid-column:1/-1}.single-controls label{display:block}.single-controls select{margin:6px 0}.single-controls button{margin-top:10px}}
/* Preserve the workshop image proportions independently of deployment height. */
.hangar{align-self:start;min-height:0}.hangar #hangar{display:block;flex:none;width:100%;height:auto;min-height:0;aspect-ratio:1672/941;object-fit:contain}
@media(max-width:760px){.hangar #hangar{height:auto;min-height:0;aspect-ratio:1672/941}}

.pilot-inspector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px;margin-bottom:24px;border:1px solid var(--line);border-left:3px solid var(--mint);background:linear-gradient(110deg,#172128,#0b1419)}.pilot-inspector>div{display:flex;flex-direction:column;gap:7px;min-width:0}.pilot-inspector>div+div{border-left:1px solid var(--line);padding-left:16px}.pilot-inspector span,.pilot-inspector small{font-size:.75rem;color:#9baeb7}.pilot-inspector strong{font-size:1.2rem;overflow-wrap:anywhere}.pilot-inspector .eyebrow{margin:0}.pilot-inspector #wallet{color:var(--mint);font-size:1.2rem}.pilot-inspector>p{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid var(--line)}body.in-battle .pilot-inspector{display:none}#ranking-mode{width:auto;max-width:100%}@media(max-width:600px){.pilot-inspector{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px;gap:10px}.pilot-inspector>div:first-child{grid-column:1/-1;flex-direction:row;justify-content:space-between}.pilot-inspector>div+div{padding-left:8px}.pilot-inspector strong,.pilot-inspector #wallet{font-size:1rem}}

#account-dialog{width:min(520px,calc(100vw - 24px))}#account-dialog label{display:block;margin:12px 0}#account-dialog input{display:block;width:100%;margin-top:6px}#account-feedback{overflow-wrap:anywhere;user-select:text}.account-actions{display:flex;flex-wrap:wrap;gap:8px}

.arena-controls{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.arena-controls select{width:100%}body.in-arena.in-battle .battle-controls{display:none}body.in-arena.in-battle .battle-layout{grid-template-columns:1fr}body.in-arena.in-battle #battle-notice{display:none}

#friends-dialog{width:min(640px,calc(100vw - 24px));max-height:85dvh;overflow:auto}#friends-dialog input{width:100%}.social-row{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:10px 0}.social-row span{flex:1 1 180px}.social-row button{padding:8px;min-height:40px}#coop-party button{margin:4px}#coop-difficulty{margin-bottom:12px}

#friends-dialog{width:min(800px,calc(100vw - 24px));padding:24px}#friends-dialog>.row{display:flex;justify-content:space-between;gap:16px;align-items:center}#friends-dialog h2{font-size:1.6rem;white-space:nowrap;margin:0}#friends-close{width:auto;flex:0 0 auto}.community-tabs{display:flex;gap:8px;margin:20px 0}.community-tabs button{flex:1}.community-tabs [aria-pressed="true"]{border-color:var(--mint);color:var(--mint)}#dm-log{height:300px;overflow:auto;border:1px solid var(--line);padding:12px;margin:12px 0}#dm-log p{white-space:pre-wrap;overflow-wrap:anywhere}#dm-form{display:flex;gap:8px}#dm-input{min-width:0;flex:1}.coop-controls{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.coop-controls .row{display:flex;flex-wrap:wrap;gap:8px}#friends-open{white-space:nowrap}

.communication-tabs{display:flex;gap:8px;margin:12px 0}.communication-tabs button{flex:1}.communication-tabs [aria-pressed="true"]{border-color:var(--cyan);color:var(--cyan)}#chat-friends h3{font-size:.9rem}#chat-friends #dm-log{height:200px;max-height:25dvh}#chat-friends select{width:100%}#chat-manage-friends{margin-top:10px;padding:8px}.global-chat{overflow-y:auto}#dm-form button{flex-shrink:0}

#invite-notifications{position:fixed;right:18px;top:100px;z-index:60;width:min(350px,calc(100vw - 24px));max-height:60dvh;overflow:auto;display:grid;gap:10px}#invite-notifications[hidden]{display:none}.invite-notification{background:#102029;border:1px solid var(--cyan);padding:16px;box-shadow:0 8px 28px #0009}.invite-notification strong{display:block;font-size:.95rem;overflow-wrap:anywhere}.invite-notification small{display:block;color:#a4b6c0;margin:8px 0}.invite-notification>div{display:flex;gap:8px}.invite-notification button{flex:1;min-height:44px}.invite-notification button:first-child{background:var(--mint);color:#102014}@media(max-width:600px){#invite-notifications{top:12px;right:12px;max-height:45dvh}}

.resource.energy-panel{display:block;width:100%}.energy-label{display:flex;align-items:center;gap:10px;justify-content:space-between}.energy-label #resource{font-size:1rem}.energy-label small{font-size:.75rem}#energy-bar{display:block;width:100%;height:20px;margin-top:10px;appearance:none;border:1px solid #47616b;border-radius:4px;overflow:hidden;background:#071116}#energy-bar::-webkit-progress-bar{background:#071116}#energy-bar::-webkit-progress-value{background:linear-gradient(90deg,#32b5bd,#c8ff59);transition:width .1s linear}#energy-bar::-moz-progress-bar{background:linear-gradient(90deg,#32b5bd,#c8ff59)}@media(max-width:760px){#energy-bar{height:14px;margin-top:5px}.energy-label #resource{font-size:.85rem}}
.build-effects{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:10px}.build-effects[hidden]{display:none}.build-effects>div{border-left:2px solid #759794;padding:3px 10px}.build-effects strong,.build-effects span{display:block;font-size:.78rem;line-height:1.65}.build-effects strong{color:var(--cyan);margin-bottom:3px}.build-effects span{color:#c0ced3}.unit-abilities{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.unit-abilities[hidden],.unit-abilities button[hidden]{display:none}.unit-abilities button{flex:1 1 120px;min-height:44px;padding:8px;font-size:.8rem}.unit-abilities button.active{border-color:var(--cyan);color:var(--cyan);background:#1b363f}#battle-notice{white-space:normal;text-align:center;line-height:1.4;width:max-content;max-width:95%}
@media(max-width:900px) and (pointer:coarse),(max-width:760px){.unit-abilities{flex-wrap:nowrap;margin:4px 0;gap:4px}.unit-abilities button{flex:1 1 0;min-width:0;padding:3px;font-size:12px;line-height:1.3}.battle-controls .resource.energy-panel{height:auto;min-height:40px;margin-bottom:4px;padding-bottom:0}#battle-notice{font-size:11px;max-width:96%;line-height:1.3}.build-effects{gap:8px}}

.defense-presets{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.defense-presets .row{display:flex;flex-wrap:wrap;gap:8px}.defense-presets button{min-height:44px}

#surrender-dialog{width:min(440px,calc(100vw - 24px))}#surrender-dialog .row{display:flex;gap:10px}#surrender-dialog button{flex:1;min-height:44px}

#action-confirm{width:min(440px,calc(100vw - 24px))}#action-confirm .row{display:flex;gap:10px}#action-confirm button{flex:1;min-height:44px}

@media(min-width:901px){body.in-battle .battle-controls{max-height:calc(100dvh - 150px);overflow-y:auto;padding:12px;scrollbar-gutter:stable}body.in-battle .battle-controls h3{margin:8px 0;font-size:13px}body.in-battle .battle-slot{min-height:44px;padding:4px 8px}body.in-battle .battle-slot canvas{width:36px;height:36px}body.in-battle .battle-controls button{padding:7px 9px}body.in-battle .battle-controls .fine{font-size:11px;margin:5px 0}body.in-battle .battle-controls .resource{margin-bottom:6px;padding-bottom:6px}body.in-battle .unit-abilities{margin:5px 0}body.in-battle .battle-controls .tactics,body.in-battle .battle-controls .skills{gap:4px}}

/* Landscape controls use a dedicated side panel, including wide phones. */
@media (orientation:landscape) and (max-height:600px){
 body.in-battle #battle{position:fixed;inset:0;height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
 body.in-battle .battle-top{height:32px;flex:none;margin:0;padding:0 8px}
 body.in-battle .battle-top .eyebrow{display:none}
 body.in-battle .battle-layout{display:flex;flex:1;min-height:0;flex-direction:row;gap:0}
 body.in-battle .battlefield{flex:1;min-width:0;min-height:0;height:auto;border:0}
 body.in-battle #arena{width:100%;height:100%}
 body.in-battle .battle-controls{flex:0 0 clamp(260px,32vw,340px);width:auto;max-height:none;min-height:0;overflow-y:auto;padding:6px;border-width:0 0 0 1px;scrollbar-gutter:auto}
 body.in-battle .battle-controls>.row,body.in-battle .battle-controls>h3,body.in-battle .battle-controls>.fine,body.in-battle #spawn,body.in-battle #current-order{display:none}
 body.in-battle #battle-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:4px 0}
 body.in-battle .battle-slot{height:44px;min-height:44px;padding:2px;position:relative;display:flex;justify-content:center}
 body.in-battle .battle-slot canvas{width:30px;height:30px;margin:0}
 body.in-battle .battle-slot b,body.in-battle .battle-slot small,body.in-battle .slot-number{display:none}
 body.in-battle .slot-price{position:absolute;right:1px;bottom:0;font-size:11px;background:#0b171bdc}
 body.in-battle .quick-spawn{width:100%;min-height:44px;padding:2px;font-size:12px}
 body.in-battle .tactics{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
 body.in-battle .skills{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:4px 0}
 body.in-battle .tactics button,body.in-battle .skills button{min-height:44px;padding:3px;font-size:12px}
 body.in-battle .tactics small{display:none}
 body.in-battle .unit-abilities{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0}
 body.in-battle .unit-abilities button{flex:1 1 45%;min-height:44px;padding:3px;font-size:11px}
 body.in-battle .energy-panel{height:auto;min-height:36px;margin:0;padding:0}
 body.in-battle #battle-notice{white-space:normal;font-size:11px;bottom:4px;padding:3px;max-width:95%}
}

details.pilot-inspector{display:block;padding:0;margin-bottom:14px;border-left:2px solid var(--mint)}
details.pilot-inspector>summary{display:flex;align-items:center;gap:16px;min-height:44px;padding:8px 12px;cursor:pointer;list-style:none;font-size:13px}
details.pilot-inspector>summary::-webkit-details-marker{display:none}
details.pilot-inspector>summary strong,details.pilot-inspector #wallet{font-size:14px;white-space:nowrap}
details.pilot-inspector .pilot-expand{margin-left:auto;white-space:nowrap}
details.pilot-inspector .pilot-expand:after{content:' ▾'}details.pilot-inspector[open] .pilot-expand:after{content:' ▴'}
details.pilot-inspector>summary:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
details.pilot-inspector>.pilot-details{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding:12px;border-top:1px solid var(--line)}
details.pilot-inspector .pilot-details>div{display:flex;flex-direction:column;gap:5px}
details.pilot-inspector .pilot-details strong{font-size:14px}
details.pilot-inspector .pilot-details>p{grid-column:1/-1;margin:0}
@media(max-width:600px){details.pilot-inspector>summary{gap:8px;padding:8px;font-size:12px}details.pilot-inspector .pilot-summary-label{display:none}details.pilot-inspector>.pilot-details{grid-template-columns:1fr 1fr}details.pilot-inspector .pilot-details>button{grid-column:1/-1}}
body.in-battle details.pilot-inspector{display:none}

.deployment details.operation-disclosure{padding-top:0;margin-top:10px}.operation-disclosure>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;font-weight:700;list-style:none}.operation-disclosure>summary::-webkit-details-marker{display:none}.operation-disclosure>summary:after{content:"▾";color:var(--muted)}.operation-disclosure[open]>summary:after{content:"▴"}.operation-disclosure>summary:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.operation-disclosure[open]>summary{margin-bottom:6px}

#tactic-wheel-toggle{width:100%;min-height:44px;margin:4px 0;touch-action:none}#tactic-wheel-toggle small{margin-left:8px;color:var(--muted)}
body #tactics.tactic-wheel{position:fixed;z-index:80;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:4px;padding:8px;border:1px solid var(--cyan);border-radius:50%;background:#07151bf5;box-shadow:0 8px 40px #000b;touch-action:none}
body #tactics.tactic-wheel[hidden]{display:none}
body #tactics.tactic-wheel button{height:auto;min-height:44px;padding:4px;font-size:12px;border-radius:12px}
body #tactics.tactic-wheel small{display:block;font-size:11px}
.tactic-wheel [data-tactic="PUSH"]{grid-area:1/2}.tactic-wheel [data-tactic="BASE"]{grid-area:2/1}.tactic-wheel [data-tactic="KITE"]{grid-area:2/3}.tactic-wheel [data-tactic="MID"]{grid-area:3/2}
body #tactics.tactic-wheel .wheel-hover{background:var(--mint);color:#102014;border-color:var(--mint)}

body.in-battle .battlefield #tactic-wheel-toggle{position:absolute;right:80px;bottom:80px;width:60px;height:60px;min-height:60px;margin:0;padding:0;border-radius:50%;z-index:81;background:#112c36dd;border:2px solid var(--cyan);box-shadow:0 0 0 7px #68d8d417,0 4px 18px #0008;touch-action:none;user-select:none;font-weight:700}
body.in-battle #tactic-wheel-toggle[aria-expanded="true"]{background:#244c55;border-color:var(--mint);transform:none}
body.in-arena #tactic-wheel-toggle{display:none}

body #skill-wheel.tactic-wheel{position:fixed;z-index:80;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:4px;padding:8px;border:1px solid var(--cyan);border-radius:50%;background:#07151bf5;box-shadow:0 8px 40px #000b;touch-action:none}
body #skill-wheel.tactic-wheel[hidden]{display:none}
body #skill-wheel.tactic-wheel button{height:auto;min-height:44px;padding:4px;font-size:12px;border-radius:12px}
body #skill-wheel.tactic-wheel small{display:block;font-size:11px}
.tactic-wheel [data-tactic="PUSH"]{grid-area:1/2}.tactic-wheel [data-tactic="BASE"]{grid-area:2/1}.tactic-wheel [data-tactic="KITE"]{grid-area:2/3}.tactic-wheel [data-tactic="MID"]{grid-area:3/2}
body #skill-wheel.tactic-wheel .wheel-hover{background:var(--mint);color:#102014;border-color:var(--mint)}


body.in-battle .battlefield #skill-wheel-toggle{position:absolute;right:80px;bottom:156px;width:60px;height:60px;min-height:60px;padding:0;border-radius:50%;z-index:81;background:#193443ee;border:2px solid var(--mint);touch-action:none;user-select:none;font-weight:700}
body #skill-wheel #heal{grid-area:2/1}body #skill-wheel #storm{grid-area:2/3}body.in-arena #skill-wheel-toggle{display:none}

body.in-battle .battle-layout{display:flex;flex-direction:column!important}body.in-battle .battle-controls{width:100%!important;flex:0 0 auto!important;max-height:none;padding:4px 6px;overflow:visible}body.in-battle .battlefield{min-height:0;flex:1}body.in-battle .quick-spawn,body.in-battle #spawn,body.in-battle .battle-controls>h3,body.in-battle .battle-controls>.fine,body.in-battle .battle-controls>.row{display:none}body.in-battle #battle-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin:3px 0}body.in-battle .battle-slot{height:44px;min-height:44px;padding:2px}body.in-battle .battle-slot canvas{width:32px;height:32px}body.in-battle .battle-slot b{font-size:11px}body.in-battle #command-groups{display:flex;gap:3px}#command-groups button{flex:1;min-width:0;min-height:44px;padding:3px;font-size:12px;touch-action:none;user-select:none}#save-group[aria-pressed=true]{background:#44651a}
#production-toggle{position:absolute;left:30px;bottom:80px;width:64px;height:64px;border-radius:50%;z-index:20}#production-menu{position:absolute;left:12px;bottom:155px;width:min(280px,70%);background:#0b1d26ef;padding:6px;z-index:25;display:grid;grid-template-columns:repeat(2,1fr);gap:4px}#production-menu[hidden]{display:none}#production-menu button{min-height:48px;padding:6px;font-size:12px}#production-menu small{display:block}#unit-picker-list{display:grid;gap:8px;max-height:50dvh;overflow:auto}#unit-picker-list label{display:flex;align-items:center;gap:8px}#unit-picker-list input{width:22px;height:22px}

#group-select-toggle{position:absolute;left:104px;bottom:80px;width:64px;height:64px;border-radius:50%;z-index:20;touch-action:none}#group-select-toggle[aria-pressed=true]{background:#527b24;border-color:var(--mint)}#selection-box{position:absolute;border:2px solid var(--mint);background:#b6f77525;pointer-events:none;z-index:19}body.in-battle #pick-units,body.in-battle #save-group{display:none}

.editing-controls #production-toggle,.editing-controls #group-select-toggle,.editing-controls #tactic-wheel-toggle,.editing-controls #skill-wheel-toggle{outline:3px dashed #ffdc70;cursor:move}.editing-controls .tactic-wheel,.editing-controls #production-menu{visibility:hidden}
body #tactics.tactic-wheel,body #skill-wheel.tactic-wheel{z-index:100}body.in-battle .battlefield button[aria-expanded="true"]{z-index:101!important}#production-toggle{touch-action:none}
body.in-battle #battle{position:fixed;inset:0;height:100dvh;display:flex;flex-direction:column;padding:0;z-index:5}body.in-battle .battle-top{height:40px;flex:0 0 40px;margin:0;padding:0 8px}body.in-battle .battle-layout{flex:1;min-height:0}body.in-battle .battlefield{height:auto;min-height:0;position:relative;overflow:hidden}body.in-battle #arena{display:block;width:100%;height:100%;min-height:0}body.in-battle .battle-controls{flex-shrink:0!important}body.in-battle .topbar{display:none}
body #tactics.tactic-wheel,body #skill-wheel.tactic-wheel{pointer-events:none}body .tactic-wheel button{pointer-events:auto}

body.in-battle #battle-slots .slot-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(44px,30%);gap:0;min-width:0}
body.in-battle #battle-slots .quick-spawn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;width:100%;height:48px;min-height:48px;padding:2px;border-left:0;font-size:12px}
body.in-battle #battle-slots .quick-spawn strong{color:var(--mint);font-size:12px}body.in-battle #battle-slots .quick-spawn small{font-size:10px;white-space:nowrap}
body.in-battle #battle-slots .battle-slot{height:48px;width:100%;min-width:0;overflow:hidden;justify-content:center}
body.in-battle #battle-slots .battle-slot canvas{width:28px;height:28px;flex-shrink:0}
body.in-battle #battle-slots .battle-slot>span{display:none}
body.in-battle #production-toggle,body.in-battle #production-menu{display:none!important}

#unit-select-toggle{position:absolute;left:30px;bottom:80px;width:64px;height:64px;border-radius:50%;z-index:20;touch-action:none}#unit-select-toggle[aria-pressed=true]{background:#527b24;border-color:var(--mint)}.editing-controls #unit-select-toggle{outline:3px dashed #ffdc70;cursor:move}

body.in-battle #toast{z-index:200;top:48px;bottom:auto;pointer-events:none}

#skill-cooldowns{position:absolute;left:8px;top:56px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 16px);z-index:10;pointer-events:none;font-size:11px}#skill-cooldowns span{padding:5px 7px;background:#07151bdd;border:1px solid #36545b;border-radius:4px}#zoom-full[aria-pressed=true]{border-color:var(--mint);color:var(--mint)}

#skill-cooldowns .cooldown-tile{position:relative;display:grid;place-items:center;width:42px;height:42px;padding:0;overflow:hidden;background:#17313b;border:1px solid #567480;border-radius:5px}
#skill-cooldowns .cooldown-tile>span{border:0;border-radius:0;padding:0;background:none}
#skill-cooldowns .cooldown-symbol{font-size:28px;color:#88e8d7;line-height:1}
#skill-cooldowns .cooldown-tile .cooldown-shade{position:absolute;inset:0;background:conic-gradient(#02080de6 var(--cooldown-angle,0deg),transparent 0deg)}
#skill-cooldowns .cooldown-seconds{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:19px;font-weight:800;text-shadow:0 1px 4px #000}
#skill-cooldowns kbd{position:absolute;bottom:1px;right:3px;font-size:9px;color:#d9e8ef}

#audio-settings-dialog{width:min(360px,90vw)}#audio-settings-dialog label{display:flex;justify-content:space-between;margin-top:18px}#audio-settings-dialog input[type=range]{width:100%;min-height:44px;padding:0}#audio-settings-close{width:100%;margin-top:16px}

@media (orientation:landscape) and (max-height:500px){body.in-battle #tactic-wheel-toggle,body.in-battle #unit-select-toggle,body.in-battle #group-select-toggle{bottom:8px}body.in-battle #skill-wheel-toggle{bottom:76px}}

@media (orientation:landscape) and (max-height:500px){body.in-battle #tactic-wheel-toggle,body.in-battle #unit-select-toggle,body.in-battle #group-select-toggle{bottom:8px!important}body.in-battle #skill-wheel-toggle{bottom:76px!important}}

/* Mobile battle uses the available browser viewport, including landscape chrome. */
body.in-battle .battle-top{gap:4px;height:44px;flex:0 0 44px;padding:0 4px;overflow:hidden}
body.in-battle .battle-top>div:first-child{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.in-battle .battle-top strong{font-size:12px}
body.in-battle .battle-top button{min-width:44px;min-height:44px;padding:0 6px;font-size:12px;white-space:nowrap}
body.in-battle #battle-clock{font-size:20px;white-space:nowrap}

body.in-battle .energy-panel{margin:0;padding:0}
body.in-battle .energy-label{font-size:11px}
body.in-battle .energy-label strong{font-size:14px}
body.in-battle #energy-bar{height:8px;margin:3px 0}
body.in-battle .battle-controls{max-height:38dvh;overflow-y:auto;overscroll-behavior:contain}
body.in-battle .battlefield #unit-select-toggle,body.in-battle .battlefield #group-select-toggle,body.in-battle .battlefield #skill-wheel-toggle,body.in-battle .battlefield #tactic-wheel-toggle{width:48px;height:48px;min-height:48px;padding:0;font-size:12px}
body.in-battle .battlefield #unit-select-toggle{left:8px;bottom:68px!important}
body.in-battle .battlefield #group-select-toggle{left:8px;bottom:12px!important}
body.in-battle .battlefield #skill-wheel-toggle{right:8px;bottom:68px!important}
body.in-battle .battlefield #tactic-wheel-toggle{right:8px;bottom:12px!important}
body.in-battle #battle-notice{max-width:calc(100% - 120px);font-size:9px;padding:2px;pointer-events:none}
body.in-battle .camera-tools button{min-width:44px;min-height:44px;padding:2px;font-size:14px}
@media (orientation:landscape) and (max-height:600px){
 body.in-battle .battle-layout{flex-direction:row!important;overflow:hidden}
 body.in-battle .battlefield{min-width:0;flex:1}
 body.in-battle .battle-controls{width:240px!important;flex:0 0 240px!important;max-height:100%;height:100%;overflow-y:auto;padding:4px}
 body.in-battle #battle-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.in-battle #command-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}

 body.in-battle #skill-cooldowns{display:flex;top:48px;left:4px}
}
body.in-battle .battlefield #unit-select-toggle,body.in-battle .battlefield #group-select-toggle,body.in-battle .battlefield #skill-wheel-toggle,body.in-battle .battlefield #tactic-wheel-toggle{width:var(--control-size,40px);height:var(--control-size,40px);min-height:var(--control-size,40px);font-size:11px}
body.in-battle .camera-tools button{width:var(--camera-size,30px);height:var(--camera-size,30px);min-width:var(--camera-size,30px);min-height:var(--camera-size,30px);padding:0;font-size:12px}
body.in-battle #skill-cooldowns{top:calc(var(--camera-size,30px) + 10px);gap:3px}
body.in-battle #skill-cooldowns .cooldown-tile{width:var(--cooldown-size,26px);height:var(--cooldown-size,26px)}
body.in-battle #skill-cooldowns .cooldown-symbol{font-size:18px}
body.in-battle #skill-cooldowns .cooldown-seconds{font-size:13px}
body.in-battle #skill-cooldowns kbd{display:none}
body.in-battle #battle-slots .slot-card{grid-template-columns:minmax(0,1fr) var(--production-share,30%)}
body.in-battle #battle-slots .quick-spawn{min-width:0;height:44px;min-height:44px;padding:0;font-size:10px}
body.in-battle #battle-slots .quick-spawn strong{font-size:10px}
body.in-battle #battle-slots .quick-spawn small{font-size:0}
body.in-battle #battle-slots .quick-spawn small::after{content:'+';font-size:13px}
body.in-battle #battle-slots .battle-slot{height:44px;min-height:44px;padding:0}
#control-sizes{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:min(280px,85%);max-height:70%;overflow:auto;z-index:150;background:#10212ff5;border:1px solid #789298;padding:8px;font-size:12px;touch-action:auto}
#control-sizes[hidden]{display:none}
#control-sizes label{display:grid;grid-template-columns:85px 1fr 35px;align-items:center;gap:4px}
#control-sizes input{width:100%;min-width:0;padding:0;height:28px}
body.in-battle #zoom-out,body.in-battle #zoom-in,body.in-battle #battle-notice{display:none!important}
body.in-battle #battle-context{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
body.in-battle #battle-context #skill-cooldowns{position:static;display:flex;max-width:none;margin:0;gap:3px}
body.in-battle #battle-context #skill-cooldowns [hidden]{display:none!important}
body.in-battle #battle-context #unit-abilities{margin:0;display:flex;flex:1;flex-wrap:wrap;gap:3px}
body.in-battle #battle-context #unit-abilities[hidden]{display:none}
body.in-battle #battle-context #unit-abilities button{min-height:30px;padding:3px 6px;font-size:11px;flex:0 1 auto}
#battle-settings{width:230px}#battle-settings button{display:block;width:100%;margin:6px 0;min-height:44px}#battle-settings button[hidden]{display:none}
body.in-battle #chat-toggle{min-height:32px;padding:3px 8px;font-size:11px;touch-action:none}
/* Compact assembly and collection views. */
.deck-library:not([open]){display:block;padding:12px;margin-bottom:10px}.deck-library summary{cursor:pointer;font-weight:700}.deck-library[open]{display:block}.deck-library h2{font-size:16px}.deck-library .eyebrow{display:none}
.assembly-portrait{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:8px}.assembly-portrait #assembly{width:100%;height:auto;aspect-ratio:1;min-height:0}.assembly-portrait #build-stats{display:grid;grid-template-columns:1fr;gap:3px;margin:0;font-size:11px}.assembly-portrait #build-stats>*{padding:3px;margin:0;min-height:0}.assembly-portrait #build-stats strong{font-size:14px}
.assembly-help,.assembly-form details{font-size:12px;margin:6px 0}.assembly-form>.eyebrow{display:none}.assembly-form h2{font-size:16px;margin:0}.assembly-form label{margin:4px 0;font-size:12px}.assembly-form select,.assembly-form input{padding:7px;min-height:36px}.assembly-stage,.assembly-form{padding:10px}.garage-grid{gap:8px;align-items:start}
#inventory-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px}#inventory-list .part-item{display:flex;align-items:start;gap:8px;padding:8px;min-height:0}#inventory-list .part-icon{width:46px;height:46px;flex:0 0 46px;margin:0}#inventory-list details{min-width:0;flex:1;font-size:12px}#inventory-list summary{cursor:pointer;min-height:36px}#inventory-list details small{display:block;margin:5px 0;font-size:11px}
.shop-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-boxes .crate{padding:10px;min-height:0}.shop-boxes .crate h3{font-size:14px;margin:0 0 8px}.shop-boxes .crate button{padding:6px;font-size:12px;min-height:36px}.shop-boxes .crate-info{margin-top:5px;background:transparent}.shop-info{max-width:min(440px,90vw);max-height:80dvh;overflow:auto}.shop-info button{min-height:40px}
@media(max-width:760px){.garage-grid{display:flex;flex-direction:column}.assembly-stage,.assembly-form{width:100%;min-width:0}.assembly-portrait{grid-template-columns:minmax(0,1fr) 100px}.assembly-portrait #assembly{max-height:210px;object-fit:contain}.assembly-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.assembly-form h2,.assembly-form details,.assembly-form #assembly-error{grid-column:1/-1}.assembly-form label{min-width:0}.assembly-form select{width:100%;min-width:0}.inventory{padding:8px}#inventory-list{grid-template-columns:1fr}}
.shop-boxes .crate{gap:4px;padding:8px}.shop-boxes .crate h3{font-size:13px;margin:0}.shop-boxes .crate .primary{margin:0;min-height:34px}.shop-boxes .crate-info{margin:0;padding:2px;font-size:11px;min-height:28px}
.bulk-sale{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.bulk-sale select{width:auto}.bulk-sale button{padding:6px;font-size:12px}#shop-inventory .part-item{padding:8px;min-height:0}#shop-inventory summary{cursor:pointer;font-size:12px}#shop-inventory details small{display:block;margin-top:5px}.sell-button{margin-top:6px}
#toast[data-stars]{border:1px solid currentColor}
#toast[data-stars="1"]{color:#d0d8df;background:#192127}
#toast[data-stars="2"]{color:#85e3a6;background:#10271d}
#toast[data-stars="3"]{color:#83c9ff;background:#112438}
#toast[data-stars="4"]{color:#d5a0ff;background:#29183d;box-shadow:0 0 14px #b57af533}
#toast[data-stars="5"]{color:#ffe08a;background:#332813;border:2px solid #f6cb60;box-shadow:0 0 18px #f6cb6044;font-weight:800}
[data-rarity="1"]{--rarity:#d0d8df}[data-rarity="2"]{--rarity:#85e3a6}[data-rarity="3"]{--rarity:#83c9ff}[data-rarity="4"]{--rarity:#d5a0ff}[data-rarity="5"]{--rarity:#ffe08a}
.part-item[data-rarity]{border-left:3px solid var(--rarity)}
.part-item[data-rarity] summary,.assembly-form select[data-rarity],.assembly-form option[data-rarity]{color:var(--rarity)}
.assembly-form select[data-rarity]:not([data-rarity=""]){border-color:var(--rarity)}
.assembly-form option{background:#10212b}
.deployment .match-actions{display:flex;gap:6px;grid-column:1/-1;align-items:stretch;min-width:0;margin-bottom:10px}
.deployment .match-actions #queue{flex:1;min-width:0;margin:0}
.deployment .match-actions #practice{flex:0 0 76px;width:76px;min-width:76px;margin:0;padding:6px;font-size:12px;white-space:nowrap}
#pilot-account-name{font-size:12px;overflow-wrap:anywhere;align-self:center}#account-dialog [hidden]{display:none!important}
