*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#091218;color:#eef5f5;font-family:Inter,Segoe UI,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #c4ff9d;outline-offset:3px}[hidden]{display:none!important}#scene{display:block;width:100vw;height:100vh}#vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#071016d9,transparent 65%),linear-gradient(0deg,#07101666,transparent 40%)}#brand{position:absolute;left:3vw;top:25px;pointer-events:none}#brand b{font-size:18px;font-weight:900;letter-spacing:5px}#brand span{color:#b4df85;font-size:11px}#brand small{display:block;font-size:8px;letter-spacing:2px;color:#b6c7c6;margin-top:7px}#menu{position:absolute;top:90px;bottom:22px;left:3vw;width:440px;padding:24px 26px;background:linear-gradient(135deg,#101b21ee,#101b21dd);border:1px solid #ffffff1a;overflow:auto;scrollbar-width:thin;scrollbar-color:#5c706b transparent;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#b4df85}h1{font-size:clamp(40px,4vw,60px);line-height:.9;letter-spacing:-3px;font-weight:950;margin:18px 0;font-style:italic}h1 span{color:#b4df85}.intro{font-size:12px;line-height:1.7;color:#a4b6b8;margin-bottom:18px}.field{display:block;font-size:9px;letter-spacing:1.8px;color:#b9cacb}.field input{width:100%;border:1px solid #ffffff20;color:#edf8f8;background:#0a1218;padding:12px;margin:8px 0 14px;letter-spacing:.5px;border-radius:3px}fieldset{border:0;padding:0;margin:0 0 16px}legend{font-size:9px;letter-spacing:1.8px;margin-bottom:9px;color:#b9cacb;width:100%}legend span{float:right;color:#7c9293;font-size:8px}.selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.characters{grid-template-columns:repeat(3,1fr)}.option{display:block;text-align:left;padding:11px;border:1px solid #ffffff1c;background:#18242b;color:#d4e2e1;border-radius:3px;min-width:0;transition:background .15s,border-color .15s}.option:hover{background:#223039}.option[aria-pressed=true]{background:#263527;border-color:#b4df85;box-shadow:inset 0 0 0 1px #b4df8518}.option strong{font-size:10px;letter-spacing:.5px}.option small{display:block;color:#9baeb0;font-size:8px;margin-top:5px;line-height:1.5}.option svg{width:100%;height:28px;margin-bottom:5px;color:#becdc9}.option[aria-pressed=true] svg{color:#b4df85}.pilot-chip{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--pilot);margin:0 8px 0 0;vertical-align:middle}.characters .option{padding:10px 7px}.characters strong{font-size:9px}#character-description{font-size:9px;color:#859b9c;margin:7px 0 0;min-height:12px}.map-card{display:flex;gap:10px;align-items:center;padding:12px;background:#0b151c;border:1px solid #ffffff16}.map-badge{width:32px;height:32px;display:grid;place-items:center;font-size:23px;font-style:italic;font-weight:900;color:#b4df85;background:#b4df8516}.map-card b{font-size:10px;letter-spacing:1.8px}.map-card small{display:block;font-size:9px;color:#91a5a8;margin-top:4px}.live-dot{background:#b4df85;width:5px;height:5px;border-radius:50%;margin-left:auto}details{font-size:9px;color:#849b9c;margin:12px 0}summary{cursor:pointer;margin-bottom:8px}.primary{width:100%;background:#b4df85;color:#142015;padding:14px;border:0;display:flex;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:1.5px;border-radius:2px}.primary:hover{background:#ceefa8}#leave{border:1px solid #ffffff20;background:transparent;color:#b3c4c6;width:100%;padding:10px;margin-top:8px;font-size:9px;letter-spacing:1px}.controls{font-size:9px;line-height:1.8;color:#7e979a;margin-bottom:0}#status{font-size:10px;color:#b4df85;line-height:1.6;margin-bottom:0}#showroom-caption{position:absolute;right:5vw;bottom:11vh;text-align:right;pointer-events:none}#showroom-caption span{font-size:9px;letter-spacing:3px;color:#b4df85}#showroom-caption h2{font-size:clamp(30px,5vw,72px);font-style:italic;letter-spacing:-3px;margin:8px 0}#showroom-caption p{font-size:11px;color:#b9c9c8}.connected #showroom-caption{display:none}#crosshair{display:none;position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none}.playing #crosshair{display:block}#crosshair i{position:absolute;background:#fff;box-shadow:0 1px 2px #000}#crosshair i:nth-child(1){width:2px;height:5px;left:10px;top:0}#crosshair i:nth-child(2){width:2px;height:5px;left:10px;bottom:0}#crosshair i:nth-child(3){width:5px;height:2px;left:0;top:10px}#crosshair i:nth-child(4){width:5px;height:2px;right:0;top:10px}#game-hud{display:none;pointer-events:none;position:absolute;inset:0}.connected #game-hud{display:block}#match-strip{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;gap:18px;align-items:center;background:#071218d9;border:1px solid #ffffff20;padding:12px 18px;font-size:10px;white-space:nowrap}#match-clock{font-size:19px;font-variant-numeric:tabular-nums}#mode-label{color:#b4df85;font-weight:800}#players-count{color:#8ba3a6}#team-score{color:#ffb778}#performance{position:absolute;right:20px;top:25px;color:#a9c0c3;font:10px monospace}#minimap{position:absolute;left:25px;bottom:120px;width:150px;height:150px;border:1px solid #ffffff30;border-radius:3px;opacity:.9}#vitals{position:absolute;left:25px;bottom:25px;width:170px;padding:14px;background:#08131acc;border:1px solid #ffffff1c}#vitals small{font-size:8px;letter-spacing:2px;color:#8da2a6}#health{display:block;font-size:40px;line-height:1.1;font-weight:800}.health-track{height:3px;background:#26383c;margin:8px 0}.health-track i{display:block;height:100%;width:100%;background:#b4df85}#personal-stats{font-size:10px;color:#aebfc0;font-variant-numeric:tabular-nums}#inventory{position:absolute;right:25px;bottom:25px;background:#08131acc;border:1px solid #ffffff1c;padding:15px;min-width:235px}#weapon-hud{display:flex;gap:8px;margin-bottom:14px}.hud-weapon{padding:6px 9px;color:#789195;border-bottom:2px solid #34494b;font:9px monospace}.hud-weapon.selected{color:#b4df85;border-color:#b4df85}.hud-weapon small{display:block;font-size:8px;margin-top:3px}.ammo-main{display:flex;gap:14px;align-items:center}#weapon-name{font-size:10px;letter-spacing:2px}#ammo{font-size:42px;font-variant-numeric:tabular-nums;margin-left:auto}.reserve{font-size:22px;color:#b4df85}.reserve small{font-size:7px;letter-spacing:1px;color:#8ba2a5;display:block}#reload-status{font-size:8px;letter-spacing:1.4px;color:#a0b7b7;text-align:right;margin-top:8px}#reload-progress{width:100%;height:3px;display:block;margin-top:8px;accent-color:#b4df85}#death-screen{position:absolute;inset:0;background:#07101877;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#death-screen span{letter-spacing:5px;color:#ffb277;font-size:12px}#death-screen h2{font-size:80px;margin:12px}#death-screen p{color:#c8d5d5;font-size:12px}#protection{position:absolute;bottom:30px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:2px;color:#b4df85}#killfeed{position:absolute;top:80px;right:25px;font-size:10px;text-align:right}.feed-row{margin-bottom:6px;background:#09141bce;border-right:2px solid #b4df85;padding:8px 12px}#scoreboard{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,94vw);max-height:80vh;overflow:auto;background:#101e27f5;border:1px solid #ffffff28;padding:25px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}#scoreboard header{display:flex;align-items:center;justify-content:space-between}#scoreboard header span{font-size:9px;letter-spacing:2px;color:#b4df85}#scoreboard h2{font-size:24px;font-style:italic;letter-spacing:1px;margin:8px 0 22px}#close-scores{padding:10px;color:#b6caca;background:#20303a;border:1px solid #ffffff20;font-size:9px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:8px;color:#7f9ca5;letter-spacing:1px;padding:12px 6px}td{padding:12px 6px;border-top:1px solid #ffffff12}tr.self{color:#b4df85;background:#b4df8510}.team-1{color:#74eaff}.team-2{color:#ffb277}#scoreboard p{font-size:10px;color:#859da5}.playing #brand{opacity:.6}.playing #vignette{background:linear-gradient(0deg,#07101633,transparent 20%)}@media (max-width:899px){#menu{left:50%;transform:translate(-50%);width:min(94vw,440px);top:75px;padding:20px}#brand{left:4vw;top:15px}#showroom-caption{display:none}#minimap{width:100px;height:100px;bottom:128px;left:12px}#vitals{left:12px;width:125px;bottom:12px}#inventory{right:12px;bottom:12px;min-width:190px}#match-strip{gap:10px;font-size:8px;top:14px}#performance{top:65px;right:12px}}#join{position:sticky;bottom:0;z-index:2;box-shadow:0 -10px 18px #101b21}#menu{scroll-padding-bottom:60px}#open-scores{width:100%;padding:10px;margin-top:6px;background:#21313b;border:1px solid #ffffff20;color:#c7dad8;font-size:9px;letter-spacing:1px}#scene:focus{outline:none}#menu{border:2px solid #617f91;border-radius:14px;background:linear-gradient(145deg,#20334aee,#15283aef);box-shadow:7px 8px #0b1e3159}#brand span,.eyebrow,h1 span,#status,#showroom-caption span{color:#8debdc}.option{border-radius:8px;border-width:2px;background:#263e53}.option:hover{background:#34526b;transform:translateY(-1px)}.option[aria-pressed=true]{border-color:#8debdc;background:#28575b;box-shadow:0 3px #102c3d}.option[aria-pressed=true] svg{color:#8debdc}.primary{border:2px solid #233b50;border-radius:8px;background:#ffcf81;color:#233b50;box-shadow:0 4px #ad7649}.primary:hover{background:#ffe1a5}.map-card{border-radius:8px;background:#1c3349}.map-badge{color:#8debdc;background:#8debdc20;border-radius:5px}#vignette{background:linear-gradient(90deg,#112b4470,transparent 62%),linear-gradient(0deg,#112b4444,transparent 40%)}.setting-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:12px 0;color:#d4e6ef;font-size:11px;letter-spacing:.4px}.setting-row input{grid-column:1/-1;width:100%;accent-color:#8debdc;cursor:pointer}.setting-row output{color:#ffcf81;font-variant-numeric:tabular-nums}.setting-choice{display:flex;align-items:center;justify-content:space-between;margin:12px 0;color:#d4e6ef;font-size:11px}.setting-choice select{background:#213b52;color:#fff0d2;border:1px solid #617f91;padding:6px;border-radius:4px}.setting-choice input{accent-color:#8debdc;width:16px;height:16px}#settings summary{color:#c2e8e6;font-size:11px;padding:7px 0}#vitals,#inventory,#match-strip{background:#172d45e6;border:2px solid #7197aa;border-radius:10px;box-shadow:3px 4px #12223740}#minimap{border:2px solid #8db0bc;border-radius:10px;box-shadow:3px 4px #12223740}#movement-hud{position:absolute;bottom:28px;left:50%;transform:translate(-50%);text-align:center;color:#edf8f9;font-variant-numeric:tabular-nums;text-shadow:0 2px 3px #172d45}#movement-hud b{font-size:25px}#movement-hud span{font-size:10px;margin-left:4px;color:#b6e5e6}#movement-hud small{display:block;font-size:8px;letter-spacing:1.6px;margin-top:4px}#protection{bottom:85px;background:#17364de0;padding:8px 12px;border-radius:6px}#hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:38px;font-weight:300;color:#ffdc93;text-shadow:0 0 5px #263c59;opacity:0;pointer-events:none}#hitmarker.visible{opacity:1}#damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #ed646bb3;opacity:0;transition:opacity .15s}#damage-flash.visible{opacity:1}#vitals.critical{border-color:#ff8682}#vitals.critical #health{color:#ffaaa0}#vitals.critical #health-bar{background:#ff8682}.reduced-motion #damage-flash{box-shadow:inset 0 0 0 5px #ed646b;transition:none}.reduced-motion .option{transition:none}.reduced-motion .option:hover{transform:none}@media (max-width:600px){#movement-hud{bottom:175px;font-size:9px}#protection{bottom:225px}#brand{display:none}.playing #brand{display:block}#match-strip{max-width:95vw;gap:8px;padding:8px}#performance{top:64px}}#brand{padding:10px 12px;background:#20334ab8;border:1px solid #9bbcca50;border-radius:8px}#showroom-caption{padding:15px 20px;background:#1b334bd9;border:1px solid #91c5ce60;border-radius:12px}#performance{padding:7px 9px;background:#172d45dc;border-radius:5px;color:#c5e1e8}#minimap{bottom:190px}#menu{padding-bottom:35px}@media (max-width:899px){#minimap{bottom:175px}}#map-select,#theme-select{width:100%;padding:10px;border:1px solid #78aaa5;border-radius:6px;background:#20394b;color:#f5e7c9;margin:8px 0}#training-tools{margin:18px 0;padding:10px;background:#1b344b;border-radius:8px}#training-tools summary{cursor:pointer;font-size:12px;color:#c0e7dd}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}#training-tools button{padding:10px;background:#325969;color:#fff0d0;border:1px solid #82adae;border-radius:5px;cursor:pointer}#training-status{position:fixed;top:95px;left:50%;transform:translate(-50%);background:#17334bdd;color:#e6f6de;border-radius:6px;padding:8px 14px;font-size:12px;pointer-events:none;z-index:4}#training-status:empty{display:none}.photo-mode #game-hud,.photo-mode #crosshair,.photo-mode #brand,.photo-mode #training-status,.photo-mode #vignette,.photo-mode #performance{visibility:hidden}@media (max-width:600px){#training-status{top:110px;max-width:95vw;font-size:10px}}
