:root{--bg:#0b1020;--panel:#0e1426db;--panel-border:#18e0ff38;--text:#e8ecf8;--muted:#8d97b5;--a:#18e0ff;--b:#ff2bd6;--warn:#ffb347;--danger:#ff4d6d;--ok:#3cffd0;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--ui-scale:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}body{-webkit-user-select:none;user-select:none;overscroll-behavior:none}[hidden]{display:none!important}#game{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}button,select,input{font:inherit;color:inherit}button{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;letter-spacing:.04em;background:linear-gradient(135deg,#18e0ff3d,#ff2bd633);border-radius:10px;min-height:44px;padding:.7em 1.2em;font-weight:700;transition:transform 80ms,border-color .15s,background .15s}button:hover{border-color:var(--a)}button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:#ffffff0a}button.danger{background:#ff4d6d2e;border-color:#ff4d6d80}input,select{background:#00000059;border:1px solid #ffffff24;border-radius:10px;min-height:44px;padding:.65em .8em}input:focus,select:focus,button:focus-visible{outline:2px solid var(--a);outline-offset:1px}.screen{z-index:10;position:fixed;inset:0}.screen.center{justify-content:center;align-items:center;padding:16px;display:flex}.screen.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;background:#050812b3}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:18px;box-shadow:0 10px 40px #00000073}.panel.narrow{flex-direction:column;gap:10px;min-width:min(320px,100%);display:flex}.panel h2{letter-spacing:.08em;margin:0 0 6px}.panel h3{letter-spacing:.18em;color:var(--muted);margin:16px 0 8px;font-size:.8rem}.hint{color:var(--muted);margin:6px 0;font-size:.85rem}.error{color:var(--danger);min-height:1.2em;margin:8px 0 0}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}#boot{background:var(--bg);flex-direction:column;gap:14px}.boot-logo{letter-spacing:.2em;background:linear-gradient(90deg, var(--a), var(--b));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:900}#boot-msg{color:var(--muted);text-align:center;max-width:420px}#menu{padding:calc(14px + var(--safe-t)) calc(18px + var(--safe-r)) calc(14px + var(--safe-b)) calc(18px + var(--safe-l));background:linear-gradient(90deg,#050710eb 0%,#050710b3 45%,#05071000 70%);grid-template-rows:auto 1fr auto;grid-template-columns:210px minmax(0,560px) 1fr;gap:14px 22px;display:grid}#vignette-menu{pointer-events:none;z-index:-1;background:radial-gradient(at 70%,#0000 40%,#0000008c);position:fixed;inset:0}.menu-top{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{flex-direction:column;line-height:1;display:flex}.brand .studio{letter-spacing:.45em;color:var(--muted);font-size:.68rem}.brand h1{letter-spacing:.06em;background:linear-gradient(90deg, var(--a), var(--b));color:#0000;filter:drop-shadow(0 0 18px #18e0ff59);-webkit-background-clip:text;background-clip:text;margin:4px 0 0;font-size:clamp(1.8rem,4.5vw,3rem);font-style:italic;font-weight:900}.brand .subtitle{letter-spacing:.6em;color:var(--text);opacity:.8;margin-top:2px;font-size:.78rem}.player-card{border:1px solid var(--panel-border);background:#0a0e1cbf;border-radius:14px;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex}.avatar-chip{--c:var(--a);background:linear-gradient(135deg, color-mix(in srgb, var(--c) 60%, #000), #0a0d18);border:2px solid var(--c);width:44px;height:44px;box-shadow:0 0 14px color-mix(in srgb, var(--c) 50%, transparent);border-radius:10px;place-items:center;font-size:1.3rem;font-weight:900;display:grid}.pc-body{flex-direction:column;gap:2px;display:flex}.pc-body input{background:0 0;border:1px solid #0000;width:170px;min-height:0;padding:2px 6px;font-weight:800}.pc-body input:hover,.pc-body input:focus{border-color:var(--panel-border);background:#0000004d}.pc-sub{color:var(--muted);padding-left:7px;font-size:.75rem}.net-status.online{color:var(--ok)}.net-status.offline{color:var(--danger)}.menu-nav{flex-direction:column;gap:8px;display:flex}.nav-btn{text-align:left;letter-spacing:.12em;background:#0a0e1c8c;border:1px solid #ffffff0f;border-left:4px solid #0000;border-radius:8px;padding:14px 18px;font-size:1.15rem;font-style:italic;font-weight:900}.nav-btn:hover{border-left-color:var(--a);background:#18e0ff1f;transform:translate(3px)}.nav-btn.on{border-left-color:var(--a);color:#fff;background:linear-gradient(90deg,#18e0ff47,#18e0ff0a)}.menu-body{padding-right:4px;overflow-y:auto}.menu-body h3{letter-spacing:.3em;color:var(--muted);margin:4px 0 10px;font-size:.78rem}.mode-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.mode-card{text-align:left;background:#0a0e1cb8;border:1px solid #ffffff14;min-height:84px;padding:14px 14px 14px 64px;position:relative}.mode-card b{letter-spacing:.04em;font-size:1.05rem;display:block}.mode-card small{color:var(--muted);letter-spacing:0;font-weight:500}.mode-card.selected,.map-card.selected,.char-card.selected,.weapon-card.selected{border-color:var(--a);background:linear-gradient(135deg,#18e0ff38,#ff2bd61f);box-shadow:inset 0 0 22px #18e0ff2e}.mode-icon{border:2px solid var(--a);border-radius:10px;width:38px;height:38px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.mi-training{border-color:var(--ok);background:radial-gradient(circle, var(--ok) 0 18%, transparent 20% 40%, var(--ok) 42% 48%, transparent 50%)}.mi-ffa{border-color:var(--warn);background:conic-gradient(var(--warn) 0 25%, transparent 0 50%, var(--warn) 0 75%, transparent 0);opacity:.9}.mi-tdm{border-color:var(--a);background:linear-gradient(90deg, var(--a) 0 45%, transparent 45% 55%, var(--b) 55%)}.mi-duel{border-color:var(--b);background:linear-gradient(45deg, transparent 44%, var(--b) 44% 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, var(--b) 44% 56%, transparent 56%)}.map-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.map-card{text-shadow:0 2px 6px #000;border:1px solid #ffffff1a;align-items:flex-end;min-height:74px;padding:10px 12px;display:flex}.map-random{background:repeating-linear-gradient(45deg,#1a1f33 0 12px,#141828 12px 24px)}.map-neon_yard{background:linear-gradient(#05060e1a,#05060ed9),linear-gradient(90deg,#0b1020,#18324a 40%,#3a1640)}.map-neon_yard:before{content:"";position:absolute}.map-metro_zero{background:linear-gradient(#05080e1a,#05080ed9),repeating-linear-gradient(90deg,#e8f4ff80 0 18%,#0000 18% 25%) 0 8px/100% 4px no-repeat,linear-gradient(#1a2230,#0c1018 60%,#2b2f18)}.map-red_canyon{background:linear-gradient(#280a0000,#280a00bf),linear-gradient(#f2a46b 0%,#c8643a 55%,#7a3218 100%)}.private{background:#0a0e1c8c;border:1px solid #ffffff0f;border-radius:10px;margin-top:4px;padding:8px 12px}.private summary{cursor:pointer;color:var(--muted);letter-spacing:.08em;font-weight:700}.private-row{gap:8px;margin-top:10px;display:flex}.private-row input{text-transform:uppercase;letter-spacing:.3em;flex:1;min-width:0}.char-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.char-card{--c:var(--a);text-align:left;background:#0a0e1cb8;border:1px solid #ffffff14;grid-template-rows:auto auto;grid-template-columns:40px 1fr;align-items:center;column-gap:10px;padding:10px;display:grid}.char-card .char-badge{border:2px solid var(--c);width:40px;height:40px;color:var(--c);background:#00000059;border-radius:8px;grid-row:1/3;place-items:center;font-weight:900;display:grid}.char-card small{color:var(--muted);letter-spacing:0;font-weight:500}.char-card.selected{border-color:var(--c);box-shadow:0 0 18px color-mix(in srgb, var(--c) 30%, transparent) inset}.char-info{background:#0a0e1cb8;border:1px solid #ffffff14;border-radius:12px;padding:14px 16px}.char-info h2{--c:var(--a);letter-spacing:.08em;color:var(--c);text-shadow:0 0 18px color-mix(in srgb, var(--c) 50%, transparent);margin:0;font-size:2rem;font-style:italic}.char-info .role{color:var(--muted);letter-spacing:.25em;text-transform:uppercase;margin:0 0 6px;font-size:.8rem}.ability-card{--c:var(--a);border-left:3px solid var(--c);background:#0000004d;border-radius:6px;margin-top:10px;padding:10px 12px}.ability-card .label{letter-spacing:.25em;color:var(--c);font-size:.7rem}.ability-card b{margin-top:2px;font-size:1.15rem;display:block}.ability-card p{margin:4px 0}.ability-card small{color:var(--muted)}.weapon-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:16px;display:grid}.weapon-card{text-align:left;background:#0a0e1cb8;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px}.weapon-card b{display:block}.weapon-card small{color:var(--muted);letter-spacing:.1em;margin-bottom:4px;font-weight:500;display:block}.stat{color:var(--muted);letter-spacing:0;grid-template-columns:78px 1fr;align-items:center;gap:6px;margin-top:2px;font-size:.68rem;font-weight:500;display:grid}.stat em{font-style:normal}.stat i{background:#ffffff1a;border-radius:2px;height:4px;position:relative;overflow:hidden}.stat i:after{content:"";width:var(--v);background:linear-gradient(90deg, var(--a), var(--b));position:absolute;inset:0}.deploy-bar{grid-column:2/-1;justify-content:flex-end;align-items:center;gap:16px;display:flex}.deploy-sel{color:var(--muted);letter-spacing:.06em;text-shadow:0 2px 4px #000;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px;font-size:.85rem;font-weight:700;display:flex}.deploy-sel span+span:before{content:"·";color:#ffffff4d;margin-right:14px}.deploy{letter-spacing:.18em;color:#071018;background:linear-gradient(135deg, #3cffd0, var(--a) 50%, #3c8bff);clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);border:none;border-radius:12px;padding:18px 54px;font-size:1.7rem;font-style:italic;font-weight:900;box-shadow:0 0 30px #18e0ff73,0 6px #0a6b80}.deploy:hover{filter:brightness(1.12);transform:translateY(-2px)}.deploy:disabled{filter:grayscale(.8)}@media (max-width:900px),(max-height:520px){#menu{background:#050710d1;grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr;overflow-y:auto}.menu-nav{flex-direction:row;overflow-x:auto}.nav-btn{white-space:nowrap;padding:10px 12px;font-size:.85rem}.deploy-bar{grid-column:1;justify-content:space-between}.deploy{padding:14px 30px;font-size:1.2rem}.map-list,.char-list{grid-template-columns:repeat(2,minmax(0,1fr))}.deploy-sel{display:none}}@media (max-height:520px){.brand h1{font-size:1.4rem}.brand .subtitle,.brand .studio{display:none}.mode-card{min-height:64px;padding:8px 8px 8px 56px}}#loading{z-index:40;background:radial-gradient(#10183a,#04050b 70%)}.loading-box{text-align:center;max-width:520px}.loading-box h2{letter-spacing:.2em;font-style:italic}.loading-box p{color:var(--muted)}.spinner{border:4px solid #18e0ff33;border-top-color:var(--a);border-radius:50%;width:54px;height:54px;margin:0 auto 14px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.settings-panel{width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.settings-form{grid-template-columns:1fr auto;align-items:center;gap:10px 14px;margin:12px 0 16px;display:grid}.settings-form label{color:var(--muted);font-size:.92rem}.settings-form input[type=range]{width:160px;min-height:0;padding:0}.settings-form input[type=checkbox]{width:22px;height:22px;min-height:0}.settings-form input[type=color]{width:60px;padding:2px}#hud{pointer-events:none;z-index:5;font-variant-numeric:tabular-nums;position:fixed;inset:0}#hud-top{top:calc(10px + var(--safe-t));text-align:center;text-shadow:0 2px 6px #000;position:absolute;left:50%;transform:translate(-50%)}#hud-top .score{justify-content:center;align-items:center;gap:10px;font-size:1.5rem;font-weight:900;display:flex}#hud-top .score span{background:#00000073;border-radius:8px;min-width:46px;padding:2px 8px}#hud-top .team0{color:var(--a)}#hud-top .team1{color:var(--b)}#hud-top .goal{color:var(--muted);font-size:.8rem;background:0 0!important;min-width:0!important}#hud-top .clock{color:var(--text);margin-top:2px;font-size:.95rem}#hud-top .round{letter-spacing:.2em;color:var(--muted);font-size:.8rem}#hud-wait{background:var(--panel);border:1px solid var(--panel-border);text-align:center;pointer-events:auto;border-radius:16px;flex-direction:column;align-items:center;gap:8px;width:min(440px,86vw);padding:16px 18px;display:flex;position:absolute;top:22%;left:50%;transform:translate(-50%)}#hud-wait b#hud-wait-title{letter-spacing:.06em;font-size:1.15rem}#hud-wait span,#hud-wait .wait-code{color:var(--muted);font-size:.85rem}#hud-wait .wait-code b{color:var(--a);letter-spacing:.25em;-webkit-user-select:text;user-select:text;font-size:1.1rem}.invite-btn{min-height:44px}#hud-wait .invite-btn{width:100%}#hud-feed{top:calc(10px + var(--safe-t));right:calc(12px + var(--safe-r));flex-direction:column;align-items:flex-end;gap:4px;font-size:.85rem;display:flex;position:absolute}.feed-row{background:#00000080;border-radius:6px;padding:4px 10px;animation:.15s fadein}.feed-row.mine{border:1px solid var(--a)}.feed-row .w{color:var(--warn);margin:0 6px}@keyframes fadein{0%{opacity:0;transform:translate(10px)}}#hud-crosshair{--ch-color:#3cffd0;--ch-size:8px;--ch-gap:4px;width:0;height:0;position:absolute;top:50%;left:50%}#hud-crosshair i{background:var(--ch-color);position:absolute;box-shadow:0 0 2px #000}#hud-crosshair .t,#hud-crosshair .b{width:2px;height:var(--ch-size);left:-1px}#hud-crosshair .l,#hud-crosshair .r{height:2px;width:var(--ch-size);top:-1px}#hud-crosshair .t{bottom:var(--ch-gap)}#hud-crosshair .b{top:var(--ch-gap)}#hud-crosshair .l{right:var(--ch-gap)}#hud-crosshair .r{left:var(--ch-gap)}#hud-crosshair .c{width:2px;height:2px;display:none;top:-1px;left:-1px}#hud-crosshair.dot .c{display:block}#hud-hitmarker{opacity:0;background:linear-gradient(45deg,#0000 45%,#fff 45% 55%,#0000 55%),linear-gradient(-45deg,#0000 45%,#fff 45% 55%,#0000 55%);width:22px;height:22px;margin:-11px;transition:opacity .1s;position:absolute;top:50%;left:50%;-webkit-mask:radial-gradient(circle,#0000 5px,#000 5px);mask:radial-gradient(circle,#0000 5px,#000 5px)}#hud-hitmarker.show{opacity:1}#hud-hitmarker.head{filter:drop-shadow(0 0 2px var(--danger)) hue-rotate(0deg);background-color:#0000}#hud-hitmarker.kill{width:30px;height:30px;filter:drop-shadow(0 0 4px var(--danger));margin:-15px}#hud-damage{position:absolute;top:50%;left:50%}.dmg-arc{border-top:6px solid #ff3c3cd9;border-radius:50%;width:180px;height:180px;animation:.9s forwards dmg;position:absolute;top:-90px;left:-90px}@keyframes dmg{to{opacity:0}}#hud-vignette{opacity:0;background:radial-gradient(#0000 50%,#c8001e99);transition:opacity .3s;position:absolute;inset:0}#hud-scope{background:radial-gradient(circle,#0000 0 min(36vh,36vw),#000 calc(min(36vh,36vw) + 1px));position:absolute;inset:0}#hud-scope:before,#hud-scope:after{content:"";background:#000000d9;position:absolute}#hud-scope:before{height:1px;top:50%;left:0;right:0}#hud-scope:after{width:1px;top:0;bottom:0;left:50%}#hud-banner{letter-spacing:.15em;opacity:0;text-shadow:0 0 20px var(--b), 0 3px 8px #000;white-space:nowrap;font-size:clamp(1.6rem,6vw,3.4rem);font-weight:900;transition:opacity .2s,transform .2s;position:absolute;top:26%;left:50%;transform:translate(-50%,-50%)scale(.9)}#hud-banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)}#hud-banner.win{color:#3cff9a;text-shadow:0 0 24px #3cff9ab3,0 3px 8px #000}#hud-banner.lose{color:#ff4d6d;text-shadow:0 0 24px #ff4d6db3,0 3px 8px #000}#hud-top .dots{align-items:center;gap:4px;display:inline-flex;background:0 0!important;min-width:0!important;padding:0!important}#hud-top .dots i{opacity:.55;border:2px solid;border-radius:50%;width:10px;height:10px}#hud-top .dots i.on{opacity:1;background:currentColor;box-shadow:0 0 8px}#hud-top .dots.t0{color:var(--a)}#hud-top .dots.t1{color:var(--b)}#hud-death{text-align:center;white-space:pre-line;background:#00000080;border-radius:10px;padding:10px 18px;font-size:1.15rem;font-weight:700;position:absolute;top:62%;left:50%;transform:translate(-50%)}#hud-net{top:calc(70px + var(--safe-t));border:1px solid var(--warn);color:var(--warn);background:#ffb34733;border-radius:8px;padding:5px 12px;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}#hud-bottom{left:calc(16px + var(--safe-l));right:calc(16px + var(--safe-r));bottom:calc(14px + var(--safe-b));text-shadow:0 2px 4px #000;justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.hp{align-items:center;gap:10px;font-size:1.6rem;font-weight:900;display:flex}.hp-bar{background:#00000080;border:1px solid #ffffff26;border-radius:5px;width:180px;height:10px;overflow:hidden}#hud-hp-fill{background:linear-gradient(90deg, var(--ok), var(--a));width:100%;height:100%;transition:width .15s}#hud-hp-fill.low{background:var(--danger)}.ammo{text-align:right;font-weight:900}#hud-weapon{letter-spacing:.15em;color:var(--muted);font-size:.8rem;display:block}#hud-ammo{font-size:2.1rem}#hud-ammo.empty{color:var(--danger)}.ammo .sep,#hud-reserve{color:var(--muted);margin-left:4px;font-size:1.1rem}#hud-status{color:var(--warn);letter-spacing:.15em;min-height:1em;font-size:.85rem}#hud-scoreboard{background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;flex-wrap:wrap;justify-content:center;gap:14px;min-width:min(420px,92vw);padding:14px 18px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#hud-scoreboard h3{text-align:center;letter-spacing:.2em;width:100%;color:var(--muted);margin:0;font-size:.85rem}#hud-scoreboard table,#results-table table{border-collapse:collapse;min-width:220px}#hud-scoreboard caption{letter-spacing:.2em;padding-bottom:4px;font-weight:900}#hud-scoreboard table.team0 caption{color:var(--a)}#hud-scoreboard table.team1 caption{color:var(--b)}th,td{text-align:right;padding:4px 10px}th:first-child,td:first-child{text-align:left}th{color:var(--muted);letter-spacing:.1em;font-size:.75rem}tr.me td{color:var(--a);font-weight:700}tr.dc td{opacity:.5}td i{color:var(--muted);font-size:.7rem;font-style:normal}#hud-debug{left:calc(8px + var(--safe-l));top:calc(48px + var(--safe-t));color:#b6ffcf;background:#000000a6;border-radius:6px;margin:0;padding:6px 8px;font:11px/1.4 ui-monospace,monospace;position:absolute}#click-to-play{pointer-events:auto;cursor:pointer;letter-spacing:.1em;background:#00000059;justify-content:center;align-items:center;font-size:1.4rem;font-weight:800;display:flex;position:absolute;inset:0}.results-panel{text-align:center;width:min(640px,100%);max-height:calc(100vh - 32px);overflow-y:auto}#results-title{letter-spacing:.2em;font-size:2.2rem;font-weight:900}#results-title.win{color:var(--ok)}#results-title.lose{color:var(--danger)}#results-table{justify-content:center;margin:10px 0;display:flex}#results-table table{width:100%}.rival{border:1px solid var(--b);background:#ff2bd614;border-radius:12px;max-width:380px;margin:14px auto;padding:12px}.rival .label{letter-spacing:.3em;color:var(--b);font-size:.75rem}.rival .name{margin:4px 0;font-size:1.3rem;font-weight:900}.rival .h2h{color:var(--muted);justify-content:space-around;font-size:.85rem;display:flex}.rival .h2h b{color:var(--text);font-size:1.6rem;display:block}#touch{pointer-events:none;display:none;position:absolute;inset:0}#touch.touch-on{display:block}#touch>*{pointer-events:auto;touch-action:none}.touch-look-zone{position:absolute;inset:0 0 0 40%}.touch-stick-zone{width:40%;height:70%;position:absolute;bottom:0;left:0}.touch-stick-base{width:112px;height:112px;left:calc(40px + var(--safe-l));bottom:calc(40px + var(--safe-b));opacity:var(--tb-opacity,.55);background:#ffffff0f;border:2px solid #ffffff40;border-radius:50%;position:fixed}.touch-stick-base:not(.active){top:auto!important;left:calc(40px + var(--safe-l))!important}.touch-stick-knob{background:#18e0ff8c;border-radius:50%;width:50px;height:50px;position:absolute;top:31px;left:31px}.touch-btn{font-weight:800;font-size:calc(var(--u) * .19);letter-spacing:0;white-space:nowrap;width:var(--u);height:var(--u);opacity:var(--tb-opacity,.55);color:#fff;box-sizing:border-box;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.touch-btn.down{opacity:.9;background:#18e0ff66}body.touch #hud-bottom{bottom:auto;top:calc(56px + var(--safe-t))}body.touch .hp-bar{width:110px}body.touch .hp{font-size:1.1rem}body.touch #hud-ammo{font-size:1.4rem}#hud-map{top:calc(10px + var(--safe-t));left:calc(12px + var(--safe-l));letter-spacing:.3em;color:var(--muted);font-size:.72rem;position:absolute}#hud-toasts{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:34%;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--a);color:#fff;letter-spacing:.12em;text-shadow:0 0 10px var(--a);background:#0000008c;border-radius:8px;padding:6px 14px;font-weight:800;animation:.2s toastIn,.4s 1.8s forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}}@keyframes toastOut{to{opacity:0;transform:translateY(-6px)}}#hud-buffs{left:calc(16px + var(--safe-l));bottom:calc(96px + var(--safe-b));flex-direction:column;gap:4px;display:flex;position:absolute}.buff{letter-spacing:.12em;background:#00000080;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:800}.buff.oc{color:#ff3ca0;border:1px solid #ff3ca0}.buff.sp{color:#3cffe8;border:1px solid #3cffe8}.buff.rv{color:#ff2bd6;border:1px solid #ff2bd6}.hp .bars{flex-direction:column;gap:3px;display:flex}.armor-bar{visibility:hidden;background:#00000080;border-radius:3px;width:180px;height:6px;overflow:hidden}#hud-armor-fill{background:linear-gradient(90deg,#3c8bff,#3ca0ff);width:0;height:100%;transition:width .15s}#hud-ability{--p:1;background:conic-gradient(var(--a) calc(var(--p) * 360deg), #ffffff1f 0);border-radius:50%;place-items:center;width:54px;height:54px;margin-left:10px;display:grid;position:relative}#hud-ability:before{content:"";background:#050812e6;border-radius:50%;position:absolute;inset:4px}#hud-ability b{font-size:1.1rem;position:relative}#hud-ability span{letter-spacing:.15em;color:var(--muted);white-space:nowrap;font-size:.62rem;position:absolute;top:-16px}#hud-ability.ready{box-shadow:0 0 16px var(--a)}#hud-slots{justify-content:flex-end;gap:6px;margin-bottom:4px;display:flex}.slot{color:var(--muted);letter-spacing:.04em;background:#00000073;border-radius:5px;padding:3px 7px;font-size:.68rem;font-weight:700}.slot i{color:var(--text);opacity:.7;margin-right:4px;font-style:normal}.slot.on{color:#fff;border:1px solid var(--a)}.slot.power{color:#ff9a3c}#touch{--u:calc(54px * var(--tb-scale,1));--g:10px;--e:calc(14px + var(--safe-r));--b:calc(14px + var(--safe-b));--big:calc(var(--u) * 1.3)}.tb-jump{right:var(--e);bottom:var(--b)}.tb-crouch{right:calc(var(--e) + var(--u) + var(--g));bottom:var(--b)}.tb-ability{right:calc(var(--e) + 2 * (var(--u) + var(--g)));bottom:var(--b);background:#18e0ff40}.tb-swap{right:calc(var(--e) + 3 * (var(--u) + var(--g)));bottom:var(--b)}.tb-fire{width:var(--big);height:var(--big);right:var(--e);bottom:calc(var(--b) + var(--u) + var(--g));background:#ff2bd640}.tb-ads{right:calc(var(--e) + var(--big) + var(--g));bottom:calc(var(--b) + var(--u) + var(--g))}.tb-reload{right:calc(var(--e) + var(--big) + var(--u) + 2 * var(--g));bottom:calc(var(--b) + var(--u) + var(--g))}.tb-melee{right:calc(var(--e) + 4 * (var(--u) + var(--g)));bottom:var(--b)}.tb-grenade{right:calc(var(--e) + var(--big) + 2 * var(--u) + 3 * var(--g));bottom:calc(var(--b) + var(--u) + var(--g));background:#3cff7a33}.tb-fire2{left:calc(14px + var(--safe-l));top:calc(100px + var(--safe-t));background:#ff2bd633}.tb-pause{left:calc(10px + var(--safe-l));top:calc(8px + var(--safe-t));letter-spacing:.08em;text-transform:uppercase;opacity:.85;background:#080c1899;border-color:#18e0ff8c;border-radius:12px;gap:6px;width:auto;height:40px;padding:0 14px 0 10px;font-size:.85rem}.tb-pause svg{width:20px;height:20px}.tb-camera{left:calc(132px + var(--safe-l));top:calc(8px + var(--safe-t));opacity:.8;background:#080c1899;border-radius:12px;width:40px;height:40px}.tb-camera svg{width:22px;height:22px}#hud-menu-hint{left:calc(12px + var(--safe-l));top:calc(30px + var(--safe-t));letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-shadow:0 1px 3px #000;pointer-events:none;font-size:.75rem;position:absolute}#hud-menu-hint kbd{color:var(--text);background:#0006;border:1px solid #ffffff59;border-radius:5px;padding:2px 6px;font:700 .7rem ui-monospace,monospace}body.touch #hud-menu-hint{display:none}#btn-leave.confirm{background:#ff3c5a8c;border-color:#ff3c5a}body.touch #hud-map,#rotate-hint{display:none}@media (orientation:portrait) and (pointer:coarse){#rotate-hint{z-index:60;color:var(--text);letter-spacing:.1em;text-align:center;background:#05070f;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;font-weight:800;display:flex;position:fixed;inset:0}#rotate-hint i{border:4px solid var(--a);border-radius:12px;width:64px;height:110px;animation:1.6s ease-in-out infinite rot}}@keyframes rot{0%,30%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}.xp-bar{background:#ffffff1f;border-radius:2px;width:170px;height:4px;margin:3px 0 0 7px;overflow:hidden}.xp-bar>div{background:linear-gradient(90deg, var(--ok), var(--a));width:0;height:100%;transition:width .4s}.xp-bar.big{width:100%;height:8px;margin:8px 0 4px}.profile-head{background:#0a0e1cb8;border:1px solid #ffffff14;border-radius:12px;margin-bottom:10px;padding:12px 14px}.profile-head b{font-size:1.4rem;display:block}.profile-head span,.profile-head small{color:var(--muted)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.stat-cell{background:#0a0e1cb8;border:1px solid #ffffff14;border-radius:10px;padding:8px 10px}.stat-cell span{letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:.7rem;display:block}.stat-cell b{font-size:1.15rem}.leaderboard table{border-collapse:collapse;background:#0a0e1cb8;border-radius:10px;width:100%}.xp-card{border:1px solid var(--ok);background:#3cffd014;border-radius:10px;align-items:center;gap:14px;margin:10px auto;padding:8px 14px;display:inline-flex}.xp-card b{color:var(--ok);font-size:1.3rem}.xp-card .lvlup{color:var(--warn);letter-spacing:.1em;font-weight:900;animation:.6s pop}@keyframes pop{0%{opacity:0;transform:scale(1.6)}}#hud-gear{letter-spacing:.1em;color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;margin-bottom:3px;font-size:.72rem;font-weight:800;display:flex}#hud-gear .gren b{color:#3cff7a}.heat-bar{background:#00000080;border-radius:3px;width:90px;height:6px;overflow:hidden}.heat-bar>i{height:100%;width:var(--h,0%);background:linear-gradient(90deg,#ffd23c,#ff4d6d);display:block}.heat-bar.hot{box-shadow:0 0 8px var(--danger)}#tutorial{left:50%;bottom:calc(110px + var(--safe-b));pointer-events:auto;border:1px solid var(--a);background:#050812d1;border-radius:12px;align-items:center;gap:12px;max-width:min(620px,92vw);padding:10px 14px;animation:.2s fadein;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 0 24px #18e0ff40}#tutorial b{font-size:1rem}#tutorial .tut-count{color:var(--a);letter-spacing:.1em;font-size:.75rem;font-weight:900}#tutorial .tut-skip{min-height:0;padding:4px 10px;font-size:.75rem}#tutorial.done{border-color:var(--ok)}body.touch #tutorial{bottom:auto;top:calc(110px + var(--safe-t))}.bind-btn{min-width:110px;min-height:34px;padding:4px 10px;font-size:.85rem}.difficulty-row h3{margin-top:0}.chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip{background:#0a0e1cb8;border:1px solid #ffffff1f;border-radius:999px;min-height:38px;padding:6px 16px;font-size:.9rem}.chip.selected{border-color:var(--a);background:#18e0ff2e}.chip.diff-easy.selected{border-color:var(--ok);background:#3cffd026}.chip.diff-hard.selected{border-color:var(--danger);background:#ff4d6d2e}#hud-fps{top:calc(8px + var(--safe-t));color:#b6ffcf;background:#00000080;border-radius:6px;padding:4px 7px;font:700 12px/1 ui-monospace,monospace;position:absolute;right:50%;transform:translate(calc(50% + 150px))}.touch-btn svg,.touch-btn span{pointer-events:none}.tb-ability{--p:1;background:conic-gradient(#18e0ff8c calc(var(--p) * 360deg), #ffffff14 0)!important}.tb-ability.ready{box-shadow:0 0 14px var(--a)}body.touch #hud-ability{display:none}@media (max-width:640px){#menu{padding-bottom:calc(86px + var(--safe-b));background:#050710e0;flex-direction:column;gap:10px;display:flex}.menu-top{flex-wrap:wrap;gap:8px}.brand h1{font-size:1.6rem}.brand .studio,.brand .subtitle{display:none}.player-card{padding:6px 8px}.pc-body input,.xp-bar{width:120px}.menu-nav{flex-direction:row;flex:none;gap:6px;overflow-x:auto}.nav-btn{white-space:nowrap;padding:9px 12px;font-size:.8rem}.menu-body{overflow:visible}.mode-list{grid-template-columns:1fr 1fr}.mode-card{min-height:60px;padding:8px 8px 8px 52px}.mode-card small{display:none}.mode-icon{width:30px;height:30px;left:12px}.map-list{grid-template-columns:1fr 1fr}.map-card{min-height:52px}.char-list,.stat-grid{grid-template-columns:1fr 1fr}.deploy-bar{padding:10px calc(12px + var(--safe-r)) calc(10px + var(--safe-b)) calc(12px + var(--safe-l));z-index:2;background:linear-gradient(#0000,#050710f2 30%);position:fixed;bottom:0;left:0;right:0}.deploy{width:100%;padding:14px;font-size:1.4rem}.deploy-sel{display:none}}.friends{grid-template-columns:1fr auto;align-items:stretch;gap:10px;margin-top:12px;display:grid}.friend-btn{text-align:left;align-items:center;gap:12px;padding:10px 14px;display:flex}.friend-btn .fi{background:radial-gradient(circle at 35% 35%, var(--a), transparent 60%), radial-gradient(circle at 70% 60%, var(--b), transparent 60%);border-radius:50%;flex:none;width:30px;height:30px}.friend-btn b{font-size:.95rem;display:block}.friend-btn small{color:var(--muted);letter-spacing:0;text-transform:none;font-size:.75rem;font-weight:500;display:block}.code-row{gap:6px;display:flex}.code-row input{text-transform:uppercase;letter-spacing:.2em;width:7.5em}@media (max-width:640px){.friends{grid-template-columns:1fr}.code-row input{flex:1}}.mode-card{position:relative}.mode-card .live{color:#3cff7a;font-size:.7rem;font-weight:700;position:absolute;top:6px;right:8px}.hs-arrow,.hs-count,.hs-actions,.hs-hint{display:none}#menu[data-tab=characters]{pointer-events:none;background:linear-gradient(#050710bf,#0000 22% 70%,#050710d9)}#menu[data-tab=characters] .menu-top,#menu[data-tab=characters] .menu-nav,#menu[data-tab=characters] #tab-characters>*{pointer-events:auto}#menu[data-tab=characters] .deploy-bar{display:none}#menu[data-tab=characters] .menu-body{overflow:visible}#tab-characters{pointer-events:none;z-index:1;position:fixed;inset:0}#menu[data-tab=characters] #tab-characters .char-info{right:calc(3vw + var(--safe-r));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b18c7;width:min(380px,40vw);max-height:calc(100% - 200px);position:absolute;top:50%;overflow-y:auto;transform:translateY(-50%)}.hs-count{letter-spacing:.3em;color:var(--muted);font-size:.75rem;display:block}#tab-characters .hs-actions{align-items:center;gap:12px;margin-top:12px;display:flex}.hs-picked{color:var(--c);letter-spacing:.12em;font-size:.85rem;font-weight:900}.hs-go{margin-left:auto;padding:12px 26px!important;font-size:1.1rem!important}#tab-characters .hs-hint{color:var(--muted);margin:10px 0 0;font-size:.75rem;display:block}#menu[data-tab=characters] #tab-characters .char-list{left:50%;bottom:calc(16px + var(--safe-b));gap:8px;max-width:calc(100vw - 24px);margin:0;padding:4px;display:flex;position:absolute;overflow-x:auto;transform:translate(-50%)}#menu[data-tab=characters] .char-card{flex-direction:column;align-items:center;gap:4px;min-width:76px;padding:8px 10px;display:flex}#menu[data-tab=characters] .char-card small{display:none}#menu[data-tab=characters] .char-card b{letter-spacing:.08em;font-size:.72rem}#menu[data-tab=characters] .char-card.selected{background:color-mix(in srgb, var(--c) 22%, #080b18d9);transform:translateY(-4px)}.hs-arrow{background:#080b1899;border:2px solid #ffffff40;border-radius:50%;width:54px;height:54px;padding:0;font-size:0;display:block;position:absolute;top:46%}.hs-arrow:before{content:"";border:4px solid #fff;border-width:0 4px 4px 0;width:14px;height:14px;margin:auto;position:absolute;inset:0}.hs-arrow.left:before{transform:translate(3px)rotate(135deg)}.hs-arrow.right:before{transform:translate(-3px)rotate(-45deg)}.hs-arrow.left{left:19vw}.hs-arrow.right{left:56vw}@media (max-width:900px),(max-height:520px){.hs-arrow.left{left:calc(3vw + var(--safe-l))}.hs-arrow.right{left:calc(52vw - 46px)}}.hs-arrow:active{transform:scale(.92)}@media (max-height:520px){#menu[data-tab=characters] .menu-top{display:none}#menu[data-tab=characters] #tab-characters .char-info{top:calc(56px + var(--safe-t));max-height:calc(100% - 140px);padding:10px 12px;transform:none}#menu[data-tab=characters] .char-info h2{font-size:1.5rem}#menu[data-tab=characters] .char-info .desc,#menu[data-tab=characters] .ability-card p{display:none}#menu[data-tab=characters] .char-card{min-width:64px;padding:6px 8px}#menu[data-tab=characters] .char-card .char-badge{width:30px;height:30px}.hs-arrow{width:46px;height:46px}}@media (max-aspect-ratio:6/5){#menu[data-tab=characters] #tab-characters .char-info{width:auto;top:auto;left:12px;right:12px;bottom:calc(92px + var(--safe-b));max-height:34vh;padding:10px 14px;transform:none}#menu[data-tab=characters] .char-info .desc,#menu[data-tab=characters] .ability-card p,#menu[data-tab=characters] .hs-hint{display:none}#menu[data-tab=characters] .char-info h2{font-size:1.6rem}#menu[data-tab=characters] .char-card{min-width:58px;padding:6px}#menu[data-tab=characters] .char-card b{font-size:.62rem}.hs-arrow{top:32%}.hs-arrow.left{left:calc(3vw + var(--safe-l))}.hs-arrow.right{left:auto;right:calc(3vw + var(--safe-r))}}
