:root{color-scheme:dark;--bg: #0c0e12;--bg-raised: #12151b;--bg-sunken: #090a0d;--bg-hover: #1a1e26;--bg-active: #212632;--line: #1e232c;--line-strong: #2b323e;--ink: #e7eaf0;--ink-muted: #9aa3b2;--ink-faint: #646c7c;--ink-inverse: #0c0e12;--accent: #6ea8fe;--accent-dim: #2a3f63;--healthy: #35b98a;--healthy-bg: #0f2620;--degraded: #e0a23c;--degraded-bg: #2a2011;--failed: #ff5f55;--failed-bg: #2e1416;--suppressed: #8f86c9;--suppressed-bg:#1b1a29;--stale: #6f92b3;--stale-bg: #131d27;--unknown: #7b8090;--unknown-bg: #17191f;--p1: var(--failed);--p2: var(--degraded);--p3: var(--ink-faint);--font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, monospace;--t-xs: 11px;--t-sm: 12.5px;--t-base: 14px;--t-md: 16px;--t-lg: 21px;--t-xl: 30px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--r-tight: 3px;--r-pill: 999px;--shell-w: 210px}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg: #fbfbfc;--bg-raised: #ffffff;--bg-sunken: #f1f2f5;--bg-hover: #eef0f4;--bg-active: #e4e7ed;--line: #e2e5ea;--line-strong: #c8cdd6;--ink: #14171d;--ink-muted: #565e6c;--ink-faint: #858c99;--ink-inverse: #ffffff;--accent: #2563c9;--accent-dim: #cddcf7;--healthy: #10795a;--healthy-bg: #e2f4ec;--degraded: #9a6608;--degraded-bg: #fbf0da;--failed: #c8302b;--failed-bg: #fce4e3;--suppressed: #5c53a0;--suppressed-bg:#eceafa;--stale: #3f6486;--stale-bg: #e7eef5;--unknown: #63697a;--unknown-bg: #eceef2}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-tight)}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:var(--t-lg)}h2{font-size:var(--t-md)}h3{font-size:var(--t-base)}p{margin:0}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint)}.small{font-size:var(--t-sm)}.xs{font-size:var(--t-xs)}.nowrap{white-space:nowrap}.tnum{font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:var(--shell-w) 1fr;min-height:100%}.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--line);background:var(--bg-sunken)}.brand{padding:0 var(--sp-2) var(--sp-3)}.brand-name{font-size:var(--t-base);font-weight:650;letter-spacing:-.02em}.brand-sub{font-size:var(--t-xs);color:var(--ink-faint)}.nav-item{display:flex;align-items:center;gap:var(--sp-2);padding:5px var(--sp-2);border-radius:var(--r-tight);color:var(--ink-muted);font-size:var(--t-sm)}.nav-item:hover{background:var(--bg-hover);color:var(--ink)}.nav-item[aria-current=page]{background:var(--bg-active);color:var(--ink);font-weight:550}.nav-count{margin-left:auto;font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint)}.nav-count[data-tone=failed]{color:var(--failed);font-weight:700}.nav-group{padding:var(--sp-4) var(--sp-2) var(--sp-1);font-size:var(--t-xs);color:var(--ink-faint)}.main{min-width:0;display:flex;flex-direction:column}.page{padding:var(--sp-5) var(--sp-6) var(--sp-7);max-width:1500px;width:100%}.page-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-1);flex-wrap:wrap}.page-lede{color:var(--ink-muted);font-size:var(--t-sm);max-width:76ch;margin-bottom:var(--sp-5)}.state{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);font-weight:550;white-space:nowrap}.state-glyph{width:9px;height:9px;flex:none}.state[data-state=healthy]{color:var(--healthy)}.state[data-state=degraded]{color:var(--degraded)}.state[data-state=failed]{color:var(--failed)}.state[data-state=suppressed]{color:var(--suppressed)}.state[data-state=stale]{color:var(--stale)}.state[data-state=unknown]{color:var(--unknown)}.state-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 6px;border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:600;border:1px solid transparent}.state-chip[data-state=healthy]{background:var(--healthy-bg);color:var(--healthy);border-color:color-mix(in srgb,var(--healthy) 30%,transparent)}.state-chip[data-state=degraded]{background:var(--degraded-bg);color:var(--degraded);border-color:color-mix(in srgb,var(--degraded) 30%,transparent)}.state-chip[data-state=failed]{background:var(--failed-bg);color:var(--failed);border-color:color-mix(in srgb,var(--failed) 40%,transparent)}.state-chip[data-state=suppressed]{background:var(--suppressed-bg);color:var(--suppressed);border-color:color-mix(in srgb,var(--suppressed) 30%,transparent)}.state-chip[data-state=stale]{background:var(--stale-bg);color:var(--stale);border-color:color-mix(in srgb,var(--stale) 30%,transparent)}.state-chip[data-state=unknown]{background:var(--unknown-bg);color:var(--unknown);border-color:color-mix(in srgb,var(--unknown) 30%,transparent)}.sev{font-family:var(--mono);font-size:var(--t-xs);font-weight:700;letter-spacing:.04em;padding:1px 5px;border-radius:var(--r-tight)}.sev[data-sev=p1]{background:var(--failed-bg);color:var(--failed)}.sev[data-sev=p2]{background:var(--degraded-bg);color:var(--degraded)}.sev[data-sev=p3]{background:var(--bg-active);color:var(--ink-faint)}.age{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint)}.age[data-tone=warn]{color:var(--degraded)}.age[data-tone=bad]{color:var(--failed);font-weight:600}.rule{height:1px;background:var(--line);border:0;margin:var(--sp-5) 0}.section-head{display:flex;align-items:baseline;gap:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line);margin-bottom:var(--sp-3)}.section-head h2{font-size:var(--t-sm);font-weight:650;color:var(--ink-muted)}.section-note{font-size:var(--t-xs);color:var(--ink-faint);margin-left:auto}.panel{border:1px solid var(--line);border-radius:var(--r-tight);background:var(--bg-raised)}.panel-pad{padding:var(--sp-4)}table.data{width:100%;border-collapse:collapse;font-size:var(--t-sm)}table.data th{text-align:left;font-weight:600;font-size:var(--t-xs);color:var(--ink-faint);padding:0 var(--sp-3) var(--sp-2) 0;border-bottom:1px solid var(--line);white-space:nowrap}table.data th button{color:inherit;font:inherit;display:inline-flex;gap:4px;align-items:center}table.data td{padding:6px var(--sp-3) 6px 0;border-bottom:1px solid var(--line);vertical-align:baseline}table.data tr:hover td{background:var(--bg-hover)}table.data td:last-child,table.data th:last-child{padding-right:0}.scroll-x{overflow-x:auto}input[type=text],input[type=search],input[type=email],input[type=password],input[type=url],input[type=number],select,textarea{font:inherit;color:var(--ink);background:var(--bg-sunken);border:1px solid var(--line-strong);border-radius:var(--r-tight);padding:7px var(--sp-3);line-height:1.4}input:focus,select:focus,textarea:focus{border-color:var(--ink-faint)}input::placeholder{color:var(--ink-faint)}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--line-strong);border-radius:var(--r-tight);font-size:var(--t-sm);font-weight:550;background:var(--bg-raised)}.btn:hover{background:var(--bg-hover);border-color:var(--ink-faint)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--ink-inverse)}.btn-primary:hover{filter:brightness(1.08);background:var(--accent)}.btn-danger{border-color:color-mix(in srgb,var(--failed) 55%,transparent);color:var(--failed)}.btn-danger:hover{background:var(--failed-bg)}.btn-sm{padding:2px 8px;font-size:var(--t-xs)}.btn-row{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.skeleton{background:linear-gradient(90deg,var(--bg-raised) 0%,var(--bg-hover) 50%,var(--bg-raised) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--r-tight)}@keyframes shimmer{to{background-position:-200% 0}}.state-msg{padding:var(--sp-5);border:1px dashed var(--line-strong);border-radius:var(--r-tight);color:var(--ink-muted);font-size:var(--t-sm)}.state-msg h3{font-size:var(--t-sm);margin-bottom:var(--sp-1);color:var(--ink)}.state-msg[data-kind=error]{border-color:color-mix(in srgb,var(--failed) 45%,transparent);background:var(--failed-bg)}.state-msg[data-kind=error] h3{color:var(--failed)}.is-stale{opacity:.55;filter:saturate(.5)}.banner{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-6);font-size:var(--t-sm);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.banner[data-tone=connected]{background:color-mix(in srgb,var(--bg-raised) 85%,transparent);color:var(--ink-muted)}.banner[data-tone=reconnecting]{background:var(--degraded-bg);color:var(--degraded)}.banner[data-tone=down]{background:var(--failed-bg);color:var(--failed);font-weight:550}.pulse{width:7px;height:7px;border-radius:var(--r-pill);background:currentColor}.banner[data-tone=connected] .pulse{background:var(--healthy);animation:breathe 3.5s ease-in-out infinite}@keyframes breathe{0%,to{opacity:1}50%{opacity:.35}}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;justify-content:center;padding-top:12vh}.palette{width:min(620px,92vw);height:fit-content;max-height:66vh;display:flex;flex-direction:column;background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;box-shadow:0 24px 64px #00000080}.palette input{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:var(--sp-3) var(--sp-4);font-size:var(--t-md)}.palette input:focus-visible{outline:none}.palette-list{overflow-y:auto;padding:var(--sp-1)}.palette-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:6px var(--sp-3);border-radius:var(--r-tight);font-size:var(--t-sm);text-align:left}.palette-item[data-active=true]{background:var(--accent-dim)}.palette-kind{margin-left:auto;font-size:var(--t-xs);color:var(--ink-faint)}kbd{font-family:var(--mono);font-size:10px;padding:1px 4px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:var(--r-tight);color:var(--ink-faint)}.attention{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-5)}.attention-item{display:grid;grid-template-columns:4px 1fr auto;gap:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-tight);background:var(--bg-raised);overflow:hidden}.attention-spine{background:var(--failed)}.attention-item[data-state=degraded] .attention-spine{background:var(--degraded)}.attention-item[data-state=stale] .attention-spine{background:var(--stale)}.attention-body{padding:var(--sp-4) 0 var(--sp-4) 0;min-width:0}.attention-title{font-size:var(--t-md);font-weight:620;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.attention-diagnosis{margin-top:6px;color:var(--ink);font-size:var(--t-sm);max-width:92ch}.attention-action{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-left:2px solid var(--accent);background:var(--bg-sunken);font-size:var(--t-sm);max-width:92ch}.attention-side{padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;text-align:right}.infra-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:var(--sp-4);align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.infra-name{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.infra-id{font-weight:600}.infra-meta{font-size:var(--t-xs);color:var(--ink-faint)}.infra-depth{color:var(--ink-faint);font-family:var(--mono)}.paths{display:flex;gap:var(--sp-3)}.path{display:flex;align-items:center;gap:5px;font-size:var(--t-xs);color:var(--ink-faint)}.path-dot{width:7px;height:7px;border-radius:var(--r-pill);background:var(--unknown)}.path[data-ok=true] .path-dot{background:var(--healthy)}.path[data-ok=false] .path-dot{background:var(--failed)}.path[data-ok=null] .path-dot{background:transparent;border:1px dashed var(--stale)}.fleet-strip{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.fleet-cell{display:flex;align-items:center;gap:6px;padding:5px var(--sp-2);border:1px solid var(--line);border-radius:var(--r-tight);background:var(--bg-raised);font-size:var(--t-xs)}.fleet-cell:hover{border-color:var(--line-strong)}.fleet-cell[data-state=failed]{border-color:color-mix(in srgb,var(--failed) 50%,transparent)}.fleet-cell[data-state=degraded]{border-color:color-mix(in srgb,var(--degraded) 45%,transparent)}.graph-wrap{border:1px solid var(--line);border-radius:var(--r-tight);background:var(--bg-sunken);overflow:hidden}.graph-svg{display:block;width:100%;height:auto}.node-box{cursor:pointer}.node-box:hover .node-plate{stroke:var(--accent)}.node-label{font-family:var(--font);font-size:12px;font-weight:600;fill:var(--ink);pointer-events:none}.node-sub{font-family:var(--mono);font-size:9.5px;fill:var(--ink-faint);pointer-events:none}.steps{list-style:none;margin:0;padding:0}.step{display:grid;grid-template-columns:20px 1fr;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--line);font-size:var(--t-sm)}.step-mark{font-family:var(--mono);text-align:center}.step[data-state=ok] .step-mark{color:var(--healthy)}.step[data-state=failed] .step-mark,.step[data-state=aborted] .step-mark{color:var(--failed)}.step[data-state=running] .step-mark{color:var(--accent)}.step[data-state=skipped]{opacity:.45}.step[data-state=pending]{opacity:.6}.step-detail{margin-top:3px;font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-muted);white-space:pre-wrap}.step[data-state=failed] .step-detail,.step[data-state=aborted] .step-detail{color:var(--failed)}.console-out{font-family:var(--mono);font-size:var(--t-sm);white-space:pre;overflow-x:auto;padding:var(--sp-3);background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--r-tight)}.split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-6);align-items:start}.split-wide{grid-template-columns:minmax(0,1fr) 430px}.run-column{position:sticky;top:56px}.gate{display:block;margin-top:var(--sp-3)}.gate span{display:block;color:var(--ink-muted);margin-bottom:4px}.gate input{width:100%}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.between{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.kv{display:grid;grid-template-columns:minmax(0,auto) 1fr;gap:3px var(--sp-4);font-size:var(--t-sm)}.kv dt{color:var(--ink-faint)}.kv dd{margin:0}.metric-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 76px;gap:var(--sp-3);align-items:center;padding:5px 0;border-bottom:1px solid var(--line);font-size:var(--t-sm)}.metric-value{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums}.metric-row[data-level=crit] .metric-value{color:var(--failed);font-weight:650}.metric-row[data-level=warn] .metric-value{color:var(--degraded);font-weight:600}.timeline-row{display:grid;grid-template-columns:156px 150px minmax(0,1fr);gap:var(--sp-3);padding:5px 0;border-bottom:1px solid var(--line);font-size:var(--t-sm);align-items:baseline}.timeline-row>*{min-width:0}.timeline-row .tag{white-space:nowrap;display:inline-block}.timeline-row>:last-child{overflow-wrap:anywhere}.tag{font-family:var(--mono);max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:var(--t-xs);padding:1px 5px;border-radius:var(--r-tight);background:var(--bg-active);color:var(--ink-muted)}.evidence{border-left:2px solid var(--line-strong);padding:0 0 0 var(--sp-3);margin-bottom:var(--sp-4)}.evidence-settles{font-size:var(--t-xs);color:var(--accent);margin-bottom:3px}.evidence-value{font-family:var(--mono);font-size:var(--t-xs);white-space:pre-wrap;color:var(--ink-muted)}.notice{padding:var(--sp-3);border:1px solid var(--line-strong);border-left-width:2px;border-radius:var(--r-tight);font-size:var(--t-sm);background:var(--bg-sunken)}.notice[data-tone=danger]{border-left-color:var(--failed)}.notice[data-tone=warn]{border-left-color:var(--degraded)}.notice[data-tone=info]{border-left-color:var(--accent)}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;height:auto;flex-direction:row;overflow-x:auto;gap:var(--sp-1);border-right:0;border-bottom:1px solid var(--line);padding:var(--sp-2)}.brand,.nav-group{display:none}.nav-item{white-space:nowrap}.page{padding:var(--sp-4) var(--sp-3) var(--sp-7)}.banner{padding-inline:var(--sp-3)}.split,.split-wide{grid-template-columns:1fr}.run-column{position:static}.infra-row{grid-template-columns:1fr;gap:var(--sp-2)}.attention-item{grid-template-columns:4px 1fr}.attention-side{grid-column:2;padding:0 0 var(--sp-4);text-align:left}.timeline-row{grid-template-columns:1fr;gap:2px}.timeline-row .tag{justify-self:start}}.class-badge-wrap{position:relative;display:inline-flex}.class-badge{cursor:help;border:1px dashed var(--line-strong)}.class-badge:hover{color:var(--ink);border-color:var(--ink-faint)}.class-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:40;display:flex;flex-direction:column;gap:5px;width:max(260px,26ch);padding:var(--sp-3);background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--r-tight);box-shadow:0 12px 32px #00000073;font-size:var(--t-xs);line-height:1.45;color:var(--ink-muted);white-space:normal;text-align:left}.class-popover strong{color:var(--ink);font-size:var(--t-sm)}.class-popover em{color:var(--ink-faint);font-style:normal}.gate-line{font-size:var(--t-xs);color:var(--accent);margin-bottom:6px}.class-row-head{display:flex;align-items:flex-start;gap:var(--sp-4)}.class-letter{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:var(--r-tight);font-family:var(--mono);font-size:var(--t-lg);font-weight:700;background:var(--bg-active);color:var(--ink-muted)}.class-row[data-class=C] .class-letter{background:var(--degraded-bg);color:var(--degraded)}.class-row[data-class=D] .class-letter{background:var(--failed-bg);color:var(--failed)}.class-row[data-class=E] .class-letter{background:var(--failed-bg);color:var(--failed);border:1px dashed color-mix(in srgb,var(--failed) 55%,transparent)}.class-row[data-class=A] .class-letter{background:var(--healthy-bg);color:var(--healthy)}.unmatched-tag{color:var(--ink-inverse);background:var(--ink-faint);font-weight:700;letter-spacing:.02em}.panel.unmatched{border-style:dashed;border-color:var(--ink-faint);background:repeating-linear-gradient(135deg,transparent 0 10px,color-mix(in srgb,var(--ink-faint) 6%,transparent) 10px 20px),var(--bg-raised)}.unmatched-header{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px dashed var(--line-strong);color:var(--ink-muted)}.evidence-block{margin:var(--sp-3) 0 0;padding:var(--sp-3);background:var(--bg-sunken);border-left:2px solid var(--ink-faint);border-radius:var(--r-tight);font-family:var(--mono);font-size:var(--t-xs);line-height:1.6;color:var(--ink-muted);white-space:pre-wrap;overflow-x:auto}.auth-page{min-height:100vh;display:grid;place-items:center;padding:var(--sp-4);background:var(--bg)}.auth-card{width:min(400px,100%);padding:var(--sp-6);background:var(--bg-raised);border:1px solid var(--line);border-radius:6px}.auth-card .gate{margin-top:var(--sp-4)}.auth-card input{width:100%;padding:11px var(--sp-3);font-size:var(--t-md)}.auth-card .btn{padding:11px var(--sp-4);font-size:var(--t-base)}.account{padding:var(--sp-3) var(--sp-2);border-top:1px solid var(--line)}.totp-qr{display:block;width:220px;height:220px;margin:0 auto;border-radius:var(--r-tight);background:#fff;padding:8px}.totp-secret{font-family:var(--mono);font-size:var(--t-sm);letter-spacing:.06em;line-height:1.7;padding:var(--sp-3);background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--r-tight);overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:all;user-select:all;text-align:center}
