: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;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}.wordmark{font-size:24px;font-weight:900;letter-spacing:-.06em;line-height:1;background:linear-gradient(120deg,#ffffff 0%,#a5f3fc 45%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(34,211,238,.35))}.brand-sub{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted)}.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}.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{font-variant-numeric:tabular-nums;color:var(--muted)}.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(860px,96vw)}.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:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50}.dialog{width:min(560px,94vw);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px 22px;box-shadow:0 20px 60px #0009}.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 canvas{display:block;width:100%;height:100%}.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:50%;transform:translate(-50%,-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:50%;transform:translate(-50%,-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 1fr auto;grid-template-columns:220px 1fr;background:var(--bg)}.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:28px;height:28px;border-radius:3px;background:#0f172a;flex:none}.editor .palette .tile .label{font-size:13px}.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:none;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}.wordmark{background:linear-gradient(120deg,#fff,#d9dee8 45%,#9ba7bb);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 12px rgba(255,255,255,.18))}.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{max-height:92vh;overflow-y:auto}.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 .wordmark,.topbar .nav-btn{white-space:nowrap}@media(max-width:1080px){.brand-sub{display:none}}.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}.brand{gap:10px;padding-right:22px}.brand .pawn{font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,sans-serif;font-size:30px;line-height:1;color:#2a2f3a;-webkit-text-stroke:1px #e6eaf0;text-shadow:0 2px 3px rgba(0,0,0,.7);transform:translateY(-1px)}.brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.brand .wordmark{font-family:Impact,Arial Black,Segoe UI Black,Franklin Gothic Demi,sans-serif;font-weight:400;font-size:27px;letter-spacing:.015em;text-transform:uppercase;line-height:1;transform:skew(-7deg);background:none;filter:drop-shadow(0 2px 0 rgba(0,0,0,.9)) drop-shadow(0 0 5px rgba(0,0,0,.55))}.brand .wm-counter{background:linear-gradient(180deg,#fff,#e3e8ef 44%,#8f99aa 50%,#cfd6df);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:.5px rgba(20,24,32,.6)}.brand .wm-pawn{background:linear-gradient(180deg,#ffeeb0,#f9c83a 44%,#c8860f 50%,#f4b52e);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:.5px rgba(70,40,0,.6)}.brand-modes{font-size:9px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#d9dfe8;transform:skew(-7deg);text-shadow:0 1px 2px rgba(0,0,0,.8)}.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}
