:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf6ff;--hud-bg:#030a0ead;--hud-bg-strong:#040e14d6;--hud-line:#73e0ff5c;--hud-line-hot:#ff5b469e;--hud-cyan:#63e8ff;--hud-green:#79ffc2;--hud-amber:#f7d45b;--hud-red:#ff5548;--laser-charge:0turn;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);background:#93c9e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;min-width:320px}button{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:0}canvas,#hud,#touchControls{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}input,textarea,select{-webkit-user-select:text;user-select:text}#scene{background:#93c9e8;width:100%;height:100%;display:block}#vignette{pointer-events:none;opacity:.88;background:radial-gradient(circle at 50% 48%,#0000 0 52%,#0000000f 82%,#00000038 100%),linear-gradient(#ffffff0f,#1435401f);position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}.top-bar{text-transform:uppercase;letter-spacing:0;justify-content:space-between;align-items:center;gap:14px;display:flex;position:absolute;top:18px;left:22px;right:22px}.brand,.mission{border:1px solid var(--hud-line);background:linear-gradient(135deg, #63e8ff21, transparent 38%), var(--hud-bg);color:#e7f6ff;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);align-items:center;min-height:34px;padding:0 13px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 26px #2aaeff26}.brand-mark{border:2px solid #f6c84f;width:11px;height:11px;margin-right:9px;transform:rotate(45deg);box-shadow:0 0 18px #f6c84f8c}.spectator-fight-hud{z-index:6;pointer-events:none;text-transform:uppercase;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);align-items:start;gap:12px;width:min(1180px,100vw - 36px);display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%)}.spectator-fight-hud[hidden]{display:none}.spectator-side{background:linear-gradient(90deg,#63e8ff2e,#0000 42%),#030a0eb8;border:1px solid #e8faff38;align-items:center;min-width:0;min-height:68px;padding:8px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0a,0 12px 34px #00000042}.spectator-side.host{clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);grid-template-columns:64px minmax(0,1fr)}.spectator-side.guest{clip-path:polygon(14px 0,100% 0,100% 100%,0 100%);background:linear-gradient(270deg,#ff68582e,#0000 42%),#030a0eb8;grid-template-columns:minmax(0,1fr) 64px}.spectator-fighter-info{gap:6px;min-width:0;display:grid}.spectator-name{color:#f7fbff;text-overflow:ellipsis;text-shadow:0 2px 12px #000000c7;white-space:nowrap;font-size:15px;font-weight:1000;line-height:1;overflow:hidden}.spectator-side.guest .spectator-name{text-align:right}.spectator-health-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.spectator-side.guest .spectator-health-row{grid-template-columns:auto minmax(0,1fr)}.spectator-health{background:repeating-linear-gradient(90deg,#ffffff14 0 1px,#0000 1px 28px),#ffffff14;border:1px solid #edf6ff47;height:20px;position:relative;overflow:hidden;box-shadow:inset 0 0 14px #00000047}.spectator-health:after{content:"";border-top:1px solid #ffffff40;position:absolute;inset:0}.spectator-health span{transform-origin:0;background:linear-gradient(90deg,#7dffba 0%,#f4e66a 62%,#ff785f 100%);width:100%;position:absolute;inset:0 auto 0 0;box-shadow:0 0 18px #7effbc52}.spectator-side.guest .spectator-health span{transform-origin:100%;left:auto;right:0}.spectator-hp-text,.spectator-health-row b{color:#edf6ffdb;text-align:right;min-width:62px;font-size:11px;font-weight:1000}.spectator-side.guest .spectator-health-row b{text-align:left}.spectator-side.critical .spectator-health span{background:linear-gradient(90deg,#ff5548,#f7d45b);box-shadow:0 0 20px #ff55486b}.spectator-side.defeated{opacity:.68}.spectator-side.defeated .spectator-name{color:#edf6ff94}.spectator-face{--face-main:#d8edf2;--face-accent:#63e8ff;background:linear-gradient(135deg, #ffffff42, transparent 36%), linear-gradient(180deg, var(--face-main), #041219e0 72%);width:54px;height:52px;box-shadow:inset 0 0 18px #ffffff14, 0 0 20px color-mix(in srgb, var(--face-accent) 36%, transparent);clip-path:polygon(16% 0,84% 0,100% 24%,88% 100%,12% 100%,0 24%);border:1px solid #edf6ff47;position:relative}.spectator-face:before{background:linear-gradient(90deg, transparent 0 10%, var(--face-accent) 10% 42%, transparent 42% 58%, var(--face-accent) 58% 90%, transparent 90%), #03080cad;height:12px;box-shadow:0 0 14px color-mix(in srgb, var(--face-accent) 52%, transparent);content:"";position:absolute;top:16px;left:9px;right:9px}.spectator-face:after{height:4px;box-shadow:0 0 8px color-mix(in srgb, var(--face-accent) 34%, transparent);content:"";background:#03080ca8;position:absolute;bottom:9px;left:15px;right:15px}.spectator-face span{clip-path:polygon(50% 0,100% 100%,0 100%);background:#03080ca3;width:16px;height:7px;position:absolute;top:7px;left:19px}.spectator-face[data-frame=light]{--face-main:#baf2ff;--face-accent:#60ffdb}.spectator-face[data-frame=heavy]{--face-main:#f0dec6;--face-accent:#ff9a56}.spectator-face[data-frame=custom]{--face-main:#d8edf2;--face-accent:#f7d45b}.spectator-timer{color:#fff3ba;text-shadow:0 0 16px #f7d45b66,0 3px 12px #000c;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);background:linear-gradient(#f7d45b38,#0000 52%),#030a0edb;border:1px solid #f7d45b6b;place-items:center;min-height:62px;font-size:28px;font-weight:1000;line-height:1;display:grid}body.spectator-mode .top-bar,body.spectator-mode .readout,body.spectator-mode .center-reticle,body.spectator-mode .enemy-bars,body.spectator-mode .overheat-alert,body.spectator-mode #touchControls{display:none}.readout{border:1px solid var(--hud-line);background:linear-gradient(135deg, #63e8ff24, transparent 42%), linear-gradient(180deg, #ffffff0e, #fff0), var(--hud-bg);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));gap:8px;width:min(380px,50vw - 28px);min-width:248px;padding:12px;transition:opacity .14s;display:grid;position:absolute;bottom:24px;box-shadow:inset 0 0 0 1px #ffffff0a,0 18px 54px #00000047,0 0 26px #53d6ff1f}.readout:before{pointer-events:none;opacity:.32;content:"";background:linear-gradient(90deg,#63e8ff29,#0000 34% 66%,#63e8ff17),repeating-linear-gradient(#ffffff09 0 1px,#0000 1px 7px);position:absolute;inset:0}.readout.left{left:24px}.readout.right{justify-items:end;right:24px}.panel-title{z-index:1;color:#e7f6ffd1;letter-spacing:0;justify-content:space-between;align-items:center;min-height:24px;font-size:10px;font-weight:900;display:flex;position:relative}.panel-title span{color:var(--hud-cyan)}.panel-title b{border-left:2px solid var(--hud-cyan);color:#fff;background:#63e8ff1a;padding:3px 7px;font-size:10px}.meter,.target-panel{z-index:1;background:#040a0f6b;border:1px solid #90dcff33;width:100%;padding:8px 9px;position:relative;box-shadow:inset 3px 0 #63e8ff2e}.label,.stats{color:#e6f7ffe0;letter-spacing:0;justify-content:space-between;align-items:center;gap:12px;font-size:10px;font-weight:800;display:flex}.stats{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid;position:relative}.stats span{color:#a6e1ffdb;white-space:nowrap;background:linear-gradient(90deg,#63e8ff1a,#0000),#040a0f80;border:1px solid #90dcff2e;min-width:0;padding:7px 8px}.stats b{float:right;color:#fff}.bar{background:repeating-linear-gradient(90deg,#ffffff17 0 1px,#0000 1px 20px),#ffffff12;border:1px solid #def6ff29;height:10px;margin-top:7px;position:relative;overflow:hidden}.bar span{background:linear-gradient(90deg, var(--hud-cyan), var(--hud-amber));transform-origin:0;width:100%;position:absolute;inset:0 auto 0 0;box-shadow:0 0 18px #4de2ff7a}.bar.energy span{background:linear-gradient(90deg, var(--hud-green), #4ec4ff)}.bar.shield span{background:linear-gradient(90deg,#8bf6ff,#5f8dff)}.bar.heat span{background:linear-gradient(90deg, var(--hud-cyan) 0%, var(--hud-amber) 58%, var(--hud-red) 100%);box-shadow:0 0 18px #ff5d455c}.heat-status{color:#a6e1ffdb;justify-content:flex-end;min-height:14px;margin-top:5px;font-size:10px;font-weight:900;display:flex}body.heat-hot .heat-status{color:var(--hud-amber)}body.overheated .readout.left{border-color:var(--hud-line-hot);box-shadow:inset 0 0 0 1px #ffffff0d,0 18px 54px #00000047,0 0 34px #ff564842}body.overheated .heat-status,body.overheated #systemState{color:#ffe9c7;animation:.7s steps(2,end) infinite heatPulse}.bar.lock span{background:linear-gradient(90deg, var(--hud-red), var(--hud-amber));width:0%}.bar.target-hp span{background:linear-gradient(90deg, var(--hud-red), #ffd45a)}.target-name{color:#fff2bb;text-align:right;text-transform:uppercase;margin-top:10px;font-size:12px;font-weight:800}.target-health{margin-top:10px}.radar{z-index:1;background:radial-gradient(circle,#63e8ff1a,#0000 58%),#040a0f85;border:1px solid #90dcff3d;width:150px;height:150px;position:relative;box-shadow:inset 0 0 0 1px #ffffff09}#radarCanvas{width:100%;height:100%;display:block}.center-reticle{width:150px;height:150px;transition:opacity .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.center-reticle:before,.center-reticle:after{content:"";border:1px solid #63e8ff3d;position:absolute;inset:16px}.center-reticle:after{border-color:#f7d45b6b;inset:58px;transform:rotate(45deg)}.ring,.lock-reticle{border:1px solid #e8faff9e;border-radius:50%;position:absolute;inset:38px;box-shadow:0 0 16px #52d0ff47,inset 0 0 14px #52d0ff1f}.ring:before{background:conic-gradient(from -90deg, var(--hud-amber) var(--laser-charge), #7af8ff1f 0);content:"";opacity:0;-webkit-mask-composite:xor;border-radius:50%;padding:4px;transition:opacity .12s;position:absolute;inset:-6px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.lock-reticle{opacity:0;border-color:#ffda58e0;transition:opacity .12s,transform .12s;inset:24px}.lock-reticle.locked{opacity:1;transform:scale(.74)}.cross{background:#e8faffc7;position:absolute;box-shadow:0 0 10px #63e8ff6b}.cross.h{height:1px;top:50%;left:20px;right:20px}.cross.v{width:1px;top:20px;bottom:20px;left:50%}body.laser-scope .center-reticle{opacity:1;width:220px;height:220px}body.laser-scope .center-reticle:before{border-color:#7af8ff57;border-radius:50%;inset:10px}body.laser-scope .center-reticle:after{border-color:#7af8ffdb;inset:103px;transform:rotate(45deg)}body.laser-scope .ring{border-color:#7af8ffeb;inset:32px;box-shadow:0 0 24px #7af8ff6b,inset 0 0 18px #7af8ff2e}body.laser-scope .ring:before{opacity:1}body.laser-scope .cross{background:#7af8ffe0;box-shadow:0 0 14px #7af8ff94}body.laser-scope .cross.h{left:0;right:0}body.laser-scope .cross.v{top:0;bottom:0}body.laser-scope .lock-reticle{opacity:0}body.laser-charged .ring,body.laser-charged .center-reticle:after{border-color:#f7d45bf2;box-shadow:0 0 26px #f7d45b7a,inset 0 0 18px #f7d45b2e}.damage-flash{opacity:0;background:radial-gradient(circle,#0000 42%,#ff2e266b);transition:opacity .12s;position:absolute;inset:0}.combat-overlay{z-index:4;pointer-events:none;text-align:center;text-transform:uppercase;place-content:center;gap:8px;display:grid;position:absolute;inset:0}.combat-overlay[hidden]{display:none}.combat-overlay strong{color:#f7d45b;text-shadow:0 0 18px #f6c84f7a,0 8px 38px #000000b8;font-size:clamp(72px,15vw,190px);font-weight:1000;line-height:.82}.combat-overlay span{color:#edf6ffdb;text-shadow:0 4px 24px #000000c7;font-size:clamp(13px,2vw,24px);font-weight:1000}.combat-overlay[data-mode=countdown] strong{animation:.28s ease-out overlayPop}.match-intro{z-index:28;pointer-events:none;background:linear-gradient(90deg,#040c12eb,#040a0e94 45%,#070a0c94 55%,#120907eb),#03080cc2;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;padding:clamp(28px,5vw,72px);display:grid;position:absolute;inset:0}.match-intro[hidden]{display:none}.match-card{background:#040a0f9e;border:1px solid #90dcff40;grid-template-rows:auto minmax(180px,1fr) auto;min-width:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d,0 20px 60px #00000052}.match-card.local{border-color:#7af8ff57}.match-card.remote{border-color:#ff765c6b}.match-card-head{gap:8px;min-width:0;padding:18px 22px 0;display:grid}.match-card-head span{color:#a6e1ffc7;letter-spacing:.14em;font-size:11px;font-weight:1000}.match-card.remote .match-card-head span{color:#ffc28ed1}.match-card-head strong{color:#edf6ff;text-overflow:ellipsis;text-shadow:0 8px 34px #000000ad;white-space:nowrap;font-size:clamp(28px,4.3vw,64px);font-weight:1000;line-height:.95;overflow:hidden}.match-card canvas{width:100%;height:100%;min-height:180px}.match-card dl{background:#90dcff1f;border-top:1px solid #90dcff29;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid}.match-card dl div{background:#040a0fc7;gap:5px;min-width:0;padding:13px 14px;display:grid}.match-card dt{color:#a6e1ffad;font-size:10px;font-weight:1000}.match-card dd{color:#edf6ff;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(13px,1.5vw,18px);font-weight:1000;overflow:hidden}.match-vs{color:#f7d45b;text-shadow:0 0 18px #f6c84f7a,0 8px 38px #000000b8;align-self:center;padding:0 clamp(14px,2.5vw,44px);font-size:clamp(52px,9vw,138px);font-weight:1000;line-height:1}.combat-overlay[data-result=win] strong{color:#f7d45b}.combat-overlay[data-result=loss] strong{color:#ff6858}.combat-overlay[data-result=draw] strong{color:#7af8ff}@keyframes overlayPop{0%{opacity:0;transform:scale(.74)}to{opacity:1;transform:scale(1)}}.overheat-alert{color:#ffe9c7;opacity:0;text-align:center;text-transform:uppercase;pointer-events:none;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);background:linear-gradient(90deg,#ff554838,#f7d45b14),#060a0cb8;border:1px solid #ff5c489e;min-width:260px;padding:10px 18px;transition:opacity .12s,transform .12s;display:grid;position:absolute;bottom:126px;left:50%;transform:translate(-50%)translateY(8px);box-shadow:inset 0 0 0 1px #ffffff0d,0 0 34px #ff564857}.overheat-alert strong{color:#ffdc80;letter-spacing:0;font-size:15px;line-height:1}.overheat-alert span{color:#ffeaccd1;font-size:10px;font-weight:900}body.overheated .overheat-alert{opacity:1;animation:.7s steps(2,end) infinite heatPulse;transform:translate(-50%)translateY(0)}body.overheated .ring,body.overheated .cross,body.overheated .center-reticle:after{background:#ff5c48b8;border-color:#ff5c48a8;box-shadow:0 0 16px #ff5c4870}@keyframes heatPulse{50%{opacity:.52}}.enemy-bars{pointer-events:none;position:absolute;inset:0}.enemy-health{opacity:0;width:78px;height:14px;transition:opacity .12s;position:absolute;transform:translate(-50%,-50%)}.enemy-health:before{color:#edf6ffdb;content:attr(data-name);text-align:center;text-shadow:0 1px 4px #000c;font-size:9px;font-weight:900;position:absolute;inset:-10px 0 auto}.enemy-health span{background:#050c129e;border:1px solid #ffd85c70;position:absolute;inset:3px 0}.enemy-health b{transform-origin:0;background:linear-gradient(90deg,#ff5c4f,#ffd45a);width:100%;position:absolute;inset:0 auto 0 0}.enemy-health.locked span{border-color:#ffd85ceb;box-shadow:0 0 14px #ffd85c47}.banner{text-align:left;pointer-events:auto;background:linear-gradient(90deg,#03080cd1 0 24%,#03080c33 42%,#03080cc2 100%),linear-gradient(#03080cb8,#03080c1f 42%,#03080cd1);border:0;gap:0;width:100vw;height:100vh;max-height:none;padding:22px;display:grid;position:absolute;inset:0;overflow:hidden;transform:none;box-shadow:inset 0 0 0 1px #90dcff14}.banner[hidden]{display:none}.banner>strong{color:#f7d45b;letter-spacing:0;font-size:clamp(30px,4.4vw,52px);line-height:.9}.banner:not([data-step=auth])>strong,.banner:not([data-step=auth])>span,.banner:not([data-step=auth])>.menu-eyebrow,.banner:not([data-step=auth])>.account-bar,.banner>strong:empty,.banner>span:empty{display:none}.banner span{color:#edf6ffc7;text-transform:uppercase;font-size:13px;font-weight:800}.banner[data-step=home],.banner[data-step=result],.banner[data-step=controls],.banner[data-step=enemy],.banner[data-step=pvp-mode],.banner[data-step=pvp]{width:100vw}.banner[data-step=auth]{place-content:center}.menu-eyebrow{color:#a6e1ffd1;text-transform:uppercase;font-size:11px;font-weight:900}.main-menu{gap:10px;display:grid}.main-menu[hidden],.lobby-shell[hidden],.sortie-layout[hidden],.menu-section[hidden],.auth-panel[hidden],.account-bar[hidden],.weapon-preview-panel[hidden],.menu-actions[hidden],.menu-actions button[hidden],.pvp-actions button[hidden],.pvp-fields[hidden],.pvp-fields label[hidden]{display:none}.lobby-shell{pointer-events:none;grid-template:"top top top""left stage right"1fr"tabs tabs tabs"/minmax(260px,340px) minmax(220px,1fr) minmax(260px,330px);gap:16px;display:grid;position:absolute;inset:22px}.lobby-top{pointer-events:auto;grid-area:top;justify-content:space-between;align-items:center;min-height:46px;display:flex}.lobby-user{color:#edf6ffe6;background:#040a0f94;border:1px solid #90dcff3d;align-items:center;gap:10px;min-width:240px;padding:10px 12px;font-size:12px;font-weight:900;display:inline-flex}.lobby-user b{color:#f7d45b;font-size:11px}.lobby-top button,.friend-actions button{color:#edf6ff;cursor:pointer;background:#040a0f9e;border:1px solid #90dcff47;min-height:38px;font-weight:900}.friend-actions button:disabled{cursor:not-allowed;opacity:.45}.lobby-left-panel,.lobby-right-panel{pointer-events:auto;background:#040c12ad;border:1px solid #90dcff38;align-self:end;gap:10px;padding:12px;display:grid;box-shadow:0 18px 48px #00000047}.lobby-left-panel{grid-area:left}.lobby-right-panel{grid-area:right}.lobby-mode-field,.friend-lobby-panel label{gap:6px;display:grid}.lobby-mode-field span,.friend-lobby-panel span,.lobby-right-panel>span{color:#a6e1ffc7;font-size:10px;font-weight:900}.lobby-mode-field select,.friend-lobby-panel input{color:#edf6ff;min-width:0;height:44px;font:inherit;background:#040a0fbd;border:1px solid #90dcff4d;padding:0 10px;font-size:15px;font-weight:900}.lobby-mode-summary,.lobby-status{color:#edf6ffd6;background:#040a0f66;border:1px solid #90dcff29;min-height:34px;padding:9px 10px;font-size:11px;font-weight:900}.ready-button{color:#f7d45b;cursor:pointer;background:linear-gradient(90deg,#f6c84f38,#63e8ff1a);border:1px solid #f6c84fb8;min-height:58px;font-size:18px;font-weight:1000}.friend-lobby-panel{gap:9px;display:grid}.friend-room-created{background:#f6c84f1a;border:1px solid #f6c84f57;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.friend-room-created[hidden],.friend-room-members[hidden],.friend-lobby-panel[hidden]{display:none}.friend-room-created b{color:#f7d45b;letter-spacing:0;font-size:18px}.friend-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.friend-room-members{background:#040a0f6b;border:1px solid #90dcff33;gap:6px;padding:9px 10px;display:grid}.friend-room-members div{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;min-height:22px;display:grid}.friend-room-members b{color:#edf6ff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:900;overflow:hidden}.lobby-right-panel strong{color:#f7d45b;font-size:19px;line-height:1.12}.lobby-right-panel dl{gap:8px;margin:0;display:grid}.lobby-right-panel dl div{border-top:1px solid #90dcff24;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.lobby-right-panel dt,.lobby-right-panel dd{margin:0;font-size:11px;font-weight:900}.lobby-right-panel dt{color:#a6e1ffc7}.lobby-right-panel dd{color:#edf6ffeb;text-align:right}.lobby-tabs{pointer-events:auto;grid-area:tabs;grid-template-columns:repeat(5,minmax(84px,128px));justify-self:center;gap:8px;display:grid}.lobby-tabs button{color:#edf6ff;cursor:pointer;background:#040a0f9e;border:1px solid #90dcff47;min-height:44px;font-size:12px;font-weight:900}.lobby-tabs button:hover,.lobby-tabs button.selected,.lobby-top button:hover,.friend-actions button:hover,.ready-button:hover{color:#f7d45b;border-color:#f6c84fb8}.account-bar{color:#edf6ffdb;background:#040a0f70;border:1px solid #90dcff33;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:11px;font-weight:900;display:flex}.account-bar button{color:#edf6ff;min-height:30px;font:inherit;cursor:pointer;background:#040a0f9e;border:1px solid #90dcff42;font-size:10px;font-weight:900}.auth-panel{background:#07151d94;border:1px solid #90dcff38;gap:10px;padding:12px;display:grid}.auth-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.auth-mode button{color:#edf6ff;min-height:40px;font:inherit;cursor:pointer;background:#040a0f94;border:1px solid #90dcff42;font-size:12px;font-weight:900}.auth-mode button:hover,.auth-mode button.selected{color:#f7d45b;background:#f6c84f1f;border-color:#f6c84fad}.auth-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.auth-fields label{text-align:left;gap:5px;display:grid}.auth-fields span{color:#a6e1ffc7;font-size:10px;font-weight:900}.auth-fields input{color:#edf6ff;min-width:0;height:42px;font:inherit;background:#040a0fb8;border:1px solid #90dcff3d;padding:0 10px;font-size:14px;font-weight:800}.auth-status{color:#edf6ffd1;text-align:left;background:#040a0f75;border:1px solid #90dcff2e;min-height:30px;padding:8px 10px;font-size:11px;font-weight:900}.menu-option{color:#edf6ff;cursor:pointer;text-align:left;background:#040a0f94;border:1px solid #90dcff42;gap:4px;min-height:74px;padding:14px 16px;display:grid}.menu-option:hover{background:#f6c84f1f;border-color:#f6c84fb8}.menu-option span{color:#f7d45b;text-transform:none;font-size:18px;font-weight:900}.menu-option small{color:#edf6ffc7;font-size:11px;font-weight:800}.sortie-layout{pointer-events:auto;grid-template-columns:1fr;align-items:start;gap:12px;width:min(540px,100vw - 44px);display:grid;position:absolute;top:92px;bottom:82px;left:22px;overflow:auto}.sortie-left{align-content:start;gap:8px;display:grid}.enemy-config,.pvp-config,.pvp-mode-config,.assemble-config,.frame-config,.map-config,.shield-config,.weapon-config,.control-guide,.weapon-preview-panel{background:#07151d94;border:1px solid #90dcff38;gap:8px;padding:10px;display:grid}.enemy-config label,.pvp-config>label,.pvp-mode-config>label,.assemble-config>label,.frame-config>label,.map-config>label,.shield-config>label,.weapon-config>label,.control-guide>label{color:#edf6ffdb;justify-content:space-between;align-items:center;font-size:11px;font-weight:900;display:flex}.pvp-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pvp-actions.single{grid-template-columns:1fr}.pvp-actions button{color:#edf6ff;cursor:pointer;background:#040a0f9e;border:1px solid #90dcff47;min-height:46px;font-weight:900}.pvp-actions button:hover{color:#f7d45b;border-color:#f6c84fad}.pvp-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pvp-fields label{text-align:left;gap:5px;display:grid}.pvp-fields span{color:#a6e1ffc7;font-size:10px;font-weight:900}.pvp-fields input{color:#edf6ff;min-width:0;height:40px;font:inherit;text-transform:uppercase;background:#040a0fb8;border:1px solid #90dcff3d;padding:0 10px;font-size:14px;font-weight:800}#playerNameInput{text-transform:none}.pvp-fields input[readonly]{color:#edf6ffb3;cursor:default}.pvp-status{color:#edf6ffd1;text-align:left;background:#040a0f75;border:1px solid #90dcff2e;min-height:34px;padding:8px 10px;font-size:11px;font-weight:900}.control-grid{text-align:left;grid-template-columns:minmax(64px,.42fr) minmax(0,1fr);gap:4px 10px;display:grid}.control-grid span{color:#a6e1ffc7;font-size:10px;font-weight:900}.control-grid b{color:#edf6ffeb;font-size:10px;font-weight:900}.part-tabs,.part-grid,.frame-grid,.map-grid,.pvp-mode-grid,.shield-grid,.weapon-grid{gap:7px;display:grid}.part-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.part-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.frame-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.map-grid,.pvp-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shield-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.weapon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.part-tab,.part-card,.frame-card,.map-card,.pvp-mode-card,.shield-card,.weapon-card{cursor:pointer;text-align:left;background:#040a0f85;border:1px solid #90dcff38;align-content:center;gap:3px;min-height:50px;padding:9px 10px;display:grid;position:relative}.part-tab{text-align:center;min-height:38px;padding:7px 8px}.assemble-config{grid-template-columns:132px minmax(0,1fr)}.assemble-config>label{grid-column:1/-1}.assemble-config .part-tabs{grid-template-columns:1fr;align-content:start}.assemble-config .part-grid{grid-template-columns:1fr}.part-card{min-height:78px}.frame-card,.map-card{min-height:46px}.pvp-mode-card{min-height:62px}.shield-card{min-height:54px}.part-card input,.frame-card input,.map-card input,.pvp-mode-card input,.shield-card input,.weapon-card input{opacity:0;pointer-events:none;position:absolute}.part-tab,.part-card span,.frame-card span,.map-card span,.pvp-mode-card span,.shield-card span,.weapon-card span{color:#edf6ff;font-size:11px;font-weight:900}.part-card small,.frame-card small,.map-card small,.pvp-mode-card small,.shield-card small,.weapon-card small{color:#a6e1ffb3;font-size:9px;font-weight:800}.part-tab:hover,.part-tab.selected,.part-card:hover,.part-card.selected,.frame-card:hover,.frame-card.selected,.map-card:hover,.map-card.selected,.pvp-mode-card:hover,.pvp-mode-card.selected,.shield-card:hover,.shield-card.selected,.weapon-card:hover,.weapon-card.selected{background:#f6c84f1f;border-color:#f6c84fad}.menu-option.controller-focus,.deploy-button.controller-focus,.auth-mode button.controller-focus,.account-bar button.controller-focus,.lobby-mode-field select.controller-focus,.friend-lobby-panel input.controller-focus,.lobby-top button.controller-focus,.friend-actions button.controller-focus,.ready-button.controller-focus,.lobby-tabs button.controller-focus,.pvp-actions button.controller-focus,.part-tab.controller-focus,.part-card.controller-focus,.frame-card.controller-focus,.map-card.controller-focus,.pvp-mode-card.controller-focus,.shield-card.controller-focus,.weapon-card.controller-focus{border-color:#7af8ffeb;box-shadow:0 0 0 2px #7af8ff3d,0 0 22px #7af8ff2e}.part-tab.selected,.part-card.selected span,.frame-card.selected span,.map-card.selected span,.pvp-mode-card.selected span,.shield-card.selected span,.weapon-card.selected span{color:#f7d45b}.weapon-preview-panel{text-align:left;pointer-events:auto;grid-template-rows:minmax(150px,1fr) auto;width:min(330px,100vw - 44px);min-height:0;max-height:calc(100vh - 174px);position:fixed;top:92px;right:22px}#weaponPreview{background:radial-gradient(circle at 50% 44%,#73e1ff1f,#0000 58%),#040a0f5c;border:1px solid #90dcff2e;width:100%;min-height:176px;display:block}.weapon-detail{gap:8px;display:grid}.weapon-detail strong{color:#f7d45b;font-size:18px;line-height:1.1}.weapon-detail p{color:#edf6ffd6;min-height:0;margin:0;font-size:12px;font-weight:700;line-height:1.4}.weapon-stats{gap:5px;display:grid}.weapon-stats div{grid-template-columns:54px 1fr;align-items:center;gap:8px;display:grid}.weapon-stats span{color:#a6e1ffd1;font-size:10px;font-weight:900}.weapon-stats i{background:#ffffff14;border:1px solid #def6ff2e;height:9px;position:relative;overflow:hidden}.weapon-stats b{transform-origin:0;background:linear-gradient(90deg,#4de2ff,#f7d45b);width:100%;position:absolute;inset:0 auto 0 0;transform:scaleX(.5)}.enemy-stepper{grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;display:grid}.enemy-stepper button,.deploy-button{color:#edf6ff;cursor:pointer;background:#040a0f9e;border:1px solid #90dcff47;min-height:42px;font-weight:900}.menu-actions{grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:10px;display:grid}.menu-actions.single{grid-template-columns:1fr}.deploy-button.secondary{color:#edf6ffc7;background:#040a0f75}.enemy-stepper button:hover,.deploy-button:hover{color:#f7d45b;border-color:#f6c84fad}#enemyCount{color:#f7d45b;font-size:24px;font-weight:900}#enemyRange{accent-color:#f7d45b;width:100%}.deploy-button{color:#f7d45b;letter-spacing:0;background:#f6c84f21;border-color:#f6c84f94;min-height:50px}body.menu-open .readout,body.menu-open .center-reticle,body.menu-open .overheat-alert{opacity:0}#touchControls{z-index:8;padding:0 max(12px, var(--safe-right)) calc(12px + var(--safe-bottom)) max(12px, var(--safe-left));pointer-events:none;grid-template-columns:auto minmax(70px,1fr) auto;align-items:end;gap:12px;transition:opacity .14s;display:none;position:fixed;inset:auto 0 0}body.menu-open #touchControls{opacity:0;visibility:hidden}.stick,.look-pad{pointer-events:auto;touch-action:none;background:#040a0f6b;border:1px solid #90dcff47;border-radius:50%;width:104px;height:104px;position:relative;box-shadow:inset 0 0 0 1px #ffffff09,0 10px 32px #00000029}.stick span,.look-pad span{background:#ffdc582e;border:1px solid #ffdc58a8;border-radius:50%;width:42px;height:42px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.look-pad{background:radial-gradient(circle,#63e8ff1f,#0000 58%),#040a0f57;border-style:dashed;justify-self:end;width:92px;height:92px}.look-pad span{background:#7af8ff24;border-color:#7af8ff94;width:32px;height:32px}.look-pad b{color:#edf6ffad;font-size:9px;font-weight:900;line-height:1;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.touch-buttons{pointer-events:auto;grid-template-columns:repeat(3,52px);gap:6px;display:grid}.touch-buttons button{color:#edf6ff;touch-action:manipulation;background:#040a0f9e;border:1px solid #90dcff47;min-height:44px;font-size:10px;font-weight:900;box-shadow:0 8px 24px #0000002e}.touch-buttons button.pressed{color:#f7d45b;background:#f6c84f29;border-color:#f6c84fc7}.touch-buttons #touchFire{color:#f7d45b;border-color:#f6c84f8a;grid-column:span 2;min-height:50px}@media (width<=760px),(pointer:coarse){.top-bar{top:12px;left:12px;right:12px}.brand,.mission{min-height:30px;padding:0 9px;font-size:11px}.spectator-fight-hud{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:6px;width:calc(100vw - 16px);top:8px}.spectator-side{min-height:50px;padding:6px}.spectator-side.host{grid-template-columns:42px minmax(0,1fr)}.spectator-side.guest{grid-template-columns:minmax(0,1fr) 42px}.spectator-face{width:36px;height:36px}.spectator-face:before{height:9px;top:12px;left:7px;right:7px}.spectator-face:after{height:3px;bottom:7px;left:10px;right:10px}.spectator-face span{width:10px;height:5px;top:5px;left:13px}.spectator-name{font-size:10px}.spectator-health-row{gap:4px}.spectator-health{height:14px}.spectator-health-row b{min-width:0;font-size:9px}.spectator-timer{min-height:44px;font-size:18px}.readout{bottom:calc(116px + var(--safe-bottom));clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));gap:5px;width:min(38vw,142px);min-width:0;padding:5px}.banner{gap:8px;width:100vw;height:100vh;max-height:none;padding:12px;inset:0}.banner>strong{font-size:clamp(26px,11vw,46px)}.readout.left{left:max(8px, var(--safe-left))}.readout.right{right:max(8px, var(--safe-right));width:min(32vw,124px)}.meter,.target-panel{padding:5px}.panel-title{min-height:18px;font-size:8px}.panel-title b{padding:2px 5px;font-size:8px}.label,.stats{gap:6px;font-size:8px}.bar{height:7px;margin-top:4px}.heat-status{display:none}.target-name{margin-top:6px;font-size:9px}.target-health{display:none}.sortie-layout{grid-template-columns:1fr;gap:8px;width:auto;inset:84px 12px 72px}.lobby-shell{padding-bottom:calc(52px + var(--safe-bottom));grid-template:"top""left""right"1fr"tabs"/1fr;inset:12px;overflow:auto}.lobby-top{min-height:38px}.lobby-user{min-width:0;padding:8px 9px;font-size:11px}.lobby-left-panel,.lobby-right-panel{align-self:start;gap:7px;padding:8px}.lobby-mode-field select,.friend-lobby-panel input{height:38px;font-size:13px}.lobby-mode-summary,.lobby-status{min-height:30px;padding:7px 8px;font-size:10px}.ready-button{min-height:46px;font-size:15px}.lobby-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%}.lobby-tabs button{min-height:38px;font-size:10px}.friend-actions{grid-template-columns:1fr}.menu-option{min-height:66px;padding:12px}.menu-option span{font-size:16px}.enemy-config,.pvp-config,.pvp-mode-config,.assemble-config,.frame-config,.map-config,.shield-config,.weapon-config,.control-guide{gap:8px;padding:10px}.control-grid{grid-template-columns:minmax(58px,.36fr) minmax(0,1fr)}.assemble-config{grid-template-columns:1fr}.assemble-config>label,.assemble-config .part-tabs,.assemble-config .part-grid{grid-column:auto}.pvp-actions,.auth-fields,.pvp-fields{grid-template-columns:1fr}.pvp-mode-grid,.shield-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weapon-preview-panel{grid-template-rows:minmax(132px,auto) auto;width:auto;min-height:0;max-height:230px;position:fixed;inset:auto 12px 72px}.weapon-detail{gap:6px}.weapon-detail p{font-size:11px;line-height:1.35}.weapon-stats{gap:4px}.weapon-grid,.frame-grid,.part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.part-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.part-card{min-height:54px}.part-tab{min-height:34px;padding:6px}.part-card small{display:none}.frame-card,.pvp-mode-card,.shield-card,.weapon-card{min-height:38px;padding:7px 9px}.frame-card small,.pvp-mode-card small,.shield-card small,.weapon-card small{display:none}.deploy-button{min-height:44px}.menu-actions{grid-template-columns:minmax(82px,.34fr) minmax(0,1fr);gap:8px}.weapon-card small{display:none}.enemy-health{width:62px}.stats{display:none}.overheat-alert{min-width:220px;padding:8px 14px;bottom:132px}.match-intro{grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);grid-template-columns:1fr;gap:8px;padding:12px}.match-card{grid-template-rows:auto minmax(105px,1fr) auto}.match-card-head{gap:4px;padding:11px 12px 0}.match-card-head strong{font-size:clamp(23px,9vw,38px)}.match-card canvas{min-height:105px}.match-card dl div{padding:8px}.match-card dd{font-size:12px}.match-vs{justify-self:center;padding:0;font-size:44px}.radar{width:74px;height:74px}.center-reticle{width:96px;height:96px}.center-reticle:before{inset:12px}.center-reticle:after{inset:38px}.ring{inset:28px}.lock-reticle{inset:18px}#touchControls{padding:0 max(8px, var(--safe-right)) calc(8px + var(--safe-bottom)) max(8px, var(--safe-left));gap:7px;display:grid}.stick{width:clamp(78px,25vw,104px);height:clamp(78px,25vw,104px)}.stick span{width:clamp(34px,10vw,42px);height:clamp(34px,10vw,42px)}.look-pad{width:clamp(58px,22vw,92px);height:clamp(58px,22vw,92px)}.look-pad span{width:clamp(26px,8vw,32px);height:clamp(26px,8vw,32px)}.look-pad b{font-size:8px;bottom:8px}.touch-buttons{grid-template-columns:repeat(3,clamp(42px,13vw,52px));gap:5px}.touch-buttons button{min-height:clamp(38px,11vw,44px);font-size:9px}.touch-buttons #touchFire{min-height:clamp(42px,12vw,50px)}.lobby-shell{inset:max(8px, var(--safe-left)) max(8px, var(--safe-right)) calc(8px + var(--safe-bottom)) max(8px, var(--safe-left));grid-template-rows:auto auto auto auto;grid-template-areas:"top""tabs""left""right";align-content:start;gap:8px;padding-bottom:0}.lobby-top{gap:8px}.lobby-user{flex:auto;min-height:36px;overflow:hidden}.lobby-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lobby-top button{min-height:36px;padding:0 10px;font-size:10px}.lobby-tabs{grid-template-columns:repeat(5,minmax(0,1fr));justify-self:stretch;gap:5px}.lobby-tabs button{min-height:34px;padding:0 2px;font-size:9px}.lobby-left-panel,.lobby-right-panel{box-shadow:none}.lobby-right-panel strong{font-size:15px}.lobby-right-panel dl{gap:0}.lobby-right-panel dl div{padding:6px 0}.banner[data-step=assemble] .lobby-shell,.banner[data-step=weapon] .lobby-shell,.banner[data-step=map] .lobby-shell,.banner[data-step=controls] .lobby-shell{inset:max(8px, var(--safe-left)) max(8px, var(--safe-right)) auto max(8px, var(--safe-left));z-index:30;grid-template-rows:1fr;grid-template-areas:"tabs";height:36px;padding:0;overflow:visible}.banner[data-step=assemble] .lobby-top,.banner[data-step=assemble] .lobby-left-panel,.banner[data-step=assemble] .lobby-right-panel,.banner[data-step=weapon] .lobby-top,.banner[data-step=weapon] .lobby-left-panel,.banner[data-step=weapon] .lobby-right-panel,.banner[data-step=map] .lobby-top,.banner[data-step=map] .lobby-left-panel,.banner[data-step=map] .lobby-right-panel,.banner[data-step=controls] .lobby-top,.banner[data-step=controls] .lobby-left-panel,.banner[data-step=controls] .lobby-right-panel{display:none}.sortie-layout{z-index:4;top:58px;bottom:calc(10px + var(--safe-bottom));left:max(8px, var(--safe-left));right:max(8px, var(--safe-right))}.banner[data-step=assemble] .sortie-layout,.banner[data-step=weapon] .sortie-layout{top:226px}.weapon-preview-panel{z-index:5;top:56px;right:max(8px, var(--safe-right));bottom:auto;left:max(8px, var(--safe-left));grid-template-rows:1fr;grid-template-columns:minmax(118px,.42fr) minmax(0,1fr);gap:8px;height:158px;max-height:158px;padding:8px}#weaponPreview{height:100%;min-height:0}.weapon-detail{align-content:start;min-width:0;overflow:hidden}.weapon-detail strong{font-size:14px}.weapon-detail p{max-height:42px;font-size:10px;overflow:hidden}.weapon-stats div{grid-template-columns:42px minmax(0,1fr);gap:5px}}
