:root{--red:#ff2432;--red-dim:#7a1119;--white:#f2f4f8;--dim:#6d737f;--amber:#ffb020;--cyan:#38e8ff;--font:"SF Mono", "JetBrains Mono", "IBM Plex Mono", Menlo, Consolas, monospace;--ui:clamp(11px, .78vw, 15px);--display-intensity:1}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--white);font-family:var(--font);font-size:var(--ui);letter-spacing:.08em;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;overscroll-behavior:none;touch-action:none;-webkit-text-size-adjust:100%;background:#000;overflow:hidden}html.touch-root,html.touch-root body{width:100%;height:100%;position:fixed;inset:0}body.pointer,body.pointer #overlay{touch-action:manipulation}body{cursor:none}body.pointer{cursor:default}#viewport{width:100%;height:100%;display:block;position:fixed;inset:0}.hud{pointer-events:none;opacity:0;-webkit-user-select:none;user-select:none;transition:opacity .4s;position:fixed;inset:0}.hud[data-live=true]{opacity:1}.hud-damage{opacity:0;background:radial-gradient(#0000 35%,#ff141e8c 100%);transition:opacity .35s ease-out;position:absolute;inset:0}.hud-lowhealth{opacity:0;background:radial-gradient(#0000 25%,#780008bf 100%);animation:1.6s ease-in-out infinite pulse;position:absolute;inset:0}@keyframes pulse{0%,to{filter:brightness(.7)}50%{filter:brightness(1.35)}}.reticle{width:128px;height:128px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reticle-svg,.hitmarker{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.reticle-svg line{stroke:var(--white);stroke-width:1.1px;opacity:.85}.reticle-dot{fill:var(--red)}.reticle-arms{transform-origin:50px 50px;transition:transform 60ms linear}.hitmarker{opacity:0}.hitmarker line{stroke:var(--white);stroke-width:2.4px;stroke-linecap:square}.hitmarker[data-hit="1"]{animation:.22s ease-out hitpop}.hitmarker[data-hit="2"]{animation:.34s ease-out hitpop}.hitmarker[data-hit="2"] line{stroke:var(--red);stroke-width:3.2px}@keyframes hitpop{0%{opacity:1;transform:scale(.55)}to{opacity:0;transform:scale(1.25)}}.minimap{width:clamp(118px,11vw,172px);transition:opacity .25s,transform .25s;position:absolute;top:2.6vh;left:2.6vw}.minimap[data-hidden=true]{opacity:0;transform:scale(.9)}.minimap canvas{aspect-ratio:1;width:100%;height:auto;display:block}.minimap-range{color:var(--dim);letter-spacing:.1em;font-size:.7em;position:absolute;bottom:4px;right:4px}.vitals{width:min(300px,26vw);position:absolute;bottom:2.4vh;left:2.6vw}.vitals-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.vitals-label{color:var(--dim);font-size:.82em}.vitals-num{text-align:right;font-variant-numeric:tabular-nums;min-width:3.2ch;font-size:1.15em}.bar{border:1px solid #ffffff38;flex:1;height:7px;position:relative;overflow:hidden}.bar-fill{transform-origin:0;transition:transform .12s ease-out;position:absolute;inset:0;transform:scaleX(1)}.bar-ghost{transform-origin:0;z-index:-1;background:#ff243259;transition:transform .5s ease-out .25s;position:absolute;inset:0}.bar-health .bar-fill{background:linear-gradient(90deg, var(--red-dim), var(--red));box-shadow:0 0 12px #ff2432b3}.bar-armor .bar-fill{background:linear-gradient(90deg, #14606e, var(--cyan));box-shadow:0 0 12px #38e8ff80}.dash-pips{gap:5px;margin-top:2px;padding-left:36px;display:flex}.dash-pip{background:#ffffff2e;width:26px;height:3px}.dash-pip[data-ready=true]{background:var(--amber);box-shadow:0 0 8px #ffb020cc}.weapon{text-align:right;position:absolute;bottom:2.4vh;right:2.6vw}.weapon-ammo{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:3.4em;line-height:.95}.weapon-ammo[data-empty=true]{color:var(--red);animation:.5s ease-in-out infinite pulse}.weapon-slash{color:var(--dim);vertical-align:.35em;margin:0 .15em;font-size:.5em}.weapon-reserve{color:var(--dim);vertical-align:.35em;font-size:.46em}.weapon-name{color:var(--dim);margin-top:2px;font-size:.92em}.weapon-reload{opacity:0;background:#ffffff24;height:2px;margin-top:6px;transition:opacity .15s}.weapon-reload[data-active=true]{opacity:1}.weapon-reload-fill{background:var(--white);width:0;height:100%}.weapon-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:12px;list-style:none;display:flex}.weapon-slot{color:var(--dim);border:1px solid #fff3;padding:3px 7px;font-size:.78em}.weapon-slot[data-active=true]{border-color:var(--red);color:var(--white);box-shadow:inset 0 0 14px #ff243240}.weapon-slot[data-locked=true]{opacity:.28}.score{position:absolute;top:calc(2.6vh + clamp(118px,11vw,172px) + 12px);left:2.6vw}.score-value{font-variant-numeric:tabular-nums;font-size:2.2em;line-height:1}.score-combo{opacity:0;align-items:center;gap:8px;margin-top:5px;transition:opacity .2s;display:flex}.score-combo[data-active=true]{opacity:1}#combo-mult{color:var(--amber);text-shadow:0 0 12px #ffb020cc;font-size:1.15em}.combo-bar{background:#ffffff26;width:90px;height:3px}#combo-fill{background:var(--amber);transform-origin:0;width:100%;height:100%}.wavebox{text-align:right;position:absolute;top:2.6vh;right:2.6vw}.wave-label{color:var(--dim);font-size:.8em}.wave-num{font-variant-numeric:tabular-nums;font-size:2.4em;line-height:1}.wave-left{color:var(--red);margin-top:3px;font-size:.82em}.wave-timer{color:var(--amber);font-variant-numeric:tabular-nums;margin-top:3px;font-size:.82em}.wave-timer[data-urgent=true]{color:var(--red);animation:.85s ease-in-out infinite waveTimerPulse}@keyframes waveTimerPulse{0%,to{opacity:1}50%{opacity:.45}}.banner{text-align:center;opacity:0;white-space:nowrap;position:absolute;top:26%;left:50%;transform:translate(-50%)}.banner[data-show=true]{animation:2.6s ease-out forwards bannerIn}@keyframes bannerIn{0%{opacity:0;letter-spacing:.6em;filter:blur(6px)}14%{opacity:1;letter-spacing:.16em;filter:blur()}76%{opacity:1}to{opacity:0;letter-spacing:.3em}}.banner-main{color:var(--white);text-shadow:0 0 30px #ff243299;font-size:2.6em}.banner-sub{color:var(--red);margin-top:6px;font-size:.95em}.killfeed{text-align:right;filter:drop-shadow(0 0 12px #0000008c);flex-direction:column;align-items:flex-end;gap:5px;max-width:min(36vw,320px);font-size:.84em;list-style:none;display:flex;position:absolute;top:12vh;right:2.2vw}.killfeed .feed-line{opacity:0;filter:blur(4px);clip-path:inset(0 0 0 100%);justify-content:flex-end;align-items:stretch;gap:0;margin:0;display:flex;position:relative;transform:translate(28px)skew(-8deg)}.killfeed .feed-line[data-in="1"]{animation:.32s cubic-bezier(.16,1,.3,1) forwards feedSlashIn}.killfeed .feed-line[data-out="1"]{animation:.4s ease-in forwards feedSlashOut}.killfeed .feed-slash{background:var(--red);flex-shrink:0;width:3px;transform:skewY(-12deg);box-shadow:0 0 8px #ff2432d9,0 0 18px #ff243259}.killfeed .feed-body{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(105deg,#0000 0%,#0804068c 18%,#120608b8 100%);border:1px solid #ff243238;border-left:none;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.45em .65em;padding:.28em .7em .32em .85em;display:flex;box-shadow:inset 0 0 0 1px #ffffff08}.killfeed .feed-label{color:var(--red);text-shadow:0 0 14px #ff243273;font-weight:400}.killfeed .feed-name{color:var(--white);letter-spacing:.12em}.killfeed .feed-dmg{color:var(--white);font-variant-numeric:tabular-nums;letter-spacing:.06em;opacity:.85;text-shadow:0 0 10px #ff243259}.killfeed .feed-dmg:before{content:"−";color:var(--red);opacity:.9;margin-right:.05em}.killfeed .feed-line[data-tone=hit] .feed-slash{background:#f2f4f88c;box-shadow:0 0 6px #f2f4f840}.killfeed .feed-line[data-tone=hit] .feed-body{background:linear-gradient(105deg,#0000,#06080c8c 30%,#0a0c10a6);border-color:#f2f4f81f;padding-block:.18em;font-size:.92em}.killfeed .feed-line[data-tone=hit] .feed-label{color:var(--dim);text-shadow:none}.killfeed .feed-line[data-tone=head] .feed-slash,.killfeed .feed-line[data-tone=decap] .feed-slash{background:var(--amber);box-shadow:0 0 10px #ffb020e6,0 0 22px #ffb02066}.killfeed .feed-line[data-tone=head] .feed-body,.killfeed .feed-line[data-tone=decap] .feed-body{background:linear-gradient(105deg,#0000,#140c028c 25%,#241204c7);border-color:#ffb02059}.killfeed .feed-line[data-tone=head] .feed-label,.killfeed .feed-line[data-tone=decap] .feed-label{color:var(--amber);text-shadow:0 0 16px #ffb0208c}.killfeed .feed-line[data-tone=head] .feed-dmg,.killfeed .feed-line[data-tone=decap] .feed-dmg{animation:.45s cubic-bezier(.2,1.4,.3,1) both feedDmgPop}.killfeed .feed-line[data-tone=limb] .feed-label{color:var(--cyan);text-shadow:0 0 12px #38e8ff59}.killfeed .feed-line[data-tone=limb] .feed-slash{background:var(--cyan);box-shadow:0 0 8px #38e8ff80}.killfeed .feed-line[data-tone=limb] .feed-body{border-color:#38e8ff38}.killfeed .feed-line[data-tone=pulp] .feed-body{background:linear-gradient(105deg,#0000,#280004b3 20%,#46040ae0);border-color:#ff24328c;animation:.5s ease-out feedPulpFlash}.killfeed .feed-line[data-tone=pulp] .feed-label{letter-spacing:.2em;text-shadow:0 0 8px #ff2432,0 0 24px #ff243299}.killfeed .feed-line[data-tone=pulp] .feed-dmg{color:var(--red);opacity:1;animation:.5s cubic-bezier(.2,1.6,.3,1) both feedDmgPop}.killfeed .feed-line[data-tone=kill] .feed-dmg{animation:.4s cubic-bezier(.2,1.3,.3,1) both feedDmgPop}.killfeed .feed-line[data-tone=loot] .feed-slash{background:var(--cyan);box-shadow:0 0 10px #38e8ffb3}.killfeed .feed-line[data-tone=loot] .feed-label{color:var(--cyan);text-shadow:0 0 14px #38e8ff80}.killfeed .feed-line[data-tone=loot] .feed-body{border-color:#38e8ff4d}.killfeed .feed-line[data-tone=note] .feed-body{background:linear-gradient(105deg,#0000,#080a0e99);border-color:#6d737f59}.killfeed .feed-line[data-tone=note] .feed-slash{background:var(--dim);box-shadow:none}.killfeed .feed-body b{color:var(--white);font-weight:400}.killfeed .feed-body i{color:var(--red);font-style:normal}.killfeed .feed-body u{color:var(--amber);text-decoration:none}@keyframes feedSlashIn{0%{opacity:0;filter:blur(5px);clip-path:inset(0 0 0 100%);transform:translate(36px)skew(-12deg)}55%{opacity:1;filter:blur();clip-path:inset(0)}to{opacity:1;filter:blur();clip-path:inset(0);transform:translate(0)skew(-4deg)}}@keyframes feedSlashOut{to{opacity:0;filter:blur(3px);clip-path:inset(0 0 0 40%);transform:translate(18px)skew(-10deg)}}@keyframes feedDmgPop{0%{opacity:0;filter:blur(2px);transform:scale(1.55)}55%{opacity:1;filter:blur();transform:scale(1.08)}to{transform:scale(1)}}@keyframes feedPulpFlash{0%{filter:brightness(2.2)saturate(1.4)}to{filter:none}}.dmg-dirs{width:0;height:0;position:absolute;top:50%;left:50%}.dmg-dir{transform-origin:60px 110px;opacity:.9;width:120px;height:26px;animation:1.1s ease-out forwards dirFade;position:absolute;top:-110px;left:-60px}.dmg-dir:before{content:"";clip-path:polygon(0 100%,50% 0,100% 100%);background:radial-gradient(at 50% 100%,#ff2432d9,#0000 70%);position:absolute;inset:0}@keyframes dirFade{to{opacity:0;transform-origin:60px 110px}}.keycard{opacity:0;pointer-events:none;background:#04060ad1;border:1px solid #ffffff2e;min-width:220px;padding:14px 18px;transition:opacity .22s,transform .22s;position:absolute;top:50%;right:2.6vw;transform:translateY(-50%)translate(12px)}.keycard[data-open=true]{opacity:1;transform:translateY(-50%)translate(0)}.keycard-title{color:var(--red);letter-spacing:.32em;margin-bottom:10px;font-size:.78em}.keycard-list{grid-template-columns:auto 1fr;align-items:center;gap:6px 14px;font-size:.84em;display:grid}.keycard-list dt{text-align:right}.keycard-list dd{color:var(--dim)}.keyhint{color:var(--dim);opacity:.7;font-size:.74em;transition:opacity .2s;position:absolute;top:calc(2.6vh + clamp(118px,11vw,172px) + 52px);left:2.6vw}.keyhint kbd{margin-right:6px}.viewtag{letter-spacing:.34em;color:var(--cyan);opacity:0;text-shadow:0 0 18px #38e8ff99;font-size:.78em;transition:opacity .25s;position:absolute;bottom:6vh;left:50%;transform:translate(-50%)}.viewtag[data-show=true]{opacity:.9}.reticle[data-mode=topdown] .reticle-svg{opacity:0}.scope{pointer-events:none;z-index:4;display:none;position:fixed;inset:0}.hud[data-scoped=true] .scope{display:block}.hud[data-scoped=true] .reticle{opacity:0}.scope-vignette{background:radial-gradient(circle,#0000 0 22vmin,#0000008c 28vmin,#000000eb 36vmin,#000 46vmin);position:absolute;inset:0}.scope-ring{border:1px solid #f2f4f847;border-radius:50%;width:46vmin;height:46vmin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #ff24322e}.scope-cross:before,.scope-cross:after{content:"";background:#f2f4f88c;position:absolute;top:50%;left:50%}.scope-cross:before{width:28vmin;height:1px;transform:translate(-50%,-50%)}.scope-cross:after{width:1px;height:28vmin;transform:translate(-50%,-50%)}.scope-dot{background:var(--red);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:radial-gradient(#000000b8 0%,#000000f5 70%);justify-content:center;align-items:flex-start;padding:24px 16px 32px;transition:opacity .35s;display:flex;position:fixed;inset:0;overflow:hidden auto}.overlay[data-hidden=true]{opacity:0;pointer-events:none}.overlay-scan{pointer-events:none;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 3px);position:absolute;inset:0}.screen{text-align:center;flex-shrink:0;width:min(760px,88vw);max-width:100%;margin:auto;animation:.4s ease-out screenIn;display:none}.screen[data-active=true]{display:block}@keyframes screenIn{0%{opacity:0;transform:translateY(12px)}}.title{font-weight:400;line-height:1}.title-word{letter-spacing:.16em;text-indent:.16em;color:var(--white);text-shadow:0 0 60px #ff24328c,0 0 8px #ff2432e6;font-size:clamp(72px,15vw,190px);animation:6s infinite flicker;display:block}@keyframes flicker{0%,97%,to{opacity:1}97.5%{opacity:.55}98.2%{opacity:1}98.6%{opacity:.7}}.title-sub{color:var(--red);letter-spacing:.55em;text-indent:.55em;margin-top:14px;font-size:clamp(9px,1.1vw,14px);display:block}.title-version{color:var(--dim);letter-spacing:.4em;text-indent:.4em;margin-top:12px;font-size:clamp(9px,.95vw,12px);display:block}.blurb{color:var(--dim);letter-spacing:.04em;max-width:56ch;margin:34px auto 30px;line-height:1.85}.screen-title{letter-spacing:.22em;text-indent:.22em;margin-bottom:28px;font-size:clamp(34px,6vw,64px);font-weight:400;line-height:1}.screen-title .screen-title-word{font-size:inherit;letter-spacing:inherit;text-indent:0;vertical-align:baseline;display:inline-block}.screen-title-online-tag{letter-spacing:.18em;text-transform:none;color:var(--white);vertical-align:baseline;opacity:.92;margin-left:.12em;font-size:.58em;font-weight:400;display:inline-block}.screen-online-sub{color:var(--dim);letter-spacing:.1em;margin:-12px 0 28px;font-size:clamp(10px,1.05vw,13px);line-height:1.5}.screen-title-dead{color:var(--red);text-shadow:0 0 44px #ff2432b3}.btn{min-width:260px;color:var(--white);font:inherit;letter-spacing:.3em;text-indent:.3em;cursor:pointer;background:0 0;border:1px solid #ffffff59;margin:12px auto;padding:14px 40px;font-size:1.05em;transition:background .18s,border-color .18s,box-shadow .18s,color .18s;display:block}.btn:hover{border-color:var(--white);background:#ffffff0f}.btn-primary{border-color:var(--red);color:var(--white);box-shadow:0 0 30px #ff243233,inset 0 0 30px #ff24321a}.btn-primary:hover{background:var(--red);border-color:var(--red);box-shadow:0 0 50px #ff243299}.controls{max-width:620px;color:var(--dim);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 18px;margin:36px auto 0;font-size:.86em;display:grid}.ctrl{justify-content:flex-start;align-items:center;gap:9px;display:flex}kbd{font:inherit;color:var(--white);text-align:center;border:1px solid #ffffff40;min-width:3ch;padding:2px 7px;font-size:.9em}.legal{color:#3f444d;letter-spacing:.06em;margin-top:34px;font-size:.78em}.results{grid-template-columns:1fr auto;gap:10px 30px;max-width:460px;margin:0 auto 34px;font-size:1.05em;display:grid}.results dt{color:var(--dim);text-align:left}.results dd{text-align:right;font-variant-numeric:tabular-nums}.results dd.hi{color:var(--amber)}.settings{margin-top:30px;gap:12px;max-width:430px;margin-inline:auto;font-size:.92em;display:grid}.setting{color:var(--dim);justify-content:space-between;align-items:center;gap:16px;display:flex}.setting input[type=range]{accent-color:var(--red);background:0 0;flex:1}.setting-val{text-align:right;min-width:4ch;color:var(--white);font-variant-numeric:tabular-nums}.setting button{color:var(--white);font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff47;min-width:8ch;padding:4px 14px;font-size:.95em}.setting button:hover{border-color:var(--red)}.modes{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.modes .btn{min-width:280px;margin:12px 0;padding:16px 30px}.modes .btn small{letter-spacing:.22em;text-indent:.22em;color:var(--dim);margin-top:8px;font-size:.62em;display:block}.modes .btn:hover small{color:#fffc}.screen-wide{width:min(1080px,94vw);max-width:100%}#screen-online{text-align:left}.lobby{text-align:left;margin-bottom:26px}.lobby-row{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:22px;display:flex}.lobby-identity{margin-bottom:16px}.lobby-pseudo-main{grid-template-columns:1fr 1fr;align-items:end;gap:12px 16px;display:grid}.lobby-field-pseudo{min-width:0;max-width:none}.lobby-connect-inline{align-items:stretch;min-width:0;display:flex}.lobby-field-label-strong{letter-spacing:.34em;color:var(--white);margin-bottom:8px;font-size:.82em;font-weight:700}.lobby-name-input{letter-spacing:.18em;text-transform:uppercase;background:#ffffff12;border-width:2px;border-color:#ffffff61;min-width:16ch;padding:12px 14px;font-size:1.15em;font-weight:700}.lobby-name-input::placeholder{color:#ffffff47;letter-spacing:.14em;font-weight:600}.lobby-name-input:focus{border-color:var(--red);background:#ff24321a;box-shadow:0 0 0 1px #ff2d2d40}.lobby-pseudo-hint{letter-spacing:.12em;color:var(--dim);margin:8px 0 0;font-size:.72em;line-height:1.4}.lobby-connect-row{display:none}.lobby-pseudo-main .lobby-connect{letter-spacing:.22em;text-indent:0;white-space:nowrap;box-sizing:border-box;border-width:2px;width:100%;min-width:0;margin:0;padding:12px 14px;font-size:.88em;font-weight:700;line-height:1.15}.lobby-connect:disabled{opacity:.38;cursor:not-allowed}.lobby-field{flex:none;display:block}.lobby-field-wide{flex:260px}.lobby-field span{letter-spacing:.3em;color:var(--dim);margin-bottom:6px;font-size:.72em;display:block}.lobby-field input{width:100%;min-width:12ch;color:var(--white);font:inherit;letter-spacing:.14em;background:#ffffff0a;border:1px solid #ffffff38;padding:10px 12px}.lobby-field input:focus{border-color:var(--red);background:#ff24320f;outline:none}.lobby-row .btn{letter-spacing:.2em;text-indent:.2em;min-width:0;margin:0;padding:10px 22px;font-size:.9em}.lobby-modes{flex-wrap:wrap;align-items:center;gap:12px;margin:-8px 0 22px;display:flex}.lobby-modes-label{letter-spacing:.3em;color:var(--dim);font-size:.72em}.lobby-mode-bar{flex-wrap:wrap;gap:8px;display:flex}.lobby-mode{letter-spacing:.18em;opacity:.72;border-color:#ffffff2e;padding:8px 14px;font-size:.78em}.lobby-mode[data-active=true]{opacity:1;border-color:var(--red);color:var(--white);box-shadow:inset 0 0 0 1px #ff2d2d59}.lobby-mode[data-mode=waves][data-active=true],.lobby-mode[data-mode=waves_coop][data-active=true]{border-color:var(--amber);box-shadow:inset 0 0 0 1px #ffb02066}.lobby-waves-panel{border:1px solid #ffb02038;border-left:3px solid var(--amber);background:linear-gradient(165deg,#ffb0200f 0%,#00000059 42%);margin:20px 0 24px;padding:16px 16px 14px}.lobby-waves-panel-title{letter-spacing:.32em;color:var(--amber);margin:0 0 14px;font-size:.72em}.lobby-waves-grid{grid-template-columns:1fr;gap:14px;min-width:0;display:grid}.lobby-waves-col-left,.lobby-waves-col-right{min-width:0}@media (min-width:820px){.lobby-waves-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px}.lobby-waves-col-left{grid-column:1}.lobby-waves-col-right{grid-column:2}}.lobby-waves-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;margin-bottom:12px;display:flex}.lobby-waves-section-title{letter-spacing:.22em;color:var(--text);margin:0;font-size:.72em}.lobby-waves-section-meta{letter-spacing:.14em;color:var(--dim);font-size:.68em}.lobby-leaderboard{background:#00000052;border:1px solid #ffffff14;border-radius:2px;padding:12px 12px 10px}.lobby-leaderboard h3,.lobby-your-runs h3{margin:0}.lobby-leaderboard-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;margin-bottom:10px;display:grid}.lobby-leaderboard-podium:has(.lobby-podium-card:only-child) .lobby-podium-card{grid-column:2}.lobby-podium-card{text-align:center;background:#0006;border:1px solid #ffffff1a;gap:3px;min-height:82px;padding:10px 8px 9px;transition:border-color .15s,transform .15s;display:grid}.lobby-podium-card--you{box-shadow:inset 0 0 0 1px #ffb02073}.lobby-podium-rank-1{background:linear-gradient(#ffc83c29 0%,#00000073 100%);border-color:#ffd2508c;min-height:96px;transform:translateY(-4px);box-shadow:inset 0 0 0 1px #ffd25040,0 4px 16px #ffb42814}.lobby-podium-rank-2{background:linear-gradient(#b4c8e61a 0%,#0006 100%);border-color:#b4c8e666}.lobby-podium-rank-3{background:linear-gradient(#dc965a1a 0%,#0006 100%);border-color:#dc965a66}.lobby-podium-rank{letter-spacing:.2em;color:var(--dim);font-size:.62em;font-weight:700}.lobby-podium-rank-1 .lobby-podium-rank{color:#ffd866}.lobby-podium-rank-2 .lobby-podium-rank{color:#c8d8e8}.lobby-podium-rank-3 .lobby-podium-rank{color:#d4a574}.lobby-podium-name{letter-spacing:.1em;color:var(--white);text-overflow:ellipsis;white-space:nowrap;padding:0 2px;font-size:.88em;overflow:hidden}.lobby-podium-rank-1 .lobby-podium-name{font-size:.95em}.lobby-podium-score-wrap{justify-content:center;align-items:baseline;gap:5px;margin-top:2px;display:flex}.lobby-podium-score{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--amber);font-size:1.1em;line-height:1}.lobby-podium-rank-1 .lobby-podium-score{font-size:1.28em}.lobby-podium-score-label{letter-spacing:.16em;color:var(--dim);font-size:.62em}.lobby-podium-meta{letter-spacing:.05em;color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:.66em;overflow:hidden}.lobby-leaderboard-rest-head{margin:4px 0 6px;padding:0 4px}.lobby-leaderboard-rest-label{letter-spacing:.18em;color:var(--dim);font-size:.66em}.lobby-leaderboard-list{scrollbar-width:thin;scrollbar-color:#ffffff47 #ffffff0f;gap:2px;max-height:min(220px,28vh);padding-right:4px;display:grid;overflow-y:auto}.lobby-leaderboard-list::-webkit-scrollbar{width:8px}.lobby-your-runs-list::-webkit-scrollbar{width:8px}.lobby-leaderboard-list::-webkit-scrollbar-track{background:#ffffff0f;border-radius:4px}.lobby-your-runs-list::-webkit-scrollbar-track{background:#ffffff0f;border-radius:4px}.lobby-leaderboard-list::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:4px}.lobby-your-runs-list::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:4px}.lobby-leaderboard-row{letter-spacing:.06em;color:var(--text);background:#ffffff05;border-radius:2px;grid-template-columns:2.2em 1fr auto;align-items:center;gap:8px 10px;padding:5px 8px;font-size:.76em;display:grid}.lobby-leaderboard-row:nth-child(2n){background:#ffffff0a}.lobby-leaderboard-row--you{background:#ffb0201a;box-shadow:inset 0 0 0 1px #ffb02047}.lobby-leaderboard-rank{color:var(--dim);font-variant-numeric:tabular-nums;text-align:right}.lobby-leaderboard-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lobby-leaderboard-meta{color:var(--amber);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.94em}.lobby-your-runs{background:#00000052;border:1px solid #ffffff14;border-radius:2px;padding:12px 12px 10px}.lobby-your-runs-summary{letter-spacing:.08em;color:var(--dim);flex-wrap:wrap;align-items:baseline;gap:8px 12px;font-size:.68em;display:flex}.lobby-your-runs-pk{font-family:var(--mono,monospace);letter-spacing:.04em;color:var(--text);font-size:.95em}.lobby-your-runs-count{color:var(--amber);letter-spacing:.14em}.lobby-your-runs-list{scrollbar-width:thin;scrollbar-color:#ffffff47 #ffffff0f;gap:2px;max-height:min(240px,30vh);padding-right:4px;display:grid;overflow-y:auto}.lobby-your-runs-header,.lobby-your-runs-row{letter-spacing:.1em;grid-template-columns:4.5em 4.5em 1fr 3.2em;align-items:center;gap:8px 10px;padding:5px 8px;font-size:.72em;display:grid}.lobby-your-runs-header{color:var(--dim);border-bottom:1px solid #ffffff1a;margin-bottom:2px;padding-bottom:6px}.lobby-your-runs-row{letter-spacing:.06em;background:#ffffff05;border-radius:2px;font-size:.76em}.lobby-your-runs-row:nth-child(2n){background:#ffffff0a}.lobby-your-runs-row--best{background:#ffb0201a;box-shadow:inset 0 0 0 1px #ffb02047}.lobby-your-runs-when{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}.lobby-your-runs-score{font-variant-numeric:tabular-nums;color:var(--amber);font-weight:700}.lobby-your-runs-meta{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lobby-your-runs-result{letter-spacing:.12em;white-space:nowrap;text-align:right;font-size:.9em}.lobby-your-runs-result--wiped{color:var(--red)}.lobby-your-runs-result--quit{color:var(--dim)}.lobby-cols{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media (max-width:720px){.lobby-cols{grid-template-columns:1fr}}.lobby-col h3{letter-spacing:.34em;color:var(--dim);margin-bottom:10px;font-size:.74em;font-weight:400}.lobby-list{flex-direction:column;gap:6px;min-height:190px;max-height:34vh;display:flex;overflow-y:auto}.lobby-item{text-align:left;width:100%;color:var(--white);font:inherit;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1f;border-left:2px solid #ffffff40;align-items:center;gap:14px;padding:10px 14px;transition:border-color .15s,background .15s;display:flex}.lobby-item:hover:not(:disabled),.lobby-item[data-selected=true]{border-left-color:var(--red);background:#ff243214}.lobby-item:disabled{opacity:.4;cursor:not-allowed}.lobby-item-main{flex:1;min-width:0}.lobby-item-main b{letter-spacing:.1em;white-space:nowrap;text-overflow:ellipsis;font-weight:400;display:block;overflow:hidden}.lobby-item-main span{letter-spacing:.14em;color:var(--dim);margin-top:3px;font-size:.76em;display:block}.lobby-ping,.lobby-count{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--dim);font-size:.86em}.lobby-ping[data-quality=good]{color:#57d98a}.lobby-ping[data-quality=fair]{color:var(--amber)}.lobby-ping[data-quality=bad]{color:var(--red)}.lobby-count[data-full=true]{color:var(--amber)}.lobby-empty{color:#4b515c;letter-spacing:.2em;padding:16px 4px;font-size:.8em}.lobby-status{min-height:1.4em;color:var(--amber);letter-spacing:.1em;opacity:0;margin-top:18px;font-size:.86em;transition:opacity .2s}.lobby-status[data-show=true]{opacity:1}.lobby-keys{border:1px solid #38e8ff2e;border-left:3px solid var(--cyan);background:#00000059;gap:.55rem;margin:16px 0 18px;padding:12px 14px;display:grid}.lobby-keys-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.lobby-keys h3{letter-spacing:.18em;color:var(--dim);margin:0;font-size:.72rem;font-weight:500}.lobby-keys-grid{gap:.45rem;display:grid}.lobby-keys-field{grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.lobby-keys-field span{color:var(--dim);letter-spacing:.14em;font-size:.72rem}.lobby-keys-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cyan);letter-spacing:.04em;font-size:.78rem;display:block;overflow:hidden}.lobby-keys-btn{padding:.25rem .55rem;font-size:.68rem}.lobby-keys-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.lobby-keys-export{letter-spacing:.14em;font-weight:700}.lobby-keys-action{padding:.3rem .7rem;font-size:.72rem}.lobby-keys-note{color:var(--dim);letter-spacing:.06em;max-width:52rem;font-size:.68rem;line-height:1.45}@media (max-width:720px){.lobby-keys-field{grid-template-columns:1fr;gap:.2rem}}.results-note{color:var(--dim);max-width:46ch;margin:0 auto 30px;line-height:1.8}.match{pointer-events:none;z-index:6;font-family:var(--font);font-size:var(--ui);color:var(--white);opacity:0;transition:opacity .3s;position:fixed;inset:0}.match[data-on=true]{opacity:1}.match-clock{text-align:center;position:absolute;top:2vh;left:50%;transform:translate(-50%)}.match-time{letter-spacing:.14em;font-variant-numeric:tabular-nums;text-shadow:0 0 22px #000000e6;font-size:1.9em}.match-time[data-low=true]{color:var(--red);animation:1s steps(2,end) infinite matchTick}@keyframes matchTick{50%{opacity:.55}}.match-target{letter-spacing:.32em;color:var(--dim);margin-top:2px;font-size:.7em}.match-teams{font-variant-numeric:tabular-nums;gap:190px;font-size:1.7em;display:none;position:absolute;top:2vh;left:50%;transform:translate(-50%)}.match-teams[data-show=true]{display:flex}.match-team-a{color:var(--cyan)}.match-team-b{color:var(--red)}.scoreboard{opacity:0;pointer-events:none;background:#040609db;border:1px solid #ffffff29;width:min(620px,84vw);padding:20px 24px 22px;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.98)}.scoreboard[data-show=true]{opacity:1;transform:translate(-50%,-50%)scale(1)}.scoreboard-title{letter-spacing:.4em;color:var(--red);margin-bottom:14px;font-size:.78em}.scoreboard-head,.scoreboard-row{grid-template-columns:1fr 4ch 4ch 6ch;align-items:center;gap:10px;padding:6px 8px;display:grid}.scoreboard-head{letter-spacing:.24em;color:var(--dim);border-bottom:1px solid #ffffff1f;font-size:.7em}.scoreboard-head span:not(:first-child),.scoreboard-row span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.scoreboard-row{border-left:2px solid #0000}.scoreboard-row[data-you=true]{border-left-color:var(--red);background:#ff24321f}.scoreboard-row[data-dead=true]{opacity:.42}.scoreboard-row[data-team="0"] .scoreboard-name{color:var(--cyan)}.scoreboard-row[data-team="1"] .scoreboard-name{color:#ff8a6a}.scoreboard-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.1em;overflow:hidden}.scoreboard-bot{letter-spacing:.2em;color:var(--dim);border:1px solid #ffffff2e;margin-left:8px;padding:1px 5px;font-size:.68em;font-style:normal}.respawn{text-align:center;opacity:0;transition:opacity .25s;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.respawn[data-show=true]{opacity:1}.respawn-title{letter-spacing:.34em;text-indent:.34em;color:var(--red);text-shadow:0 0 44px #ff2432b3;font-size:2.1em}.respawn-count{font-variant-numeric:tabular-nums;letter-spacing:.1em;margin-top:10px;font-size:3.4em}.net-status{border:1px solid var(--amber);color:var(--amber);letter-spacing:.28em;opacity:0;background:#000000b3;padding:6px 18px;font-size:.78em;transition:opacity .2s;position:absolute;top:12vh;left:50%;transform:translate(-50%)}.net-status[data-show=true]{opacity:1}.netgraph{text-align:right;width:120px;position:absolute;bottom:15vh;right:1.4vw}.netgraph-ping{letter-spacing:.18em;font-variant-numeric:tabular-nums;color:var(--dim);font-size:.72em}.netgraph[data-quality=good] .netgraph-ping{color:#57d98a}.netgraph[data-quality=fair] .netgraph-ping{color:var(--amber)}.netgraph[data-quality=bad] .netgraph-ping,.netgraph[data-quality=lost] .netgraph-ping{color:var(--red)}.netgraph-bars{opacity:.55;align-items:flex-end;gap:1px;height:22px;margin-top:4px;display:flex}.netgraph-bars i{background:currentColor;flex:1;height:6%}.netgraph[data-quality=good] .netgraph-bars{color:#57d98a}.netgraph[data-quality=fair] .netgraph-bars{color:var(--amber)}.netgraph[data-quality=bad] .netgraph-bars,.netgraph[data-quality=lost] .netgraph-bars{color:var(--red)}.netgraph-bars i[data-drop=true]{background:var(--red)}.nameplates{pointer-events:none;z-index:5;opacity:0;position:fixed;inset:0}.nameplates[data-on=true]{opacity:1}.nameplate{text-align:center;width:118px;font-family:var(--font);letter-spacing:.16em;color:#ffb9ae;text-shadow:0 0 10px #000000f2;margin-left:-59px;font-size:clamp(9px,.66vw,12px);display:none;position:absolute;top:0;left:0}.nameplate[data-show=true]{display:block}.nameplate[data-hurt=true]{color:var(--red)}.nameplate[data-bot=true] .nameplate-name:after{content:" ·BOT";color:var(--dim)}.nameplate-bar{background:#ffffff29;width:62px;height:2px;margin:4px auto 0}.nameplate-bar>div{transform-origin:0;background:var(--red);width:100%;height:100%}.hud[data-mode=arena] .score{display:none}.lang-switch{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:90;min-width:34px;height:28px;color:var(--white);font:inherit;letter-spacing:.12em;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#0000008c;border:1px solid #ffffff52;padding:0 8px;font-size:.62em;font-weight:700;line-height:1;position:fixed}.lang-switch:hover{border-color:var(--white);background:#ffffff14}body.touch .lang-switch{right:max(58px, calc(env(safe-area-inset-right) + 52px))}.touch-pad{z-index:6;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;display:none;position:fixed;inset:0}body.touch .touch-pad[data-active=true]{display:block}body.touch{cursor:default}body.touch .keyhint{display:none}.touch-move{pointer-events:auto;z-index:1;width:42%;position:absolute;top:0;bottom:0;left:0}.touch-stick{opacity:0;pointer-events:none;z-index:2;background:#00000047;border:1px solid #ffffff47;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity 80ms;position:fixed}.touch-stick[data-on=true]{opacity:1}.touch-knob{background:#ff243238;border:1px solid #ffffff8c;border-radius:50%;width:46%;height:46%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 18px #ff243240}.touch-look{pointer-events:auto;z-index:1;position:absolute;inset:0 0 0 30%}.touch-actions{right:max(10px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));pointer-events:auto;z-index:3;grid-template-columns:repeat(3,minmax(52px,68px));grid-template-areas:"fire fire fire""aim jump dash""reload gunm gunp""flare view view";justify-items:stretch;gap:7px;display:grid;position:absolute}.touch-btn{min-height:46px;color:var(--white);font:inherit;letter-spacing:.12em;text-indent:.08em;-webkit-tap-highlight-color:transparent;touch-action:none;background:#00000073;border:1px solid #ffffff4d;padding:7px 4px;font-size:.7em}.touch-btn[data-held=true]{border-color:var(--red);background:#ff243259}.touch-btn-fire{border-color:var(--red);min-height:72px;color:var(--white);letter-spacing:.28em;grid-area:fire;box-shadow:0 0 22px #ff243247}.touch-btn-aim[data-toggled=true]{border-color:var(--cyan);background:#00c8ff38;box-shadow:0 0 16px #00c8ff40}.touch-btn-aim{grid-area:aim}.touch-actions .touch-btn:nth-child(3){grid-area:jump}.touch-actions .touch-btn:nth-child(4){grid-area:dash}.touch-actions .touch-btn:nth-child(5){grid-area:reload}.touch-actions .touch-btn:nth-child(6){grid-area:gunm}.touch-actions .touch-btn:nth-child(7){grid-area:gunp}.touch-actions .touch-btn:nth-child(8){grid-area:flare}.touch-actions .touch-btn:nth-child(9){grid-area:view}.touch-btn-slim{min-height:40px;font-size:.64em}.touch-btn-pause{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:4;pointer-events:auto;min-width:48px;min-height:44px;position:absolute}.touch-rotate{left:50%;top:max(18%, env(safe-area-inset-top));z-index:5;color:var(--white);letter-spacing:.28em;pointer-events:none;opacity:0;background:#000000b8;border:1px solid #ffffff47;padding:10px 16px;font-size:.78em;transition:opacity .25s;position:absolute;transform:translate(-50%)}.touch-rotate[data-show=true]{opacity:1}@media (max-width:720px){:root{--ui:clamp(10px, 3.2vw, 14px)}.blurb{max-width:36ch;margin:18px auto 16px;font-size:.92em;line-height:1.6}.modes{flex-direction:column;gap:10px;width:min(100%,360px);margin-inline:auto}.modes .btn{width:100%;min-width:0;padding:14px 18px}.controls{grid-template-columns:1fr 1fr;max-width:100%;margin-top:22px}.legal{margin-top:18px;font-size:.78em}.results{gap:8px 16px;max-width:100%;margin-bottom:22px;font-size:.95em}.vitals{width:min(200px,42vw);bottom:max(2.4vh, env(safe-area-inset-bottom))}body.touch .vitals{bottom:max(150px, calc(env(safe-area-inset-bottom) + 140px));left:max(2.6vw, env(safe-area-inset-left));width:min(180px,38vw)}body.touch .weapon{bottom:max(210px, calc(env(safe-area-inset-bottom) + 200px));right:max(2.6vw, env(safe-area-inset-right))}.weapon{width:min(220px,46vw)}.weapon-list,body.touch .weapon-list{display:none}.minimap{width:clamp(88px,22vw,128px);top:max(2.6vh, env(safe-area-inset-top));left:max(2.6vw, env(safe-area-inset-left))}.score{top:calc(max(2.6vh, env(safe-area-inset-top)) + clamp(88px, 22vw, 128px) + 10px)}body.touch .score{font-size:.9em}.wavebox{right:max(2.6vw, env(safe-area-inset-right));top:max(2.6vh, env(safe-area-inset-top))}body.touch .wavebox{right:max(64px, calc(env(safe-area-inset-right) + 56px))}body.touch .killfeed{top:max(12vh, calc(env(safe-area-inset-top) + 72px));max-width:min(42vw,220px);font-size:.72em}body.touch .match-clock{top:max(2.2vh, env(safe-area-inset-top))}body.touch .match-time{font-size:1.35em}.overlay .screen{padding:24px 16px max(24px, env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;touch-action:pan-y;max-height:100%;overflow:auto}.btn{width:min(100%,360px);min-width:0}.settings{width:min(100%,360px);margin-inline:auto}.lobby-row{flex-direction:column;align-items:stretch}.lobby-row .btn{width:100%}.lobby-field input,.lobby-name-input{font-size:16px}.lobby-identity{flex-direction:column;align-items:stretch}.lobby-pseudo-main{grid-template-columns:1fr}.lobby-connect-inline{width:100%}.lobby-pseudo-main .lobby-connect{letter-spacing:.2em;width:100%;font-size:.88em}}@media (max-width:900px) and (orientation:landscape){body.touch .vitals{bottom:max(14px, env(safe-area-inset-bottom));left:max(150px, calc(env(safe-area-inset-left) + 132px));width:min(160px,28vw)}body.touch .weapon{bottom:max(14px, env(safe-area-inset-bottom));right:max(210px, calc(env(safe-area-inset-right) + 200px));width:min(180px,28vw)}.touch-actions{grid-template-columns:repeat(3,minmax(48px,60px));gap:6px}.touch-btn-fire{min-height:64px}.touch-btn{min-height:42px}.touch-btn-slim{min-height:36px}body.touch .minimap{width:clamp(72px,16vw,110px)}}@media (max-width:420px) and (orientation:portrait){.touch-actions{grid-template-columns:repeat(3,minmax(48px,58px));gap:6px}.touch-btn{font-size:.64em}.title-word{font-size:clamp(2.6rem,18vw,4rem)}}
