:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--plane:#f4f4f1;--surface:#fcfcfb;--surface-2:#f9f9f7;--ink:#0b0b0b;--ink-2:#52514e;--muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--hair:#0b0b0b1a;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--good:#0ca30c;--warn:#fab219;--crit:#d03b3b;--crit-wash:#d03b3b1a;--good-wash:#0ca30c1a;--focus:#2a78d6;--r:10px;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--plane:#0d0d0d;--surface:#1a1a19;--surface-2:#161615;--ink:#fff;--ink-2:#c3c2b7;--grid:#2c2c2a;--axis:#383835;--hair:#ffffff1a;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--crit-wash:#d03b3b29;--good-wash:#0ca30c24;--focus:#3987e5}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--plane:#0d0d0d;--surface:#1a1a19;--surface-2:#161615;--ink:#fff;--ink-2:#c3c2b7;--grid:#2c2c2a;--axis:#383835;--hair:#ffffff1a;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--crit-wash:#d03b3b29;--good-wash:#0ca30c24;--focus:#3987e5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--plane);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}button,select,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}code{font-family:var(--mono);font-size:.92em}.wrap{max-width:1280px;margin:0 auto;padding-block:0 56px;padding-inline:20px}@media (width<=520px){.wrap{padding-inline:16px}}.bar{top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb, var(--plane) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair);position:sticky}.bar-in{flex-wrap:wrap;align-items:center;gap:14px;max-width:1280px;margin:0 auto;padding-block:14px;padding-inline:20px;display:flex}@media (width<=520px){.bar-in{padding-inline:16px}}.brand{align-items:baseline;gap:10px;min-width:0;margin-right:auto;display:flex}.brand h1{letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:16px;font-weight:600}.host{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.live{color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:500;display:inline-flex}.dot{background:var(--good);border-radius:50%;flex:none;width:7px;height:7px}.dot.err{background:var(--crit)}.dot.pulse{animation:2s ease-in-out infinite p}@keyframes p{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.dot.pulse{animation:none}}.btn{background:var(--surface);border:1px solid var(--hair);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--axis)}.btn:disabled{opacity:.55;cursor:default}.btn:disabled:hover{background:var(--surface);border-color:var(--hair)}.actions{align-items:center;gap:8px;display:inline-flex}.btn .ico{color:var(--ink-2);flex:none}.btn.busy .ico{color:var(--s1);animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn.busy .ico{opacity:.5;animation:none}}.alert{background:var(--crit-wash);border:1px solid #d03b3b59;border-left:3px solid var(--crit);border-radius:var(--r);align-items:flex-start;gap:12px;margin-top:20px;padding:13px 15px;display:flex}.alert.ok{background:var(--good-wash);border-color:#0ca30c4d;border-left-color:var(--good)}.alert.warn{border-color:#fab21973;border-left-color:var(--warn);background:#fab2191f}.alert svg{flex:none;margin-top:1px}.alert h2{margin:0 0 3px;font-size:13.5px;font-weight:600}.alert p{color:var(--ink-2);max-width:78ch;margin:0;font-size:13px}.alert b{font-variant-numeric:tabular-nums}.tiles{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}@media (width<=860px){.tiles{grid-template-columns:repeat(2,1fr)}}@media (width<=420px){.tiles{grid-template-columns:1fr}}.tile{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);padding:14px 15px}.tile.flag{background:var(--crit-wash);border-color:#d03b3b66}.tile .k{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.tile .v{letter-spacing:-.02em;margin-top:5px;font-size:30px;font-weight:600;line-height:1.05}.tile .sub{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:4px;font-size:12px}.meter{background:var(--grid);border-radius:3px;height:5px;margin-top:9px;overflow:hidden}.meter i{background:var(--s3);border-radius:3px;height:100%;display:block}.grid2{grid-template-columns:1.85fr 1fr;gap:12px;margin-top:12px;display:grid}@media (width<=900px){.grid2{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);padding:15px 16px}.phead{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:2px;display:flex}.phead h3{margin:0;font-size:13.5px;font-weight:600}.phead .note{color:var(--muted);font-size:11.5px}.seg{background:var(--surface-2);border:1px solid var(--hair);border-radius:7px;gap:2px;margin-left:auto;padding:2px;display:flex}.seg button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px 9px;font-size:11.5px;font-weight:500}.seg button[aria-pressed=true]{background:var(--s1);color:#fff}.seg button:disabled{opacity:.38;cursor:not-allowed}.legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:11.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:2px;flex:none;width:9px;height:9px;display:inline-block}.chart{margin-top:8px;position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.dist{flex-direction:column;gap:9px;margin-top:12px;display:flex}.dhead{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:10px;font-weight:600}.drow{grid-template-columns:96px 1fr 62px;align-items:center;gap:10px;font-size:12.5px;display:grid}.drow .lbl{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drow .track{background:var(--grid);border-radius:5px;height:9px;overflow:hidden}.drow .track i{border-radius:5px;height:100%;display:block}.drow .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}.drow .num b{color:var(--ink);font-weight:600}.filters{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);top:calc(env(safe-area-inset-top,0px) + 58px);z-index:20;flex-wrap:wrap;align-items:center;gap:9px;margin-top:12px;padding:12px;display:flex;position:sticky}.f{flex-direction:column;gap:3px;display:flex}.f label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600}.f select,.f input{background:var(--surface-2);border:1px solid var(--hair);border-radius:7px;min-height:32px;padding:6px 9px;font-size:13px}.f input{min-width:210px}@media (width<=520px){.f input{width:100%;min-width:0}.f{flex:100%}}.f select{cursor:pointer}.fspacer{flex-wrap:wrap;align-items:center;gap:9px;margin-left:auto;display:flex}.count{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12.5px}.count b{color:var(--ink);font-weight:600}.chipbar{flex-wrap:wrap;gap:6px;width:100%;display:flex}.chip{background:var(--surface-2);border:1px solid var(--hair);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;display:inline-flex}.chip:hover{border-color:var(--crit);color:var(--crit)}.tablewrap{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);margin-top:12px;overflow:hidden}.scroll{overscroll-behavior:contain;max-height:min(80vh,1000px);overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--hair);padding:9px 12px}thead th{background:var(--surface-2);z-index:5;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10.5px;font-weight:600;position:sticky;top:0}thead th:hover{color:var(--ink)}thead th .ar{opacity:.4;font-size:9px}thead th[aria-sort] .ar{opacity:1;color:var(--s1)}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}td.mono{font-family:var(--mono);font-size:12px}td.num{text-align:right;font-variant-numeric:tabular-nums}.pill{border-radius:20px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.pill.ok{background:var(--good-wash);color:var(--good)}.pill.bad{background:var(--crit-wash);color:var(--crit)}.tag{background:var(--surface-2);border:1px solid var(--hair);color:var(--ink-2);border-radius:5px;padding:2px 7px;font-size:11px}.stand{color:var(--muted);-webkit-text-decoration:underline dotted color-mix(in srgb, var(--muted) 60%, transparent);text-decoration:underline dotted color-mix(in srgb, var(--muted) 60%, transparent);text-underline-offset:3px;font-style:italic}.dupbadge{font-family:var(--sans);color:var(--s2);background:color-mix(in srgb, var(--s2) 14%, transparent);vertical-align:1px;border-radius:4px;margin-left:6px;padding:1px 4px;font-size:10px;font-weight:600}.collapsed{color:var(--muted);font-weight:400}.yes{color:var(--good);font-weight:600}.no{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:13.5px}.rowcap{color:var(--muted);background:var(--surface-2);border-top:1px solid var(--hair);padding:10px 12px;font-size:12px}.skel{color:var(--muted);text-align:center;padding:28px 0;font-size:13px}.tip{pointer-events:none;z-index:60;background:var(--surface);border:1px solid var(--axis);border-radius:8px;padding:8px 10px;font-size:12px;position:fixed;box-shadow:0 6px 24px #00000024}.tip .tt{margin-bottom:4px;font-size:12px;font-weight:600}.tip .tr{font-variant-numeric:tabular-nums;color:var(--ink-2);align-items:center;gap:7px;display:flex}.tip .tr b{color:var(--ink);margin-left:auto}.tip .tr.total{border-top:1px solid var(--hair);margin-top:3px;padding-top:3px}
