:root{color-scheme:dark;--bg:#080b10;--panel:#10161c;--line:#243037;--text:#edf2ef;--muted:#8e9da2;--lime:#b5ff55;--blue:#65cfff;--amber:#ffc16a;font-family:Inter,"Arial", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.arcade{max-width:1600px;margin:0 auto;padding:0 42px}.masthead{height:98px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);font-size:22px;font-weight:850;letter-spacing:-.8px}.brand-light{font-weight:400;margin-left:3px;color:#a9b9b9}.brand-mark{display:grid;place-items:center;background:var(--lime);color:#16200d;width:32px;height:33px;font-size:23px;font-style:italic;font-weight:950;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}.edition{border-left:1px solid var(--line);padding-left:26px;color:var(--muted);font-size:14px}.tools{display:flex;gap:9px;margin-left:auto;align-items:center}.tool{display:flex;align-items:center;justify-content:center;gap:9px;color:#a7b5ba;border:1px solid #273139;border-radius:7px;background:#10151a;height:38px;padding:0 12px;font-size:12px;transition:background .2s,color .2s}.tool:hover:not(:disabled){color:var(--text);background:#1c272e}.tool.icon-only{width:38px;padding:0;font-size:18px}.tool[aria-pressed=false]{color:#77838b}.game-shell{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden;box-shadow:0 25px 75px #0003}.arena{position:relative;isolation:isolate;height:clamp(460px,calc(100svh - 250px),800px);min-height:460px;overflow:hidden;background:#0b1117}.arena canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline-offset:-4px}.hud{pointer-events:none;position:absolute;inset:29px 34px auto;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;z-index:2;font-variant-numeric:tabular-nums}.eyebrow{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:12px;font-weight:500;letter-spacing:1.8px;color:var(--muted)}.score-group{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.score-group strong{font-family:ui-monospace,Consolas,monospace;font-size:32px;line-height:1.1;letter-spacing:1px;font-weight:500}.combo{font-family:ui-monospace,Consolas,monospace;font-size:12px;letter-spacing:1px;color:#677d82;min-height:18px}.combo.active{color:var(--amber)}.wave-group{display:flex;flex-direction:column;align-items:center;gap:9px}.wave-group .eyebrow{font-size:14px}.wave-group b{color:#e2e9e6;margin-left:8px;font-weight:600}.timer{font-family:ui-monospace,Consolas,monospace;font-size:16px;color:#9fafb4;letter-spacing:1px}.life-group{justify-self:end;width:155px;display:flex;flex-direction:column;gap:8px}.life-group>.eyebrow{display:flex;justify-content:space-between}.life-group>.eyebrow>span{color:#b7c6c8;letter-spacing:0}.hull-meter{height:5px;background:#273238;border-radius:3px;overflow:hidden}.hull-meter i{display:block;background:var(--lime);width:100%;height:100%;transition:width .15s,background .2s}.life-group>span:last-child{font-size:12px;align-self:flex-end;color:#658195}.life-group>span.shield-on:last-child{color:var(--blue)}.arena-corner{position:absolute;width:17px;height:17px;border-color:#668274;opacity:.4;pointer-events:none;z-index:8}.top-left{left:11px;top:11px;border-left:1px solid;border-top:1px solid}.top-right{right:11px;top:11px;border-right:1px solid;border-top:1px solid}.bottom-left{left:11px;bottom:11px;border-left:1px solid;border-bottom:1px solid}.bottom-right{right:11px;bottom:11px;border-right:1px solid;border-bottom:1px solid}.overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center}.start-overlay{background:linear-gradient(90deg,#091116e8 0%,#091116c9 34%,#09111638 75%,#09111620 100%);justify-content:flex-start}.start-content{margin-left:9%;padding-top:42px;position:relative}.kicker{font-family:ui-monospace,Consolas,monospace;font-size:12px;letter-spacing:2.6px;color:#a7baaf;display:inline-flex;align-items:center;gap:9px}.kicker i{height:6px;width:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 9px #b5ff5580}h1{font-family:"Arial Black",Impact,Arial,sans-serif;margin:16px 0 19px;font-size:clamp(58px,6.8vw,96px);line-height:.86;letter-spacing:-5px;font-weight:950;font-style:italic;position:relative;width:max-content}h1>span{color:var(--lime)}h1 sup{font-family:Arial,sans-serif;color:var(--lime);font-size:.4em;font-style:normal;position:absolute;right:-44px;top:4px}.start-lead{font-size:20px;letter-spacing:-.6px;margin:0 0 10px;font-weight:600}.start-description{font-size:14px;line-height:1.8;color:#94a6a9;margin:0 0 24px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;height:54px;padding:0 23px;background:var(--lime);color:#132009;border:1px solid var(--lime);font-size:16px;font-weight:750;border-radius:5px;box-shadow:0 0 30px #b5ff5510;transition:background .15s,transform .15s,box-shadow .15s}.primary-button:hover{background:#c7ff81;box-shadow:0 0 32px #b5ff5526;transform:translateY(-1px)}.primary-button:active{transform:translateY(1px)}.start-content .primary-button{width:270px}.start-content .primary-button svg{width:23px;height:23px}.start-hint{display:block;width:270px;text-align:center;font-family:ui-monospace,Consolas,monospace;color:#6d8387;font-size:12px;margin-top:10px;letter-spacing:.4px}.start-features{display:flex;gap:18px;margin-top:27px}.start-features>span{display:flex;align-items:center;gap:7px;font-size:12px;color:#9eb1b4}.feature-dot{width:5px;height:5px;transform:rotate(45deg)}.mint{background:var(--lime)}.amber{background:var(--amber)}.blue{background:var(--blue)}.demo-label{position:absolute;right:35px;bottom:28px;display:flex;align-items:center;gap:12px;color:#637e7c;font-family:ui-monospace,Consolas,monospace;font-size:12px;letter-spacing:2px}.demo-line{width:29px;height:1px;background:#68877a}.loadout{min-height:99px;display:flex;gap:23px;align-items:center;padding:20px 30px;background:#10171d;border-top:1px solid var(--line)}.level-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:54px;height:54px;flex-shrink:0;border:1px solid #405238;background:#b5ff5508;border-radius:5px;color:var(--lime);font-family:ui-monospace,Consolas,monospace}.level-badge span{font-size:12px}.level-badge strong{font-size:24px;line-height:1;font-weight:500}.weapon{min-width:132px;display:flex;flex-direction:column;gap:9px}.weapon>.eyebrow{font-size:12px;letter-spacing:1px}.weapon>.eyebrow>span{display:none}.weapon>strong{font-size:16px;font-weight:600}.power-track{flex:1;max-width:600px;margin:0 16px}.power-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#a0aeb0;margin-bottom:12px}.power-caption span:last-child{font-family:ui-monospace,Consolas,monospace;color:#6f8488;white-space:nowrap}.xp-meter{width:100%;height:4px;background:#2a3439;overflow:hidden}.xp-meter i{display:block;width:0;height:100%;background:var(--lime);transition:width .14s}.weapon-stat{display:flex;flex-direction:column;gap:7px;border-right:1px solid #2b363c;padding-right:28px}.weapon-stat>.eyebrow{font-size:12px;letter-spacing:1px}.weapon-stat>strong{font:500 21px ui-monospace,Consolas,monospace}.weapon-stat>strong>span{font-size:13px;margin-left:5px;color:#718384}.shield-loadout{display:flex;align-items:center;gap:13px;min-width:161px}.shield-loadout>svg{width:30px;height:33px;stroke:#6b899c;fill:#66cfff06;stroke-width:1.2}.shield-loadout.active>svg{stroke:var(--blue);filter:drop-shadow(0 0 5px #65cfff70)}.shield-loadout>div{display:flex;flex-direction:column;gap:8px}.shield-loadout strong{font-size:12px;font-weight:400;color:#92a7b0}.shield-loadout.active strong{color:var(--blue)}.footer{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:68px;font-size:12px;color:#718187}.controls{display:flex;align-items:center;gap:15px}.controls>span{display:flex;align-items:center;gap:4px}.controls b{font-weight:400;margin-left:8px;color:#9aabab}kbd{font:12px ui-monospace,Consolas,monospace;padding:3px 5px;border:1px solid #2d373e;border-bottom-width:2px;border-radius:4px;color:#98a8aa;background:#10171c}.control-divider{height:13px;width:1px;background:#344047;margin:0 4px}.best{white-space:nowrap}.best strong{color:var(--amber);font-family:ui-monospace,Consolas,monospace;letter-spacing:1px;font-weight:500;margin-left:10px;font-size:14px}.mobile-hint{display:none}.modal-overlay{background:#060c13b8;backdrop-filter:blur(9px);z-index:10;padding:24px}.dialog{max-width:400px;width:100%;text-align:center;background:linear-gradient(150deg,#17242b,#0e151e);border:1px solid #334347;border-radius:12px;padding:36px 32px;box-shadow:0 20px 80px #0006;max-height:100%;overflow:auto}.dialog h2{font-size:28px;letter-spacing:-1px;margin:18px 0 12px;line-height:1.3}.dialog p{font-size:14px;color:#a3b3b9;line-height:1.75;margin:0 0 25px}.dialog .kicker{color:var(--lime);font-size:12px}.dialog-hint{display:block;font-size:12px;color:#778e95;margin-top:16px}.secondary-button{width:100%;margin-top:11px;height:44px;border:1px solid #36484f;background:transparent;color:#b7c5c8;border-radius:5px;font-size:14px}.secondary-button:hover{background:#27363c}.final-score{display:block;color:var(--lime);font-family:ui-monospace,Consolas,monospace;font-size:48px;letter-spacing:-2px;font-weight:500;margin-top:20px}.result-score-label{font:12px ui-monospace,Consolas,monospace;color:#7c949a;letter-spacing:2px}.result-stats{display:flex;justify-content:space-around;margin:28px 0 22px;padding:20px 0;border-top:1px solid #304147;border-bottom:1px solid #304147}.result-stats>div{display:flex;flex-direction:column;gap:8px}.result-stats span{font-size:12px;color:#8c9fa5}.result-stats b{font:500 20px ui-monospace,Consolas,monospace}.help-dialog{max-width:480px;padding:27px}.help-dialog h2{font-size:25px}.help-dialog p{margin-bottom:17px}.help-dialog dl{text-align:left;margin:0 0 22px;font-size:14px;line-height:1.55}.help-dialog dl>div{display:grid;grid-template-columns:82px 1fr;gap:12px;border-top:1px solid #2a393f;padding:12px 0}.help-dialog dt{color:var(--lime);font-size:13px}.help-dialog dd{margin:0;color:#a6b6ba;font-size:13px}.announcement{position:absolute;z-index:3;top:25%;left:50%;transform:translate(-50%,-10px);text-align:center;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;color:var(--lime);text-shadow:0 3px 15px #000;font-size:23px;font-weight:700;white-space:nowrap}.announcement.visible{opacity:1;transform:translate(-50%,0)}.announcement small{display:block;font-family:ui-monospace,Consolas,monospace;font-size:12px;letter-spacing:3px;color:#c6d5d0;margin-bottom:7px}.shield-status{display:flex;align-items:center;gap:9px;position:absolute;bottom:25px;left:50%;transform:translateX(-50%);border:1px solid #529acc60;background:#0c2637cc;color:var(--blue);border-radius:30px;padding:9px 15px;font-size:12px;z-index:3;pointer-events:none;white-space:nowrap}.shield-status b{font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:500;margin-left:4px}.shield-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;box-shadow:0 0 8px var(--blue)}.boss-hud{position:absolute;top:106px;left:50%;transform:translateX(-50%);width:min(280px,50%);z-index:3;text-align:center;pointer-events:none}.boss-hud>span{color:#ff876f;font:12px ui-monospace,Consolas,monospace;letter-spacing:1px}.boss-hud b{margin-left:10px;font:12px Arial,sans-serif;color:#c78275}.boss-hud>div{margin-top:9px;height:4px;background:#77322755}.boss-hud i{display:block;height:100%;background:#ff7759;width:100%;transition:width .1s}.joystick{position:absolute;width:104px;height:104px;border:1px solid #b5ff5540;background:#b5ff5508;border-radius:50%;pointer-events:none;z-index:3;transform:translate(-50%,-50%)}.joystick i{position:absolute;left:50%;top:50%;height:35px;width:35px;border:1px solid #b5ff5580;background:#b5ff5530;border-radius:50%;transform:translate(-50%,-50%)}
@media(min-width:1450px){.arena{height:calc(100svh - 250px)}.start-content{margin-left:10%}h1{font-size:100px}}
@media(max-height:800px) and (min-width:761px){.masthead{height:77px}.arena{min-height:420px;height:calc(100svh - 232px)}.start-content{padding-top:40px}h1{font-size:72px;margin:14px 0}.start-description{margin-bottom:17px}.start-features{margin-top:18px}.loadout{min-height:84px;padding:15px 25px}.footer{min-height:56px}.start-lead{font-size:18px}}
@media(max-width:1000px){.arcade{padding:0 24px}.edition{display:none}.loadout{gap:16px;padding:19px 22px}.power-track{margin:0 4px}.weapon-stat{display:none}.shield-loadout{min-width:142px}.footer .controls{gap:8px}.control-divider{display:none!important}.footer .controls>span:last-child{display:none}.start-content{margin-left:7%}}
@media(max-width:760px){.arcade{padding:0 12px}.masthead{height:72px;gap:8px}.brand{font-size:19px;gap:8px}.brand-mark{width:29px;height:29px;font-size:21px}.tools{gap:6px}.tool{height:34px;padding:0 9px}.tool.icon-only{height:34px;width:34px}.tool span{display:none}.game-shell{border-radius:9px}.arena{height:calc(100svh - 245px);min-height:450px;max-height:850px}.hud{inset:22px 20px auto;gap:10px}.score-group strong{font-size:24px}.eyebrow{font-size:12px}.combo{font-size:12px;letter-spacing:0}.wave-group .eyebrow{font-size:12px}.wave-group b{margin-left:2px}.timer{font-size:14px}.life-group{width:100px}.life-group .eyebrow{letter-spacing:.5px}.loadout{display:grid;grid-template-columns:44px 1fr auto;gap:13px;padding:16px;min-height:119px}.level-badge{width:44px;height:48px}.weapon{min-width:0;gap:7px}.weapon>.eyebrow{letter-spacing:.8px}.weapon>.eyebrow>span{display:none}.weapon>strong{font-size:15px}.power-track{grid-column:1/-1;grid-row:2;margin:0;max-width:none}.power-caption{margin-bottom:7px}.shield-loadout{min-width:0;gap:6px}.shield-loadout>svg{width:25px;height:28px}.shield-loadout>div{gap:6px}.shield-loadout .eyebrow{font-size:12px}.shield-loadout strong{font-size:12px}.start-overlay{justify-content:center;background:linear-gradient(90deg,#081115c9,#08111592)}.start-content{margin:35px 0 0;padding:15px 20px;text-align:center}.kicker{font-size:12px;letter-spacing:2px}h1{font-size:76px;letter-spacing:-4px;margin:18px auto 20px;text-align:left}h1 sup{right:-28px;font-size:26px}.start-lead{font-size:18px;margin-bottom:9px}.start-description{font-size:13px;margin-bottom:20px}.start-content .primary-button{width:260px;margin:0 auto}.start-hint{width:260px;margin:10px auto 0;display:none}.start-features{justify-content:center;gap:15px;margin-top:20px}.demo-label{display:none}.footer{min-height:44px;justify-content:flex-end}.footer .controls{display:none}.mobile-hint{display:block;color:#798e95;font-size:12px;text-align:center;margin:0 0 15px}.best{font-size:12px}.best strong{font-size:13px}.announcement{font-size:20px;top:27%}.dialog{padding:25px 23px}.dialog h2{font-size:24px}.help-dialog dl>div{grid-template-columns:70px 1fr;gap:8px}.help-dialog dt,.help-dialog dd{font-size:13px}.help-dialog .kicker{font-size:12px}.help-dialog h2{font-size:23px}.help-dialog p{font-size:13px}.dialog-hint{font-size:12px}.boss-hud{top:110px}.shield-status{bottom:18px}.result-stats{margin:20px 0;padding:15px 0}.final-score{font-size:42px}.result-dialog p{margin-bottom:18px}}
@media(max-width:380px){.arcade{padding:0 8px}.brand{font-size:17px}.hud{inset:20px 15px auto}.life-group{width:85px}.score-group strong{font-size:21px}.combo{font-size:12px}.shield-loadout strong{max-width:98px}.start-content{padding:15px 10px}h1{font-size:69px}.start-description{font-size:13px}.start-features{gap:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.start-overlay{background:#071118bc;overflow-y:auto;align-items:flex-start}.squad-start{display:grid;grid-template-columns:1fr 1.08fr;gap:7%;width:86%;margin:20px auto 0;padding:60px 0 30px;align-items:center}.squad-start h1{font-size:clamp(58px,6.2vw,85px)}.squad-start .start-features{gap:13px}.deployment-panel{max-width:445px;background:#101c22eb;border:1px solid #344740;border-radius:10px;padding:23px}.selection-label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.selection-label>span:last-child{font:12px ui-monospace,Consolas,monospace;color:#677e79}.selection-label .kicker{font-size:12px;letter-spacing:1.5px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.role-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;background:#142029;border:1px solid #30414a;color:#c8d6d9;border-radius:6px;padding:13px 13px 12px;text-align:left;transition:background .15s,border-color .15s}.role-card i{font-size:22px;position:absolute;right:13px;top:11px;color:var(--role-color,#b5ff55);font-style:normal}.role-card b{font-size:15px;font-weight:600;margin-top:4px}.role-card>span{font-size:12px;color:#8da3aa;letter-spacing:-.4px}.role-card[data-role=medic]{--role-color:#77e6cf}.role-card[data-role=pyro]{--role-color:#ffb064}.role-card[data-role=science]{--role-color:#8cc9ff}.role-card.selected{border-color:var(--role-color,#b5ff55);background:#b5ff5509}.role-card:hover{background:#21312f}.tech-preview{font-size:12px;color:#a0b295;line-height:1.6;margin:13px 0}.nickname-label{display:flex;align-items:center;gap:13px;color:#95abae;font-size:13px;margin-bottom:12px}.nickname-label input{min-width:0;flex:1}.deployment-panel input,.chat-panel input{background:#09151c;color:#e1eded;border:1px solid #2e4248;border-radius:4px;padding:10px 11px;font:14px Arial,sans-serif;height:37px;outline-offset:2px}.deployment-panel .primary-button{width:100%;height:48px;font-size:15px}.online-controls,.connected-controls{display:flex;gap:8px;margin-top:10px}.online-controls>.secondary-button{flex:1.1}.deployment-panel .secondary-button{margin:0;height:38px;font-size:12px;padding:0 10px}.join-controls{display:flex;flex:1.3;gap:5px;min-width:0}.join-controls input{width:100%;min-width:0;text-transform:uppercase;font:12px ui-monospace,Consolas,monospace;padding:8px}.join-controls .secondary-button{width:auto;flex-shrink:0}.room-message{margin:10px 0 0;color:#8ea6ac;font-size:12px;line-height:1.6;min-height:19px}.room-message.error{color:#ffad9d}.stage-caption{position:absolute;top:111px;left:34px;display:flex;flex-direction:column;gap:5px;font:12px ui-monospace,Consolas,monospace;color:#738d89;letter-spacing:1.4px;pointer-events:none;z-index:2}.stage-caption span{font:12px Arial,sans-serif;color:#a2bdb0;letter-spacing:0}.squad-roster{position:absolute;left:25px;bottom:24px;display:flex;gap:10px;z-index:3;pointer-events:none}.squad-chip{width:93px;background:#091119ba;border:1px solid #334347;border-radius:5px;padding:8px 9px;border-top:2px solid var(--crew-color)}.squad-chip.you{background:#1c2b26d9}.squad-chip>div{display:flex;justify-content:space-between;gap:5px;font-size:12px}.squad-chip b{font-size:12px;font-weight:500;color:var(--crew-color);white-space:nowrap}.squad-chip em{font:12px ui-monospace,Consolas,monospace;color:#869b9d;white-space:nowrap}.squad-chip small{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9cacae;margin-top:4px}.squad-chip .crew-bar{display:block;background:#294046;height:3px;margin-top:8px}.squad-chip .crew-bar i{display:block;background:var(--crew-color);height:3px}.squad-chip.downed{opacity:.55;border-color:#ff657b}.ability-button{position:absolute;right:26px;bottom:23px;z-index:3;display:flex;align-items:center;gap:10px;height:48px;border:1px solid #7d9661;border-radius:6px;background:#14251de8;color:#c3f995;padding:0 14px;font-size:13px}.ability-button kbd{color:#c6ff92;border-color:#608149}.ability-button b{font:12px ui-monospace,Consolas,monospace;color:#a7bd9b;margin-left:5px}.ability-button.cooling{border-color:#33464c;color:#799291;background:#112028e8}.network-badge{position:absolute;right:28px;top:112px;font:12px ui-monospace,Consolas,monospace;color:#8baea5;z-index:3;pointer-events:none}.chat-panel{position:absolute;bottom:85px;right:25px;z-index:12;width:310px;height:300px;display:flex;flex-direction:column;border:1px solid #3b514d;background:#0c1720f7;box-shadow:0 15px 60px #0007;border-radius:8px;overflow:hidden}.chat-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:1px solid #2a3d43;color:#b5ff55}.chat-heading b{font:12px ui-monospace,Consolas,monospace;letter-spacing:1.3px}.chat-heading button{background:none;border:0;color:#a3b7bd;font-size:24px;line-height:1}.chat-messages{flex:1;overflow-y:auto;padding:10px 13px;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.chat-message{margin-bottom:9px}.chat-message b{color:#bed2c8;font-size:12px;margin-right:7px;font-weight:500}.chat-message.system{color:#799f91;font-size:12px}.chat-panel form{display:flex;gap:7px;padding:8px 11px 2px}.chat-panel input{min-width:0;flex:1;font-size:14px;height:36px}.chat-panel form button{background:#b5ff55;color:#15260d;width:34px;border:0;border-radius:4px;font-size:21px}.chat-panel>p{margin:6px 12px 10px;color:#809a9f;font-size:12px;line-height:1.3}.arena .shield-status{bottom:87px}.dialog{position:relative}.arena .start-overlay ~ .squad-roster:empty{display:none}.view-cockpit .squad-roster{bottom:70px}.view-cockpit .ability-button{bottom:70px}.view-cockpit .shield-status{bottom:128px}.start-open .squad-roster,.start-open .ability-button,.start-open .stage-caption{visibility:hidden}.start-open .boss-hud{visibility:hidden}.start-open .network-badge{top:auto;bottom:17px}.demo-label{display:none}.help-dialog{max-height:95%}
@media(max-width:1100px){.squad-start{width:90%;gap:4%}.squad-start .start-lead{font-size:16px}.squad-start .start-description{font-size:13px}.squad-start .start-features{gap:10px}.deployment-panel{padding:18px}.squad-roster{gap:6px;left:20px}.squad-chip{width:82px;padding:7px}.ability-button{right:20px;padding:0 10px}.role-card{padding:10px}.role-card i{right:9px;font-size:19px}.role-card b{font-size:14px}.online-controls{gap:5px}}
@media(max-width:760px){.arena{min-height:575px;height:calc(100svh - 234px)}.squad-start{display:block;width:100%;max-width:460px;margin:0 auto;padding:90px 20px 24px;max-height:100%;overflow:auto;text-align:left}.squad-start .intro .kicker,.squad-start .intro h1 sup,.squad-start .intro .start-description,.squad-start .intro .start-features{display:none}.squad-start .intro h1{font-size:29px;line-height:1;letter-spacing:-1.3px;font-style:italic;margin:0 0 7px;text-align:center;width:auto}.squad-start .intro h1 br{display:none}.squad-start .intro h1 span{margin-left:7px}.squad-start .intro .start-lead{text-align:center;font-size:13px;margin-bottom:15px;color:#a1b3b4}.deployment-panel{max-width:none;padding:16px}.selection-label{margin-bottom:12px}.role-card{padding:10px 11px}.role-card b{font-size:14px}.role-card span{font-size:12px}.role-card i{right:11px}.tech-preview{font-size:12px;margin:11px 0;letter-spacing:-.2px}.squad-start .primary-button{width:100%}.room-message{font-size:12px;line-height:1.5}.stage-caption{top:106px;left:20px;font-size:12px;letter-spacing:.7px}.stage-caption span{font-size:12px;max-width:180px}.network-badge{top:107px;right:20px;font-size:12px;max-width:120px;text-align:right}.squad-roster{left:13px;right:13px;bottom:15px;gap:5px}.squad-chip{flex:1;width:0;max-width:95px;padding:6px;border-radius:4px}.squad-chip b,.squad-chip em{font-size:12px}.squad-chip small{font-size:12px;max-width:100%}.squad-chip .crew-bar{margin-top:6px}.squad-chip>div{gap:2px}.squad-chip em{font-size:12px}.ability-button{height:42px;bottom:90px;right:14px;gap:7px;font-size:12px}.ability-button kbd{display:none}.ability-button b{margin-left:1px}.arena .shield-status{bottom:90px;left:16px;transform:none;font-size:12px;padding:8px 10px}.shield-status b{font-size:12px}.chat-panel{bottom:140px;right:13px;width:calc(100% - 26px);max-width:340px;height:275px}.view-cockpit .squad-roster{bottom:65px}.view-cockpit .ability-button{bottom:140px}.view-cockpit .shield-status{bottom:140px}.tools{gap:4px}.tool.icon-only{width:29px}.tool{padding:0 7px;font-size:12px}.tool svg{width:17px}.brand{font-size:16px}.brand-mark{width:25px;height:26px;font-size:20px}.masthead{gap:6px}.tool b{font:12px ui-monospace,Consolas,monospace}.role-card b{margin-top:2px}.nickname-label{font-size:12px}.start-open .hud .combo{display:none}.online-controls>.secondary-button{font-size:12px;padding:0 8px}.join-controls input{font-size:12px}.selection-label>span:last-child{display:none}.squad-start .start-hint{display:none}}
@media(max-width:390px){.brand{font-size:14px;gap:5px}.brand-light{margin-left:2px}.tools{gap:3px}.tool{padding:0 5px}.tool.icon-only{width:27px}.brand-mark{width:23px;height:24px}.arcade{padding:0 8px}.squad-start{padding-left:13px;padding-right:13px}.squad-chip em{display:none}}
.mode-choices,.team-choices{display:flex;gap:6px;margin-bottom:11px}.mode-choices button,.team-choices button{flex:1;border:1px solid #354647;background:#0b1720;color:#8fa4a6;border-radius:4px;height:33px;font:13px Arial,sans-serif}.mode-choices button.selected{border-color:#92bc6a;color:#cbecae;background:#b5ff550b}.team-choices button{height:29px;font:12px ui-monospace,Consolas,monospace}.team-choices button.selected{border-color:#65cfff;color:#8ed5f9}.team-choices button[data-team=b].selected{border-color:#ff798d;color:#ffadba}.gear-caption{display:flex;flex-direction:column;gap:8px;color:#bdab89;font:12px ui-monospace,Consolas,monospace;white-space:nowrap}.squad-start{padding-top:85px}.squad-start .intro .start-description{max-width:340px}.start-overlay{align-items:center}.deployment-panel{margin:auto 0}.arena{min-height:590px}.gear-caption>span{cursor:default}.help-dialog{max-height:calc(100% - 10px)}
@media(max-height:850px) and (min-width:761px){.squad-start{padding-top:83px;padding-bottom:22px;gap:5%;width:90%;margin-top:0}.deployment-panel{padding:17px}.selection-label{margin-bottom:11px}.role-card{padding:9px 11px}.tech-preview{margin:10px 0}.squad-start .intro h1{font-size:71px}.squad-start .intro .start-lead{font-size:17px}.start-overlay{align-items:flex-start}}
@media(max-width:1000px){.gear-caption{display:none}.loadout{gap:15px}}
@media(max-width:760px){.arena{min-height:650px}.start-overlay{align-items:flex-start}.squad-start{padding-top:97px;padding-bottom:20px}.deployment-panel{padding:15px}.mode-choices button{font-size:13px}.team-choices button{height:29px}.squad-start .intro h1{font-size:28px}.squad-start .intro .start-lead{font-size:12px;margin-bottom:12px}.squad-start .intro .start-description{display:none}.gear-caption{display:none}.nickname-label{margin-bottom:10px}.squad-start .role-card{padding:10px}.room-message{min-height:18px}.role-card i{font-size:18px}.selection-label{margin-bottom:10px}}

.arena:not(.start-open){min-height:460px}.arena:not(.start-open) .gear-caption{display:flex}
@media(max-width:760px){.arena:not(.start-open){height:calc(100svh - 234px);min-height:390px}.arena:not(.start-open) .gear-caption{display:none}}

/* Screen-space combat controls and equipment gallery. */
.pickup-legend{position:absolute;left:34px;top:159px;z-index:2;display:flex;flex-wrap:wrap;gap:6px 13px;font-size:11px;pointer-events:none;background:#08121a99;padding:7px 9px;border-radius:4px;max-width:430px}.pickup-legend .loot{color:#49f0c0}.pickup-legend .potion{color:#62c7ff}.pickup-legend .auto{color:#bab5ff}.pickup-legend .bomb{color:#ffcc55}.pickup-legend .tech{color:#65f4ff}.pickup-legend .danger{color:#ff8298}.start-open .pickup-legend,.start-open .fire-button,.start-open .bomb-button{visibility:hidden}
.solo-option{width:100%;height:35px;margin:0 0 9px;border:1px solid #735f31;border-radius:5px;background:#211b11;color:#ffe08a;font-weight:700}.bomb-button{position:absolute;right:26px;bottom:160px;z-index:3;display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;border:1px solid #725f35;border-radius:6px;background:#211b12e8;color:#9b8b69;font-size:12px}.bomb-button i{font-style:normal}.bomb-button.armed{color:#ffe08a;border-color:#ffcc55;box-shadow:0 0 18px #ffb13a38}.bomb-button kbd{border-color:#927b46}.bomb-button:disabled{opacity:.55}@media(max-width:760px){.bomb-button{right:14px;bottom:211px;height:38px}.bomb-button kbd{display:none}.view-cockpit .bomb-button{bottom:241px}}
.field-shop{margin:14px 0;padding:12px;background:#0a161d;border:1px solid #394a43;border-radius:6px}.field-shop header{display:flex;justify-content:space-between;color:#ffd56a;font:12px ui-monospace,monospace}.field-shop header i{font-style:normal;font-size:16px}.field-shop>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0}.field-shop button{padding:8px 5px;background:#17252a;color:#cbd9d8;border:1px solid #3b5052;border-radius:4px;font-size:11px}.field-shop button b{display:block;color:#ffd56a;margin-top:4px}.field-shop small{color:#879b9d;font-size:10px}.danger-action{border-color:#7b3d48!important;color:#ff9baa!important}
.fire-button{position:absolute;bottom:85px;right:26px;z-index:3;min-width:176px;height:66px;display:grid;grid-template-columns:30px 1fr;align-content:center;gap:3px 8px;padding:10px 16px;border:1px solid #86b75c;border-radius:7px;color:#d4ffc0;background:#152c23ee;touch-action:none;user-select:none;box-shadow:inset 0 0 18px #b5ff5508}.fire-button>span{grid-row:1/3;align-self:center;font-size:31px}.fire-button b{font-size:15px;font-weight:650;text-align:left}.fire-button small{font:10px ui-monospace,monospace;color:#99b999;text-align:left;white-space:nowrap}.fire-button small.auto{color:#c2baff}.fire-button.firing{background:#365b26;border-color:#d3ff9e;box-shadow:0 0 20px #b5ff5530}.view-cockpit .fire-button{bottom:129px}
.gear-reveal{--rarity:#a9c4c8;position:absolute;right:26px;top:145px;z-index:3;width:208px;pointer-events:none;background:#0b1723f0;border:1px solid #32464e;border-top:2px solid var(--rarity);border-radius:7px;overflow:hidden;box-shadow:0 12px 35px #0008;animation:gear-arrival .35s ease-out}.reveal-kicker{display:block;padding:11px 11px 7px;font:9px ui-monospace,monospace;letter-spacing:.8px;color:#bfd0d6}.gear-art{position:relative;background:#07101c}.gear-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.gear-art>span{position:absolute;bottom:8px;left:11px;font-size:11px;color:var(--rarity);border:1px solid var(--rarity);background:#08111ce8;padding:3px 7px;border-radius:3px}.gear-reveal h3{font-size:15px;line-height:1.5;color:#e4edf1;margin:11px 12px 5px}.gear-reveal>strong{font:600 13px ui-monospace,monospace;display:block;margin:0 12px;color:var(--rarity)}.gear-reveal>p{font-size:11px;line-height:1.65;margin:8px 12px;color:#b3c6d0}.gear-reveal>small{display:block;color:#71929f;font-size:10px;padding:0 12px 12px}.gear-caption{display:flex;gap:5px;flex-shrink:0}.gear-slot{display:flex;align-items:center;gap:7px;height:34px;padding:0 8px 0 0;background:#08141b;border:1px solid #273c46;border-radius:4px;color:#a9c4c8;font:10px ui-monospace,monospace;text-align:left;overflow:hidden}.gear-slot img{width:34px;height:34px;object-fit:contain;opacity:.4}.gear-slot:disabled{opacity:.65}.gear-slot.equipped{border-color:var(--rarity);color:var(--rarity)}.gear-slot.equipped img{opacity:1}.gear-slot:not(:disabled):hover{background:#193139}.loadout{gap:17px}.gear-slot span{min-width:65px}
@keyframes gear-arrival{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.pass-button{border-color:#605979;color:#d6c5fa;white-space:nowrap}.pass-button>span{font-size:10px;color:#9b8cac}.pass-dialog{max-width:750px;text-align:left;padding:27px;box-shadow:0 20px 80px #0009}.pass-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.pass-heading .kicker{color:#bca1ed;letter-spacing:1.5px;font-size:10px}.pass-heading .tool{flex-shrink:0}.preview-badge{display:inline-block;margin-top:12px;color:#adbbc8;border:1px solid #3a4959;border-radius:4px;padding:5px 8px;font-size:11px}.pass-dialog h2{font-size:32px;line-height:1.3;margin:17px 0 10px}.pass-dialog h2 em{font-style:normal;color:#c5b2fa}.pass-dialog>p{margin-bottom:19px;font-size:13px}.pass-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.pass-benefits article{padding:15px;background:#0b1520;border:1px solid #334250;border-radius:6px}.pass-benefits article>span{font:10px ui-monospace,monospace;color:#9c8daf;letter-spacing:.7px}.pass-benefits h3{font-size:16px;color:#dfdef0;margin:12px 0 8px}.pass-benefits p{font-size:12px;line-height:1.65;margin:0 0 13px}.pass-benefits b{font-size:10px;color:#9480ba;font-weight:500}.pass-track{display:flex;align-items:center;justify-content:space-between;gap:9px;border:1px solid #35404d;border-radius:5px;padding:15px;margin-top:15px;color:#c6b4e1;font-size:11px}.pass-track span{flex-shrink:0}.pass-track small{display:block;margin-top:5px;color:#95a6b5;font-size:11px}.pass-track i{height:1px;flex:1;background:#584571}.paint-preview{display:flex;align-items:center;gap:17px;margin-top:17px;background:#101d28;border:1px solid #344857;border-radius:5px;padding:13px}.paint-preview strong{font-size:13px;color:#cfdce1}.paint-preview small{display:block;margin-top:8px;font-size:11px;color:#96adba;line-height:1.5}.paint-sample{--paint:#b5ff55;width:90px;flex-shrink:0}.paint-sample svg{width:100%;fill:#152c2b;stroke:var(--paint);stroke-width:2;filter:drop-shadow(0 0 8px var(--paint))}.paint-swatches{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.paint-swatches button{background:#09141d;color:#a9bdc9;border:1px solid #445264;padding:5px 9px;border-radius:4px;font-size:11px}.paint-swatches button[aria-pressed=true]{border-color:#c6b4fa;color:#e8dfff;background:#352b4a}.pass-dialog .pass-footnote{font-size:11px;color:#859dab;margin:15px 0 0;line-height:1.7}
@media(max-height:850px) and (min-width:761px){.gear-reveal{width:178px;top:144px}.gear-art img{max-height:155px}.gear-reveal>p{font-size:10px;line-height:1.4}.gear-reveal>small{display:none}.gear-reveal h3{font-size:13px;margin-top:8px}.gear-reveal>strong{font-size:11px}.reveal-kicker{font-size:8px}}
@media(max-width:1100px){.loadout{gap:12px}.gear-caption{display:flex}.weapon{min-width:110px}.shield-loadout{min-width:130px}.pass-button>span{display:none}.gear-reveal{right:20px;width:178px}.fire-button{right:20px;min-width:158px}.pickup-legend{left:20px;max-width:300px;font-size:10px}}
@media(max-width:760px){.masthead{height:auto;min-height:76px;flex-wrap:wrap;padding:12px 0;gap:9px}.tools{width:100%;justify-content:flex-end;gap:5px}.brand{margin-right:auto}.pass-button{margin-right:auto}.pass-button>span{display:inline}.game-shell .loadout{display:flex;flex-wrap:wrap;gap:12px;padding:13px 16px}.loadout .gear-caption{display:flex;flex-direction:row;order:6;width:100%;gap:8px}.gear-slot{flex:1;font-size:11px;height:36px}.gear-slot img{width:36px;height:36px}.loadout .power-track{order:5;flex-basis:100%;margin:0}.loadout .weapon{flex:1}.loadout .shield-loadout{min-width:0}.pickup-legend{top:143px;left:16px;right:16px;max-width:240px;gap:5px 9px;font-size:10px;padding:5px 7px}.fire-button{right:14px;bottom:143px;height:66px;min-width:124px;padding:8px 12px}.fire-button b{font-size:13px}.fire-button small{font-size:8px}.view-cockpit .fire-button{bottom:193px}.gear-reveal{right:13px;top:186px;width:143px}.gear-art img{max-height:124px}.reveal-kicker{font-size:7px;padding:7px}.gear-reveal h3{font-size:12px;margin:7px 8px 4px}.gear-reveal>strong{font-size:10px;margin:0 8px}.gear-reveal>p{font-size:10px;line-height:1.4;margin:6px 8px 8px}.gear-reveal>small{display:none}.gear-art>span{font-size:10px;bottom:5px;left:7px}.arena:not(.start-open){min-height:510px}.arena .shield-status{bottom:91px}.pass-dialog{padding:18px}.pass-dialog h2{font-size:25px}.pass-benefits{grid-template-columns:1fr;gap:7px}.pass-benefits article{padding:11px 13px}.pass-benefits h3{margin:5px 0;font-size:14px}.pass-benefits p{margin:0 0 5px}.pass-track{padding:11px;gap:6px}.pass-track small{font-size:10px}.paint-preview{gap:10px;padding:10px}.paint-sample{width:54px}.paint-preview strong{font-size:12px}.pass-heading .kicker{font-size:9px;letter-spacing:.5px}}
@media(max-width:760px) and (max-height:780px){.gear-reveal{top:189px;display:grid;grid-template-columns:76px 1fr;align-content:start;width:min(270px,calc(100% - 26px));min-height:100px}.gear-reveal .reveal-kicker{grid-column:1/-1;font-size:8px;padding-bottom:3px}.gear-art{grid-column:1;grid-row:2/5}.gear-art img{height:86px;object-fit:contain}.gear-art>span{font-size:9px;padding:1px 4px}.gear-reveal h3{grid-column:2;margin:6px 7px 3px;font-size:12px}.gear-reveal>strong{grid-column:2;font-size:10px;margin:0 7px}.gear-reveal>p{grid-column:2;font-size:9px;margin:5px 7px 7px;line-height:1.35}}
@media(prefers-reduced-motion:reduce){.gear-reveal{animation:none}}
.lineup-heading{display:flex;justify-content:space-between;gap:10px;color:#8ba2ab;font-size:11px;margin:13px 0 9px}.lineup-heading b{color:#c6e9a8;font-weight:500}.slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.slot-card{--role-color:#b5ff55;padding:10px;border:1px solid #34454e;border-radius:6px;background:#0d1b24;min-width:0}.slot-card.selected{border-color:var(--role-color);background:#172922}.slot-card>label{display:block;font:10px ui-monospace,monospace;letter-spacing:1px;color:var(--role-color);margin-bottom:7px}.slot-card select{width:100%;font:13px Arial,sans-serif;color:#d5e1e8;background:#101e28;border:1px solid #3d535e;border-radius:4px;height:33px;padding:0 6px;cursor:pointer}.slot-detail{display:block;font-size:10px;color:#8ba5ac;margin:7px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.slot-card button{width:100%;font-size:10px;height:26px;color:#95adb4;background:#162730;border:1px solid #364b54;border-radius:4px}.slot-card button.selected{color:var(--role-color);border-color:var(--role-color);background:#19322a}.slot-card.empty{background:#0b151d;border-style:dashed}.slot-card.empty>label{color:#617880}.lineup-note{font-size:10px;line-height:1.5;color:#92aaa5;margin:10px 0}.deployment-panel select:focus-visible{outline:2px solid #b5ff55;outline-offset:2px}.squad-start{padding-top:99px}.selection-label{margin-bottom:12px}
@media(max-width:760px){.slot-card{padding:9px}.slot-card select{font-size:12px}.squad-start{padding-top:97px}.slot-grid{gap:7px}.lineup-heading{margin-top:10px}.slot-card>label{font-size:10px}}
.boss-hud{width:min(350px,48%)}.boss-hud>small{display:block;color:#c99b90;font:10px ui-monospace,monospace;margin-top:5px}.boss-hud>div{height:6px;background:repeating-linear-gradient(90deg,#5c343555 0 24px,#07121d 24px 27px)}.boss-hud i{background:repeating-linear-gradient(90deg,#ff7959 0 24px,#ffbc75 24px 25px,transparent 25px 27px)}
@media(max-width:760px){.boss-hud{top:183px;width:calc(100% - 32px);max-width:350px}.gear-reveal{top:225px}.boss-hud>span{font-size:10px}.boss-hud b{font-size:10px}.boss-hud>div{margin-top:5px}}
@media(max-width:760px){.gear-reveal{left:13px;right:auto;width:143px}.squad-roster{max-width:405px}.fire-button{min-width:124px}}
@media(max-width:760px) and (max-height:780px){.gear-reveal{width:min(250px,calc(100% - 164px));grid-template-columns:65px 1fr}.gear-reveal .gear-art img{height:78px}.gear-reveal h3{font-size:11px}.gear-reveal>strong{font-size:9px}.gear-reveal>p{font-size:9px}}
.squad-chip{position:relative;overflow:hidden;transition:filter .2s,background .2s,border-color .2s}.squad-chip .out-stamp{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:repeating-linear-gradient(-45deg,#220b12e8 0 8px,#3c0d1be8 8px 16px);color:#ff667d;font:900 20px ui-monospace,monospace;letter-spacing:3px;text-shadow:0 0 12px #ff3155;animation:out-alert .8s steps(2,end) infinite}.squad-chip.downed{opacity:1;border-color:#ff657b;filter:saturate(.25)}.squad-chip.downed .out-stamp{display:flex}.squad-chip.empty{opacity:.42;border-style:dashed;filter:grayscale(1)}.squad-chip.empty .out-stamp{display:none}@keyframes out-alert{50%{background-color:#5d0f20;color:#fff}}@media(prefers-reduced-motion:reduce){.squad-chip .out-stamp{animation:none}}

/* Consistent image vocabulary: one atlas cell for every craft, skill and item. */
.asset-art{display:block;aspect-ratio:1;background-color:#07101c;background-repeat:no-repeat;flex-shrink:0;overflow:hidden}
.squad-start{align-items:start;padding-top:88px;gap:5%;margin-top:0}
.squad-start .intro h1{font-size:clamp(45px,4.5vw,64px);line-height:.95;margin:12px 0 16px}
.squad-start .intro .start-lead{font-size:16px;margin-bottom:0}
.role-hero{--role-color:#b5ff55;margin:10px 0;text-align:left}
.role-hero>#role-hero-art{width:min(230px,65%);margin:0 auto 5px;background-color:transparent;filter:drop-shadow(0 8px 18px #0008)}
.role-hero .kicker{color:var(--role-color);font-size:12px;letter-spacing:2px}
.role-hero h2{font-size:18px;line-height:1.5;margin:7px 0;color:#e1eeea}
.role-hero p{font-size:14px;color:#8fa7ab;line-height:1.6;margin:4px 0 10px}
.role-hero .secondary-button{font-size:14px;height:40px;max-width:320px;width:100%}
.deployment-panel{max-width:500px;padding:18px}
.slot-card{display:grid;grid-template-columns:50px minmax(0,1fr);gap:0 8px;padding:9px}
.slot-portrait{grid-column:1;grid-row:1/3;width:50px;align-self:center;background-color:transparent}
.slot-card>label{grid-column:2;margin:0 0 5px;font-size:12px}
.slot-card select{grid-column:2;font-size:14px;min-width:0}
.slot-card .slot-detail{grid-column:1/-1;font-size:12px;white-space:normal;line-height:1.5;margin:6px 0;min-height:18px}
.slot-card button{grid-column:1/-1;font-size:12px;height:30px}
.slot-card.empty{grid-template-columns:1fr}.slot-card.empty>label,.slot-card.empty select{grid-column:1}
.lineup-heading,.lineup-note,.room-message{font-size:12px}
.tech-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:17px 0 10px}
.tech-mini{display:flex;flex-direction:column;gap:5px;padding:6px;color:#b0c5ca;background:#0b1820;border:1px solid #31444d;border-radius:5px;text-align:left;min-width:0}
.tech-mini .asset-art{width:100%;border-radius:3px}.tech-mini small{font:12px ui-monospace,monospace;color:#9baea5}.tech-mini b{font-size:12px;line-height:1.4;font-weight:500;word-break:keep-all}.tech-mini:hover{border-color:#b5ff55}
.weapon-art{width:54px;height:54px;border:1px solid #516961;border-radius:5px;padding:0}
.fire-button>span.asset-art{width:38px;height:38px;font-size:0;border-radius:4px;grid-row:1/3;align-self:center}.fire-button{grid-template-columns:38px 1fr}
.ability-button>.asset-art,.bomb-button>.asset-art{width:34px;height:34px;border-radius:4px}.ability-button,.bomb-button{padding-left:6px}
.pickup-legend [data-item]{display:inline-flex;align-items:center;gap:4px}.pickup-legend .asset-art{width:23px;border-radius:3px}.pickup-legend{font-size:12px;max-width:495px;gap:5px 9px}
.field-shop button .asset-art{width:58px;margin:0 auto 6px;border-radius:4px}.field-shop button{font-size:14px;line-height:1.5}.field-shop small{font-size:12px;line-height:1.5}
.gear-art{aspect-ratio:1;overflow:hidden;position:relative}.gear-art img{max-height:none}.gear-reveal h3{font-size:15px}.gear-reveal>p{font-size:12px;line-height:1.5}.gear-reveal>strong{font-size:12px}.reveal-kicker{font-size:10px}
.squad-chip .crew-portrait{width:34px;float:left;margin:0 6px 4px 0;background-color:transparent}.squad-chip>div{display:block}.squad-chip b{display:block;font-size:12px}.squad-chip em{font-size:10px}.squad-chip{width:110px;padding:7px}
.honor-rail{position:absolute;left:26px;top:207px;display:flex;gap:3px;z-index:3;padding:3px 5px;border:1px solid #697757;border-radius:5px;background:#0b151dde}
.honor-rail .asset-art{width:34px;background-color:transparent}.start-open .honor-rail{visibility:hidden}
.field-feed{position:absolute;left:26px;top:258px;width:245px;z-index:3;display:flex;align-items:flex-start;gap:10px;background:#091720ed;border:1px solid #3c5261;border-left:3px solid #8cc9ff;border-radius:5px;padding:11px;pointer-events:none;box-shadow:0 12px 28px #0005}
.field-feed>#feed-art{width:48px;border-radius:4px}.field-feed>div{min-width:0}.field-feed small{display:block;font:11px ui-monospace,monospace;color:#8facbd;line-height:1.6}.field-feed strong{display:block;font-size:14px;color:#d7e9f2;line-height:1.5;margin:3px 0}.field-feed p{font-size:13px;line-height:1.65;color:#b0c6cd;margin:4px 0 0;word-break:keep-all}.field-feed.badge-message{border-color:#8d824b;border-left-color:#ffdc83}.field-feed.badge-message strong{color:#ffe6a4}
.codex-dialog{width:min(920px,96%);max-width:920px;text-align:left;max-height:94%;padding:24px;overflow-y:auto}.codex-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.codex-heading h2{font-size:24px;line-height:1.4;margin:8px 0 17px}.codex-heading .tool{flex-shrink:0}.codex-nav{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.codex-nav button{font-size:14px;line-height:1.5;padding:8px 12px;background:#0a1720;border:1px solid #3b505b;color:#a9c0c7;border-radius:5px}.codex-nav button[aria-pressed=true]{color:#d5ffb0;border-color:#a5db69;background:#1b3026}
.codex-role{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:center;border-bottom:1px solid #304149;padding-bottom:20px;margin-bottom:20px}.codex-role>.asset-art{width:100%;background-color:transparent}.codex-role small{color:var(--role-color);letter-spacing:2px;font-size:12px}.codex-role h3{font-size:26px;color:#edf4f2;margin:8px 0}.codex-role p{font-size:16px;line-height:1.8;margin:0 0 10px;color:#a6bec6}.codex-role strong{font-size:14px;color:var(--role-color);font-weight:500}
.codex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.codex-card{border:1px solid #2f444f;border-radius:7px;background:#0b1721;padding:14px;min-width:0;overflow:hidden}.codex-card>.asset-art{width:100%;max-width:210px;margin:0 auto 14px;border-radius:5px}.codex-card small{font:12px ui-monospace,monospace;color:#8da7b3;line-height:1.5}.codex-card h3{font-size:18px;line-height:1.5;margin:7px 0;color:#e0eeef}.codex-card p{font-size:14px;line-height:1.75;margin:0;color:#9eb6c1}.codex-card>.tech-unlocked{display:block;font-size:13px;color:#b5ff55;margin-top:10px}.codex-card>.tech-locked{display:block;font-size:13px;color:#8fa1b0;margin-top:10px}.codex-note{font-size:14px!important;color:#9eb6c1!important;line-height:1.8;margin:10px 0 20px!important}.codex-body>.codex-card{margin-top:15px}.codex-card.badge-earned{border-color:#9e9157;background:#1c211e}.codex-card progress{display:block;width:100%;height:6px;accent-color:#b5ff55;margin-top:16px}.badge-progress{display:block;color:#b8c9ae;font:12px ui-monospace,monospace;margin-top:7px}
.run-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.run-stats>div{background:#0a1820;border:1px solid #314650;border-radius:5px;padding:13px}.run-stats small{display:block;color:#95afb8;font-size:13px}.run-stats b{display:block;color:#d7f2dd;font:700 24px ui-monospace,monospace;margin-top:8px}
.pass-benefits article>.asset-art{width:100%;max-width:125px;margin:0 auto 12px}.pass-track>span>.asset-art{width:45px;margin-bottom:6px}.paint-sample>.asset-art{width:100%;background-color:transparent;filter:drop-shadow(0 0 5px var(--paint))}.paint-swatches button{font-size:13px}
@media(min-width:1101px){.gear-reveal{top:207px}}
@media(max-height:850px) and (min-width:761px){.squad-start{padding-top:82px}.role-hero>#role-hero-art{width:175px}.squad-start .intro h1{font-size:48px}.tech-preview{margin-top:10px}.tech-mini .asset-art{max-width:65px;margin:auto}.role-hero h2{font-size:16px}.gear-reveal{width:174px;top:211px}.gear-art{max-height:160px}.squad-chip{width:103px}}
@media(max-width:1100px){.squad-roster{gap:6px}.squad-chip{width:101px}.field-feed{left:20px;max-width:230px}.honor-rail{left:20px}.pickup-legend{max-width:400px}.codex-dialog{padding:20px}.weapon-art{width:44px;height:44px}}
@media(max-width:760px){
  .tools #codex-button{display:flex;font-size:12px;order:-1;margin-right:auto}.pass-button{margin-right:0}.squad-start{display:block;width:92%;padding-top:88px;text-align:left;margin:0 auto}.squad-start .intro h1,.squad-start .intro>.kicker,.squad-start .intro>.start-lead{display:none}.role-hero{display:grid;grid-template-columns:88px minmax(0,1fr);gap:0 10px;align-items:center;margin:0 0 13px}.role-hero>#role-hero-art{grid-column:1;grid-row:1/4;width:88px;margin:0}.role-hero .kicker{grid-column:2;font-size:12px;margin:0}.role-hero h2{grid-column:2;font-size:14px;margin:4px 0;word-break:keep-all}.role-hero p{grid-column:2;font-size:12px;margin:0}.role-hero .secondary-button{grid-column:1/-1;margin-top:9px;height:34px;font-size:13px;max-width:none}.intro .tech-preview{display:none}.deployment-panel{width:100%;max-width:none;margin:0;padding:12px}.slot-card{grid-template-columns:40px minmax(0,1fr);gap:0 5px;padding:7px}.slot-portrait{width:40px}.slot-card>label{font-size:12px}.slot-card select{font-size:13px;padding-left:3px}.slot-card .slot-detail{font-size:12px}.lineup-heading{font-size:12px}.squad-start .primary-button{width:100%}.slot-card button{font-size:12px}.arena .squad-roster{left:12px;right:12px;gap:5px;max-width:calc(100% - 24px)}.squad-chip{width:calc((100% - 15px)/4);min-width:0;padding:5px}.squad-chip .crew-portrait{width:26px;float:none;margin:0 0 3px}.squad-chip b{font-size:11px;white-space:normal;line-height:1.3}.squad-chip em{font-size:10px}.squad-chip small{font-size:10px}.squad-chip .crew-bar{margin-top:5px}.squad-roster{bottom:10px}.ability-button{bottom:110px;right:14px;gap:5px;font-size:12px;padding-right:8px;height:42px}.ability-button kbd{display:none}.ability-button b{font-size:11px;margin-left:0}.ability-button>.asset-art,.bomb-button>.asset-art{width:29px;height:29px}.bomb-button{bottom:227px;gap:5px;font-size:12px}.fire-button{bottom:157px;grid-template-columns:31px 1fr;gap:2px 5px;min-width:132px}.fire-button>span.asset-art{width:31px;height:31px}.arena .shield-status{bottom:117px;left:16px;transform:none;padding:6px 9px;font-size:11px}.pickup-legend{left:14px;right:14px;top:143px;max-width:calc(100% - 28px);font-size:11px;gap:4px 7px}.pickup-legend .asset-art{width:20px}.honor-rail{left:14px;top:207px}.honor-rail .asset-art{width:28px}.field-feed{left:14px;top:247px;width:min(230px,calc(100% - 164px));padding:7px;display:block}.field-feed>#feed-art{width:33px;float:left;margin:0 6px 3px 0}.field-feed small{font-size:10px}.field-feed strong{font-size:12px}.field-feed p{font-size:12px;line-height:1.5;clear:both}.gear-reveal{top:247px;left:14px;width:min(230px,calc(100% - 164px));z-index:4}.gear-reveal .gear-art{width:100%;height:auto;max-height:none;aspect-ratio:1;grid-row:auto;grid-column:auto}.gear-reveal .gear-art img{max-height:none}.gear-reveal .reveal-kicker{font-size:9px}.gear-reveal h3{font-size:12px}.gear-reveal>p{font-size:12px;line-height:1.45}.gear-reveal>strong{font-size:11px}.gear-reveal:not([hidden])~.field-feed{visibility:hidden}.gear-reveal:not([hidden])~.honor-rail{visibility:hidden}.game-shell .loadout{gap:9px}.weapon-art{width:44px;height:44px}.loadout .weapon{min-width:80px}.loadout .weapon>strong{font-size:13px}.loadout .level-badge{width:36px}.codex-dialog{width:100%;padding:15px;max-height:96%}.codex-heading h2{font-size:20px}.codex-nav{gap:6px;margin-bottom:15px}.codex-nav button{font-size:13px;padding:7px 9px}.codex-role{grid-template-columns:90px minmax(0,1fr);gap:14px}.codex-role h3{font-size:20px}.codex-role p{font-size:14px;line-height:1.7}.codex-role strong{font-size:13px}.codex-grid{gap:9px}.codex-card{padding:10px}.codex-card h3{font-size:15px}.codex-card p{font-size:13px;line-height:1.65}.codex-card small{font-size:11px}.codex-card>.asset-art{max-width:150px}.run-stats{gap:7px}.run-stats>div{padding:9px}.run-stats small{font-size:12px}.run-stats b{font-size:20px}.view-cockpit .ability-button{bottom:112px}.view-cockpit .bomb-button{bottom:233px}.view-cockpit .fire-button{bottom:159px}.view-cockpit .squad-roster{bottom:12px}.view-cockpit .shield-status{bottom:115px}
}
@media(max-width:420px){.codex-grid{grid-template-columns:1fr}.codex-card>.asset-art{max-width:180px}.codex-role{grid-template-columns:1fr}.codex-role>.asset-art{width:150px;margin:auto}.codex-role p{font-size:15px}.run-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.field-feed p{font-size:12px}.pickup-legend{gap:3px 5px}.pickup-legend .danger{display:none}}

/* Research weapons, matter affinities and a north-up reconnaissance display. */
.switch-weapon{display:block;margin-top:6px;padding:4px 7px;border:1px solid #47605f;border-radius:4px;background:#14262c;color:#c5ddb9;font-size:11px;cursor:pointer}
.equip-weapon{display:block;width:100%;min-height:40px;margin-top:14px;padding:8px;border:1px solid #91b967;background:#1a3227;color:#d2f9ac;border-radius:4px;font-size:14px;cursor:pointer}
.equip-weapon:disabled{cursor:default;background:#16252e;color:#819ba8;border-color:#314550}
.codex-section-title{font-size:20px;margin:25px 0 15px;color:#e1eded}
.matter-lineup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.matter-lineup article{text-align:center;padding:12px;background:#091720;border:1px solid #344853;border-radius:5px;min-width:0}
.matter-lineup .asset-art{width:100%;max-width:150px;margin:0 auto 8px;background-color:transparent}
.matter-lineup b,.matter-lineup small{display:block;line-height:1.6}.matter-lineup b{font-size:15px;color:#dce8eb}.matter-lineup small{font-size:12px;color:#94adb8}
.affinity-table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}.affinity-table th,.affinity-table td{padding:12px 9px;border-bottom:1px solid #314550;text-align:center}.affinity-table th{font-weight:500;color:#b7cbd1}.affinity-table thead{background:#12232d}.affinity-table td{font-family:ui-monospace,monospace;color:#c5d2d8}.affinity-table .effective{color:#b5ff55}.affinity-table .resisted{color:#ed9b88}
.crew-grid .codex-card>.asset-art{max-width:180px}.crew-grid .codex-card>small:last-child{display:block;margin-top:12px;color:#849ea9;line-height:1.6}
.location-map{position:absolute;top:105px;right:25px;width:190px;z-index:3;padding:9px;border:1px solid #3d5c65;border-radius:6px;background:#07131bed;box-shadow:0 8px 24px #0004;overflow:hidden}
.location-map header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;align-items:center;margin-bottom:6px;font:10px ui-monospace,monospace;color:#92bac8}.location-map header b{font-weight:500;letter-spacing:1.5px;color:#bbd4ce}.location-map header span{font-size:10px;white-space:nowrap}
.location-map #radar-map{display:block;position:static;width:100%;height:auto;aspect-ratio:180/146;border-radius:3px;touch-action:auto}
.location-map>small{display:block;font-size:10px;color:#a2bfcb;line-height:1.5;min-height:30px;margin:6px 0;word-break:keep-all}
.location-map>button{width:100%;min-height:30px;font-size:11px;padding:4px 2px;border:1px solid #699896;color:#c8efd0;background:#133031;border-radius:4px;cursor:pointer}.location-map>button:disabled{cursor:default;color:#79949f;border-color:#31434c;background:#0d2029}
.target-affinity{position:absolute;left:26px;top:180px;max-width:calc(100% - 270px);z-index:2;font-size:11px;line-height:1.6;color:#b0c7ce;text-shadow:0 1px 3px #000}.start-open .target-affinity{display:none}
.honor-rail b{font:11px ui-monospace,monospace;color:#e0dfb2;align-self:center;padding:0 4px}
.gear-reveal{left:26px;right:auto;top:258px;width:260px;display:grid;grid-template-columns:82px minmax(0,1fr);padding:0 7px 7px;z-index:4}
.gear-reveal .reveal-kicker{grid-column:1/-1;padding:8px 3px 4px}.gear-reveal .gear-art{grid-column:1;grid-row:2/5;width:82px;height:82px;align-self:center}.gear-reveal h3,.gear-reveal>strong,.gear-reveal>p{grid-column:2;margin:4px 5px;font-size:12px}.gear-reveal>p{font-size:11px;line-height:1.5}.gear-reveal>small{display:none}.gear-art>span{font-size:9px;left:2px;bottom:2px;padding:2px 4px}
.gear-reveal:not([hidden])~.field-feed{visibility:hidden}.gear-reveal:not([hidden])~.field-feed.badge-message{visibility:visible;z-index:5}
@media(max-width:1100px) and (min-width:761px){.location-map{right:20px;width:165px}.target-affinity{left:20px;max-width:calc(100% - 225px)}.gear-reveal{left:20px}.pickup-legend{max-width:calc(100% - 230px)}}
@media(max-width:760px){
  .arena:not(.start-open){min-height:640px}.location-map{top:104px;right:13px;width:136px;padding:7px}.location-map header{font-size:9px;gap:3px;margin-bottom:4px}.location-map header span{font-size:9px}.location-map>small{font-size:10px;margin:4px 0;min-height:30px}.location-map>button{font-size:10px;min-height:30px}
  .pickup-legend{left:13px;right:auto;top:143px;max-width:calc(100% - 178px);font-size:10px;gap:3px 6px}.pickup-legend .asset-art{width:18px}.pickup-legend .danger{display:none}
  .target-affinity{left:14px;top:223px;max-width:calc(100% - 170px);font-size:10px;line-height:1.6}.honor-rail{top:261px;left:14px}.honor-rail .asset-art{width:24px}.honor-rail b{font-size:10px;padding:0 2px}
  .field-feed{top:300px;left:14px;width:calc(100% - 178px);max-width:235px}.field-feed p{font-size:12px}.field-feed.badge-message{z-index:5}
  .gear-reveal{top:300px;left:14px;width:calc(100% - 178px);max-width:235px;grid-template-columns:52px minmax(0,1fr);padding:0 4px 5px}.gear-reveal .gear-art{width:52px;height:52px;grid-column:1;grid-row:2/5;max-height:52px}.gear-reveal .reveal-kicker{font-size:8px;padding:6px 2px 2px}.gear-reveal h3{font-size:11px;margin:4px}.gear-reveal>strong{font-size:10px;margin:3px 4px}.gear-reveal>p{font-size:10px;line-height:1.4;margin:3px 4px}.gear-art>span{font-size:7px}
  .boss-hud{top:76px;left:14px;right:14px;transform:none;width:calc(100% - 28px);max-width:none}.boss-hud>span{font-size:10px}.boss-hud>small{display:none}.boss-hud>div{height:4px;margin-top:3px}
  .affinity-table{font-size:12px}.affinity-table th,.affinity-table td{padding:10px 4px}.matter-lineup{gap:7px}.matter-lineup article{padding:6px}.matter-lineup b{font-size:13px}.matter-lineup small{font-size:11px}.codex-section-title{font-size:18px}.switch-weapon{font-size:10px;margin-top:3px;padding:3px 5px}
}

@media(max-width:760px){.masthead{position:sticky;top:0;z-index:20;background:#080e13;box-shadow:0 5px 14px #0005}.arena{scroll-margin-top:calc(var(--toolbar-height,100px) + 8px)}}

@media(max-width:760px){.stage-caption{top:127px;left:14px;font-size:0;gap:0}.stage-caption span{font-size:10px;max-width:calc(100vw - 205px)}.ability-button,.view-cockpit .ability-button{bottom:128px}.fire-button,.view-cockpit .fire-button{bottom:175px}.bomb-button,.view-cockpit .bomb-button{bottom:245px}.arena .shield-status,.view-cockpit .shield-status{bottom:137px}}

@media(min-width:761px){.stage-caption{top:142px;left:26px;flex-direction:row;gap:8px;font-size:11px;line-height:16px}.stage-caption span{font-size:11px}.pickup-legend{top:166px}.target-affinity{top:211px}.honor-rail{top:240px}.field-feed,.gear-reveal{top:290px}}
@media(max-width:760px){.hud .combo{display:none}}

/* Tilt controls use the same flight-console palette as the game. */
.role-hero .role-playstyle{padding:9px 11px;border-left:2px solid var(--role-color);background:#12212a;color:#b3cad1;word-break:keep-all}.role-hero .role-playstyle{grid-column:1/-1;margin-top:9px;font-size:13px}
#tilt-button{display:none}#tilt-button.tilt-on{color:#b5ff55;border-color:#83bd50;background:#183326}
.tilt-dialog{width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:24px;color:#d9e8ed;background:#0c1923;border:1px solid #4a6769;border-radius:10px;overflow:auto;box-shadow:0 18px 70px #0009;text-align:left}
.tilt-dialog::backdrop{background:#02070ddd;backdrop-filter:blur(5px)}
.tilt-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tilt-heading h2{font-size:25px;margin:8px 0 14px}.tilt-heading>.tool{font-size:24px;min-width:42px;height:42px}
.tilt-dialog>p{font-size:15px;line-height:1.7;color:#a5bdc7;margin:0 0 16px}.tilt-preview{display:flex;gap:18px;align-items:center;margin:18px 0}.tilt-preview strong{font-size:15px;color:#dceecb}.tilt-preview p{font-size:13px;line-height:1.7;color:#91aeb8;margin:7px 0 0}
.tilt-meter{position:relative;width:94px;height:94px;flex-shrink:0;border-radius:50%;border:1px solid #587366;background:linear-gradient(90deg,transparent calc(50% - .5px),#415d50 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#415d50 50%,transparent calc(50% + .5px)),#07151a}.tilt-meter>span{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#b5ff55;box-shadow:0 0 12px #a7ff5466;transform:translate(calc(-50% + var(--tilt-x,0px)),calc(-50% + var(--tilt-y,0px)))}
.tilt-dialog>.tilt-status{min-height:58px;padding:10px 12px;border-radius:5px;background:#142733;font-size:14px;line-height:1.65;color:#b6d1dc}.tilt-status[data-state=active]{border-left:3px solid #b5ff55}.tilt-dialog>.primary-button,.tilt-dialog>.secondary-button{width:100%;min-height:44px;margin:9px 0;font-size:14px;text-align:center;justify-content:center}.tilt-dialog button:disabled{opacity:.45;cursor:default}.tilt-sensitivity-label{display:flex;justify-content:space-between;font-size:14px;margin-top:20px;color:#dcebcf}.tilt-sensitivity-label output{font-family:ui-monospace,monospace;color:#b5ff55}.tilt-dialog input[type=range]{width:100%;height:32px;margin:6px 0;accent-color:#b5ff55;touch-action:pan-y}.tilt-range-labels{display:flex;justify-content:space-between;color:#8fa9b4;font-size:12px}.tilt-dialog>.tilt-help{font-size:13px;line-height:1.7;margin:18px 0 0}.tilt-dialog a.secondary-button{display:flex;align-items:center;text-decoration:none;color:#d3ecbf}.tilt-dialog :focus-visible{outline:2px solid #b5ff55;outline-offset:3px}
@media(any-pointer:coarse),(max-width:1000px){#tilt-button{display:flex}}
@media(max-width:760px){.tilt-dialog{padding:19px}.tilt-heading h2{font-size:23px}.tools #tilt-button{font-size:12px;padding:0 9px;order:-2}.tools #codex-button{margin-right:0}.tools{row-gap:6px}.tilt-preview{gap:14px}}

/* Friend invitations and live equipment switching. */
.invite-dialog{width:min(470px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;padding:24px;border:1px solid #537565;border-radius:14px;background:#0d1920;color:#e9f6ed;box-shadow:0 20px 90px #0009}.invite-dialog::backdrop{background:#020910c9;backdrop-filter:blur(5px)}.invite-dialog header,.weapon-picker header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.invite-dialog h2,.weapon-picker h2{margin:7px 0 14px;font-size:23px}.invite-dialog header .tool,.weapon-picker header .tool{flex-shrink:0}.invite-dialog label{display:block;font-size:13px;margin:16px 0 7px;color:#d5e9da}.invite-dialog input,.invite-dialog select,.invite-dialog textarea{width:100%;min-width:0;padding:12px;background:#071216;border:1px solid #3e5c5e;border-radius:6px;color:#edf7ed;font:inherit;font-size:16px}.invite-dialog textarea{font-size:13px;line-height:1.65;resize:vertical}.invite-dialog input[aria-invalid=true]{border-color:#ff657b}.invite-dialog .primary-button{width:100%;text-decoration:none;justify-content:center;margin:13px 0}.invite-dialog [aria-disabled=true]{opacity:.45;cursor:default}.invite-dialog .secondary-button{margin-top:8px}.invite-room{padding:12px;background:#173026;border:1px solid #355341;border-radius:5px;font-size:13px;color:#c8f6ad}.invite-help{font-size:12px;line-height:1.75;color:#94acb0}.invite-status{font-size:13px;line-height:1.8;color:#c4e6de;min-height:24px}.invite-actions{display:flex;gap:8px;flex-wrap:wrap}.invite-actions button{flex:1;white-space:nowrap;font-size:12px}.weapon-picker{position:fixed;z-index:38;right:max(18px,env(safe-area-inset-right));bottom:18px;width:min(350px,calc(100vw - 32px));max-height:min(580px,calc(100dvh - var(--toolbar-height,100px) - 24px));overflow:auto;padding:16px;background:#0c1b20f5;border:1px solid #7a9c66;border-radius:12px;box-shadow:0 12px 46px #000a}.weapon-picker>p{font-size:12px;line-height:1.7;color:#b9d7c8;margin:0 0 12px}.weapon-picker h2{font-size:20px;margin-bottom:8px}.weapon-picker-list{display:grid;gap:6px}.weapon-option{display:flex;align-items:center;text-align:left;gap:12px;min-height:59px;padding:7px;border:1px solid #314951;border-radius:6px;background:#10232a;color:#e5eee8}.weapon-option>.asset-art{flex:none;width:46px;height:46px;border-radius:5px}.weapon-option strong,.weapon-option small{display:block}.weapon-option strong{font-size:13px}.weapon-option small{font-size:11px;color:#a8bdc1;margin-top:5px}.weapon-option[aria-pressed=true]{border-color:#9bcc73;background:#1a3224;opacity:1}.weapon-option:disabled{opacity:.55}.weapon-option[aria-pressed=true]:disabled{opacity:1}.weapon-picker[hidden],.invite-dialog [hidden],#friend-invite-button[hidden]{display:none!important}
@media(max-width:760px){.weapon-picker{width:min(300px,calc(100vw - 24px));right:12px;bottom:12px;max-height:48dvh;padding:12px}.invite-dialog{padding:18px}.invite-dialog h2{font-size:21px}.tools #friend-invite-button{font-size:12px;order:-3}}

/* Once deployed, keep the viewport dedicated to combat. */
.combat-mode{overflow:hidden}.combat-mode .arcade{width:100%;max-width:none;height:100dvh;min-height:0;padding:0;display:flex;flex-direction:column}.combat-mode .masthead{flex:none;margin:0;padding:8px 16px;min-height:48px;height:auto;gap:12px}.combat-mode .brand{font-size:18px}.combat-mode .brand-mark{width:26px;height:26px;font-size:20px}.combat-mode .build-version,.combat-mode .edition,.combat-mode #codex-button,.combat-mode #pass-button,.combat-mode #help-button,.combat-mode .footer,.combat-mode .mobile-hint{display:none!important}.combat-mode .game-shell{flex:1;min-height:0;width:100%;margin:0;border:0;border-radius:0;display:flex;flex-direction:column}.combat-mode .arena{flex:1;height:auto!important;min-height:0!important;max-height:none!important;border-radius:0}.combat-mode .loadout{flex:none;min-height:0;padding:9px 18px;gap:12px}.combat-mode #honor-rail{pointer-events:none;opacity:1}.combat-mode .tools{width:auto;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.combat-mode #fullscreen-button{font-size:12px}.combat-mode #fullscreen-button[hidden]{display:none!important}
@media(max-width:760px){.combat-mode .masthead{padding:6px 10px;gap:5px}.combat-mode .brand{font-size:14px;gap:5px}.combat-mode .brand-mark{width:22px;height:22px;font-size:17px}.combat-mode .tools{gap:4px;row-gap:4px}.combat-mode .tools .tool{font-size:11px;height:30px;padding:0 6px}.combat-mode .tools .icon-only{width:28px}.combat-mode .loadout{padding:7px 10px;gap:7px}.combat-mode .loadout .gear-caption,.combat-mode .loadout .shield-loadout,.combat-mode .loadout .weapon-stat{display:none}.combat-mode .weapon-art{width:37px;height:37px}.combat-mode .weapon{min-width:0}.combat-mode .weapon-name,.combat-mode #weapon-name{font-size:12px}.combat-mode .power-track{min-width:80px}.combat-mode .tools #friend-invite-button{order:0}}

/* A tall lobby starts at its top edge; one scroll container keeps the title reachable. */
.arena .start-overlay{align-items:flex-start;overscroll-behavior:contain}
.start-overlay .squad-start{max-height:none;overflow:visible}
.bot-command-panel{position:absolute;left:25px;bottom:104px;z-index:3;max-width:380px;display:flex;flex-wrap:wrap;gap:5px;padding:8px;border:1px solid #39564f;border-radius:6px;background:#081820ed}
.bot-command-panel button{min-height:32px;padding:5px 9px;border:1px solid #48645d;border-radius:4px;background:#152822;color:#cce2d6;font:12px Arial,sans-serif;cursor:pointer}
.bot-command-panel button[aria-pressed=true]{background:#b5ff55;color:#13220c;border-color:#b5ff55}
.bot-command-panel button:disabled{opacity:.5;cursor:default}
.bot-command-panel small{flex-basis:100%;color:#9ab5ae;font-size:11px;line-height:1.5}
.bot-command-panel .touch-order{display:none}
@media(max-width:760px){.bot-command-panel{left:12px;bottom:175px;max-width:calc(100% - 190px);padding:6px}.bot-command-panel button{font-size:11px;padding:5px;min-height:34px}.bot-command-panel kbd{display:none}.bot-command-panel small{font-size:10px}}
@media(any-pointer:coarse){.bot-command-panel .touch-order{display:block}}

.mission-brief{margin:14px 0 18px;padding:12px 14px;border-left:2px solid #a8ba85;background:#142222b0;text-align:left}
.mission-brief>b{font-size:11px;letter-spacing:1px;color:#c1d5a6}
.mission-brief p{font-size:13px;line-height:1.7;color:#b0c3c5;margin:7px 0;word-break:keep-all}
.mission-brief small{font-size:11px;color:#8fae9f;line-height:1.6}
.matter-lineup{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.mission-brief{margin:0 0 14px;padding:10px 12px}.mission-brief p{font-size:12px}.matter-lineup{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:760px){.bot-command-panel .touch-order{display:block}}

/* Archive prose stays outside the live battlefield. */
.story-intro,.story-chapter,.story-afterword{max-width:760px;margin:0 auto 24px;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.story-intro{padding:20px 0;border-bottom:1px solid #65e9dc55}.story-intro h3{font-size:clamp(24px,4vw,34px);color:#d9ffe7;line-height:1.35;margin:8px 0 14px}.story-intro p,.story-chapter p{font-size:16px;color:#c3d2dc}.story-chapter h3{font-size:19px;line-height:1.4;margin:5px 0 10px}.story-chapter small,.story-intro small{color:#7bdbca;font-size:12px}.story-afterword{padding:16px;border-left:2px solid #65e9dc;color:#adc1cb;font-size:14px}.codex-lore{color:#a1c6c1!important;font-size:14px!important;line-height:1.7!important;border-top:1px solid #7ac8bc26;padding-top:12px}.supply-caution,.supply-target{color:#ff8295!important}

/* Keep persistent explanations out of the live field. Context arrives by radio. */
.combat-mode .pickup-legend,.combat-mode .stage-caption,.combat-mode .shield-status,.combat-mode .gear-reveal,.combat-mode #radar-status,.combat-mode .gear-caption,.combat-mode #next-upgrade{display:none!important}
.combat-mode .gear-reveal:not([hidden])~.field-feed{visibility:visible}
.combat-mode .target-affinity:not(.has-target){display:none}
.combat-mode .target-affinity{top:145px;max-width:min(440px,calc(100% - 235px));font-size:12px}
.combat-mode .field-feed{top:186px;width:270px;max-width:calc(100% - 235px)}
.combat-mode .field-feed strong:empty{display:none}.combat-mode #feed-title{display:none}
.combat-mode .bot-command-panel #turbo-status{display:none}.combat-mode .bot-command-panel #bot-command-status:empty{display:none}
.reserve-status{display:block;margin-top:4px;color:#87d9d0;font-size:12px;line-height:1.5}.reserve-status progress{display:block;width:100%;height:4px;margin:3px 0 0;border:0;background:#19313a;accent-color:#65e9dc}.reserve-status progress::-webkit-progress-bar{background:#19313a}.reserve-status progress::-webkit-progress-value{background:#65e9dc}.reserve-status progress.empty::-webkit-progress-value{background:#ffba78}
@media(max-width:760px){.combat-mode .target-affinity{top:180px;max-width:calc(100% - 176px);font-size:11px}.combat-mode .field-feed{top:246px;width:calc(100% - 178px);max-width:235px}.reserve-status{font-size:11px}.combat-mode .bot-command-panel{padding:5px}.combat-mode .bot-command-panel small{display:none}}

.combat-mode #account-button{display:none!important}

.combat-mode .location-map{top:148px}.combat-mode .bot-command-panel{bottom:142px}.combat-mode #bot-command-status{display:none}
@media(max-width:760px){.combat-mode .location-map{top:124px}.combat-mode .bot-command-panel{bottom:175px}}

.combat-mode .loadout .weapon-stat,.combat-mode .loadout .shield-loadout{display:none}
