:root{--bg: #080a0f;--panel: rgba(13, 16, 23, .9);--panel-solid: #0e1118;--panel-2: rgba(21, 26, 36, .92);--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .18);--text: #e9edf5;--dim: #8b93a5;--dimmer: #5e6678;--accent: #7dffd2;--accent-dim: #3ea88a;--ember: #ff7a3d;--azure: #49b6ff;--danger: #ff4d5e;--warn: #ffc46b;--shield: #62b8ff;--health: #7dffd2;--font: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--mono: "SF Mono", "JetBrains Mono", "Cascadia Mono", ui-monospace, monospace;--notch: polygon(12px 0, 100% 0, 100% calc(100% - 12px) , calc(100% - 12px) 100%, 0 100%, 0 12px)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{cursor:default;user-select:none}#app{position:fixed;inset:0}#view{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none}#ui{position:absolute;inset:0;pointer-events:none}.noscript{position:absolute;inset:0;display:grid;place-items:center;font-size:18px;letter-spacing:.08em;text-transform:uppercase}.screen{position:absolute;inset:0;pointer-events:auto;display:flex;opacity:1;transition:opacity .22s ease}.screen[hidden]{display:none}.screen.fade-out{opacity:0}.panel{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(14px) saturate(1.2);clip-path:var(--notch)}.btn{--btn-accent: var(--accent);position:relative;appearance:none;border:1px solid var(--line-strong);background:linear-gradient(180deg,#ffffff0f,#ffffff04);color:var(--text);font:inherit;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:12px;padding:12px 22px;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .08s ease;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.btn:hover{border-color:var(--btn-accent);color:#fff;background:linear-gradient(180deg,#7dffd224,#7dffd208)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,#7dffd238,#7dffd20f);border-color:var(--accent-dim);color:#eafff7;font-size:14px;padding:16px 40px;letter-spacing:.22em}.btn.primary:hover{background:linear-gradient(180deg,#7dffd257,#7dffd21a);box-shadow:0 0 30px #7dffd22e}.btn.ghost{background:transparent;border-color:var(--line);color:var(--dim)}.btn.ghost:hover{color:var(--text);border-color:var(--line-strong);background:#ffffff0a}.btn:disabled{opacity:.4;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dimmer)}input[type=text]{appearance:none;background:#0006;border:1px solid var(--line);color:var(--text);font:inherit;font-weight:600;letter-spacing:.1em;padding:11px 14px;outline:none;transition:border-color .14s ease}input[type=text]:focus{border-color:var(--accent-dim)}input[type=range]{appearance:none;width:100%;height:4px;background:#ffffff1f;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;background:var(--accent);border:none;cursor:pointer;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--accent);border:none;border-radius:0;cursor:pointer}.sectionTitle{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--dimmer);display:flex;align-items:center;gap:12px}.sectionTitle:after{content:"";flex:1;height:1px;background:var(--line)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}#menu{background:radial-gradient(120% 80% at 12% -10%,rgba(125,255,210,.1),transparent 58%),radial-gradient(100% 90% at 92% 110%,rgba(255,122,61,.11),transparent 55%),linear-gradient(160deg,#070910c7,#0b0f1680 45%,#080a10e0);backdrop-filter:blur(2px) saturate(1.1);flex-direction:column;padding:min(3.4vh,34px) min(5vw,64px) min(3vh,28px);gap:22px;overflow-y:auto}#menu:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(120% 90% at 50% 20%,#000 30%,transparent 78%);pointer-events:none}#menu[data-screen=loadout]{background:none;backdrop-filter:none}.menuBar{position:relative;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.menuBar .spacer{flex:1}.brand{display:flex;flex-direction:column;gap:4px}.brand h1{font-size:clamp(26px,3.4vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--text)}.brand h1 b{font-weight:800;background:linear-gradient(96deg,var(--accent) 10%,var(--azure) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.brand .crumb{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--dimmer)}.field.inline{flex-direction:row;align-items:center;gap:10px}.field.inline>label{padding-top:1px}.field.inline input[type=text]{width:168px;padding:9px 12px}.field.stack>label{display:flex;align-items:center;gap:10px}.iconBtn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-strong);background:#ffffff08;color:var(--dim);cursor:pointer;transition:color .14s ease,border-color .14s ease}.iconBtn:hover{color:var(--accent);border-color:var(--accent-dim)}.iconBtn svg{width:19px;height:19px}.menuBody{position:relative;flex:1;min-height:0;display:flex}.menuBody>*{flex:1;min-height:0}#menu[data-screen=home] .menuBody,#menu[data-screen=setup] .menuBody,#menu[data-screen=create] .menuBody{align-items:center}.card{background:var(--panel);border:1px solid var(--line);clip-path:var(--notch);padding:20px;display:flex;flex-direction:column;gap:14px;min-height:0}.sectionTitle .edit,.sectionTitle .linkBtn{font-size:9px;letter-spacing:.2em;color:var(--accent-dim);order:3}.sectionTitle .linkBtn{border:none;background:none;font-family:inherit;text-transform:uppercase;cursor:pointer;padding:0}.sectionTitle .linkBtn:hover{color:var(--accent)}.note{font-size:11.5px;color:var(--dim);line-height:1.7;letter-spacing:.01em}.empty{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dimmer);padding:16px 2px}.actions{display:flex;align-items:center;gap:10px;margin-top:auto;flex-wrap:wrap}.actions .spacer{flex:1}.btn.wide{width:100%}.iconBtn.back[hidden]{display:none}.fieldErr{font-size:11px;color:var(--danger);letter-spacing:.08em}.homeGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.86fr);gap:20px;align-items:stretch}@media(max-width:1240px){.homeGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.homeSide{grid-column:1 / -1}}@media(max-width:760px){.homeGrid{grid-template-columns:1fr}}.bigCard{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px 28px;text-align:left;font:inherit;color:var(--text);cursor:pointer;border:1px solid var(--line);background:linear-gradient(165deg,#ffffff0f,#ffffff03 55%),var(--panel);clip-path:var(--notch);overflow:hidden;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.bigCard:after{content:"";position:absolute;inset:auto -30% -60% auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(125,255,210,.16),transparent 68%);opacity:0;transition:opacity .24s ease;pointer-events:none}.bigCard:hover{border-color:var(--accent-dim);transform:translateY(-3px);box-shadow:0 18px 44px #00000073}.bigCard:hover:after{opacity:1}.bigCard .glyph{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line-strong);background:#00000059;color:var(--accent)}.bigCard .glyph svg{width:24px;height:24px}.bigCard .kicker{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--dimmer)}.bigCard h2{font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:.02em;line-height:1}.bigCard p{font-size:12.5px;color:var(--dim);line-height:1.7;max-width:34ch}.bigCard .facts{display:flex;gap:26px;margin-top:auto;padding-top:22px}.bigCard .facts b{display:block;font-size:22px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.bigCard .facts span{display:block;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--dimmer);margin-top:3px}.bigCard .cta{padding-top:18px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}.bigCard .cta:after{content:" →"}.homeSide{min-width:240px;display:flex;flex-direction:column;gap:14px;min-height:0}.loadoutCard,.codeCard,.controlsCard{background:var(--panel);border:1px solid var(--line);clip-path:var(--notch);padding:16px 18px;display:flex;flex-direction:column;gap:11px;font:inherit;color:var(--text);text-align:left}.loadoutCard{cursor:pointer;transition:border-color .14s ease}.loadoutCard:hover{border-color:var(--pick, var(--accent))}.lRow{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px}.lSlot{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dimmer)}.lName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:.08em}.chip.mini{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);padding:2px 6px}.codeRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.codeRow .codeInput{min-width:0}.codeInput{font-family:var(--mono);font-size:18px!important;letter-spacing:.42em!important;text-align:center;text-transform:uppercase;padding:10px 6px 10px 14px!important}.setupGrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:20px;align-items:stretch}@media(max-width:940px){.setupGrid{grid-template-columns:1fr}}.mapGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;overflow-y:auto;padding-right:4px}.mapTile{display:flex;flex-direction:column;gap:8px;padding:0 0 13px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;font:inherit;color:var(--text);text-align:left;overflow:hidden;transition:border-color .14s ease,background .14s ease,transform .12s ease}.mapTile:hover{background:#ffffff0d;transform:translateY(-2px)}.mapTile.active{border-color:var(--accent-dim);background:#7dffd217}.mapArt{height:78px;position:relative;border-bottom:1px solid var(--line)}.mapArt:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.42) 0 7px,transparent 7px 13px,rgba(0,0,0,.24) 13px 22px,transparent 22px 31px);mask-image:linear-gradient(0deg,#000 0 42%,transparent 76%)}.mapArt:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.22) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(180deg,#000,transparent)}.mapArt.m-foundry{background:linear-gradient(150deg,#3a2418,#ff7a3d 55%,#1b1410)}.mapArt.m-citadel{background:linear-gradient(150deg,#4a3a22,#e8c07a 55%,#2a2018)}.mapArt.m-skyport{background:linear-gradient(150deg,#1d4e8c,#9fc4e8 55%,#14243a)}.mapArt.m-bazaar{background:linear-gradient(150deg,#5a3a1e,#ffb877 55%,#2a1c10)}.mapArt.m-cryo{background:linear-gradient(150deg,#0f1d33,#8fd8ff 55%,#16222f)}.mapTile h4{font-size:13px;font-weight:700;letter-spacing:.16em;padding:0 13px}.mapTile p{font-size:11px;color:var(--dim);line-height:1.55;padding:0 13px}.modeList{display:flex;flex-direction:column;gap:6px}.modeItem{padding:9px 12px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;font:inherit;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease}.modeItem:hover{background:#ffffff0d}.modeItem.active{border-color:var(--accent-dim);background:#7dffd21a}.modeItem .mName{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.modeItem .mBlurb{font-size:10.5px;color:var(--dim);line-height:1.5;margin-top:3px}.browseGrid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.75fr);gap:20px;align-items:stretch}@media(max-width:940px){.browseGrid{grid-template-columns:1fr}}.browseSide{min-width:240px;display:flex;flex-direction:column;gap:14px;min-height:0}.roomList{display:flex;flex-direction:column;gap:7px;overflow-y:auto;padding-right:4px;flex:1}.roomItem{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:13px 15px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;font:inherit;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease,transform .12s ease}.roomItem:hover:not(:disabled){background:#ffffff0d;border-color:var(--accent-dim);transform:translate(2px)}.roomItem:disabled{opacity:.4;cursor:not-allowed}.roomItem .rname{font-size:13px;font-weight:700;letter-spacing:.12em}.roomItem .rmeta{font-size:10px;color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin-top:3px}.pill{font-size:10px;letter-spacing:.14em;padding:3px 8px;border:1px solid var(--line);color:var(--dim);text-transform:uppercase}.pill.live{color:var(--accent);border-color:var(--accent-dim)}.loadoutGrid{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;min-height:0}.stageRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px;align-items:stretch}.slotsCard{gap:12px}.slotsCard .note{margin-top:auto}.weaponStage{position:relative;min-height:215px;border:1px solid var(--line);clip-path:var(--notch);background:linear-gradient(180deg,rgba(125,255,210,.05),transparent 60%);display:flex;align-items:flex-end;padding:16px 20px;overflow:hidden}.stageCaption{pointer-events:none}.stageCaption h3{font-size:17px;font-weight:800;letter-spacing:.16em}.stageCaption p{font-size:11px;color:var(--dim);letter-spacing:.04em;margin-top:4px}.pickRow{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,.95fr);gap:16px;min-height:0}@media(max-width:1240px){.pickRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stageRow{grid-template-columns:1fr}}@media(max-width:760px){.pickRow{grid-template-columns:1fr}}.slotRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slotCard{display:flex;flex-direction:column;gap:5px;padding:11px 12px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;font:inherit;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease}.slotCard:hover{background:#ffffff0d}.slotCard.active{border-color:var(--accent);background:#7dffd21c}.slotLabel{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--dimmer)}.slotName{font-size:12.5px;font-weight:700;letter-spacing:.06em}.slotSkin{display:flex;align-items:center;gap:6px;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.swatch{width:10px;height:10px;flex:none;border:1px solid rgba(0,0,0,.55);box-shadow:0 0 0 1px #ffffff1f}.pickGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;overflow-y:auto;padding-right:4px}.pickItem{display:flex;flex-direction:column;gap:6px;padding:11px 12px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;font:inherit;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease}.pickItem:hover{background:#ffffff0d}.pickItem.active{border-color:var(--accent-dim);background:#7dffd21a}.pickItem .pName{font-size:12px;font-weight:700;letter-spacing:.08em}.pickItem .pFam{font-size:9px;letter-spacing:.22em;color:var(--dimmer)}.pickItem .bars{display:flex;flex-direction:column;gap:3px;margin-top:2px}.pickItem .bar{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:6px;height:auto;border:none;background:none}.pickItem .bar span{font-size:8px;letter-spacing:.12em;color:var(--dimmer)}.pickItem .bar i{position:relative;display:block;height:3px;background:#ffffff17;inset:auto}.pickItem .bar i b{display:block;height:100%;background:var(--accent-dim)}.pickItem.active .bar i b{background:var(--accent)}.skinGrid{display:flex;flex-direction:column;gap:6px;overflow-y:auto;padding-right:4px}.skinItem{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 12px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;font:inherit;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease}.skinItem:hover{background:#ffffff0d}.skinItem.active{border-color:var(--accent-dim);background:#7dffd21a}.skinItem .sName{font-size:11.5px;font-weight:700;letter-spacing:.1em}.skinItem .sBlurb{font-size:10px;color:var(--dim);margin-top:1px}.classList{display:flex;flex-direction:column;gap:7px;overflow-y:auto;padding-right:4px}.classItem{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;padding:8px 11px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;font:inherit;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease,transform .1s ease}.classItem:hover{background:#ffffff0d;transform:translate(2px)}.classItem.active{border-color:var(--pick, var(--accent));background:color-mix(in srgb,var(--pick, var(--accent)) 12%,transparent)}.classItem .glyph{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);background:#00000059;color:var(--pick, var(--accent))}.classItem .glyph svg{width:17px;height:17px}.classItem h4{font-size:12.5px;letter-spacing:.1em;font-weight:700}.classItem p{font-size:10px;color:var(--dim);letter-spacing:.01em;margin-top:2px}.classItem .stat{font-size:9.5px;color:var(--dimmer);letter-spacing:.12em;text-align:right;line-height:1.5}.controlsGrid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;font-size:11px;color:var(--dim);letter-spacing:.06em}.controlsGrid kbd{font-family:var(--mono);font-size:10px;padding:3px 7px;border:1px solid var(--line);background:#0006;color:var(--text);letter-spacing:.06em}.menuFooter{position:relative;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.menuFooter .spacer{flex:1}.status{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.status.err{color:var(--danger)}#hud{position:absolute;inset:0;pointer-events:none;opacity:1;transition:opacity .2s ease}#hud[hidden]{display:none}#hud.dimmed{opacity:.25}.hudTop{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:stretch;gap:2px;background:#080a0f9e;border:1px solid var(--line);backdrop-filter:blur(8px);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 100%,0 100%)}.hudTop .teamScore{min-width:74px;padding:7px 16px;text-align:center;font-size:22px;font-weight:800;line-height:1}.hudTop .teamScore small{display:block;font-size:9px;letter-spacing:.24em;font-weight:600;opacity:.75;margin-top:4px}.hudTop .teamScore.ember{color:var(--ember)}.hudTop .teamScore.azure{color:var(--azure)}.hudTop .clock{padding:9px 20px;text-align:center;border-left:1px solid var(--line);border-right:1px solid var(--line)}.hudTop .clock .time{font-size:20px;font-weight:700;line-height:1}.hudTop .clock .mode{font-size:9px;letter-spacing:.22em;color:var(--dim);margin-top:4px}.hudBottomLeft{position:absolute;left:26px;bottom:24px;display:flex;flex-direction:column;gap:9px;width:300px}.vitals{display:flex;flex-direction:column;gap:5px}.bar{position:relative;height:9px;background:#0000008c;border:1px solid var(--line);overflow:hidden}.bar>i{position:absolute;inset:0;transform-origin:left center;transition:transform .14s ease}.bar.health>i{background:linear-gradient(90deg,var(--health),#4fd8ab)}.bar.shield{height:5px}.bar.shield>i{background:linear-gradient(90deg,var(--shield),#2f7fd8)}.vitals .readout{display:flex;align-items:baseline;gap:9px}.vitals .hp{font-size:34px;font-weight:800;line-height:1;letter-spacing:-.02em}.vitals .hp.low{color:var(--danger);animation:pulse .9s ease-in-out infinite}.vitals .sh{font-size:15px;font-weight:700;color:var(--shield)}.vitals .cls{font-size:10px;letter-spacing:.2em;color:var(--dimmer);margin-left:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.hudBottomRight{position:absolute;right:26px;bottom:24px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.ammo{display:flex;align-items:baseline;gap:8px;line-height:1}.ammo .mag{font-size:44px;font-weight:800;letter-spacing:-.03em}.ammo .mag.empty{color:var(--danger)}.ammo .reserve{font-size:17px;font-weight:600;color:var(--dim)}.weaponName{font-size:11px;letter-spacing:.24em;color:var(--dim)}.weaponSlots{display:flex;gap:6px}.slotChip{font-size:10px;letter-spacing:.12em;padding:5px 9px;border:1px solid var(--line);color:var(--dimmer);background:#0006}.slotChip.active{border-color:var(--accent-dim);color:var(--accent);background:#7dffd21a}.gearRow{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.14em;color:var(--dim)}.gearRow .nade{display:inline-flex;gap:3px}.gearRow .nade i{width:7px;height:12px;background:var(--warn);clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%);opacity:.9}.gearRow .nade i.spent{background:var(--dimmer);opacity:.35}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:90px;pointer-events:none}#crosshair i{position:absolute;background:var(--accent);left:50%;top:50%;transform-origin:center}#hitmarker{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%) scale(1.5);opacity:0;pointer-events:none}#hitmarker.show{animation:hitmark .3s ease-out}#hitmarker span{position:absolute;width:11px;height:2px;background:#fff;left:50%;top:50%}#hitmarker.kill span{background:var(--danger)}#hitmarker.head span{background:var(--warn)}@keyframes hitmark{0%{opacity:1;transform:translate(-50%,-50%) scale(1.7)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}#killfeed{position:absolute;top:74px;right:26px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:460px}.feedRow{display:flex;align-items:center;gap:9px;padding:6px 11px;background:#080a0fa8;border:1px solid var(--line);border-right:2px solid var(--line-strong);font-size:12px;letter-spacing:.06em;animation:feedIn .2s ease-out}.feedRow.mine{border-right-color:var(--accent);background:#7dffd21a}.feedRow .who{font-weight:700}.feedRow .wep{color:var(--dim);font-size:11px;letter-spacing:.14em}.feedRow .hs{color:var(--warn);font-weight:800}@keyframes feedIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}#banner{position:absolute;top:22%;left:50%;transform:translate(-50%);text-align:center;pointer-events:none}#banner .big{font-size:34px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}#banner .sub{font-size:12px;letter-spacing:.3em;color:var(--dim);margin-top:6px}.bannerAnim{animation:bannerIn .35s ease-out}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}#damageDirs{position:absolute;inset:0;pointer-events:none}.dmgDir{position:absolute;left:50%;top:50%;width:200px;height:200px;margin:-100px 0 0 -100px;transform-origin:50% 50%}.dmgDir:before{content:"";position:absolute;left:50%;top:2px;width:76px;height:9px;margin-left:-38px;background:linear-gradient(180deg,#ff4d5ef2,#ff4d5e00);clip-path:polygon(50% 0,100% 100%,0 100%)}#minimap{position:relative;width:168px;height:168px;background:#080a0f9e;border:1px solid var(--line);clip-path:var(--notch)}#minimap canvas{width:100%;height:100%;display:block}#chatLog{position:absolute;left:26px;bottom:120px;width:420px;display:flex;flex-direction:column;gap:3px;font-size:12px}.chatRow{color:var(--text);text-shadow:0 1px 3px rgba(0,0,0,.9);letter-spacing:.02em;animation:feedIn .16s ease-out}.chatRow .from{font-weight:700}.chatRow.system{color:var(--warn);letter-spacing:.14em;font-size:11px;text-transform:uppercase}#chatInput{position:absolute;left:26px;bottom:96px;width:420px;display:none;pointer-events:auto}#chatInput.open{display:block}#chatInput input{width:100%}#chatInput .prefix{position:absolute;left:-2px;top:-18px;font-size:10px;letter-spacing:.24em;color:var(--accent)}#scoreboard{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#04060a9e;backdrop-filter:blur(3px)}#scoreboard.open{display:flex}.sbPanel{width:min(940px,92vw);max-height:84vh;overflow:hidden;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-strong);clip-path:var(--notch)}.sbHead{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px}.sbHead h3{font-size:17px;letter-spacing:.2em;font-weight:800}.sbHead .meta{font-size:11px;letter-spacing:.18em;color:var(--dim);margin-left:auto}.sbTeams{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow-y:auto}.sbTeams.solo{grid-template-columns:1fr}.sbTeam{padding:8px 0 16px}.sbTeam+.sbTeam{border-left:1px solid var(--line)}.sbTeamHead{padding:10px 24px;font-size:12px;letter-spacing:.22em;font-weight:700;display:flex;justify-content:space-between}.sbRow{display:grid;grid-template-columns:1fr 44px 44px 44px 54px 46px;gap:6px;padding:7px 24px;font-size:13px;align-items:center}.sbRow.head{font-size:9px;letter-spacing:.2em;color:var(--dimmer);text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:8px}.sbRow.me{background:#7dffd21a;box-shadow:inset 2px 0 0 var(--accent)}.sbRow.dead{opacity:.45}.sbRow .pname{display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600}.sbRow .bot{font-size:9px;letter-spacing:.14em;color:var(--dimmer);border:1px solid var(--line);padding:1px 5px}.sbRow>span:not(.pname){text-align:right;font-variant-numeric:tabular-nums}#deathScreen{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(70% 70% at 50% 50%,#5a081047,#04060ab8)}#deathScreen.open{display:flex}#deathScreen .killedBy{font-size:11px;letter-spacing:.32em;color:var(--dim);text-transform:uppercase}#deathScreen .killer{font-size:40px;font-weight:800;letter-spacing:.04em}#deathScreen .respawn{margin-top:18px;font-size:12px;letter-spacing:.28em;color:var(--dim);text-transform:uppercase}#deathScreen .count{font-size:62px;font-weight:800;line-height:1;color:var(--accent)}#overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#04060ac7;backdrop-filter:blur(6px);pointer-events:auto}#overlay.open{display:flex}.overlayPanel{width:min(880px,94vw);max-height:88vh;display:flex;flex-direction:column;background:var(--panel-solid);border:1px solid var(--line-strong);clip-path:var(--notch)}.overlayHead{display:flex;align-items:center;gap:14px;padding:20px 26px;border-bottom:1px solid var(--line)}.overlayHead h3{font-size:16px;letter-spacing:.24em;font-weight:800}.overlayHead .spacer{flex:1}.tabs{display:flex;gap:4px;padding:14px 26px 0}.tab{font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:9px 16px;border:1px solid transparent;border-bottom:none;color:var(--dimmer);cursor:pointer;background:transparent;font-family:inherit}.tab.active{color:var(--accent);border-color:var(--line);background:#ffffff0a}.overlayBody{padding:22px 26px 26px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 32px;align-content:start}.setting{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:14px;font-size:12px;letter-spacing:.06em;color:var(--dim)}.setting .val{font-size:11px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.setting .control{display:flex;align-items:center;gap:10px}.toggle{width:42px;height:20px;border:1px solid var(--line-strong);background:#0006;position:relative;cursor:pointer;flex:none}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;background:var(--dimmer);transition:transform .14s ease,background .14s ease}.toggle.on{border-color:var(--accent-dim)}.toggle.on:after{transform:translate(22px);background:var(--accent);box-shadow:0 0 10px #7dffd28c}.toggle.on{background:#7dffd21a}.segmented{display:flex;border:1px solid var(--line)}.segmented button{flex:1;font:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:7px 4px;background:transparent;border:none;color:var(--dimmer);cursor:pointer}.segmented button.active{background:#7dffd224;color:var(--accent)}.bindRow{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:12px;font-size:12px;color:var(--dim)}.bindKey{font-family:var(--mono);font-size:11px;padding:7px 10px;border:1px solid var(--line);background:#0006;color:var(--text);text-align:center;cursor:pointer;letter-spacing:.08em}.bindKey.listening{border-color:var(--accent);color:var(--accent);animation:pulse .8s ease-in-out infinite}#topLeft{position:absolute;top:16px;left:26px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}#stats{width:192px;padding:10px 12px 11px;background:#080a0fb8;border:1px solid var(--line);backdrop-filter:blur(8px);clip-path:var(--notch);font-family:var(--mono);pointer-events:none}.statHead{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.statBig b{display:block;font-size:23px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}.statBig.link b{font-size:17px;letter-spacing:.04em;padding-top:5px}.statBig b.good{color:var(--accent)}.statBig b.warn{color:var(--warn)}.statBig b.bad{color:var(--danger)}.statBig span{display:block;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dimmer);margin-top:4px}#stats .spark{display:block;width:100%;height:26px;margin-bottom:8px}.statRows{display:flex;flex-direction:column;gap:2px;font-size:10px}.statRows>div{display:flex;justify-content:space-between;gap:8px}.statRows .k{color:var(--dimmer);letter-spacing:.08em}.statRows .v{color:var(--dim);font-variant-numeric:tabular-nums}#stats.compact .spark,#stats.compact .statRows{display:none}#netWarn{position:absolute;top:50%;left:50%;transform:translate(-50%,60px);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--warn);display:none}#netWarn.show{display:block}#loading{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--bg);z-index:20;pointer-events:auto}#loading.open{display:flex}#loading .title{font-size:13px;letter-spacing:.42em;text-transform:uppercase;color:var(--dim)}#loading .track{width:min(360px,60vw);height:2px;background:#ffffff1a;overflow:hidden}#loading .track i{display:block;height:100%;width:40%;background:var(--accent);animation:slide 1.1s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff08}::-webkit-scrollbar-thumb{background:#ffffff24}::-webkit-scrollbar-thumb:hover{background:#ffffff3d}#scope{position:absolute;inset:0;display:none;pointer-events:none}#scope.open{display:block}#scope .ring{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 0 27vh,rgba(0,0,0,.94) 27.4vh)}#scope .ring:after{content:"";position:absolute;left:50%;top:50%;width:54.2vh;height:54.2vh;margin:-27.1vh 0 0 -27.1vh;border:2px solid rgba(0,0,0,.85);border-radius:50%;box-shadow:inset 0 0 60px #000c}#scope .v,#scope .h{position:absolute;background:#0a0c10e6}#scope .v{left:50%;top:50%;width:1px;height:54vh;margin:-27vh 0 0 -.5px}#scope .h{left:50%;top:50%;width:54vh;height:1px;margin:-.5px 0 0 -27vh}#scope .v:after{content:"";position:absolute;left:-3px;top:50%;width:7px;height:1px;background:var(--danger)}.inviteBar{display:flex;align-items:center;gap:12px;padding:12px 26px;border-bottom:1px solid var(--line);background:#7dffd20d}.inviteBar .spacer{flex:1}.inviteBar .k{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--dimmer)}.inviteBar b{font-family:var(--mono);font-size:19px;font-weight:700;letter-spacing:.34em;color:var(--accent)}.inviteBar .copied{font-size:11px;letter-spacing:.12em;color:var(--dim)}#modeBar{position:absolute;top:76px;left:50%;transform:translate(-50%);display:flex;justify-content:center;pointer-events:none}.ladder{display:flex;align-items:center;gap:5px;padding:7px 14px;background:#080a0f99;border:1px solid var(--line);backdrop-filter:blur(6px);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 100%,0 100%)}.ladder i{width:16px;height:4px;background:#ffffff29;transition:background .2s ease,box-shadow .2s ease}.ladder i.done{background:var(--accent)}.ladder i.now{background:var(--warn);box-shadow:0 0 10px #ffc46bb3}.ladder .rungName{margin-left:10px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-variant-numeric:tabular-nums}.ability{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:12px;padding:7px 16px 8px;background:#080a0f99;border:1px solid var(--line);backdrop-filter:blur(6px);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 100%,0 100%)}.ability b{font-size:13px;font-weight:800;letter-spacing:.18em}.ability span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.ability i{grid-column:1 / -1;display:block;height:3px;margin-top:6px;background:#ffffff1f}.ability i u{display:block;height:100%;background:var(--dimmer);text-decoration:none;transition:width .15s linear}.ability.ready i u{background:var(--accent);box-shadow:0 0 8px #7dffd299}#hud.unarmed .weaponSlots,#hud.unarmed .gearRow,#hud.unarmed .ammo,#hud.unarmed .weaponName{display:none}.buildStamp{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--dimmer)}.nameField{position:relative}.nameField input[type=text]{border-color:var(--line-strong);background:#00000080;cursor:text;transition:border-color .14s ease,background .14s ease}.nameField input[type=text]:hover{border-color:var(--accent-dim)}.nameField input[type=text]:focus{border-color:var(--accent);background:#000000b8}.nameField input[type=text]::placeholder{color:var(--dimmer);letter-spacing:.08em}.nameField .editHint{position:absolute;right:2px;bottom:-13px;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dimmer);pointer-events:none;opacity:.75}.nameField input[type=text]:focus~.editHint{opacity:0}
