:root{--page:#d9e0e9;--panel:#e8edf3;--ink:#172033;--muted:#53627a;--line:#c5cfdd;--brand:#3765e8;--soft:#e0e7f0}
.quick-lobby-fields{grid-template-columns:minmax(160px,1fr) 100px minmax(150px,1fr) auto}
.lobby-password-dialog{width:min(440px,90vw);border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);padding:24px}.lobby-password-dialog::backdrop{background:#17203380}.lobby-password-dialog h3{font-size:20px}.lobby-password-dialog p{margin-top:12px}
@media(max-width:768px){body .quick-lobby-fields{grid-template-columns:1fr}}
/* Shared muted surfaces, including the separately loaded server widgets. */
body .card-header,body .performance-panel{background:var(--panel);border-color:var(--line)}
body .performance-panel{--muted:#53627a}
body .performance-server,body .server-status-output{background:var(--soft);border-color:var(--line)}
body .form-control,body .form-select,body .server-status-controls select,body .performance-controls button{background-color:#f0f3f7;color:var(--ink);border-color:var(--line)}
body .form-control:focus,body .form-select:focus{background-color:#f0f3f7}
body .table{--bs-table-bg:transparent;--bs-table-striped-bg:rgba(35,57,89,.035);color:var(--ink)}
body .table thead th{background:var(--soft);color:var(--muted)}
body .table>:not(caption)>*>*{border-bottom-color:var(--line)}
body .table tbody tr:hover,body .table tbody tr.is-live{background:#e2e9f3}
body .table tbody tr.is-problem{background:#f0e3e7}
body .server-status-panel,body .performance-summary,body .performance-summary>div,body .performance-server-footer,body .performance-empty{border-color:var(--line)}
body .server-status-controls label,body .server-status-message,body .lobby-meta,body .text-muted{color:var(--muted)!important}
.quick-lobby-fields{display:grid;grid-template-columns:minmax(180px,1fr) 130px auto;gap:14px;align-items:end}.quick-lobby-fields button{width:auto!important;min-height:39px;background:var(--brand);border-color:var(--brand)}.lobby-quick-summary{margin:12px 0;font-size:12px}.lobby-advanced{border-top:1px solid var(--line);padding-top:12px;margin-bottom:14px}.lobby-advanced summary{cursor:pointer;color:var(--muted);font-weight:600}.lobby-advanced-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}@media(max-width:600px){.quick-lobby-fields{grid-template-columns:1fr}.lobby-advanced-fields{grid-template-columns:1fr}}
body{background:var(--page);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
.app-shell{display:flex;flex-direction:column;gap:0;max-width:1440px}.app-header{order:-5;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 0 30px}.app-kicker,.section-overline{margin:0 0 6px;color:var(--brand);font-size:10px;font-weight:800;letter-spacing:1.35px}.app-header h1{margin:0;font-size:30px;font-weight:750;letter-spacing:-.85px}.app-subtitle{margin:7px 0 0;color:var(--muted)}.app-connection{display:flex;align-items:center;gap:8px;margin-top:9px;padding:8px 11px;border:1px solid #d9e6dd;border-radius:999px;background:#f5fbf6;color:#397047;font-size:12px;font-weight:650;white-space:nowrap}.app-connection-dot{width:7px;height:7px;border-radius:50%;background:#43b76a;box-shadow:0 0 0 3px #dff4e5}
#uiMessage{order:-4;position:sticky;top:12px;z-index:5;box-shadow:0 8px 24px #17203318}.performance-panel{order:-3}.performance-panel+#stats{order:-2}#lobbiesCard{order:1}#createLobbyCard{order:2}#botsCard{order:3}
.card{border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 4px 16px rgba(21,37,65,.045);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:15px 20px;background:#fff;border-bottom:1px solid var(--line);font-weight:750;color:var(--ink)}.card-body{padding:20px}.table-responsive{overflow-x:auto}.table{margin:0;vertical-align:middle}.table>:not(caption)>*>*{padding:13px 12px;border-bottom-color:#edf0f5}.table thead th{color:#7a879a;background:#fafbfd;border-bottom-width:1px;font-size:10px;font-weight:800;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background:#f7f9ff}.table tbody tr.is-live{background:#fbfdff}.table tbody tr.is-problem{background:#fffafb}.badge{font-size:11px;font-weight:700;padding:5px 8px}.btn{font-weight:650;border-radius:8px}.btn-sm{font-size:12px}.form-control,.form-select{min-height:39px;border-color:#dce3ec;border-radius:8px}.form-control:focus,.form-select:focus{border-color:#8aa7ff;box-shadow:0 0 0 3px #3765e81a}.workshop-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.copy-workshop{margin-left:6px;cursor:pointer}.lobby-card-header{gap:16px}.lobby-card-header>div{display:flex;flex-direction:column}.lobby-live-count{padding:5px 9px;border-radius:999px;background:#eef3ff;color:#3157c7;font-size:11px;font-weight:750;white-space:nowrap}.lobby-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto;align-items:center;gap:10px;margin-bottom:16px}.lobby-toolbar-note{color:var(--muted);font-size:12px;text-align:right}.lobby-title{font-weight:700;line-height:1.25}.lobby-meta{margin-top:3px;color:var(--muted);font-size:11px}.lobby-actions{display:flex;flex-wrap:wrap;gap:6px}.lobby-actions .btn{margin:0!important}.empty-row td{padding:34px!important;text-align:center;color:var(--muted)}
#stats{gap:0;margin-bottom:28px!important}#stats .col-md-3{padding:0 6px}#stats .card{border-radius:12px}#stats .card-body{padding:17px 18px}#stats .card-title{margin:0;color:inherit;font-size:12px;font-weight:650;opacity:.85}#stats .card-text{margin:4px 0 0!important;font-variant-numeric:tabular-nums;font-size:28px!important;font-weight:750}.text-bg-primary{background:#3765e8!important}.text-bg-success{background:#2c9c66!important}.text-bg-warning{background:#d99219!important;color:#fff!important}.text-bg-info{background:#4b7dd6!important}
.event-shell{order:4}.event-shell .card{margin-top:22px}.event-shell [style*="max-height"]{border:1px solid var(--line);border-radius:9px}.event-shell .table{font-size:12px}.event-shell .table td:first-child{white-space:nowrap;color:var(--muted)}
@media(max-width:992px){.lobby-toolbar{grid-template-columns:1fr 180px}.lobby-toolbar-note{grid-column:1/-1;text-align:left}#stats .col-md-3{margin-bottom:10px}}@media(max-width:768px){.app-header{padding-top:8px;flex-direction:column;gap:8px}.app-header h1{font-size:26px}.app-connection{margin-top:0}.card-body{padding:15px}.lobby-toolbar{grid-template-columns:1fr}.lobby-toolbar-note{grid-column:auto}.performance-panel{margin-left:0;margin-right:0}}

/* Unified dark theme. */
:root{--page:#111722;--panel:#1b2432;--ink:#e7edf7;--muted:#9aa9bd;--line:#344257;--brand:#7ea2ff;--soft:#222d3d}
body{background:var(--page);color:var(--ink)}
.card,.card-header,.performance-panel,.lobby-password-dialog{background:var(--panel);color:var(--ink);border-color:var(--line)}
.card-header{background:#202b3b;border-bottom-color:var(--line)}
.form-control,.form-select,.performance-controls button,.server-status-controls select{background:#131c29;color:var(--ink);border-color:var(--line)}
.form-control::placeholder{color:#718198}.form-control:focus,.form-select:focus{background:#172334;color:var(--ink);border-color:var(--brand)}
.table{color:var(--ink)}.table thead th{background:#202b3b;color:var(--muted)}.table>:not(caption)>*>*{border-bottom-color:var(--line)}
.table tbody tr:hover,.table tbody tr.is-live{background:#243248}.table tbody tr.is-problem{background:#382a34}
.app-connection{background:#193224;border-color:#2f6043;color:#9ee0b2}.app-connection-dot{box-shadow:0 0 0 3px #245337}
.lobby-live-count{background:#263a67;color:#b6c8ff}.lobby-advanced{border-top-color:var(--line)}
.event-shell [style*="max-height"],.server-status-output{background:#131c29;border-color:var(--line);color:var(--ink)}
.text-muted,.lobby-meta,.lobby-toolbar-note{color:var(--muted)!important}
body input.form-control,body textarea.form-control,body select.form-select{background-color:#131c29!important;color:#e7edf7!important;border-color:#344257!important}body input.form-control::placeholder{color:#8190a5!important}body .form-label{color:#c9d4e4}
body .btn-light,body .btn-outline-secondary,body .btn-outline-primary{background:#243248;color:#dce7f7;border-color:#4a5c76}body .btn-light:hover,body .btn-outline-secondary:hover,body .btn-outline-primary:hover{background:#304362;color:#fff;border-color:#718db9}body .btn-primary{background:#547de8;border-color:#547de8;color:#fff}body .btn-primary:hover{background:#7097ff;border-color:#7097ff;color:#fff}body .btn-danger{color:#fff}body .table-hover>tbody>tr:hover>*,body .table tbody tr:hover>*,body .table tbody tr.is-live> *{--bs-table-accent-bg:#243248!important;background-color:#243248!important;color:var(--ink)}
.quick-lobby-fields>button{width:140px!important;max-width:140px;justify-self:start;align-self:end;white-space:nowrap}
body .table tbody tr>*,body .table-striped>tbody>tr:nth-of-type(odd)>*{background-color:transparent!important}body .table tbody tr{transition:none!important}body .table tbody tr:hover>*,body .table tbody tr.is-live>*{background-color:#243248!important}
body #botsTable tbody td,body #botsTable tbody td *{color:#e7edf7!important;opacity:1}body #botsTable tbody td .text-danger{color:#ff9aa8!important}body #botsTable tbody tr{visibility:visible!important;opacity:1!important;height:auto!important}body #botsTable thead th{color:#aebbd0!important}
body .alert{background:#202d40;color:#e7edf7;border-color:#3d5372}body .alert-success{background:#193b2b;color:#a9e8bd;border-color:#347052}body .alert-danger{background:#422633;color:#ffb1bd;border-color:#814455}body .alert-warning{background:#40351f;color:#f4d18a;border-color:#80682f}body .alert-info{background:#203653;color:#b9d6ff;border-color:#416a9d}
.toast-stack{position:fixed;right:22px;bottom:22px;z-index:2000;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}.toast-message{padding:13px 16px;border:1px solid #3d5372;border-radius:12px;background:#202d40;color:#e7edf7;box-shadow:0 12px 30px #0008;font-size:13px;line-height:1.4;opacity:0;transform:translateY(12px);transition:opacity .2s,transform .2s}.toast-message.is-visible{opacity:1;transform:none}.toast-success{background:#193b2b;border-color:#347052;color:#b5edc6}.toast-danger{background:#422633;border-color:#814455;color:#ffb8c2}.toast-warning{background:#40351f;border-color:#80682f;color:#f4d18a}
