:root{--bg:#0a0d13;--bg-deep:#070910;--bg-panel:#11151e;--bg-elev:#161b26;--bg-elev-hi:#1c2230;--bg-input:#0c0f16;--border:#2b3344;--border-soft:#1e2430;--text:#eef1f6;--text-dim:#9aa6b8;--text-faint:#66708a;--accent:#5b9dff;--accent-bright:#86b8ff;--accent-soft:rgba(91,157,255,.13);--green:#43d17f;--amber:#f1b73c;--red:#ff5d57;--radius:12px;--font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"Cascadia Code","SF Mono",Consolas,monospace;--shadow-tile:0 1px 0 hsla(0,0%,100%,.035) inset,0 10px 28px -16px rgba(0,0,0,.8);--shadow-lift:0 1px 0 hsla(0,0%,100%,.06) inset,0 22px 48px -20px rgba(0,0,0,.9);--glow-accent:0 0 22px -6px rgba(91,157,255,.5);--glow-red:0 0 18px -3px rgba(255,93,87,.6);--glow-amber:0 0 16px -3px rgba(241,183,60,.5);--glow-green:0 0 14px -3px rgba(67,209,127,.45);--ease:cubic-bezier(0.22,0.61,0.36,1)}:root[data-theme=light]{--bg:#f5f6f9;--bg-deep:#eef0f5;--bg-panel:#fff;--bg-elev:#fff;--bg-elev-hi:#fafbfd;--bg-input:#fff;--border:#c9cfdc;--border-soft:#e3e7ef;--text:#1a2030;--text-dim:#4a566b;--text-faint:#7c8699;--accent:#2f6fe0;--accent-bright:#4f8bff;--accent-soft:rgba(47,111,224,.1);--green:#1d9e57;--amber:#b07707;--red:#c43028;--shadow-tile:0 1px 0 hsla(0,0%,100%,.6) inset,0 8px 22px -16px rgba(20,30,50,.25);--shadow-lift:0 1px 0 hsla(0,0%,100%,.7) inset,0 18px 36px -22px rgba(20,30,50,.35);--glow-accent:0 0 0 0 transparent;--glow-red:0 0 0 0 transparent;--glow-amber:0 0 0 0 transparent;--glow-green:0 0 0 0 transparent}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#f5f6f9;--bg-deep:#eef0f5;--bg-panel:#fff;--bg-elev:#fff;--bg-elev-hi:#fafbfd;--bg-input:#fff;--border:#c9cfdc;--border-soft:#e3e7ef;--text:#1a2030;--text-dim:#4a566b;--text-faint:#7c8699;--accent:#2f6fe0;--accent-bright:#4f8bff;--accent-soft:rgba(47,111,224,.1);--green:#1d9e57;--amber:#b07707;--red:#c43028;--shadow-tile:0 1px 0 hsla(0,0%,100%,.6) inset,0 8px 22px -16px rgba(20,30,50,.25);--shadow-lift:0 1px 0 hsla(0,0%,100%,.7) inset,0 18px 36px -22px rgba(20,30,50,.35);--glow-accent:0 0 0 0 transparent;--glow-red:0 0 0 0 transparent;--glow-amber:0 0 0 0 transparent;--glow-green:0 0 0 0 transparent}}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font);background:radial-gradient(1100px 520px at 72% -8%,rgba(91,157,255,.07),transparent 62%),radial-gradient(900px 600px at 12% 110%,rgba(91,157,255,.04),transparent 60%),var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 24px;border-bottom:1px solid var(--border-soft);background:linear-gradient(180deg,rgba(91,157,255,.05),transparent 60%),linear-gradient(180deg,var(--bg-elev-hi),var(--bg-panel));box-shadow:0 1px 0 rgba(91,157,255,.12),0 10px 30px -20px rgba(0,0,0,.9);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand{display:flex;flex-direction:column;line-height:1.15}.brand h1{font-size:18px;letter-spacing:.5px;font-weight:600}.brand .tag{color:var(--text-faint);font-size:12px}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{font-size:12.5px;color:var(--text-dim);padding:7px 13px;border-radius:999px;border:1px solid transparent;transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease)}.nav a:hover{color:var(--text);border-color:var(--border)}.nav a.active{color:var(--accent);background:var(--accent-soft);border-color:rgba(91,157,255,.32)}.status-pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-dim);padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elev)}.layout{display:flex;flex:1 1;min-height:0}.sidebar{width:330px;flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border);padding:18px;display:flex;flex-direction:column;gap:16px}.main,.sidebar{overflow-y:auto}.main{flex:1 1;min-width:0;padding:22px 28px 32px}.main>header{margin-bottom:18px}.main>header h2{font-size:20px;font-weight:600;letter-spacing:.2px}.main>header p{color:var(--text-faint);font-size:12.5px;margin-top:4px}.panel{background:linear-gradient(170deg,var(--bg-elev-hi),var(--bg-elev) 55%);border:1px solid var(--border-soft);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-tile);transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}.panel h2{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--text-dim);margin-bottom:13px;font-weight:600;display:flex;align-items:center;gap:8px}.panel h2:before{content:"";width:3px;height:12px;border-radius:2px;background:linear-gradient(var(--accent),var(--accent-bright));box-shadow:var(--glow-accent);flex-shrink:0}.panel .muted{color:var(--text-faint);font-size:12px}.panel-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding:8px 0;border-bottom:1px dashed var(--border-soft)}.panel-row:last-child{border-bottom:0}.panel-row .k{color:var(--text-faint)}.panel-row .v{color:var(--text)}.tile-grid{column-gap:16px;column-count:1}@media (min-width:900px){.tile-grid{column-count:2}}@media (min-width:1500px){.tile-grid{column-count:3}}.tile{position:relative;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:16px;display:block;width:100%;animation:tile-rise .5s var(--ease) both}.tile:hover>.panel{transform:translateY(-3px);border-color:var(--border);box-shadow:var(--shadow-lift),0 0 0 1px rgba(91,157,255,.12)}@keyframes tile-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tile:first-child{animation-delay:.02s}.tile:nth-child(2){animation-delay:.06s}.tile:nth-child(3){animation-delay:.1s}.tile:nth-child(4){animation-delay:.14s}.tile:nth-child(5){animation-delay:.18s}.tile:nth-child(6){animation-delay:.22s}.tile:nth-child(7){animation-delay:.26s}.tile:nth-child(8){animation-delay:.3s}.tile:nth-child(9){animation-delay:.34s}.tile:nth-child(n+10){animation-delay:.38s}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint);flex-shrink:0;display:inline-block}.dot.operational{background:var(--green);box-shadow:var(--glow-green);animation:kai-breathe 3.6s var(--ease) infinite}.dot.degraded{background:var(--amber);box-shadow:var(--glow-amber);animation:kai-breathe 2.4s var(--ease) infinite}.dot.down{background:var(--red);box-shadow:var(--glow-red);animation:kai-pulse-dot 1.5s var(--ease) infinite}@keyframes kai-breathe{0%,to{opacity:.55}50%{opacity:1}}@keyframes kai-pulse-dot{0%,to{opacity:1;box-shadow:0 0 0 0 rgba(255,93,87,.55),var(--glow-red)}70%{opacity:.85;box-shadow:0 0 0 6px rgba(255,93,87,0),var(--glow-red)}}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.badge.high{color:var(--red);border-color:rgba(255,93,87,.4)}.badge.medium{color:var(--amber);border-color:rgba(241,183,60,.4)}.badge.low{color:var(--text-dim)}.status-band{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.band-cluster{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}.band-cluster:disabled{cursor:default;opacity:.7}.band-name{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-faint)}.band-div{width:1px;height:22px;background:var(--border-soft)}.band-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);white-space:nowrap}.band-chip.big{font-size:13px;padding:5px 12px}.band-chip.ok{color:var(--text)}.band-chip.degraded{color:var(--amber);border-color:rgba(241,183,60,.45);background:rgba(241,183,60,.07)}.band-chip.down{color:var(--red);border-color:rgba(255,93,87,.45);background:rgba(255,93,87,.07)}input,select,textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13.5px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(91,157,255,.15)}.scan-input{font-family:var(--mono);font-size:15px;letter-spacing:.5px;text-transform:uppercase;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-dim);font-size:13px;padding:9px 16px;border-radius:8px;cursor:pointer;transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease);font-family:inherit}.btn:hover{border-color:var(--accent);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.btn.primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);color:#fff}.btn.danger{color:var(--red);border-color:rgba(255,93,87,.4)}.field-row{display:grid;grid-template-columns:130px 1fr;grid-gap:12px;gap:12px;align-items:center;margin-bottom:10px}.field-row label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:1px}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl td,.tbl th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border-soft)}.tbl th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);font-weight:600;background:rgba(91,157,255,.03)}.tbl tbody tr{transition:background .12s ease}.tbl tbody tr:hover{background:rgba(91,157,255,.04)}.tbl tbody tr.selected{background:var(--accent-soft)}.tbl td.mono{font-family:var(--mono);color:var(--text)}.tbl td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.console{background:var(--bg-deep);border:1px solid var(--border-soft);border-radius:8px;padding:12px 14px;font-family:var(--mono);font-size:12.5px;color:var(--text-dim);white-space:pre;overflow:auto;max-height:260px;min-height:120px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion:reduce){.dot.degraded,.dot.down,.dot.operational,.tile{animation:none}}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}.stack.tight{gap:6px}.mono{font-family:var(--mono)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.right{text-align:right}.spacer{flex:1 1}.error-banner{background:rgba(255,93,87,.08);border:1px solid rgba(255,93,87,.35);color:#ff7b72;padding:9px 14px;border-radius:8px;font-size:12.5px;margin-bottom:12px}@media (prefers-color-scheme:light){:root:not([data-theme]) body{background:radial-gradient(1100px 520px at 72% -8%,rgba(47,111,224,.06),transparent 62%),var(--bg)}}:root[data-theme=light] body{background:radial-gradient(1100px 520px at 72% -8%,rgba(47,111,224,.06),transparent 62%),var(--bg)}:root[data-theme=light] .topbar{background:linear-gradient(180deg,#fff,#fafbfd);box-shadow:0 1px 0 rgba(20,30,50,.06),0 6px 18px -16px rgba(20,30,50,.18)}@media (prefers-color-scheme:light){:root:not([data-theme]) .topbar{background:linear-gradient(180deg,#fff,#fafbfd);box-shadow:0 1px 0 rgba(20,30,50,.06),0 6px 18px -16px rgba(20,30,50,.18)}}:root[data-theme=light] .dot.degraded,:root[data-theme=light] .dot.down,:root[data-theme=light] .dot.operational{box-shadow:none}@media (prefers-color-scheme:light){:root:not([data-theme]) .dot.degraded,:root:not([data-theme]) .dot.down,:root:not([data-theme]) .dot.operational{box-shadow:none}}:root[data-theme=light] .console{background:#f0f3f8;color:var(--text-dim)}@media (prefers-color-scheme:light){:root:not([data-theme]) .console{background:#f0f3f8;color:var(--text-dim)}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);cursor:pointer;padding:0;transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.theme-toggle:hover{border-color:var(--accent);color:var(--text)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle svg{width:16px;height:16px}.landing{max-width:1280px;margin:0 auto}.landing .hero{padding:36px 4px 28px;max-width:820px}.landing .kicker{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:14px}.landing h1{font-size:36px;line-height:1.12;letter-spacing:-.4px;font-weight:600;margin-bottom:18px;color:var(--text)}.landing .hero-lede{font-size:16px;line-height:1.55;color:var(--text-dim);margin-bottom:22px}.landing .hero-cta{display:inline-block}.bullet-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.bullet-list li{position:relative;padding-left:18px;color:var(--text-dim);font-size:13px;line-height:1.55}.bullet-list li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-accent)}.step-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;counter-reset:step}.step-list li{position:relative;padding-left:30px;color:var(--text-dim);font-size:13px;line-height:1.55;counter-increment:step}.step-list li:before{content:counter(step);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:1px solid rgba(91,157,255,.32)}.step-list li strong{color:var(--text);font-weight:600}.user-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 11px 5px 5px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elev);color:var(--text-dim);font-size:12px;white-space:nowrap}.user-pill .avatar-blob{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.user-pill .avatar-blob,.user-pill .role-chip{background:var(--accent-soft);color:var(--accent);text-transform:uppercase}.user-pill .role-chip{font-size:10px;letter-spacing:.6px;padding:1px 6px;border-radius:999px;border:1px solid rgba(91,157,255,.32)}.user-pill .sep{width:1px;height:14px;background:var(--border)}.user-pill button{background:transparent;border:0;color:var(--text-dim);font-size:12px;cursor:pointer;font-family:inherit;padding:0}.user-pill button:hover{color:var(--text)}