.quick-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:18px;margin-bottom:20px}.quick-grid h2{margin-bottom:16px}.connection-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.connection-actions .btn{font-size:12px}.config-footer{justify-content:flex-end}.preset-toolbar{justify-content:flex-start}.map-metric{position:relative;overflow:hidden;min-height:160px;background:#182127}.map-metric img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.map-metric:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a0f16dd,transparent)}.map-metric>div{position:relative;z-index:1;text-shadow:0 1px 4px #000}.faction-stack{display:grid;gap:14px;margin-top:20px}.faction-stack>div{display:flex;justify-content:space-between;align-items:center;border-left:4px solid var(--team);padding:20px;background:var(--bg);border-radius:8px}.faction-stack strong{font-size:28px}.faction-stack small{font-size:12px}.team-tag{display:inline-block;border:1px solid var(--team);background:color-mix(in srgb,var(--team) 15%,transparent);color:var(--team);padding:6px 11px;border-radius:6px;font-size:12px;white-space:nowrap}.notice-editor{border:1px solid var(--line);border-radius:9px;padding:16px;margin:15px 0}.notice-editor input[type=number]{max-width:110px}.notice-editor .toolbar{flex-wrap:wrap}.id-copy{display:block;color:var(--muted);font-family:monospace;font-size:12px;margin-top:5px;padding:2px 0;cursor:pointer;text-align:left}.simulation-note{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:14px;border:1px dashed #a88b30;background:#a88b3012;border-radius:8px;margin:16px 0;color:var(--muted)}.inspector-header{display:flex;align-items:center;gap:20px;padding-bottom:20px}.inspector-header>.team-tag{margin-left:auto}.steam-identity{width:90px;flex-shrink:0;text-align:center;display:grid;justify-items:center;gap:7px}.steam-identity img,.steam-avatar-placeholder{width:70px;height:70px;border-radius:10px;object-fit:cover;background:var(--bg)}.steam-avatar-placeholder{display:grid;place-items:center;font-size:30px}.steam-identity small{font-size:11px;color:var(--muted);word-break:break-word}.inspector-header h2{margin:0}.inspector-content{min-height:280px}.inspector-content h3{margin:20px 0 12px}.inspector-content .table-wrap{margin:16px 0}.inspector-content td,.inspector-content th{white-space:normal}.inspector-dialog{width:min(1080px,96vw)}.inspector-dialog .dialog-footer{justify-content:flex-end;position:sticky;bottom:-24px;padding:16px 0;background:var(--panel);z-index:2}.inspector-feedback{white-space:pre-wrap;color:var(--accent);line-height:1.6}.kill-player-button{text-align:left;padding:7px;display:grid;gap:5px;border-radius:5px;color:var(--text);background:var(--bg)}.kill-player-button:hover{outline:1px solid var(--accent)}.kill-player-button small{color:var(--muted);font-family:monospace}.nowrap{white-space:nowrap}.overview-metrics{margin-top:22px}@media(max-width:1000px){.quick-grid{grid-template-columns:1fr}.inspector-header{gap:12px;flex-wrap:wrap}}@media(max-width:650px){.inspector-header>.team-tag{margin-left:0}.connection-actions{max-width:240px}.overview-metrics{grid-template-columns:1fr}.inspector-dialog .player-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.inspector-dialog .player-tabs .btn.primary{color:#17191d;background:#ffca22;border-color:#ffca22}

.kill-player-button,.kill-player-button strong,.kill-player-button small{color:var(--team,#eeeeee)}

.connection-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.connection-toolbar .btn{white-space:nowrap}.connection-gear{font-size:20px;min-width:40px;padding:7px 10px}.player-name-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.steam-page-link{font-size:12px}.directory-filters{flex-wrap:wrap}.directory-filters input{min-width:230px}.directory-table{min-width:1100px}.directory-table td{white-space:normal}.directory-table td:first-child{min-width:190px}.directory-table th{white-space:normal}.inspector-server-context{max-width:420px;margin:12px 0}.directory-table .id-copy{white-space:nowrap}@media(max-width:650px){.connection-toolbar{gap:5px}.connection-toolbar .btn{font-size:10px;padding:8px}.connection-toolbar .connection-gear{font-size:18px}.server-banner .page-title>.actions{width:100%}}

.player-name-button{display:inline-flex;max-width:100%;font:inherit;cursor:pointer}.player-name-button strong{white-space:normal;overflow-wrap:anywhere}.player-name-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.directory-table{min-width:1000px}

/* Shared glass treatment for player-name detail buttons. */
.player-name-button{background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:7px 11px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 7px rgba(0,0,0,.10);transition:background .16s,border-color .16s,box-shadow .16s}
.player-name-button:hover{outline:none;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.055));border-color:color-mix(in srgb,var(--team,var(--text)) 45%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 3px 10px rgba(0,0,0,.15)}
.player-name-button:active{background:rgba(255,255,255,.055);box-shadow:inset 0 1px 4px rgba(0,0,0,.15)}
.player-name-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.light .player-name-button{background:linear-gradient(135deg,rgba(255,255,255,.65),rgba(255,255,255,.20));border-color:rgba(0,0,0,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 2px 7px rgba(0,0,0,.06)}
.light .player-name-button:hover{background:rgba(255,255,255,.75);border-color:color-mix(in srgb,var(--team,var(--text)) 45%,transparent)}
@media(prefers-reduced-motion:reduce){.player-name-button{transition:none}}

/* Right-aligned, consistently sized list filters. */
.toolbar.directory-filters,.toolbar.player-controls,.toolbar.audit-toolbar,.toolbar.community-filters,#kill-filters{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px}
.toolbar.directory-filters>input,.toolbar.player-controls>input,.toolbar.audit-toolbar>input,.toolbar.community-filters>input,#kill-filters>input{flex:0 1 260px;width:260px;min-width:0;max-width:100%;margin:0}
.toolbar.directory-filters>select,.toolbar.player-controls>select,.toolbar.audit-toolbar>select,.toolbar.community-filters>select,#kill-filters>select{flex:0 1 170px;width:170px;min-width:0;max-width:100%;margin:0}
#kill-filters>label{display:flex;align-items:center;gap:8px;flex:0 1 auto;margin:0}#kill-filters>label select{width:150px;margin:0}
.toolbar.player-controls>label{margin:0}.toolbar.player-controls>label input{width:90px;min-width:0}
@media(max-width:600px){.toolbar.directory-filters>input,.toolbar.player-controls>input,.toolbar.audit-toolbar>input,.toolbar.community-filters>input,#kill-filters>input{flex-basis:220px;width:220px}#kill-filters>label{justify-content:flex-end}}

/* Unified theme surfaces. Keep brand yellow distinct from readable amber text. */
:root{--bg:#111315;--side:#191c20;--panel:#1c2025;--hover:#282e35;--line:#343b44;--text:#edf1f6;--muted:#a6afbc;--accent:#f4c44e;--brand:#f8c533;--control:#20252b;--control-border:#48525e;--table-head:#232930;--inset:#15191e;--green:#63d9ac;--red:#ff929b;--blue:#91bffd;--success-bg:#193c32;--danger-bg:#40272e;--warning-bg:#39311f;--warning-text:#f1cd77;--selected-bg:#3a321f;--faction-blue:#60bdfa;--faction-red:#ff8378;--faction-green:#50db89;--faction-neutral:#edf1f6;--faction-offline:#a6afbc;--popup-shadow:0 16px 48px #0007;--focus-ring:#f4c44e}
:root.light{--bg:#f2f4f7;--side:#fff;--panel:#fff;--hover:#edf1f5;--line:#d9dfe7;--text:#202b3b;--muted:#566477;--accent:#805600;--brand:#f8c533;--control:#f8fafc;--control-border:#a8b4c3;--table-head:#edf1f5;--inset:#f5f7fa;--green:#14734d;--red:#b33146;--blue:#275eac;--success-bg:#e5f4ec;--danger-bg:#fcecef;--warning-bg:#fff5d9;--warning-text:#77500a;--selected-bg:#fff1c5;--faction-blue:#0870ab;--faction-red:#bd382c;--faction-green:#137b40;--faction-neutral:#354458;--faction-offline:#606d7e;--popup-shadow:0 12px 36px #182b4926;--focus-ring:#99700b}
button:hover{filter:none}
header,.light header{background:var(--side)}
.nav-label,.env,.nav-item,.chart-labels,.activity-item small,.person small,.stat-value small,footer{color:var(--muted)}
.crumb strong,.server-count strong{color:var(--text)}
.crumb span{color:var(--muted)}
.nav-item:hover,.light .nav-item:hover{background:var(--hover);color:var(--text)}
.nav-item.active,.light .nav-item.active,.role-button.active{background:var(--selected-bg);color:var(--accent)}
.workspace-icon,.avatar.amber{background:var(--selected-bg);color:var(--accent)}
.brand-mark{background:var(--brand)}
.avatar,.pill,.nav-item .badge,.activity-icon,.server-symbol{background:var(--hover);color:var(--muted)}
.activity-item,td{border-color:var(--line)}
.progress{background:var(--line)}
.server-footer,.server-footer a{color:var(--muted)}
.btn,.light .btn{background:var(--control);border-color:var(--control-border);color:var(--text);transition:background .15s,border-color .15s}
.btn:hover,.light .btn:hover{background:var(--hover);border-color:var(--muted)}
.btn.primary,.light .btn.primary,.inspector-dialog .player-tabs .btn.primary{background:var(--brand);border-color:var(--brand);color:#28200c}
.btn.primary:hover{background:#ffd55d;border-color:#ffd55d;color:#28200c}
.btn.danger,.light .btn.danger{background:var(--danger-bg);color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,var(--line))}
.icon-btn:hover{background:var(--hover);color:var(--text)}
:is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.input,select,textarea,.light input,.light select,.light textarea{background:var(--control);color:var(--text);border-color:var(--control-border)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[readonly]{background:var(--inset);color:var(--muted)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
input[type=checkbox]{min-width:16px;min-height:16px}
th,.light th{background:var(--table-head);color:var(--muted)}
tbody tr:hover,.light tbody tr:hover{background:var(--hover)}
.status{background:var(--success-bg);color:var(--green)}
.status.off{background:var(--hover);color:var(--muted)}
.status.warn{background:var(--warning-bg);color:var(--warning-text)}
.notice,.light .notice{background:var(--warning-bg);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-text) 30%,var(--line))}
.log-result.is-error{color:var(--red);background:var(--danger-bg)}
.log-result.is-ok{color:var(--green);background:var(--success-bg)}
.effect-badge{background:var(--inset)}
.effect-applied{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--line))}
.effect-next-match,.effect-pending{color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-text) 45%,var(--line))}
.effect-next-restart{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}
.effect-fixed{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,var(--line))}
.console,.json,.light .json{background:var(--inset);color:var(--text)}
.console time{color:var(--muted)}
dialog{border-color:var(--control-border);box-shadow:var(--popup-shadow)}
#toast{background:var(--panel);color:var(--text);border-color:var(--control-border);box-shadow:var(--popup-shadow)}
.server-groups a.selected{color:var(--accent);border-bottom-color:var(--brand)}
.server-subnav a.selected{box-shadow:inset 3px 0 var(--brand)}
.kd-highlight{background:var(--selected-bg)}
.kd-highlight td:nth-child(3){color:var(--accent)}
.simulation-note{background:var(--warning-bg);border-color:var(--warning-text);color:var(--warning-text)}
.map-metric,.light .map-metric{background:#182127;color:#f5f7fc}
.map-metric .muted,.map-metric small,.map-metric .stat-top{color:#dce4ed}
.chart svg [stroke="#ffca22"]{stroke:var(--accent)}
.chart svg [fill="#ffca22"]{fill:var(--accent)}
.trend-bars i{background:var(--accent)}
.kill-player-button,.kill-player-button strong,.kill-player-button small{color:var(--team,var(--text))}
/* Native select semantics, styled popup in current browsers, themed native fallback. */
select,.light select{min-height:40px;border-radius:9px;cursor:pointer;padding:10px 36px 10px 12px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23949fae' stroke-width='1.6'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .15s,background-color .15s}
select:hover{border-color:var(--muted);background-color:var(--hover)}
select:disabled{cursor:default;opacity:.55}
select option,select optgroup{background:var(--panel);color:var(--text)}
select[multiple]{background-image:none;padding:8px}
@supports (appearance:base-select){
 select:not([multiple]),select:not([multiple])::picker(select){appearance:base-select}
 select:not([multiple]),.light select:not([multiple]){background-image:none;padding:10px 12px;align-items:center;gap:12px}
 select::picker-icon{color:var(--muted);font-size:11px;transition:rotate .15s}
 select:open{border-color:var(--focus-ring)}
 select:open::picker-icon{rotate:180deg}
 select::picker(select){background:var(--panel);color:var(--text);border:1px solid var(--control-border);border-radius:11px;padding:6px;margin-block:6px;box-shadow:var(--popup-shadow);max-height:min(360px,60vh);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--control-border) transparent}
 select option{font:inherit;font-size:13px;min-height:38px;padding:9px 12px;border-radius:6px;gap:14px;cursor:pointer;outline-offset:-2px}
 select option:hover,select option:focus{background:var(--hover);color:var(--text)}
 select option:checked{background:var(--selected-bg);color:var(--accent);font-weight:600}
 select option::checkmark{color:var(--accent);margin-inline-start:auto;order:2}
 select option:disabled{color:var(--muted);opacity:.55;cursor:default}
 select optgroup{padding:6px;font-weight:600;color:var(--muted)}
}
@media(prefers-reduced-motion:reduce){select,select::picker-icon,.btn{transition:none}}

/* Map modifiers are independent, left-aligned choices. */
.map-mod-options{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 20px}.map-mod-options .check{display:flex;align-items:center;gap:10px;margin:0;min-height:28px;color:var(--text);cursor:pointer}.map-mod-options input[type=checkbox]{margin:0;width:16px;height:16px}
