:root{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f8f9fb;--border: #e2e5ea;--border-strong: #cfd4dc;--text: #1b1f24;--text-muted: #626b78;--text-faint: #8a94a2;--accent: #d81f2a;--accent-ink: #ffffff;--link: #1d63d1;--ok: #1a9d54;--idle: #9aa4b2;--warn: #c26a00;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .04);--maxw: 1040px;--font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #12151a;--surface: #1a1e25;--surface-2: #20252d;--border: #2b313b;--border-strong: #3a424e;--text: #e7ebf0;--text-muted: #9aa4b2;--text-faint: #6f7887;--accent: #ef4452;--accent-ink: #ffffff;--link: #6ea8fe;--ok: #37c06f;--idle: #5b6472;--warn: #e0902f;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.5rem;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:1.05rem;font-weight:650;margin:0 0 12px;letter-spacing:-.005em}.topbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar-inner{max-width:var(--maxw);margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:20px}.brand{font-weight:750;font-size:1rem;letter-spacing:-.01em;color:var(--text);display:inline-flex;align-items:center;gap:8px}.brand:hover{text-decoration:none}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block}.topnav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}.topnav a{color:var(--text-muted);padding:5px 10px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:550}.topnav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.openmode-banner{background:var(--accent);color:var(--accent-ink);text-align:center;padding:5px 8px;font-size:13px;font-weight:600}main{max-width:var(--maxw);margin:0 auto;padding:24px 20px 64px}.page-head{margin-bottom:20px}.page-sub{color:var(--text-muted);margin:0;font-size:.92rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 18px 16px;margin-bottom:20px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 720px){.grid-2{grid-template-columns:1fr}}.rowlist{list-style:none;margin:0;padding:0}.rowlist li{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--border);font-size:.94rem}.rowlist li:last-child{border-bottom:0}.rowlist .muted{color:var(--text-muted)}.rowlist .spacer{margin-left:auto}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none;background:var(--idle)}.dot.on{background:var(--ok);box-shadow:0 0 0 3px #1a9d5426}.dot.off{background:var(--idle)}.srv-num{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text);min-width:2.4em}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:650;line-height:1.5;border:1px solid transparent;white-space:nowrap}.badge-count{background:var(--surface-2);color:var(--text-muted);border-color:var(--border);font-variant-numeric:tabular-nums}.badge-count.hot{color:var(--accent);border-color:var(--accent)}.badge-type{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.badge-status{text-transform:capitalize}.st-new{background:#fde8e8;color:#b3261e;border-color:#f5c2c0}.st-reviewing{background:#fff3dc;color:#9a5b00;border-color:#f3dca8}.st-racing_incident{background:#e3f1fb;color:#14618f;border-color:#bfdcf1}.st-penalised{background:#fbe3e3;color:#b3261e;border-color:#f0bdbd}.st-dismissed{background:var(--surface-2);color:var(--text-faint);border-color:var(--border)}@media (prefers-color-scheme: dark){.st-new{background:#b3261e2e;color:#ff9a94;border-color:#b3261e66}.st-reviewing{background:#9a5b0033;color:#f0c06a;border-color:#9a5b0073}.st-racing_incident{background:#14618f38;color:#7fc2ee;border-color:#14618f80}.st-penalised{background:#b3261e33;color:#ff9a94;border-color:#b3261e73}.st-dismissed{background:var(--surface-2);color:var(--text-faint);border-color:var(--border)}}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th{text-align:left;font-weight:600;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;border-bottom:1px solid var(--border-strong);white-space:nowrap}table.data td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr:hover{background:var(--surface-2)}table.data .num{font-variant-numeric:tabular-nums}table.data .empty{text-align:center;color:var(--text-faint);padding:28px 10px}.filters{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.filters label{font-size:.88rem;color:var(--text-muted)}.filters select{font:inherit;font-size:.88rem;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.filters fieldset{border:0;margin:0;padding:0;display:inline-flex;gap:10px;flex-wrap:wrap;align-items:center}.filters fieldset label{display:inline-flex;align-items:center;gap:4px}.error{color:var(--accent);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:8px 12px;margin:0 0 16px;font-size:.9rem}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.empty-note{color:var(--text-faint);font-size:.92rem;margin:6px 0}.loading{color:var(--text-muted);font-size:.9rem}.btn{font:inherit;font-size:.9rem;font-weight:600;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer}.btn:hover{filter:brightness(1.05)}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.link-strong{font-weight:600}.vs{color:var(--text-faint);font-weight:400;margin:0 4px}
