@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-devanagari-500-normal-B_DH_jja.woff2) format("woff2"),url(./rajdhani-devanagari-500-normal-BPH8g_s8.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-latin-ext-500-normal-DiyUS11w.woff2) format("woff2"),url(./rajdhani-latin-ext-500-normal-CyRWJZ5B.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-latin-500-normal-ByNUCHrt.woff2) format("woff2"),url(./rajdhani-latin-500-normal-DfvNI-Td.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-devanagari-600-normal-DhS7ScYx.woff2) format("woff2"),url(./rajdhani-devanagari-600-normal-BtY48IV_.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-ext-600-normal-C9ZjJQAt.woff2) format("woff2"),url(./rajdhani-latin-ext-600-normal-BleIgkPp.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2) format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-devanagari-700-normal-BQQOj9BB.woff2) format("woff2"),url(./rajdhani-devanagari-700-normal-DBRwWuxA.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-ext-700-normal-S6aYESQK.woff2) format("woff2"),url(./rajdhani-latin-ext-700-normal-BPaQ7tlD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2) format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #07090b;--bg-1: #0d1014;--bg-2: #141920;--bg-3: #1c232c;--line: rgba(220, 230, 240, .12);--line-2: rgba(220, 230, 240, .22);--text: #eef0f2;--text-2: #a9b3bd;--text-3: #6d7782;--accent: #ff5a3c;--accent-2: #ff8a3c;--accent-glow: rgba(255, 90, 60, .35);--steel: #9fb3c8;--good: #49d17d;--warn: #f2c14e;--bad: #ff4d4d;--team-a: #3fa7ff;--team-b: #ff5a3c;--hud-scale: 1;--font-display: "Rajdhani", "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--cut: 14px;--radius: 4px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}button{font:inherit;color:inherit}.game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.ui-root{position:fixed;inset:0;pointer-events:none}.ui-root>*{pointer-events:auto}.ui-root .passthrough{pointer-events:none}.pwa-tools{position:fixed;z-index:30;bottom:18px;left:18px;width:min(360px,calc(100vw - 36px));display:grid;gap:10px;background:#0d1014f5;border:1px solid var(--line-2)}.pwa-tools p{margin:0;color:var(--text-2);line-height:1.4;overflow-wrap:anywhere}.pwa-practice{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.pwa-practice progress{width:100%;height:8px;accent-color:var(--accent)}@media(max-width:640px){.pwa-tools{bottom:max(10px,env(safe-area-inset-bottom));left:10px;width:min(320px,calc(100vw - 20px))}}.display{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.screen{position:fixed;inset:0;display:flex;flex-direction:column;animation:screen-in .35s ease-out}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen.menu-bg{background:radial-gradient(1200px 600px at 75% 30%,rgba(255,90,60,.08),transparent 60%),linear-gradient(90deg,#07090bf0,#07090bc7 36%,#07090b59 70%,#07090b8c)}.screen.solid-bg{background:radial-gradient(1000px 500px at 80% 0%,rgba(63,167,255,.07),transparent 60%),linear-gradient(180deg,#0a0c0ff7,#07090bfa)}.scanlines:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 40px 0;gap:24px}.brand{display:flex;align-items:baseline;gap:12px}.brand-mark{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:.32em;color:var(--text)}.brand-mark span{color:var(--accent)}.screen-title{font-family:var(--font-display);font-size:44px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0;line-height:1}.screen-sub{color:var(--text-2);font-size:14px;margin-top:6px}.screen-body{flex:1;min-height:0;padding:24px 40px 32px;overflow:auto}.screen-body::-webkit-scrollbar{width:8px}.screen-body::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:4px}.btn{appearance:none;border:1px solid var(--line-2);background:#141920cc;color:var(--text);padding:11px 22px;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));transition:background .15s,border-color .15s,transform .08s,color .15s;position:relative}.btn:hover:not(:disabled){background:#28303af2;border-color:var(--steel)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,#ff6b4a,#e2462b);border-color:#ff8a6c;color:#160805;box-shadow:0 0 24px var(--accent-glow)}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#ff7f61,#ef5235);border-color:#ffb09c}.btn.big{padding:16px 40px;font-size:22px}.btn.ghost{background:transparent}.btn.small{padding:7px 14px;font-size:14px}.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.main-menu{display:grid;grid-template-columns:minmax(320px,620px) 1fr minmax(300px,380px);grid-template-rows:minmax(0,1fr);gap:32px;padding:0 40px 40px;flex:1;min-height:0;align-items:end}@media(min-width:1101px)and (min-height:521px){.main-menu>div:first-child{min-height:0;max-height:100%;overflow-y:auto;scrollbar-width:thin;padding-right:6px}}.main-menu .side{max-height:100%;overflow-y:auto;scrollbar-width:thin}.title-block{margin-bottom:26px}.title-hero{font-family:var(--font-display);font-weight:700;font-size:clamp(56px,7.4vw,112px);letter-spacing:.14em;white-space:nowrap;line-height:.9;margin:0;background:linear-gradient(180deg,#fff,#c9d1d9 70%,#7d8893);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 30px rgba(0,0,0,.6));animation:title-flicker 7s infinite}@keyframes title-flicker{0%,92%,to{opacity:1}93%{opacity:.75}94%{opacity:1}96%{opacity:.85}}.title-tag{display:inline-flex;align-items:center;gap:10px;margin-top:10px;font-family:var(--font-display);font-weight:600;letter-spacing:.3em;color:var(--accent);font-size:15px;text-transform:uppercase}.title-tag:before{content:"";width:36px;height:2px;background:var(--accent)}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);border-left:3px solid transparent;transition:color .15s,border-color .15s,background .15s,padding-left .15s}.nav-item:hover:not(:disabled),.nav-item:focus-visible{color:var(--text);border-left-color:var(--accent);background:linear-gradient(90deg,rgba(255,90,60,.14),transparent 80%);padding-left:26px;outline:none}.nav-item:disabled{cursor:not-allowed;opacity:.55}.nav-item .badge{font-size:11px}.nav-item .quick-match-badge{flex:0 1 auto;min-width:0;max-width:55%;white-space:normal;overflow-wrap:anywhere;text-align:right}.nav-item.primary{color:var(--text);font-size:40px}.badge{display:inline-block;padding:3px 8px;border:1px solid var(--line-2);font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);background:#00000059;white-space:nowrap}.badge.accent{color:var(--accent);border-color:#ff5a3c80}.badge.good{color:var(--good);border-color:#49d17d73}.badge.warn{color:var(--warn);border-color:#f2c14e73}.panel{background:#0d1014db;border:1px solid var(--line);padding:18px 20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}.panel h3,.panel-title{margin:0 0 12px;font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-2);display:flex;align-items:center;justify-content:space-between}.stack{display:flex;flex-direction:column;gap:14px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-2.deploy-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.deploy-layout>*,.deploy-layout .panel,.deploy-layout .stack{min-width:0}.deploy-layout .card{min-width:0;overflow-wrap:anywhere}.deploy-summary{min-width:0;color:var(--text-2);font-size:14px;overflow-wrap:anywhere;line-height:1.4}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.card{position:relative;text-align:left;border:1px solid var(--line);background:linear-gradient(160deg,#1c232ce6,#0d1014e6);padding:16px;cursor:pointer;transition:border-color .15s,transform .12s,box-shadow .15s;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);min-height:112px;display:flex;flex-direction:column;gap:6px}.card:hover:not(.locked){border-color:var(--steel);transform:translateY(-2px)}.card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 24px #ff5a3c26;background:linear-gradient(160deg,#3c1c16d9,#0d1014eb)}.card.locked{cursor:not-allowed;opacity:.55}.card-title{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.06em;text-transform:uppercase}.card-desc{font-size:13px;color:var(--text-2);line-height:1.45}.card .badge{align-self:flex-start}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}.tab{border:none;background:transparent;padding:10px 18px;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text-2)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.field{display:grid;grid-template-columns:minmax(160px,260px) 1fr auto;align-items:center;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.04)}.field .field-label{color:var(--text-2);font-size:14px}.field .hint{grid-column:1 / -1;font-size:12px;color:var(--text-3);margin-top:-4px}.value{font-family:var(--font-display);font-weight:700;font-size:16px;min-width:52px;text-align:right;color:var(--text)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg-3);outline:none;border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border:2px solid #fff;border-radius:50%;cursor:pointer}input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--accent);border:2px solid #fff;border-radius:50%;cursor:pointer}input[type=text],input[type=password],select{background:var(--bg-2);border:1px solid var(--line-2);color:var(--text);padding:9px 12px;font:inherit;font-size:14px;outline:none;width:100%;user-select:text;-webkit-user-select:text}input[type=text]:focus,input[type=password]:focus,select:focus{border-color:var(--accent)}.segmented{display:flex;flex-wrap:wrap;gap:4px}.segmented button{border:1px solid var(--line-2);background:var(--bg-2);padding:7px 12px;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);cursor:pointer}.segmented button.on{border-color:var(--accent);color:var(--text);background:#ff5a3c2e}.segmented button:disabled{opacity:.35;cursor:not-allowed}.toggle{position:relative;width:46px;height:24px;border-radius:12px;background:var(--bg-3);border:1px solid var(--line-2);cursor:pointer;transition:background .15s;padding:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-2);transition:left .15s,background .15s}.toggle.on{background:#ff5a3c66;border-color:var(--accent)}.toggle.on:after{left:24px;background:#fff}.keycap{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 10px;border:1px solid var(--line-2);border-bottom-width:3px;background:var(--bg-2);font-family:var(--font-display);font-weight:700;font-size:14px;cursor:pointer;color:var(--text)}.keycap.listening{border-color:var(--accent);color:var(--accent);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.5}}.statbar{display:grid;grid-template-columns:110px 1fr 40px;align-items:center;gap:10px;font-size:12px;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}.statbar .track{height:6px;background:var(--bg-3);position:relative;overflow:hidden}.statbar .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--steel),#fff);transition:width .4s ease-out}.xpbar{height:8px;background:var(--bg-3);position:relative;overflow:hidden}.xpbar .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 12px var(--accent-glow);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.level-chip{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:2px solid var(--accent);font-family:var(--font-display);font-weight:700;font-size:24px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#ff5a3c26}.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.kv>div{background:#ffffff08;border:1px solid var(--line);padding:12px 14px}.kv .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.kv .v{font-family:var(--font-display);font-weight:700;font-size:28px;margin-top:2px}table.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-family:var(--font-display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--text-3);padding:8px 10px;border-bottom:1px solid var(--line)}.table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.04)}.table tr.me td{background:#ff5a3c1f}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.team-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}.featured-blueprint{display:block;width:100%;aspect-ratio:1 / 1;max-height:220px;margin-top:6px}.season-panel h3,.featured-panel h3{gap:10px}.rotate-prompt{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;background:#050607f0}.rotate-prompt .display{font-size:24px;letter-spacing:.08em;text-transform:uppercase}.rotate-icon{width:46px;height:78px;border:3px solid var(--text);border-radius:9px;margin-bottom:12px;animation:rotate-hint 2.4s ease-in-out infinite}@keyframes rotate-hint{0%,20%{transform:rotate(0)}50%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.rotate-icon{animation:none;transform:rotate(-90deg)}}.loading{position:fixed;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:1fr auto;gap:24px 48px;padding:max(32px,env(safe-area-inset-top)) max(48px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(48px,env(safe-area-inset-left));background:radial-gradient(900px 500px at 70% 30%,rgba(255,90,60,.1),transparent 60%),radial-gradient(700px 600px at 10% 90%,rgba(63,167,255,.06),transparent 60%),linear-gradient(180deg,#090b0e,#050607);z-index:20;animation:loading-in .35s ease-out}@keyframes loading-in{0%{opacity:0}}.loading-blueprint{grid-column:2;grid-row:1;width:100%;height:100%;min-height:0}.loading-brief{grid-column:1;grid-row:1;align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.loading .map-name{font-family:var(--font-display);font-weight:700;font-size:clamp(38px,6vw,84px);letter-spacing:.08em;text-transform:uppercase;line-height:.95}.loading-sub{color:var(--accent-2);font-family:var(--font-display);font-size:clamp(15px,1.6vw,20px);letter-spacing:.06em;text-transform:uppercase}.loading-goal{font-size:15px;max-width:560px;padding-left:12px;border-left:2px solid var(--accent)}.loading-desc{color:var(--text-2);font-size:13px;max-width:560px;line-height:1.5}.loading-foot{grid-column:1 / -1;grid-row:2}.loading-stage{display:flex;justify-content:space-between;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--text-2)}.loading .progress{height:3px;background:var(--bg-3);margin-top:8px;position:relative;overflow:hidden}.loading .progress>div{position:absolute;inset:0 auto 0 0;background:var(--accent);box-shadow:0 0 18px var(--accent);transition:width .3s}.tip{margin-top:14px;color:var(--text-2);max-width:820px;font-size:14px;min-height:2.6em}.tip b{color:var(--accent);margin-right:8px;letter-spacing:.12em;font-size:12px}.loading-controls{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;color:var(--text-3);font-size:12px}.loading-controls kbd{font-family:var(--font-body);font-size:11px;padding:1px 6px;border:1px solid var(--line-2);border-radius:3px;margin-right:4px;color:var(--text-2)}@media(max-width:860px),(max-height:520px)and (orientation:landscape){.loading{grid-template-columns:1fr;grid-template-rows:minmax(120px,1fr) auto auto;gap:14px;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.loading-blueprint{grid-column:1;grid-row:1}.loading-brief{grid-row:2}.loading-foot{grid-row:3}.loading-desc{display:none}}@media(max-height:520px)and (orientation:landscape){.loading{grid-template-columns:1fr 1fr;grid-template-rows:1fr auto}.loading-blueprint{grid-column:2;grid-row:1}.loading-brief{grid-column:1;grid-row:1}.loading-foot{grid-row:2}.loading .map-name{font-size:30px}}.splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(800px 400px at 50% 45%,rgba(255,90,60,.12),transparent 70%),#060708;cursor:pointer;z-index:30}.splash .press{font-family:var(--font-display);letter-spacing:.4em;text-transform:uppercase;color:var(--text-2);animation:pulse 1.6s infinite}.splash .legal{position:absolute;bottom:24px;font-size:12px;color:var(--text-3);text-align:center;max-width:680px;padding:0 16px}.result-banner{font-family:var(--font-display);font-weight:700;font-size:clamp(64px,10vw,140px);letter-spacing:.14em;line-height:.95;text-transform:uppercase;animation:banner-in .7s cubic-bezier(.2,.9,.2,1.2)}.result-banner.win{color:#fff;text-shadow:0 0 40px rgba(73,209,125,.45)}.result-banner.loss{color:#ffd6cf;text-shadow:0 0 40px rgba(255,77,77,.4)}@keyframes banner-in{0%{opacity:0;transform:scale(1.25);letter-spacing:.4em}}.team-score{display:flex;align-items:center;gap:18px;font-family:var(--font-display);font-weight:700;font-size:46px}.reward-line{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px;animation:screen-in .4s both}.reward-line b{font-family:var(--font-display);font-size:18px}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:40px;height:40px;border:2px solid var(--line-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:11px;font-weight:700}.swatch.on{border-color:var(--accent);box-shadow:0 0 0 2px #ff5a3c59}.notice{border-left:3px solid var(--warn);background:#f2c14e14;padding:10px 14px;font-size:13px;color:var(--text-2);line-height:1.5}.notice.info{border-left-color:var(--steel);background:#9fb3c814}code,.mono{font-family:ui-monospace,JetBrains Mono,Consolas,monospace;font-size:12.5px;background:#ffffff0f;padding:2px 6px;user-select:text}.footer-meta{position:fixed;right:16px;bottom:10px;font-size:11px;color:var(--text-3);letter-spacing:.08em;pointer-events:none}@media(max-width:1100px){.main-menu{grid-template-columns:1fr;grid-template-rows:none;align-items:start;overflow:auto}.main-menu .side{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:12px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.main-menu>div:nth-child(2){display:none}.grid-3{grid-template-columns:1fr}}@media(max-width:760px){.topbar,.screen-body,.main-menu{padding-left:18px;padding-right:18px}.grid-2{grid-template-columns:1fr}.grid-2.deploy-layout{grid-template-columns:minmax(0,1fr)}.nav-item{font-size:22px;padding:8px 12px}.nav-item.primary{font-size:30px}.field{grid-template-columns:1fr;gap:6px}.screen-title{font-size:32px}.action-bar.deploy-action-bar{align-items:stretch;flex-direction:column;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.deploy-action-bar .btn{width:100%}}.action-bar{position:sticky;bottom:-32px;margin:16px -40px -32px;padding:14px 40px 18px;background:linear-gradient(180deg,#07090b00,#07090beb 30%);display:flex;justify-content:flex-end;align-items:center;gap:12px;z-index:2}.action-bar.deploy-action-bar{background:var(--bg-1);border-top:1px solid var(--line-2)}.hc-hud .hud .matchbar .score,.hc-hud .hud .matchbar .clock,.hc-hud .hud .killfeed .row,.hc-hud .hud .slots .slot{background:#000000eb}.hc-hud .hud{text-shadow:0 0 3px #000,0 0 6px #000}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}@media(max-height:520px){.title-hero{font-size:48px}.title-block{margin-bottom:10px}.nav-item,.nav-item.primary{font-size:20px;padding:6px 12px}.topbar{padding-top:10px}.main-menu{overflow:auto;align-items:start}}.hud{position:fixed;inset:0;pointer-events:none;font-family:var(--font-display);color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.8);z-index:5}.hud *{pointer-events:none}.hud .scaled{transform-origin:inherit}.hud-tl,.hud-tr,.hud-bl,.hud-br,.hud-tc,.hud-bc{position:absolute}.hud-tl{top:18px;left:20px;transform-origin:top left}.hud-tr{top:18px;right:20px;transform-origin:top right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.hud-bl{bottom:20px;left:22px;transform-origin:bottom left}.hud-br{bottom:20px;right:22px;transform-origin:bottom right;text-align:right}.hud-tc{top:14px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.hud-bc{bottom:18px;left:50%;transform:translate(-50%);text-align:center}.matchbar{display:flex;align-items:stretch;gap:2px}.matchbar .score{min-width:70px;padding:4px 12px;font-size:30px;font-weight:700;text-align:center;background:#080a0cb3;border-bottom:3px solid currentColor}.matchbar .score.a{color:var(--team-a)}.matchbar .score.b{color:var(--team-b)}.matchbar .score.mine{box-shadow:inset 0 -30px 30px -30px currentColor}.matchbar .clock{min-width:96px;padding:4px 14px;background:#080a0ccc;text-align:center;font-size:28px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.matchbar .clock.urgent{color:var(--bad);animation:pulse 1s infinite}.matchbar .clock small{display:block;font-size:10px;letter-spacing:.2em;color:var(--text-2);margin-top:-2px}.limitline{font-size:11px;letter-spacing:.2em;color:var(--text-2);margin-top:4px;text-transform:uppercase}.killfeed{display:flex;flex-direction:column;gap:4px;align-items:flex-start;font-family:var(--font-body);font-size:13px;font-weight:600}.killfeed .row{display:flex;align-items:center;gap:8px;padding:4px 10px;background:#080a0c9e;border-left:2px solid transparent;animation:feed-in .25s ease-out}.killfeed .row.me{border-left-color:var(--accent);background:#3c160ebf}.killfeed .wpn{font-family:var(--font-display);font-size:12px;letter-spacing:.06em;color:var(--text-2);text-transform:uppercase}@keyframes feed-in{0%{opacity:0;transform:translate(-12px)}}.vitals{display:flex;flex-direction:column;gap:6px;width:300px}.vital{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px}.vital .num{font-size:34px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.vital .bar{height:10px;background:#ffffff1a;position:relative;clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}.vital .bar>div{position:absolute;inset:0 auto 0 0;transition:width .15s}.vital.hp .bar>div{background:linear-gradient(90deg,#e8ecef,#fff)}.vital.hp.low .num{color:var(--bad)}.vital.hp.low .bar>div{background:var(--bad)}.vital.ar .num{font-size:22px;color:var(--steel)}.vital.ar .bar{height:6px}.vital.ar .bar>div{background:linear-gradient(90deg,#5d8bb5,#9fc3e8)}.stamina{height:3px;background:#ffffff14;margin-left:68px;position:relative}.stamina>div{position:absolute;inset:0 auto 0 0;background:var(--warn)}.weapon-panel .ammo{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;font-weight:700;font-variant-numeric:tabular-nums}.weapon-panel .mag{font-size:56px;line-height:1}.weapon-panel .mag.low{color:var(--warn)}.weapon-panel .mag.empty{color:var(--bad)}.weapon-panel .reserve{font-size:22px;color:var(--text-2)}.weapon-panel .wname{font-size:18px;letter-spacing:.12em;text-transform:uppercase}.weapon-panel .wmeta{font-size:12px;letter-spacing:.2em;color:var(--text-2);text-transform:uppercase}.slots{display:flex;gap:4px;justify-content:flex-end;margin-top:8px}.slots .slot{font-size:12px;letter-spacing:.1em;padding:3px 8px;background:#080a0c8c;color:var(--text-3);border-bottom:2px solid transparent;text-transform:uppercase}.slots .slot.on{color:var(--text);border-bottom-color:var(--accent)}.gear{display:flex;gap:10px;justify-content:flex-end;margin-top:6px;font-size:13px;letter-spacing:.1em;color:var(--text-2)}.gear b{color:var(--text);font-size:16px}.reload-bar{height:3px;background:#ffffff26;margin-top:6px;position:relative}.reload-bar>div{position:absolute;inset:0 auto 0 0;background:var(--accent)}.crosshair{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:6}.crosshair .arm{position:absolute;background:var(--xh, #f2efe6);box-shadow:0 0 2px #000000e6}.crosshair .arm.h{height:2px;width:9px;top:-1px}.crosshair .arm.v{width:2px;height:9px;left:-1px}.crosshair .dot{position:absolute;width:3px;height:3px;left:-1.5px;top:-1.5px;background:var(--xh, #f2efe6);box-shadow:0 0 2px #000000e6}.crosshair.hover .arm,.crosshair.hover .dot{background:var(--bad)}.crosshair .ring{position:absolute;border:1px solid rgba(242,239,230,.35);border-radius:50%}.blockmark{position:fixed;width:14px;height:14px;margin:-7px 0 0 -7px;pointer-events:none;z-index:6}.blockmark:before,.blockmark:after{content:"";position:absolute;left:6px;top:-2px;width:2px;height:18px;background:#ff4d4dd9;transform:rotate(45deg)}.blockmark:after{transform:rotate(-45deg)}.hitmarker{position:fixed;left:50%;top:50%;width:0;height:0;z-index:7;pointer-events:none}.hitmarker i{position:absolute;width:2px;height:10px;background:#fff;box-shadow:0 0 3px #000000e6}.hitmarker.head i{background:var(--warn)}.hitmarker.kill i{background:var(--bad);height:14px}.dmg-ring{position:fixed;left:50%;top:50%;width:0;height:0;z-index:6;pointer-events:none}.dmg-ring .arc{position:absolute;left:-50px;top:-190px;width:100px;height:46px;border-top:6px solid rgba(255,50,30,.85);border-radius:50% 50% 0 0/100% 100% 0 0;transform-origin:50px 190px;filter:drop-shadow(0 0 8px rgba(255,30,0,.7))}.popups{position:fixed;left:50%;top:60%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;z-index:6}.popups .p{font-size:20px;font-weight:700;letter-spacing:.12em;animation:popup 2.4s ease-out forwards}.popups .p .pts{color:var(--warn);margin-left:10px}.popups .p.bonus{font-size:15px;color:var(--accent-2)}@keyframes popup{0%{opacity:0;transform:scale(1.4)}10%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.announce{position:fixed;left:0;right:0;top:26%;text-align:center;z-index:6}.announce .t{font-size:clamp(42px,6vw,82px);font-weight:700;letter-spacing:.2em;animation:announce 3.2s ease-out forwards}.announce .t.good{color:#e8fff0;text-shadow:0 0 30px rgba(73,209,125,.6)}.announce .t.bad{color:#ffe0da;text-shadow:0 0 30px rgba(255,77,77,.6)}.announce .s{font-size:18px;letter-spacing:.3em;color:var(--text-2);animation:announce 3.2s ease-out forwards}@keyframes announce{0%{opacity:0;letter-spacing:.5em}12%{opacity:1;letter-spacing:.2em}80%{opacity:1}to{opacity:0}}.countdown{position:fixed;left:0;right:0;top:30%;text-align:center;font-size:120px;font-weight:700;z-index:6;color:#fff}.countdown small{display:block;font-size:18px;letter-spacing:.4em;color:var(--text-2)}.death{position:fixed;left:0;right:0;bottom:22%;text-align:center;z-index:6}.death .t{font-size:48px;font-weight:700;letter-spacing:.18em;color:var(--bad)}.death .by{font-family:var(--font-body);font-size:15px;color:var(--text-2);margin-top:4px}.death .respawn{margin-top:14px;font-size:18px;letter-spacing:.24em}.scoreboard{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(900px,94vw);max-height:80vh;overflow:auto;background:#080a0ceb;border:1px solid var(--line-2);padding:18px 22px;font-family:var(--font-body);z-index:8;text-shadow:none}.scoreboard h2{margin:0 0 12px;font-family:var(--font-display);letter-spacing:.2em;font-size:20px;display:flex;justify-content:space-between}.sb-team{margin-bottom:14px}.sb-team-head{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:18px;letter-spacing:.14em;padding:6px 10px;border-left:3px solid currentColor;background:#ffffff08}.minimap{width:calc(210px * var(--hud-scale));height:calc(210px * var(--hud-scale));background:#06080ab8;border:1px solid var(--line-2);position:relative;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}.minimap canvas{width:100%;height:100%;display:block}.threat-edge-layer{position:fixed;inset:0;z-index:5;overflow:hidden;pointer-events:none}.threat-edge-arrow{position:fixed;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:15px solid var(--enemy, #e26455);filter:drop-shadow(0 1px 3px rgba(0,0,0,.9));opacity:.82}.threat-edge-arrow.firing{border-bottom-color:#f4c46b;opacity:1}.netline{font-family:var(--font-body);font-size:11px;color:var(--text-3);letter-spacing:.06em}.flash-overlay{position:fixed;inset:0;background:#fff;pointer-events:none;z-index:9}.lowhp-overlay{position:fixed;inset:0;pointer-events:none;z-index:4;box-shadow:inset 0 0 160px 40px #a000008c;animation:pulse 1.1s infinite}.scope-overlay{position:fixed;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at center,transparent 0 34vmin,rgba(0,0,0,.92) 34.6vmin,#000 60vmin)}.scope-overlay:before,.scope-overlay:after{content:"";position:absolute;left:50%;top:50%;background:#000000d9}.scope-overlay:before{width:68vmin;height:1px;transform:translate(-50%,-50%)}.scope-overlay:after{width:1px;height:68vmin;transform:translate(-50%,-50%)}.investigate{position:fixed;left:50%;bottom:140px;transform:translate(-50%);font-family:var(--font-display);letter-spacing:.16em;font-size:15px;color:#ffe9b8;background:#1e1608b3;border:1px solid rgba(255,210,120,.4);padding:6px 14px;text-transform:uppercase;z-index:6}.protect{position:fixed;left:50%;bottom:110px;transform:translate(-50%);font-size:13px;letter-spacing:.3em;color:var(--steel);z-index:6}.captions{position:fixed;left:50%;bottom:170px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--font-body);font-size:15px;z-index:6}.captions div{background:#000000bf;padding:3px 10px}.controls-hint{position:fixed;left:22px;bottom:140px;background:#080a0c99;border:1px solid var(--line);padding:8px 12px;font-family:var(--font-body);font-size:11.5px;color:var(--text-2);line-height:1.7;z-index:6;white-space:nowrap;animation:hint-out 14s forwards}@keyframes hint-out{0%,85%{opacity:1}to{opacity:0}}.controls-hint b{font-family:var(--font-display);color:var(--text);display:inline-block;min-width:54px}.guided .hud-tc,.guided .hud-tl,.guided .hud-tr,.guided .view-controls{display:none}.training-guide{position:absolute;z-index:1;top:20px;left:22px;width:min(350px,calc(100vw - 44px));box-sizing:border-box;padding:18px 20px;background:#080a0cf0;border-left:3px solid var(--accent);font-family:var(--font-body);text-shadow:none;overflow-wrap:anywhere;animation:practice-enter .18s cubic-bezier(.16,1,.3,1) both}.training-step{color:var(--accent);font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.training-guide h2{font-family:var(--font-display);font-size:26px;line-height:1.1;margin:8px 0;letter-spacing:0;text-transform:none}.training-guide p{color:var(--text-2);font-size:15px;line-height:1.45;margin:0 0 12px}.training-guide strong{font-size:15px}.training-progress{display:flex;gap:5px;margin-top:14px}.training-progress span{flex:1;height:3px;background:var(--line-2)}.training-progress i{display:block;height:100%;background:var(--accent)}.training-exit{margin-top:10px;color:var(--text-2);font-size:12px}.training-target{position:absolute;transform:translate(-50%,-100%);padding:4px 8px;background:#080a0cd9;color:var(--text);font-size:14px;white-space:nowrap}.training-target span{color:var(--accent);font-size:20px}.practice-complete>div{max-width:560px;padding:24px;animation:practice-enter .22s cubic-bezier(.16,1,.3,1) both}.practice-complete p{font-size:17px;line-height:1.5;max-width:38ch;margin:16px 0 24px}.practice-complete .practice-opponents{font-size:14px;color:var(--text-2);margin:10px 0 24px}.practice-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:760px),(max-height:600px){.training-guide{top:12px;left:12px;padding:12px 14px;width:min(300px,calc(100vw - 24px))}.training-guide h2{font-size:23px}.training-guide p{font-size:14px;margin-bottom:8px}.pause.practice-complete{padding:0;overflow-y:auto;align-items:flex-start}.practice-complete .screen-title{font-size:32px}}.touch-ui .training-guide{left:84px;width:min(300px,calc(100vw - 180px))}.touch-ui .training-guide h2{margin:4px 0}.touch-ui .training-exit{display:none}@keyframes practice-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.training-guide,.practice-complete>div{animation:none}}.pause{position:fixed;inset:0;z-index:15;background:#050608b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;padding-left:8vw}.touch-layer{position:fixed;inset:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);z-index:10;pointer-events:auto;touch-action:none}.touch-stick{position:absolute;width:130px;height:130px;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:#0000002e}.touch-knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#ffffff59}.touch-btn{position:absolute;width:62px;height:62px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#0000004d;color:#fff;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;text-transform:uppercase}.touch-btn.on{background:#ff5a3c73;border-color:var(--accent)}.touch-btn.fire{width:84px;height:84px;background:#ff5a3c4d;border-color:#ff5a3cb3}@media(max-width:760px){.vitals{width:200px}.vital .num{font-size:26px}.weapon-panel .mag{font-size:40px}.minimap{width:130px;height:130px}.killfeed{font-size:11px}}.touch-ui .touch-btn{width:54px;height:54px;font-size:11px}.touch-ui .hud-br{right:auto;left:50%;bottom:8px;transform:translate(-50%) scale(.7)!important;transform-origin:bottom center;text-align:center}.touch-ui .weapon-panel .ammo,.touch-ui .slots,.touch-ui .gear{justify-content:center}.touch-ui .hud-bl{transform:scale(.65)!important;bottom:8px}.touch-ui .hud-tr{transform:scale(.6)!important}.touch-ui .hud-tl{transform:scale(.75)!important;left:90px}.touch-ui .controls-hint{display:none}.touch-ui .protect{bottom:150px}.objbar{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:6px;pointer-events:none}.objzones{display:flex;gap:6px}.objzone{position:relative;width:30px;height:30px;border:2px solid var(--text);background:#080a0e9e;transform:rotate(45deg);overflow:hidden;display:grid;place-items:center}.objzone span{transform:rotate(-45deg);font-weight:700;font-size:14px;z-index:1}.objzone .fill{position:absolute;left:0;bottom:0;width:100%;opacity:.45}.objzone.inactive{opacity:.4}.objzone.contested{animation:objpulse .5s ease-in-out infinite alternate}@keyframes objpulse{0%{box-shadow:0 0 #ffd23c00}to{box-shadow:0 0 12px #ffd23ce6}}.objround,.objitem,.objtext{font-size:12px;letter-spacing:.08em;background:#080a0e8c;padding:2px 10px;border-radius:3px;text-transform:uppercase}.objround .side{margin-left:8px;padding:0 6px;border-radius:2px;font-weight:700}.objround .side.atk{background:#ff5a3c59}.objround .side.def{background:#3fa7ff59}.objtext{opacity:.85}.uprising-objbar{max-width:min(450px,65vw);padding:7px 14px;background:#080a0ec7;border-bottom:2px solid var(--accent);text-align:center;text-wrap:balance}.uprising-objbar .objround{background:none;padding:0}.uprising-status{font-size:12px;opacity:.8}.uprising-next{font-size:13px;line-height:1.3}.interact{position:absolute;left:50%;bottom:22%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 12px;background:#080a0eb8;border:1px solid rgba(232,226,208,.25);border-radius:4px;font-size:14px;pointer-events:none;min-width:160px;flex-wrap:wrap;justify-content:center}.interact .key{display:inline-block;min-width:22px;padding:1px 6px;border:1px solid var(--text);border-radius:3px;text-align:center;font-weight:700}.interact.disabled{opacity:.7;color:var(--warn)}.interact .hold{flex-basis:100%;height:4px;background:#ffffff26}.interact .hold div{height:100%;background:var(--accent, #f2c14e)}.status-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;max-width:260px}.status-tags .tag{font-size:11px;letter-spacing:.08em;padding:1px 6px;border-radius:2px;background:#080a0e99;border:1px solid rgba(232,226,208,.25)}.status-tags .tag.warn{border-color:var(--team-b);color:var(--team-b)}.status-tags .tag.carry{border-color:var(--warn);color:var(--warn)}.status-tags .tag.power{border-color:#8aa0b4;color:#b8c8d8}.status-tags .breath{flex-basis:100%;height:4px;background:#ffffff1f}.status-tags .breath div{height:100%;background:#6ec6ff}.status-tags .breath.low div{background:var(--team-b)}.vehicle-panel{margin-top:8px;width:220px;padding:6px 8px;background:#080a0e9e;border:1px solid rgba(232,226,208,.22);border-radius:3px;font-size:12px}.vehicle-panel .vp-head{display:flex;justify-content:space-between;letter-spacing:.08em;text-transform:uppercase}.vehicle-panel .vp-speed{font-variant-numeric:tabular-nums;opacity:.85}.vehicle-panel .vp-seat,.vehicle-panel .vp-keys{opacity:.7;font-size:11px;margin:2px 0}.vehicle-panel .bar{height:5px;margin:4px 0;background:#ffffff1f}.vehicle-panel .bar>div{height:100%;background:var(--accent, #f2c026)}.vehicle-panel .bar.heat>div{background:#f28026}.vehicle-panel .bar.low>div{background:var(--team-b)}.reconnect-banner{position:absolute;top:96px;left:50%;transform:translate(-50%);padding:6px 14px;background:#280e0ae0;border:1px solid var(--team-b);letter-spacing:.08em;font-size:13px;z-index:5}.reconnect-banner.spectator{background:#080a0ebf;border-color:#e8e2d04d}.squad-orders{position:absolute;left:16px;top:230px;pointer-events:auto;background:#101924ed;border:1px solid #688399;padding:8px;border-radius:6px}.squad-orders summary{cursor:pointer}.squad-orders [role=group]{display:flex;flex-wrap:wrap;gap:4px;max-width:240px;margin:8px 0}.squad-orders button{min-height:36px}.view-controls{display:flex;gap:6px}.view-controls button{pointer-events:auto;padding:6px 9px;background:#11161ad9;color:var(--text);border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:background .15s ease-out,border-color .15s ease-out}.view-controls button:hover{background:#2a3136f2;border-color:var(--text)}.view-controls button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.view-controls button:active{background:#3e464df2}.tactical-map{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#101924f5;padding:16px;border:1px solid #829aac;border-radius:10px;text-align:center;pointer-events:auto;z-index:10}.tactical-map .minimap{position:static}.tactical-map h2{margin:0 0 8px}.tactical-map p{margin:8px 0;font-size:12px}.command-wheel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,90vw);height:280px;border-radius:50%;background:#101924f5;border:2px solid #7895aa;pointer-events:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:center;padding:20px}.command-wheel button{border:1px solid #7895aa;border-radius:18px;min-height:64px;color:#fff;background:#263e50;padding:8px}.command-wheel button:focus-visible{outline:3px solid #ffdc6a}.emote-wheel{height:auto;min-height:220px;border-radius:28px}.emote-wheel .emote-empty{grid-column:1 / -1;margin:0;color:#cfe0ec;text-align:center;font-size:14px}.hud .squad-orders summary,.hud .squad-orders button,.hud .command-wheel button,.hud .tactical-map button{pointer-events:auto}.voice-panel{position:fixed;top:max(88px,calc(env(safe-area-inset-top) + 76px));right:max(12px,env(safe-area-inset-right));width:min(310px,calc(100vw - 24px));z-index:35;pointer-events:auto;text-align:right}.voice-toggle{background:#070c12f0}.voice-controls{margin-top:6px;padding:14px;background:#090f16f7;border:1px solid var(--line-2);border-radius:4px;text-align:left;max-height:calc(100dvh - 160px);overflow-y:auto;touch-action:pan-y;box-shadow:0 12px 30px #0008}.voice-controls>strong{font-family:var(--font-display);letter-spacing:2px;font-size:18px}.voice-note{font-size:12px;color:var(--text-2);line-height:1.5;margin:8px 0 12px}.voice-ptt{display:block;width:100%;margin-top:12px;touch-action:none}.voice-panel .is-talking{border-color:var(--good);color:var(--good);background:#11271b}.voice-peers{list-style:none;padding:0;margin:12px 0 0}.voice-peers li{display:flex;align-items:center;gap:5px;padding:8px 0;border-top:1px solid var(--line)}.voice-peer-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px}.voice-peer-name small{display:block;font-size:11px;color:var(--text-2);margin-top:3px}.voice-panel .btn.small{min-height:36px;padding:6px 9px;font-size:12px}.voice-panel button:focus-visible,.voice-panel select:focus-visible,.voice-panel textarea:focus-visible{outline:2px solid var(--good);outline-offset:3px}.voice-report{border-top:1px solid var(--line-2);padding-top:12px;margin-top:12px}.voice-report label{display:block;font-size:12px;margin:10px 0}.voice-report select,.voice-report textarea{display:block;width:100%;margin-top:5px;padding:8px;background:var(--bg-2);color:var(--text);border:1px solid var(--line-2);border-radius:3px;font:inherit;user-select:text;touch-action:auto}.voice-report-actions{display:flex;gap:8px}.voice-message{padding:9px;font-size:12px;line-height:1.5;border:1px solid var(--line-2);background:var(--bg-2);overflow-wrap:anywhere}@media(max-width:640px){.voice-panel{top:max(64px,calc(env(safe-area-inset-top) + 52px))}.voice-controls{max-height:calc(100dvh - 130px)}}
