:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--surface-2:#f3f3f0;--ink:#0b0b0b;--ink-2:#52514e;--muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--series-1:#2a78d6;--series-2:#eb6834;--up:#006300;--down:#d03b3b;--good:#0ca30c;--warning:#fab219;--critical:#d03b3b;--accent:#2a78d6;--live:#d03b3b;--shadow:0 1px 2px #0b0b0b0a;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#222220;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--up:#0ca30c;--down:#e66767;--accent:#3987e5;--live:#e66767;--shadow:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#222220;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--up:#0ca30c;--down:#e66767;--accent:#3987e5;--live:#e66767;--shadow:none}*{box-sizing:border-box}html,body{background:var(--page);color:var(--ink);margin:0;font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1280px;margin:0 auto;padding:0 16px 48px}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:14px 0;display:flex}.brand{color:var(--ink);font-size:16px;font-weight:650}.brand:hover{text-decoration:none}.spacer{flex:1}.badge{border:1px solid var(--border);background:var(--surface);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.live{color:#fff;background:var(--live);border-color:#0000}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.good{background:var(--good)}.dot.warning{background:var(--warning)}.dot.critical{background:var(--critical)}button,select,input{font:inherit;color:var(--ink)}button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:6px 12px}button:hover{background:var(--surface-2)}button.primary{background:var(--accent);color:#fff;border-color:#0000}button.danger{color:var(--critical)}button:disabled{opacity:.5;cursor:default}select,input{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 10px}input{width:100%}h1{margin:0 0 4px;font-size:22px;font-weight:650}h2{margin:28px 0 10px;font-size:15px;font-weight:650}.sub{color:var(--ink-2);margin:0}.mono{color:var(--ink-2);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:16px}.card+.card{margin-top:12px}.card-head{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.card-head .title{flex:1;min-width:200px}.title a{color:var(--ink);font-size:16px;font-weight:650}.tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.card .tile{background:var(--page)}.tile .label{color:var(--ink-2);font-size:12px}.tile .value{margin-top:2px;font-size:20px;font-weight:600}.tile .note{color:var(--muted);font-size:12px}.up{color:var(--up)}.down{color:var(--down)}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap;padding:8px 10px}th{color:var(--ink-2);background:var(--surface-2);font-size:12px;font-weight:600;position:sticky;top:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}tr.detail td{background:var(--page);white-space:normal}.empty{color:var(--muted);text-align:center;padding:18px}.pill{color:var(--ink-2);align-items:center;gap:5px;font-size:12px;display:inline-flex}.kv{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;font-size:12px;display:grid}.kv span{color:var(--muted)}.chart-card{position:relative}.legend{color:var(--ink-2);flex-wrap:wrap;gap:16px;margin-bottom:8px;font-size:12px;display:flex}.legend .key{align-items:center;gap:6px;display:inline-flex}.line-key{border-radius:1px;width:14px;height:2px;display:inline-block}.tooltip{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 4px 16px #0000001f}.tooltip .row{align-items:center;gap:8px;display:flex}.tooltip strong{font-variant-numeric:tabular-nums;min-width:56px}.tooltip .when{color:var(--muted);margin-bottom:4px}.refetching{opacity:.6;transition:opacity .2s}.link-button{color:var(--accent);background:0 0;border:none;padding:0}.link-button:hover{background:0 0;text-decoration:underline}.events{margin:0;padding:0;list-style:none}.events li{border-bottom:1px solid var(--grid);align-items:baseline;gap:10px;padding:7px 12px;font-size:13px;display:flex}.events li:last-child{border-bottom:none}.events time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.events .msg{overflow-wrap:anywhere}.login{max-width:420px;margin:12vh auto 0}.login label{color:var(--ink-2);margin:12px 0 4px;font-size:12px;display:block}.error{color:var(--critical);margin-top:10px;font-size:13px}.banner{border:1px solid var(--border);border-left:3px solid var(--critical);background:var(--surface);border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;display:flex}.banner.warn{border-left-color:var(--warning)}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-2>*{min-width:0}@media (width<=860px){.grid-2{grid-template-columns:1fr}}
