@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-condensed-400.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/barlow-condensed-900.woff2)format("woff2")}:root{--font-display:"Barlow Condensed", Impact, Haettenschweiler, sans-serif;--font-interface:"Barlow Condensed", "Arial Narrow", sans-serif;--type-micro:clamp(.75rem, .72rem + .12vw, .8125rem);--type-caption:clamp(.8125rem, .78rem + .14vw, .875rem);--type-label:clamp(.875rem, .82rem + .2vw, 1rem);--type-body:clamp(1rem, .94rem + .22vw, 1.125rem);--type-subheading:clamp(1.125rem, 1.04rem + .28vw, 1.25rem);--type-heading:clamp(1.375rem, 1.22rem + .46vw, 1.625rem);--type-metric:clamp(1.75rem, 1.52rem + .72vw, 2.125rem);--ink:#eef8ff;--muted:#7e91a8;--cyan:#49f5da;--cyan-soft:#73d9ff;--coral:#ff3957;--line:#8bcde133;--health:100%;--dash:100%;--ability:100%}*{box-sizing:border-box}html,body{width:100%;min-height:100%;color:var(--ink);font-family:var(--font-interface);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#050812;margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline:2px solid var(--cyan);outline-offset:3px}.game-shell{isolation:isolate;background:radial-gradient(circle at 50% 34%,#24557d2e,#0000 40%),#050812;position:fixed;inset:0;overflow:hidden}.game-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.game-shell.is-arena .game-canvas{cursor:crosshair}.game-shell.is-lobby .game-canvas{opacity:0}.player-nameplate-layer{z-index:3;contain:layout paint;pointer-events:none;position:absolute;inset:0;overflow:hidden}.player-nameplate{--nameplate-color:var(--cyan);--nameplate-health:100%;--nameplate-vital:var(--nameplate-color);border:1px solid color-mix(in srgb, var(--nameplate-color) 52%, transparent);max-width:min(12rem,42vw);box-shadow:0 0 12px color-mix(in srgb, var(--nameplate-color) 20%, transparent);color:#f4fbff;font-size:var(--type-caption);letter-spacing:.055em;text-overflow:ellipsis;text-shadow:0 1px 4px #000;white-space:nowrap;pointer-events:none;will-change:transform;background:#050b17d1;border-radius:999px;font-weight:700;line-height:1;position:absolute;top:0;left:0;overflow:hidden;transform:translate(-100px,-100px)translate(-50%,-100%)}.player-nameplate-fill{width:var(--nameplate-health);background:linear-gradient(90deg, color-mix(in srgb, var(--nameplate-vital) 38%, transparent), color-mix(in srgb, var(--nameplate-vital) 18%, transparent) 72%, transparent);box-shadow:inset -.65rem 0 .9rem -.75rem var(--nameplate-vital);border-radius:999px 0 0 999px;transition:width .18s linear;position:absolute;inset:0 auto 0 0}.player-nameplate-content{z-index:1;align-items:center;gap:.48rem;min-width:0;padding:.28rem .56rem .24rem .62rem;display:flex;position:relative}.player-nameplate-nickname{text-overflow:ellipsis;min-width:0;overflow:hidden}.player-nameplate-health{color:color-mix(in srgb, var(--nameplate-vital) 62%, white 38%);font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:.02em;border-left:1px solid #fff3;flex:none;padding-left:.44rem;font-size:.88em}.player-nameplate.is-local{border-color:color-mix(in srgb, var(--nameplate-color) 85%, white 15%);background:color-mix(in srgb, var(--nameplate-color) 15%, #050b17e6)}.enemy-healthbar{letter-spacing:.045em;background:#0f060cdb;max-width:min(9rem,34vw);font-size:.72rem}.enemy-healthbar .player-nameplate-content{gap:.36rem;padding:.22rem .46rem .2rem .5rem}.enemy-healthbar .player-nameplate-health{padding-left:.34rem}.player-nameplate.is-critical{--nameplate-vital:#ff4f6d;animation:.9s ease-in-out infinite alternate critical-nameplate-pulse}@keyframes critical-nameplate-pulse{to{border-color:color-mix(in srgb, var(--nameplate-vital) 80%, white 20%);box-shadow:0 0 16px color-mix(in srgb, var(--nameplate-vital) 34%, transparent)}}.scanlines,.vignette{pointer-events:none;position:absolute;inset:0}.scanlines{z-index:2;opacity:.075;mix-blend-mode:soft-light;background-image:radial-gradient(circle,#ffffff38 0 .45px,#0000 .65px),radial-gradient(circle,#00000080 0 .55px,#0000 .8px);background-position:0 0,2px 1px;background-size:4px 4px,5px 5px;animation:.32s steps(2,end) infinite sensor-grain;inset:-8%}.vignette{z-index:3;box-shadow:inset 0 0 150px 24px #0006,inset 0 -100px 130px #00000057}@keyframes sensor-grain{0%{transform:translate(-1.5%,.5%)}50%{transform:translate(1%,-1%)}to{transform:translate(.5%,1.5%)}}.hud-top{z-index:34;padding:calc(20px + env(safe-area-inset-top)) 28px 18px;pointer-events:none;background:linear-gradient(#02060fe6,#02060f00);grid-template-columns:1fr auto 1fr;align-items:start;gap:28px;display:grid;position:absolute;top:0;left:0;right:0}.hud-top.is-lobby{grid-template-columns:1fr auto}.brand-lockup{align-items:center;gap:13px;min-width:0;display:flex}.brand-lockup>span:last-child{flex-direction:column;min-width:0;display:flex}.brand-lockup strong{font-size:var(--type-body);letter-spacing:.18em;white-space:nowrap;line-height:1}.brand-lockup small{color:var(--muted);font-family:var(--font-interface);font-size:var(--type-micro);letter-spacing:.1em;white-space:nowrap;margin-top:7px;font-weight:600}.brand-mark{border:1px solid #49f5da80;flex:0 0 34px;width:34px;height:34px;position:relative;transform:rotate(45deg)}.brand-mark:before,.brand-mark:after{content:"";border:1px solid #49f5da57;position:absolute}.brand-mark:before{inset:5px}.brand-mark:after{background:var(--cyan);box-shadow:0 0 15px var(--cyan);inset:10px}.brand-mark i{background:var(--cyan);width:4px;height:1px;position:absolute;top:-1px}.brand-mark i:first-child{left:3px}.brand-mark i:nth-child(2){left:15px}.brand-mark i:nth-child(3){right:3px}.run-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#0000,#0a1727a8,#0000);align-items:center;min-height:46px;padding:8px 18px;display:flex}.run-stats>div{flex-direction:column;align-items:center;min-width:86px;display:flex}.run-stats span,.hud-label{color:var(--muted);font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.1em;font-weight:600;line-height:1}.run-stats strong{color:#e9fcff;font-family:var(--font-interface);font-size:var(--type-subheading);letter-spacing:.08em;text-shadow:0 0 12px #73d9ff80;margin-top:6px;font-weight:700;line-height:1}.run-stats>i{background:var(--line);width:1px;height:28px}.hud-actions{pointer-events:auto;justify-content:flex-end;gap:8px;display:flex}.hud-actions button{border:1px solid var(--line);color:#aac2d1;min-width:78px;font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.1em;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060d1a9e;padding:10px 12px;font-weight:700;transition:transform .16s,border-color .16s,background .16s,color .16s,box-shadow .16s}.hud-actions button:hover:not(:disabled){color:var(--cyan);background:#49f5da17;border-color:#49f5da85;transform:translateY(-2px);box-shadow:0 0 20px #49f5da1a}.hud-actions button:active:not(:disabled){transform:translateY(0)scale(.98)}.hud-actions button:disabled{opacity:.34;cursor:not-allowed}.hud-left,.hud-right{z-index:10;pointer-events:none;width:220px;position:absolute;top:50%;transform:translateY(-42%)}.hud-left{border-left:1px solid #49f5da85;padding-left:15px;left:28px}.hud-left:before{content:"";background:var(--cyan);width:3px;height:22px;position:absolute;top:0;left:-2px;box-shadow:0 0 12px #49f5dacc}.hud-left>strong{font-size:var(--type-body);letter-spacing:.08em;margin-top:9px;font-weight:700;line-height:1.25;display:block}.hud-left p{color:#acc2d1ad;max-width:185px;font-size:var(--type-label);letter-spacing:.04em;margin:11px 0 0;line-height:1.5}.meter{background:#8bcde124;height:4px;position:relative;overflow:hidden}.meter:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 9px,#02060fcc 10px);position:absolute;inset:0}.meter i{background:var(--cyan);height:100%;transition:width .18s;display:block;box-shadow:0 0 9px #49f5dad9}.health-meter i{width:var(--health)}.dash-meter i{width:var(--dash)}.ability-meter i{width:var(--ability);background:linear-gradient(90deg,#8d78ff,#73d9ff);box-shadow:0 0 9px #9f91ffd9}.hud-right{text-align:right;border-right:1px solid #73d9ff61;flex-direction:column;gap:18px;padding-right:15px;display:flex;right:28px}.telemetry-block{grid-template-columns:1fr auto;align-items:end;gap:7px 12px;display:grid}.telemetry-block strong{color:#dffcff;font-family:var(--font-interface);font-size:var(--type-label);letter-spacing:.06em;font-weight:700}.telemetry-block .meter{grid-column:1/-1}.health-meter i{background:linear-gradient(90deg, var(--coral), #ffb04a, var(--cyan))}.desktop-controls{z-index:10;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));color:#a0b8c794;font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:16px;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.desktop-controls span{align-items:center;gap:5px;display:flex}.desktop-controls>i{background:#49f5da80;width:3px;height:3px;transform:rotate(45deg)}kbd{color:#bad1df;min-width:19px;font-family:inherit;font-size:var(--type-micro);text-align:center;background:#060d1a8f;border:1px solid #8bcde147;border-bottom-color:#8bcde180;padding:4px 5px}.mobile-controls{z-index:14;left:18px;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute}.joystick,.dash-button,.ability-button{pointer-events:auto;touch-action:none}.joystick{--stick-x:0px;--stick-y:0px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle,#49f5da14 0 25%,#0000 26%),linear-gradient(#73d9ff2e,#73d9ff2e) 50%/1px 100% no-repeat,linear-gradient(90deg,#73d9ff2e,#73d9ff2e) 50%/100% 1px no-repeat,#03091373;border:1px solid #73d9ff47;border-radius:50%;width:108px;height:108px;position:relative}.joystick:after{content:"MOVE";color:#8bcde18c;font-family:var(--font-interface);font-size:var(--type-micro);letter-spacing:.1em;font-weight:700;position:absolute;bottom:-19px;left:50%;transform:translate(-50%)}.joystick span{width:42px;height:42px;transform:translate(calc(-50% + var(--stick-x)), calc(-50% + var(--stick-y)));background:#0d2d35cc;border:1px solid #49f5dab3;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 20px #49f5da26}.dash-button{width:92px;height:92px;color:var(--cyan);background:radial-gradient(circle,#49f5da26,#040e19b8);border:1px solid #49f5da8c;border-radius:50%;box-shadow:inset 0 0 0 7px #49f5da0a,0 0 24px #49f5da1a}.dash-button span,.dash-button strong,.ability-button span,.ability-button strong{font-family:var(--font-interface);line-height:1.3;display:block}.dash-button span,.ability-button span{font-size:var(--type-micro);letter-spacing:.1em}.dash-button strong,.ability-button strong{font-size:var(--type-label);letter-spacing:.08em}.loading-screen,.game-overlay{z-index:30;position:absolute;inset:0}.loading-screen{background:#050812;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.loading-screen strong,.loading-screen small{font-family:var(--font-interface);letter-spacing:.18em}.loading-screen strong{font-size:var(--type-body)}.loading-screen small{color:var(--muted);font-size:var(--type-caption)}.loading-orbit{border:1px solid #49f5da33;border-top-color:var(--cyan);border-radius:50%;width:44px;height:44px;margin-bottom:12px;animation:1.2s linear infinite orbit}.loading-orbit:after{content:"";background:var(--cyan);width:6px;height:6px;box-shadow:0 0 14px var(--cyan);border-radius:50%;margin:2px 0 0 5px;display:block}@keyframes orbit{to{transform:rotate(360deg)}}.game-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(90deg,#030710db,#03071040 55%,#0307109e),radial-gradient(circle at 72%,#1c5b692e,#0000 32%);justify-content:center;align-items:center;display:flex;overflow:hidden}.overlay-grid{opacity:.2;transform-origin:bottom;background-image:linear-gradient(#49f5da14 1px,#0000 1px),linear-gradient(90deg,#49f5da14 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0;transform:perspective(420px)rotateX(52deg)scale(1.7)translateY(30%)}.eyebrow{color:var(--cyan);font-family:var(--font-interface);font-size:var(--type-micro);letter-spacing:.22em;align-items:center;gap:10px;display:inline-flex}.eyebrow:before{content:"";background:var(--cyan);width:24px;height:1px;box-shadow:0 0 8px #49f5dacc}.primary-action{--action-color:var(--cyan);border:1px solid color-mix(in srgb, var(--action-color) 72%, transparent);background:color-mix(in srgb, var(--action-color) 9%, #050e18d1);width:250px;min-height:54px;color:var(--action-color);font-family:var(--font-interface);font-size:var(--type-label);letter-spacing:.18em;cursor:pointer;box-shadow:inset 3px 0 var(--action-color), 0 0 28px color-mix(in srgb, var(--action-color) 12%, transparent);justify-content:space-between;align-items:center;margin-top:29px;padding:0 8px 0 20px;font-weight:700;transition:transform .18s,border-color .18s,background .18s,color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.primary-action:before{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--action-color) 17%, transparent), transparent 65%);transition:transform .24s;position:absolute;inset:0;transform:translate(-100%)}.primary-action:hover:not(:disabled){border-color:color-mix(in srgb, var(--action-color) 92%, transparent);background:color-mix(in srgb, var(--action-color) 15%, #050e18e0);box-shadow:inset 3px 0 var(--action-color), 0 0 34px color-mix(in srgb, var(--action-color) 22%, transparent);transform:translateY(-2px)}.primary-action:hover:not(:disabled):before{transform:translate(0)}.primary-action:active:not(:disabled){transform:translateY(0)scale(.99)}.final-score small{color:var(--muted);font-family:var(--font-interface);font-size:var(--type-micro);letter-spacing:.16em}.final-score{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:8px;margin-top:30px;padding:18px 0;display:flex}.final-score strong{color:var(--cyan);font-family:var(--font-interface);letter-spacing:.08em;text-shadow:0 0 25px #49f5da40;font-size:38px}.connection-chip{border:1px solid var(--line);color:#8da3b3;min-height:34px;font-family:var(--font-interface);font-size:var(--type-micro);letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060d1a9e;align-items:center;gap:7px;padding:0 10px;font-weight:600;display:inline-flex}.connection-chip i{background:#667786;border-radius:50%;width:6px;height:6px}.connection-chip small{color:#d7e8f0b8;font:inherit;letter-spacing:.04em;border-left:1px solid #8da3b340;padding-left:7px}.connection-chip.is-online{color:var(--cyan);border-color:#49f5da5c}.connection-chip.is-online i{background:var(--cyan);box-shadow:0 0 9px #49f5dacc}.connection-chip.is-connecting i,.connection-chip.is-reconnecting i{background:#ffd36b;animation:.9s ease-in-out infinite alternate network-pulse}@keyframes network-pulse{0%{opacity:.32}to{opacity:1;box-shadow:0 0 10px #ffd36bb3}}.multiplayer-objective{width:245px}.enemy-counter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:14px;padding:10px 0;display:flex}.enemy-counter span,.personal-score span{color:var(--muted);font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.09em;font-weight:600}.enemy-counter b{color:var(--coral);font-family:var(--font-interface);font-size:var(--type-metric);text-shadow:0 0 14px #ff395757;font-weight:700}.practice-readout{color:#ddfff9b8;font:700 9px/1.2 var(--mono);letter-spacing:.13em;background:#04141db8;border:1px solid #49f5da3d;grid-template-columns:1fr 1fr;gap:7px 12px;margin-top:12px;padding:10px 12px;display:grid}.practice-readout b{color:var(--cyan);font-size:13px}.practice-readout small{color:#9f91ffd6;grid-column:1/-1;font-size:8px}.practice-mission{z-index:22;top:calc(98px + env(safe-area-inset-top));width:min(430px,100% - 32px);box-shadow:inset 3px 0 var(--cyan), 0 16px 42px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:linear-gradient(135deg,#081322f0,#040a15db);border:1px solid #8bcde147;border-radius:10px;padding:15px 17px 16px;position:absolute;left:50%;transform:translate(-50%)}.practice-mission.is-complete{box-shadow:inset 3px 0 var(--cyan), 0 0 36px #49f5da1f, 0 16px 42px #00000057;background:linear-gradient(135deg,#062327f2,#050f1ceb);border-color:#49f5da94}.practice-mission header{justify-content:space-between;align-items:center;display:flex}.practice-mission header span,.practice-mission header b{color:#9fb6c4;font:700 var(--type-caption) var(--font-interface);letter-spacing:.1em}.practice-mission header b{color:var(--cyan)}.practice-mission-progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:11px 0 13px;display:grid}.practice-mission-progress i{background:#8bcde124;height:3px}.practice-mission-progress i.is-active{background:#73d9ff8c;box-shadow:0 0 10px #73d9ff66}.practice-mission-progress i.is-done{background:var(--cyan);box-shadow:0 0 10px #49f5da8c}.practice-mission>strong{color:#effcff;font:750 var(--type-body) var(--font-interface);letter-spacing:.055em;text-transform:uppercase;display:block}.practice-mission>p{color:#96adba;font-size:var(--type-caption);margin:7px 0 0;line-height:1.45}.practice-mission>button{color:#eafffc;width:100%;min-height:42px;font:750 var(--type-caption) var(--font-interface);letter-spacing:.1em;cursor:pointer;pointer-events:auto;background:#49f5da21;border:1px solid #49f5daad;border-radius:6px;margin-top:13px}.practice-mission>button:hover:not(:disabled){background:var(--cyan);color:#031117;box-shadow:0 0 24px #49f5da3d}.practice-mission>button:disabled{opacity:.55;cursor:wait}.team-roster{flex-direction:column;gap:7px;margin-top:17px;display:flex}.roster-pilot{background:#050c188a;border:1px solid #8bcde11f;grid-template-columns:7px 1fr auto;align-items:center;gap:9px;padding:7px 8px;display:grid}.roster-pilot>i{background:var(--pilot-color);width:6px;height:18px;box-shadow:0 0 9px color-mix(in srgb, var(--pilot-color) 70%, transparent)}.roster-pilot>span{flex-direction:column;gap:3px;min-width:0;display:flex}.roster-pilot strong{font-size:var(--type-label);letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-pilot small{color:var(--muted);font-size:var(--type-micro);letter-spacing:.07em;text-transform:uppercase}.roster-pilot>b{color:#a8becd;font-family:var(--font-interface);font-size:var(--type-caption);font-weight:600}.roster-pilot.is-local{border-color:color-mix(in srgb, var(--pilot-color) 48%, transparent);background:color-mix(in srgb, var(--pilot-color) 8%, #050c189e)}.pilot-identity{border-bottom:1px solid var(--line);flex-direction:column;gap:5px;padding-bottom:13px;display:flex}.pilot-identity strong{color:#eefcff;font-size:var(--type-subheading);letter-spacing:.07em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-weight:700;overflow:hidden}.pilot-identity small{color:var(--cyan);font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.personal-score{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-top:11px;display:flex}.personal-score strong{color:var(--cyan);font-family:var(--font-interface);font-size:var(--type-subheading);letter-spacing:.08em;font-weight:700}.arena-minimap{z-index:12;left:28px;bottom:calc(58px + env(safe-area-inset-bottom));pointer-events:none;width:152px;position:absolute}.minimap-label{color:#cde7efc7;font-size:var(--type-caption);letter-spacing:.12em;margin:0 0 8px 8px;font-weight:700;display:block}.minimap-field{aspect-ratio:1;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:linear-gradient(#49f5da14 1px,#0000 1px) 50%/25% 25%,linear-gradient(90deg,#49f5da14 1px,#0000 1px) 50%/25% 25%,radial-gradient(circle,#102d3cd1,#030913e6 68%);border:1px solid #49f5da6b;border-radius:50%;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #49f5da14,0 12px 35px #00000057}.minimap-field:before,.minimap-field:after{content:"";z-index:1;background:#73d9ff33;position:absolute}.minimap-field:before{width:1px;top:8%;bottom:8%;left:50%}.minimap-field:after{height:1px;top:50%;left:8%;right:8%}.minimap-scan{border:1px solid #73d9ff24;border-radius:50%;position:absolute;inset:7%}.minimap-dot{z-index:3;left:var(--map-x);top:var(--map-y);border-radius:50%;width:5px;height:5px;display:block;position:absolute;transform:translate(-50%,-50%)}.minimap-dot.is-enemy{background:var(--coral);box-shadow:0 0 7px #ff3957e6}.minimap-dot.is-practice-target{background:#9f91ff;border:1px solid #f3eaff;width:7px;height:7px;box-shadow:0 0 8px #9f91ffeb}.minimap-dot.is-practice-target.is-strafe{background:#ffb454;box-shadow:0 0 8px #ffb454e6}.minimap-dot.is-practice-target.is-orbit{background:#ff6b71;box-shadow:0 0 8px #ff6b71e6}.minimap-dot.is-practice-target.is-down{opacity:.24;box-shadow:none}.minimap-dot.is-enemy.is-brute{background:#ff3957b8;border:1px solid #ff94a5;width:8px;height:8px}.minimap-dot.is-enemy.is-gunner{background:#ff9f43;box-shadow:0 0 7px #ff9f43e6}.minimap-dot.is-enemy.is-overseer{background:#ff2d74;border:2px solid #fff2a8;width:11px;height:11px;box-shadow:0 0 12px #ff2d74}.minimap-dot.is-hazard{z-index:2;background:#73d9ff1f;border:1px solid #73d9ffb3;width:13px;height:13px}.minimap-dot.is-hazard.is-gravity_well{background:#be60ff2e;border-color:#be60ffcc}.minimap-dot.is-shard{background:#73d9ff;border-radius:1px;width:6px;height:6px;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 7px #73d9ffe6}.minimap-dot.is-player{background:var(--cyan);border:1px solid #e7ffff;width:7px;height:7px;box-shadow:0 0 8px #49f5dae6}.minimap-dot.is-player.is-local{clip-path:polygon(50% 0,100% 100%,50% 76%,0 100%);width:10px;height:13px;transform:translate(-50%, -50%) rotate(var(--map-heading));transform-origin:50%;background:#fff;border:0;border-radius:0}.multiplayer-lobby{padding:calc(104px + env(safe-area-inset-top)) 32px calc(48px + env(safe-area-inset-bottom));align-items:flex-start;overflow:hidden auto}.multiplayer-lobby:before{content:"";opacity:.24;background-image:linear-gradient(color-mix(in srgb, var(--cyan-soft) 14%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--cyan-soft) 14%, transparent) 1px, transparent 1px);pointer-events:none;background-position:50%;background-size:104px 104px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 50% 48%,#000 12%,#00000080 68%,#0000);mask-image:radial-gradient(at 50% 48%,#000 12%,#00000080 68%,#0000)}.multiplayer-lobby .overlay-grid{opacity:.56;background-image:linear-gradient(color-mix(in srgb, var(--cyan) 18%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--cyan) 18%, transparent) 1px, transparent 1px);transform-origin:50% 72%;background-position:bottom;background-size:54px 54px;position:fixed;inset:-34% -18% -24%;transform:perspective(560px)rotateX(58deg)scale(1.42)translateY(15%);-webkit-mask-image:linear-gradient(#0000004d,#000000db 32%,#000 82%);mask-image:linear-gradient(#0000004d,#000000db 32%,#000 82%)}.lobby-panel{z-index:2;grid-template-columns:minmax(320px,.75fr) minmax(580px,1.25fr);align-items:center;gap:clamp(42px,6vw,88px);width:min(1180px,100%);margin:auto;display:grid;position:relative}.lobby-copy .eyebrow{font-size:var(--type-label);letter-spacing:.16em;font-weight:700}.lobby-copy h1{font-family:var(--font-display);letter-spacing:-.045em;text-transform:uppercase;text-shadow:0 9px 30px #0006;margin:22px 0 10px;font-size:clamp(70px,7.5vw,108px);font-weight:900;line-height:.78}.lobby-copy h1 span{color:#0000;-webkit-text-stroke:1px #e5f8ffeb;display:block}.lobby-copy h1 b{color:var(--cyan);font:inherit;text-shadow:0 0 28px #49f5da70}.lobby-promise{color:#9fb4c2;max-width:29rem;font-size:var(--type-body);margin:24px 0 0;line-height:1.55}.join-form{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#49f5da06 1px,#0000 1px) 0 0/100% 32px,#050b17e6;border:1px solid #8bcde138;border-radius:16px;width:100%;min-width:0;padding:32px;position:relative;box-shadow:0 30px 90px #0000006b}.join-form:before{content:"";background:var(--cyan);width:92px;height:2px;position:absolute;top:-1px;left:28px;box-shadow:0 0 14px #49f5dab8}.profile-fields{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:0;display:grid}.profile-fields label{flex-direction:column;gap:10px;display:flex}.profile-fields label>span,.join-form legend{color:#a8bdc9;font-family:var(--font-interface);font-size:var(--type-label);letter-spacing:.09em;text-transform:uppercase;font-weight:600}.profile-fields input{color:#e7f5fb;width:100%;min-height:52px;font-family:var(--font-interface);font-size:var(--type-body);letter-spacing:.025em;background:#030913c7;border:1px solid #8bcde133;border-radius:8px;padding:0 15px}.profile-fields input:focus{border-color:#49f5da94}.invite-context{color:var(--cyan);font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 0;font-weight:650}.join-form fieldset{border:0;min-width:0;margin:28px 0 0;padding:0}.join-form legend{margin-bottom:13px}.character-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.character-card{--character-color:var(--cyan);text-align:left;cursor:pointer;background:#040a15c2;border:1px solid #8bcde126;border-radius:10px;flex-direction:column;align-items:stretch;min-width:0;min-height:184px;padding:16px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden}.character-card:hover{border-color:color-mix(in srgb, var(--character-color) 48%, transparent);background:color-mix(in srgb, var(--character-color) 6%, #040a15d1);transform:translateY(-2px);box-shadow:0 12px 26px #0003}.character-card:active{transform:translateY(0)scale(.99)}.character-card.is-selected{border-color:color-mix(in srgb, var(--character-color) 78%, transparent);background:color-mix(in srgb, var(--character-color) 9%, #040a15db);box-shadow:inset 0 2px var(--character-color), 0 0 22px color-mix(in srgb, var(--character-color) 10%, transparent)}.character-silhouette{border:1px solid color-mix(in srgb, var(--character-color) 46%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--character-color) 14%, transparent), transparent 68%);border-radius:50%;align-self:center;width:60px;height:60px;margin:2px 0 14px;position:relative}.character-silhouette i,.character-silhouette b{background:var(--character-color);box-shadow:0 0 13px color-mix(in srgb, var(--character-color) 58%, transparent);display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.character-silhouette i{border-radius:50%;width:24px;height:12px}.character-silhouette b{width:5px;height:30px;transform:translate(-50%,-50%)rotate(38deg)}.character-silhouette.is-striker i{width:32px;height:8px}.character-silhouette.is-striker b{height:35px;transform:translate(-50%,-50%)rotate(62deg)}.character-silhouette.is-warden i{border-radius:4px;width:22px;height:22px}.character-silhouette.is-warden b{width:30px;height:3px;transform:translate(-50%,-50%)rotate(0)}.character-copy{flex-direction:column;min-width:0;display:flex}.character-copy small{color:var(--character-color);font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.character-copy strong{font-size:var(--type-subheading);letter-spacing:.065em;text-transform:uppercase;margin-top:5px}.character-copy em{color:#9eb2c0;min-height:42px;font-size:var(--type-label);margin-top:8px;font-style:normal;line-height:1.45}.character-ability{color:#839aaa;font-size:var(--type-caption);margin-top:8px;line-height:1.35;display:block}.character-ability b{color:var(--character-color);font-size:var(--type-micro);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;display:block}.join-action{width:100%;min-height:58px;font-size:var(--type-body);letter-spacing:.1em;border-radius:8px;justify-content:center;margin-top:22px;padding-inline:20px}.join-action:disabled{opacity:.48;cursor:wait}.form-error{border-left:2px solid var(--coral);color:#ff8a9c;font-size:var(--type-label);background:#ff395712;margin:13px 0 0;padding:11px 12px;line-height:1.45}.combat-buttons{pointer-events:auto;align-items:flex-end;gap:10px;display:flex}.attack-button{color:#ff8a91;touch-action:none;background:radial-gradient(circle,#ff395729,#10050ec2);border:1px solid #ff6b719e;border-radius:50%;width:104px;height:104px;box-shadow:inset 0 0 0 7px #ff39570a,0 0 24px #ff39571f}.attack-button span,.attack-button strong{font-family:var(--font-interface);line-height:1.3;display:block}.attack-button span{font-size:var(--type-micro);letter-spacing:.1em}.attack-button strong{font-size:var(--type-label);letter-spacing:.08em}.attack-button:disabled{opacity:.34}.combat-buttons{grid-template-rows:76px 76px;grid-template-columns:76px 104px;align-items:center;gap:8px 10px;display:grid}.combat-buttons .attack-button{grid-area:1/2/3}.attack-button,.dash-button,.ability-button{cursor:pointer;transition:transform .15s,filter .15s,border-color .15s,box-shadow .15s}.dash-button,.ability-button{--cooldown-fill:100%;--cooldown-color:#49f5da52;isolation:isolate;position:relative;overflow:hidden}.ability-button{--cooldown-color:#9f91ff5c}.dash-button:before,.ability-button:before{z-index:-1;border-radius:inherit;background:var(--cooldown-color);clip-path:inset(calc(100% - var(--cooldown-fill)) 0 0);content:"";transition:clip-path .18s linear;position:absolute;inset:4px}@media (hover:hover){.attack-button:hover:not(:disabled),.dash-button:hover:not(:disabled),.ability-button:hover:not(:disabled){filter:brightness(1.22)saturate(1.08);transform:translateY(-2px)}}.attack-button:active:not(:disabled),.dash-button:active:not(:disabled),.ability-button:active:not(:disabled){filter:brightness(1.3);transform:scale(.95)}.ability-button{color:#bcb2ff;background:radial-gradient(circle,#9f91ff33,#0a061cc7);border:1px solid #9f91ffa6;border-radius:50%;grid-area:1/1;width:76px;height:76px;box-shadow:inset 0 0 0 6px #9f91ff0d,0 0 22px #9f91ff1f}.ability-button[data-aiming=true]{filter:brightness(1.3);border-color:#d1c8fff5;transform:scale(1.08);box-shadow:inset 0 0 0 6px #9f91ff21,0 0 34px #9f91ff66}.combat-buttons .dash-button{grid-area:2/1;width:76px;height:76px}.ability-button strong{max-width:62px;font-size:var(--type-micro);white-space:normal;margin:0 auto;line-height:1.05}.attack-button:disabled,.dash-button:disabled,.ability-button:disabled{cursor:not-allowed}.attack-button[data-controls-disabled=true],.dash-button[data-controls-disabled=true],.ability-button[data-controls-disabled=true]{opacity:.34}.reconnect-banner{z-index:36;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050a14ed;border:1px solid #ffd36b5c;flex-direction:column;align-items:center;width:min(390px,100vw - 34px);padding:28px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 80px #00000080}.match-end-overlay{z-index:50;padding:calc(76px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:radial-gradient(circle at 50% 35%,#153e4e4d,#0000 48%),#02060ed6;place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.pause-overlay{z-index:48;-webkit-backdrop-filter:blur(9px)saturate(.72);backdrop-filter:blur(9px)saturate(.72);background:radial-gradient(circle at 50% 45%,#12495242,#0000 34%),#02060eb8;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.pause-card{text-align:center;background:#040b16eb;border:1px solid #49f5da57;place-items:center;width:min(440px,100vw - 40px);padding:35px 38px 38px;animation:.18s ease-out both pause-card-in;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 2px #49f5da8c,0 28px 90px #0000008f,0 0 44px #49f5da14}.pause-card>span{color:var(--cyan);font-family:var(--font-interface);font-size:var(--type-micro);letter-spacing:.22em;font-weight:700}.pause-card h2{color:#efffff;font-family:var(--font-display);letter-spacing:.025em;text-shadow:0 0 34px #49f5da47;margin:10px 0 0;font-size:clamp(58px,9vw,86px);font-weight:900;line-height:.9}.pause-card p{color:#93adba;font-size:var(--type-label);letter-spacing:.055em;margin:16px 0 24px}.pause-card button{min-width:180px;color:var(--cyan);cursor:pointer;background:#49f5da12;border:1px solid #49f5da70;grid-template-columns:38px 1fr 38px;align-items:center;padding:9px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:grid}.pause-card button kbd{background:var(--cyan);color:#041317;border-color:#49f5da85;place-items:center;width:38px;height:38px;margin:0;padding:0;font-weight:900;display:grid}.pause-card button span{font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.16em;justify-self:center;font-weight:800}.pause-card button:after{content:"";width:38px;height:38px}.pause-card button:hover{background:#49f5da21;border-color:#49f5dacc;transform:translateY(-2px);box-shadow:0 0 28px #49f5da21}.pause-card button:active{transform:translateY(0)scale(.98)}@keyframes pause-card-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.wave-announcement{z-index:30;pointer-events:none;background:linear-gradient(90deg,#0000,#030c17e6 18% 82%,#0000);border-top:1px solid #49f5da8c;border-bottom:1px solid #49f5da8c;place-items:center;min-width:min(420px,100vw - 40px);padding:18px 32px 16px;animation:.22s ease-out both wave-announcement-in;display:grid;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.encounter-announcement{--encounter-progress:0;z-index:34;pointer-events:none;background:radial-gradient(circle at 50% 52%,#ff1f4b29,#0000 32%),linear-gradient(#02050e38,#02050ec2);place-content:center;place-items:center;animation:2.6s both encounter-flicker;display:grid;position:absolute;inset:0;overflow:hidden}.encounter-announcement:before,.encounter-announcement:after{content:"";background:linear-gradient(90deg,#0000,#ff365e 20% 80%,#0000);height:1px;position:absolute;left:0;right:0;box-shadow:0 0 32px #ff2453cc}.encounter-announcement:before{top:31%}.encounter-announcement:after{bottom:31%}.encounter-announcement span,.encounter-announcement small{color:#ff7893;letter-spacing:.28em;text-shadow:0 0 18px #ff2c58b3;font-size:clamp(10px,1.4vw,14px);font-weight:700}.encounter-announcement strong{color:#fff4f7;letter-spacing:-.035em;text-shadow:0 0 20px #ff2453b3,0 0 90px #a215ff57;margin:10px 0 8px;font-size:clamp(54px,10vw,138px);font-weight:900;line-height:.78}.encounter-announcement i{background:#ffffff26;width:min(620px,70vw);height:2px;margin-top:24px}.encounter-announcement i:after{content:"";width:calc(var(--encounter-progress) * 100%);background:#ff365e;height:100%;display:block;box-shadow:0 0 20px #ff365e}@keyframes encounter-flicker{0%{opacity:0;filter:contrast(1.8)}8%,14%,22%{opacity:1}11%,18%{opacity:.42}82%{opacity:1}to{opacity:0;visibility:hidden}}.boss-status{gap:5px;margin-top:12px;display:grid}.boss-status span{color:#ff6b88;letter-spacing:.13em;justify-content:space-between;font-size:10px;font-weight:700;display:flex}.boss-status>i{background:#ffffff14;height:4px;display:block;overflow:hidden}.boss-status>i:after{content:"";width:var(--boss-health);background:linear-gradient(90deg,#ff294f,#be38ff);height:100%;transition:width .12s linear;display:block;box-shadow:0 0 16px #ff294fcc}.boss-status.is-phase-2>i:after{animation:.42s ease-in-out infinite alternate boss-health-pulse}@keyframes boss-health-pulse{to{filter:brightness(1.7)}}.live-audience,.spectator-chip{color:#f57;letter-spacing:.12em;font-size:10px;font-weight:700}.live-audience{margin-top:10px;display:block}.spectator-chip{animation:1.4s ease-in-out infinite alternate live-pulse}@keyframes live-pulse{to{opacity:.58}}.minimap-dot.is-prop{background:#72ecff4d;border:1px solid #72ecff;width:5px;height:5px;transform:translate(-50%,-50%)rotate(45deg)}.wave-announcement span{color:#8aa5b2;font-size:var(--type-micro);letter-spacing:.18em;font-weight:700}.wave-announcement strong{color:#ecffff;letter-spacing:.035em;text-shadow:0 0 30px #49f5da66;margin-top:4px;font-size:clamp(38px,6vw,68px);font-weight:900;line-height:.92}@keyframes wave-announcement-in{0%{opacity:0;transform:translate(-50%,-44%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.match-end-card{background:linear-gradient(#49f5da06 1px,#0000 1px) 0 0/100% 34px,#040a15f5;border:1px solid #8bcde140;border-radius:16px;width:min(980px,100%);overflow:hidden;box-shadow:0 36px 110px #0000009e}.match-end-heading{border-bottom:1px solid #8bcde129;justify-content:space-between;align-items:flex-end;gap:28px;padding:28px 32px 24px;display:flex}.match-end-heading>div:first-child>span,.result-section-title,.final-score small,.global-position span{color:var(--cyan);font-size:var(--type-micro);letter-spacing:.14em;font-weight:700}.match-end-heading h2{letter-spacing:-.025em;margin:5px 0 0;font-size:clamp(38px,5vw,62px);font-weight:900;line-height:.9}.match-end-heading p{color:#9fb4c1;font-size:var(--type-label);margin:10px 0 0}.final-score{flex:none;justify-items:end;display:grid}.final-score strong{color:#f1ffff;letter-spacing:.06em;font-size:clamp(30px,4vw,48px);line-height:1}.final-score span{color:#9fb4c1;font-size:var(--type-caption);letter-spacing:.12em;margin-top:7px;font-weight:700}.match-end-grid{grid-template-columns:minmax(260px,.82fr) minmax(380px,1.18fr);min-height:330px;display:grid}.final-team,.global-leaderboard{min-width:0;padding:24px 28px}.global-leaderboard{border-left:1px solid #8bcde124}.result-section-title{justify-content:space-between;align-items:center;display:flex}.result-section-title b{color:#8299a7;font-size:var(--type-micro)}.final-team-list{gap:7px;margin-top:14px;display:grid}.final-team-list article{background:#060f1cb8;border:1px solid #8bcde121;border-radius:7px;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:52px;padding:8px 11px;display:grid}.final-team-list article>i{width:3px;height:26px;box-shadow:0 0 9px}.final-team-list article>span{flex-direction:column;min-width:0;display:flex}.final-team-list strong{font-size:var(--type-label);letter-spacing:.045em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.final-team-list small{color:#8098a6;font-size:var(--type-micro);letter-spacing:.1em;text-transform:uppercase;margin-top:2px}.final-team-list article>b{color:#cce6ee;font-size:var(--type-caption);letter-spacing:.06em}.global-position{background:#49f5da0b;border:1px solid #49f5da40;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-height:104px;margin-top:18px;padding:14px;display:flex}.global-position strong{color:#ecffff;letter-spacing:.04em;margin-top:5px;font-size:clamp(25px,3vw,36px);line-height:1}.global-position small{color:#78919f;font-size:var(--type-micro);letter-spacing:.09em;margin-top:6px}.leaderboard-list{gap:4px;margin:14px 0 0;padding:0;list-style:none;display:grid}.leaderboard-list li{color:#9bb0bd;min-height:27px;font-size:var(--type-caption);background:#08121f8f;border-left:2px solid #0000;grid-template-columns:28px minmax(0,1fr) 34px 72px;align-items:center;gap:9px;padding:4px 8px;display:grid}.leaderboard-list li.is-current{border-left-color:var(--cyan);color:#efffff;background:#49f5da17}.leaderboard-list li>b{color:#6e8795}.leaderboard-list li>span{letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.leaderboard-list li>small{color:#6f8997;font-size:var(--type-micro)}.leaderboard-list li>strong{color:#d7eef4;text-align:right;letter-spacing:.055em}.leaderboard-state{color:#78919f;min-height:220px;font-size:var(--type-micro);letter-spacing:.1em;text-align:center;border:1px dashed #8bcde126;place-items:center;margin:14px 0 0;display:grid}.match-end-actions{background:#02070fb3;border-top:1px solid #8bcde124;justify-content:flex-end;gap:10px;padding:18px 28px;display:flex}.match-end-actions button{width:190px;min-width:190px;min-height:48px;font-size:var(--type-caption);letter-spacing:.1em;text-align:left;cursor:pointer;border-radius:0;justify-content:flex-start;align-items:center;margin:0;padding:0 20px;font-weight:700;transition:transform .17s,border-color .17s,background .17s,color .17s,box-shadow .17s;display:flex}.match-end-actions .secondary-action{color:#a9bec9;background:#08111db3;border:1px solid #8bcde138}.match-end-actions .secondary-action:hover:not(:disabled){color:var(--cyan);background:#49f5da17;border-color:#49f5da94;transform:translateY(-2px);box-shadow:inset 3px 0 #49f5dab8,0 0 26px #49f5da1c}.match-end-actions .secondary-action:active:not(:disabled){transform:translateY(0)scale(.985)}.match-end-actions button:disabled{opacity:.48;cursor:wait}.reconnect-banner .loading-orbit{border-top-color:#ffd36b;width:30px;height:30px;margin-bottom:16px}.reconnect-banner strong{font-size:var(--type-body);letter-spacing:.08em}.reconnect-banner small{color:var(--muted);font-size:var(--type-label);text-align:center;margin-top:8px}.reconnect-banner button{border:1px solid var(--line);font-family:var(--font-interface);font-size:var(--type-caption);letter-spacing:.08em;cursor:pointer;background:0 0;margin-top:17px;padding:10px 12px;transition:transform .16s,border-color .16s,background .16s,color .16s,box-shadow .16s}.reconnect-banner button:hover:not(:disabled){color:#ffe5a0;background:#ffd36b17;border-color:#ffd36b9e;transform:translateY(-2px);box-shadow:0 0 22px #ffd36b1a}.reconnect-banner button:active:not(:disabled){transform:translateY(0)scale(.98)}.impact-pickup:after,.impact-damage:after,.impact-takedown:after,.impact-wave:after,.impact-boss:after,.impact-shatter:after{content:"";z-index:20;pointer-events:none;animation:.23s ease-out forwards impact-flash;position:absolute;inset:0}.impact-pickup:after{box-shadow:inset 0 0 100px #49f5da59}.impact-damage:after{box-shadow:inset 0 0 140px #ff203e9e}.impact-takedown:after{box-shadow:inset 0 0 120px #ffad337a,inset 0 0 35px #ffffff4d}.impact-wave:after{box-shadow:inset 0 0 180px #73d9ff70}.impact-boss:after{box-shadow:inset 0 0 210px #ff194b94,inset 0 0 70px #a020ff6b}.impact-shatter:after{box-shadow:inset 0 0 150px #3ee8ff7a,inset 0 0 32px #ffffff57}@keyframes impact-flash{0%{opacity:1}to{opacity:0}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:960px){.hud-top{grid-template-columns:1fr auto;gap:12px;padding-inline:18px}.run-stats,.hud-left,.hud-right,.desktop-controls{display:none}.mobile-controls{display:flex}.multiplayer-lobby{padding-top:calc(145px + env(safe-area-inset-top))}.lobby-panel{grid-template-columns:1fr;gap:34px;max-width:680px}.lobby-copy h1{font-size:clamp(64px,15vw,105px)}}@media (max-width:650px){.match-end-overlay{padding:calc(68px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));place-items:start center}.match-end-card{border-radius:11px}.match-end-heading{align-items:flex-start;padding:20px 17px 17px}.match-end-heading p{display:none}.final-score strong{font-size:var(--type-heading)}.match-end-grid{grid-template-columns:1fr}.final-team,.global-leaderboard{padding:18px 16px}.global-leaderboard{border-top:1px solid #8bcde124;border-left:0}.global-position{min-height:82px}.leaderboard-list li{font-size:var(--type-caption);grid-template-columns:24px minmax(0,1fr) 28px 64px;gap:6px}.match-end-actions{padding:12px 14px;position:sticky;bottom:0}.match-end-actions button{width:50%;min-width:0}.brand-lockup strong{font-size:var(--type-label)}.brand-lockup small{font-size:var(--type-micro)}.brand-mark{flex-basis:28px;width:28px;height:28px}.hud-actions button{min-width:0;font-size:var(--type-micro);padding:9px 8px}.connection-chip{min-height:31px;font-size:var(--type-micro);padding-inline:7px}.connection-chip small{display:none}.run-stats{top:calc(64px + env(safe-area-inset-top));justify-content:center;width:calc(100% - 36px);padding-inline:4px}.run-stats>div{min-width:78px}.run-stats strong{font-size:var(--type-body)}.hud-left{top:calc(117px + env(safe-area-inset-top));width:170px}.hud-left>strong{font-size:var(--type-label)}.hud-left p{display:none}.multiplayer-objective{width:145px}.team-roster{display:none}.hud-right{top:calc(117px + env(safe-area-inset-top));gap:8px;width:150px;bottom:auto;right:18px}.hud-right .pilot-identity,.hud-right .personal-score{display:none}.hud-right .telemetry-block{gap:5px 9px}.arena-minimap{left:18px;bottom:calc(142px + env(safe-area-inset-bottom));width:112px}.minimap-label{font-size:var(--type-caption);margin-bottom:5px}.multiplayer-lobby{padding:calc(76px + env(safe-area-inset-top)) 14px calc(104px + env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none}.lobby-panel{gap:22px}.lobby-copy .eyebrow{font-size:var(--type-label)}.lobby-copy h1{margin-top:14px;font-size:clamp(54px,18vw,76px)}.lobby-promise{font-size:var(--type-label);margin-top:16px}.join-form{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:12px;padding:18px 14px}.profile-fields{grid-template-columns:1fr;gap:12px}.profile-fields label{gap:7px}.profile-fields input{min-height:48px}.join-form fieldset{margin-top:20px}.character-grid{grid-template-columns:1fr;gap:8px}.character-card{grid-template-columns:64px 1fr;align-items:center;gap:0 14px;min-height:104px;padding:11px 12px;display:grid}.character-silhouette{grid-row:1;margin:0}.character-copy em{display:none}.practice-mission{top:calc(72px + env(safe-area-inset-top));padding:12px 14px 13px}.practice-mission>p{max-width:34rem}.join-action{min-height:52px;margin:0 auto}.lobby-actions{z-index:52;padding:10px 14px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#050b17e6,#030812fa);border-top:1px solid #8bcde12e;margin:0;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -18px 40px #00000061}.lobby-actions .join-action{max-width:680px}.primary-action{width:100%;margin-top:21px}.joystick{width:94px;height:94px}.attack-button{width:82px;height:82px}.combat-buttons{grid-template-rows:64px 64px;grid-template-columns:64px 82px}.combat-buttons .dash-button,.ability-button{width:64px;height:64px}.combat-buttons{gap:7px}}@media (max-height:620px) and (orientation:landscape){.hud-left,.hud-right{display:none}.run-stats{top:calc(12px + env(safe-area-inset-top))}.brand-lockup{display:none}.arena-minimap{top:calc(66px + env(safe-area-inset-top));width:96px;bottom:auto}.practice-mission{top:calc(62px + env(safe-area-inset-top));width:min(390px,100% - 260px);padding:9px 12px 10px}.practice-mission-progress{margin:7px 0 8px}.practice-mission>p{margin-top:4px}.primary-action{width:220px;min-height:48px;margin-top:16px}.lobby-actions{z-index:52;right:14px;bottom:calc(10px + env(safe-area-inset-bottom));width:220px;margin:0;position:fixed;left:auto}.lobby-actions .join-action{margin:0}.joystick{width:82px;height:82px}.attack-button{width:74px;height:74px}.combat-buttons{grid-template-rows:58px 58px;grid-template-columns:58px 74px}.combat-buttons .dash-button,.ability-button{width:58px;height:58px}.multiplayer-lobby{padding-top:calc(70px + env(safe-area-inset-top))}.lobby-panel{grid-template-columns:.8fr 1.2fr;gap:24px;max-width:none}.lobby-copy h1{font-size:62px}.join-form{-webkit-backdrop-filter:none;backdrop-filter:none;padding:18px}.character-card{min-height:154px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.upgrade-draft{z-index:44;text-align:center;background:linear-gradient(145deg,#080e1bf7,#120f26f7);border:1px solid #49f5da73;width:min(760px,100vw - 32px);padding:26px;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 24px 80px #000000a6}.quick-play-action{color:#d9d3ff;border-color:#9f91ff8c;width:100%;min-height:48px;margin-top:10px}.upgrade-draft h2{text-transform:uppercase;margin:8px 0 4px;font-size:clamp(28px,5vw,48px)}.upgrade-draft>p{color:var(--muted);margin:0 0 20px}.upgrade-options{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.upgrade-options button{min-height:190px;color:var(--foreground);text-align:left;background:#ffffff0a;border:1px solid #ffffff26;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;display:flex}:is(.upgrade-options button:hover,.upgrade-options button:focus-visible,.upgrade-options button.is-selected){border-color:var(--cyan);background:#49f5da1f;transform:translateY(-2px)}.upgrade-options small,.upgrade-options b{color:var(--cyan);letter-spacing:.08em}.upgrade-options strong{text-transform:uppercase;font-size:21px}.upgrade-options span{color:var(--muted);flex:1}@media (max-width:700px){.upgrade-draft{padding:18px}.upgrade-options{grid-template-columns:1fr}.upgrade-options button{min-height:112px}}.mode-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.mode-selector button{color:#b6cad5;text-align:left;cursor:pointer;background:#040a15b8;border:1px solid #8bcde12e;border-radius:8px;flex-direction:column;gap:6px;padding:13px 15px;display:flex}.mode-selector button.is-selected{box-shadow:inset 0 2px var(--cyan), 0 0 24px #49f5da14;color:#efffff;background:#49f5da17;border-color:#49f5daad}.mode-selector strong{font:700 var(--type-label) var(--font-interface);letter-spacing:.08em}.mode-selector span{color:var(--muted);font-size:var(--type-caption)}.lobby-actions{grid-template-columns:1fr;margin-top:20px;display:grid}.lobby-actions .join-action{margin-top:0}.pvp-round-banner{z-index:12;top:calc(76px + env(safe-area-inset-top));background:linear-gradient(90deg,#3274ff29,#030913eb 36% 64%,#ff3c5829);border:1px solid #8bcde138;grid-template-columns:auto auto auto;align-items:center;gap:18px;min-width:420px;padding:10px 18px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #0000004d}.pvp-round-banner>span,.pvp-round-banner>strong{color:#b6cad5;font:700 var(--type-caption) var(--font-interface);letter-spacing:.09em}.pvp-round-score{font:800 25px/1 var(--font-interface);align-items:center;gap:10px;display:flex}.pvp-round-score .is-blue,.minimap-dot.is-player.is-blue{color:#62a4ff;background:#62a4ff}.pvp-round-score .is-red,.minimap-dot.is-player.is-red{color:#ff526e;background:#ff526e}.pvp-round-score i{color:#617786;font-style:normal}.team-roster.is-pvp{max-height:390px;overflow:hidden auto}.team-roster .is-red-label{color:#ff7187;margin-top:7px}.roster-pilot.is-red-team{border-left-color:#ff526e8c}.minimap-dot.is-minion{border-radius:1px;width:6px;height:6px;transform:translate(-50%,-50%)rotate(45deg)}.minimap-dot.is-minion.is-blue{background:#3d82e8;box-shadow:0 0 6px #3d82e8e6}.minimap-dot.is-minion.is-red{background:#e93d5b;box-shadow:0 0 6px #e93d5be6}@media (max-width:700px){.mode-selector{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-template-columns:repeat(3,minmax(220px,82vw));padding-bottom:5px;overflow-x:auto}.mode-selector button{scroll-snap-align:start}.pvp-round-banner{top:calc(68px + env(safe-area-inset-top));grid-template-columns:auto auto;gap:9px 14px;min-width:min(92vw,390px)}.pvp-round-banner>strong{text-align:center;grid-column:1/-1}}
