:root{color-scheme:dark;--bg: #0b1020;--panel: #111827;--panel-2: #1f2937;--border: #374151;--text: #e5e7eb;--muted: #9ca3af;--accent: #22d3ee;--t: #f59e0b;--ct: #3b82f6;--good: #22c55e;--warn: #f97316;--bad: #ef4444;--gold: #fbbf24;--menu-top: clamp(16px, 6vh, 64px);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}#app{position:fixed;inset:0}.screen{position:absolute;inset:0}button,.btn{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:8px 14px;cursor:pointer;transition:background .12s,border-color .12s}button:hover:not(:disabled),.btn:hover{background:#2b3648;border-color:#4b5563}button:disabled{opacity:.45;cursor:default}button.primary{background:#0e7490;border-color:#22d3ee}button.primary:hover:not(:disabled){background:#155e75}button.danger{border-color:#7f1d1d}button.small{padding:4px 8px;font-size:12px}button.active{background:#0e7490;border-color:var(--accent)}input,select{font:inherit;color:var(--text);background:#0f172a;border:1px solid var(--border);border-radius:6px;padding:7px 10px}input:focus,select:focus{outline:none;border-color:var(--accent)}input[type=checkbox]{width:16px;height:16px;padding:0}label{color:var(--muted);font-size:12px}.row{display:flex;gap:8px;align-items:center}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1}.muted{color:var(--muted)}.t{color:var(--t)}.ct{color:var(--ct)}.gold{color:var(--gold)}.menu{display:flex;flex-direction:column;background:radial-gradient(ellipse at 15% -10%,#1e293b 0%,transparent 50%),radial-gradient(ellipse at 85% 110%,#172554 0%,transparent 50%),var(--bg)}.topbar{display:flex;align-items:center;gap:16px;padding:0 20px;height:60px;background:#090d18d9;border-bottom:1px solid var(--border);backdrop-filter:blur(8px);flex:none}.brand{display:flex;align-items:baseline;gap:10px;margin-right:8px;user-select:none}.nav-actions{display:flex;gap:6px}.nav-btn{padding:7px 14px;font-weight:600;font-size:13px;letter-spacing:.02em;border-radius:8px;background:transparent;border-color:transparent}.nav-btn:hover:not(:disabled){background:#ffffff0f;border-color:var(--border)}.nav-btn.primary{background:#0e7490;border-color:#22d3ee}.nav-btn.accent{border-color:var(--border)}.nav-account{margin-left:auto;display:flex;align-items:center;gap:6px}.nav-account .who{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#ffffff0d;border:1px solid var(--border);font-weight:600;font-size:13px}.nav-account .who.guest{cursor:pointer}.nav-account .who.guest:hover{border-color:var(--accent)}.nav-account .who.offline{color:var(--bad)}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:#ffffff0f;border-radius:4px;padding:1px 5px;margin-left:2px}.verified{color:var(--good);font-size:12px;margin-left:3px}.lobby-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(320px,1.5fr) minmax(200px,.7fr);gap:14px;padding:14px 20px 20px}@media(max-width:960px){.lobby-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"matches players" "chat chat";overflow:auto}.lobby-grid .lobbies{grid-area:matches}.lobby-grid .players{grid-area:players;animation:players-slide-in .4s cubic-bezier(.2,.8,.2,1) both}.lobby-grid .chatbox{grid-area:chat}}@keyframes players-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@media(max-width:1080px){.nav-btn.nav-more{display:none}}.lobby-grid .panel{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden;background:#111827e6}.panel-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);flex:none}.panel-head h2{margin:0}.count-badge{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text);background:#ffffff14;border-radius:999px;padding:1px 8px}.mono{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px #9ca3af26}.status-dot.online{background:var(--good);box-shadow:0 0 0 3px #22c55e33}.status-dot.offline{background:var(--bad);box-shadow:0 0 0 3px #ef444433}.status-dot.connecting{background:var(--warn);animation:pulse 1s infinite alternate}@keyframes pulse{0%{opacity:.4}to{opacity:1}}.rooms{display:flex;flex-direction:column;gap:6px;padding:10px;overflow:auto;flex:1}.match-browser{display:flex;flex-direction:column;flex:1;min-height:0}.match-filters{display:flex;gap:4px;padding:10px 10px 0}.match-filters button{flex:1;padding:7px 10px;color:var(--muted);background:#101e2980}.match-filters button[aria-pressed=true]{color:#b6f4ff;background:#1c4659a6;border-color:#478194}.match-card{position:relative;isolation:isolate;flex-shrink:0;min-width:0;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .2s}.match-card>.match-preview{position:absolute;inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);pointer-events:none;filter:blur(3px);z-index:-2}.match-card>.match-preview canvas,.match-card>.match-preview img{object-fit:cover}.match-card>.match-preview span{display:none}.match-card:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,#080f17e0,#080f17a8)}.match-card:hover,.match-card.expanded{border-color:#4b8091}.match-heading{display:flex;align-items:center;gap:10px;padding:10px 12px}.match-summary{flex:1;min-width:0;padding:4px 0;border:0;border-radius:0;text-align:left;background:transparent;color:inherit}.match-metadata{display:flex;flex-direction:column;gap:7px;padding:0 12px 12px}.match-summary:hover{background:#ffffff04}.match-title{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0}.match-title-labels{display:flex;align-items:baseline;gap:10px;min-width:0}.match-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-chevron{flex-shrink:0;color:#8eabb9;transition:transform .25s}.expanded .match-chevron{transform:rotate(180deg)}.match-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;color:var(--muted);font-size:11px}.match-population,.match-map{color:#a7bdca;font-size:12px;overflow-wrap:anywhere}.match-map{flex-shrink:0;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;font-weight:400}.match-actions{display:flex;flex-shrink:0;gap:6px}.match-actions button{padding:6px 9px;font-size:11px}.match-details{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .28s ease,opacity .2s ease,visibility .28s}.expanded .match-details{grid-template-rows:1fr;visibility:visible;opacity:1}.match-details-clip{min-height:0;overflow:hidden}.match-detail-content{padding:0 12px 12px}.match-live-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;margin-bottom:12px;background:#08141f80;border:1px solid #ffffff0d;border-radius:8px}.match-live-stats div{display:flex;flex-direction:column;gap:4px}.match-live-stats span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.match-live-stats strong{font-size:13px;font-variant-numeric:tabular-nums}.match-team-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;margin-top:10px;font-size:11px;font-weight:700;border-radius:5px;background:#ffffff08}.match-team-heading strong{font-size:16px}.match-team-heading.team-t{color:#ffa4a4;background:#b23c3c18}.match-team-heading.team-ct{color:#a5d7ff;background:#3987bd18}.match-scoreboard{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.match-scoreboard th{color:var(--muted);font-size:10px;font-weight:500}.match-scoreboard th,.match-scoreboard td{padding:7px 2px;text-align:right;border-bottom:1px solid #ffffff08;width:11%}.match-scoreboard th:first-child,.match-scoreboard td:first-child{width:56%;text-align:left;padding-left:4px}.match-player{display:flex;align-items:center;gap:6px;min-width:0}.match-player .rank-icon{flex-shrink:0}.match-player-name{display:inline-block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.match-watchers{margin:10px 0 0;font-size:10px;overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.match-details,.match-chevron{transition:none}}.room{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color .12s,transform .12s}.room:hover{border-color:var(--accent)}.room.full{opacity:.6;cursor:default}.room .name{font-weight:600}.room .meta{color:var(--muted);font-size:12px;display:flex;gap:10px;align-items:center}.room .count{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted)}.room .room-bots{display:block;color:#a8bfcd;font-size:11px}.host-bot-slider{display:flex;align-items:center;gap:16px}.host-bot-slider input[type=range]{flex:1;min-width:0;width:100%;height:28px;padding:0;accent-color:#67e8f9;cursor:pointer}.host-bot-value{min-width:65px;padding:5px 10px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;color:#b6f4ff;background:#163340;border:1px solid #315968;border-radius:8px}.host-bot-control .hint{margin:6px 0 0}.room button{grid-column:2;grid-row:2;justify-self:end}.room .state{font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding:1px 6px;border-radius:4px;background:#ffffff0f}.room .state.live{color:var(--good);background:#22c55e24}.room .state.countdown{color:var(--gold);background:#fbbf2424}.empty{color:var(--muted);padding:18px;text-align:center;border:1px dashed var(--border);border-radius:8px;margin:10px}.chat-log{flex:1;min-height:0;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:3px;font-size:13px}.chat-line{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:baseline;padding:3px 6px;border-radius:6px}.chat-line.me{background:#22d3ee12}.chat-line .time{color:var(--muted);font-size:11px}.chat-line .who{font-weight:700;color:#cbd5e1}.chat-line .who.verified-name{color:var(--accent)}.chat-line .text{overflow-wrap:anywhere}.chat-line .who.clickable,.player .pname.clickable{cursor:pointer}.chat-line .who.clickable:hover,.player .pname.clickable:hover{text-decoration:underline;text-decoration-color:var(--accent)}.chat-line.pm{grid-template-columns:auto auto auto 1fr;background:#a78bfa14}.chat-line.pm.me{background:#a78bfa24}.chat-line.pm .who{color:#c4b5fd}.chat-line .pm-tag{font-size:10px;font-weight:700;letter-spacing:.1em;color:#c4b5fd;border:1px solid rgba(196,181,253,.5);border-radius:4px;padding:0 4px}.chat-line.system{grid-template-columns:auto 1fr;color:var(--muted);font-style:italic}.chat-system{color:var(--muted);font-style:italic;padding:3px 6px}.chat-compose{position:relative;display:flex;gap:6px;padding:10px;border-top:1px solid var(--border);flex:none}.cmd-hints{background:#0a0e1af7;border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:0 12px 32px #00000080;font-size:13px;pointer-events:auto;z-index:5}.chat-compose .cmd-hints{position:absolute;left:10px;right:10px;bottom:calc(100% + 4px)}.cmd-hints .cmd{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px;align-items:baseline;padding:5px 8px;border-radius:6px;cursor:pointer}.cmd-hints .cmd.selected{background:#22d3ee24}.cmd-hints .cmd-name{color:var(--accent);font-weight:700}.cmd-hints .cmd-args{color:var(--muted);font-weight:400}.cmd-hints .cmd-desc{color:var(--text)}.cmd-hints .cmd-alias{color:var(--muted);font-size:11px}.cmd-hints .cmd-foot{color:var(--muted);font-size:11px;padding:4px 8px 2px;border-top:1px solid var(--border);margin-top:2px}.chat-compose input{flex:1;min-width:0}.player-list{flex:1;min-height:0;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.player{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto;column-gap:8px;align-items:center;padding:6px 8px;border-radius:6px;border:1px solid transparent}.player.me{background:#22d3ee12}.player.in-match{cursor:pointer}.player.in-match:hover{border-color:var(--border)}.player .presence{grid-row:1 / span 2;width:8px;height:8px;border-radius:50%;background:var(--good)}.player .presence.match{background:var(--gold)}.player .pname{font-weight:600;font-size:13px;display:flex;align-items:center;gap:4px}.player .pstatus{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px}.panel h2{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.controls-help{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:12px;color:var(--muted)}.controls-help b{color:var(--text);font-family:ui-monospace,Consolas,monospace}.dialog.options{width:min(1020px,100vw)}.options-grid{display:grid;grid-template-columns:150px 1fr;gap:16px;min-height:360px}.options-tabs{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--border);padding-right:12px}.options-tabs .tab{text-align:left;background:transparent;border-color:transparent}.options-tabs .tab.active{background:#22d3ee1f;border-color:var(--accent);font-weight:600}.options-tabs .tab:focus:not(:focus-visible){outline:none}.options-body{min-width:0;max-height:70vh;overflow:auto;padding-right:4px}.options-body h3{margin:0 0 4px;font-size:15px}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px}label.check{color:var(--text);font-size:13px;cursor:pointer}input[type=range]{flex:1;padding:0;background:transparent;border:none}.bind-table{display:grid;grid-template-columns:1fr 130px 130px auto;gap:4px 8px;align-items:center;margin-bottom:14px}.bind-head{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--border)}.bind-label{display:flex;flex-direction:column;font-size:13px}.bind-label .hint{font-size:11px}button.bind{font-family:ui-monospace,Consolas,monospace;font-size:13px;padding:6px 8px;text-align:center}button.bind.empty{color:var(--muted)}button.bind.listening{border-color:var(--gold);color:var(--gold);animation:pulse .7s infinite alternate}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover:not(:disabled){color:var(--bad)}button.link{background:transparent;border-color:transparent;color:var(--accent);padding-left:0}button.link:hover:not(:disabled){background:transparent;text-decoration:underline}.dialog.auth{width:min(480px,94vw)}.dialog.auth .actions button{white-space:nowrap}.dialog.auth .form{grid-template-columns:1fr}.dialog .actions .grow{flex:1}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:var(--menu-top);z-index:50}.dialog{width:min(560px,94vw);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px 22px;box-shadow:0 20px 60px #0009}.dialog,.death,.esc{max-height:calc(100vh - var(--menu-top) - 16px);max-height:calc(100dvh - var(--menu-top) - 16px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.dialog h2{margin:0 0 14px}.form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.form .field{display:flex;flex-direction:column;gap:4px}.form .field.wide{grid-column:1 / span 2}.form .field input,.form .field select{width:100%}.dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.hint{color:var(--muted);font-size:12px}.error{color:var(--bad);font-size:13px}.game{background:#000;cursor:none}.game.spectating{cursor:default}.spectator-view-mode[aria-pressed=true]{border-color:#68cf91;background:#214636}.game canvas{display:block;width:100%;height:100%}.spectator-bar{position:absolute;height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;transform-origin:top left;cursor:default;border-left:1px solid #ffffff20;padding-left:20px}.spectator-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.spectator-label{color:#77ef9e;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.spectator-name{color:#f2f6f8;font-size:17px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spectator-status,.spectator-hint{color:#9cacba;font-size:10px;white-space:nowrap}.spectator-navigation{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.spectator-navigation>div{display:flex;gap:8px}.spectator-navigation button{padding:7px 13px;border-radius:7px;font-size:11px;background:#162a32;border-color:#42606a;color:#d3f4e0;cursor:pointer}.spectator-navigation button:hover:enabled{background:#214636;border-color:#68cf91}.spectator-navigation button:disabled{opacity:.4;cursor:default}.overlay{position:absolute;inset:0;pointer-events:none}.overlay>*{pointer-events:auto}.scoreboard{position:absolute;top:80px;left:50%;transform:translate(-50%);width:min(760px,94vw);background:#0a0e1aeb;border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.scoreboard .head{grid-column:1 / span 2;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.scoreboard table{width:100%;border-collapse:collapse;font-size:13px}.scoreboard th{text-align:left;font-weight:600;padding:4px 6px;border-bottom:1px solid var(--border)}.scoreboard th.num,.scoreboard td.num{text-align:right;font-variant-numeric:tabular-nums}.scoreboard td{padding:4px 6px}.scoreboard tr.me td{background:#22d3ee1f}.scoreboard tr.dead td{color:var(--muted)}.death{position:absolute;left:50%;top:var(--menu-top);transform:translate(-50%);width:min(720px,94vw);background:#0a0e1ae6;border:1px solid var(--border);border-radius:12px;padding:18px 20px;cursor:default}.death h2{margin:0;font-size:22px}.death .sub{color:var(--muted);margin:4px 0 12px}.buy{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.weapon{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.weapon:hover{border-color:var(--accent)}.weapon .art{height:32px;width:auto;max-width:100%;object-fit:contain;align-self:flex-start;margin-bottom:4px;pointer-events:none}.weapon.selected{border-color:var(--good);background:#22c55e1f}.weapon.locked{opacity:.55}.weapon .name{font-weight:700;display:flex;justify-content:space-between}.weapon .cost{color:var(--gold)}.weapon .cost.owned{color:var(--good)}.weapon .stats{font-size:11px;color:var(--muted)}.death .foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.esc{position:absolute;left:50%;top:var(--menu-top);transform:translate(-50%);width:min(460px,94vw);background:#0a0e1af2;border:1px solid var(--border);border-radius:12px;padding:18px 20px;cursor:default;display:flex;flex-direction:column;gap:8px}.esc h2{margin:0 0 6px}.esc button{width:100%;text-align:left}.esc .controls-help{margin-top:10px}.chat{position:absolute;left:14px;bottom:120px;width:min(420px,60vw);display:flex;flex-direction:column;gap:2px;font-size:13px;pointer-events:none}.chat .msg{background:#00000073;padding:3px 8px;border-radius:4px;text-shadow:0 1px 2px #000;transition:opacity .5s}.chat .msg.faded{opacity:0}.chat .msg .who{font-weight:700}.chat .msg .tag{color:var(--muted);font-size:11px;margin-right:4px}.chat input{pointer-events:auto;margin-top:4px;background:#000000b3}.editor{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:256px minmax(0,1fr);background:var(--bg)}.editor-nav-host{grid-column:1 / -1;min-width:0;z-index:40}.editor-navbar .topbar{min-height:60px}.editor .editor-commandbar{position:relative;z-index:30;flex-wrap:nowrap;gap:8px;padding:8px 16px;min-width:0;background:#111923}.editor-title{color:#7e919f;font-size:10px;font-weight:800;letter-spacing:.15em;margin-right:12px;white-space:nowrap}.editor-menu{position:relative;flex:none}.editor-menu>summary{padding:8px 12px;cursor:pointer;list-style:none;border-radius:7px;color:#d8e3ec;font-size:13px;font-weight:650}.editor-menu>summary::-webkit-details-marker{display:none}.editor-menu>summary:after{content:"⌄";margin-left:9px;color:#7e919f}.editor-menu[open]>summary,.editor-menu>summary:hover{background:#243340;color:#fff}.editor-menu-panel{position:absolute;top:calc(100% + 8px);left:0;width:270px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 148px);overflow-y:auto;padding:8px;background:#16212c;border:1px solid #354452;border-radius:10px;box-shadow:0 16px 40px #0008}.editor-menu-panel button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;border:0;background:transparent;padding:10px 12px;font-size:13px}.editor-menu-panel button:hover:not(:disabled){background:#263846}.editor-menu-panel kbd{font:10px inherit;color:#8ca3b5;margin-left:auto;padding-left:14px;white-space:nowrap}.editor-menu-panel hr{border:0;border-top:1px solid #30404d;margin:6px 4px}.editor-menu-panel .field{padding:7px 12px}.editor-menu-panel select{max-width:100%;width:100%}.editor-menu-panel input[type=number]{width:76px}.editor-submenu>summary{cursor:pointer;padding:10px 12px;font-size:13px;border-radius:6px}.editor-submenu[open]{background:#0d172080;border-radius:7px}.editor-submenu button{padding-left:25px}.editor-grid-toggle{display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:13px;cursor:pointer}.editor-grid-toggle input{accent-color:#22d3ee}.editor-map-name{margin-left:auto;min-width:70px}.editor .editor-map-name input{max-width:100%;background:#0c131b}.editor .palette{min-height:0}.editor-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:9px}.editor-tools button.active{color:#8ce8f4;border-color:#228b9b;background:#12343e}.editor .status{max-height:62px;overflow:auto}.editor-publish,.editor-submission-dialog{width:min(900px,96vw)}.editor-map-preview{display:flex;justify-content:center;background:#070c12;border:1px solid #30404d;border-radius:10px;overflow:hidden;margin:16px 0}.editor-map-preview canvas{display:block;max-width:100%;max-height:52vh;width:auto;height:auto;object-fit:contain}.editor-submissions{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:14px 0}.editor-submission{overflow:hidden;padding:0;text-align:left;background:#121d27}.editor-submission img,.editor-submission-placeholder{width:100%;height:130px;object-fit:contain;background:#090f16;display:block}.editor-submission-placeholder{display:grid;place-items:center;letter-spacing:.2em;color:#718697}.editor-submission>span:last-child{display:grid;gap:5px;padding:12px;overflow-wrap:anywhere}.editor-submission small{color:#8da3b4;font-weight:400}@media(max-width:850px){.editor-title,.editor-help,.editor-commandbar>.muted{display:none}.editor .editor-commandbar{gap:3px;padding:6px 8px}.editor-menu>summary{padding:8px}.editor{grid-template-columns:200px minmax(0,1fr)}}@media(max-width:580px){.editor-navbar .topbar{height:auto;flex-wrap:wrap;padding:8px;gap:8px}.editor-navbar .nav-actions{order:3;width:100%;justify-content:space-between}.editor-navbar .brand{margin-right:auto}.editor-map-name{display:none}.editor{grid-template-columns:145px minmax(0,1fr)}.editor .editor-commandbar>.primary{margin-left:auto;padding:7px}.editor-menu-panel{position:fixed;top:auto;left:8px;margin-top:8px}.editor-tools{grid-template-columns:1fr}}.editor .toolbar{grid-column:1 / span 2;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;background:var(--panel);border-bottom:1px solid var(--border)}.editor .toolbar .sep{width:1px;height:24px;background:var(--border);margin:0 4px}.editor .toolbar input[type=text]{width:160px;padding:5px 8px}.editor .palette{overflow:auto;background:var(--panel);border-right:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:4px}.editor .palette h3{margin:8px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.editor .palette .tile{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;border:1px solid transparent;cursor:pointer;text-align:left;background:transparent}.editor .palette .tile:hover{background:var(--panel-2)}.editor .palette .tile.active{border-color:var(--accent);background:#22d3ee1f}.editor .palette .tile canvas{width:40px;height:40px;border-radius:3px;background:#0f172a;flex:none}.editor .palette .tile .label{font-size:14px}.editor .palette .tile .key{margin-left:auto;color:var(--muted);font-size:11px;font-family:ui-monospace,Consolas,monospace}.editor .canvas-wrap{position:relative;overflow:hidden;background:#060913}.editor .canvas-wrap canvas{display:block;width:100%;height:100%}.editor .status{grid-column:1 / span 2;display:flex;gap:18px;align-items:center;padding:6px 12px;background:var(--panel);border-top:1px solid var(--border);font-size:12px;color:var(--muted);min-height:30px}.editor .status .warn{color:var(--warn)}.editor .status .err{color:var(--bad)}.editor .help-panel{font-size:12px;color:var(--muted);padding:6px;border-top:1px solid var(--border);margin-top:8px}.list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto}.list .item{display:flex;justify-content:space-between;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;cursor:pointer}.list .item:hover{border-color:var(--accent)}.toasts{position:absolute;left:50%;top:70px;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:100;pointer-events:none}.toast{background:#111827f2;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:6px;padding:8px 14px;box-shadow:0 8px 24px #00000080}.toast.warn{border-left-color:var(--warn)}.toast.bad{border-left-color:var(--bad)}.toast.good{border-left-color:var(--good)}.player-card{position:fixed;z-index:60;width:300px;background:#0c101cf7;border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:0 12px 32px #00000080;pointer-events:auto;display:grid;gap:10px;font-size:13px}.player-card .card-head{display:flex;align-items:center;gap:12px}.player-card .card-head b{font-size:15px;display:flex;align-items:center;gap:4px}.player-card .card-head .muted{font-size:12px}.player-card .kv{display:grid;grid-template-columns:auto 1fr;gap:3px 14px}.player-card .card-where{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.player-card .presence{width:8px;height:8px;border-radius:50%;background:var(--good);flex:none}.player-card .presence.match{background:var(--gold)}:root{--bg: #1b1d22;--panel: rgba(255, 255, 255, .055);--panel-2: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .12);--text: #eef0f4;--muted: #a7adb8;--glass: rgba(255, 255, 255, .06);--glass-strong: rgba(28, 31, 38, .68);--glass-blur: blur(22px) saturate(160%)}html,body{background:var(--bg)}.menu{isolation:isolate;overflow:hidden;background:linear-gradient(155deg,#272a31,#363b43 35%,#1f2127 65%,#2d3139);background-size:250% 250%;animation:bg-drift 45s ease-in-out infinite alternate}.menu:before,.menu:after{content:"";position:absolute;z-index:-1;width:70vmax;height:70vmax;border-radius:50%;pointer-events:none;filter:blur(80px);will-change:transform}.menu:before{left:-25vmax;top:-30vmax;background:radial-gradient(circle,rgba(196,206,224,.28),transparent 62%);animation:blob-a 38s ease-in-out infinite alternate}.menu:after{right:-30vmax;bottom:-35vmax;background:radial-gradient(circle,rgba(124,140,166,.34),transparent 62%);animation:blob-b 52s ease-in-out infinite alternate}@keyframes bg-drift{0%{background-position:0% 0%}to{background-position:100% 100%}}@keyframes blob-a{0%{transform:translate(0) scale(1)}to{transform:translate(30vw,22vh) scale(1.25)}}@keyframes blob-b{0%{transform:translate(0) scale(1.1)}to{transform:translate(-28vw,-24vh) scale(.9)}}@media(prefers-reduced-motion:reduce){.menu,.menu:before,.menu:after,.lobby-grid .players{animation:none}}.topbar,.lobby-grid .panel,.panel,.dialog,.player-card,.scoreboard,.esc,.death,.toast,.room{background:var(--glass);border:1px solid var(--border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 10px 40px #00000047,inset 0 1px #ffffff14}.topbar{border-width:0 0 1px;border-radius:0;box-shadow:none}.dialog,.player-card,.scoreboard,.esc,.death,.toast{background:var(--glass-strong)}.room{box-shadow:none}.room:hover{background:#ffffff1a}.modal-backdrop{background:#0a0b0e6b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}button,.btn{background:#ffffff12;border-color:#ffffff24}button:hover:not(:disabled),.btn:hover{background:#ffffff24;border-color:#ffffff42}button.primary,.nav-btn.primary,button.active{background:#22d3ee2e;border-color:#22d3ee99}button.primary:hover:not(:disabled),.nav-btn.primary:hover:not(:disabled){background:#22d3ee4d}.nav-btn{background:transparent;border-color:transparent}.nav-btn:hover:not(:disabled){background:#ffffff14;border-color:var(--border)}input,select{background:#00000047;border-color:#ffffff24}.chat .msg{background:#14161b8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.chat input{background:#14161bb8}.rank-icon{display:inline-block;width:auto;height:auto;vertical-align:middle;flex:none;user-select:none}.pname .rank-icon,.scoreboard .rank-icon,.nav-account .rank-icon{margin-right:6px}.ranks{display:grid;gap:14px}.ranks .eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.rank-hero{display:flex;align-items:center;gap:18px;padding:16px 18px;border-radius:14px;background:var(--glass);border:1px solid var(--border)}.rank-hero .emblem{width:170px;height:124px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#00000038;border:1px solid var(--border);flex:none}.rank-hero h3{margin:4px 0 10px;font-size:22px;font-weight:700}.rank-no{display:inline-block;min-width:26px;padding:2px 8px;border-radius:999px;background:#ffffff1a;border:1px solid var(--border);font-size:12px;font-weight:700;color:var(--text);text-align:center;vertical-align:middle}.rank-stats{display:flex;flex-wrap:wrap;gap:6px}.rank-stats span{padding:4px 10px;border-radius:999px;background:#ffffff12;border:1px solid var(--border);font-size:12px;color:var(--muted)}.rank-stats span b{color:var(--text);margin-right:4px}.rank-rules-card{padding:14px 18px 14px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--border)}.rank-rules{margin:8px 0 0 18px;padding:0;display:grid;gap:5px;font-size:13px;color:var(--muted)}.rank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.rank-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--border);text-align:center;transition:transform .15s,background .15s}.rank-tile:hover{transform:translateY(-2px);background:#ffffff1a}.rank-tile.mine{border-color:#22d3eeb3;box-shadow:0 0 0 1px #22d3ee59,0 8px 30px #22d3ee1f}.rank-tile .rank-no{position:absolute;top:8px;left:8px}.rank-tile .emblem{height:76px;width:100%;display:flex;align-items:center;justify-content:center}.rank-tile b{font-size:13px;line-height:1.2}.rank-tile .hint{font-size:11px}.tag{white-space:nowrap}.esc .ranks-help{font-size:11px;gap:2px;line-height:1.35}.chat-line .who .rank-icon,.chat .msg .rank-icon{margin-right:5px;vertical-align:-3px}.rank-rows{display:grid;gap:8px}.rank-row{display:grid;grid-template-columns:112px minmax(170px,1fr) minmax(220px,1.3fr);align-items:center;gap:14px;padding:8px 14px;border-radius:12px;background:var(--glass);border:1px solid var(--border)}.rank-row.mine{border-color:#22d3eeb3;box-shadow:0 0 0 1px #22d3ee59}.rank-row .emblem{height:60px;display:flex;align-items:center;justify-content:center}.rank-row .rank-info b{font-size:14px}.rank-row .players{display:flex;flex-direction:column;gap:3px;font-size:12px;min-width:0}.rank-row .players .pl{display:flex;gap:8px;align-items:baseline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-row .players .pl b{font-size:12px}.nav-account{position:relative}.nav-account .who.account,.nav-account .who.guest{cursor:pointer}.nav-account .who .caret{opacity:.6;font-size:10px;margin-left:2px}.account-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;padding:6px;border-radius:12px;background:var(--glass-strong);border:1px solid var(--border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 14px 40px #0006;display:grid;gap:2px;z-index:45}.account-menu .menu-head{display:flex;align-items:center;gap:10px;padding:8px 10px 10px;margin-bottom:2px;border-bottom:1px solid var(--border)}.account-menu .menu-head b{font-size:14px}.account-menu button{text-align:left;background:transparent;border-color:transparent;padding:8px 12px;border-radius:8px;font-weight:500}.account-menu button:hover:not(:disabled){background:#ffffff1a;border-color:transparent}.account-menu button.danger{color:var(--bad)}.account-menu .sep{height:1px;background:var(--border);margin:4px 6px}.topbar{position:relative;z-index:30}.dialog.leaderboard{width:min(1080px,96vw)}.dialog.leaderboard .row input[type=search]{width:240px;margin-right:10px}.lb-meta{display:flex;align-items:center;gap:14px;margin:4px 0 10px;font-size:12px;color:var(--muted)}.lb-meta .lb-count{font-weight:600;color:var(--text)}.lb-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none}.lb-scroll{max-height:64vh;overflow:auto;border-radius:12px;border:1px solid var(--border);background:var(--glass)}.lb-table{width:100%;border-collapse:collapse;font-size:13px}.lb-table th,.lb-table td{padding:8px 12px;text-align:center;white-space:nowrap;border-bottom:1px solid var(--border)}.lb-table th.player,.lb-table td.player{text-align:left}.lb-table th{position:sticky;top:0;z-index:1;background:var(--glass-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.lb-table th.sortable{cursor:pointer;user-select:none}.lb-table th.sortable:hover,.lb-table th.active{color:var(--text)}.lb-table th.active:after{content:" ▾"}.lb-table th.active.asc:after{content:" ▴"}.lb-table th.num,.lb-table td.num{font-variant-numeric:tabular-nums}.lb-table tbody tr:hover td{background:#ffffff0d}.lb-table tr.mine td{background:#22d3ee1a}.lb-table tr:last-child td{border-bottom:none}.lb-player{display:flex;align-items:center;gap:10px}.lb-who{display:grid;line-height:1.25}.lb-who .hint{font-size:11px}.lb-table td.lb-empty{padding:28px;text-align:center;color:var(--muted);white-space:normal}.editor .palette .modes{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.editor .palette .modes button.active{background:#0e7490;border-color:#22d3ee;color:#fff}.editor .palette .mode-hp{display:flex;align-items:center;gap:6px;margin:2px 0 8px}.editor .palette .mode-hp label{font-size:12px;color:var(--muted, #a7adb8)}.editor .pick-popup{position:absolute;z-index:5;min-width:240px;padding:6px;border-radius:10px;background:#161920f0;border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 24px #00000073;font-size:12px;user-select:none}.editor .pick-popup .title{color:#a7adb8;font-size:11px;padding:2px 6px 6px}.editor .pick-popup .entry{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;cursor:pointer}.editor .pick-popup .entry:hover{background:#ffffff0f}.editor .pick-popup .entry.active{background:#22d3ee2e;outline:1px solid rgba(34,211,238,.6)}.editor .pick-popup .layer{color:#22d3ee;min-width:70px;font-weight:600}.editor .pick-popup .name{color:#eef0f4}.editor .canvas-wrap .pick-popup canvas{width:22px;height:22px;flex:none;border-radius:4px}.brand{position:relative;isolation:isolate;overflow:hidden;align-self:stretch;display:flex;align-items:center;padding:0 18px 0 20px;margin:0 0 0 -20px}.panel .panel-head h2{margin:0;line-height:18px}.panel .panel-head .count-badge{line-height:16px;align-self:center}.topbar{height:80px}.brand{gap:0;padding-right:22px}.brand-wordmark{display:block;width:216px;height:auto;flex:none;user-select:none}.brand[role=button]{cursor:pointer}.brand[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:6px}.topbar .nav-btn{white-space:nowrap}@media(max-width:760px){.brand-wordmark{width:192px}}.topbar .tag.beta{color:#fbbf24;background:#fbbf2424;border:1px solid rgba(251,191,36,.5);padding:3px 8px;font-weight:700;letter-spacing:.16em;border-radius:999px;margin-right:2px;flex:none}.brand{flex:none}.discord-icon{width:18px;height:14px;fill:currentColor;flex:none;vertical-align:-2px}button.btn-discord{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#5865f2;border-color:#5865f2;color:#fff}button.btn-discord:hover:not(:disabled){background:#4752c4;border-color:#4752c4;color:#fff}.dialog.auth .alt-auth{display:grid;gap:8px;margin-top:4px}.dialog.auth .alt-auth .or{text-align:center;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.discord-block{display:grid;gap:6px}.discord-name{display:flex;align-items:center;gap:6px;min-width:0}.discord-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roles{display:flex;flex-wrap:wrap;gap:4px}.role-chip{--chip: var(--muted);font-size:11px;line-height:1.4;padding:1px 8px;border-radius:999px;border:1px solid var(--chip);color:var(--chip);background:color-mix(in srgb,var(--chip) 16%,transparent);white-space:nowrap}.account-menu .menu-discord{padding:2px 10px 10px;margin-bottom:2px;border-bottom:1px solid var(--border);font-size:12px}button.with-icon{display:flex;align-items:center;gap:8px}.player-card .card-discord{padding:8px 0;border-top:1px solid var(--border);font-size:12px}.discord-profile .row{flex-wrap:wrap}.steam-icon{width:18px;height:18px;fill:currentColor;flex:none;vertical-align:-3px}button.btn-steam{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#171a21;border-color:#2a475e;color:#fff}button.btn-steam:hover:not(:disabled){background:#1b2838;border-color:#66c0f4;color:#fff}.provider-name{display:flex;align-items:center;gap:6px;min-width:0}.provider-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag.link{color:var(--accent);text-decoration:none}.tag.link:hover{text-decoration:underline}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented .seg{border:0;border-radius:0;background:transparent;padding:6px 18px;font-weight:600;color:var(--muted)}.segmented .seg+.seg{border-left:1px solid var(--border)}.segmented .seg.active{background:var(--accent);color:#0b1020}.segmented .seg:hover:not(.active):not(:disabled){background:#ffffff0f;color:var(--text)}.advanced-wrap{display:grid;gap:8px}.advanced-wrap button.link{justify-self:start;padding:0}.advanced{display:grid;gap:10px;padding:10px 12px;border:1px dashed var(--border);border-radius:8px}.tag.ladder{color:var(--gold);background:#fbbf2424}.tag.custom{color:var(--muted)}.ack-backdrop{z-index:500}.dialog.ack{width:min(520px,94vw)}.dialog.ack.warn h2{color:var(--warn)}.dialog.ack.bad h2{color:var(--bad)}.dialog.ack .quote{margin:0;padding:6px 12px;border-left:3px solid var(--border);color:var(--muted);font-style:italic;overflow-wrap:anywhere}.pool-admin{margin-top:4px}.pool-admin button.link{padding:0;font-size:12px}.editor .palette .accordion{display:grid;gap:4px}.editor .palette .acc-head{display:flex;align-items:center;gap:7px;width:100%;text-align:left;padding:6px 8px;background:#ffffff0a;border:1px solid var(--border);border-radius:8px;font-weight:600;font-size:12px}.editor .palette .acc-head:hover{background:#ffffff14}.editor .palette .acc-head.open{background:#22d3ee1f;border-color:var(--accent)}.editor .palette .acc-head .caret{display:inline-block;width:10px;color:var(--muted);transition:transform .12s}.editor .palette .acc-head.open .caret{transform:rotate(90deg)}.editor .palette .acc-head canvas{width:22px;height:22px;border-radius:3px;flex:none}.editor .palette .acc-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor .palette .acc-body{display:grid;gap:2px;padding:4px 0 6px 8px}.editor .brush-panel{position:absolute;left:10px;max-width:calc(100% - 20px);bottom:10px;z-index:5;padding:8px 10px;border-radius:10px;background:#161920eb;border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 24px #00000059;font-size:12px;user-select:none}.editor .brush-panel .title{font-weight:600}.editor .brush-panel .variants{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 4px}.editor .brush-panel .variant{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 3px;border:2px solid transparent;border-radius:6px;background:transparent;cursor:pointer}.editor .brush-panel .variant .cap{font-size:10px;color:var(--muted)}.editor .brush-panel .variant.active .cap{color:var(--accent)}.editor .brush-panel .variant.active{border-color:var(--accent)}.editor .brush-panel .variant canvas{display:block;width:44px;height:44px;border-radius:3px}.editor .brush-panel .hint{color:var(--muted);font-size:11px}.dialog.help{width:min(960px,96vw)}.dialog.help .row .hint{margin-right:12px}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:14px}.help-card{background:#ffffff08;border:1px solid var(--border);border-radius:12px;padding:14px 16px}.help-card h3{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--accent)}.help-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.help-card li{display:flex;gap:12px;align-items:baseline;font-size:13px;line-height:1.4}.help-card li .keys{flex:none;min-width:132px;display:inline-flex;flex-wrap:wrap;align-items:center;gap:3px}.help-card li .keys .plus,.help-card li .keys .or{color:var(--muted);font-size:11px;padding:0 2px}.help-card li .what{color:var(--text)}.help-card p{margin:0 0 8px;font-size:13px;line-height:1.5}.help-card p:last-child{margin-bottom:0}kbd{font:11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:4px 7px;border-radius:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-bottom-width:2px;color:var(--text);white-space:nowrap}.supply-balance{display:flex;align-items:baseline;gap:12px;margin:12px 0 6px}.supply-balance b{font-size:24px;font-variant-numeric:tabular-nums}.supply-balance span{color:var(--muted);font-size:12px}.munitions-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.munitions-header h2{margin:0}.munitions-purchases{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.munitions-purchases button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 14px;min-width:100px}.munitions-purchases b{font-size:12px}.munitions-purchases span{font-size:12px;font-variant-numeric:tabular-nums}.munitions-health{border-color:#4ade8055;background:#4ade8010;color:#86efac}.munitions-ammo{border-color:#22d3ee55;background:#22d3ee10;color:#67e8f9}.buy-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0;border-bottom:1px solid var(--border)}.buy-tabs .buy-tab{flex:1 0 auto;padding-left:9px;padding-right:9px}.laser-sight-art{overflow:hidden}.laser-sight-device{position:absolute;left:12%;width:40%;height:28px;border:2px solid #606b7b;border-radius:8px 3px 3px 8px;background:repeating-linear-gradient(90deg,#343c48 0 6px,#202733 6px 9px);box-shadow:0 8px 0 -4px #121820,inset 0 3px 3px #fff2}.laser-sight-device:after{content:"";position:absolute;right:-5px;top:7px;width:6px;height:10px;border-radius:2px;background:#ff6565;box-shadow:0 0 9px #ff3030}.laser-sight-beam{position:absolute;left:54%;right:9%;height:1px;background:linear-gradient(90deg,#f44a,#ff6b6b);box-shadow:0 0 6px #ff3030}.laser-sight-beam:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#fdd;box-shadow:0 0 9px 3px #ff303077}.buy-tab{border-radius:8px 8px 0 0;padding:11px 4px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:transparent;border-bottom:2px solid transparent}.buy-tab[aria-selected=true]{color:var(--gold);border-color:#fbbf2455;border-bottom-color:var(--gold);background:#fbbf240c}.buy-tab:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}.buy-weapon-list{display:flex;flex-direction:column;gap:12px;min-height:184px;padding:14px 0}.buy-weapon-row{display:grid;grid-template-columns:38% minmax(0,1fr);gap:22px;padding:4px 0}.buy-weapon-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:150px;padding:36px 20px 16px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,#ffffff12,#ffffff04)}.buy-weapon-art img{width:100%;height:92px;object-fit:contain}.buy-weapon-art .cost{position:absolute;top:10px;right:12px;color:var(--gold);font-size:13px;font-weight:800}.buy-weapon-art .owned{color:var(--good)}.buy-weapon-row.selected .buy-weapon-art{border-color:#4ade8080;background:#4ade800b}.buy-weapon-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;padding:4px 0}.buy-weapon-details h3{margin:0;font-size:19px}.buy-weapon-details p{margin:0;color:var(--muted);line-height:1.45;font-size:13px}.buy-weapon-stats{color:var(--muted);font-size:11px}.buy-weapon-details button{margin-top:2px;font-size:12px}.buy-weapon-actions{display:flex;flex-wrap:wrap;gap:8px}.buy-weapon-actions .buy-sell{color:#fcd34d;border-color:#fcd34d4d}.buy-selected{color:var(--good);border-color:#4ade8055}@media(max-width:560px){.buy-tab{font-size:10px;letter-spacing:0}.buy-weapon-row{grid-template-columns:34% minmax(0,1fr);gap:12px}.buy-weapon-art{min-height:132px;padding:30px 8px 12px}.buy-weapon-art img{height:70px}.buy-weapon-details h3{font-size:16px}.death .foot{gap:10px;flex-wrap:wrap}.munitions-header{align-items:flex-start;flex-wrap:wrap;gap:10px}.munitions-purchases{margin-left:auto}}.history-dialog{width:min(960px,96vw)}.profile-history-link{align-self:flex-start;background:#22d3ee09;border-color:#22d3ee28;color:#83e9f4;font-size:12px}.history-list{display:grid;gap:12px}.history-match{border:1px solid #ffffff14;border-left:3px solid #63748a;border-radius:11px;background:#ffffff03;overflow:hidden}.history-match.win{border-left-color:#4ade80}.history-match.loss{border-left-color:#fb7185}.history-match>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:18px;padding:18px;cursor:pointer}.history-match>summary::-webkit-details-marker{display:none}.history-match>summary:hover{background:#ffffff04}.history-result{display:flex;align-items:center;gap:12px;color:#a5b7ca;font-size:11px;font-weight:700}.history-result .options-badge{margin:0;padding:3px 6px;font-size:9px;font-weight:500}.history-match.win .history-result{color:#86efac}.history-match.loss .history-result{color:#fda4af}.history-match-info h4{font-size:16px;margin:9px 0 5px;overflow-wrap:anywhere}.history-match-info p{font-size:11px;color:#a7b8c9;margin:0 0 7px}.history-match-info time{font-size:10px;color:#8196ac}.history-personal{display:grid;gap:5px;text-align:center}.history-personal b{font-size:22px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.history-personal span{font-size:10px;color:#94a8bd}.history-chevron{color:#7c99af;font-size:18px;transition:transform .15s}.history-match[open] .history-chevron{transform:rotate(180deg)}.history-detail{padding:16px;border-top:1px solid #ffffff0e;background:#080f1740}.history-score-heading{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:13px;font-size:11px}.history-score-heading .hint{font-size:10px}.history-table-wrap{overflow-x:auto;max-width:100%;scrollbar-width:thin}.history-table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}.history-table th{font-size:9px;font-weight:600;color:#839cb3;text-align:center;padding:10px 8px;background:#ffffff03}.history-table td{padding:12px 8px;border-bottom:1px solid #ffffff08;text-align:center;font-variant-numeric:tabular-nums}.history-table :is(th,td):first-child{text-align:left}.history-table .history-player{min-width:135px;white-space:normal;overflow-wrap:anywhere}.history-table .history-player b{display:block;font-size:12px;font-weight:600}.history-table .history-player span{display:block;font-size:9px;color:#8198ae;margin-top:4px}.history-table tr.mine{background:#22d3ee09;color:#a5f3fc}.history-detail>p{margin:12px 0 0;font-size:10px}.history-loading{padding:16px;font-size:12px;color:#94a8bd}.history-more{align-self:center}@media(max-width:480px){.options-tabs .tab{flex-direction:column;gap:5px}.history-match>summary{padding:13px;gap:10px}.history-personal b{font-size:18px}.history-match-info h4{font-size:14px}.history-detail{padding:10px}}.player-list button.player{width:100%;text-align:left;background:transparent;color:var(--text);cursor:pointer}.player-list button.player.me{background:#22d3ee0d}.player-list button.player:hover{background:#ffffff08;border-color:#ffffff16}.player-list button.player[aria-expanded=true]{background:#22d3ee12;border-color:#67e8f947}.player-list .pname{min-width:0;overflow-wrap:anywhere;flex-wrap:wrap}.player-card{width:min(380px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#415164 transparent;padding:20px;gap:18px;border-radius:16px;border-color:#39434f;background:#111923fa;box-shadow:0 24px 72px #0009,inset 0 1px #ffffff08}.player-card .card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.player-card .card-close{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #ffffff18;border-radius:7px;background:#ffffff04;color:#b9c8d6;font-size:20px}.player-card .card-head{gap:16px;padding:16px;border:1px solid #67e8f920;border-radius:12px;background:radial-gradient(ellipse at top left,#22d3ee16,transparent),#17222b}.player-card .card-head>div:last-child{min-width:0}.player-card .card-rank-emblem{display:grid;place-items:center;width:72px;height:72px;flex:none}.player-card .card-rank-emblem img{width:100%;height:100%;object-fit:contain}.player-card .card-account-type{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8dabb9}.player-card .card-head h3{margin:5px 0 6px;font-size:21px;letter-spacing:-.4px;overflow-wrap:anywhere}.player-card .card-rank-title{color:#a7bccd;font-size:11px;line-height:1.5}.player-card .card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid #ffffff0d;border-radius:10px;overflow:hidden;background:#ffffff0d}.player-card .card-stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:13px 12px;background:#141e29}.player-card .card-stats b{font-size:18px;font-variant-numeric:tabular-nums}.player-card .card-stats span{font-size:10px;color:#92a5b9}.player-card .card-member-since{margin-top:-7px;font-size:10px;color:#8297ad}.player-card .card-guest-note{padding:14px;border:1px dashed #ffffff18;border-radius:9px;color:#98acbf;font-size:12px;line-height:1.7}.player-card .card-discord{display:flex;flex-direction:column;gap:12px;padding:16px 0 0;border-top-color:#ffffff10}.player-card .card-discord h4{margin:0;font-size:10px;font-weight:600;color:#8fa4b9;text-transform:uppercase;letter-spacing:.08em}.player-card .card-where{padding:12px 14px;border-radius:9px;border:1px solid #ffffff0b;background:#ffffff03}.player-card .card-where div{display:grid;gap:4px;min-width:0}.player-card .card-where b{font-size:12px;color:#c4d4df}.player-card .card-where div>span{font-size:11px;overflow-wrap:anywhere}.player-card .card-actions{display:flex;gap:10px}.player-card .card-actions button{flex:1;min-width:0;padding:10px;border-radius:8px;font-size:12px}.player-card button:focus-visible,.player-list button.player:focus-visible{outline:2px solid #67e8f9;outline-offset:2px}.player-card .steam-summary,.player-card .discord-summary{min-width:0;overflow-wrap:anywhere}.modal-backdrop.options-backdrop{justify-content:flex-start;padding:0;overflow:hidden}@keyframes options-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.dialog.options{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:0;overflow:hidden;scrollbar-gutter:auto;display:flex;flex-direction:column;border-radius:0 18px 18px 0;border-color:#39434f;background:#11171ff5;box-shadow:0 32px 100px #0009,inset 0 1px #ffffff08;animation:options-slide-in .32s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){.dialog.options{animation:none}}@media(max-width:1020px){.dialog.options{border-radius:0}}.options-header{display:flex;align-items:center;gap:16px;padding:24px 28px 22px;border-bottom:1px solid #ffffff0d;background:linear-gradient(110deg,#22323d80,#161d2700 70%);flex:none}.options-kicker{display:block;color:#8dabb9;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.options-header h2{margin:5px 0 0;font-size:26px;letter-spacing:-.6px}.options-close{display:flex;align-items:center;gap:12px;background:#ffffff05;border-color:#ffffff18;color:#bac4d0}.options-close kbd{font:10px ui-monospace,monospace;border:1px solid #ffffff20;border-radius:4px;padding:2px 4px}.options-grid{flex:1;min-height:0;grid-template-columns:210px minmax(0,1fr);gap:0;overflow:hidden}.options-sidebar{display:flex;flex-direction:column;padding:20px 12px;border-right:1px solid #ffffff0d;background:#080e143b;min-height:0;overflow-y:auto}.options-tabs{border:0;padding:0;gap:7px}.options-tabs .tab{display:flex;align-items:center;gap:12px;padding:14px 12px;border-radius:9px;color:#95a3b4}.options-tabs .tab svg{width:22px;height:22px;flex:none}.options-tabs .tab span{display:grid;gap:4px}.options-tabs .tab b{font-size:13px;font-weight:600}.options-tabs .tab small{font-size:10px;color:#8594a5;font-weight:400}.options-tabs .tab:hover{background:#ffffff06;color:#e2eaf3}.options-tabs .tab.active{background:linear-gradient(90deg,#22d3ee16,#22d3ee06);border-color:#22d3ee30;color:#6ee7f3;box-shadow:inset 2px 0 #67e8f9}.options-sidebar-note{margin:auto 12px 0;padding-top:24px;font-size:11px;color:#718091}.options-body{max-height:none;min-height:0;padding:26px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#415164 transparent;scrollbar-gutter:stable}.options-stack,.options .controls{display:flex;flex-direction:column;gap:18px}.options-section-heading{margin-bottom:3px}.options-body .options-section-heading h3{font-size:22px;letter-spacing:-.45px;margin:0 0 7px;font-weight:650}.options-section-heading p{margin:0;font-size:12px;color:#92a0b2;line-height:1.6}.options h4{margin:0;font-size:13px;font-weight:650}.options .hint{color:#94a2b4;line-height:1.55}.options-card,.options .discord-profile{padding:20px;border:1px solid #ffffff10;border-radius:12px;background:#ffffff03}.options-card>.hint{margin:7px 0 17px}.options-label{display:block;font-size:11px;color:#adbaca;margin:0 0 8px}.profile-identity{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid #6ee7f925;border-radius:12px;background:radial-gradient(ellipse at top left,#22d3ee14,transparent 80%),#17222b}.profile-avatar{width:62px;height:62px;flex:none;display:grid;place-items:center;border:1px solid #67e8f940;border-radius:16px;background:linear-gradient(145deg,#244656,#172a39);color:#a5f3fc;font-size:23px;font-weight:700;letter-spacing:-1px}.profile-identity .grow{min-width:0}.profile-identity h4{font-size:22px;margin:6px 0 3px;overflow-wrap:anywhere}.profile-identity p{margin:0;font-size:11px;color:#94a7b7}.options-badge{margin-left:auto;align-self:flex-start;white-space:nowrap;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:600;background:#ffffff08;color:#a4b4c4;border:1px solid #ffffff0c}.options-badge.connected{color:#86efac;background:#4ade8009;border-color:#4ade8026}.profile-name-form{display:flex;gap:10px}.profile-name-form input{flex:1;min-width:0;background:#080d1460;padding:11px 12px;border-radius:7px}.profile-name-form button{flex:none}.profile-guest-note{border-style:dashed}.profile-details{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0;margin:13px 0;font-size:12px}.profile-details dt,.profile-details dd{margin:0;padding:10px 0;border-bottom:1px solid #ffffff08;overflow-wrap:anywhere}.profile-details dt{color:#8e9fb2}.profile-email{display:flex;align-items:center;gap:10px}.profile-email-value{min-width:0;overflow-wrap:anywhere}.profile-email-toggle{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:4px;margin:-6px 0;background:transparent;border-color:transparent;color:#94a7b7}.profile-email-toggle:hover{color:#67e8f9;background:#22d3ee0d}.profile-email-toggle svg{width:18px;height:18px}.options-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}.options-footer button{flex:none;font-size:11px}.options .discord-profile .row{gap:8px}.options .discord-profile button{font-size:11px}.audio-toggle{display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;padding-bottom:22px}.audio-toggle b{display:block;font-size:14px;margin-bottom:6px}.audio-toggle .hint{display:block;font-size:12px}.audio-toggle input{appearance:none;width:42px;height:24px;padding:3px;border:1px solid #58697c;border-radius:30px;background:#293442;cursor:pointer;flex:none;margin:0}.audio-toggle input:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#c3ced9;transition:transform .15s}.audio-toggle input:checked{background:#22d3ee;border-color:#22d3ee}.audio-toggle input:checked:before{transform:translate(17px);background:#102732}.audio-volume{border-top:1px solid #ffffff0e;padding-top:22px}.audio-volume label{font-size:12px;font-weight:600}.volume-value{color:#67e8f9;font:20px ui-monospace,monospace}.audio-volume input[type=range]{display:block;width:100%;margin:23px 0 12px;accent-color:#67e8f9;cursor:pointer}.volume-scale{display:flex;justify-content:space-between;font-size:10px;color:#8191a4}.options-note{padding-left:14px;border-left:2px solid #22d3ee50;color:#91a3b7;font-size:12px;line-height:1.7;margin:0}.options-help{border:1px solid #ffffff10;border-radius:9px;background:#ffffff03;padding:13px 16px}.options-help summary{color:#b4c2d1;font-size:12px;cursor:pointer}.options-help p{margin-bottom:0}.options .bind-table{grid-template-columns:minmax(0,1fr) 106px 106px 26px;gap:10px;padding:16px;margin:0;background:#ffffff03;border:1px solid #ffffff10;border-radius:12px}.options .bind-head{font-size:9px;padding-bottom:12px;margin:0;color:#8ea3b9;font-weight:600;border-color:#ffffff10}.options .bind-head:first-child{color:#e0e7ef;font-size:10px}.options .bind-label{padding:5px 0;gap:3px}.options .bind-label b{font-weight:550;font-size:12px}.options .bind-label .hint{font-size:10px}.options button.bind{font-size:11px;min-height:34px;padding:7px 4px;border:1px solid #ffffff22;border-bottom-width:3px;background:linear-gradient(#263140,#1c2532);border-radius:6px;color:#dce6f2}.options button.bind:hover{border-color:#67e8f97a;background:#293f4d}.options button.bind.empty{background:#0b121a50;border-color:#ffffff0d;color:#657588}.options button.bind.listening{border-color:#fcd34d;color:#fde68a;background:#66521a40}.options .bind-table .ghost{padding:4px;color:#76879b}.options .rank-hero{padding:18px;background:radial-gradient(ellipse at top left,#22d3ee14,transparent 80%),#17222b;border-color:#6ee7f925;gap:20px}.options .rank-hero .emblem{width:128px;height:120px;border:none;background:transparent}.options .rank-hero .emblem img{max-width:100%}.options .rank-hero h3{font-size:21px;margin:7px 0 14px}.options .rank-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px}.options .rank-stats span{border:0;border-radius:0;padding:0;background:none;font-size:10px}.options .rank-stats span b{display:block;font-size:16px;margin:0 0 3px;font-variant-numeric:tabular-nums}.options .rank-rules{font-family:inherit;font-size:12px;line-height:1.8}.options-ladder-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.options-ladder-heading .hint{font-size:10px}.options .rank-rows{gap:7px}.options .rank-row{grid-template-columns:68px minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;border-radius:9px;background:#ffffff03;border-color:#ffffff0d}.options .rank-row.mine{border-color:#67e8f94d;background:#22d3ee08;box-shadow:inset 2px 0 #67e8f9}.options .rank-row .emblem{height:48px}.options .rank-row .emblem img{width:100%;height:100%;object-fit:contain}.options .rank-row .rank-info b{font-size:12px}.options .rank-row .hint{font-size:10px}.options .rank-row .rank-info>.hint{margin-top:5px}.options .rank-row .players .pl{flex-wrap:wrap;gap:0 6px;font-size:11px}.options :is(button,input,summary,[role=tabpanel]):focus-visible{outline:2px solid #67e8f9;outline-offset:3px}@media(max-width:760px){.options-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.options-sidebar{padding:8px 12px;border-right:0;border-bottom:1px solid #ffffff0d;overflow:visible}.options-tabs{flex-direction:row;gap:5px}.options-tabs .tab{flex:1;justify-content:center;padding:11px 7px;gap:7px}.options-tabs .tab small,.options-sidebar-note{display:none}.options-tabs .tab svg{width:17px;height:17px}.options-tabs .tab b{font-size:11px}.options-body{padding:20px}.options-header{padding:18px 20px}}@media(max-width:480px){.options-header{padding:15px}.options-header h2{font-size:23px}.options-header .options-kicker{font-size:8px}.options-close{font-size:11px;padding:8px}.options-close kbd{display:none}.options-body{padding:18px 12px}.options-body .options-section-heading h3{font-size:20px}.options-card,.options .discord-profile{padding:16px}.profile-identity{padding:16px;gap:12px;flex-wrap:wrap}.profile-avatar{width:46px;height:46px;border-radius:12px;font-size:19px}.profile-identity h4{font-size:18px}.profile-identity .options-badge{display:none}.options .bind-table{grid-template-columns:minmax(0,1fr) 70px 70px 20px;gap:7px;padding:12px}.options button.bind{font-size:10px}.options .bind-label .hint{font-size:9px}.options-footer{flex-wrap:wrap;gap:12px}.options .rank-hero{flex-direction:column;align-items:stretch;gap:12px}.options .rank-hero .emblem{width:100%;height:74px}.options .rank-hero .emblem img{height:100%;object-fit:contain}.options .rank-row{grid-template-columns:56px minmax(0,1fr)}.options .rank-row .players{grid-column:2}.options-ladder-heading{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.options .audio-toggle input:before{transition:none}.options button.bind.listening{animation:none}}.map-thumbnail{display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;width:100%;height:144px;overflow:hidden;background:#080f16;color:#91a5b6;font-size:12px}.map-thumbnail canvas,.map-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.map-card{display:flex;flex-direction:column;width:100%;padding:0;overflow:hidden;text-align:left;background:#131e28;border:1px solid #2a3b49;border-radius:12px}.map-card:hover:not(:disabled),.map-card.selected{border-color:#22d3ee;background:#17303b}.map-card.selected{box-shadow:0 0 0 1px #22d3ee}.map-card:focus-visible,.match-length:focus-visible,.map-delete:focus-visible{outline:2px solid #a5f3fc;outline-offset:3px}.map-card-copy{display:grid;gap:5px;padding:12px;overflow-wrap:anywhere}.map-card-copy small{font-size:11px;color:#9baebd;font-weight:400}.map-library-dialog{width:min(960px,96vw)}.map-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;margin:18px 0}.saved-map-card{position:relative;min-width:0}.map-delete{position:absolute;top:8px;right:8px;width:30px;height:30px;padding:0;border-radius:8px;background:#171e27ed;border:1px solid #5a6b7b;color:#fff;font-size:23px;line-height:1}.map-delete:hover{color:#fca5a5;border-color:#f87171;background:#421e28}.host-dialog{width:min(1100px,96vw);height:min(940px,calc(100dvh - 80px));padding:0;overflow:hidden}.host-dialog.host-locked{width:min(700px,96vw)}.host-locked .host-layout{grid-template-columns:minmax(0,1fr)}.host-layout{display:grid;grid-template-columns:330px minmax(0,1fr);height:100%;min-height:0}.host-settings{min-width:0;min-height:0;padding:24px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.host-settings>.form{align-content:start}.host-maps{min-width:0;min-height:0;border-right:1px solid #2a3947}.host-map-gallery{display:flex;flex-direction:column;gap:0;height:100%;overflow-y:auto;padding:0;scrollbar-width:thin;scrollbar-color:#486170 transparent;overscroll-behavior:contain;scroll-snap-type:y proximity}.host-map-gallery .map-card{position:relative;flex-shrink:0;scroll-snap-align:start;isolation:isolate;border:0;border-radius:0;box-shadow:none}.host-map-gallery .map-thumbnail{height:172px}.host-map-gallery .map-thumbnail canvas,.host-map-gallery .map-thumbnail img{object-fit:cover;transform:scale(1);transition:transform .24s ease-out}.host-map-gallery .map-card:focus-visible{outline-offset:-3px}.host-map-gallery .map-card:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3}.host-map-gallery .map-card.selected:after{box-shadow:inset 0 0 0 2px #22d3ee}.host-map-gallery .map-card-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:8px 12px;gap:3px;border-radius:0;background:#050c147a;border:0;text-shadow:0 1px 3px #000}.host-map-gallery .map-card-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:18px}.host-map-gallery .map-card-copy small{font-size:10px;color:#d1dee7}.host-map-gallery .map-card.selected .map-card-copy{background:#04171f85}.host-map-gallery .map-card.selected .map-card-copy b:after{content:"✓";position:absolute;right:11px;top:9px;color:#67e8f9}@media(hover:hover)and (prefers-reduced-motion:no-preference){.host-map-gallery .map-card:hover:not(:disabled) .map-thumbnail canvas,.host-map-gallery .map-card:hover:not(:disabled) .map-thumbnail img{transform:scale(1.035)}}@media(prefers-reduced-motion:reduce){.host-map-gallery .map-thumbnail canvas,.host-map-gallery .map-thumbnail img{transition:none}}.match-lengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.match-length{display:grid;gap:6px;padding:13px 10px;text-align:left;background:#111e29;border:1px solid #2a3b49;border-radius:10px}.match-length b{font-size:12px;color:#a9bdcc}.match-length strong{font-size:18px;color:#e8f3fa}.match-length small{font-size:10px;color:#8fa8ba}.match-length.active{border-color:#22d3ee;background:#133540;box-shadow:inset 0 2px #22d3ee}.match-length.active b{color:#67e8f9}.editor-submission .map-thumbnail img{height:100%}@media(max-width:760px){.host-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:220px minmax(0,1fr)}.host-locked .host-layout{grid-template-rows:minmax(0,1fr)}.host-settings{padding:18px}.host-maps{border-right:0;border-bottom:1px solid #2a3947}.host-map-gallery{display:grid;align-content:start;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:136px}.host-map-gallery .map-thumbnail{height:136px}.host-map-gallery .map-card-copy{padding:7px}.host-map-gallery .map-card-copy b{font-size:11px}.host-map-gallery .map-card-copy small{font-size:9px}.host-map-gallery .map-card.selected .map-card-copy b:after{right:7px;top:7px}.match-length{padding:10px 7px}.match-length strong{font-size:16px}}@property --ui-wash-a{syntax: "<color>"; inherits: true; initial-value: rgb(45 130 200 / 10%);}@property --ui-wash-b{syntax: "<color>"; inherits: true; initial-value: rgb(100 80 165 / 4%);}:root{animation:ui-color-cycle 96s ease-in-out infinite}@keyframes ui-color-cycle{0%,to{--ui-wash-a: rgb(45 130 200 / 10%);--ui-wash-b: rgb(100 80 165 / 4%)}25%{--ui-wash-a: rgb(35 165 140 / 10%);--ui-wash-b: rgb(45 105 170 / 4%)}50%{--ui-wash-a: rgb(140 85 185 / 10%);--ui-wash-b: rgb(175 70 120 / 4%)}75%{--ui-wash-a: rgb(190 125 55 / 10%);--ui-wash-b: rgb(125 90 165 / 4%)}}@media(prefers-reduced-motion:reduce){:root{animation:none}}.menu{background-image:url(/assets/ui-facets-DaRwz-II.svg),linear-gradient(145deg,var(--ui-wash-a),var(--ui-wash-b)),linear-gradient(145deg,#252c36,#202731 55%,#1b222c);background-size:cover;background-position:center;animation:none}.menu:before,.menu:after{display:none}.topbar,.lobby-grid .panel,.dialog,.dialog.options,.player-card,.scoreboard,.esc,.death,.editor .toolbar,.editor .palette{background-image:url(/assets/ui-facets-DaRwz-II.svg),linear-gradient(145deg,var(--ui-wash-a),var(--ui-wash-b));background-size:1000px 700px,cover;background-position:center top}.crosshair-editor{min-width:0}.crosshair-preview{position:sticky;top:-26px;z-index:2;overflow:hidden;border:1px solid #506273;border-radius:12px;box-shadow:0 8px 25px #0005;background:#14202c}.crosshair-preview-canvas{display:block;width:100%;height:160px}.crosshair-preview-toolbar{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#121c27;font-size:11px}.crosshair-preview-toolbar select{min-width:0;width:auto;padding:5px;font-size:11px}.crosshair-backdrop{width:20px;height:20px;min-width:20px;padding:0;border:1px solid #ffffff50;border-radius:50%}.crosshair-presets summary,.crosshair-sharing summary{cursor:pointer;color:#b4c7d7;font-size:12px;padding:4px 0 12px}.crosshair-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.crosshair-preset{display:grid;justify-items:center;padding:5px 6px 10px;border:1px solid #ffffff12;border-radius:8px;background:#0d1721;font-size:11px}.crosshair-preset canvas{display:block;width:96px;height:64px;max-width:100%;object-fit:contain}.crosshair-preset:hover{background:#203140;border-color:#67e8f970}.crosshair-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-top:18px}.crosshair-control{display:grid;gap:8px;min-width:0;color:#adbfcd;font-size:11px}.crosshair-control>div{display:flex;align-items:center;gap:8px}.crosshair-control input[type=range]{min-width:0;width:100%;padding:0;accent-color:#67e8f9}.crosshair-control input[type=number]{width:59px;flex:none;padding:6px;font-size:11px}.crosshair-color input[type=color]{width:34px;height:30px;flex:none;padding:3px;cursor:pointer}.crosshair-color input[type=text]{min-width:0;width:100%;padding:6px;font:11px monospace}.crosshair-toggle{display:flex;align-items:center;gap:8px;font-size:11px;color:#bdcbd7;cursor:pointer}.crosshair-toggle input{width:15px;height:15px;margin:0;accent-color:#67e8f9}.crosshair-layers{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:16px;border-bottom:1px solid #ffffff12}.crosshair-layer{display:flex;align-items:center;gap:6px;max-width:100%;padding:7px 9px;font-size:11px;overflow-wrap:anywhere}.crosshair-layer.active{border-color:#67e8f9;background:#22d3ee18}.crosshair-layer-swatch{width:9px;height:9px;border-radius:2px;flex:none}.crosshair-layer small{opacity:.6}.crosshair-layer-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:14px;margin:18px 0 12px}.crosshair-layer-heading label{display:grid;gap:8px;color:#adbfcd;font-size:11px}.crosshair-layer-heading input,.crosshair-layer-heading select{min-width:0;width:100%}.crosshair-layer-actions{display:flex;flex-wrap:wrap;gap:6px}.crosshair-layer-actions button{font-size:10px;padding:6px 8px}.crosshair-layer-actions .crosshair-toggle{margin-right:auto}.crosshair-sharing textarea{width:100%;min-height:80px;resize:vertical;font:11px monospace;margin-bottom:10px}.crosshair-dialog{width:min(700px,94vw)}.crosshair-dialog-close{display:flex;justify-content:flex-end;margin-bottom:10px}.crosshair-dialog .crosshair-preview{top:-24px}.crosshair-editor .options-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.crosshair-editor :is(button,input,select,textarea,summary):focus-visible{outline:2px solid #67e8f9;outline-offset:2px}@media(max-width:760px){.options-tabs{overflow-x:auto}.options-tabs .tab{flex:none}.crosshair-preview{top:-20px}}@media(max-width:480px){.crosshair-controls{grid-template-columns:1fr}.crosshair-preview-toolbar{flex-wrap:wrap}.crosshair-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crosshair-editor .options-card{padding:14px}}select{color:#edf5fc;background-color:#14212e;border-color:#526576;border-radius:8px;color-scheme:dark}select:hover:not(:disabled){border-color:#7893a6;background-color:#1c2e3e}select:focus-visible{outline:2px solid #67e8f9;outline-offset:2px}select option,select optgroup{color:#edf5fc;background:#172635}select option:disabled{color:#8396a8}@supports (appearance: base-select){select,select::picker(select){appearance:base-select}select{align-items:center;gap:12px;background:linear-gradient(145deg,#ffffff08,#fff0),#14212ee8;box-shadow:inset 0 1px #ffffff08}select::picker-icon{color:#9eb5c8;transition:rotate .15s ease}select:open{border-color:#67e8f9;background-color:#203447}select:open::picker-icon{rotate:180deg;color:#a5f3fc}select::picker(select){min-width:anchor-size(width);max-width:calc(100vw - 16px);max-height:min(340px,55dvh);margin-block:6px;padding:6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#536d83 transparent;color:#edf5fc;background:linear-gradient(135deg,#ffffff0b,#fff0 70%),#111e2bed;border:1px solid #6e899d80;border-radius:12px;box-shadow:0 18px 48px #0008,0 4px 12px #0005,inset 0 1px #ffffff12;backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%);font:inherit;font-size:max(12px,1em)}select option{display:flex;align-items:center;gap:14px;min-height:34px;padding:8px 10px;border-radius:7px;background:transparent;color:#edf5fc;font-weight:400;line-height:1.4;cursor:pointer}select option:checked{color:#b7f5ff;background:#22d3ee1a;font-weight:650}select option:hover:not(:disabled),select option:focus-visible{background:#3c5974a6;color:#fff;outline:none}select option::checkmark{order:1;margin-left:auto;color:#67e8f9}select option:disabled{color:#8396a8;cursor:default}select optgroup{padding:6px;background:transparent}}@media(prefers-reduced-motion:reduce){select::picker-icon{transition:none}}.crosshair-preview-toolbar{flex-wrap:wrap}.crosshair-preview-canvas{cursor:none;touch-action:pan-y}.crosshair-preview-ammo{display:flex;align-items:center;gap:12px;padding:4px 12px 9px;background:#121c27;color:#b8cbd9;font-size:11px}.crosshair-preview-ammo label{display:flex;align-items:center;flex:1;gap:12px}.crosshair-preview-ammo input{flex:1;width:100%;min-width:0;padding:0;accent-color:#67e8f9}.crosshair-preview-ammo output{min-width:34px;text-align:right;font-variant-numeric:tabular-nums}.crosshair-preview-caption{margin:0;padding:0 12px 9px;background:#121c27;color:#8ca4b9;font-size:10px;line-height:1.4}@media(max-height:700px){.crosshair-preview{position:relative;top:0}}.room-lock{display:inline-flex;align-items:center;flex:none;width:15px;height:17px;color:#e8c982;vertical-align:middle}.room-lock svg{display:block;width:100%;height:100%}.chat-panel-head{gap:8px}.chat-panel-head h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-panel-head h2 .room-lock{margin-right:6px}.chat-panel-head button{flex-shrink:0;white-space:nowrap}.chat-rooms-dialog{width:min(620px,94vw)}.chat-rooms-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.chat-rooms-heading button{padding:3px 10px;font-size:22px}.chat-room-list{max-height:34vh;overflow-y:auto;margin:18px 0;border:1px solid var(--border);border-radius:10px}.chat-room-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--border);background:#101c2766}.chat-room-row:last-child{border-bottom:0}.chat-room-info{min-width:0;display:grid;gap:5px}.chat-room-info strong{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.chat-room-row button{flex-shrink:0}.chat-room-create{border-top:1px solid var(--border);padding-top:8px}.room-password{width:min(430px,94vw)}.room-password input{width:100%}.twitch-icon{display:inline-block;width:17px;height:17px;flex:none;vertical-align:middle;color:#c3a0ff}.btn-twitch{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#6441a566;border-color:#9872ce}.btn-twitch:hover{background:#7850bd88}.twitch-live{display:inline-flex;align-items:center;gap:4px;flex:none;padding:2px 5px;border:1px solid #b185e377;border-radius:5px;background:#61329888;color:#f1deff;font-size:9px;font-weight:800;line-height:1.2;letter-spacing:.035em;text-decoration:none;vertical-align:middle;white-space:nowrap}a.twitch-live:hover{color:#fff;background:#8550bdbb;border-color:#d5b0ff}.twitch-live .twitch-icon{width:10px;height:10px;color:inherit}.pname .twitch-live,.scoreboard .twitch-live,.card-head h3 .twitch-live,.nav-account .who .twitch-live{margin-left:6px}.match-player .twitch-live{margin:0;padding:2px 3px;font-size:8px}
