:root{--hud-fg:#eef0f4;--hud-dim:#a3a6b0;--hud-bg:#0c0e128c;--accent:#e8b04a;--ally:#4f86f0;--danger:#e2483a;--ok:#5fd28a;--mono:ui-monospace, Menlo, Consolas, monospace}html,body{height:100%;color:var(--hud-fg);background:#101114;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#game{touch-action:none;outline:none;width:100%;height:100%;display:block}.hidden{display:none!important}#hud{pointer-events:none;position:fixed;inset:0}#hud.dead #crosshair,#hud.dead #weapon{opacity:.25}#crosshair{--gap:6px;position:absolute;top:50%;left:50%}#crosshair i{background:#fff;position:absolute;box-shadow:0 0 0 1px #0000008c}#crosshair .t,#crosshair .b{width:2px;height:8px;left:-1px}#crosshair .l,#crosshair .r{width:8px;height:2px;top:-1px}#crosshair .t{bottom:var(--gap)}#crosshair .b{top:var(--gap)}#crosshair .l{right:var(--gap)}#crosshair .r{left:var(--gap)}#hitmarker{opacity:0;position:absolute;top:50%;left:50%}#hitmarker.show{opacity:1}#hitmarker i{background:#fff;width:2px;height:9px;position:absolute;top:-4.5px;left:-1px}#hitmarker i:first-child{transform:rotate(45deg)translateY(-10px)}#hitmarker i:nth-child(2){transform:rotate(135deg)translateY(-10px)}#hitmarker i:nth-child(3){transform:rotate(225deg)translateY(-10px)}#hitmarker i:nth-child(4){transform:rotate(315deg)translateY(-10px)}#hitmarker.head i{background:var(--accent)}#hitmarker.kill i{background:var(--danger);height:13px}#damage{position:absolute;top:50%;left:50%}#damage .arc{transform-origin:60px 150px;border-top:6px solid var(--danger);border-radius:50%;width:120px;height:300px;animation:1.1s ease-out forwards fade;position:absolute;top:-150px;left:-60px}#vignette{opacity:0;transition:opacity .35s;position:absolute;inset:0;box-shadow:inset 0 0 160px #c8140a8c}#vignette.show{opacity:1;transition:none}@keyframes fade{to{opacity:0}}#flashbang{opacity:0;pointer-events:none;z-index:50;background:#fff;position:absolute;inset:0}#in-smoke{opacity:0;pointer-events:none;z-index:49;background:#a8abaf;transition:opacity .15s;position:absolute;inset:0}@keyframes flashbang{0%{opacity:1}35%{opacity:1}to{opacity:0}}#practice{font:12px var(--mono);color:var(--hud-dim);background:var(--hud-bg);white-space:nowrap;border-radius:4px;padding:4px 10px;position:absolute;top:10px;left:50%;transform:translate(-50%)}#toast{letter-spacing:.14em;opacity:0;white-space:nowrap;background:#1e3c78bf;border-radius:4px;padding:6px 16px;font-size:18px;font-weight:700;transition:opacity .4s;position:absolute;top:44px;left:50%;transform:translate(-50%)}#toast.warn{background:#8c281ecc}#combo{font:700 12px var(--mono);letter-spacing:.1em;color:#9be8ff;background:#0a325099;border:1px solid #6ed7ff99;border-radius:4px;padding:4px 10px;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}#combo[data-state=mega]{color:#fff;background:#145a8ccc;box-shadow:0 0 12px #6ed7ffb3}#capture{min-width:260px;font:700 12px var(--mono);text-align:center;letter-spacing:.08em;background:var(--hud-bg);border-radius:4px;padding:5px 10px;position:absolute;top:112px;left:50%;transform:translate(-50%)}#capture .bar{background:#ffffff1f;border-radius:3px;height:5px;margin:4px 0;overflow:hidden}#capture-bar{background:#ddd;width:0;height:100%;display:block}#capture[data-owner=ally] #capture-text{color:#6ad7ff}#capture[data-owner=enemy] #capture-text{color:#ff8a7a}#capture-bar[data-team=ally]{background:#6ad7ff}#capture-bar[data-team=enemy]{background:#ff6a5a}#capture-score{color:var(--hud-dim);font-weight:400}#enemy-wall{font:700 12px var(--mono);letter-spacing:.12em;color:#ff8a7a;white-space:nowrap;background:#5a0f0a8c;border:1px solid #ff5a4699;border-radius:4px;padding:3px 10px;position:absolute;top:84px;left:50%;transform:translate(-50%)}#toast.show{opacity:1;transition:none}#banner{letter-spacing:.08em;background:var(--hud-bg);text-align:center;white-space:pre-line;border-radius:6px;padding:12px 24px;font-size:28px;font-weight:800;position:absolute;top:28%;left:50%;transform:translate(-50%)}#killfeed{flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;top:10px;right:12px}#killfeed div{background:var(--hud-bg);border-radius:3px;padding:3px 8px;font-size:13px}#killfeed .a{color:#8fb4ff}#killfeed .b{color:#ff8f84}#squad{background:var(--hud-bg);border-radius:6px;width:250px;padding:8px;position:absolute;bottom:96px;left:12px}#squad-order{font:700 13px var(--mono);letter-spacing:.08em;color:var(--accent);margin-bottom:6px}#squad-order[data-order=charge]{color:var(--danger)}#squad-order[data-order=guard],#squad-order[data-order=shieldwall]{color:#6ad7ff}#squad-order[data-order=hold]{color:var(--hud-dim)}#squad-cards{flex-direction:column;gap:4px;display:flex}.card{align-items:center;gap:8px;font-size:12px;display:flex}.card .num{background:var(--ally);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-weight:700;display:grid}.card .info{flex:1;min-width:0}.card .bar{background:#ffffff1f;border-radius:2px;height:4px;overflow:hidden}.card .bar i{background:var(--ok);height:100%;display:block}.card .meta{color:var(--hud-dim);justify-content:space-between;margin-top:2px;display:flex}.card .act{text-transform:uppercase;letter-spacing:.04em}.card[data-activity=engaging] .act,.card[data-activity=charging] .act{color:var(--danger)}.card[data-activity=rejoining] .act{color:var(--accent)}.card .hp{font:700 13px var(--mono);text-align:right;width:28px}.card.dead{opacity:.4}.card.dead .num{background:#555}#shield{font:700 12px var(--mono);margin-top:6px}#shield .bar{background:#ffffff1f;border-radius:3px;height:5px;margin-top:3px;overflow:hidden}#shield-bar{background:#6ad7ff;height:100%;display:block}#shield[data-state=cooldown]{color:var(--danger)}#shield[data-state=cooldown] #shield-bar{background:var(--danger)}#shield[data-state=linking]{color:var(--hud-dim)}#ult{font:700 12px var(--mono);margin-top:6px}#ult .bar{background:#ffffff1f;border-radius:3px;height:5px;margin-top:3px;overflow:hidden}#ult-bar{background:#c9a6ff;height:100%;display:block}#ult[data-state=ready]{color:#ffd84a}#ult[data-state=ready] #ult-bar{background:#ffd84a;box-shadow:0 0 8px #ffd84a}#ult[data-state=active]{color:#fff}#ult[data-state=active] #ult-bar{background:#fff}#ult[data-state=cooldown]{color:var(--hud-dim)}#ult[data-state=cooldown] #ult-bar{background:var(--hud-dim)}#hitmarker.shield i{background:#6ad7ff}.card[data-activity=flank\ shooter] .act{color:#ffd84a}.card[data-activity=bracing] .act,.card[data-activity=linking] .act{color:#6ad7ff}.card[data-activity=staggered] .act{color:var(--danger)}#squad .keys{font:11px var(--mono);color:var(--hud-dim);margin-top:6px}#vitals{background:var(--hud-bg);border-radius:6px;width:226px;padding:8px 12px;position:absolute;bottom:12px;left:12px}#vitals .label{color:var(--hud-dim);letter-spacing:.1em;font-size:11px}#health-value{font:800 32px var(--mono);line-height:1.1}#vitals .bar{background:#ffffff1f;border-radius:3px;height:5px;overflow:hidden}#health-bar{background:var(--ok);width:100%;height:100%;display:block}#health-bar.low{background:var(--danger)}#weapon{background:var(--hud-bg);text-align:right;border-radius:6px;min-width:170px;padding:8px 12px;position:absolute;bottom:12px;right:12px}#weapon-name{color:var(--hud-dim);letter-spacing:.06em;font-size:12px}#ammo{font:800 30px var(--mono);line-height:1.15}#grenades{color:var(--hud-dim);font-size:12px}#reload{background:#ffffff1f;border-radius:2px;height:4px;margin-top:4px;overflow:hidden}#reload-bar{background:var(--accent);height:100%;display:block}#debug{font:12px/1.35 var(--mono);pointer-events:none;background:#0000008c;border-radius:4px;margin:0;padding:6px 8px;position:fixed;top:50%;right:12px;transform:translateY(-50%)}#perf{z-index:5;pointer-events:none;background:#0009;border-radius:4px;padding:6px 8px;position:fixed;top:44px;right:12px}#perf canvas{width:240px;height:50px;display:block}#perf pre{font:12px/1.35 var(--mono);color:#eef0f4;margin:4px 0 0}.settings{gap:10px;margin-bottom:12px;font-size:13px;display:grid}.settings label{color:var(--hud-dim);gap:4px;display:grid}.settings label.check{align-items:center;gap:8px;display:flex}.settings input[type=range]{width:100%}.overlay{background:#0a0b0e8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay .panel{box-sizing:border-box;background:#14161bf2;border:1px solid #2c2f37;border-radius:8px;width:calc(100% - 32px);max-width:400px;max-height:calc(100% - 32px);padding:22px 26px;overflow:auto}.overlay .panel.wide{max-width:640px}.overlay h1{letter-spacing:.12em;margin:0 0 4px;font-size:22px}.overlay h2{letter-spacing:.12em;color:var(--hud-dim);text-transform:uppercase;margin:16px 0 8px;font-size:12px}.overlay .sub{color:var(--hud-dim);margin:0 0 12px;font-size:13px}.overlay .status{color:var(--danger);min-height:1em}.overlay a{color:var(--accent)}.overlay button{color:#101114;background:var(--accent);cursor:pointer;border:0;border-radius:6px;padding:10px 14px;font-size:14px;font-weight:600}.overlay button:hover:not(:disabled){background:#f2c062}.overlay button:disabled{opacity:.5;cursor:not-allowed}.overlay button.secondary{color:var(--hud-fg);background:#2c3039}.overlay button.secondary:hover:not(:disabled){background:#383d48}.overlay button.small{padding:6px 10px;font-size:12px}#play{width:100%;margin-bottom:14px;padding:12px;font-size:15px}.overlay input,.overlay select{color:var(--hud-fg);background:#14161b;border:1px solid #383d48;border-radius:6px;min-width:0;padding:9px 10px;font-size:14px}.overlay .row{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.overlay .row>input,.overlay .row>button{flex:1}.overlay .field{color:var(--hud-dim);flex-direction:column;gap:4px;font-size:12px;display:flex}.overlay details{color:var(--hud-dim);margin-top:8px;font-size:12px}.overlay details input{box-sizing:border-box;width:100%;font-family:var(--mono);margin-top:6px;font-size:12px}#code{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase}.check{align-items:center;gap:8px;margin:12px 0;font-size:13px;display:flex}.lobby-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.lobby-head .code{font:800 34px var(--mono);letter-spacing:.22em;color:var(--accent)}.lobby-meta{font:600 13px var(--mono);align-items:center;gap:10px;display:flex}.teams{grid-template-columns:1fr 1fr;gap:12px;display:grid}.teams ul{background:#14161b;border-radius:6px;min-height:60px;margin:0;padding:0;list-style:none}.teams li{border-bottom:1px solid #23262d;justify-content:space-between;gap:8px;padding:7px 10px;font-size:13px;display:flex}.teams li .tag{color:var(--hud-dim);font-size:12px}.teams li.ready .tag{color:var(--ok)}.teams li.away .tag{color:var(--danger)}.teams li.empty{color:var(--hud-dim);font-style:italic}.controls{border-collapse:collapse;width:100%;margin-bottom:10px;font-size:13px}.controls td{border-bottom:1px solid #262930;padding:3px 0}.controls td:first-child{color:var(--accent);font-family:var(--mono);width:46%}@media (max-width:700px){.teams{grid-template-columns:1fr}#squad{width:200px;bottom:90px}#vitals{width:170px}#weapon{min-width:130px}}#scope{pointer-events:none;z-index:5;position:absolute;inset:0}#scope .lens{background:radial-gradient(circle,#0000 0 41vmin,#000000bf 42vmin,#000 43vmin);position:absolute;inset:0}#scope i{background:#000;position:absolute}#scope .h{height:1px;top:50%;left:0;right:0;transform:translateY(-.5px)}#scope .v{width:1px;top:0;bottom:0;left:50%;transform:translate(-.5px)}#crosshair.off{display:none}#loadout{color:var(--hud-dim);margin-top:2px;font-size:11px}#killfeed .w{color:#e8e3d0;opacity:.85;padding:0 2px;font-size:12px}#buy{z-index:20;background:#0c1016eb;border:1px solid #ffffff1f;border-radius:8px;width:min(640px,100vw - 32px);padding:14px 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#buy .buy-head{letter-spacing:.08em;margin-bottom:10px;font-weight:800}#buy .dim{color:var(--hud-dim);letter-spacing:0;font-weight:400}#buy .buy-cols{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}#buy h3{color:var(--hud-dim);letter-spacing:.1em;margin:0 0 6px;font-size:11px}#buy ol{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}#buy li{background:#ffffff0d;border:1px solid #0000;border-radius:4px;grid-template-rows:auto auto;grid-template-columns:22px 1fr auto;column-gap:8px;padding:5px 8px;display:grid}#buy li.on{border-color:var(--accent);background:#ffffff1a}#buy kbd{font:700 13px var(--mono);text-align:center;background:#ffffff1f;border-radius:3px;grid-row:span 2;align-self:center;padding:2px 0}#buy .name{font-weight:700}#buy .cls{color:var(--hud-dim);text-align:right;font-size:11px}#buy .stats{font:11px var(--mono);color:var(--hud-dim);grid-column:2/span 2}#buy-note{min-height:18px;color:var(--accent);margin-top:8px;font-size:13px}#buy .buy-foot{color:var(--hud-dim);margin-top:4px;font-size:11px}@media (max-width:560px){#buy .buy-cols{grid-template-columns:1fr}}:root{--g-move:#63b8ff;--g-fight:#ff7d6b;--g-nade:#c7a2ff;--g-squad:#e8b04a;--g-ui:#9ba1ad;--panel:#121419f5;--line:#2c2f37}.logo{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:8px;display:flex}.logo-mark{align-items:flex-end;gap:5px;height:26px;display:flex}.logo-mark i{background:#3b5e98;border-radius:6px 6px 2px 2px;width:13px;height:18px;box-shadow:inset 0 -3px #00000040}.logo-mark i.you{background:var(--accent);width:15px;height:26px}.logo-word{letter-spacing:.12em;color:#f3f4f7;text-shadow:0 3px #00000059;padding-left:.12em;font:italic 900 46px/1 system-ui,-apple-system,Segoe UI,sans-serif}.logo-word b{color:var(--accent);font-weight:900}.logo.big .logo-word{font-size:64px}.logo.big .logo-mark{height:34px}.logo.big .logo-mark i{width:17px;height:24px}.logo.big .logo-mark i.you{width:20px;height:34px}.logo.small{flex-direction:row;justify-content:center;gap:10px;margin-bottom:8px}.logo.small .logo-word{font-size:24px}.logo.small .logo-mark{gap:3px;height:18px}.logo.small .logo-mark i{border-radius:4px 4px 1px 1px;width:8px;height:12px}.logo.small .logo-mark i.you{width:9px;height:18px}.screen{z-index:60;background:radial-gradient(at 50% 35%,#1d2330 0%,#0d0f13 70%);flex-direction:column;justify-content:center;align-items:center;gap:26px;display:flex;position:fixed;inset:0}.load-bar{background:#ffffff14;border-radius:3px;width:min(360px,70vw);height:6px;position:relative;overflow:hidden}.load-bar i{background:var(--accent);border-radius:3px;width:4%;height:100%;transition:width .25s ease-out;display:block}.load-bar:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:30%;animation:1.3s linear infinite load-sheen;position:absolute;inset:0}@keyframes load-sheen{0%{transform:translate(-100%)}to{transform:translate(340%)}}.load-text{color:var(--hud-dim);min-height:1.2em;font-size:14px}.overlay.menu{background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/48px 48px,radial-gradient(at 50% 20%,#232b3a 0%,#0d0f13 75%);align-items:flex-start;overflow-y:auto}.menu-shell{box-sizing:border-box;width:min(760px,100% - 32px);margin:auto;padding:36px 0 28px}.brand{text-align:center;margin-bottom:28px}.tagline{color:var(--hud-dim);margin:14px 0 0;font-size:15px}.menu-view{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 20px 60px #00000073}.primary-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.overlay .big-btn{text-align:left;color:#17130a;background:linear-gradient(160deg,#f0bb55,#d9962c);border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;min-height:150px;padding:20px 20px 18px;transition:transform 80ms,box-shadow 80ms;display:flex;box-shadow:0 6px #9c6a1c,0 10px 24px #00000059}.overlay .big-btn:hover:not(:disabled){background:linear-gradient(160deg,#f6c868,#e0a136);transform:translateY(-1px)}.overlay .big-btn:active{transform:translateY(4px);box-shadow:0 2px #9c6a1c,0 4px 12px #00000059}.overlay .big-btn.alt{color:#fff;background:linear-gradient(160deg,#5c8fe8,#3e6dc6);box-shadow:0 6px #2a4b8c,0 10px 24px #00000059}.overlay .big-btn.alt:hover:not(:disabled){background:linear-gradient(160deg,#6b9cf0,#4a79d2)}.overlay .big-btn.alt:active{box-shadow:0 2px #2a4b8c,0 4px 12px #00000059}.big-icon{fill:currentColor;opacity:.9;width:64px;height:40px}.big-icon .b{opacity:.55}.big-icon .f{opacity:.7}.big-title{letter-spacing:.02em;font-size:26px;font-weight:900}.big-sub{opacity:.85;font-size:13px;font-weight:500;line-height:1.4}.secondary-row{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.overlay .secondary-row button{padding:12px 8px}.menu-foot{color:var(--hud-dim);text-align:center;margin:16px 0 0;font-size:12px}.view-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.overlay .view-head h2{color:var(--hud-fg);letter-spacing:.04em;text-transform:none;margin:0;font-size:18px}.friends-grid{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 6px;display:grid}.friends-grid .card{border:1px solid var(--line);background:#14161b;border-radius:8px;padding:14px;font-size:13px;display:block}.friends-grid h3{letter-spacing:.08em;text-transform:uppercase;color:var(--hud-dim);margin:0 0 10px;font-size:13px}.friends-grid .row>select{flex:1}.overlay button.wide{width:100%}.map-list{gap:8px;display:grid}.overlay .map-btn{text-align:left;color:var(--hud-fg);border:1px solid var(--line);background:#1b1e25;flex-direction:column;align-items:flex-start;gap:3px;padding:13px 16px;display:flex}.overlay .map-btn:hover:not(:disabled){border-color:var(--accent);background:#232733}.map-name{font-size:15px;font-weight:800}.map-sub{color:var(--hud-dim);font-size:12.5px;font-weight:400}.overlay button:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (max-width:620px){.primary-grid,.friends-grid{grid-template-columns:1fr}.secondary-row{grid-template-columns:1fr 1fr}.logo-word{font-size:36px}.logo.big .logo-word{font-size:44px}}kbd{box-sizing:border-box;text-align:center;min-width:1.6em;font:700 .85em/1.4 var(--mono);color:var(--hud-fg);background:#2a2e38;border:1px solid #454b58;border-bottom-width:2px;border-radius:4px;padding:1px 5px;display:inline-block}.overlay .panel{box-shadow:0 20px 60px #00000073}#pause .panel{max-width:440px}#pause #mode-blurb{text-align:center}.overlay .pause-actions>button{flex:1 1 0;padding:9px 8px;font-size:13px}#btn-skip-tutorial{margin-bottom:10px}.p-row{align-items:center;gap:8px;display:flex}#pause.settings-only{background:radial-gradient(at 50% 20%,#232b3a 0%,#0d0f13 75%)}#pause.settings-only #mode-blurb,#pause.settings-only #play,#pause.settings-only #btn-skip-tutorial,#pause.settings-only .pause-actions,#pause.settings-only .p-row,#pause.settings-only #to-menu{display:none}#pause.settings-only #btn-settings-back{display:block!important}.done-panel{text-align:center}.done-panel .done-check{color:#0d2a17;background:var(--ok);border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 10px;font-size:30px;font-weight:900;display:grid;box-shadow:0 0 0 6px #5fd28a2e}.overlay .done-panel h1{letter-spacing:.04em;margin-bottom:8px;font-size:24px}.done-keys{color:var(--hud-dim);flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:6px 0 18px;font-size:13px;display:flex}.done-keys span{align-items:center;gap:6px;display:inline-flex}.done-panel button{margin-top:8px}.overlay .done-panel #btn-tut-match{padding:13px;font-size:16px}#objective{background:var(--hud-bg);border-left:3px solid var(--accent);border-radius:4px;align-items:center;gap:8px;max-width:30vw;padding:5px 10px;font-size:13px;font-weight:600;display:flex;position:absolute;top:10px;left:12px}#objective .obj-kicker{font:700 10px var(--mono);letter-spacing:.12em;color:var(--accent)}#banner{border-top:3px solid var(--hud-dim);white-space:normal;background:#0c0e12c7;border-radius:10px;min-width:300px;padding:16px 30px 18px;animation:.25s ease-out banner-in}#banner .b-kicker{font:700 11px var(--mono);letter-spacing:.2em;color:var(--accent);margin-bottom:4px}#banner .b-title{letter-spacing:.06em;font-size:30px;font-weight:900}#banner .b-sub{letter-spacing:.01em;color:#d5d8df;margin-top:4px;font-size:15px;font-weight:500}#banner .b-sub:last-child{color:var(--hud-dim);font-size:13px}#banner .b-goal{color:var(--accent);margin-top:10px;font-size:14px;font-weight:700}#banner[data-tone=win]{border-top-color:var(--ok)}#banner[data-tone=win] .b-title{color:#8ff0b2}#banner[data-tone=lose]{border-top-color:var(--danger)}#banner[data-tone=lose] .b-title{color:#ff9b8f}#banner[data-tone=goal]{border-top-color:var(--accent)}#banner[data-tone=goal] .b-title{letter-spacing:.03em;font-size:26px}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}#squad .keys{flex-wrap:wrap;gap:4px 9px;font:11px system-ui,sans-serif;display:flex}#squad .keys span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}#squad .keys kbd{min-width:18px;padding:0 3px;font-size:10px}#squad .keys span:first-child kbd,#squad .keys span:nth-child(2) kbd{border-color:var(--accent);color:var(--accent)}#squad .keys .more{color:var(--hud-dim)}#buy .buy-foot kbd{font-size:10px}#tutorial{box-sizing:border-box;border:1px solid #ffffff1a;border-top:3px solid var(--accent);text-align:center;background:#0c0e12d6;border-radius:10px;width:min(400px,100vw - 24px);padding:12px 16px;position:absolute;top:12px;left:12px;box-shadow:0 10px 30px #00000059}#tutorial.enter{animation:.35s ease-out tut-in}@keyframes tut-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}#tutorial.success{border-top-color:var(--ok)}.tut-head{font:700 11px var(--mono);letter-spacing:.1em;color:var(--accent);justify-content:space-between;align-items:center;display:flex}#tutorial.success .tut-head{color:var(--ok)}.tut-skip{color:var(--hud-dim);letter-spacing:.02em;font-weight:400}.tut-skip kbd{font-size:10px}#tut-title{letter-spacing:.02em;margin:6px 0 10px;font-size:22px;font-weight:900}#tutorial.success #tut-title{color:#8ff0b2}#tut-visual{justify-content:center;align-items:center;gap:14px;min-height:88px;display:flex}#tut-detail{color:#c9ccd4;margin:10px 0 8px;font-size:13px;line-height:1.4}.tut-progress{background:#ffffff1a;border-radius:3px;height:5px;overflow:hidden}#tut-bar{background:var(--accent);width:0;height:100%;transition:width .15s;display:block}#tutorial.success #tut-bar{background:var(--ok)}#tut-dots{justify-content:center;gap:6px;margin-top:9px;display:flex}#tut-dots i{background:#ffffff26;border-radius:2px;width:22px;height:4px}#tut-dots i.now{background:var(--accent)}#tut-dots i.done{background:var(--ok)}.tut-then{color:var(--hud-dim);font-size:22px;font-weight:800}.tut-label{color:var(--g-squad);letter-spacing:.04em;text-transform:uppercase;font-size:16px;font-weight:800}.wasd{grid-template-rows:44px 44px;grid-template-columns:repeat(3,44px);gap:4px;display:grid}.wasd .k-KeyW{grid-area:1/2}.wasd .k-KeyA{grid-area:2/1}.wasd .k-KeyS{grid-area:2/2}.wasd .k-KeyD{grid-area:2/3}kbd.cap{flex-direction:column;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}kbd.cap.big{border-bottom-width:4px;border-radius:7px;width:44px;height:44px;font-size:18px}#tut-visual>kbd.cap.big{width:64px;height:64px;font-size:28px}kbd.cap.on.g-move{border-color:var(--g-move);color:var(--g-move);background:#63b8ff24}kbd.cap.on.g-fight{border-color:var(--g-fight);color:var(--g-fight);background:#ff7d6b24}kbd.cap.on.g-nade{border-color:var(--g-nade);color:var(--g-nade);background:#c7a2ff24}kbd.cap.on.g-squad{border-color:var(--g-squad);color:var(--g-squad);background:#e8b04a29}kbd.cap.on.g-ui{border-color:var(--g-ui);color:#d6d9e0;background:#9ba1ad24}#tut-visual kbd.cap.big{animation:1.4s ease-in-out infinite cap-pulse}@keyframes cap-pulse{50%{transform:translateY(2px);box-shadow:0 0 14px}}.mouse{flex-direction:column;align-items:center;gap:4px;display:flex}.mouse svg{width:52px;height:74px}.mouse .body{fill:#2a2e38;stroke:#4a505d;stroke-width:2px}.mouse .btn{fill:#343946;stroke:#4a505d;stroke-width:1.5px}.mouse .wheel{fill:#5a6070}.mouse .arrows path{fill:var(--hud-dim)}.mouse.g-move .arrows path,.mouse.g-move .btn.lit{fill:var(--g-move)}.mouse.g-fight .btn.lit{fill:var(--g-fight)}.mouse.g-nade .btn.lit{fill:var(--g-nade)}#tut-visual .mouse .btn.lit,#tut-visual .mouse .arrows{animation:1.4s ease-in-out infinite lit-blink}@keyframes lit-blink{50%{opacity:.45}}.mouse-hint{font:700 11px var(--mono);color:var(--hud-dim);letter-spacing:.04em;white-space:nowrap}#keys-overlay{z-index:40;background:#08090c8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.keys-panel{background:var(--panel);border:1px solid var(--line);box-sizing:border-box;border-radius:12px;width:min(860px,100vw - 32px);max-height:calc(100vh - 32px);padding:16px 20px 18px;overflow:auto;box-shadow:0 20px 60px #00000080}.keys-head{align-items:center;gap:14px;margin-bottom:12px;display:flex}.keys-title{letter-spacing:.14em;font-size:15px;font-weight:900}.keys-head .sub{color:var(--hud-dim);flex:1;font-size:12px}.keys-head button{color:var(--hud-fg);cursor:pointer;background:#2c3039;border:0;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.kb-row{justify-content:center;align-items:center;gap:22px;display:flex}.kb{--u:min(46px, 5.6vw);width:calc(var(--cols) * var(--u));height:calc(var(--rows) * var(--u) * 1.18);flex:none;position:relative}.kb kbd.cap{height:calc(var(--u) * 1.18 - 5px);font-size:calc(var(--u) * .3);border-bottom-width:3px;border-radius:5px;position:absolute}.kb kbd.cap .lbl{line-height:1}.kb kbd.cap .hint{font:600 calc(var(--u) * .2) system-ui, sans-serif;letter-spacing:0;text-transform:uppercase;opacity:.9;white-space:nowrap;max-width:100%;margin-top:3px;overflow:hidden}.kb kbd.cap.off{opacity:.28}.kb-legend{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 4px;display:flex}.chip{font:700 11px var(--mono);letter-spacing:.06em;border:1px solid;border-radius:999px;padding:3px 9px}.chip.g-move{color:var(--g-move)}.chip.g-fight{color:var(--g-fight)}.chip.g-nade{color:var(--g-nade)}.chip.g-squad{color:var(--g-squad)}.chip.g-ui{color:var(--g-ui)}#keys-orders{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:12px;padding-top:12px;display:grid}.order-row{color:#c9ccd4;grid-template-columns:30px 92px 1fr;align-items:center;gap:8px;font-size:12.5px;display:grid}.order-row kbd.cap{width:28px;height:26px;font-size:13px}.order-row b{color:var(--hud-fg)}@media (max-width:760px){#keys-orders{grid-template-columns:1fr}.kb-row .mouse{display:none}}#tut-meter{font:11px var(--mono);color:var(--hud-dim);margin-top:5px}#tut-meter:empty{display:none}.overlay .settings input[type=range]{box-sizing:border-box;border:0;margin:4px 0 0;padding:0}@media (max-height:640px){#tut-detail{display:none}#tut-visual{min-height:64px}}.overlay button.quick-btn{text-align:left;color:#fff;background:linear-gradient(135deg,#5b8def,#3d68c9);border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin:6px 0 14px;padding:16px 18px;display:flex;box-shadow:0 4px #2b4f9e,0 10px 24px #00000059}.overlay button.quick-btn:hover:not(:disabled){background:linear-gradient(135deg,#6b9cf0,#4a79d2)}.overlay button.quick-btn:active{transform:translateY(2px);box-shadow:0 2px #2b4f9e}.quick-title{font:800 20px var(--sans,system-ui)}.quick-sub{opacity:.9;font-size:13px;line-height:1.35}.quick-panel{text-align:center;min-width:min(420px,100vw - 32px)}.quick-panel .row{justify-content:center}.radar{background:radial-gradient(circle,#5b8def2e,#0000 70%);border:2px solid #5b8def99;border-radius:50%;width:84px;height:84px;margin:4px auto 14px;position:relative}.radar i{background:conic-gradient(#5b8def8c,#0000 28%);border-radius:50%;animation:1.6s linear infinite radar-spin;position:absolute;inset:0}#quick-wait.found .radar{border-color:var(--accent)}#quick-wait.found .radar i{background:radial-gradient(circle, var(--accent) 0 18%, transparent 20%);animation:none}#quick-wait.found #quick-title{color:var(--accent)}@keyframes radar-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.radar i{animation:none}}html{touch-action:manipulation;-webkit-text-size-adjust:100%}body:not(.touch) .touch-only,body.touch .desk-only{display:none!important}body.touch{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body.touch input,body.touch select{-webkit-user-select:text;user-select:text}#touch{display:none}body.touch-play #touch{z-index:6;touch-action:none;--sl:env(safe-area-inset-left,0px);--sr:env(safe-area-inset-right,0px);--st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);display:block;position:absolute;inset:0}.t-zone{pointer-events:auto;touch-action:none;position:absolute;inset:0}.t-stick{left:calc(var(--sl) + 84px);top:calc(100% - var(--sb) - 84px);box-sizing:border-box;pointer-events:none;opacity:.55;background:#0c0e1238;border:2px solid #ffffff47;border-radius:50%;width:104px;height:104px;margin:-52px 0 0 -52px;transition:opacity .15s;position:absolute}.t-stick.active{opacity:1;transition:none}.t-stick.sprint{border-color:var(--accent);box-shadow:0 0 14px #e8b04a80}.t-knob{background:#eef0f48c;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%;box-shadow:0 2px 8px #0006}.t-btn{pointer-events:auto;touch-action:none;box-sizing:border-box;color:#eef0f4;letter-spacing:.04em;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;background:#0c0e1280;border:1.5px solid #ffffff61;border-radius:10px;justify-content:center;align-items:center;margin:0;padding:0;font:800 11px/1 system-ui,-apple-system,Segoe UI,sans-serif;display:flex;position:absolute}.t-btn svg{display:block}.t-btn.on{border-color:var(--accent);color:var(--accent);background:#e8b04a33}.t-btn.down{color:#fff;background:#e8b04a8c}.t-round{border-radius:50%;flex-direction:column;gap:2px}.t-round svg{width:44%;height:44%}.t-round span{font-size:9.5px}.t-fire{width:84px;height:84px;right:calc(var(--sr) + 20px);bottom:calc(var(--sb) + 40px);background:#96241a61;border:2px solid #ff7d6bd9}.t-fire svg{width:42%;height:42%}.t-fire span{font-size:11px}.t-fire.down{background:#e2483ab3}.t-ads{width:54px;height:54px;right:calc(var(--sr) + 116px);bottom:calc(var(--sb) + 26px)}.t-reload{width:48px;height:48px;right:calc(var(--sr) + 124px);bottom:calc(var(--sb) + 94px)}.t-jump{width:50px;height:50px;right:calc(var(--sr) + 32px);bottom:calc(var(--sb) + 136px)}.t-crouch{width:48px;height:48px;right:calc(var(--sr) + 92px);bottom:calc(var(--sb) + 152px)}.t-corner{top:calc(var(--st) + 6px);right:calc(var(--sr) + 8px);gap:6px;display:flex;position:absolute}.t-corner .t-btn,.t-orders .t-btn,.t-slots .t-btn{position:static}.t-corner .t-btn{height:38px}.t-pause{width:44px}.t-pause svg{width:20px;height:20px}.t-buy{width:50px}.t-orders{top:calc(var(--st) + 6px);gap:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.t-orders .t-btn{min-width:52px;height:38px;padding:0 6px;font-size:10.5px}.t-orders [data-act=o-shieldwall],.t-orders [data-act=o-cover]{border-color:#e8b04abf}.t-orders [data-act=o-ult]{color:#c9a6ff;border-color:#c9a6ff99}.t-orders [data-act=o-ult].ready{color:#ffd84a;border-color:#ffd84a;box-shadow:0 0 10px #ffd84a99}.t-slots{bottom:calc(var(--sb) + 6px);gap:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.t-slots .t-btn{flex-direction:column;gap:3px;min-width:52px;max-width:76px;height:40px;padding:0 6px}.t-slots .t-btn b{font:700 9px var(--mono);color:var(--hud-dim)}.t-slots .t-btn span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;overflow:hidden}.t-slots .t-btn.on b{color:var(--accent)}.t-slots .t-btn.empty{opacity:.4}#touch.dead .t-fire,#touch.dead .t-ads,#touch.dead .t-reload,#touch.dead .t-slots{opacity:.35}@media (max-width:700px){.t-orders .t-btn{min-width:44px;padding:0 4px;font-size:9.5px}.t-slots .t-btn{min-width:46px;max-width:66px;padding:0 4px}.t-slots .t-btn span{font-size:9px}}@media (min-width:900px) and (min-height:600px){.t-orders .t-btn,.t-corner .t-btn{min-width:62px;height:44px;font-size:12px}.t-pause{width:50px}.t-slots .t-btn{min-width:64px;max-width:96px;height:46px}.t-slots .t-btn span{font-size:11px}}body.touch-play #squad{top:calc(env(safe-area-inset-top,0px) + 54px);bottom:auto;left:calc(env(safe-area-inset-left,0px) + 8px);transform-origin:0 0;width:230px;transform:scale(.78)}body.touch-play #squad .keys{display:none}body.touch-play #objective{top:calc(env(safe-area-inset-top,0px) + 6px);left:calc(env(safe-area-inset-left,0px) + 8px);box-sizing:border-box;max-width:calc(50vw - 200px);min-height:26px;padding:3px 8px;font-size:11px;line-height:1.25}body.touch-play #objective .obj-kicker{display:none}body.touch-play #practice{padding:3px 8px;font-size:10.5px;top:50px}body.touch-play #toast{font-size:15px;top:76px}body.touch-play #enemy-wall{font-size:12px;top:102px}body.touch-play #capture{min-width:220px;font-size:12px;top:124px}body.touch-play #killfeed{top:52px;right:calc(env(safe-area-inset-right,0px) + 8px)}body.touch-play #killfeed div{padding:2px 6px;font-size:11px}body.touch-play #combo{font-size:12px;bottom:100px}body.touch-play #banner{min-width:0;max-width:calc(100vw - 280px);padding:10px 18px 12px;top:22%}body.touch-play #banner .b-title{font-size:20px}body.touch-play #banner .b-sub{font-size:12px}body.touch-play #banner .b-goal{margin-top:6px;font-size:12px}body.touch-play #vitals,body.touch-play #weapon{left:50%;right:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 52px);align-items:baseline;gap:6px;width:auto;min-width:0;padding:3px 9px;display:flex}body.touch-play #vitals{transform:translate(calc(-100% - 3px))}body.touch-play #weapon{transform:translate(3px)}body.touch-play #vitals .label,body.touch-play #grenades,body.touch-play #loadout{display:none}body.touch-play #health-value,body.touch-play #ammo{font-size:18px;line-height:1.2}body.touch-play #vitals .bar{align-self:center;width:44px}body.touch-play #weapon-name{font-size:10px}body.touch-play #reload{margin:0;position:absolute;bottom:-4px;left:0;right:0}body.touch-play #tutorial{z-index:7;top:calc(env(safe-area-inset-top,0px) + 50px);left:calc(env(safe-area-inset-left,0px) + 8px);background:#0c0e12f7;width:min(300px,38vw);padding:8px 10px 9px}body.touch-play #tut-title{margin:4px 0 6px;font-size:15px}body.touch-play #tut-visual{gap:8px;min-height:54px}body.touch-play #tut-detail{margin:6px 0;font-size:11.5px;display:block}body.touch-play .tut-head{font-size:10px}body.touch-play #tutorial .t-skip{pointer-events:auto;color:var(--hud-fg);border:1px solid #ffffff59;border-radius:6px;padding:5px 9px;font-weight:700}@media (max-height:420px){body.touch-play #tut-detail,body.touch-play #tut-dots{display:none}}.t-ico{flex-direction:column;align-items:center;gap:3px;display:flex}.t-ico-stick i{box-sizing:border-box;background:radial-gradient(circle,currentColor 0 30%,#0000 32%);border:2px solid;border-radius:50%;width:44px;height:44px;animation:1.4s ease-in-out infinite cap-pulse;display:block}.t-ico-drag svg{width:48px;height:32px;animation:1.4s ease-in-out infinite lit-blink}.t-ico-btn b{box-sizing:border-box;border:2px solid;border-radius:10px;justify-content:center;align-items:center;min-width:46px;height:40px;padding:0 8px;font:800 13px system-ui,sans-serif;animation:1.4s ease-in-out infinite cap-pulse;display:flex}.t-ico.g-move{color:var(--g-move)}.t-ico.g-fight{color:var(--g-fight)}.t-ico.g-squad{color:var(--g-squad)}.t-ico.g-nade{color:var(--g-nade)}body.touch-play #buy{z-index:8;pointer-events:auto;box-sizing:border-box;max-height:calc(100% - 16px);overflow:auto}#buy li{cursor:pointer}#buy-close{float:right;width:36px;height:30px;color:var(--hud-fg);background:#ffffff14;border:1px solid #ffffff4d;border-radius:6px;margin:-4px -4px 0 8px;font-size:15px}@media (max-height:480px){body.touch-play #buy{width:min(620px,100vw - 24px);padding:8px 12px}body.touch-play #buy .buy-head{margin-bottom:4px}body.touch-play #buy li{padding:3px 8px}body.touch-play #buy-note{min-height:0;margin-top:4px}}.touch-board{gap:6px;display:grid}.order-row.touch{grid-template-columns:96px 1fr}.order-row.touch .chip{text-align:center;white-space:nowrap}.order-row.wide-cap{grid-template-columns:64px 92px 1fr}.order-row.wide-cap kbd.cap{width:62px;font-size:11px}#rotate{z-index:90;text-align:center;box-sizing:border-box;background:#0d0f13;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:none;position:fixed;inset:0}#rotate svg{fill:none;width:88px;height:88px;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}#rotate p{margin:0;font-size:17px;font-weight:700}@media (orientation:portrait){body.touch-play #rotate{display:flex}}body.touch .overlay button{min-height:40px}body.touch .overlay button.small{min-height:34px}@media (max-height:500px){.menu-shell{padding:10px 0 14px}.brand{margin-bottom:10px}.brand .logo{flex-direction:row;justify-content:center;gap:10px}.brand .logo-word{font-size:30px}.brand .logo-mark{gap:3px;height:20px}.brand .logo-mark i{width:9px;height:13px}.brand .logo-mark i.you{width:10px;height:20px}.tagline{margin-top:4px;font-size:12px}.menu-view{padding:12px 14px}.overlay .big-btn{gap:3px;min-height:0;padding:12px 14px}.big-icon{width:44px;height:26px}.big-title{font-size:20px}.big-sub{font-size:12px}.secondary-row{margin-top:10px}.overlay .secondary-row button{padding:8px 6px}.menu-foot{margin-top:8px}.overlay .quick-btn{margin:4px 0 8px;padding:10px 14px}.quick-title{font-size:17px}.friends-grid{margin:8px 0 4px}.friends-grid .card{padding:10px}.overlay .panel{max-height:calc(100% - 16px);padding:14px 18px}.overlay .logo.small{margin-bottom:4px}#play{margin-bottom:10px;padding:9px}.overlay h2{margin:10px 0 6px}.keys-panel{max-height:calc(100vh - 16px);padding:10px 14px}}@media (max-width:700px){body.touch-play #squad{transform:scale(.68)}body.touch-play #banner .b-title{font-size:17px}}#pause.settings-only #btn-pkey{display:none!important}@media (pointer:coarse){.mouse-only{display:none!important}}
