:root{--aero-panel-radius: .58rem;--aero-control-radius: .42rem;--aero-touch-min: 44px;--aero-touch-primary: 72px;--compact-button-size: max(var(--aero-touch-min), 3.25rem);--action-button-size: max(var(--aero-touch-primary), 4.5rem);--action-row-bottom: max(1rem, env(safe-area-inset-bottom));--stick-knob-size: max(var(--aero-touch-min), 4.5rem);--stick-rest-bottom: max(1.25rem, env(safe-area-inset-bottom));--hud-control-band: calc(var(--stick-rest-bottom) + var(--stick-knob-size));--airspeed-gauge-size: 6.6rem;--airspeed-gauge-bottom: max(.5rem, env(safe-area-inset-bottom));--dev-tool-step: calc(max(var(--aero-touch-min), 3rem) + .3rem) ;--dev-cluster-width: calc(3 * var(--dev-tool-step))}@media(orientation:landscape)and (max-height:32rem){:root{--aero-touch-primary: 56px;--action-button-size: max(var(--aero-touch-primary), 3.8rem);--stick-knob-size: max(var(--aero-touch-min), 3.8rem);--airspeed-gauge-size: 5.4rem}}@media(orientation:portrait)and (max-width:56rem){:root{--action-row-bottom: max(4.5rem, calc(env(safe-area-inset-bottom) + 3.5rem) );--stick-rest-bottom: max(5rem, calc(env(safe-area-inset-bottom) + 4rem) )}}:root{--aero-sky: #88b9cc;--aero-text: #e7edf2;--aero-text-muted: #9eacb7;--aero-panel: rgb(13 21 28 / 88%);--aero-panel-strong: rgb(12 19 25 / 96%);--aero-panel-soft: rgb(31 45 55 / 88%);--aero-control: #243640;--aero-control-pressed: #354a56;--aero-line: rgb(187 202 212 / 22%);--aero-line-strong: rgb(198 211 220 / 40%);--aero-shadow: rgb(4 9 13 / 40%);--aero-accent: #d6a854;--aero-accent-soft: #efd08c;--aero-blue: #68a6c9;--aero-blue-strong: #4d90b6;--aero-red: #c66f6e;--aero-red-strong: #ad5b5d;--aero-success: #81a98a;--aero-warning: #d2a757;--aero-danger: #c86c64;--aero-track: #21313c;--aero-focus: #f1c96e}*{box-sizing:border-box}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip-path:inset(50%);white-space:nowrap}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}html{font-size:clamp(11px,min(100vh / 45,100vw / 80),16px);font-size:clamp(11px,min(100svh / 45,100vw / 80),16px)}body{overscroll-behavior:none}#app{position:relative;background:var(--aero-sky)}html{color:var(--aero-text);background:var(--aero-sky);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body[data-screen=title] #app>:not(#title-screen,#credits-screen,#settings-screen,.icon-sprite,#game-error),body[data-screen=practice] #app>:not(#practice-screen,#flight-controls,#orientation-lock,.icon-sprite,#game-error),body[data-screen=viewer] #app>:not(#viewer-screen,#orientation-lock,.icon-sprite,#game-error),body[data-screen=audio] #app>:not(#audio-lab-screen,#orientation-lock,.icon-sprite,#game-error),body[data-screen=play] #title-screen,body[data-screen=play] #practice-screen,body[data-screen=play] #viewer-screen,body[data-screen=play] #audio-lab-screen{display:none}#hud-frame{position:absolute;inset:0;z-index:2;display:grid;padding:max(.55rem,env(safe-area-inset-top)) max(.55rem,env(safe-area-inset-right)) calc(var(--hud-control-band) + .4rem) max(.55rem,env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) minmax(23rem,30rem) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"map  objective session" "map  guidance  ." "rail .         .";gap:.5rem;align-items:start;pointer-events:none}#hud-layout{display:contents}#objective-status-zone{position:relative;grid-area:objective;justify-self:center}#session-status-zone{position:relative;grid-area:session;justify-self:end}.hud-zone{min-width:0;overflow:hidden;border:1px solid var(--aero-line);border-radius:var(--aero-panel-radius);background:var(--aero-panel);box-shadow:0 .4rem 1.15rem var(--aero-shadow);backdrop-filter:blur(.38rem)}#objective-status-zone{width:min(100%,30rem)}#session-status-zone{width:min(100%,11.5rem)}#objective-status-zone,#session-status-zone{overflow:visible}@media(max-width:68rem){#hud-frame{grid-template-columns:minmax(0,1fr) minmax(19rem,24rem) minmax(0,1fr)}}@media(orientation:landscape)and (max-height:30rem){#hud-frame{padding-top:max(.38rem,env(safe-area-inset-top));padding-right:max(.38rem,env(safe-area-inset-right));grid-template-columns:minmax(0,1fr) minmax(19rem,24rem) minmax(0,1fr);gap:.38rem}#app:has(#doctrine-panel:not([hidden]),#upgrade-panel:not([hidden])) #hud-frame{grid-template-columns:minmax(0,1fr) minmax(19rem,24rem) minmax(0,1fr);grid-template-areas:".    objective session" ".    guidance  ." "rail .         ."}#app:has(#doctrine-panel:not([hidden]),#upgrade-panel:not([hidden])) :is(#combat-hud,#sortie-hud,#radar-hud,#squad-hud,.kda-hud){display:none}#objective-status-zone{width:min(100%,24rem)}#session-status-zone{width:min(100%,9rem)}}@media(orientation:portrait)and (max-width:56rem){#app:has(#doctrine-panel:not([hidden]),#upgrade-panel:not([hidden])) :is(#combat-hud,#sortie-hud,#squad-hud,.kda-hud,#radar-hud){display:none}}@media(prefers-reduced-motion:reduce){.hud-zone{backdrop-filter:none}}#title-screen{position:absolute;display:grid;overflow:auto;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));place-items:center;background:radial-gradient(circle at 75% 18%,rgb(255 255 255 / 72%) 0 3%,transparent 3.3%),linear-gradient(155deg,#45b9ff,#7ed6ff 52%,#77b255 52.4%,#477d3e);inset:0}.title-layout{position:relative;display:grid;width:min(83rem,100%);min-width:0;align-items:center;grid-template-columns:minmax(30rem,43rem) minmax(20rem,1fr);gap:clamp(.5rem,2vw,2rem)}.title-sky-mark{position:absolute;top:16%;right:8%;width:12rem;height:5rem;opacity:.55;transform:rotate(-8deg)}.title-sky-mark span{position:absolute;width:7rem;height:1rem;border-radius:999px;background:#fff}.title-sky-mark span:nth-child(2){top:1.5rem;left:2rem;width:10rem}.title-sky-mark span:nth-child(3){top:3rem;left:-1rem;width:6rem}.title-card{position:relative;display:grid;z-index:2;width:100%;min-width:0;container-type:inline-size;padding:clamp(1.1rem,3vw,2rem);gap:.65rem;border:1px solid rgb(255 255 255 / 52%);border-radius:1.5rem;background:#081f30e0;box-shadow:0 1.5rem 4rem #041b2a61;backdrop-filter:blur(.85rem)}.title-aircraft-hero{position:relative;display:grid;min-width:0;place-items:center;pointer-events:none}.title-aircraft-hero:before{position:absolute;width:80%;border-radius:50%;aspect-ratio:1;background:radial-gradient(circle,rgb(255 242 166 / 28%),transparent 68%);content:"";filter:blur(1rem)}.title-aircraft-hero img{z-index:1;width:min(53rem,120%);max-width:none;height:auto;filter:drop-shadow(0 1.5rem 1.5rem rgb(4 27 42 / 32%));transform:translate(-7%,-1%)}.title-eyebrow,.title-tagline,.title-card h1{margin:0}.title-eyebrow{color:#7ed6ff;font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.title-card h1{color:#fff2a6;font-size:clamp(2.8rem,10vw,5.8rem);letter-spacing:.04em;line-height:.86;text-transform:uppercase;text-shadow:0 .35rem 0 #df6a35}.title-tagline{color:#f7fbffd1;font-size:clamp(.9rem,3vw,1.15rem);font-weight:750}.title-version{margin:0;color:#ffffff8c;font-size:.68rem;font-weight:600;text-transform:uppercase}.title-build-info{margin:0;color:#fff6;font-size:.58rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.02em;white-space:pre-line}.title-actions{display:grid;min-width:0;margin-top:.65rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem}.title-action{display:flex;min-width:0;min-height:4.25rem;padding:.75rem 1rem;align-items:center;gap:.8rem;border:2px solid rgb(126 214 255 / 72%);border-radius:1rem;background:#ffffff14;color:#fff;cursor:pointer;font:inherit;text-align:left;text-decoration:none;touch-action:manipulation}.title-action-primary{border-color:#ffd23f;background:#ffd23f;color:#102b3a}.title-action svg{width:2rem;height:2rem;flex:0 0 auto;fill:none;stroke:currentcolor;stroke-width:2}.title-action-primary svg{fill:currentcolor;stroke:none}.title-action span{display:grid;min-width:0}.title-action strong{font-size:1.05rem;text-transform:uppercase}.title-action small{opacity:.72;font-size:.68rem}.title-action-quiet{min-height:max(var(--aero-touch-min),3rem);margin-top:.35rem;padding:.5rem .85rem;gap:.65rem;border-color:#ffffff42;background:#ffffff0a;grid-column:1 / -1}.title-action-quiet svg{width:1.5rem;height:1.5rem}.title-action-quiet strong{font-size:.86rem}.title-action-quiet small{font-size:.62rem}.title-action:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}@media(orientation:landscape)and (max-height:30rem){#title-screen{padding:max(.5rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.title-layout{width:min(72rem,100%);grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:0}.title-card{padding:.7rem 1rem;align-items:center;gap:.32rem}.title-actions{margin-top:.25rem;gap:.45rem}.title-action{min-height:var(--aero-touch-min);padding:.45rem .75rem}.title-action-quiet{margin-top:0}.title-action small{display:none}.title-card h1{font-size:clamp(1.9rem,10cqw,4.1rem)}.title-tagline{font-size:.82rem}.title-aircraft-hero img{width:145%;transform:translate(-12%)}}@media(max-width:43rem){.title-layout{width:min(38rem,100%);grid-template-columns:1fr}.title-aircraft-hero{order:-1;height:clamp(8rem,30svh,14rem);margin-bottom:-2.5rem}.title-aircraft-hero img{width:min(30rem,110%);transform:translateY(-8%)}.title-actions{grid-template-columns:1fr}}#practice-screen,#practice-canvas{position:absolute;width:100%;height:100%;inset:0}#practice-canvas{display:block;touch-action:none}#practice-hud{position:absolute;top:max(.65rem,env(safe-area-inset-top));left:50%;z-index:3;display:grid;width:min(29rem,calc(100% - 12rem));padding:.6rem .8rem;grid-template-columns:1fr auto;gap:.3rem .75rem;align-items:center;border:1px solid rgb(255 255 255 / 44%);border-radius:1rem;background:#0c2232d6;transform:translate(-50%);backdrop-filter:blur(.5rem)}#practice-hud>div{display:grid;gap:.2rem}#practice-phase{color:#fff2a6;font-size:.72rem;text-transform:uppercase}#practice-objective{color:#ffffffc7;font-size:.68rem}#practice-time{grid-column:2;grid-row:1 / 3;font-size:1.2rem;font-variant-numeric:tabular-nums;font-weight:900}#practice-progress{width:100%;height:.38rem;border:0;accent-color:#ffd23f}#practice-actions{position:absolute;top:max(.65rem,env(safe-area-inset-top));left:max(.65rem,env(safe-area-inset-left));z-index:5;display:flex;gap:.45rem}#practice-actions a{text-decoration:none}#practice-camera-mode-button{position:relative;border-color:#7ed6ffbf;background:#0c2232e0}#practice-camera-mode-button[data-camera-mode=aerial]{border-color:#ffd23f;background:#26483feb;box-shadow:0 0 .8rem #ffd23f57}#practice-camera-mode-button .camera-follow-icon,#practice-camera-mode-button[data-camera-mode=aerial] .camera-map-icon{display:none}#practice-camera-mode-button[data-camera-mode=aerial] .camera-follow-icon{display:block}#practice-brief{position:absolute;top:max(.65rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:2;display:grid;max-width:14rem;padding:.5rem .7rem;border-radius:.85rem;background:#0c2232c2;backdrop-filter:blur(.5rem);text-align:right;pointer-events:none}#practice-brief strong{color:#7ed6ff;font-size:.68rem;text-transform:uppercase}#practice-brief span{font-size:.68rem}#practice-brief small{color:#ffffff9e;font-size:.6rem}#practice-mode-picker{position:absolute;inset:0;z-index:12;display:grid;gap:.55rem;place-content:center;place-items:center;padding:1rem;text-align:center;background:#05121de0}#practice-mode-picker h2{margin:0;color:#fff2a6}#practice-mode-picker p{margin:0;color:#ffffffbf}#practice-mode-picker>div{display:grid;min-width:min(22rem,calc(100vw - 2rem));gap:.45rem}.practice-mode-button{min-height:max(var(--aero-touch-min),2.6rem);border:1px solid #ffd23f;border-radius:.75rem;background:#ffd23f1f;color:#f7fbff;font:inherit;font-size:.78rem;font-weight:900;text-transform:uppercase;cursor:pointer}.practice-mode-button[aria-pressed=true]{color:#102b3a;background:#ffd23f}#practice-completion{position:absolute;top:50%;left:50%;z-index:20;display:grid;width:min(28rem,calc(100% - 2rem));padding:1.4rem;justify-items:center;border:2px solid #ffd23f;border-radius:1.3rem;background:#081d2df2;box-shadow:0 1.5rem 4rem #020b138c;text-align:center;transform:translate(-50%,-50%)}#practice-completion h2,#practice-completion p{margin:.3rem 0}#practice-completion h2{color:#fff2a6;text-transform:uppercase}#practice-completion small{color:#7ed6ff;font-weight:850;text-transform:uppercase}#practice-completion div{display:flex;margin-top:.8rem;gap:.65rem}#practice-completion button,#practice-completion a{min-height:max(var(--aero-touch-min),2.75rem);padding:.65rem 1rem;border:1px solid #ffd23f;border-radius:999px;background:#ffd23f;color:#102b3a;font:inherit;font-size:.75rem;font-weight:900;text-decoration:none;cursor:pointer}#orientation-lock{position:absolute;z-index:100;display:grid;padding:2rem;place-content:center;place-items:center;background:#05121dfa;text-align:center;inset:0}#orientation-lock h2,#orientation-lock p{margin:.25rem}#orientation-lock h2{color:#fff2a6;text-transform:uppercase}#orientation-lock p{color:#ffffffb8}.orientation-device{font-size:4rem;color:#7ed6ff}@media(orientation:landscape)and (max-height:30rem){#practice-mode-picker>div{width:min(40rem,calc(100vw - 2rem));grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}}body[data-screen=practice] #flight-hint{display:none}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}#game-canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none}#takeoff-hud{display:grid;grid-area:guidance;align-self:start;justify-self:center;justify-items:center;width:min(12.5rem,calc(100% - 1rem));padding:.3rem .44rem;gap:.16rem;overflow:hidden;border:1px solid var(--aero-line);border-radius:var(--aero-panel-radius);background:var(--aero-panel);box-shadow:0 .35rem 1rem var(--aero-shadow);backdrop-filter:blur(.38rem)}.telemetry-badge{display:inline-flex;align-items:center;gap:.25rem}.telemetry-icon{width:.82rem;height:.82rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}#session-hud{justify-items:end;pointer-events:none}#session-readout{display:grid;min-width:7.25rem;padding:.5rem .75rem;border:1px solid rgb(255 255 255 / 48%);border-radius:.9rem;background:#0c2232d1;box-shadow:0 .5rem 1.4rem #18435838;text-align:right;backdrop-filter:blur(.5rem)}#session-status{color:#f7fbffc7;font-size:clamp(.62rem,2vw,.72rem);font-weight:800;letter-spacing:.06em;text-transform:uppercase}#session-status[data-status=running]{color:#a7ffbe}#session-status[data-status=finished]{color:#ffd23f}#session-time{font-size:clamp(1.25rem,4vw,1.75rem);font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:.04em;line-height:1}#squad-hud{font-variant-numeric:tabular-nums;font-weight:900;pointer-events:none}.squad-team,.match-objective-stat{display:inline-flex;align-items:center;gap:.2rem}.squad-team svg,.match-objective-stat svg{width:.78rem;height:.78rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.squad-red{justify-content:flex-end}.squad-blue{color:#7ed6ff}.squad-red{color:#ff8c9d}.squad-aircraft-row{display:inline-flex;align-items:center;gap:.08rem}.squad-aircraft-icon{position:relative;display:inline-grid;width:.66rem;height:.72rem;place-items:center}.squad-aircraft-icon svg{width:.66rem;height:.66rem}.squad-aircraft-icon[data-active=false]{color:#05070b;filter:drop-shadow(0 0 .04rem rgb(255 255 255 / 72%));transform:scale(.84)}.squad-aircraft-icon[data-active=false]:after{position:absolute;width:.72rem;height:1px;background:#ffffffe0;box-shadow:0 0 .05rem #05070b;content:"";transform:rotate(-48deg)}.tower-status-row{display:inline-flex;align-items:center;gap:.05rem}.tower-status-icon{position:relative;display:inline-grid;width:.62rem;height:.7rem;place-items:center}.tower-status-icon svg{width:.62rem;height:.62rem}.tower-status-icon[data-status=destroyed]{color:#05070b;filter:drop-shadow(0 0 .04rem rgb(255 255 255 / 72%));transform:scale(.84)}.tower-status-icon[data-status=destroyed]:after{position:absolute;width:.68rem;height:1px;background:#ffffffe0;box-shadow:0 0 .05rem #05070b;content:"";transform:rotate(-48deg)}.squad-divider{color:#ffffff94;font-size:.58rem}#defeat-feed{position:absolute;top:calc(100% + .35rem);right:0;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;width:max-content;max-width:15rem;pointer-events:none}.defeat-card{display:inline-flex;align-items:center;white-space:nowrap;gap:.35rem;padding:.32rem .55rem;border:1px solid var(--aero-border, rgb(187 202 212 / 22%));border-radius:.45rem;background:var(--aero-panel-elevated, rgb(12 19 25 / 92%));box-shadow:0 .25rem .8rem #00000059;font-size:clamp(.6rem,1.7vw,.7rem);font-weight:800;backdrop-filter:blur(.4rem);animation:defeatCardSlideIn .18s ease-out forwards}.defeat-card[data-player-involved=true]{border-color:var(--aero-cab-amber, #d6a854);box-shadow:0 0 0 1px #d6a8544d,0 .25rem .8rem #0006}.defeat-killer,.defeat-victim{display:inline-flex;align-items:center;gap:.2rem;font-weight:900}.defeat-killer.team-blue,.defeat-victim.team-blue{color:var(--aero-blue)}.defeat-killer.team-red,.defeat-victim.team-red{color:var(--aero-red)}.defeat-icon{width:.8rem;height:.8rem;fill:currentColor;color:var(--aero-danger, #c86c64)}.defeat-action{color:var(--aero-text-secondary, #9eacb7);font-size:.58rem;font-weight:700;text-transform:lowercase}.defeat-badge{padding:.05rem .22rem;border-radius:.2rem;background:var(--aero-cab-amber, #d6a854);color:#0d151c;font-size:.52rem;font-weight:900}@keyframes defeatCardSlideIn{0%{opacity:0;transform:translateY(-.35rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}#announcer-hud{position:fixed;top:max(env(safe-area-inset-top),18svh);left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:.35rem;width:max-content;max-width:90vw;pointer-events:none}.announcer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.45rem 1.1rem;border:1px solid var(--aero-border, rgb(187 202 212 / 30%));border-radius:.5rem;background:var(--aero-panel-elevated, rgb(12 19 25 / 94%));box-shadow:0 .4rem 1.2rem #0000007f;backdrop-filter:blur(.5rem);text-align:center;animation:announcerSlideDown .22s cubic-bezier(.16,1,.3,1) forwards}.announcer-card[data-announcer-type=player-kill]{border-color:gold;background:linear-gradient(180deg,#2d230cf0,#0f141cf5);box-shadow:0 0 1.2rem #ffd70073,0 .4rem 1.2rem #0009}.announcer-card[data-announcer-type=player-death]{border-color:#ff4d4d;background:linear-gradient(180deg,#300f0ff0,#0f141cf5);box-shadow:0 0 1.2rem #ff4d4d59,0 .4rem 1.2rem #0009}.announcer-card[data-announcer-type=ally-kill]{border-color:var(--aero-blue);box-shadow:0 0 .8rem #68a6c94d,0 .4rem 1.2rem #0000007f}.announcer-card[data-announcer-type=enemy-kill]{border-color:var(--aero-red);box-shadow:0 0 .8rem #c66f6e4d,0 .4rem 1.2rem #0000007f}.announcer-title{font-size:clamp(.75rem,2.2vw,.95rem);font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 .12rem .3rem rgb(0 0 0 / 70%)}.announcer-combatant{font-weight:900}.announcer-combatant.team-blue{color:var(--aero-blue);text-shadow:0 0 .5rem rgb(104 166 201 / 45%),0 .12rem .3rem rgb(0 0 0 / 70%)}.announcer-combatant.team-red{color:var(--aero-red);text-shadow:0 0 .5rem rgb(198 111 110 / 45%),0 .12rem .3rem rgb(0 0 0 / 70%)}.announcer-card[data-announcer-type=player-kill] .announcer-title{color:#ffe680;text-shadow:0 0 .5rem rgb(255 215 0 / 60%)}.announcer-subtext{font-size:clamp(.55rem,1.4vw,.65rem);font-weight:700;color:var(--aero-text-secondary, #9eacb7);letter-spacing:.04em;margin-top:.1rem}@keyframes announcerSlideDown{0%{opacity:0;transform:translateY(-.6rem) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}#match-hud{pointer-events:none}.match-team{display:grid;min-width:0;gap:.2rem}.match-team-heading{display:flex;min-width:0;justify-content:space-between;gap:.35rem;align-items:baseline;font-size:clamp(.52rem,1.25vw,.66rem);font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}.match-red .match-team-heading{justify-content:flex-end}.match-blue .match-objective-stat{color:#7ed6ff}.match-red .match-objective-stat{color:#ff8c9d}.match-versus{color:#fff2a6;font-size:.72rem}#match-hud progress{display:block;width:100%;height:.48rem;overflow:hidden;border:0;border-radius:999px;background:#ffffff29}#match-hud progress::-webkit-progress-bar{background:#ffffff29}#blue-core::-webkit-progress-value{background:#45b9ff}#red-core::-webkit-progress-value{background:#ff5a75}#blue-core::-moz-progress-bar{background:#45b9ff}#red-core::-moz-progress-bar{background:#ff5a75}#match-hud progress[data-protection=protected]{outline:1px solid rgb(255 242 166 / 85%);box-shadow:0 0 .45rem #fff2a66b}#match-hud progress[data-feedback=shielded]{outline:3px solid #fff;box-shadow:0 0 .8rem #ffd23f}.core-state{color:#ffffffc7;font-size:clamp(.5rem,1.3vw,.64rem);font-variant-numeric:tabular-nums;font-weight:800}#session-hud,#squad-hud,.kda-hud,#match-hud{position:static;width:auto;min-width:0;padding:.48rem .62rem;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;backdrop-filter:none}#session-hud{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center}#squad-hud{display:grid;grid-template-columns:1fr auto 1fr;gap:.1rem .28rem;align-items:baseline;border-top:1px solid var(--aero-line);font-size:clamp(.58rem,1.45vw,.68rem);font-weight:750}.kda-hud{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.1rem .28rem;align-items:baseline;justify-items:center;padding-top:.35rem;padding-bottom:.35rem;border-top:1px solid var(--aero-line);font-size:clamp(.56rem,1.4vw,.66rem);font-weight:750;font-variant-numeric:tabular-nums;pointer-events:none}.kda-stat{display:inline-flex;align-items:baseline;gap:.2rem}.kda-stat abbr{color:var(--aero-text-muted);font-size:.85em;font-weight:700;text-decoration:none}.kda-stat output{color:var(--aero-text);font-weight:800}.kda-kills output{color:#7ed6ff}.kda-deaths output{color:#ff8c9d}.kda-assists output{color:#ffd166}.kda-divider{color:#ffffff59;font-size:.58rem}#match-hud{display:grid;grid-template-columns:1fr auto 1fr;gap:.55rem;align-items:center}#session-readout{display:grid;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:right;backdrop-filter:none}#session-status{color:var(--aero-text-muted);font-size:clamp(.58rem,1.5vw,.68rem);font-weight:700;letter-spacing:.12em}#session-status[data-status=running]{color:var(--aero-success)}#session-status[data-status=finished]{color:var(--aero-warning)}#session-time{color:var(--aero-text);font-size:clamp(1.2rem,3vw,1.55rem);font-weight:750}.squad-blue,.match-blue .match-objective-stat{color:var(--aero-blue)}.squad-red,.match-red .match-objective-stat{color:var(--aero-red)}.squad-divider,.core-state{color:var(--aero-text-muted)}.match-team-heading{gap:.3rem;font-size:clamp(.5rem,1.15vw,.6rem);font-weight:650}.match-versus{color:var(--aero-accent);font-size:.62rem}#match-hud progress{background:var(--aero-track)}#match-hud progress::-webkit-progress-bar{background:var(--aero-track)}#blue-core::-webkit-progress-value,#blue-core::-moz-progress-bar{background:var(--aero-blue-strong)}#red-core::-webkit-progress-value,#red-core::-moz-progress-bar{background:var(--aero-red-strong)}#match-hud progress[data-protection=protected]{outline-color:#d6a85494;box-shadow:none}#match-hud progress[data-feedback=shielded]{outline-color:var(--aero-accent-soft);box-shadow:0 0 .5rem #d6a85466}.core-state{font-size:clamp(.48rem,1.1vw,.58rem);font-weight:650}@media(max-width:68rem){.match-team-heading{font-size:.5rem}}@media(orientation:landscape)and (max-height:30rem){#match-hud,#session-hud{padding:.38rem .5rem}#takeoff-hud{width:min(11.75rem,calc(100% - 1rem));padding-block:.24rem}}@media(max-width:43rem){#match-hud{gap:.38rem}.match-team-heading{font-size:.46rem}}@media(prefers-reduced-motion:reduce){#takeoff-hud,#session-readout{backdrop-filter:none}.announcer-card{animation:none}}#flight-controls{position:absolute;z-index:1;inset:0;pointer-events:none;--action-row-gap: .85rem;--action-control-readout-gap: .38rem;--action-readout-height: 2.05rem;--rudder-gap: .85rem;--action-row-right: max( calc(2rem + var(--compact-button-size)), calc( env(safe-area-inset-right) + 1rem + var(--compact-button-size) ) );--stick-rest-left: max( calc( var(--compact-button-size) + var(--rudder-gap) + var(--stick-knob-size) / 2 + .75rem ), calc( env(safe-area-inset-left) + var(--compact-button-size) + var(--rudder-gap) + var(--stick-knob-size) / 2 ) )}#takeoff-readout{display:flex;gap:.35rem;align-items:center;margin:0;padding:.6rem .9rem;border:1px solid rgb(255 255 255 / 48%);border-radius:999px;background:#0c2232c7;box-shadow:0 .5rem 1.4rem #18435838;font-size:clamp(.72rem,2.5vw,.9rem);font-weight:800;letter-spacing:.035em;text-transform:uppercase;backdrop-filter:blur(.5rem)}#takeoff-progress{width:min(10rem,42vw);height:.35rem;overflow:hidden;border:0;border-radius:999px;background:#0c22328c;accent-color:#ffd23f}#takeoff-progress::-webkit-progress-bar{background:#0c22328c}#takeoff-progress::-webkit-progress-value{border-radius:999px;background:#ffd23f}#takeoff-progress::-moz-progress-bar{border-radius:999px;background:#ffd23f}#takeoff-guidance{max-width:min(24rem,calc(100vw - 1rem));padding:.3rem .55rem;border-radius:999px;background:#0c2232ad;color:#f7fbffeb;font-size:clamp(.6rem,1.9vw,.72rem);font-weight:750;text-align:center;white-space:nowrap}#takeoff-phase[data-phase=airborne]{color:#a7ffbe}.round-action-button{display:grid;width:var(--action-button-size, var(--aero-touch-primary));min-height:var(--action-button-size, var(--aero-touch-primary));padding:.45rem;place-content:center;border:2px solid rgb(255 255 255 / 75%);border-radius:50%;color:#fff;font:inherit;line-height:1.05;text-align:center;cursor:pointer;touch-action:none;user-select:none}.round-action-button:disabled{border-color:#ffffff59;background:#243a49a6;box-shadow:0 .18rem #162531a6;color:#ffffffa3;cursor:default}.round-action-button:focus-visible{outline:3px solid #ffd23f;outline-offset:3px}.action-icon{width:calc(var(--action-button-size) * .42);height:calc(var(--action-button-size) * .42);margin:auto;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}#icon-pause path,#icon-play path{fill:currentcolor;stroke:none}#steering-joystick{position:absolute;bottom:0;left:0;width:min(55vw,36rem);height:64%;border:0;outline:none;background:transparent;pointer-events:auto;touch-action:none}#steering-joystick:before{position:absolute;top:var(--joystick-origin-y, 0);left:var(--joystick-origin-x, 0);display:none;width:9rem;height:9rem;border:2px solid rgb(255 255 255 / 48%);border-radius:50%;background:#0c223229;box-shadow:inset 0 0 1.5rem #0718243d;content:"";transform:translate(-50%,-50%)}#steering-joystick[data-active=true]:before{display:block}#steering-joystick[data-active=true] #steering-knob{bottom:auto}#touch-camera-area{position:absolute;top:0;right:0;width:50vw;height:100vh;pointer-events:none;display:none;box-sizing:border-box}body[data-debug-touch-control-areas=true] #steering-joystick{outline:2px dashed rgb(160 160 160 / 85%);outline-offset:-2px}body[data-debug-touch-control-areas=true] #touch-camera-area{display:block;outline:2px dashed rgb(160 160 160 / 85%);outline-offset:-2px}#steering-joystick:focus-visible{outline:3px solid rgb(255 210 63 / 90%);outline-offset:-3px}#steering-knob{position:absolute;bottom:var(--stick-rest-bottom);left:var(--stick-rest-left);width:var(--stick-knob-size);aspect-ratio:1;border:2px solid rgb(255 255 255 / 75%);border-radius:50%;background:#ff3d68e0;box-shadow:0 .3rem .8rem #1c152f4d;transform:translate(-50%);will-change:transform}#steering-knob svg{position:absolute;top:50%;left:50%;width:58%;height:58%;fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transform:translate(-50%,-50%);pointer-events:none}#rudder-controls{position:absolute;bottom:var(--stick-rest-bottom);left:var(--stick-rest-left);z-index:2;display:flex;width:calc(var(--stick-knob-size) + 2 * (var(--compact-button-size) + var(--rudder-gap)));height:var(--stick-knob-size);justify-content:space-between;align-items:center;transform:translate(-50%);pointer-events:none}#rudder-controls .mini-round-button{pointer-events:auto}.mini-round-button{position:relative;display:grid;width:var(--compact-button-size, clamp(2.75rem, 8vw, 3.25rem));aspect-ratio:1;place-items:center;border:2px solid rgb(255 255 255 / 68%);border-radius:50%;background:#0c2232c7;box-shadow:0 .25rem .65rem #1c152f47;color:#fff;cursor:pointer;touch-action:none}.mini-round-button[aria-pressed=true]{background:#ff3d68;transform:translateY(2px)}.mini-round-button:disabled{border-color:#ffffff4d;background:#243a499e;box-shadow:none;color:#ffffff8c;cursor:default;opacity:.35;pointer-events:none;transform:none}.mini-round-button:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}.mini-round-button svg{width:62%;height:62%;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.throttle-up-button .afterburner-glyph{position:absolute;right:.15rem;bottom:.1rem;width:30%;height:30%}.throttle-up-button[data-afterburner=true] .afterburner-glyph{color:#63e7ff}#airspeed-gauge{position:absolute;bottom:var(--airspeed-gauge-bottom);left:calc(50% - var(--airspeed-gauge-size) * .22);z-index:2;width:var(--airspeed-gauge-size);height:var(--airspeed-gauge-size);border-radius:50%;background:#000;pointer-events:none;transform:translate(-50%)}#airspeed-gauge svg{display:block;width:100%;height:100%;overflow:visible}.altitude-gauge{position:absolute;bottom:var(--airspeed-gauge-bottom);left:calc(50% + var(--airspeed-gauge-size) * .44);z-index:2;width:calc(var(--airspeed-gauge-size) * .38);height:var(--airspeed-gauge-size);border:1px solid rgb(255 255 255 / 22%);border-radius:var(--aero-control-radius);background:#000;box-shadow:0 .2rem .6rem #0000007f;pointer-events:none;transform:translate(-50%)}.altitude-gauge svg{display:block;width:100%;height:100%;overflow:visible}.altitude-band-ground{fill:var(--aero-danger)}.altitude-band-arches{fill:var(--aero-accent)}.altitude-band-cruise{fill:#ffffff26}.altitude-band-clouds{fill:#39d9ff}.altitude-band-ceiling{fill:var(--aero-danger)}.altitude-tick{stroke:#ffffff8c;stroke-width:1.2}.altitude-tick.major{stroke:#ffffffd9;stroke-width:1.8}.altitude-tick-number{fill:#ffffffbf;font-size:8px;font-weight:700;font-variant-numeric:tabular-nums;font-family:inherit}.altitude-marker{fill:#ffd23f;stroke:#fff;stroke-width:.8}.altitude-marker-line{stroke:#ffd23f;stroke-width:1.6}.altitude-reading{position:absolute;bottom:.18rem;left:50%;color:#fff;font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;transform:translate(-50%)}.altitude-gauge[data-alert=true]{border-color:var(--aero-danger);box-shadow:0 0 10px #ff475799}.altitude-gauge[data-alert=true] .altitude-marker{fill:var(--aero-danger)}.altitude-gauge[data-layer=clouds]{border-color:#39d9ff}.airspeed-band{fill:none;stroke-width:7}.airspeed-band-danger{stroke:#b23f3a}.airspeed-band-normal{stroke:#4f9e63}.airspeed-band-caution{stroke:var(--aero-accent)}.airspeed-band-afterburner{stroke:#39d9ff}.airspeed-tick{stroke:#ffffffc7;stroke-width:1.4}.airspeed-tick.major{stroke:#ffffffeb;stroke-width:2.6}.airspeed-reference{stroke:#fff;stroke-width:4.4}.airspeed-afterburner-threshold{stroke:#63e7ff;stroke-width:4.4}.airspeed-limit{stroke:#e0473c;stroke-width:4.4}.airspeed-number{fill:#fff;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.airspeed-needle{fill:#f2f6f9}#airspeed-gauge[data-peg=above] .airspeed-needle,#airspeed-gauge[data-peg=below] .airspeed-needle{fill:#e0473c}.airspeed-hub{fill:#1b262e;stroke:#ffffff73;stroke-width:2}.airspeed-reading{position:absolute;bottom:.7rem;left:50%;display:none;color:#fff;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;transform:translate(-50%)}body[data-match-control-mode=observer] .airspeed-gauge .airspeed-reading{display:block}#throttle-controls{position:absolute;right:max(1rem,env(safe-area-inset-right));bottom:var(--action-row-bottom);z-index:3;display:grid;gap:.4rem;justify-items:center;pointer-events:auto}#throttle-level,#missile-targeting-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip-path:inset(50%);white-space:nowrap}#flight-altitude[data-alert=true]{color:#ff9a6a}#yaw-left-button svg{transform:scaleX(-1)}#flight-hint{position:absolute;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));margin:0;padding:.55rem .8rem;border-radius:.8rem;background:#0c22329e;color:#f7fbffeb;font-size:clamp(.7rem,2.4vw,.85rem);font-weight:700;pointer-events:none;transform:translate(-50%);white-space:nowrap}#landing-guidance{position:absolute;top:38%;left:50%;z-index:4;max-width:min(26rem,calc(100% - 2rem));margin:0;padding:.65rem 1.15rem;border:1px solid rgb(255 210 63 / 75%);border-radius:999px;background:#0c2232e5;box-shadow:0 .7rem 1.8rem #020b1373;color:#ffd23f;font-size:clamp(.8rem,3vw,1rem);font-weight:900;letter-spacing:.06em;text-align:center;text-transform:uppercase;pointer-events:none;transform:translate(-50%,-50%);backdrop-filter:blur(.5rem)}#weapon-controls{position:absolute;right:var(--action-row-right);bottom:var(--action-row-bottom);display:flex;gap:var(--action-row-gap);align-items:end;pointer-events:auto}.action-control{display:grid;gap:var(--action-control-readout-gap);justify-items:center}.action-control[hidden],.action-readout[hidden]{display:none}.action-readout{display:grid;min-width:calc(var(--action-button-size, var(--aero-touch-primary)) * .9);height:var(--action-readout-height);padding:.15rem .34rem;place-content:center;border:1px solid var(--aero-line);border-radius:.36rem;background:#091219d1;box-shadow:0 .25rem .6rem #02080c47;color:var(--aero-text);line-height:1;pointer-events:none;text-align:center;backdrop-filter:blur(.35rem);white-space:nowrap}.weapon-button{background:#ff5c4ae5;box-shadow:0 .35rem #a72f36,0 .7rem 1.1rem #18183438}.weapon-button[data-ready=true]{border-color:#fff6a2}.weapon-button:not(:disabled):active{box-shadow:0 .12rem #a72f36;transform:translateY(.23rem)}.bomb-control-cluster{display:flex;align-items:center}.bomb-cancel-button{position:relative;display:grid;flex:0 0 var(--aero-touch-min);width:var(--aero-touch-min);height:var(--aero-touch-min);min-width:var(--aero-touch-min);min-height:var(--aero-touch-min);margin-left:.42rem;padding:.55rem;place-items:center;border:2px solid rgb(255 255 255 / 78%);border-radius:50%;background:#4b2535eb;box-shadow:0 .25rem #48202f,0 .55rem .9rem #18183438;color:#fff;cursor:pointer;touch-action:manipulation}.bomb-cancel-button:before{position:absolute;top:50%;right:100%;width:.42rem;height:2px;background:#ffffffad;content:"";transform:translateY(-50%)}.bomb-cancel-button[hidden]{display:none}.bomb-cancel-button:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}.bomb-cancel-button:not(:disabled):active{box-shadow:0 .08rem #48202f;transform:translateY(.17rem)}.bomb-cancel-button svg{width:100%;height:100%;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-width:2.4}.bomb-action-control .weapon-button[data-prepared=true]{border-color:#ffd23f;box-shadow:0 .35rem #a72f36,0 0 0 .24rem #ffd23f57}.missile-button{--missile-targeting-color: var(--aero-text-muted, rgb(255 255 255 / 64%));position:relative;height:var(--action-button-size, var(--aero-touch-primary));background:#e05b2cf0;box-shadow:0 .35rem #8b3b25,0 .7rem 1.1rem #18183438}.missile-button[data-targeting-state=range]{--missile-targeting-color: var(--aero-warning)}.missile-button[data-targeting-state=align]{--missile-targeting-color: var(--aero-accent-soft)}.missile-button[data-targeting-state=locked]{--missile-targeting-color: var(--aero-success)}.missile-button[data-ready=true]{border-color:#ffd76a;box-shadow:0 .35rem #8b3b25,0 0 .9rem #ffd76a8c}.missile-readiness-ring{position:absolute;z-index:0;inset:-.18rem;border-radius:50%;color:var(--missile-targeting-color);pointer-events:none;mask:radial-gradient(circle,transparent 61%,#000 64%)}.missile-targeting-glyph-frame{position:relative;display:grid;width:.82rem;height:.82rem;flex:0 0 auto;place-content:center}.missile-targeting-feedback{--missile-targeting-color: var(--aero-text-muted, rgb(255 255 255 / 64%));position:fixed;z-index:7;top:calc(50% + 3rem);left:50%;display:flex;gap:.22rem;align-items:center;min-height:1.45rem;padding:.18rem .42rem;border:1px dashed color-mix(in srgb,currentcolor 68%,transparent);border-radius:.28rem;background:#091219d6;box-shadow:0 .3rem .7rem #02080c52;color:var(--missile-targeting-color);line-height:1;pointer-events:none;transform:translate(-50%,-50%);white-space:nowrap}.missile-targeting-feedback[hidden]{display:none}.missile-targeting-feedback[data-state=range]{--missile-targeting-color: var(--aero-warning);border-style:solid}.missile-targeting-feedback[data-state=align]{--missile-targeting-color: var(--aero-accent-soft);border-radius:999px}.missile-targeting-feedback[data-state=locked]{--missile-targeting-color: var(--aero-success);border-style:solid;border-radius:999px;background:color-mix(in srgb,var(--missile-targeting-color) 18%,rgb(9 18 25 / 82%))}.missile-targeting-glyph{display:none;width:.76rem;height:.76rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.missile-targeting-feedback[data-state=lost] [data-targeting-glyph=lost],.missile-targeting-feedback[data-state=range] [data-targeting-glyph=range],.missile-targeting-feedback[data-state=align] [data-targeting-glyph=align],.missile-targeting-feedback[data-state=locked] [data-targeting-glyph=locked]{display:block}.missile-targeting-status{font-size:clamp(.6rem,1.7vw,.68rem);font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:.025em;text-transform:uppercase}.missile-target-indicator{position:fixed;z-index:7;display:flex;gap:.28rem;align-items:center;min-height:1.55rem;padding:.2rem .48rem;border:1px solid currentcolor;border-radius:999px;background:#091219e0;box-shadow:0 .35rem .8rem #02080c59;color:var(--aero-warning);font-size:clamp(.58rem,1.8vw,.72rem);font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:.04em;pointer-events:none;transform:translate(-50%,-50%);white-space:nowrap}.missile-target-indicator[hidden]{display:none}.missile-target-indicator[data-state=align]{color:var(--aero-accent-soft)}.missile-target-indicator[data-state=locked]{color:var(--aero-success)}.missile-target-direction{display:inline-grid;width:.8rem;height:.8rem;place-content:center;transform-origin:center}.weapon-state{min-height:.68rem;font-size:clamp(.62rem,1.9vw,.76rem);font-variant-numeric:tabular-nums;font-weight:750}.weapon-ammo{font-size:clamp(.66rem,2vw,.8rem);font-variant-numeric:tabular-nums;font-weight:900;white-space:nowrap}.weapon-ammo[data-penalized=true]{color:var(--aero-danger)}.weapon-ammo[data-penalized=true]:after{content:"▾";margin-left:.15rem;font-size:.7em}.ability-button{background:#5e47beeb;box-shadow:0 .35rem #49328f,0 .7rem 1.1rem #18183438}#contextual-controls{position:absolute;right:var(--action-row-right);bottom:calc(var(--action-row-bottom) + var(--action-button-size) + var(--action-control-readout-gap) + var(--action-readout-height) + var(--action-row-gap));z-index:4;display:flex;gap:var(--action-row-gap);align-items:end;pointer-events:auto}#takeoff-readout{display:flex;align-items:center;width:100%;justify-content:space-between;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--aero-text);font-size:clamp(.58rem,1.45vw,.68rem);font-weight:700;letter-spacing:.08em;backdrop-filter:none}#takeoff-progress{width:100%;height:.2rem;background:var(--aero-track);accent-color:var(--aero-accent)}#takeoff-progress::-webkit-progress-bar{background:var(--aero-track)}#takeoff-progress::-webkit-progress-value,#takeoff-progress::-moz-progress-bar{background:var(--aero-accent)}#takeoff-guidance{max-width:100%;padding:0;overflow:hidden;border-radius:0;background:transparent;color:var(--aero-text-muted);font-size:clamp(.5rem,1.2vw,.58rem);font-weight:650;text-overflow:ellipsis}#takeoff-phase[data-phase=airborne]{color:var(--aero-success)}.round-action-button{border-color:var(--aero-line-strong);color:var(--aero-text)}.round-action-button:disabled{border-color:var(--aero-line);background:#1a262eb8;box-shadow:0 .16rem #070d1199;color:var(--aero-text-muted)}.round-action-button:focus-visible,.mini-round-button:focus-visible,#steering-joystick:focus-visible{outline-color:var(--aero-focus)}.weapon-button,.ability-button{background:var(--aero-control);box-shadow:0 .28rem #15242c,0 .65rem 1rem var(--aero-shadow)}#primary-button{border-color:#68a6c9a3}#secondary-button{border-color:#c66f6e99}#missile-button{border-color:#d6a854a3}.weapon-button[data-ready=true],.ability-button:not(:disabled){border-color:var(--aero-accent)}.weapon-button:not(:disabled):active,.ability-button:not(:disabled):active{background:var(--aero-control-pressed);box-shadow:0 .1rem #15242c}#steering-joystick:before{border-color:var(--aero-line-strong);background:#0d151c42;box-shadow:inset 0 0 1.5rem #04090d42}#steering-knob{border-color:var(--aero-line-strong);background:var(--aero-panel-strong);box-shadow:0 .3rem .8rem var(--aero-shadow)}#steering-knob svg{stroke:var(--aero-accent-soft)}.mini-round-button{border-color:var(--aero-line-strong);background:var(--aero-panel);box-shadow:0 .25rem .65rem var(--aero-shadow);color:var(--aero-text-muted)}.mini-round-button[aria-pressed=true]{background:var(--aero-accent);color:#171d20}#throttle-level{background:var(--aero-track);accent-color:var(--aero-accent)}#throttle-level::-webkit-progress-bar{background:var(--aero-track)}#throttle-level::-webkit-progress-value,#throttle-level::-moz-progress-bar{background:var(--aero-accent)}#flight-hint{border:1px solid var(--aero-line);border-radius:var(--aero-control-radius);background:var(--aero-panel);box-shadow:0 .4rem 1rem var(--aero-shadow);color:var(--aero-text-muted)}@media(orientation:landscape)and (max-height:30rem){#flight-hint{display:none}}@media(orientation:landscape)and (max-height:32rem){#flight-controls{--action-row-gap: .55rem;--rudder-gap: .55rem}}@media(orientation:portrait)and (max-width:56rem){#flight-hint{bottom:max(4.5rem,calc(env(safe-area-inset-bottom) + 3.5rem))}#steering-joystick{height:calc(64% + 4.5rem)}}@media(max-width:43rem){#flight-hint{display:none}}@media(prefers-reduced-motion:reduce){#takeoff-readout{backdrop-filter:none}}.dev-camera-panel{display:flex;flex-direction:column;gap:.6rem}.dev-camera-mode-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.dev-observer-controls{display:flex;flex-direction:column;gap:.5rem;margin-top:.2rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.dev-observer-field{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--aero-text-muted)}.dev-camera-panel select,.dev-camera-panel .dev-observer-mode-button{min-height:var(--aero-touch-min);border:1px solid rgb(126 214 255 / 55%);border-radius:.3rem;background:var(--aero-panel-strong);color:var(--aero-text)}.dev-observer-hud{position:fixed;bottom:var(--airspeed-gauge-bottom);left:calc(50% + var(--airspeed-gauge-size) * .65 + .75rem);z-index:8;display:grid;min-width:13rem;padding:.35rem .65rem;border:1px solid var(--aero-accent);border-radius:.4rem;background:#0c2232e0;color:var(--aero-text);text-align:center;pointer-events:none}.dev-observer-hud[data-team=red]{border-color:var(--aero-red)}.dev-observer-hud>strong{font-size:.74rem;letter-spacing:.06em}.dev-observer-hud span{color:var(--aero-text-muted);font-size:.72rem;letter-spacing:.08em}.dev-observer-assignment{color:var(--aero-accent);font-weight:800}.dev-observer-tactical{position:fixed;bottom:var(--airspeed-gauge-bottom);left:max(.5rem,env(safe-area-inset-left));z-index:8;max-width:min(22rem,42vw);padding:.4rem .6rem;border:1px solid var(--aero-accent);border-radius:.4rem;background:#0c2232e0;color:var(--aero-text);pointer-events:none}.dev-observer-tactical[data-team=red]{border-color:var(--aero-red)}.dev-observer-tactical-rows{display:grid;margin:0;gap:.1rem .5rem;grid-template-columns:auto 1fr}.dev-observer-tactical-row{display:contents}.dev-observer-tactical-row dt{color:var(--aero-text-muted);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dev-observer-tactical-row dd{margin:0;font-size:.68rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}.dev-observer-tactical-row dd[data-state=engaged]{color:var(--aero-accent)}.dev-observer-tactical-row dd[data-state=inhibited]{color:var(--aero-warning)}.dev-observer-tactical-row dd[data-state=hidden]{color:var(--aero-red)}.dev-observer-tactical-row dd[data-state=alert]{color:var(--aero-red);font-weight:800}.dev-observer-tactical-row dd[data-state=idle]{color:var(--aero-text-muted)}.dev-camera-mode-option{padding:.3rem .75rem;border:1px solid transparent;border-radius:.25rem;background:transparent;color:#a4c9e8;font-size:.85rem;font-weight:600;text-align:left;cursor:pointer;pointer-events:auto}.dev-camera-mode-option:hover{background:#ffffff1a;color:#fff}.dev-camera-mode-option.active{border-color:#22c55e;background:#22c55e40;color:#fff}#camera-mode-button{border-color:#7ed6ffbf;background:#0c2232e0}#camera-reset-button{position:absolute;bottom:max(8rem,calc(env(safe-area-inset-bottom) + 7.25rem));left:max(4.5rem,calc(env(safe-area-inset-left) + 3.75rem));z-index:4;border-color:#8bd3ff;background:#185a8ceb;pointer-events:auto}.audio-disabled-indicator{position:absolute;top:-.45rem;left:50%;z-index:2;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:50%;border:1px solid rgb(255 255 255 / 65%);background:#5b2020;color:#fff;transform:translate(-50%)}.audio-disabled-indicator svg{width:.72rem;height:.72rem;stroke-width:2.2}#camera-mode-button[data-camera-mode=aerial]{border-color:#ffd23f;background:#26483feb;box-shadow:0 0 .8rem #ffd23f57}#camera-mode-button[data-camera-mode=free]{border-color:#22c55e;background:#0f412aeb;box-shadow:0 0 .8rem #22c55e73}#camera-mode-button .camera-follow-icon,#camera-mode-button[data-camera-mode=aerial] .camera-map-icon,#camera-mode-button[data-camera-mode=free] .camera-map-icon{display:none}#camera-mode-button[data-camera-mode=aerial] .camera-follow-icon,#camera-mode-button[data-camera-mode=free] .camera-follow-icon{display:block}.utility-menu-controls{display:flex;gap:.4rem;align-items:center}.utility-menu-controls button{pointer-events:auto}.utility-menu-controls a{text-decoration:none;pointer-events:auto}#settings-button{border-color:#7ed6ffbf}#pause-button{border-color:#ffd23fc7}#utility-controls{display:grid;grid-area:rail;align-self:end;justify-self:start;gap:.18rem;padding:.18rem;border:1px solid var(--aero-line);border-radius:var(--aero-panel-radius);background:var(--aero-panel);box-shadow:0 .35rem 1rem var(--aero-shadow);backdrop-filter:blur(.38rem);pointer-events:auto}#camera-mode-button,.utility-menu-controls{position:static}.utility-menu-controls{display:grid;gap:.18rem}#utility-controls .hud-icon-button{min-width:max(var(--aero-touch-min),2.65rem);min-height:max(var(--aero-touch-min),2.65rem);border:0;border-radius:var(--aero-control-radius);background:transparent;color:var(--aero-text-muted)}#utility-controls .hud-icon-button:hover{background:var(--aero-panel-soft);color:var(--aero-text)}#camera-mode-button[data-camera-mode=aerial],#camera-mode-button[data-camera-mode=free]{border:0;background:var(--aero-control-pressed);box-shadow:inset .16rem 0 var(--aero-accent);color:var(--aero-accent-soft)}#settings-button,#pause-button{border-color:transparent}.upgrades-rail-button{display:inline-flex;align-items:center;justify-content:center;min-width:max(var(--aero-touch-min),2.65rem);min-height:max(var(--aero-touch-min),2.65rem);border:1px solid rgb(255 210 63 / 45%);border-radius:var(--aero-control-radius);background:var(--aero-panel-soft);color:var(--aero-accent-soft);cursor:pointer;touch-action:manipulation;pointer-events:auto}.upgrades-rail-button svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.upgrades-rail-button:hover{background:var(--aero-control-pressed);color:var(--aero-text)}.upgrades-rail-button[aria-expanded=true]{border-color:var(--aero-accent);background:var(--aero-control-pressed);color:var(--aero-text);box-shadow:inset .16rem 0 var(--aero-accent)}.upgrades-rail-button:focus-visible{outline:3px solid var(--aero-focus);outline-offset:2px}@media(orientation:landscape)and (max-height:30rem){.utility-control-grid{--utility-cell: max(var(--aero-touch-min), 2.65rem);grid-template-columns:repeat(2,var(--utility-cell));grid-auto-rows:var(--utility-cell)}.utility-menu-controls{display:contents}.utility-control-grid .hud-icon-button,.utility-control-grid .upgrades-rail-button{width:var(--utility-cell);min-width:0;height:var(--utility-cell);min-height:0}}@media(prefers-reduced-motion:reduce){#utility-controls{backdrop-filter:none}}.menu-overlay{position:absolute;z-index:30;display:grid;overflow-y:auto;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));place-items:center;background:#05121dc2;backdrop-filter:blur(.55rem);inset:0}.menu-card{position:relative;width:min(38rem,100%);max-height:100%;overflow-y:auto;border:1px solid rgb(255 255 255 / 24%);border-radius:1.15rem;background:#0a1e2df7;box-shadow:0 1.5rem 4rem #020b139e}.settings-card{width:min(42rem,100%)}.pause-card{width:min(64rem,70vw)}.credits-card{width:min(34rem,100%)}.credits-list{display:grid;padding:1rem 1.25rem 1.25rem;gap:1.1rem}.credits-group{display:grid;gap:.4rem}.credits-group h2{margin:0;color:#f7fbff9e;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.credits-group ul{display:grid;margin:0;padding:0;gap:.2rem;list-style:none}.credits-group li{color:#fff;font-size:.9rem;font-weight:650}.menu-header{display:flex;min-height:4.8rem;padding:1rem 1rem .85rem 1.25rem;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgb(255 255 255 / 12%)}.menu-header h1,.menu-header small{margin:0}.menu-header h1{color:#fff2a6;font-size:clamp(1.35rem,4vw,1.8rem);letter-spacing:.08em;line-height:1;text-transform:uppercase}.menu-header small{display:block;margin-bottom:.3rem;color:#f7fbff9e;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.menu-close-button{display:grid;width:max(var(--aero-touch-min),3rem);height:max(var(--aero-touch-min),3rem);flex:0 0 auto;padding:0;place-items:center;border:1px solid rgb(255 255 255 / 42%);border-radius:50%;background:#ffffff0f;color:#fff;cursor:pointer;touch-action:manipulation}.menu-close-button svg,.audio-toggle-pill svg,.menu-primary-button svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}#audio-settings-panel,.player-settings-panel,.key-bindings-panel,#game-settings-panel,.game-settings-category-panel,#tutorial-settings-panel{margin:1rem;padding:1rem;border:1px solid rgb(255 255 255 / 14%);border-radius:.95rem;background:#ffffff0d}.key-bindings-list,.key-bindings-category{display:grid;gap:.45rem}.settings-section-heading.key-bindings-feedback{position:sticky;z-index:2;top:0;display:grid;margin:-1rem -1rem .75rem;padding:.75rem 1rem;align-items:stretch;gap:0;border-bottom:1px solid var(--aero-line);background:var(--aero-panel-strong);box-shadow:0 .45rem .8rem #020b1342}.key-bindings-category+.key-bindings-category{margin-top:1rem}.key-bindings-category h3{margin:.35rem 0 0;color:#7ed6ff;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.key-binding-row{display:grid;grid-template-columns:minmax(9rem,1fr) repeat(2,minmax(6.25rem,.72fr));align-items:center;gap:.45rem}.key-binding-row strong{color:#fff;font-size:.76rem}.key-binding-row button{min-height:var(--aero-touch-min);border:1px solid rgb(255 255 255 / 22%);border-radius:.65rem;background:#ffffff0f;color:#fff;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}.key-binding-row button[data-capturing=true]{border-color:#ffd23f;background:#ffd23f29}.key-bindings-reset-actions,.key-bindings-confirmation{display:flex;margin-top:1rem;flex-wrap:wrap;align-items:center;gap:.55rem}.key-bindings-confirmation{margin-top:.55rem;padding-top:.75rem;border-top:1px solid rgb(255 255 255 / 14%)}.key-bindings-confirmation p{min-width:100%;margin:0;color:#f7fbffb8;font-size:.75rem}.settings-section-heading{display:flex;min-height:3rem;align-items:center;justify-content:space-between;gap:1rem}.settings-section-heading h2,.settings-section-heading p{margin:0}.player-settings-heading{margin-top:.8rem}.player-settings-heading h3,.player-settings-heading p{margin:0}.player-settings-heading h3{color:#7ed6ff;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.player-settings-heading p{margin-top:.15rem;color:#f7fbff9e;font-size:.66rem}.player-settings-segmented{display:grid;margin-top:.55rem;overflow:hidden;grid-template-columns:repeat(2,1fr);border:1px solid rgb(255 255 255 / 22%);border-radius:.75rem}.player-settings-segmented button{min-height:max(var(--aero-touch-min),2.75rem);border:0;border-right:1px solid rgb(255 255 255 / 15%);background:transparent;color:#fff;font:inherit;font-size:.7rem;font-weight:850;cursor:pointer;touch-action:manipulation}.player-settings-segmented button[aria-pressed=true]{background:#7ed6ff;color:#102b3a}.player-settings-toggle{display:grid;width:100%;min-height:max(var(--aero-touch-min),2.75rem);margin-top:.8rem;padding:.5rem .65rem;grid-template-columns:auto minmax(0,1fr) auto;gap:.1rem .55rem;align-items:center;border:1px solid rgb(255 255 255 / 22%);border-radius:.75rem;background:transparent;color:#fff;cursor:pointer;font:inherit;text-align:left;touch-action:manipulation}.player-settings-toggle[aria-pressed=true]{border-color:#7ed6ffc7;background:#7ed6ff24}.player-settings-toggle-icon{width:1.3rem;height:1.3rem;grid-row:1 / -1;grid-column:1;fill:none;stroke:currentcolor;stroke-width:2}.player-settings-toggle strong{grid-row:1;grid-column:2;font-size:.7rem;font-weight:850;text-transform:uppercase}.player-settings-toggle small{grid-column:2 / -1;font-size:.6rem;line-height:1.35}.player-settings-toggle-effect{grid-row:2;color:#ffffffd1}.player-settings-toggle-hint{grid-row:3;color:#ffffff85}.player-settings-toggle-switch{position:relative;width:1.95rem;height:1.05rem;grid-row:1;grid-column:3;border:1px solid rgb(255 255 255 / 38%);border-radius:999px;background:#ffffff1a}.player-settings-toggle-switch:after{position:absolute;top:50%;left:.15rem;width:.65rem;height:.65rem;border-radius:50%;background:#ffffffb8;content:"";transform:translateY(-50%);transition:left .12s ease,background .12s ease}.player-settings-toggle[aria-pressed=true] .player-settings-toggle-switch{border-color:#7ed6ff;background:#7ed6ff73}.player-settings-toggle[aria-pressed=true] .player-settings-toggle-switch:after{left:calc(100% - .8rem);background:#eafaff}.player-settings-rudder-note{display:grid;min-width:0;margin:.8rem 0 0;padding:.5rem .65rem;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:center;border:1px dashed rgb(255 255 255 / 22%);border-radius:.75rem;color:#ffffffd1;font-size:.6rem;line-height:1.35}.player-settings-sensor-policy{display:block;margin-top:.55rem;color:#ffffff8a;font-size:.62rem;text-align:center}.settings-section-heading h2{display:flex;align-items:center;gap:.5rem;color:#7ed6ff;font-size:1rem;letter-spacing:.06em;text-transform:uppercase}.settings-section-heading h2 svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.settings-section-heading p{margin-top:.15rem;color:#f7fbff9e;font-size:.7rem}.tutorial-entry-list{display:grid;margin:.35rem 0 0;padding:0;gap:.35rem;list-style:none}.tutorial-entry{display:flex;min-height:3rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-top:1px solid rgb(255 255 255 / 12%)}.tutorial-entry-label{display:grid;min-width:0;gap:.1rem}.tutorial-entry-label strong{font-size:.82rem}.tutorial-entry-label small{color:#f7fbff9e;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.tutorial-entry[data-tutorial-completed=true] .tutorial-entry-label small{color:#7ed6ff}.tutorial-entry[data-tutorial-enabled=false] .tutorial-entry-label{opacity:.6}.tutorial-entry-toggle{min-width:4.5rem;margin-left:auto}.audio-toggle-pill,.settings-text-button,.menu-primary-button{display:inline-flex;min-height:max(var(--aero-touch-min),2.75rem);padding:.55rem 1rem;align-items:center;justify-content:center;gap:.5rem;border:1px solid rgb(255 255 255 / 28%);border-radius:999px;background:#ffffff12;color:#fff;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;touch-action:manipulation}.audio-toggle-pill[data-audio-state=ready],.audio-toggle-pill[data-tutorial-enabled=true]{border-color:#7ed6ff;box-shadow:0 0 .7rem #7ed6ff3d}.audio-toggle-pill[data-audio-state=muted]{border-color:#ffd23f}.audio-toggle-pill .audio-muted-icon,.audio-toggle-pill[data-audio-state=muted] .audio-on-icon,.audio-toggle-pill[data-audio-state=unavailable] .audio-on-icon{display:none}.audio-toggle-pill[data-audio-state=muted] .audio-muted-icon,.audio-toggle-pill[data-audio-state=unavailable] .audio-muted-icon{display:block}.audio-slider-list{display:grid;margin-top:.8rem}.settings-slider-row{display:grid;min-height:4.25rem;grid-template-columns:minmax(7.5rem,.8fr) minmax(10rem,2fr) 2.5rem;gap:.75rem;align-items:center;border-top:1px solid rgb(255 255 255 / 10%)}.settings-slider-row>span{display:grid;gap:.12rem}.settings-slider-row strong{font-size:.82rem}.settings-slider-row small{color:#f7fbff8a;font-size:.65rem}.settings-slider-row input{width:100%;min-height:max(var(--aero-touch-min),2.75rem);accent-color:#ffd23f;cursor:pointer;touch-action:manipulation}.settings-slider-row output{color:#fff2a6;font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:900;text-align:right}#audio-settings-panel[data-audio-state=muted] .settings-slider-row{opacity:.64}.audio-toggle-pill:disabled,.settings-text-button:disabled,.settings-slider-row input:disabled{cursor:not-allowed;opacity:.55}.menu-tabs{display:grid;margin:1rem 1rem 0;overflow:hidden;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid rgb(255 255 255 / 18%);border-radius:.7rem}.menu-tabs button{display:flex;min-height:max(var(--aero-touch-min),2.75rem);align-items:center;justify-content:center;gap:.4rem;border:0;background:#ffffff0a;color:#f7fbffb8;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}.menu-tabs button svg{width:1rem;height:1rem;fill:currentcolor;stroke:none}.menu-tabs button .menu-tab-stroke-icon{fill:none;stroke:currentcolor;stroke-width:2}.menu-tabs button+button{border-left:1px solid rgb(255 255 255 / 16%)}.menu-tabs button[aria-selected=true]{background:#ffd23f;color:#102b3a}.menu-tab-panel{padding:1rem}.tabbed-card{display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.tabbed-card>.menu-tab-panel{padding:0;overflow-y:auto}.pause-settings-panel{padding:0;overflow-y:auto}.pause-settings-panel>.menu-tab-panel{padding:0}.pause-settings-tabs{margin:1rem 1rem 0}#pause-overview-panel{display:grid;min-height:15rem;place-items:center;align-content:center;gap:1rem;text-align:center}#pause-overview-panel p{max-width:25rem;margin:0;color:#f7fbffb8;font-size:.82rem}.pause-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.pause-actions svg{width:1rem;height:1rem;fill:currentcolor;stroke:none}.pause-emblem{width:3.5rem;height:3.5rem;padding:.85rem;border:1px solid rgb(255 210 63 / 56%);border-radius:50%;fill:#ffd23f}.menu-primary-button{min-width:9.5rem;border-color:#ffd23f;background:#ffd23f;color:#102b3a}.menu-primary-button svg{fill:currentcolor;stroke:none}.menu-close-button:focus-visible,.audio-toggle-pill:focus-visible,.settings-text-button:focus-visible,.menu-primary-button:focus-visible,.menu-tabs button:focus-visible,.key-binding-row button:focus-visible,.player-settings-segmented button:focus-visible,.player-settings-toggle:focus-visible,.settings-slider-row input:focus-visible{outline:3px solid #ffd23f;outline-offset:3px}.scoreboard-card{width:min(46rem,100%)}.scoreboard-meta{display:flex;align-items:baseline;justify-content:center;gap:.75rem;margin:0;padding:.6rem 1rem;border-bottom:1px solid rgb(255 255 255 / 12%);font-variant-numeric:tabular-nums}.scoreboard-team-kills{font-size:clamp(1rem,3vw,1.25rem);font-weight:800}.scoreboard-meta-label,.scoreboard-clock{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scoreboard-clock{margin-left:.5rem}.scoreboard-team{padding:.7rem 0 .2rem}.scoreboard-team-header{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:0 1rem .35rem}.scoreboard-team-header h2{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.scoreboard-table{width:100%;border-collapse:collapse;font-size:clamp(.7rem,2vw,.8rem);font-variant-numeric:tabular-nums;table-layout:fixed}.scoreboard-table th{padding:.2rem .35rem;font-size:.6rem;font-weight:700;letter-spacing:.09em;text-align:right;text-transform:uppercase}.scoreboard-table td{padding:.32rem .35rem;border-top:1px solid rgb(255 255 255 / 10%);text-align:right}.scoreboard-table th:first-child,.scoreboard-table td:first-child,.scoreboard-table th:nth-child(2),.scoreboard-table td:nth-child(2){padding-left:1rem;text-align:left}.scoreboard-table th:nth-child(2),.scoreboard-table td:nth-child(2){padding-left:.35rem}.scoreboard-table th:last-child,.scoreboard-table td:last-child{padding-right:1rem}.scoreboard-table th:first-child{width:28%}.scoreboard-table th:nth-child(2){width:22%}.scoreboard-table abbr{text-decoration:none}.scoreboard-callsign{display:flex;align-items:center;gap:.4rem;min-width:0}.scoreboard-callsign span{overflow:hidden;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.scoreboard-player-badge{flex:none;padding:.05rem .3rem;border-radius:999px;font-size:.55rem;font-weight:900;letter-spacing:.06em}.menu-overlay{background:#050a0ec7;backdrop-filter:blur(.45rem)}.menu-card{border-color:var(--aero-line-strong);border-radius:.8rem;background:var(--aero-panel-strong);box-shadow:0 1.5rem 4rem var(--aero-shadow)}.menu-header{border-bottom-color:var(--aero-line)}.menu-header h1,.settings-section-heading h2{color:var(--aero-text)}.menu-header small,.settings-section-heading p,.settings-slider-row small,.credits-group h2,#pause-overview-panel p{color:var(--aero-text-muted)}.credits-group li{color:var(--aero-text)}.menu-close-button,.audio-toggle-pill,.settings-text-button,.menu-primary-button,.menu-tabs,.menu-tabs button,#audio-settings-panel,#game-settings-panel,.game-settings-category-panel,#tutorial-settings-panel{border-color:var(--aero-line);background:var(--aero-panel-soft);color:var(--aero-text)}.audio-toggle-pill[data-audio-state=ready],.audio-toggle-pill[data-tutorial-enabled=true]{border-color:var(--aero-blue);box-shadow:none}.audio-toggle-pill[data-audio-state=muted]{border-color:var(--aero-warning)}.settings-slider-row{border-top-color:var(--aero-line)}.settings-slider-row input{accent-color:var(--aero-accent)}.settings-slider-row output{color:var(--aero-accent-soft)}.menu-tabs button+button{border-left-color:var(--aero-line)}.menu-tabs button[aria-selected=true],.menu-primary-button{border-color:var(--aero-accent);background:var(--aero-accent);color:#171d20}.pause-emblem{border-color:var(--aero-accent);fill:var(--aero-accent)}.menu-close-button:focus-visible,.audio-toggle-pill:focus-visible,.settings-text-button:focus-visible,.menu-primary-button:focus-visible,.menu-tabs button:focus-visible,.settings-slider-row input:focus-visible{outline-color:var(--aero-focus)}.match-secondary-button:focus-visible,.scoreboard-overlay button:focus-visible{outline:3px solid var(--aero-focus);outline-offset:3px}.scoreboard-meta,.scoreboard-table td{border-color:var(--aero-line)}.scoreboard-meta-label,.scoreboard-clock,.scoreboard-table th,.scoreboard-doctrine{color:var(--aero-text-muted)}.scoreboard-team-kills[data-team=blue],.scoreboard-team-header h2[data-team=blue]{color:var(--aero-blue)}.scoreboard-team-kills[data-team=red],.scoreboard-team-header h2[data-team=red]{color:var(--aero-red)}.scoreboard-table td{color:var(--aero-text)}.scoreboard-level{background:var(--aero-track)}.scoreboard-table tr[data-player=true]{background:#d6a85417}.scoreboard-table tr[data-player=true] td:first-child{box-shadow:inset .18rem 0 var(--aero-accent)}.scoreboard-player-badge{background:var(--aero-accent);color:#171d20}@media(orientation:landscape)and (max-height:30rem){.menu-overlay{place-items:start center}.menu-header{min-height:3.8rem;padding-block:.65rem}#audio-settings-panel,.player-settings-panel,.key-bindings-panel,#game-settings-panel,.game-settings-category-panel,#tutorial-settings-panel{margin-block:.65rem;padding-block:.65rem}.key-bindings-feedback{margin-block-start:-.65rem;padding-block:.55rem}.settings-slider-row{min-height:3.35rem}}@media(max-width:43rem){.key-binding-row{grid-template-columns:minmax(0,1fr) repeat(2,minmax(5.25rem,.72fr))}}@media(max-width:43rem){.settings-section-heading{align-items:flex-start;flex-direction:column}.audio-toggle-pill{width:100%}.settings-slider-row{padding:.65rem 0;grid-template-columns:1fr 2.5rem;gap:.15rem .75rem}.settings-slider-row input{grid-column:1 / -1}.settings-slider-row output{grid-column:2;grid-row:1}}@media(prefers-reduced-motion:reduce){.menu-overlay{backdrop-filter:none}}.scoreboard-level{display:inline-grid;min-width:1.2rem;padding:.05rem .25rem;border-radius:var(--aero-control-radius);font-size:.66rem;place-items:center}.scoreboard-doctrine{overflow:hidden;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.scoreboard-table tr[data-down=true]{opacity:.55}.match-overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.25rem}.match-secondary-button{display:inline-flex;min-height:max(var(--aero-touch-min),3rem);padding:.65rem 1.1rem;align-items:center;gap:.4rem;border:1px solid rgb(255 255 255 / 32%);border-radius:var(--aero-control-radius);background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:800;letter-spacing:.04em;text-transform:uppercase;touch-action:manipulation;border-color:var(--aero-line-strong);color:var(--aero-text)}.match-secondary-button svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentcolor;stroke-width:2}.hud-icon-button,#dev-speed-menu button{min-width:max(var(--aero-touch-min),3rem);min-height:max(var(--aero-touch-min),3rem);border:1px solid rgb(255 255 255 / 65%);border-radius:.85rem;background:#0c2232e0;color:#fff;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer;touch-action:manipulation}.hud-icon-button{display:flex;gap:.28rem;align-items:center;justify-content:center}.hud-icon-button svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}#dev-speed-menu{display:grid;margin-top:.4rem;padding:.35rem;grid-template-columns:repeat(2,1fr);gap:.3rem;border:1px solid rgb(255 255 255 / 42%);border-radius:1rem;background:#081926e5;box-shadow:0 .65rem 1.5rem #050f1861}.dev-debug-modal{position:absolute;top:50%;left:50%;z-index:12;display:flex;flex-direction:column;width:min(36rem,calc(100% - 2rem));max-height:calc(100% - 2rem);padding:1rem;gap:.8rem;border:1px solid var(--aero-line, rgba(255, 255, 255, .2));border-radius:var(--aero-panel-radius, .8rem);background:var(--aero-panel-strong, rgba(12, 28, 42, .95));box-shadow:0 1rem 3rem var(--aero-shadow, rgba(0, 0, 0, .5));transform:translate(-50%,-50%);color:#fff}.dev-debug-header{display:flex;align-items:center;justify-content:space-between}.dev-debug-header h2{margin:0;font-size:1.1rem}.dev-debug-tabs{display:flex;gap:.35rem;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:.4rem;overflow-x:auto;scrollbar-width:thin}.dev-debug-tab{padding:.4rem .65rem;border:none;border-radius:.4rem;background:transparent;color:#ffffffa6;font-size:.85rem;font-weight:700;white-space:nowrap;cursor:pointer}.dev-debug-tab.active,.dev-debug-tab[aria-selected=true]{background:#1888ff40;color:#52a9ff}.dev-debug-content{display:flex;flex-direction:column;gap:.8rem;min-height:0;overflow-y:auto}.dev-debug-fieldset{display:flex;flex-direction:column;gap:.6rem;padding:.8rem;border:1px solid rgba(255,255,255,.15);border-radius:.5rem}.dev-debug-fieldset legend{padding:0 .4rem;font-size:.85rem;font-weight:700;color:#ffffffb3}.dev-debug-toggle-label{display:flex;align-items:center;gap:.6rem;font-size:.95rem;cursor:pointer;user-select:none}.dev-debug-toggle-label input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:#1888ff;cursor:pointer}.dev-debug-button-row{display:flex;flex-wrap:wrap;gap:.4rem}.dev-debug-button-row button,.dev-debug-btn-action{padding:.45rem .8rem;border:1px solid rgba(255,255,255,.2);border-radius:.4rem;background:#ffffff14;color:#fff;font-size:.85rem;cursor:pointer}.dev-debug-button-row button:hover,.dev-debug-btn-action:hover{background:#ffffff2e}.dev-debug-help{margin:0;font-size:.8rem;color:#fff9}.dev-position-readout{display:flex;flex-direction:column;gap:.4rem;padding:.6rem;border-radius:.4rem;background:#00000047;border:1px solid rgba(255,255,255,.1)}.dev-position-row{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;font-size:.85rem}.dev-position-item strong{color:#52a9ff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.dev-trace-filters{display:flex;flex-wrap:wrap;gap:.4rem .6rem}.dev-trace-filter{display:grid;gap:.15rem;font-size:.7rem;color:#fff9;text-transform:uppercase;letter-spacing:.04em}.dev-trace-select,.dev-trace-input{min-width:5.5rem;padding:.25rem .35rem;border:1px solid rgba(255,255,255,.2);border-radius:.3rem;background:#00000059;color:#fff;font-size:.8rem;text-transform:none}.dev-trace-status{min-height:1rem;font-size:.75rem;color:#7fd18ce6}.dev-trace-log{max-height:13rem;margin:0;padding:.4rem .5rem;overflow:auto;border:1px solid rgba(255,255,255,.15);border-radius:.3rem;background:#0006;color:#d6e2f0f2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}#dev-resources-menu{position:absolute;top:50%;left:50%;z-index:11;display:grid;width:min(66rem,calc(100% - 2rem));max-height:calc(100% - 2rem);padding:.8rem;gap:.7rem;overflow-y:auto;border:1px solid var(--aero-line);border-radius:var(--aero-panel-radius);background:var(--aero-panel-strong);box-shadow:0 1rem 3rem var(--aero-shadow);transform:translate(-50%,-50%)}#dev-resources-menu header{display:flex;gap:.55rem;align-items:center;justify-content:space-between}#dev-resources-menu h2{margin:0;font-size:1rem}.dev-resource-scroll{max-height:55vh;overflow:auto;overscroll-behavior:contain}.dev-resource-table{width:100%;border-collapse:collapse;font-size:.72rem}.dev-resource-table th,.dev-resource-table td{padding:.2rem .3rem;text-align:left;white-space:nowrap}.dev-resource-table thead th{position:sticky;top:0;z-index:1;background:var(--aero-panel-strong);font-weight:750}.dev-resource-table tbody th{font-weight:700}.dev-resource-team{display:inline-block;min-width:2.1rem;margin-right:.4rem;padding:.08rem .3rem;border:1px solid currentColor;border-radius:var(--aero-control-radius);font-size:.6rem;font-weight:700;text-align:center;text-transform:uppercase}.dev-resource-team[data-team=blue]{color:var(--aero-blue)}.dev-resource-team[data-team=red]{color:var(--aero-red)}.dev-resource-pair{display:inline-flex;align-items:center;gap:.35rem}.dev-resource-value{min-height:max(var(--aero-touch-min),2.2rem);display:inline-flex;align-items:center;justify-content:center;min-width:2.7rem;padding:.35rem .45rem;border:1px solid var(--aero-line-strong);border-radius:var(--aero-control-radius);background:#1624328c;color:var(--aero-text-muted);text-align:center}.dev-resource-import{width:5rem;min-height:max(var(--aero-touch-min),2.4rem);padding:.35rem .45rem;border:1px solid var(--aero-line-strong);border-radius:var(--aero-control-radius);background:var(--aero-control);color:var(--aero-text);font:inherit}.dev-resource-row-action{min-width:4.1rem;min-height:max(var(--aero-touch-min),2.2rem);border:1px solid var(--aero-line-strong);border-radius:var(--aero-control-radius);background:#ffffff1a;color:var(--aero-text);font:inherit;font-size:.72rem}.dev-resource-row-action:hover{background:#fff3}#dev-resources-status{min-height:1rem;color:var(--aero-text-muted);font-size:.7rem}#dev-speed-menu button:focus-visible,.hud-icon-button:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}#dev-freeze-button[data-frozen=true]{border-color:#ffd23f;background:#7e2834f0}#dev-freeze-button svg{fill:currentcolor;stroke:none}#dev-freeze-button .resume-icon,#dev-freeze-button[data-frozen=true] .freeze-icon{display:none}#dev-freeze-button[data-frozen=true] .resume-icon{display:block}#toast-hud{position:absolute;bottom:calc(var(--hud-control-band) + .6rem);left:50%;z-index:12;max-width:calc(100% - 2rem);padding:.6rem 1rem;border-radius:999px;background:#08121aeb;box-shadow:0 .6rem 1.5rem #040c1261;color:#fff;font-size:clamp(.78rem,2.5vw,.95rem);font-weight:800;text-align:center;transform:translate(-50%);pointer-events:none}.hud-icon-button,#dev-speed-menu button{border-color:var(--aero-line);border-radius:var(--aero-control-radius);background:var(--aero-panel);color:var(--aero-text)}#dev-speed-menu{border-color:var(--aero-line);border-radius:var(--aero-panel-radius);background:var(--aero-panel-strong);box-shadow:0 .65rem 1.5rem var(--aero-shadow)}#dev-freeze-button[data-frozen=true]{border-color:var(--aero-danger);background:#57343a}.dev-simulation-speed-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dev-simulation-speed-label{font-size:.85rem;color:var(--aero-text-muted, rgba(255, 255, 255, .7))}.dev-simulation-speed-label strong{color:#52a9ff;font-size:.95rem}.dev-freeze-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem}.dev-freeze-action-btn svg{width:.95rem;height:.95rem;fill:currentColor;stroke:none}.dev-speed-button-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem}.dev-speed-button-grid button{padding:.45rem .2rem;border:1px solid rgba(255,255,255,.2);border-radius:.4rem;background:#ffffff14;color:#fff;font-size:.85rem;font-weight:700;text-align:center;cursor:pointer}.dev-speed-button-grid button:hover{background:#ffffff2e}.hud-icon-button:focus-visible,#dev-speed-menu button:focus-visible{outline-color:var(--aero-focus)}#toast-hud{border:1px solid var(--aero-line);border-radius:var(--aero-control-radius);background:var(--aero-panel);box-shadow:0 .4rem 1rem var(--aero-shadow);color:var(--aero-text-muted)}.tutorial-overlay{position:fixed;z-index:90;pointer-events:none;inset:0}.tutorial-spotlight{position:fixed;border:2px solid var(--aero-focus);border-radius:var(--aero-control-radius);box-shadow:0 0 0 9999px #02080ec7;pointer-events:none}.tutorial-card{position:fixed;width:min(22rem,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);overflow-y:auto;padding:1.1rem 1.25rem;border:1px solid rgb(255 255 255 / 28%);border-radius:.9rem;background:var(--aero-panel-strong);box-shadow:0 1.25rem 3rem #020b139e;pointer-events:auto}.tutorial-card-title{margin:0 0 .4rem;color:#fff2a6;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.tutorial-card-body{margin:0;color:var(--aero-text);font-size:.85rem;line-height:1.45}.tutorial-card-body b{color:var(--aero-focus);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.tutorial-card-actions{display:flex;margin-top:1rem;gap:.5rem}.tutorial-card-actions-between{justify-content:space-between}.tutorial-card-actions button{min-height:max(var(--aero-touch-min),2.75rem);padding:.55rem 1.1rem;border-radius:999px;border:1px solid rgb(255 255 255 / 32%);background:#ffffff12;color:var(--aero-text);font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;touch-action:manipulation}.tutorial-card-actions .tutorial-primary-button{margin-left:auto;border-color:var(--aero-focus);background:var(--aero-focus);color:#102b3a}.tutorial-card-actions-between .tutorial-primary-button{margin-left:0}.tutorial-card-actions button:focus-visible{outline:3px solid var(--aero-focus);outline-offset:3px}#game-status,#game-error{position:absolute;z-index:1;border:1px solid rgb(255 255 255 / 45%);border-radius:999px;background:#0c2232c7;box-shadow:0 .5rem 1.4rem #18435838;font-size:clamp(.75rem,2.6vw,.95rem);font-weight:750;letter-spacing:.02em;backdrop-filter:blur(.5rem)}#game-status{top:max(.75rem,env(safe-area-inset-top));left:max(.75rem,env(safe-area-inset-left));padding:.65rem .9rem}#game-error{top:50%;left:50%;width:min(32rem,calc(100% - 2rem));padding:1rem 1.2rem;border-color:#ffbabab3;border-radius:1rem;background:#681622e5;text-align:center;transform:translate(-50%,-50%)}#game-status[data-state=ready]{border-color:#a7ffbeb3;background:#0d533ec7}#game-status,#game-error{border-color:var(--aero-line);border-radius:var(--aero-panel-radius);background:var(--aero-panel-strong);box-shadow:0 .5rem 1.4rem var(--aero-shadow)}#game-status{top:50%;left:50%;transform:translate(-50%,-50%)}#game-status[data-state=ready]{display:none}@media(max-width:43rem){#game-status{max-width:6.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(prefers-reduced-motion:reduce){#game-status,#game-error{backdrop-filter:none}}#sortie-hud{pointer-events:none}.sortie-heading,.sortie-level{display:flex;align-items:center}.sortie-heading{justify-content:space-between;gap:.45rem;font-size:.65rem}.sortie-heading strong{color:#fff2a6;font-size:.76rem}.sortie-level{gap:.16rem;color:var(--aero-text-muted);font-size:.62rem;font-weight:650;white-space:nowrap}.sortie-level output{color:var(--aero-text);font-variant-numeric:tabular-nums;font-weight:750}.player-xp-track{position:relative;width:100%;height:.22rem}#player-xp{display:block;width:100%;height:.22rem;overflow:hidden;border:0;border-radius:999px;background:var(--aero-track);accent-color:#ffd166}.player-xp-track progress::-webkit-progress-bar{border:0;background:transparent}.player-xp-track progress::-webkit-progress-value{border-radius:999px;background:var(--player-xp-fill, #ffd166)}.player-xp-track progress::-moz-progress-bar{border-radius:999px;background:var(--player-xp-fill, #ffd166)}.player-xp-pending{position:absolute;top:0;left:0;height:.22rem;border-radius:0 999px 999px 0;background:#b8f5ff}.sortie-return-xp{display:block;margin-top:.18rem;color:#b8f5ff;font-size:.56rem;font-weight:700;white-space:nowrap}.fuel-readout{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip-path:inset(50%);white-space:nowrap}#doctrine-panel,#upgrade-panel{position:absolute;top:50%;left:50%;z-index:5;width:min(44rem,calc(100% - 2rem));padding:.75rem;border:1px solid rgb(255 255 255 / 62%);border-radius:1rem;background:#0a1c2be8;box-shadow:0 1rem 3rem #020b137a;transform:translate(-50%,-50%);backdrop-filter:blur(.75rem)}#doctrine-panel h2,#upgrade-panel h2{margin:0 0 .55rem;color:#fff2a6;font-size:.9rem;text-align:center;text-transform:uppercase}.upgrade-panel-header{display:flex;gap:.45rem;align-items:center;justify-content:space-between}.upgrade-panel-header h2{text-align:left}.doctrine-grid,.upgrade-system-grid{display:grid;gap:.45rem}.doctrine-grid{grid-template-columns:repeat(5,1fr)}.doctrine-grid button{min-height:3.2rem;padding:.48rem;border:1px solid rgb(255 255 255 / 45%);border-radius:.7rem;background:#253e51eb;color:#fff;font:inherit;cursor:pointer;touch-action:manipulation}.doctrine-card{display:grid;gap:.25rem;text-align:left}.doctrine-card[data-selected=true],.doctrine-card[aria-pressed=true]{border-color:#ffd23f;background:#484d6bf5;box-shadow:0 0 .7rem #ffd23f59}.doctrine-card:hover{background:#425f7bf5}.doctrine-card-name{color:#fff;font-size:.66rem;font-weight:750;letter-spacing:.02em}.doctrine-grid small{color:#ffffffb8;font-size:.58rem;line-height:1.25}.doctrine-loadout{margin-top:.55rem;padding-top:.5rem;border-top:1px solid rgb(255 255 255 / 26%)}.doctrine-loadout h3{margin:0 0 .45rem;color:#fff2a6;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.doctrine-loadout-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem;grid-template-columns:repeat(5,minmax(0,1fr))}.doctrine-loadout-list li{display:flex;align-items:center;justify-content:space-between;gap:.45rem;min-height:1.85rem;padding:.1rem .15rem}.doctrine-loadout-list li span{display:inline-flex;align-items:center;gap:.32rem;min-width:0;color:#ffffffc7;font-size:.58rem;line-height:1.25}.doctrine-loadout-list svg{width:.82rem;height:.82rem;fill:none;stroke:currentcolor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.doctrine-loadout-list strong{color:#fff;font-size:.65rem;letter-spacing:.02em;white-space:nowrap}.upgrade-panel-header>div{display:grid;gap:.15rem}.upgrade-points{color:#fff2a6;font-size:.68rem;font-variant-numeric:tabular-nums}.upgrade-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;margin-top:.55rem;padding-bottom:.45rem;border-bottom:1px solid rgb(255 255 255 / 24%)}.upgrade-tabs button{min-height:var(--aero-touch-min);padding:.4rem .6rem;border:1px solid rgb(255 255 255 / 32%);border-radius:.55rem;background:#193042eb;color:#ffffffb8;font-family:inherit;font-size:.68rem;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation}.upgrade-tabs button[aria-selected=true]{border-color:#ffd23f;background:#484d6bf5;color:#fff}.upgrade-system-panel{min-height:10.8rem;padding-top:.5rem}.upgrade-system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upgrade-card{min-height:max(var(--aero-touch-min),5rem);padding:.55rem;border:1px solid rgb(255 255 255 / 36%);border-radius:.7rem;background:#253e51eb;color:#fff;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.upgrade-card,.upgrade-card-heading{display:flex;justify-content:space-between;gap:.35rem}.upgrade-card{flex-direction:column}.upgrade-card-heading{align-items:center;font-size:.72rem;font-weight:750}.upgrade-card-heading>span{color:#fff2a6;font-variant-numeric:tabular-nums}.upgrade-card small{color:#ffffffad;font-size:.59rem;line-height:1.25}.upgrade-rank-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem}.upgrade-rank-bar i{height:.38rem;border:1px solid rgb(255 255 255 / 25%);border-radius:999px;background:#05111bb8}.upgrade-rank-bar i[data-filled=true]{border-color:#ffd23f;background:#ffd23f;box-shadow:0 0 .45rem #ffd23f4d}.upgrade-effect{color:#fff;font-size:.61rem;font-variant-numeric:tabular-nums;line-height:1.3}.upgrade-card[data-max=true]{border-color:#ffd23f8f}.upgrade-card:disabled:not([data-max=true]){cursor:default;opacity:.58}.doctrine-grid button:focus-visible,.upgrade-tabs button:focus-visible,.upgrade-card:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}.upgrade-panel-header .settings-text-button{min-height:max(var(--aero-touch-min),2.4rem);border-color:#ffd23f;background:#ffd23f;color:#102b3a;font-size:.73rem}#sortie-hud{position:static;display:grid;width:auto;min-width:0;padding:.38rem .5rem;gap:.24rem;border:0;border-bottom:1px solid var(--aero-line);border-radius:0;background:transparent;box-shadow:none;transform:none;backdrop-filter:none}.sortie-heading strong{color:var(--aero-accent-soft);font-size:.7rem}#player-xp{--player-xp-fill: var(--aero-accent);accent-color:var(--aero-accent)}#doctrine-panel,#upgrade-panel{width:min(44rem,calc(100% - 2rem));padding:.65rem;border-color:var(--aero-line-strong);border-radius:.72rem;background:var(--aero-panel-strong);box-shadow:0 1rem 3rem var(--aero-shadow);backdrop-filter:blur(.55rem)}#doctrine-panel h2,#upgrade-panel h2{color:var(--aero-text);font-size:.76rem;font-weight:750;letter-spacing:.12em}.upgrade-panel-header h2{margin:0}.doctrine-grid,.upgrade-system-grid{gap:.34rem}.doctrine-grid button{min-height:max(var(--aero-touch-min),3rem);border-color:var(--aero-line);border-radius:var(--aero-control-radius);background:var(--aero-panel-soft);color:var(--aero-text)}.upgrade-tabs{border-bottom-color:var(--aero-line-strong)}.upgrade-tabs button{border-color:var(--aero-line);background:var(--aero-panel-soft);color:var(--aero-text-muted)}.upgrade-tabs button[aria-selected=true]{border-color:var(--aero-accent);background:var(--aero-control-pressed);color:var(--aero-text);box-shadow:inset 0 -.16rem var(--aero-accent)}.upgrade-card{min-height:max(var(--aero-touch-min),5rem);border-color:var(--aero-line);border-radius:var(--aero-control-radius);background:var(--aero-panel-soft);color:var(--aero-text)}.upgrade-points,.upgrade-card-heading>span{color:var(--aero-accent-soft)}.upgrade-card small{color:var(--aero-text-muted)}.upgrade-rank-bar i{border-color:var(--aero-line);background:#050a0eb8}.upgrade-rank-bar i[data-filled=true]{border-color:var(--aero-accent);background:var(--aero-accent);box-shadow:0 0 .45rem #ffb34742}.doctrine-card{background:linear-gradient(145deg,#1f2f40eb,#17212fe0)}.doctrine-grid button:hover,.upgrade-card:not(:disabled):hover{border-color:var(--aero-line-strong);background:var(--aero-control-pressed)}.doctrine-card:hover{background:linear-gradient(145deg,#2b4e74eb,#1c2d40e0)}.doctrine-grid button[data-selected=true]{border-color:var(--aero-accent);background:#384657f5;box-shadow:inset .18rem 0 var(--aero-accent)}.doctrine-card[data-selected=true],.doctrine-card[aria-pressed=true]{background:var(--aero-control-pressed);box-shadow:inset .18rem 0 var(--aero-accent)}.doctrine-card-name{color:var(--aero-text)}.doctrine-grid small{color:var(--aero-text-muted)}.doctrine-loadout{border-top-color:var(--aero-line-strong)}.doctrine-loadout h3{color:var(--aero-accent-soft)}.doctrine-loadout-list li{border:1px solid rgb(151 177 203 / 28%);border-radius:.4rem;background:#060b104d}.doctrine-loadout-list li span{color:var(--aero-text-muted)}.doctrine-loadout-list svg{stroke:var(--aero-accent-soft)}.doctrine-loadout-list strong{color:var(--aero-text)}.doctrine-grid button:focus-visible,.upgrade-tabs button:focus-visible,.upgrade-card:focus-visible{outline-color:var(--aero-focus)}@media(orientation:landscape){#doctrine-panel{top:50%;left:auto;right:calc(max(1rem,env(safe-area-inset-right)) + var(--compact-button-size) + .75rem);width:min(24rem,40vw);transform:translateY(-50%)}.doctrine-grid,.doctrine-loadout-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(orientation:landscape)and (max-height:30rem){#sortie-hud{gap:.18rem}#doctrine-panel{right:calc(max(1rem,env(safe-area-inset-right)) + var(--compact-button-size) + .75rem);width:min(22rem,44vw);padding:.5rem}#upgrade-panel{top:56%;width:min(42rem,calc(100% - 8rem));padding:.5rem}.doctrine-grid button,.upgrade-card{min-height:max(var(--aero-touch-min),2.7rem)}.doctrine-loadout-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}}@media(orientation:portrait)and (max-width:56rem){#doctrine-panel,#upgrade-panel{top:53%}}@media(max-width:43rem){.doctrine-grid{grid-template-columns:1fr;max-height:54vh;overflow-y:auto}.doctrine-loadout-list{grid-template-columns:1fr}.upgrade-system-panel{max-height:48vh;overflow-y:auto}}.alert-overlay{position:absolute;z-index:1;inset:0;pointer-events:none}.alert-overlay-hull,.alert-overlay-fuel,.alert-overlay-missile,.alert-overlay-flash{position:absolute;inset:0;opacity:0;transition:opacity .18s ease-out}.alert-overlay-hull{background:radial-gradient(ellipse closest-side at 50% 50%,#d6443c00 56%,#d6443c85)}.alert-overlay-fuel{background:radial-gradient(ellipse closest-side at 50% 50%,#ffa82e00 58%,#ffa82e7a)}.alert-overlay-missile{background:radial-gradient(ellipse closest-side at 50% 50%,#ff2a2a00 48%,#ff2a2a8f)}.alert-overlay-flash{background:radial-gradient(ellipse closest-side at 50% 50%,#ff605400 30%,#ff605494);transition:opacity 90ms ease-out}.alert-overlay[data-hull=warning] .alert-overlay-hull{opacity:.45}.alert-overlay[data-hull=critical] .alert-overlay-hull{--alert-overlay-pulse-low: .6;--alert-overlay-pulse-high: 1;opacity:.8;animation:alertOverlayPulse .9s ease-in-out infinite}.alert-overlay[data-fuel=warning] .alert-overlay-fuel{opacity:.45}.alert-overlay[data-fuel=critical] .alert-overlay-fuel{--alert-overlay-pulse-low: .5;--alert-overlay-pulse-high: .9;opacity:.7;animation:alertOverlayPulse 1.1s ease-in-out infinite}.alert-overlay[data-fuel=emergency] .alert-overlay-fuel{--alert-overlay-pulse-low: .62;--alert-overlay-pulse-high: 1;opacity:.85;animation:alertOverlayPulse .62s ease-in-out infinite}.alert-overlay[data-threat=missile] .alert-overlay-missile{--alert-overlay-pulse-low: .45;--alert-overlay-pulse-high: .95;opacity:.85;animation:alertOverlayPulse .42s ease-in-out infinite}.alert-overlay[data-flash=damage] .alert-overlay-flash{opacity:1;transition:none}.alert-overlay-banner{position:absolute;top:63%;left:50%;padding:.24rem .7rem;border:1px solid rgb(255 214 120 / 62%);border-radius:999px;background:#0c1a24d1;color:#ffd166;font-size:.68rem;font-weight:850;letter-spacing:.09em;text-shadow:0 1px 0 rgb(0 0 0 / 70%);text-transform:uppercase;transform:translate(-50%);white-space:nowrap}.alert-overlay[data-fuel=emergency] .alert-overlay-banner,.alert-overlay[data-hull=critical] .alert-overlay-banner{border-color:#ff847ab8;color:#ff9a92}.alert-overlay[data-threat=missile] .alert-overlay-banner{border-color:#ff5a52d9;color:#ff7266;animation:alertOverlayPulse .42s ease-in-out infinite}.hit-marker{position:absolute;top:50%;left:50%;z-index:4;width:2.6rem;height:2.6rem;opacity:0;pointer-events:none;transform:translate(-50%,-50%)}.hit-marker-arm{position:absolute;top:50%;left:50%;width:.62rem;height:.16rem;border-radius:999px;background:#fff;box-shadow:0 0 .3rem #04090dd9}.hit-marker-arm-nw{transform:translate(-1.1rem,-.9rem) rotate(45deg)}.hit-marker-arm-ne{transform:translate(.48rem,-.9rem) rotate(-45deg)}.hit-marker-arm-sw{transform:translate(-1.1rem,.74rem) rotate(-45deg)}.hit-marker-arm-se{transform:translate(.48rem,.74rem) rotate(45deg)}.hit-marker-label{position:absolute;top:-1.35rem;left:50%;color:#ffd166;font-size:.66rem;font-weight:850;letter-spacing:.12em;text-shadow:0 1px 0 rgb(0 0 0 / 80%);text-transform:uppercase;transform:translate(-50%);white-space:nowrap}.hit-marker[data-state=hit]{opacity:1;animation:hitMarkerPop .16s ease-out}.hit-marker[data-state=kill]{opacity:1;animation:hitMarkerPop .26s ease-out}.hit-marker[data-state=kill] .hit-marker-arm{width:.82rem;height:.2rem;background:#ffd166}@keyframes alertOverlayPulse{0%,to{opacity:var(--alert-overlay-pulse-low)}50%{opacity:var(--alert-overlay-pulse-high)}}@keyframes hitMarkerPop{0%{transform:translate(-50%,-50%) scale(1.5)}to{transform:translate(-50%,-50%) scale(1)}}.xp-gain-feedback-surface{position:fixed;z-index:4;pointer-events:none;inset:0}.xp-gain-feedback{position:absolute;top:0;left:0;width:0;height:0;will-change:transform}.xp-gain-slot{position:absolute;top:-1.45rem;left:0;min-width:max-content;padding:.18rem .42rem;border:1px solid rgb(255 226 125 / 68%);border-radius:999px;background:#0c1a24c7;box-shadow:0 .25rem .7rem #04090d61;color:#ffe27d;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:850;line-height:1;text-shadow:0 1px 0 rgb(0 0 0 / 70%);white-space:nowrap}.xp-gain-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){.xp-gain-feedback{will-change:auto}}#incoming-missile{position:absolute;top:max(7.4rem,calc(env(safe-area-inset-top) + 7.15rem));left:50%;z-index:4;border:1px solid #ffd23f;font-weight:900;text-align:center;text-transform:uppercase;transform:translate(-50%)}#combat-hud:after{position:fixed;inset:0;border:0 solid rgb(255 61 95 / 0%);content:"";opacity:0;transition:opacity 80ms linear,border-width 80ms linear;pointer-events:none}#combat-hud[data-damaged=true]:after{border-width:clamp(.45rem,2vw,1rem);opacity:1}#team-badge{text-transform:uppercase}#health-row{display:flex;justify-content:space-between;gap:.6rem;font-variant-numeric:tabular-nums}#player-health{display:block;width:100%;overflow:hidden;border:0;border-radius:999px}#player-health::-webkit-progress-value{border-radius:999px}#player-health::-moz-progress-bar{border-radius:999px}#respawn-overlay{position:absolute;top:50%;left:50%;z-index:4;display:grid;width:min(21rem,calc(100% - 2rem));padding:1.1rem 1.35rem;gap:.25rem;border:2px solid rgb(255 123 112 / 75%);text-align:center;transform:translate(-50%,-50%);pointer-events:none;backdrop-filter:blur(.7rem)}#respawn-overlay strong{font-size:clamp(1.15rem,4vw,1.55rem);text-transform:uppercase}#respawn-overlay span{font-size:clamp(.95rem,3vw,1.15rem);font-variant-numeric:tabular-nums;font-weight:750}#respawn-overlay small{color:#ffffffb8;font-size:.72rem}#boundary-return-overlay{position:absolute;top:50%;left:50%;z-index:5;display:grid;width:min(22rem,calc(100% - 2rem));padding:1.1rem 1.35rem;gap:.35rem;border:2px solid rgb(255 180 50 / 80%);border-radius:1.15rem;background:#2d1c0aeb;box-shadow:0 1rem 3rem #2012057f;text-align:center;transform:translate(-50%,-50%);pointer-events:none;backdrop-filter:blur(.7rem)}#boundary-return-overlay strong{color:#ffd23f;font-size:clamp(1.1rem,3.8vw,1.45rem);text-transform:uppercase;letter-spacing:.03em}#boundary-return-overlay span{color:#fff;font-size:clamp(.9rem,2.8vw,1.1rem);font-weight:700}#boundary-return-overlay small{color:#ffffffbf;font-size:.72rem}#refuel-overlay{position:absolute;top:50%;left:50%;z-index:5;display:grid;width:min(22rem,calc(100% - 2rem));padding:1.1rem 1.35rem;gap:.45rem;border:2px solid rgb(32 201 151 / 75%);border-radius:1.15rem;background:#0a262beb;box-shadow:0 1rem 3rem #0212187f;text-align:center;transform:translate(-50%,-50%);pointer-events:none;backdrop-filter:blur(.7rem)}#refuel-overlay strong{color:#a7ffbe;font-size:clamp(1.1rem,3.8vw,1.45rem);text-transform:uppercase;letter-spacing:.03em}#refuel-progress{display:block;width:100%;height:.75rem;margin-top:.25rem;overflow:hidden;border:0;border-radius:999px;background:#ffffff2e}#refuel-progress::-webkit-progress-bar{background:#ffffff2e}#refuel-progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,#20c997,#7ed6ff)}#refuel-progress::-moz-progress-bar{border-radius:999px;background:#20c997}#refuel-time{color:#ffd23f}#refuel-overlay small{color:#ffffffbf;font-size:.72rem}#match-overlay{position:absolute;top:50%;left:50%;z-index:10;display:grid;width:min(31rem,calc(100% - 2rem));padding:clamp(1.15rem,4vw,2rem);gap:.65rem;justify-items:center;border:2px solid rgb(255 255 255 / 78%);text-align:center;transform:translate(-50%,-50%);backdrop-filter:blur(.85rem)}#match-overlay:before{position:fixed;z-index:-1;background:#06121d5c;content:"";inset:-100vh -100vw}#match-result,#match-reason,#match-summary{margin:0}#match-result{font-size:clamp(2rem,9vw,3.5rem);line-height:1;text-transform:uppercase}#match-reason{font-size:clamp(.95rem,3vw,1.2rem);font-weight:850}#match-summary{font-size:clamp(.68rem,2.3vw,.86rem);line-height:1.45}#match-new-session-button{min-width:11rem;min-height:max(var(--aero-touch-min),3rem);margin-top:.25rem;padding:.65rem 1.2rem;border:2px solid rgb(255 255 255 / 82%);font:inherit;font-weight:900;text-transform:uppercase;cursor:pointer;touch-action:manipulation}#match-new-session-button:focus-visible{outline:3px solid #ffd23f;outline-offset:3px}#steering-joystick[aria-disabled=true]{opacity:.35;pointer-events:none}#combat-hud{position:absolute;z-index:2;display:block;width:auto;min-width:0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;backdrop-filter:none;inset:0;pointer-events:none}#team-badge{margin-bottom:.28rem;color:var(--aero-blue);font-size:clamp(.58rem,1.45vw,.66rem);font-weight:750;letter-spacing:.11em}#health-row{font-size:clamp(.65rem,1.65vw,.76rem);font-weight:700}#player-health{position:fixed;top:calc(50% + 2.5rem);left:50%;z-index:2;width:min(12rem,36vw);height:2.2rem;margin:0;padding:0;border:0;opacity:0;pointer-events:none;transform:translate(-50%)}#fuel-remaining{position:fixed;bottom:5.2rem;left:50%;z-index:2;width:min(12rem,36vw);height:2.2rem;margin:0;padding:0;border:0;opacity:0;pointer-events:none;transform:translate(-50%)}#combat-hud[data-damaged=true]{border-color:transparent;box-shadow:inset .2rem 0 var(--aero-danger)}#combat-hud[data-damaged=true]:after{border-color:#c86c6447}#incoming-missile{margin-top:.35rem;padding:.28rem .4rem;border-color:var(--aero-warning);border-radius:var(--aero-control-radius);background:#492622eb;color:var(--aero-accent-soft);box-shadow:inset .18rem 0 var(--aero-danger);font-size:.62rem;letter-spacing:.06em}#respawn-overlay{border-color:var(--aero-danger);border-radius:.8rem;background:#2f1b1ff0;box-shadow:0 1rem 3rem var(--aero-shadow)}#respawn-overlay strong,#match-overlay[data-result=defeat] #match-result{color:#df9690}#respawn-time,#match-overlay[data-result=draw] #match-result{color:var(--aero-accent-soft)}#match-overlay{border-color:var(--aero-line-strong);border-radius:.8rem;background:var(--aero-panel-strong);box-shadow:0 1.5rem 4rem var(--aero-shadow)}#match-result{color:var(--aero-success)}#match-summary{color:var(--aero-text-muted)}#match-new-session-button{border-color:var(--aero-accent);border-radius:var(--aero-control-radius);background:var(--aero-accent);box-shadow:0 .28rem #8b6a32;color:#171d20}#match-new-session-button:focus-visible{outline-color:var(--aero-focus)}#radar-hud{font-variant-numeric:tabular-nums;font-weight:800;pointer-events:none}#radar-hud>svg{width:1.35rem;height:1.35rem;grid-row:1 / 3;fill:none;stroke:#ffd166;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.radar-readout{display:grid;min-width:0;gap:.12rem}#radar-status{overflow:hidden;color:#fff2a6;text-overflow:ellipsis;white-space:nowrap}#radar-capture{width:100%;height:.32rem;overflow:hidden;border:0;border-radius:999px;background:#ffffff29}#radar-capture::-webkit-progress-bar{background:#ffffff29}#radar-capture::-webkit-progress-value,#radar-capture::-moz-progress-bar{background:#ffd166}#wave-status{display:flex;grid-column:2;align-items:center;gap:.38rem;color:#ffffffb8}.wave-number,.wave-team-count{display:inline-flex;align-items:center;gap:.14rem}.wave-number svg,.wave-team-count svg{width:.72rem;height:.72rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.wave-blue{color:var(--aero-blue)}.wave-red{color:var(--aero-red)}#radar-buff{grid-column:3;grid-row:1 / 3;color:#a7ffbe;text-align:right;white-space:nowrap}#radar-hud[data-contest=blue]{border-color:#45b9ffc7}#radar-hud[data-contest=red]{border-color:#ff5a75c7}#radar-hud[data-contest=contested]{border-color:#ffffffd1}#radar-hud[data-phase=respawning]{opacity:.84}#radar-hud{position:static;display:grid;width:auto;min-width:0;padding:.48rem .62rem;grid-template-columns:auto minmax(0,1fr) auto;gap:.14rem .42rem;align-items:center;border:0;border-top:1px solid var(--aero-line);border-radius:0;background:transparent;box-shadow:none;transform:none;backdrop-filter:none;color:var(--aero-text-muted);font-size:clamp(.52rem,1.2vw,.62rem);font-weight:650}#radar-hud>svg{width:1.15rem;height:1.15rem;stroke:var(--aero-accent)}#wave-status{color:var(--aero-text-muted)}#radar-status{color:var(--aero-accent-soft)}#radar-capture{background:var(--aero-track)}#radar-capture::-webkit-progress-bar{background:var(--aero-track)}#radar-capture::-webkit-progress-value,#radar-capture::-moz-progress-bar{background:var(--aero-accent)}#radar-buff{color:var(--aero-success)}#radar-hud[data-contest=blue]{border-color:transparent;box-shadow:inset .18rem 0 var(--aero-blue)}#radar-hud[data-contest=red]{border-color:transparent;box-shadow:inset .18rem 0 var(--aero-red)}#radar-hud[data-contest=contested]{border-color:transparent;box-shadow:inset .18rem 0 var(--aero-accent)}#minimap-hud{position:relative;grid-area:map;align-self:start;justify-self:start;width:min(clamp(10.625rem,32vw,41rem),100%);min-width:var(--aero-touch-min);min-height:var(--aero-touch-min);aspect-ratio:2 / 1;padding:0;overflow:hidden;border:1px solid var(--aero-line);border-radius:var(--aero-panel-radius);background:var(--aero-panel);box-shadow:0 .4rem 1.15rem var(--aero-shadow);color:inherit;font:inherit;appearance:none;pointer-events:auto;cursor:pointer;contain:layout paint}.minimap-control:focus-visible{outline:3px solid var(--aero-accent);outline-offset:3px}#minimap-canvas{display:block;width:100%;height:100%}#minimap-hud[data-aerial-view=true]{border-color:var(--aero-accent);box-shadow:0 0 0 2px var(--aero-accent),0 0 .85rem var(--aero-accent),0 .4rem 1.15rem var(--aero-shadow)}.minimap-team-label{position:absolute;top:50%;font-size:.54rem;font-weight:850;letter-spacing:.06em;text-shadow:0 1px 2px rgb(0 0 0 / 85%);transform:translateY(-50%)}.minimap-blue{left:.35rem;color:var(--aero-blue)}.minimap-red{right:.35rem;color:var(--aero-red)}@media(orientation:landscape)and (max-height:30rem){#minimap-hud{width:auto;justify-self:stretch}#app:has(#doctrine-panel:not([hidden])) #minimap-hud,#app:has(#upgrade-panel:not([hidden])) #minimap-hud{display:none}}@media(prefers-reduced-motion:reduce){#minimap-hud{box-shadow:none}#minimap-hud[data-aerial-view=true]{box-shadow:0 0 0 2px var(--aero-accent)}}#viewer-screen{position:absolute;inset:0;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 40%,#1a2d3e,#0d151c 80%);color:#f0f6fc;z-index:100;overflow:hidden}#viewer-header{height:52px;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(100,180,255,.15);background:#0d151ccc;backdrop-filter:blur(8px)}.viewer-header-title{display:flex;align-items:center;gap:.75rem}.viewer-header-title h1{font-size:1.1rem;font-weight:700;margin:0}.dev-badge{background:#ff4757;color:#fff;font-size:.65rem;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.05em;text-transform:uppercase}#viewer-layout{flex:1;display:grid;grid-template-columns:260px 1fr 300px;gap:1rem;padding:1rem;overflow:hidden}.viewer-category-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-bottom:.75rem;background:#0000004d;padding:4px;border-radius:8px;border:1px solid rgba(100,180,255,.1)}.viewer-category-tab{background:transparent;border:none;color:#8b9ab0;font-size:.75rem;font-weight:700;padding:6px 2px;border-radius:6px;cursor:pointer;transition:all .2s ease}.viewer-category-tab.active,.viewer-category-tab[aria-pressed=true]{background:#168bff;color:#fff}@media(max-width:900px){#viewer-layout{grid-template-columns:220px 1fr 240px;gap:.75rem;padding:.75rem}}.viewer-panel{background:#121e2ad9;backdrop-filter:blur(12px);border:1px solid rgba(100,180,255,.2);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;box-shadow:0 8px 32px #0006}.viewer-panel h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#bfeaff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.4rem;margin:0}#viewer-doctrine-list{display:flex;flex-direction:column;gap:.5rem}.viewer-doctrine-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.65rem .75rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#f0f6fc;text-align:left;transition:all .15s ease}.viewer-doctrine-card:hover{background:#168bff26;border-color:#168bff66}.viewer-doctrine-card.active,.viewer-doctrine-card[aria-pressed=true]{background:#168bff40;border-color:#168bff;box-shadow:0 0 10px #168bff4d}.viewer-doctrine-card strong{display:block;font-size:.9rem}.viewer-doctrine-card small{display:block;font-size:.72rem;color:#8b9eb0}.profile-tag{font-size:.62rem;padding:2px 5px;border-radius:4px;background:#ffffff1a;font-weight:600;color:#bfeaff}#viewer-viewport-container{position:relative;display:flex;align-items:center;justify-content:center;background:#0003;border-radius:12px;border:1px solid rgba(100,180,255,.15);overflow:hidden}#viewer-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#viewer-canvas:active{cursor:grabbing}#viewer-turntable-controls{position:absolute;bottom:.75rem;display:flex;gap:.5rem;background:#0d151cd9;backdrop-filter:blur(8px);padding:.4rem .6rem;border-radius:20px;border:1px solid rgba(100,180,255,.25)}.viewer-pill-button{background:#ffffff14;border:none;color:#f0f6fc;font-size:.72rem;font-weight:600;padding:.35rem .7rem;border-radius:14px;cursor:pointer;transition:all .15s ease}.viewer-pill-button:hover,.viewer-pill-button[aria-pressed=true]{background:#168bff}.viewer-spec-header{display:flex;flex-direction:column;gap:4px}.viewer-spec-header h3{font-size:1.1rem;font-weight:800;margin:0;color:#fff}#viewer-spec-profile{font-size:.7rem;color:#bfeaff;font-weight:600}.viewer-inspiration-badge{display:inline-block;font-size:.72rem;color:#7ee787;background:#7ee7871a;border:1px solid rgba(126,231,135,.3);padding:3px 8px;border-radius:6px;font-weight:600;width:fit-content}.viewer-spec-list{display:flex;flex-direction:column;gap:.55rem}.viewer-spec-item{display:flex;flex-direction:column;gap:2px}.viewer-spec-label{display:flex;justify-content:space-between;font-size:.75rem;color:#8b9eb0}.viewer-spec-label b{color:#f0f6fc}.viewer-bar-container{width:100%;height:5px;background:#ffffff1a;border-radius:3px;overflow:hidden}.viewer-bar-fill{height:100%;background:#168bff;border-radius:3px;transition:width .25s ease}.viewer-ability-card{background:#168bff1a;border:1px solid rgba(22,139,255,.25);border-radius:8px;padding:.65rem;margin-top:auto}.viewer-ability-card strong{display:block;font-size:.8rem;color:#ffd166;margin-bottom:2px}.viewer-ability-card p{font-size:.72rem;color:#8b9eb0;margin:0;line-height:1.35}#viewer-vfx-controls{position:absolute;bottom:.75rem;display:flex;align-items:center;gap:.6rem;background:#0d151ceb;backdrop-filter:blur(10px);padding:.4rem .8rem;border-radius:20px;border:1px solid rgba(255,107,0,.4);box-shadow:0 4px 20px #00000080;z-index:10}#viewer-vfx-controls.hidden,#viewer-turntable-controls.hidden{display:none}.viewer-vfx-scrubber-container{display:flex;align-items:center;gap:.55rem;background:#00000059;padding:.25rem .6rem;border-radius:12px;border:1px solid rgba(255,107,0,.2)}#viewer-vfx-scrubber{accent-color:#ff6b00;width:140px;cursor:pointer}.viewer-vfx-frame-counter{font-size:.72rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#fa4;min-width:90px;text-align:right}
