:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#0c0d12;--surface:#16171d;--surface-hover:#1c1e26;--border:#2e303a;--accent:#c084fc;--accent-border:#c084fc73;--shadow:#00000073 0 12px 24px -6px, #c084fc14 0 0 40px -8px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 50% -20%, #c084fc1f, transparent), var(--bg);min-height:100svh;margin:0}#root{min-height:100svh}button{font-family:inherit}.app{z-index:1;box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:24px 10px;display:flex;position:relative}.menu-bg{z-index:0;pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.menu{z-index:1;flex-direction:column;gap:24px;width:min(420px,100%);animation:.35s ease-out fade-in;display:flex;position:relative}.menu-header{text-align:center}.menu-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:.75rem;font-weight:600}.menu-title{letter-spacing:-.04em;color:var(--text-h);margin:0;font-size:clamp(2.75rem,8vw,3.5rem);font-weight:700;line-height:1}.menu-subtitle{color:var(--text);margin:12px 0 0;font-size:1rem}.menu-options{flex-direction:column;gap:12px;display:flex}.menu-btn{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;padding:10px 12px;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:flex}.menu-btn:hover{border-color:var(--accent-border);background:var(--surface-hover);box-shadow:var(--shadow);transform:translateY(-1px)}.menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-btn:active{transform:translateY(0)}.menu-btn-label{letter-spacing:2px;color:var(--text-h);margin-top:3px;font-size:1.05rem;font-weight:900}.menu-btn-hint{color:var(--text);font-size:.875rem}.menu-btn--muted{opacity:.72}.menu-btn--muted:hover{opacity:.9}.menu-mute-btn{z-index:2;width:42px;height:42px;color:var(--text-h);cursor:pointer;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background .15s,color .15s,transform .15s;animation:.35s ease-out fade-in;display:inline-flex;position:fixed;top:16px;right:16px}.menu-mute-btn:hover{border-color:var(--accent-border);background:var(--surface-hover);transform:translateY(-1px)}.menu-mute-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-mute-btn:active{transform:translateY(0)}.menu-mute-btn--muted{color:var(--text)}.menu-mute-icon{flex-shrink:0;display:block}.menu-mute-slash-cut{stroke:var(--surface)}.menu-mute-btn:hover .menu-mute-slash-cut{stroke:var(--surface-hover)}.menu-maps-fab,.menu-party-fab{z-index:2;font:inherit;color:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:border-color .15s,background .15s,transform .15s;animation:.35s ease-out fade-in;display:inline-flex;position:fixed;bottom:16px}.menu-maps-fab{left:16px}.menu-party-fab{right:16px}.menu-maps-fab:hover,.menu-party-fab:hover{border-color:var(--accent-border);background:var(--surface-hover);transform:translateY(-1px)}.menu-maps-fab:focus-visible,.menu-party-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-maps-fab:active,.menu-party-fab:active{transform:translateY(0)}.menu-maps-fab-label,.menu-party-fab-label{letter-spacing:.12em;color:var(--text-h);white-space:nowrap;font-size:.72rem;font-weight:800}.menu-party-fab-badge{letter-spacing:.08em;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:4px;padding:2px 5px;font-size:.6rem;font-weight:700;line-height:1.2}.panel{width:min(560px,100%);animation:.25s ease-out fade-in}.panel-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.panel-title{letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:1.75rem;font-weight:700}.back-btn{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:.9rem;font-weight:500;transition:color .15s}.back-btn:hover{color:var(--accent)}.back-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.panel-body{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px}.panel-placeholder{color:var(--text);margin:0;line-height:1.55}.find{flex-direction:column;gap:20px;display:flex}.find-intro{color:var(--text);margin:0;font-size:.95rem;line-height:1.5}.find-section{flex-direction:column;gap:12px;display:flex}.find-section-heading{flex-direction:column;gap:4px;display:flex}.find-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:0;font-size:.75rem;font-weight:700}.find-section-hint{color:var(--text);margin:0;font-size:.85rem;line-height:1.45}.find-section-hint--in-card{margin-bottom:2px}.find-official-stack{flex-direction:column;gap:12px;display:flex}.find-official-card{border:1px solid var(--border);background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 10%, var(--bg)) 0%, var(--bg) 48%, var(--bg) 100%);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex}.find-official-card--easy{border-color:color-mix(in srgb, #34d399 35%, var(--border));background:linear-gradient(145deg, #34d3991a 0%, var(--bg) 42%, var(--bg) 100%)}.find-official-card--hard{border-color:color-mix(in srgb, #f87171 40%, var(--border));background:linear-gradient(145deg, #f871711a 0%, var(--bg) 42%, var(--bg) 100%)}.find-official-card--ranked{border-color:color-mix(in srgb, #fbbf24 45%, var(--border));background:linear-gradient(145deg, #fbbf241f 0%, var(--bg) 42%, var(--bg) 100%)}.find-official-card--ranked .find-official-card-kicker-label{color:color-mix(in srgb, #fbbf24 85%, var(--text-h))}.find-official-card--offline{opacity:.78}.find-official-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.find-official-card-titles{flex-direction:column;gap:4px;min-width:0;display:flex}.find-official-card-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text);flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:.7rem;font-weight:600;display:flex}.find-official-card-kicker-label{color:color-mix(in srgb, var(--accent) 75%, var(--text-h))}.find-official-card-dot{opacity:.45}.find-official-card-map{font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:none;font-weight:600}.find-official-card-top{letter-spacing:.04em;text-transform:none;min-width:0;font-weight:600}.find-official-card-top-name{font-weight:700}.find-official-card-top-name--a{color:#7dd3fc}.find-official-card-top-name--b{color:#f87171}.find-official-card-top-name--empty{color:var(--text);opacity:.7}.find-official-card-name{letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:1.2rem;font-weight:750;line-height:1.2}.find-official-card-offline-note{color:#fcd34d;margin:0;font-size:.88rem;line-height:1.4}.find-official-metrics{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:stretch;gap:0;margin:0;padding:8px 10px;display:flex}.find-official-metric{flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:2px 8px;display:flex}.find-official-metric--players{flex:1 1 0;min-width:0}.find-official-metric--score{text-align:center;flex:1.4 1 0;align-items:center}.find-official-metric--time{text-align:right;flex:1 1 0;align-items:flex-end;min-width:0}.find-official-metric-sep{background:var(--border);flex-shrink:0;align-self:stretch;width:1px;margin:2px}.find-official-metric-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:.62rem;font-weight:700;line-height:1.2}.find-official-metric-value{font-variant-numeric:tabular-nums;color:var(--text-h);font-size:.95rem;font-weight:750;line-height:1.2}.find-official-metric-scoreline{align-items:baseline;gap:6px;display:inline-flex}.find-official-score-a{color:#7dd3fc}.find-official-score-b{color:#f87171}.find-official-score-sep{color:color-mix(in srgb, var(--text) 55%, transparent);font-size:.85rem;font-weight:600}.find-official-metric-clock{font-variant-numeric:tabular-nums;letter-spacing:.02em}.find-score-bar{background:color-mix(in srgb, var(--border) 80%, transparent);border-radius:999px;width:100%;height:5px;margin-top:5px;display:flex;overflow:hidden}.find-score-bar-blue{background:linear-gradient(90deg,#0369a1,#38bdf8);height:100%;transition:width .3s}.find-score-bar-red{background:linear-gradient(90deg,#f87171,#b91c1c);height:100%;transition:width .3s}@media (width<=420px){.find-official-metrics{flex-wrap:wrap;row-gap:8px}.find-official-metric-sep{display:none}.find-official-metric--players{border-bottom:1px solid var(--border);flex:100%;padding-bottom:6px}.find-official-metric--score{text-align:left;flex:auto;align-items:flex-start}.find-official-metric--time{flex:auto}}.find-official-card--selectable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.find-official-card--selectable:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent), var(--shadow);transform:translateY(-1px)}.find-official-card--selectable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.find-official-card--selected{border-color:color-mix(in srgb, var(--accent) 65%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent), var(--shadow)}.find-official-card--full{cursor:not-allowed}.find-official-card-foot{justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.find-official-card-addr{font-variant-numeric:tabular-nums;color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.find-official-card-hint{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 70%, var(--text));opacity:.85;flex-shrink:0;font-size:.72rem;font-weight:600}.find-official-card--selectable:hover .find-official-card-hint{opacity:1}.find-dropin-root{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;place-items:center;padding:20px;animation:.15s ease-out find-dropin-fade;display:grid;position:fixed;inset:0}@keyframes find-dropin-fade{0%{opacity:0}to{opacity:1}}.find-dropin-dialog{border:1px solid var(--border);background:var(--surface);width:min(100%,400px);box-shadow:0 18px 50px #00000073, var(--shadow);border-radius:14px;flex-direction:column;gap:12px;padding:20px 20px 18px;animation:.18s ease-out find-dropin-pop;display:flex}.find-dropin-dialog--open{border-color:color-mix(in srgb, #34d399 30%, var(--border))}.find-dropin-dialog--ranked{border-color:color-mix(in srgb, #fbbf24 50%, var(--border));background:linear-gradient(160deg, color-mix(in srgb, #fbbf24 12%, var(--surface)) 0%, var(--surface) 42%, var(--surface) 100%);box-shadow:0 18px 50px #00000073, 0 0 0 1px #fbbf242e, var(--shadow)}@keyframes find-dropin-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.find-dropin-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--text);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:.72rem;font-weight:650;display:flex}.find-dropin-kicker-sep{opacity:.45}.find-dropin-mode{letter-spacing:.1em;font-weight:800}.find-dropin-mode--open{color:color-mix(in srgb, #34d399 85%, var(--text-h))}.find-dropin-mode--ranked,.find-dropin-title-ranked{color:#fbbf24;text-shadow:0 0 18px #fbbf2459;font-weight:800}.find-dropin-mode--custom{color:color-mix(in srgb, var(--accent) 70%, var(--text-h))}.find-dropin-title{letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:1.35rem;font-weight:800;line-height:1.2}.find-dropin-title .find-dropin-title-ranked{letter-spacing:.04em}.find-dropin-desc{color:var(--text);margin:0;font-size:.92rem;line-height:1.45}.find-dropin-desc strong{color:var(--text-h);font-weight:700}.find-dropin-ranked-warn{border:1px solid color-mix(in srgb, #fbbf24 40%, var(--border));background:color-mix(in srgb, #fbbf24 10%, var(--bg));color:var(--text-h);border-radius:9px;margin:0;padding:11px 12px;font-size:.88rem;line-height:1.45}.find-dropin-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.find-dropin-btn{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:9px;padding:10px 16px;font-size:.9rem;font-weight:650;transition:background .15s,border-color .15s,opacity .15s}.find-dropin-btn:disabled{opacity:.55;cursor:not-allowed}.find-dropin-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.find-dropin-btn--ghost{color:var(--text-h);background:0 0}.find-dropin-btn--ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--accent-border)}.find-dropin-btn--go{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 92%, #fff), var(--accent));border-color:color-mix(in srgb, var(--accent) 70%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--accent) 40%, transparent)}.find-dropin-btn--go:hover:not(:disabled){filter:brightness(1.06);border-color:var(--accent)}.find-dropin-dialog--ranked .find-dropin-btn--go{color:#1a1408;background:linear-gradient(135deg,#fde68a,#fbbf24 55%,#d97706);border-color:#fbbf24b3;box-shadow:0 1px #fbbf2473}.find-dropin-dialog--ranked .find-dropin-btn--go:hover:not(:disabled){filter:brightness(1.05);border-color:#fbbf24}.find-dropin-dialog--ranked .find-dropin-btn:focus-visible{outline-color:#fbbf24}.find-field--name{width:100%}.find-fields{grid-template-columns:1fr minmax(88px,110px) auto;align-items:end;gap:10px;display:grid}@media (width<=520px){.find-fields{grid-template-columns:1fr 1fr}.find-search-btn{grid-column:1/-1}}.find-field{flex-direction:column;gap:6px;min-width:0;display:flex}.find-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:.75rem;font-weight:600}.find-input{width:100%;font:inherit;color:var(--text-h);background:var(--bg);border:1px solid var(--border);border-radius:8px;outline:none;padding:10px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.find-input::placeholder{color:color-mix(in srgb, var(--text) 70%, transparent)}.find-input:hover:not(:disabled){border-color:color-mix(in srgb, var(--border) 60%, var(--accent))}.find-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c084fc2e}.find-input:disabled{opacity:.6;cursor:not-allowed}.find-search-btn,.find-join-btn{font:inherit;cursor:pointer;border-radius:8px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s,transform .15s}.find-search-btn{color:var(--text-h);background:var(--surface-hover);border:1px solid var(--border);white-space:nowrap;height:42px;padding:10px 18px}.find-search-btn:hover:not(:disabled){border-color:var(--accent-border);background:color-mix(in srgb, var(--surface-hover) 80%, var(--accent) 12%)}.find-search-btn:focus-visible,.find-join-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.find-search-btn:disabled,.find-join-btn:disabled{opacity:.55;cursor:not-allowed}.find-alert{border-radius:8px;margin:0;padding:12px 14px;font-size:.9rem;line-height:1.45}.find-alert--error{color:#fecaca;background:#ef44441f;border:1px solid #ef444459}.find-loading{color:var(--text);align-items:center;gap:10px;padding:8px 0;font-size:.9rem;display:flex}.find-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite find-spin}@keyframes find-spin{to{transform:rotate(360deg)}}.find-card{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:14px;padding:16px;display:flex}.find-card--collapsible{padding:0;overflow:hidden}.find-card--closed{cursor:pointer}.find-card--closed:hover{border-color:var(--accent-border);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent), var(--shadow)}.find-card--closed:focus-within{outline:2px solid var(--accent);outline-offset:2px}.find-card-header.find-card-header--collapsible{background:linear-gradient(#00000005,#0000);flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.find-card-section-title{color:var(--text-h);font-size:.95rem;font-weight:700}.find-collapse-btn{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;background:color-mix(in srgb, var(--surface) 70%, transparent);border-radius:8px;min-width:40px;min-height:36px;padding:6px 10px;font-size:1.1rem;line-height:1}.find-collapse-btn:hover{background:var(--surface-hover);border-color:var(--accent-border)}.find-collapse-icon{font-size:1.5rem;font-weight:700;display:inline-block;transform:translateY(-1px)}.find-card-body{border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg) 98%, transparent);flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.find-card-header{flex-direction:column;gap:4px;display:flex}.find-card-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.find-card-name{letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:1.15rem;font-weight:700}.find-card-addr{font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-size:.85rem}.find-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:.7rem;font-weight:700}.find-badge--online{color:#86efac;background:#22c55e24;border:1px solid #22c55e59}.find-badge--pulse{animation:1.8s ease-in-out infinite find-online-pulse}@keyframes find-online-pulse{0%,to{background:#22c55e24;border-color:#22c55e59;box-shadow:0 0 #22c55e59}50%{background:#22c55e47;border-color:#4ade80b3;box-shadow:0 0 0 6px #22c55e00}}.find-badge--offline{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d}.find-stats{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.find-stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.find-stat dt{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:.7rem;font-weight:600}.find-stat dd{font-variant-numeric:tabular-nums;color:var(--text-h);margin:0;font-size:1.15rem;font-weight:700}.find-stat-muted{color:var(--text);font-size:.9rem;font-weight:500}.find-capacity{background:var(--surface);border:1px solid var(--border);border-radius:999px;height:6px;overflow:hidden}.find-capacity-fill{background:linear-gradient(90deg, var(--accent), #a78bfa);border-radius:inherit;height:100%;transition:width .25s}.find-card-note{color:#fcd34d;margin:0;font-size:.85rem}.find-join-btn{letter-spacing:.04em;text-transform:uppercase;color:#1a1025;background:var(--accent);border:1px solid #0000;width:100%;padding:12px 16px;font-size:.95rem}.find-join-btn:hover:not(:disabled){background:#d0a4fd;transform:translateY(-1px)}.find-join-btn:active:not(:disabled){transform:translateY(0)}.find-empty{text-align:center;border:1px dashed var(--border);background:color-mix(in srgb, var(--bg) 70%, transparent);border-radius:10px;padding:20px 16px}.find-empty-title{color:var(--text-h);margin:0 0 6px;font-size:.95rem;font-weight:600}.find-empty-hint{color:var(--text);margin:0;font-size:.875rem;line-height:1.5}.find-code{color:var(--accent);background:#c084fc1a;border-radius:4px;padding:1px 6px;font-size:.85em}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.settings{flex-direction:column;gap:18px;display:flex}.settings-tabs{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:4px;padding:4px;display:flex}.settings-tab{min-width:0;font:inherit;letter-spacing:.02em;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:1;padding:10px 12px;font-size:.9rem;font-weight:600;transition:color .15s,background .15s,border-color .15s,box-shadow .15s}.settings-tab:hover{color:var(--text-h);background:var(--surface-hover)}.settings-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-tab--active{color:var(--text-h);background:color-mix(in srgb, var(--surface) 65%, var(--accent) 16%);border-color:var(--accent-border);box-shadow:0 0 0 1px #c084fc2e}.settings-section{flex-direction:column;gap:16px;animation:.16s ease-out fade-in;display:flex}.settings-section-desc{color:var(--text);margin:0;font-size:.875rem;line-height:1.5}.settings-bindings-block{flex-direction:column;gap:10px;display:flex}.settings-bindings-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin:0;font-size:.85rem;font-weight:700}.settings-bindings{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.settings-binding-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 14px;display:flex}.settings-binding-row:last-child{border-bottom:none}.settings-binding-action{color:var(--text-h);font-size:.9rem;font-weight:600}.settings-binding-keys{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text);text-align:right;flex-shrink:0;font-size:.8rem;font-weight:600}.settings-presets{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-preset-btn{min-width:96px;font:inherit;color:inherit;cursor:pointer;background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.settings-preset-btn:hover{border-color:var(--accent-border);background:var(--surface-hover)}.settings-preset-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-preset-btn--active{border-color:var(--accent-border);background:color-mix(in srgb, var(--surface) 70%, var(--accent) 14%);box-shadow:0 0 0 1px #c084fc33}.settings-preset-label{color:var(--text-h);font-size:.95rem;font-weight:700}.settings-preset-hint{color:var(--text);font-size:.75rem}.settings-preset-custom{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:#c084fc1f;border:1px solid #c084fc4d;border-radius:999px;margin-left:4px;padding:4px 10px;font-size:.7rem;font-weight:700}.settings-toggles{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.settings-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.settings-row--toggle{border-bottom:1px solid var(--border)}.settings-row--toggle:last-child{border-bottom:none}.settings-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-row-label{color:var(--text-h);font-size:.95rem;font-weight:600}.settings-row-hint{color:var(--text);font-size:.8rem;line-height:1.35}.settings-select{min-width:96px;font:inherit;color:var(--text-h);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;outline:none;flex-shrink:0;padding:8px 10px;font-size:.9rem}.settings-select:hover{border-color:color-mix(in srgb, var(--border) 60%, var(--accent))}.settings-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c084fc2e}.settings-switch{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:10px;display:flex}.settings-switch input{opacity:0;width:0;height:0;position:absolute}.settings-switch-track{background:var(--surface-hover);border:1px solid var(--border);border-radius:999px;width:42px;height:24px;transition:background .15s,border-color .15s;position:relative}.settings-switch-thumb{background:var(--text);border-radius:50%;width:18px;height:18px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.settings-switch input:checked+.settings-switch-track{background:color-mix(in srgb, var(--accent) 55%, var(--surface));border-color:var(--accent-border)}.settings-switch input:checked+.settings-switch-track .settings-switch-thumb{background:#f3e8ff;transform:translate(18px)}.settings-switch input:focus-visible+.settings-switch-track{outline:2px solid var(--accent);outline-offset:2px}.settings-switch-state{letter-spacing:.04em;text-transform:uppercase;min-width:1.75rem;color:var(--text);font-size:.75rem;font-weight:600}.settings-row--disabled{opacity:.55}.settings-slider-wrap{flex-shrink:0;align-items:center;gap:10px;width:min(220px,46vw);min-width:0;display:flex}.settings-slider{appearance:none;background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;border-radius:999px;outline:none;flex:1;min-width:0;height:6px}.settings-slider::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);cursor:pointer;background:#f3e8ff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 1px #c084fc59}.settings-slider::-moz-range-thumb{border:2px solid var(--accent);cursor:pointer;background:#f3e8ff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 1px #c084fc59}.settings-slider:focus-visible{box-shadow:0 0 0 3px #c084fc38}.settings-slider:disabled{cursor:not-allowed;opacity:.7}.settings-slider-value{text-align:right;font-variant-numeric:tabular-nums;min-width:2.75rem;color:var(--text-h);font-size:.8rem;font-weight:600}.settings-footnote{color:color-mix(in srgb, var(--text) 80%, transparent);margin:0;font-size:.8rem}.modal-root{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06070cb8;justify-content:center;align-items:center;padding:20px 12px;animation:.18s ease-out fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(480px,100%);max-height:min(90svh,720px);animation:.2s ease-out modal-pop;display:flex;box-shadow:0 24px 48px -12px #0000008c,0 0 48px -10px #c084fc1a}.modal--wide{width:min(560px,100%);max-height:min(90svh,800px)}.modal--maps{width:min(520px,100%);max-height:min(90svh,800px)}.maps-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.maps-item{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 55%, var(--surface));border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex}.maps-preview-wrap{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:#0f1420e6;border-radius:8px;flex-shrink:0;line-height:0;overflow:hidden}.map-preview-canvas{vertical-align:top;display:block}.maps-item-meta{flex-direction:column;flex:1;gap:6px;min-width:0;padding-right:8px;display:flex}.maps-item-name{letter-spacing:-.02em;color:var(--text-h);font-size:1.05rem;font-weight:700}.maps-item-desc{max-width:22rem;color:color-mix(in srgb, var(--text) 78%, transparent);margin:0;font-size:.82rem;font-weight:300;line-height:1.45}.maps-item-legend{letter-spacing:.04em;text-transform:uppercase;color:var(--text);align-items:center;gap:6px;font-size:.72rem;font-weight:600;display:inline-flex}.maps-dot{border-radius:50%;width:8px;height:8px;margin-left:4px}.maps-dot:first-child{margin-left:0}.maps-dot--blue{background:#38bdf8;box-shadow:0 0 6px #38bdf88c}.maps-dot--red{background:#ef4444;box-shadow:0 0 6px #ef444480}.maps-empty{color:var(--text);margin:0;line-height:1.5}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 0;display:flex}.modal-header-text{min-width:0}.modal-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-size:.7rem;font-weight:600}.modal-title{letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:1.35rem;font-weight:700}.modal-close{width:36px;height:36px;font:inherit;color:var(--text);cursor:pointer;background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-shrink:0;place-items:center;font-size:.95rem;line-height:1;transition:color .15s,border-color .15s,background .15s;display:grid}.modal-close:hover{color:var(--text-h);border-color:var(--accent-border);background:var(--surface-hover)}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-body{flex-direction:column;gap:18px;padding:16px 18px;display:flex;overflow-y:auto}.modal-intro{color:var(--text);margin:0;font-size:.925rem;line-height:1.55}.modal-intro strong{color:var(--text-h);font-weight:600}.modal-footer{justify-content:flex-end;padding:0 18px 18px;display:flex}.modal-done-btn{font:inherit;color:var(--text-h);cursor:pointer;background:var(--surface-hover);border:1px solid var(--border);border-radius:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s}.modal-done-btn:hover{border-color:var(--accent-border);background:color-mix(in srgb, var(--surface-hover) 80%, var(--accent) 12%)}.modal-done-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.create-download{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.create-os-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0;font-size:.7rem;font-weight:600}.create-download-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.create-download-list--all{gap:8px}.create-download-list li{background:color-mix(in srgb, var(--bg) 70%, var(--border));border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:10px 12px;display:flex}.create-download-list a{color:var(--accent);font-size:.95rem;font-weight:700;text-decoration:none}.create-download-list a:hover{text-decoration:underline}.create-download-list a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.create-download-file{font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--text) 85%, transparent);font-size:.75rem}.create-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-h);margin:0 0 8px;font-size:.8rem;font-weight:700}.create-steps-list{color:var(--text);flex-direction:column;gap:8px;margin:0;padding-left:1.2rem;font-size:.9rem;line-height:1.5;display:flex}.create-steps-list li::marker{color:var(--accent)}.create-steps-list strong{color:var(--text-h);font-weight:600}.create-run-hint{word-break:break-all;color:var(--accent);background:#c084fc14;border:1px solid #c084fc33;border-radius:6px;margin-top:6px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.4;display:block}.create-portforward{background:#c084fc0f;border:1px solid #c084fc38;border-radius:10px;padding:12px 14px}.create-portforward-title{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:.75rem;font-weight:700}.create-portforward-text{color:var(--text);margin:0;font-size:.875rem;line-height:1.5}.create-portforward-text strong{color:var(--text-h);font-weight:600}.modal--account{width:min(440px,100%)}.account-panel{flex-direction:column;gap:16px;display:flex}.account-intro,.account-hint{color:var(--text);margin:0;font-size:.9rem;line-height:1.45}.account-tabs{gap:8px;display:flex}.account-tab{font:inherit;letter-spacing:.04em;text-transform:uppercase;color:var(--text);cursor:pointer;background:var(--bg);border:1px solid var(--border);border-radius:8px;flex:1;padding:8px 10px;font-size:.85rem;font-weight:700}.account-tab--active{color:var(--text-h);border-color:var(--accent-border);background:color-mix(in srgb, var(--surface) 70%, var(--accent) 12%)}.account-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-clerk{justify-content:center;align-items:flex-start;width:100%;min-height:120px;display:flex}.account-clerk .cl-rootBox,.account-clerk .cl-cardBox,.account-clerk .cl-card{width:100%;max-width:100%;margin-left:auto;margin-right:auto}.account-signed-in{align-items:center;gap:14px;display:flex}.account-signed-in-text{flex-direction:column;gap:4px;min-width:0;display:flex}.account-username{color:var(--text-h);margin:0;font-size:1.15rem;font-weight:700}.account-notes{color:var(--text);margin:0;padding-left:1.15rem;font-size:.875rem;line-height:1.5}.account-notes strong{color:var(--text-h)}.account-env-hint{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;margin:0;padding:12px 14px;font-size:.8rem;line-height:1.45;overflow-x:auto}.account-username-banner{border:1px solid color-mix(in srgb, #fbbf24 35%, var(--border));background:color-mix(in srgb, #fbbf24 10%, var(--bg));color:var(--text-h);border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem;font-weight:600}.account-username-form{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.account-username-form-head{flex-direction:column;gap:4px;display:flex}.account-username-form-title{color:var(--text-h);margin:0;font-size:.95rem;font-weight:700}.account-username-field{flex-direction:column;gap:6px;display:flex}.account-username-save{font:inherit;letter-spacing:.04em;text-transform:uppercase;color:#0c0e14;cursor:pointer;background:#5b8cff;border:none;border-radius:8px;align-self:flex-start;padding:10px 16px;font-size:.9rem;font-weight:700}.account-username-save:hover:not(:disabled){filter:brightness(1.06)}.account-username-save:disabled{opacity:.5;cursor:not-allowed}.account-username-save:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-hint--foot{opacity:.9;font-size:.8rem}.account-sign-out-row{border-top:1px solid var(--border);justify-content:flex-start;padding-top:4px;display:flex}.account-sign-out-btn{font:inherit;letter-spacing:.04em;text-transform:uppercase;color:#fecaca;cursor:pointer;background:color-mix(in srgb, #ef4444 12%, var(--bg));border:1px solid color-mix(in srgb, #ef4444 40%, var(--border));border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:700;transition:background .15s,border-color .15s}.account-sign-out-btn:hover:not(:disabled){background:color-mix(in srgb, #ef4444 22%, var(--bg));border-color:color-mix(in srgb, #ef4444 55%, var(--border))}.account-sign-out-btn:disabled{opacity:.55;cursor:not-allowed}.account-sign-out-btn:focus-visible{outline-offset:2px;outline:2px solid #f87171}.find-alert--ok{border-color:color-mix(in srgb, #34d399 40%, var(--border));background:color-mix(in srgb, #34d399 10%, var(--bg));color:var(--text-h)}.modal--party{width:min(520px,100%);max-height:min(92svh,820px)}.modal--party-wide{width:min(980px,100%);max-height:min(94svh,900px)}.party-body{flex-direction:column;gap:14px;display:flex}.party-body--split{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:start;gap:18px 22px;display:grid}@media (width<=820px){.party-body--split{grid-template-columns:1fr}}.party-col{flex-direction:column;gap:12px;min-width:0;display:flex}.party-col--status{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, #0a0c12);border-radius:12px;padding:14px 14px 16px}.party-col-title{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.78rem;font-weight:800}.party-col-title--queue{margin-top:6px}.party-col-intro{color:var(--text);margin:0;font-size:.86rem;line-height:1.45}.party-match-card{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface));border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.party-match-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.party-match-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text);opacity:.8;font-size:.72rem;font-weight:700}.party-match-value{color:var(--text-h);text-align:right;font-size:.9rem;font-weight:700}.party-match-value--good{color:#3dd68c}.party-match-value--bad{color:#fca5a5}.party-match-void{color:#fbbf24;margin:0;font-size:.78rem}.party-match-hint{color:var(--text);opacity:.9;margin:4px 0 0;font-size:.78rem;line-height:1.4}.party-queue-rules{color:var(--text);margin:0;font-size:.8rem;line-height:1.4}.party-queue-empty{border:1px dashed var(--border);color:var(--text);opacity:.85;border-radius:8px;margin:0;padding:12px;font-size:.85rem}.party-queue-list{flex-direction:column;gap:8px;max-height:min(42vh,360px);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.party-queue-item{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.party-queue-item--you{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent)}.party-queue-item--offer{border-color:color-mix(in srgb, #3dd68c 55%, var(--border));background:color-mix(in srgb, #3dd68c 10%, var(--surface))}.party-queue-pos{color:var(--accent);flex:none;min-width:2rem;font-size:.85rem;font-weight:800}.party-queue-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.party-queue-leader{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.party-queue-meta{color:var(--text);font-size:.72rem}.party-queue-timer{font-variant-numeric:tabular-nums;color:#3dd68c;flex:none;font-size:.95rem;font-weight:800}.party-join-offer{border:1px solid color-mix(in srgb, #3dd68c 50%, var(--border));background:color-mix(in srgb, #3dd68c 12%, var(--surface));border-radius:8px;padding:10px 12px}.party-join-offer strong{color:#3dd68c;margin-bottom:4px;display:block}.party-join-offer p{color:var(--text);margin:0;font-size:.84rem}.party-agg-queue{color:#3dd68c;font-weight:800}.party-session{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 8%, var(--surface));border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding:10px 12px;display:flex}.party-session-label{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.68rem;font-weight:700}.party-session-value{color:var(--text-h);font-size:.88rem;font-weight:600}.party-empty{flex-direction:column;align-items:flex-start;gap:12px;padding:8px 0;display:flex}.party-agg{color:var(--text);flex-wrap:wrap;gap:8px 14px;font-size:.8rem;font-weight:600;display:flex}.party-members{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.party-member{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.party-member--leader{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent)}.party-member-main{flex-direction:column;gap:2px;min-width:0;display:flex}.party-member-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-weight:700;display:flex;overflow:hidden}.party-presence{width:8px;height:8px;box-shadow:0 0 0 1px color-mix(in srgb, var(--border) 60%, transparent);border-radius:50%;flex:none}.party-presence--ready{background:#3dd68c;box-shadow:0 0 0 1px #3dd68c73,0 0 8px #3dd68c8c}.party-presence--not-ready{background:color-mix(in srgb, var(--text) 35%, transparent)}.party-presence-label{letter-spacing:.02em;text-transform:uppercase;color:var(--text);opacity:.75;margin-left:2px;font-size:.68rem;font-weight:600}.party-member--ready .party-presence-label{color:#3dd68c;opacity:.95}.party-member-stats{color:var(--text);font-size:.75rem}.party-invite{flex-direction:column;gap:6px;display:flex}.party-invite-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:.72rem;font-weight:700}.party-invite-row{gap:8px;display:flex}.party-invite-input{min-width:0;font:inherit;color:var(--text-h);background:var(--bg);border:1px solid var(--border);border-radius:8px;flex:1;padding:8px 10px}.party-invite-input:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:1px}.party-waiting{border:1px solid color-mix(in srgb, #fbbf24 40%, var(--border));background:color-mix(in srgb, #fbbf24 10%, var(--bg));color:var(--text-h);border-radius:8px;padding:10px 12px}.party-waiting strong{color:#fbbf24;margin-bottom:4px;display:block}.party-waiting p{color:var(--text);margin:0 0 8px;font-size:.85rem}.party-status{color:var(--accent);margin:0;font-size:.85rem;font-weight:600}.party-error{color:#fca5a5;margin:0;font-size:.85rem;font-weight:600}.party-hint{color:var(--text);margin:0;font-size:.85rem}.party-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.party-ready-notice{border:1px solid color-mix(in srgb, #3dd68c 35%, var(--border));background:color-mix(in srgb, #3dd68c 10%, var(--surface));color:var(--text);border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.4}.party-ready-notice strong{color:#3dd68c}.party-primary-btn,.party-secondary-btn,.party-danger-btn,.party-kick-btn,.party-ready-btn{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-weight:700}.party-primary-btn{color:#0c0d12;background:linear-gradient(#fcd34d 0%,#f59e0b 100%);border-color:#0000}.party-primary-btn:hover:not(:disabled){filter:brightness(1.05)}.party-primary-btn:disabled{opacity:.55;cursor:not-allowed}.party-ready-btn{color:#3dd68c;background:color-mix(in srgb, #3dd68c 18%, var(--surface));border-color:color-mix(in srgb, #3dd68c 45%, var(--border))}.party-ready-btn:hover:not(:disabled){background:color-mix(in srgb, #3dd68c 28%, var(--surface));border-color:color-mix(in srgb, #3dd68c 60%, var(--border))}.party-ready-btn:disabled{opacity:.55;cursor:not-allowed}.party-secondary-btn{color:var(--text-h);background:var(--surface)}.party-secondary-btn:hover:not(:disabled){border-color:var(--accent)}.party-danger-btn{color:#fecaca;background:color-mix(in srgb, #ef4444 18%, var(--surface));border-color:color-mix(in srgb, #ef4444 40%, var(--border))}.party-kick-btn{color:#fecaca;border-color:color-mix(in srgb, #ef4444 35%, var(--border));background:0 0;flex-shrink:0;padding:4px 10px;font-size:.75rem}.party-kick-btn:hover:not(:disabled){background:#ef444426}.modal--rankings{width:min(640px,100%);max-height:min(92svh,880px)}.rankings{flex-direction:column;gap:18px;display:flex}.rankings-panel{gap:14px}.rank-profile-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rank-profile-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 2px;font-size:.7rem;font-weight:600}.rank-profile-name{letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:1.35rem;font-weight:700}.rank-lb-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rank-lb-head .settings-section-desc{flex:1;min-width:0}.rank-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}@media (width>=520px){.rank-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.rank-stat{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;margin:0;padding:12px 12px 10px;display:flex}.rank-stat--accent{border-color:var(--accent-border);background:color-mix(in srgb, var(--bg) 70%, var(--accent) 12%);box-shadow:0 0 24px -8px #c084fc59}.rank-stat dt{letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-size:.68rem;font-weight:600}.rank-stat dd{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:1.35rem;font-weight:700;line-height:1.15}.rank-stat-sub{color:var(--text)!important;letter-spacing:0!important;font-size:.75rem!important;font-weight:500!important}.rank-charts-row{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=520px){.rank-charts-row{grid-template-columns:1fr 1fr}}.rank-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.rank-card-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:0;font-size:.78rem;font-weight:700}.rank-donut-block{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.rank-donut-wrap{flex-shrink:0;position:relative}.rank-donut{border-radius:50%;-webkit-mask:radial-gradient(circle,#0000 52%,#000 53%);mask:radial-gradient(circle,#0000 52%,#000 53%)}.rank-donut-hole{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rank-donut-pct{font-variant-numeric:tabular-nums;color:var(--text-h);font-size:1.25rem;font-weight:700;line-height:1}.rank-donut-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin-top:4px;font-size:.65rem;font-weight:600}.rank-legend-list{color:var(--text);flex-direction:column;gap:8px;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.rank-legend-list strong{color:var(--text-h);font-variant-numeric:tabular-nums}.rank-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.rank-dot--win,.rank-dot--kill{background:#4ade80;box-shadow:0 0 8px #4ade8073}.rank-dot--loss,.rank-dot--death{background:#f87171;box-shadow:0 0 8px #f8717166}.rank-dot--draw{background:#a78bfa;box-shadow:0 0 8px #a78bfa73}.rank-combat{flex-direction:column;gap:10px;display:flex}.rank-combat-bar{background:var(--surface);border:1px solid var(--border);border-radius:999px;height:14px;display:flex;overflow:hidden}.rank-combat-kills{background:linear-gradient(90deg,#22c55e,#4ade80);min-width:2px;transition:width .35s}.rank-combat-deaths{background:linear-gradient(90deg,#f87171,#ef4444);min-width:2px;transition:width .35s}.rank-combat-legend{color:var(--text);flex-wrap:wrap;gap:10px 14px;font-size:.8rem;display:flex}.rank-combat-kd{font-variant-numeric:tabular-nums;color:var(--text-h);margin-left:auto;font-weight:700}.rank-sparkline{flex-direction:column;gap:8px;display:flex}.rank-sparkline-svg{width:100%;height:auto;max-height:88px;display:block}.rank-sparkline-legend{color:var(--text);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;font-size:.8rem;display:flex}.rank-sparkline-legend strong{color:var(--text-h)}.rank-delta--up{color:#4ade80;font-weight:600}.rank-delta--down{color:#f87171;font-weight:600}.rank-bar-chart{flex-direction:column;gap:8px;display:flex}.rank-bar-row{grid-template-columns:36px minmax(0,1.1fr) minmax(0,2fr) 48px 2rem;align-items:center;gap:8px;font-size:.8rem;display:grid}.rank-bar-row--you .rank-bar-name{color:var(--accent);font-weight:700}.rank-bar-row--you .rank-bar-fill{background:linear-gradient(90deg,#c084fcd9,#a78bfa);box-shadow:0 0 12px #c084fc59}.rank-bar-rank{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.rank-bar-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-h);font-weight:500;overflow:hidden}.rank-bar-track{background:var(--surface);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.rank-bar-fill{background:linear-gradient(90deg,#c084fc73,#c084fcf2);border-radius:999px;height:100%;transition:width .4s}.rank-bar-mmr{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-h);font-weight:700}.rank-bar-level{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text);text-align:right;opacity:.85;min-width:1.75rem;font-size:.68rem;font-weight:600}.rank-xp-progress{flex-direction:column;gap:8px;display:flex}.rank-xp-progress-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rank-xp-progress-label{color:var(--text-h);letter-spacing:-.02em;font-size:.95rem;font-weight:700}.rank-xp-progress-nums{font-variant-numeric:tabular-nums;color:var(--text);font-size:.78rem;font-weight:600}.rank-xp-bar{background:color-mix(in srgb, var(--border) 70%, transparent);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.rank-xp-bar-fill{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 75%, #60a5fa), var(--accent));min-width:0;height:100%;transition:width .35s;box-shadow:0 0 12px -2px #c084fc8c}.rank-xp-progress-total{color:var(--text);margin:0;font-size:.75rem}.rank-table-level{color:var(--text-h);font-weight:600}.rank-pill--void{background:color-mix(in srgb, var(--border) 55%, transparent);color:var(--text);border:1px solid var(--border)}.rank-pill--inline{margin-left:4px}.rank-table-wrap{border-radius:8px;margin:0 -2px;overflow-x:auto}.rank-table{border-collapse:collapse;width:100%;font-size:.82rem}.rank-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:.68rem;font-weight:700}.rank-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 65%, transparent);color:var(--text-h);vertical-align:middle;padding:9px 10px}.rank-table tbody tr:last-child td{border-bottom:none}.rank-table tbody tr:hover td{background:color-mix(in srgb, var(--surface-hover) 70%, transparent)}.rank-table-row--you td{background:color-mix(in srgb, var(--accent) 12%, transparent)}.rank-table-row--you:hover td{background:color-mix(in srgb, var(--accent) 18%, transparent)}.rank-table-num{font-variant-numeric:tabular-nums;white-space:nowrap}.rank-table-mmr{color:var(--accent);font-weight:700}.rank-table-muted{color:var(--text);font-weight:500}.rank-you-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-left:6px;font-size:.7rem;font-weight:700}.rank-pill{letter-spacing:.04em;background:var(--surface);border:1px solid var(--border);min-width:1.5rem;color:var(--text);border-radius:6px;justify-content:center;align-items:center;padding:2px 6px;font-size:.72rem;font-weight:700;display:inline-flex}.rank-pill--win{color:#86efac;background:#22c55e24;border-color:#22c55e59}.rank-pill--loss{color:#fca5a5;background:#ef44441f;border-color:#ef444452}.rank-pill--draw{color:#c4b5fd;background:#a78bfa24;border-color:#a78bfa59}.rank-medal{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:1.5rem;font-weight:700;display:inline-flex}.rank-medal--gold{color:#fbbf24;text-shadow:0 0 10px #fbbf2473}.rank-medal--silver{color:#d1d5db;text-shadow:0 0 8px #d1d5db59}.rank-medal--bronze{color:#d97706;text-shadow:0 0 8px #d9770666}.rank-empty,.rank-status,.rank-chart-hint{color:var(--text);margin:0;font-size:.875rem;line-height:1.5}.rank-empty code{color:var(--accent);font-size:.8em}.rank-error{color:#fca5a5;margin:0;font-size:.875rem}.rank-error-block{background:#ef444414;border:1px solid #ef444447;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.rank-guest{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.rank-guest-title{color:var(--text-h);margin:0;font-size:1.05rem;font-weight:700}.rank-cta-btn,.rank-refresh-btn{font:inherit;color:var(--text-h);cursor:pointer;background:var(--surface-hover);border:1px solid var(--border);border-radius:8px;align-self:flex-start;padding:8px 14px;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s}.rank-cta-btn{background:color-mix(in srgb, var(--surface) 55%, var(--accent) 22%);border-color:var(--accent-border)}.rank-cta-btn:hover,.rank-refresh-btn:hover:not(:disabled){border-color:var(--accent-border);background:color-mix(in srgb, var(--surface-hover) 75%, var(--accent) 16%)}.rank-cta-btn:focus-visible,.rank-refresh-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rank-refresh-btn:disabled{opacity:.55;cursor:default}.fps-demo{z-index:10;--fps-accent:#38bdf8;--fps-accent-soft:#7dd3fc;--fps-accent-deep:#0369a1;--fps-accent-muted:#bae6fd;--fps-accent-rgb:56, 189, 248;background:#0c0d12;position:fixed;inset:0}.fps-demo[data-team=b]{--fps-accent:#ef4444;--fps-accent-soft:#f87171;--fps-accent-deep:#b91c1c;--fps-accent-muted:#fecaca;--fps-accent-rgb:239, 68, 68}.fps-canvas{width:100%;height:100%}.fps-canvas canvas{width:100%;height:100%;display:block}.fps-crosshair{pointer-events:none;z-index:11;will-change:transform, width, height;border:1.5px solid #ffffffd9;border-radius:50%;width:10px;height:10px;margin:0;transition:width 80ms ease-out,height 80ms ease-out,border-color 80ms,box-shadow 80ms;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000059}.fps-scope{--scope-r:min(29vmin, 220px);z-index:11;pointer-events:none;opacity:0;visibility:hidden;will-change:opacity;position:fixed;inset:0}.fps-scope--on{visibility:visible}.fps-scope-overlay{background:radial-gradient(circle var(--scope-r) at 50% 50%, transparent 0%, transparent 97.5%, #04060cc7 100%);position:absolute;inset:0}.fps-scope-ring{width:calc(var(--scope-r) * 2);height:calc(var(--scope-r) * 2);box-sizing:border-box;box-shadow:0 0 0 2px rgba(var(--fps-accent-rgb), .4), 0 0 0 6px #080a10d9, inset 0 0 0 1px #ffffff1a, inset 0 0 28px #00000059;border:3px solid #0c0e14f5;border-radius:50%;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fps-scope-reticle{width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fps-scope-reticle-h,.fps-scope-reticle-v{background:#f0f4fae0;position:absolute;box-shadow:0 0 0 1px #00000059}.fps-scope-reticle-h{width:44px;height:1.5px;top:0;left:-22px;transform:translateY(-50%)}.fps-scope-reticle-v{width:1.5px;height:44px;top:-22px;left:0;transform:translate(-50%)}.fps-scope-reticle-dot{width:4px;height:4px;box-shadow:0 0 0 1px #0006, 0 0 6px rgba(var(--fps-accent-rgb), .55);background:#fffffff2;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.fps-scope--hit .fps-scope-reticle-h,.fps-scope--hit .fps-scope-reticle-v{background:#f87171}.fps-scope--hit .fps-scope-reticle-dot{background:#fca5a5;box-shadow:0 0 0 1px #0006,0 0 10px #f87171bf}.fps-hud{z-index:12;pointer-events:none;position:fixed;inset:0}.fps-top-left{pointer-events:none;z-index:13;align-items:center;gap:8px;display:flex;position:absolute;top:16px;left:16px}.fps-exit{pointer-events:auto;font:inherit;color:#f3f4f6;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16171dbf;border:1px solid #2e303a;border-radius:8px;padding:8px 14px;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s}.fps-exit:hover{border-color:rgba(var(--fps-accent-rgb), .55);background:#1c1e26e6}.fps-exit:focus-visible{outline:2px solid var(--fps-accent);outline-offset:2px}.fps-connection-icon{pointer-events:none;color:#fbbf24;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16171dbf;border:1px solid #fbbf2473;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;animation:1.2s ease-in-out infinite fps-connection-icon-pulse;display:inline-flex;box-shadow:0 0 12px #fbbf2433}.fps-connection-icon-svg{flex-shrink:0;display:block}@keyframes fps-connection-icon-pulse{0%,to{opacity:1}50%{opacity:.55}}.fps-prompt{text-align:center;color:#f3f4f6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#16171dcc;border:1px solid #2e303a;border-radius:8px;max-width:min(90vw,520px);margin:0;padding:10px 16px;font-size:.9rem;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.fps-net-status{letter-spacing:.02em;color:#86efac;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#16171dbf;border:1px solid #22c55e59;border-radius:8px;margin:0;padding:8px 12px;font-size:.8rem;font-weight:600;position:absolute;top:16px;right:16px}.fps-minimap{pointer-events:none;background:0 0;width:168px;height:168px;position:absolute;top:16px;right:16px}.fps-minimap-canvas{background:0 0;width:168px;height:168px;display:block}.fps-scoreboard{pointer-events:none;align-items:stretch;gap:10px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.fps-score{text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16171dd9;border:1px solid #2e303a;border-radius:10px;min-width:72px;padding:8px 14px}.fps-score--a{border-color:#38bdf873}.fps-score--b{border-color:#ef444480}.fps-score--you{box-shadow:0 0 0 2px rgba(var(--fps-accent-rgb), .5)}.fps-score-label{letter-spacing:.1em;text-transform:uppercase;color:#9ca3af;font-size:.65rem;font-weight:700;display:block}.fps-score--a .fps-score-label{color:#7dd3fc}.fps-score--b .fps-score-label{color:#f87171}.fps-score-value{font-variant-numeric:tabular-nums;color:#f3f4f6;margin-top:2px;font-size:1.5rem;font-weight:800;line-height:1.1;display:block}.fps-score-mid{flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:88px;padding:2px 8px;display:flex}.fps-map-name{color:var(--fps-accent-soft);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.65rem;font-weight:600;overflow:hidden}.fps-score-vs{letter-spacing:.12em;text-transform:uppercase;color:#6b7280;font-size:.65rem;font-weight:700}.fps-match-clock{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#f3f4f6;text-shadow:0 1px 8px #00000073;font-size:1.05rem;font-weight:800;line-height:1.1}.fps-match-clock--low{color:#fca5a5}.fps-match-clock--warmup{color:#fbbf24;letter-spacing:.14em;font-size:.85rem}.fps-doors-status{letter-spacing:.12em;text-transform:uppercase;min-width:148px;color:var(--fps-accent-muted);border:1px solid rgba(var(--fps-accent-rgb), .4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;white-space:nowrap;box-sizing:border-box;background:#16171dbf;border-radius:8px;justify-content:space-between;align-items:baseline;gap:12px;margin-top:5px;padding:5px 12px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:78px;left:50%;transform:translate(-50%)}.fps-doors-status--open{border-color:rgba(var(--fps-accent-rgb), .4);box-shadow:0 0 10px rgba(var(--fps-accent-rgb), .12)}.fps-doors-status--closed{box-shadow:none;color:#9ca3af;background:#0c0c10e0;border-color:#0a0b10}.fps-doors-status-label{letter-spacing:.1em;text-transform:uppercase;color:var(--fps-accent-soft);font-size:.68rem;font-weight:700}.fps-doors-status--closed .fps-doors-status-label{color:#9ca3af}.fps-doors-status-timer{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--fps-accent-muted);text-align:right;min-width:2.5ch;font-size:.95rem;font-weight:800}.fps-doors-status--closed .fps-doors-status-timer{color:#a1a1aa}.fps-prematch{z-index:14;pointer-events:auto;max-width:min(320px,100vw - 32px);position:absolute;top:60px;left:16px}.fps-prematch-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;background:#0c0d12e0;border:1px solid #fbbf2459;border-radius:12px;flex-direction:column;align-items:stretch;gap:6px;padding:12px 14px 14px;display:flex;box-shadow:0 8px 28px #00000073}.fps-prematch-kicker{letter-spacing:.16em;text-transform:uppercase;color:#fbbf24;margin:0;font-size:.65rem;font-weight:700}.fps-prematch-title{color:#f3f4f6;letter-spacing:.02em;margin:0;font-size:1.15rem;font-weight:800}.fps-prematch-sub{letter-spacing:.04em;color:#9ca3af;margin:0;font-size:.72rem;font-weight:600}.fps-prematch-gate{color:#d1d5db;margin:2px 0 4px;font-size:.78rem;font-weight:600}.fps-prematch-teams{letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 8px;font-size:.75rem;font-weight:700;display:flex}.fps-prematch-team--a{color:#7dd3fc}.fps-prematch-team--b{color:#fca5a5}.fps-prematch-vs{color:#6b7280;font-size:.65rem}.fps-prematch-ready{letter-spacing:.08em;text-transform:uppercase;color:#0c0d12;cursor:pointer;background:linear-gradient(#fcd34d 0%,#f59e0b 100%);border:none;border-radius:8px;width:100%;padding:10px 16px;font-size:.85rem;font-weight:800;transition:transform .12s,filter .12s,background .12s;box-shadow:0 2px 12px #f59e0b59}.fps-prematch-ready:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.fps-prematch-ready:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;color:#e5e7eb;background:#374151}.fps-prematch-ready--on{color:#ecfdf5;background:linear-gradient(#34d399 0%,#059669 100%);box-shadow:0 2px 12px #05966966}.fps-match-voided{z-index:14;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#1c0c0ce6;border:1px solid #f8717173;border-radius:10px;max-width:min(440px,100vw - 32px);padding:10px 16px 12px;position:absolute;top:118px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.fps-match-voided-title{letter-spacing:.04em;color:#fecaca;margin:0 0 4px;font-size:.95rem;font-weight:800}.fps-match-voided-sub{color:#d1d5db;margin:0;font-size:.75rem;font-weight:600;line-height:1.35}.fps-match-voided-sub strong{color:#fca5a5;font-weight:800}.fps-crosshair--hit{border-color:#f87171;box-shadow:0 0 0 1px #00000059,0 0 12px #f87171b3}.fps-status{flex-direction:row;align-items:flex-end;gap:10px;max-width:calc(100vw - 40px);display:flex;position:absolute;bottom:20px;left:20px}.fps-weapon{box-sizing:border-box;letter-spacing:.12em;text-transform:uppercase;width:152px;color:var(--fps-accent-muted);border:1px solid rgba(var(--fps-accent-rgb), .4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16171dbf;border-radius:8px;flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:5px 10px;font-size:.75rem;font-weight:700;display:flex}.fps-weapon-text{flex-direction:column;gap:2px;min-width:0;display:flex}.fps-weapon-icon-wrap{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;display:flex}.fps-weapon-icon{color:var(--fps-accent-soft);opacity:.95;filter:drop-shadow(0 0 4px rgba(var(--fps-accent-rgb), .4));flex-shrink:0}.fps-weapon-hud-icon{transform-origin:50% 100%;will-change:transform, opacity;justify-content:center;align-items:center;display:flex}.fps-weapon-cooldown{background:#0c0d12e6;border-radius:999px;width:100%;min-width:28px;height:3px;overflow:hidden;box-shadow:inset 0 0 0 1px #2e303a}.fps-weapon-cooldown-fill{border-radius:inherit;will-change:width;background:var(--fps-accent);width:0%;height:100%;display:block}.fps-weapon-cooldown--fire .fps-weapon-cooldown-fill{background:linear-gradient(90deg, var(--fps-accent-deep), var(--fps-accent));box-shadow:0 0 5px rgba(var(--fps-accent-rgb), .65)}.fps-weapon-cooldown--reload .fps-weapon-cooldown-fill{background:linear-gradient(90deg,#ca8a04,#fde68a);box-shadow:0 0 5px #fde68a8c}.fps-weapon--empty .fps-weapon-icon{color:#f87171;filter:drop-shadow(0 0 4px #f8717159)}.fps-weapon--reload .fps-weapon-icon{color:#fde68a;filter:drop-shadow(0 0 4px #fde68a4d)}.fps-weapon-name{letter-spacing:.14em;color:var(--fps-accent-soft);font-size:.68rem}.fps-weapon-ammo{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#f3f4f6;font-size:1.15rem;line-height:1.15}.fps-weapon-mag{color:#f3f4f6}.fps-weapon-sep{color:#6b7280;margin:0 3px}.fps-weapon-spare{color:#9ca3af;align-items:center;gap:3px;font-size:.95rem;display:inline-flex}.fps-mag-inline{color:#9ca3af;opacity:.9;flex-shrink:0}.fps-weapon--empty .fps-mag-inline{color:#f87171}.fps-weapon--reload .fps-mag-inline{color:#fde68a}.fps-weapon-dry{letter-spacing:.16em;color:#f87171;margin-top:1px;font-size:.65rem}.fps-weapon--reload .fps-weapon-ammo,.fps-weapon--reload .fps-weapon-mag{color:#fde68a}.fps-weapon--reload{border-color:#fde68a66}.fps-weapon--empty{border-color:#f8717173}.fps-health{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16171dcc;border:1px solid #2e303a;border-radius:10px;width:min(220px,40vw);min-width:140px;padding:10px 12px}.fps-health-label{letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:.75rem;font-weight:700;display:flex}.fps-health-value{font-variant-numeric:tabular-nums;color:#f3f4f6;font-size:1.1rem}.fps-health-bar{background:#0c0d12;border:1px solid #2e303a;border-radius:999px;height:8px;overflow:hidden}.fps-health-fill{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#86efac);height:100%;transition:width .12s}.fps-health--mid .fps-health-fill{background:linear-gradient(90deg,#eab308,#fde047)}.fps-health--low .fps-health-fill{background:linear-gradient(90deg,#dc2626,#f87171)}.fps-health--low .fps-health-value{color:#fca5a5}.fps-sprint-label{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;justify-content:space-between;align-items:baseline;margin-top:8px;margin-bottom:4px;font-size:.65rem;font-weight:700;display:flex}.fps-sprint-bar{background:#0c0d12;border:1px solid #2e303a;border-radius:999px;height:5px;overflow:hidden}.fps-sprint-fill{border-radius:inherit;will-change:width;background:linear-gradient(90deg,#38bdf8,#a5f3fc);height:100%}.fps-sprint-bar--empty{border-color:#3f3f46}.fps-sprint-bar--empty .fps-sprint-fill{background:0 0}.fps-kill-feed{pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(56vw,420px);margin:0;padding:0;list-style:none;display:flex;position:absolute;top:196px;right:16px}.fps-kill-feed-item{letter-spacing:.01em;color:#f3f4f6;text-shadow:0 1px 6px #0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0d12b8;border:1px solid #2e303ae6;border-radius:8px;flex-direction:row;align-items:center;gap:8px;margin:0;padding:5px 10px;font-size:.88rem;font-weight:700;animation:.2s ease-out fps-kill-in;display:flex}.fps-kill-feed-item--head{border-color:#fbbf2473;box-shadow:0 0 12px #fbbf241f}.fps-kill-feed-name{white-space:nowrap;text-overflow:ellipsis;max-width:9.5em;overflow:hidden}.fps-kill-feed-weapon{color:#e5e7eb;opacity:.92;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.fps-kill-feed-weapon-icon{width:auto;height:14px;color:inherit;filter:drop-shadow(0 0 3px #ffffff2e)}.fps-kill-feed-headshot{color:#fde68a;filter:drop-shadow(0 0 5px #fbbf248c);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.fps-kill-feed-headshot-icon{width:18px;height:18px;display:block}@keyframes fps-kill-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.fps-fireworks{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.fps-gameover{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto;background:#04050a9e;justify-content:center;align-items:center;padding:24px 16px;animation:.18s ease-out fps-tab-in;display:flex;position:absolute;inset:0}.fps-gameover-card{z-index:1;width:min(920px,100%);max-height:min(90vh,820px);box-shadow:0 28px 80px #000000a6, 0 0 0 1px rgba(var(--fps-accent-rgb), .12);background:#101118f5;border:1px solid #2e303a;border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.fps-gameover-header{text-align:center;border-bottom:1px solid #2e303a;padding:18px 20px 16px}.fps-gameover-header--a{background:linear-gradient(#38bdf829 0%,#0000 100%);box-shadow:inset 0 3px #38bdf8}.fps-gameover-header--b{background:linear-gradient(#ef444429 0%,#0000 100%);box-shadow:inset 0 3px #ef4444}.fps-gameover-header--draw{background:linear-gradient(#a78bfa29 0%,#0000 100%);box-shadow:inset 0 3px #a78bfa}.fps-gameover-header--loading{background:linear-gradient(#38bdf81f 0%,#0000 100%);box-shadow:inset 0 3px #38bdf8a6}.fps-gameover-kicker{letter-spacing:.22em;text-transform:uppercase;color:#9ca3af;margin:0 0 6px;font-size:.72rem;font-weight:800}.fps-gameover-title{letter-spacing:.02em;color:#f3f4f6;margin:0 0 10px;font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:800}.fps-gameover-winner--a{color:#7dd3fc;text-shadow:0 0 24px #38bdf873}.fps-gameover-winner--b{color:#f87171;text-shadow:0 0 24px #ef444473}.fps-gameover-winner--draw{color:#c4b5fd;text-shadow:0 0 24px #a78bfa73}.fps-map-loading-card{width:min(520px,100%);max-height:none}.fps-map-loading-name{color:#7dd3fc;text-shadow:0 0 24px #38bdf866}.fps-gameover-scoreline{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:12px;margin:0 0 8px;display:flex}.fps-gameover-score{font-size:2rem;font-weight:800;line-height:1}.fps-gameover-score--a{color:#7dd3fc}.fps-gameover-score--b{color:#f87171}.fps-gameover-score-sep{color:#6b7280;font-size:1.4rem;font-weight:700}.fps-gameover-sub{color:#9ca3af;margin:0;font-size:.85rem;font-weight:600}.fps-gameover-sub strong{color:var(--fps-accent-soft);font-variant-numeric:tabular-nums}.fps-gameover-teams{flex:1;min-height:0;overflow:hidden}.fps-map-vote{background:#080a108c;border-top:1px solid #2e303a;flex-shrink:0;padding:14px 16px 16px}.fps-map-vote-header{text-align:center;margin-bottom:12px}.fps-map-vote-kicker{letter-spacing:.2em;text-transform:uppercase;color:#9ca3af;margin:0 0 4px;font-size:.68rem;font-weight:800}.fps-map-vote-title{color:#f3f4f6;margin:0 0 4px;font-size:1rem;font-weight:800}.fps-map-vote-sub{color:#9ca3af;margin:0;font-size:.78rem;font-weight:600}.fps-map-vote-options{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.fps-map-vote-btn{appearance:none;cursor:pointer;color:#e5e7eb;background:#181a22f2;border:1px solid #3a3d48;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;min-width:128px;padding:10px 14px;transition:border-color .12s,background .12s,box-shadow .12s,transform .1s;display:flex}.fps-map-vote-btn:hover{background:#1e2430fa;border-color:#38bdf88c}.fps-map-vote-btn:active{transform:scale(.98)}.fps-map-vote-btn--selected{background:#0e283af2;border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf859,0 0 20px #38bdf82e}.fps-map-vote-btn--leading:not(.fps-map-vote-btn--selected){border-color:#a78bfa73}.fps-map-vote-btn-name{letter-spacing:.01em;font-size:.92rem;font-weight:800}.fps-map-vote-btn-count{font-variant-numeric:tabular-nums;color:#7dd3fc;font-size:.85rem;font-weight:700}.fps-map-vote-btn-count-label{color:#9ca3af;font-size:.75rem;font-weight:600}.fps-tab-scoreboard{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#06070c8c;justify-content:center;align-items:center;padding:24px 16px;animation:.12s ease-out fps-tab-in;display:flex;position:absolute;inset:0}@keyframes fps-tab-in{0%{opacity:0}to{opacity:1}}.fps-tab-scoreboard-card{width:min(920px,100%);max-height:min(78vh,640px);box-shadow:0 24px 64px #0000008c, 0 0 0 1px rgba(var(--fps-accent-rgb), .1);background:#101118f0;border:1px solid #2e303a;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.fps-tab-scoreboard-header{border-bottom:1px solid #2e303a;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px 12px;display:flex}.fps-tab-scoreboard-title{letter-spacing:.08em;text-transform:uppercase;color:#f3f4f6;margin:0;font-size:1rem;font-weight:800}.fps-tab-scoreboard-sub{color:#9ca3af;margin:0;font-size:.75rem;font-weight:600}.fps-tab-scoreboard-teams{flex:1;grid-template-columns:1fr 1fr;gap:0;min-height:0;display:grid;overflow:hidden}.fps-tab-team{flex-direction:column;min-width:0;min-height:0;padding:12px 14px 14px;display:flex}.fps-tab-team--a{border-right:1px solid #2e303a}.fps-tab-team-header{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;display:flex}.fps-tab-team--a .fps-tab-team-header{background:#38bdf81a;border:1px solid #38bdf847}.fps-tab-team--b .fps-tab-team-header{background:#ef44441a;border:1px solid #ef44444d}.fps-tab-team-name{letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:800}.fps-tab-team--a .fps-tab-team-name{color:#7dd3fc}.fps-tab-team--b .fps-tab-team-name{color:#f87171}.fps-tab-team-score{font-variant-numeric:tabular-nums;color:#f3f4f6;font-size:1.25rem;font-weight:800;line-height:1}.fps-tab-cols,.fps-tab-row{grid-template-columns:minmax(0,1fr) 48px 48px 36px 36px;align-items:center;gap:6px;display:grid}.fps-tab-cols{letter-spacing:.1em;text-transform:uppercase;color:#6b7280;padding:0 10px 6px;font-size:.65rem;font-weight:700}.fps-tab-col-stat{text-align:right;font-variant-numeric:tabular-nums}.fps-tab-rows{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.fps-tab-row{color:#e5e7eb;border-radius:6px;margin:0;padding:7px 10px;font-size:.88rem;font-weight:600}.fps-tab-row:nth-child(odd){background:#ffffff08}.fps-tab-row--you{color:#f8fafc}.fps-tab-team--a .fps-tab-row--you{box-shadow:inset 0 0 0 1px #38bdf866;background:#38bdf824!important}.fps-tab-team--b .fps-tab-row--you{box-shadow:inset 0 0 0 1px #ef444466;background:#ef444424!important}.fps-tab-row--empty{color:#6b7280;grid-template-columns:1fr;font-style:italic;font-weight:500}.fps-tab-col-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.fps-tab-you-tag{letter-spacing:.08em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.6rem;font-weight:800}.fps-tab-team--a .fps-tab-you-tag{color:#e0f2fe;background:#38bdf847}.fps-tab-team--b .fps-tab-you-tag{color:#fee2e2;background:#ef444447}.fps-tab-connection-icon{color:#fbbf24;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.fps-tab-top-star{color:#fbbf24;filter:drop-shadow(0 0 4px #fbbf24a6);flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.fps-tab-row--top .fps-tab-col-name,.fps-tab-row--connection-issue .fps-tab-col-name{color:#fde68a}.fps-tab-afk-tag{letter-spacing:.08em;text-transform:uppercase;color:#e5e7eb;background:#6b728073;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.6rem;font-weight:800}.fps-tab-row--afk .fps-tab-col-name{color:#9ca3af}@media (width<=640px){.fps-tab-scoreboard-teams{grid-template-columns:1fr}.fps-tab-team--a{border-bottom:1px solid #2e303a;border-right:none}.fps-tab-scoreboard-card{max-height:88vh}}.fps-status-flash{letter-spacing:.04em;text-transform:uppercase;color:#fecaca;text-shadow:0 2px 12px #0009;pointer-events:none;z-index:2;margin:0;padding:8px 16px;font-size:1.1rem;font-weight:800;animation:.15s ease-out fps-flash-in;position:absolute;top:28%;left:50%;transform:translate(-50%)}.fps-status-flash--reload{color:#fde68a;letter-spacing:.14em;animation:.15s ease-out fps-flash-in,.9s ease-in-out infinite fps-reload-pulse;top:34%}.fps-status-flash--empty{color:#fca5a5;letter-spacing:.12em;animation:.15s ease-out fps-flash-in,1s ease-in-out infinite fps-reload-pulse;top:34%}@keyframes fps-reload-pulse{0%,to{opacity:1}50%{opacity:.72}}@keyframes fps-flash-in{0%{opacity:0;transform:translate(-50%)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}.fps-death-overlay{pointer-events:none;background:#0c0d128c;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.fps-connection-overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;text-align:center;background:#080a10c7;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.fps-connection-title{letter-spacing:-.02em;color:#fbbf24;text-shadow:0 2px 16px #0000008c;margin:0;font-size:1.85rem;font-weight:800}.fps-connection-sub{font-variant-numeric:tabular-nums;color:#f3f4f6;margin:0;font-size:1.05rem;font-weight:600}.fps-connection-hint{color:#9ca3af;max-width:28rem;margin:0;font-size:.9rem;line-height:1.45}.fps-connection-leave{font:inherit;color:#f3f4f6;cursor:pointer;background:#16171de6;border:1px solid #4b5563;border-radius:8px;margin-top:8px;padding:8px 16px;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s}.fps-connection-leave:hover{background:#1f212af2;border-color:#9ca3af}.fps-exit-confirm{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#080a10c7;justify-content:center;align-items:center;padding:24px 16px;animation:.15s ease-out fps-tab-in;display:flex;position:absolute;inset:0}.fps-exit-confirm-card{width:min(360px,100%);box-shadow:0 24px 64px #000000a6, 0 0 0 1px rgba(var(--fps-accent-rgb), .1);text-align:center;background:#101118f5;border:1px solid #2e303a;border-radius:14px;padding:22px 20px 18px}.fps-exit-confirm-title{letter-spacing:-.02em;color:#f3f4f6;margin:0 0 8px;font-size:1.35rem;font-weight:800}.fps-exit-confirm-desc{color:#9ca3af;margin:0 0 18px;font-size:.925rem;line-height:1.45}.fps-exit-confirm-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.fps-exit-confirm-cancel,.fps-exit-confirm-leave{font:inherit;cursor:pointer;border-radius:8px;padding:9px 16px;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s}.fps-exit-confirm-cancel{color:#f3f4f6;background:#16171de6;border:1px solid #4b5563}.fps-exit-confirm-cancel:hover{background:#1f212af2;border-color:#9ca3af}.fps-exit-confirm-cancel:focus-visible,.fps-exit-confirm-leave:focus-visible{outline:2px solid var(--fps-accent);outline-offset:2px}.fps-exit-confirm-leave{color:#fef2f2;background:#7f1d1d8c;border:1px solid #f871718c}.fps-exit-confirm-leave:hover{background:#991b1bb3;border-color:#fca5a5}.fps-death-title{letter-spacing:-.02em;color:#fca5a5;margin:0;font-size:2rem;font-weight:800}.fps-death-kill{color:#f3f4f6;text-shadow:0 2px 12px #0000008c;margin:0;font-size:1.25rem;font-weight:700}.fps-death-sub{color:#d1d5db;margin:0;font-size:1rem}.fps-hitbox-legend{color:#e5e7eb;background:#0c0d12b8;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:3px;min-width:148px;padding:10px 12px;font-size:.72rem;line-height:1.45;display:flex;position:absolute;bottom:96px;right:16px}.fps-hitbox-legend-title{color:#f3f4f6;margin-bottom:2px;font-size:.75rem;font-weight:700}.fps-hitbox-legend-note{color:#9ca3af;margin-top:4px;font-size:.68rem}.fps-swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block;box-shadow:0 0 0 1px #00000059}.fps-swatch--cyan{background:#22d3ee}.fps-swatch--pink{background:#f472b6}.fps-swatch--lime{background:#a3e635}.fps-swatch--amber{background:#fbbf24}.fps-swatch--white{background:#f8fafc}
