:root{--bg:#0b0d10;--panel:#0e1115db;--panel-solid:#12161b;--line:#ffffff17;--line-strong:#ffffff2e;--text:#e9ecef;--muted:#8d96a0;--accent:#e0393e;--accent-2:#ff5a5f;--gold:#f2b544;--ok:#57d18a;--font:"DIN Alternate", "Bahnschrift", "Barlow", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}canvas.game{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}button{font-family:inherit}kbd{border:1px solid var(--line-strong);min-width:22px;font:600 11px var(--mono);color:var(--text);text-align:center;background:#ffffff0a;border-bottom-width:2px;border-radius:4px;margin-right:3px;padding:2px 6px;display:inline-block}.screen{z-index:20;position:fixed;inset:0;overflow:auto}.overlay{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0507098c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 60px #00000073}.btn{border:1px solid var(--line-strong);width:100%;color:var(--text);letter-spacing:.08em;text-transform:uppercase;text-align:left;cursor:pointer;background:#ffffff0a;border-radius:6px;padding:11px 16px;font-size:15px;font-weight:700;transition:background .15s,border-color .15s,transform 80ms;display:block;position:relative}.btn:hover{background:#ffffff17;border-color:#ffffff4d}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:linear-gradient(180deg, var(--accent-2), var(--accent));color:#fff;text-align:center;border-color:#0000}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:#ff8d90;text-align:center;border-color:#e0393e80}.btn.ghost{text-align:center;color:var(--muted);background:0 0}.btn.small{padding:6px 10px;font-size:12px}.btn.big{padding:14px 16px 14px 58px;font-size:18px}.btn.big.primary{text-align:left}.btn.big small{letter-spacing:.02em;text-transform:none;color:#fff9;margin-top:2px;font-size:12px;font-weight:500;display:block}.btn-k{font:600 13px var(--mono);opacity:.55;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.error-msg{color:#ff8d90;min-height:18px;font-size:13px}.field span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;display:block}input[type=text],input[type=password]{border:1px solid var(--line-strong);width:100%;color:var(--text);font:600 16px var(--font);background:#00000059;border-radius:6px;outline:none;padding:11px 12px}input[type=text]:focus,input[type=password]:focus{border-color:var(--accent)}.title-bg{filter:saturate(.55)brightness(.42)contrast(1.1);background-position:50%;background-size:cover;animation:60s ease-in-out infinite alternate drift;position:fixed;inset:-40px}.title-bg.dim{filter:saturate(.4)brightness(.25)blur(2px)}.title-grid{background:linear-gradient(90deg,#080a0df5 0%,#080a0dbf 45%,#080a0d59 100%),repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 48px),repeating-linear-gradient(90deg,#ffffff06 0 1px,#0000 1px 48px);position:fixed;inset:0}@keyframes drift{0%{transform:scale(1.05)translate(0)}to{transform:scale(1.15)translate(-30px,20px)}}.title-wrap{flex-direction:column;gap:32px;min-height:100%;padding:48px 6vw 24px;display:flex;position:relative}.brand{align-items:center;gap:18px;display:flex}.brand-mark svg{fill:none;width:64px;height:64px;stroke:var(--accent);stroke-width:3.5px}.brand-mark .dot{fill:var(--accent);stroke:none}.brand-kicker{letter-spacing:.32em;text-transform:uppercase;color:var(--accent-2);font-size:12px}.brand h1{letter-spacing:.02em;text-transform:uppercase;margin:2px 0;font-size:clamp(32px,4.6vw,58px);font-weight:800;line-height:1}.brand h1 span{color:#fff;background:var(--accent);border-radius:4px;margin-left:.1em;padding:0 .22em}.brand-sub{color:var(--muted);letter-spacing:.08em;font-size:14px}.title-main{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.menu-panel{flex-direction:column;gap:12px;width:380px;max-width:100%;padding:22px;display:flex}.join-box{gap:8px;margin-top:8px;display:none}.join-box.open{display:flex}.join-box input{text-transform:uppercase;letter-spacing:.3em;font-family:var(--mono);text-align:center}.join-box .btn{width:100px}.info-panel{width:360px;max-width:100%;padding:20px 22px}.info-panel h3{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:600}.info-panel h3:not(:first-child){margin-top:18px}.rules{gap:7px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.rules li:before{content:"";background:var(--accent);width:6px;height:6px;margin-right:10px;display:inline-block;transform:translateY(-2px)rotate(45deg)}.keys{grid-template-columns:1fr 1fr;gap:7px 14px;font-size:13px;display:grid}.keys div{align-items:center;display:flex}.keys span{color:var(--muted);margin-left:5px}.title-foot{color:#fff6;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:auto;font-size:11px;display:flex}.title-foot a{color:inherit}#loading{justify-content:center;align-items:center;display:flex}.loading-box{width:min(520px,90vw);position:relative}.loading-kicker{letter-spacing:.32em;text-transform:uppercase;color:var(--accent-2);font-size:12px}.loading-title{text-transform:uppercase;margin:4px 0 18px;font-size:34px;font-weight:800}.bar{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden}#loading-bar{background:linear-gradient(90deg, var(--accent), var(--gold));width:0;height:100%;transition:width .25s}.loading-row{color:var(--muted);justify-content:space-between;margin-top:10px;font-size:13px;display:flex}.loading-tip{color:#ffffff8c;min-height:2em;margin-top:28px;font-size:13px}#hud{z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 2px #000000b3;position:fixed;inset:0}#hud.is-dead #bl,#hud.is-dead #br,#hud.is-dead #crosshair,#hud.is-dead #vignette,#hud.is-dead #target-name{visibility:hidden}#vignette{opacity:0;background:radial-gradient(#0000 35%,#8c00008c 75%,#5a0000e6 100%);transition:opacity .25s;position:absolute;inset:0}#dmg-flash{opacity:0;background:radial-gradient(#0000 50%,#c8000059);position:absolute;inset:0}#damage-dirs{width:0;height:0;position:absolute;top:50%;left:50%}.dmg-dir{width:180px;height:180px;position:absolute;top:-90px;left:-90px}.dmg-dir:before{content:"";filter:blur(1px);background:radial-gradient(at 50% 100%,#ff2828f2,#ff282800 70%);border-radius:50% 50% 0 0;width:70px;height:24px;margin-left:-35px;position:absolute;top:-6px;left:50%}#crosshair{width:0;height:0;transition:opacity .1s;position:absolute;top:50%;left:50%}#crosshair .ch{background:#ffffffeb;position:absolute;box-shadow:0 0 2px #000000e6}#crosshair .t,#crosshair .b{width:2px;height:9px;left:-1px}#crosshair .l,#crosshair .r{width:9px;height:2px;top:-1px}#crosshair .ch-dot{background:#ffffffe6;width:2px;height:2px;position:absolute;top:-1px;left:-1px}#crosshair.enemy .ch,#crosshair.enemy .ch-dot{background:#ff4b4b}#hitmarker{opacity:0;width:0;height:0;position:absolute;top:50%;left:50%}#hitmarker i{background:#fff;width:2px;height:9px;position:absolute;top:-4.5px;left:-1px;box-shadow:0 0 2px #000}#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(--gold);height:11px}#hitmarker.kill i{background:#ff3b3b;width:3px;height:13px;left:-1.5px}#hitmarker.show{animation:.28s ease-out forwards hm}#hitmarker.kill.show{animation:.5s ease-out forwards hmk}@keyframes hm{0%{opacity:1;transform:scale(1.25)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes hmk{0%{opacity:1;transform:scale(1.6)rotate(0)}50%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.05)}}#target-name{color:#ff6b6b;letter-spacing:.05em;opacity:0;font-size:14px;font-weight:700;transition:opacity .12s;position:absolute;top:calc(50% + 34px);left:50%;transform:translate(-50%)}#target-name.show{opacity:1}#scope{position:absolute;inset:0}#scope .scope-ring{border:3px solid #111;border-radius:50%;width:92vmin;height:92vmin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 200vmax #050505,inset 0 0 6vmin 2vmin #000000d9}#scope .scope-h{background:linear-gradient(90deg,#000 0 28%,#000000d9 28% 72%,#000 72%);height:1px;position:absolute;top:50%;left:0;right:0}#scope .scope-h:before,#scope .scope-v:before{content:"";background:#000;position:absolute}#scope .scope-h:before{width:34%;height:4px;top:-1.5px;left:0}#scope .scope-h:after{content:"";background:#000;width:34%;height:4px;position:absolute;top:-1.5px;right:0}#scope .scope-v{background:#000000d9;width:1px;position:absolute;top:0;bottom:0;left:50%}#scope .scope-v:before{width:4px;top:66%;bottom:0;left:-1.5px}#scope .scope-dot{background:#ff3030;border-radius:50%;width:4px;height:4px;margin:-2px;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #ff3030}#tl{flex-direction:column;gap:8px;display:flex;position:absolute;top:18px;left:18px}.minimap-wrap{border:1px solid var(--line-strong);background:#111;border-radius:8px;width:220px;height:220px;position:relative;overflow:hidden;box-shadow:0 6px 20px #0006}#minimap{display:block}.minimap-n{font:700 11px var(--mono);color:#ffffffb3;position:absolute;top:4px;left:6px}#score-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:220px;padding:6px 10px}.score-row{grid-template-columns:1fr auto 52px;align-items:center;gap:8px;font-weight:700;display:grid}.score-row .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.score-row.me span:nth-child(2){color:#fff;font-size:22px}.score-row.lead span:nth-child(2){color:var(--muted);font-size:16px}.score-row .rank{color:var(--gold);text-align:right;font-size:12px}#timer-wrap{text-align:center;position:absolute;top:14px;left:50%;transform:translate(-50%)}#timer{font:700 24px var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:4px 16px}#timer.low{color:var(--accent-2)}#timer-sub{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:11px}#tr{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:16px;right:18px}#net-info{font:600 11px var(--mono);color:var(--muted);background:#00000059;border-radius:4px;padding:3px 8px}#net-info:empty{display:none}#killfeed{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.kf{background:#0a0c0fb3;border-radius:4px;align-items:center;gap:8px;padding:4px 10px;font-size:14px;font-weight:700;transition:opacity .5s;animation:.2s ease-out kfin;display:flex}.kf.me{background:#e0393e59}.kf .w{font:700 10px var(--mono);border:1px solid var(--line-strong);color:var(--muted);border-radius:3px;padding:2px 5px}.kf .hs{color:var(--gold);font-size:11px}.kf .you{color:#ffd76a}@keyframes kfin{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}#center-msg{letter-spacing:.12em;text-transform:uppercase;opacity:0;text-align:center;font-size:20px;font-weight:800;transition:opacity .3s;position:absolute;top:30%;left:50%;transform:translate(-50%)}#center-msg.show{opacity:1}#kill-banner{text-align:center;letter-spacing:.1em;text-transform:uppercase;opacity:0;font-weight:800;position:absolute;top:62%;left:50%;transform:translate(-50%)}#kill-banner.show{animation:1.8s ease-out forwards kb}#kill-banner .pts{color:var(--gold);font-size:22px}#kill-banner .who{color:#fff;font-size:15px}#kill-banner .who b{color:#ff6b6b}@keyframes kb{0%{opacity:0;transform:translate(-50%)scale(1.3)}10%{opacity:1;transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:0}}#protect-msg{letter-spacing:.2em;text-transform:uppercase;color:#8fd3ff;font-size:12px;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}#bl{position:absolute;bottom:34px;left:18px}#health{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.hp-label{letter-spacing:.2em;color:var(--muted);font-size:11px}.hp-bar{background:#ffffff1f;border-radius:4px;width:160px;height:8px;overflow:hidden}#hp-fill{background:linear-gradient(90deg,#d9dde1,#fff);width:100%;height:100%;transition:width .15s}#hp-fill.low{background:linear-gradient(90deg, var(--accent), var(--accent-2))}#hp-num{font:700 18px var(--mono);text-align:right;width:38px}#br{text-align:right;position:absolute;bottom:30px;right:22px}#weapon-slots{justify-content:flex-end;gap:6px;margin-bottom:6px;display:flex}.slot{font:700 11px var(--mono);border:1px solid var(--line-strong);color:var(--muted);background:#0000004d;border-radius:3px;padding:3px 8px}.slot.on{color:#fff;border-color:var(--accent);background:#e0393e40}#ammo{font:700 44px var(--mono);line-height:1}#ammo .sep{color:var(--muted);margin:0 4px;font-size:26px}#ammo-res{color:var(--muted);font-size:22px}#ammo.low #ammo-mag{color:var(--accent-2)}#weapon-name{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:13px}#reload-hint{letter-spacing:.14em;color:var(--gold);text-transform:uppercase;min-height:1em;margin-top:6px;font-size:13px;font-weight:700}#scoreboard{border:1px solid var(--line-strong);width:min(640px,92vw);text-shadow:none;background:#0a0c0fe6;border-radius:10px;padding:14px 18px;position:absolute;top:14%;left:50%;transform:translate(-50%)}.sb-head{letter-spacing:.2em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:13px;display:flex}.sb-head #sb-meta{color:var(--muted);letter-spacing:.08em;font-family:var(--mono)}#scoreboard table,.end-table{border-collapse:collapse;width:100%;font-size:15px}#scoreboard th,.end-table th{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:right;border-bottom:1px solid var(--line);padding:6px 8px;font-size:11px;font-weight:600}#scoreboard td,.end-table td{text-align:right;font-family:var(--mono);border-bottom:1px solid #ffffff0a;padding:7px 8px}#scoreboard .name,.end-table .name{text-align:left;font-family:var(--font);font-weight:700}#scoreboard tr.me td,.end-table tr.me td{background:#e0393e2e}#scoreboard tr.dead .name{opacity:.5}.swatch{border-radius:2px;width:8px;height:8px;margin-right:8px;display:inline-block}#deploy{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#0507094d,#050709bf);align-items:flex-end;padding-bottom:7vh}.deploy-box{width:min(900px,94vw)}.death-info{text-align:center;margin-bottom:22px}.death-kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-size:12px}.death-killer{color:#ff6b6b;text-transform:uppercase;letter-spacing:.04em;font-size:34px;font-weight:800}.death-count{font:600 14px var(--mono);color:var(--text);margin-top:4px}.deploy-title{letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:13px}.cards{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.card{border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;text-align:left;color:var(--text);border-radius:8px;padding:12px 14px 14px;transition:border-color .15s,transform .1s,background .15s;position:relative}.card:hover{border-color:#fff6}.card.on{border-color:var(--accent);background:linear-gradient(#e0393e38,#0e1115e6)}.card .ck{font:700 11px var(--mono);color:var(--muted);position:absolute;top:9px;right:10px}.card .cn{text-transform:uppercase;letter-spacing:.04em;font-size:16px;font-weight:800}.card .ct{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.card svg.gun{fill:#ffffffd9;width:100%;height:36px;margin-bottom:8px}.stat{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);grid-template-columns:64px 1fr;align-items:center;gap:8px;margin-top:4px;font-size:10px;display:grid}.stat .sb{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.stat .sb i{background:var(--text);height:100%;display:block}.deploy-foot{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.deploy-foot .sidearm{color:var(--muted);font-size:13px}.deploy-foot .btn{width:220px;padding:13px;font-size:17px}.pause-panel,.end-panel,.settings-panel{flex-direction:column;gap:10px;padding:24px;display:flex}.pause-panel{width:340px}.pause-panel .btn{text-align:center}h2{letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:22px}.room-box{border:1px dashed var(--line-strong);text-align:center;border-radius:8px;margin-bottom:6px;padding:12px}.room-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:11px}.room-code{font:700 32px var(--mono);letter-spacing:.3em;color:var(--gold);margin:4px 0 8px}.end-panel{width:min(560px,94vw)}.end-kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--accent-2);font-size:12px}#end-winner{font-size:30px}.end-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.end-actions .btn{text-align:center;flex:1;width:auto}#end-wait{color:var(--muted);flex:2;font-size:13px}.settings-panel{z-index:2;width:min(560px,94vw)}.set-grid{grid-template-columns:1fr 1fr;gap:16px 22px;display:grid}.set-grid label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px;display:block}.set-grid label.wide{grid-column:1/-1}.set-grid output{float:right;font:700 12px var(--mono);color:var(--text)}.set-grid input[type=range]{width:100%;accent-color:var(--accent);margin-top:8px}.set-grid input[type=password]{font-size:13px;font-family:var(--mono);margin-top:8px}.set-grid small{text-transform:none;letter-spacing:0;color:#ffffff73;margin-top:6px;font-size:12px;line-height:1.45;display:block}.seg{border:1px solid var(--line-strong);border-radius:6px;margin-top:8px;display:flex;overflow:hidden}.seg button{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;flex:1;padding:7px;font-size:12px;font-weight:700}.seg button.on{background:var(--accent);color:#fff}.set-actions{justify-content:flex-end;margin-top:8px;display:flex}.set-actions .btn{width:140px}#settings{z-index:40}#toast{z-index:50;border:1px solid var(--line-strong);opacity:0;pointer-events:none;background:#0a0c0feb;border-radius:6px;padding:10px 16px;font-size:14px;transition:opacity .25s;position:fixed;bottom:120px;left:50%;transform:translate(-50%)}#toast.show{opacity:1}#attribution{z-index:60;color:#ffffff8c;text-shadow:0 1px 2px #000;pointer-events:auto;white-space:nowrap;text-overflow:ellipsis;max-width:60vw;font-size:10px;position:fixed;bottom:6px;left:18px;overflow:hidden}#attribution a{color:inherit}#attribution:empty{display:none}@media (max-width:760px){.cards{grid-template-columns:repeat(2,1fr)}.title-wrap{padding:24px 16px}}#timer-wrap{align-items:flex-start;gap:10px;display:flex}.timer-col{flex-direction:column;align-items:center;display:flex}.ctf-team{flex-direction:column;align-items:stretch;gap:4px;min-width:150px;display:flex}.ctf-team.red{align-items:flex-end}.ctf-team.blue{align-items:flex-start}.ctf-score{font:800 26px var(--mono);color:#fff;border-radius:6px;padding:2px 16px;line-height:1.2}.ctf-team.red .ctf-score{background:linear-gradient(#e0242c,#a3161c)}.ctf-team.blue .ctf-score{background:linear-gradient(#2a6bff,#1a46b0)}.ctf-team.mine .ctf-score{box-shadow:0 0 0 2px #fff}.ctf-flag{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;background:#0a0c0fbf;border-radius:4px;max-width:220px;padding:2px 8px;font-size:11px;font-weight:700;overflow:hidden}.ctf-flag:before{content:"";vertical-align:0;background:currentColor;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.ctf-flag[data-kind=home]{color:#9fe3b0}.ctf-flag[data-kind=taken]{color:#ffb347;animation:1s steps(2,end) infinite flagblink}.ctf-flag[data-kind=dropped]{color:#f2e35c}@keyframes flagblink{50%{opacity:.55}}#carry-msg{color:#111;letter-spacing:.12em;text-transform:uppercase;text-shadow:none;background:#f2b544eb;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:800;animation:1.2s steps(2,end) infinite flagblink;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}#announce{text-align:center;opacity:0;pointer-events:none;position:absolute;top:21%;left:50%;transform:translate(-50%)}#announce.show{animation:3.2s ease-out forwards ann}#announce .a-title{letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 10px #000c;font-size:30px;font-weight:900}#announce .a-sub{letter-spacing:.14em;text-transform:uppercase;color:#e9ecef;margin-top:4px;font-size:14px;font-weight:700}@keyframes ann{0%{opacity:0;transform:translate(-50%)scale(1.25)}8%{opacity:1;transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0}}#markers{position:absolute;inset:0;overflow:hidden}.wp{--wc:#fff;width:0;height:0;position:absolute;top:0;left:0}.wp-icon{border:2px solid var(--wc);background:#0a0c0fb3;border-radius:50%;width:26px;height:26px;padding:4px;position:absolute;top:-30px;left:-13px}.wp-icon svg{width:100%;height:100%;fill:var(--wc);stroke:var(--wc);display:block}.wp-label{letter-spacing:.14em;text-transform:uppercase;color:var(--wc);white-space:nowrap;font-size:10px;font-weight:800;position:absolute;top:-48px;left:0;transform:translate(-50%)}.wp-dist{font:700 10px var(--mono);color:#fff;white-space:nowrap;position:absolute;top:0;left:0;transform:translate(-50%)}.wp-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:10px solid var(--wc);transform-origin:6px 31px;width:0;height:0;display:none;position:absolute;top:-48px;left:-6px}.wp.off .wp-arrow{display:block}.wp.off .wp-label{display:none}.wp.pulse .wp-icon{animation:1s ease-in-out infinite wppulse}@keyframes wppulse{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--wc) 35%, transparent)}}#scoreboard tr.team-head td{text-align:left;font-family:var(--font);letter-spacing:.14em;text-transform:uppercase;background:#ffffff0a;padding-top:10px;font-size:12px;font-weight:800}#scoreboard tr.team-head td b{float:right;font-family:var(--mono);font-size:15px}#scoreboard tr.team-head.red td{color:#ff4d55;border-bottom:1px solid #ff4d5566}#scoreboard tr.team-head.blue td{color:#4d8bff;border-bottom:1px solid #4d8bff66}.team-row{background:var(--panel);border:1px solid var(--line-strong);letter-spacing:.1em;text-transform:uppercase;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:8px 12px;font-size:14px;display:flex}.team-row b.red{color:#ff4d55}.team-row b.blue{color:#4d8bff}.team-row .btn{text-align:center;width:auto}.setup-panel{flex-direction:column;gap:12px;width:min(640px,94vw);padding:24px;display:flex}.mode-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-card{text-align:left;border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:16px;font-family:inherit}.mode-card:hover{border-color:#fff6}.mode-card.on{border-color:var(--accent);background:linear-gradient(#e0393e38,#0e1115e6)}.mc-name{text-transform:uppercase;letter-spacing:.05em;font-size:18px;font-weight:800}.mc-desc{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.4}.set-grid small.warn{color:#ffb347}.pause-panel .controls-list{border-top:1px solid var(--line);margin-top:8px;padding-top:10px}.keys.small{gap:5px 10px;font-size:11px}.keys.small kbd{min-width:18px;padding:1px 4px;font-size:10px}@media (max-width:760px){.mode-cards{grid-template-columns:1fr}}.ctf-score{align-items:center;gap:10px;display:flex}.ctf-score .ctf-name{font:800 12px var(--font);letter-spacing:.14em;text-transform:uppercase}#team-name.red{color:#ff4d55}#team-name.blue{color:#4d8bff}#grapple-ind{border:1.5px solid #ffffff59;width:8px;height:8px;margin-left:-4px;transition:all .1s;position:absolute;top:calc(50% + 18px);left:50%;transform:rotate(45deg)}#grapple-ind.none,#grapple-ind.off{opacity:0}#grapple-ind.cool{border-color:#ffffff80}#grapple-ind.ready{background:#6fe3ff59;border-color:#6fe3ff;box-shadow:0 0 6px #6fe3ff}#kit{gap:10px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.kit-m{border:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:#0a0c0f99;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;display:flex}.kit-k{font:700 10px var(--mono);border:1px solid var(--line-strong);color:var(--text);border-radius:3px;padding:1px 5px}.kit-bar{background:#ffffff1f;border-radius:2px;width:54px;height:4px;overflow:hidden}.kit-bar i{background:#8b95a0;width:100%;height:100%;display:block}.kit-m.ready{color:var(--text)}.kit-m.ready .kit-bar i{background:#6fe3ff}.kit-m.active{border-color:#6fe3ff}.kit-m.deny{animation:.35s kitdeny}@keyframes kitdeny{30%{border-color:var(--accent);transform:translate(-3px)}60%{transform:translate(3px)}}#hud.is-dead #kit,#hud.is-dead #grapple-ind{visibility:hidden}
