:root{--bg:#10141a;--surface:#171c24;--panel:#1e242e;--panel-2:#252d39;--overlay:#2b3441;--border:#2c3542;--border-soft:#232b36;--border-strong:#3a4554;--text:#e7ecf3;--text-dim:#9aa6b4;--text-faint:#7e8b99;--text-disabled:#4e5965;--accent:#36c2c6;--accent-hover:#4ad0d3;--accent-active:#2baeb2;--accent-muted:#36c2c624;--accent-ink:#06181a;--accent-alt:#6b6bff;--pos:#3fb37f;--pos-bg:#3fb37f21;--neg:#e0594f;--neg-bg:#e0594f21;--neg-solid:#c8402f;--warn:#d9a95e;--warn-bg:#d9a95e21;--info:#5e9be0;--info-bg:#5e9be021;--neutral-bg:#9aa6b41f;--ring-gap:var(--panel);--focus:#5bd4d8;--focus-ring:0 0 0 2px var(--ring-gap), 0 0 0 4px var(--focus);--chart-grid:#232b36;--chart-axis:#7e8b99;--chart-cross:#36c2c6;--series-1:#36c2c6;--series-2:#6b6bff;--series-3:#d9a95e;--series-4:#5e9be0;--series-5:#b58aff;--series-6:#3fb37f;--scrollbar-thumb:#2c3542;--scrollbar-thumb-hover:#3a4554;--selection-bg:#36c2c647;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-full:999px;--sh-1:0 1px 2px #0000004d;--sh-2:0 1px 2px #0000004d, 0 4px 12px #00000047;--sh-3:0 8px 28px #0000006b;--inset:inset 0 0 0 1px var(--border);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-24:24px;--fs-28:28px;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.5;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--font:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--z-sticky:10;--z-dropdown:100;--z-overlay:1000;--z-modal:1010;--z-toast:1100;--sidebar-w:224px;--statusbar-h:28px;--role-viewer-bg:var(--info-bg);--live-bg:#3fb37f24;--live-fg:var(--pos);--paper-bg:#5e9be024;--paper-fg:var(--info)}[data-theme=light]{--bg:#f5f7fa;--surface:#fff;--panel:#fff;--panel-2:#eef2f7;--overlay:#fff;--border:#dce2ea;--border-soft:#e7ecf1;--border-strong:#c3ccd8;--text:#1a2230;--text-dim:#5a6573;--text-faint:#76828f;--text-disabled:#a4aeba;--accent:#0e9da1;--accent-hover:#0b888c;--accent-active:#097377;--accent-muted:#0e9da11f;--accent-ink:#fff;--accent-alt:#4a47e5;--pos:#1c9a60;--pos-bg:#1c9a601a;--neg:#c8402f;--neg-bg:#c8402f1a;--neg-solid:#b5392a;--warn:#b07d1e;--warn-bg:#b07d1e1f;--info:#2f77c8;--info-bg:#2f77c81a;--neutral-bg:#5a65731a;--ring-gap:var(--surface);--focus:#0e9da1;--focus-ring:0 0 0 2px var(--ring-gap),0 0 0 4px var(--focus);--chart-grid:#e7ecf1;--chart-axis:#76828f;--chart-cross:#0e9da1;--series-1:#0e9da1;--series-2:#4a47e5;--series-3:#b07d1e;--series-4:#2f77c8;--series-5:#7d52d6;--series-6:#1c9a60;--scrollbar-thumb:#c3ccd8;--scrollbar-thumb-hover:#a4aeba;--selection-bg:#0e9da133;--sh-1:0 1px 2px #141e320f;--sh-2:0 1px 2px #141e320f,0 4px 12px #141e3214;--sh-3:0 12px 32px #141e3229;--inset:inset 0 0 0 1px var(--border);--role-viewer-bg:var(--info-bg);--live-bg:#1c9a601f;--live-fg:var(--pos);--paper-bg:#2f77c81f;--paper-fg:var(--info)}*,:before,:after{box-sizing:border-box}html{color-scheme:dark}[data-theme=light]{color-scheme:light}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-14);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none;margin:0}::selection{background:var(--selection-bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}h1,h2,h3{font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight);margin:0}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums slashed-zero}:where(a,button,input,select,[tabindex]):focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-sm);outline:none}.app{flex-direction:column;min-height:100svh;display:flex}.topbar{align-items:center;gap:var(--s-5);padding:var(--s-3) var(--s-5);background:var(--surface);border-bottom:1px solid var(--border);z-index:var(--z-sticky);display:flex;position:sticky;top:0}.brand{font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;font-size:var(--fs-13);color:var(--text)}.nav{gap:var(--s-1);display:flex}.nav-item{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);color:var(--text-dim);font-size:var(--fs-13);font-weight:var(--fw-medium);position:relative}.nav-item:hover{color:var(--text);background:var(--panel-2)}.nav-item[data-active=true]{color:var(--accent)}.nav-item[data-active=true]:before{content:"";background:var(--accent);border-radius:var(--r-full);width:2px;height:14px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.spacer{flex:1}.content{width:100%;max-width:1180px;padding:var(--s-6) var(--s-5) var(--s-8);margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.page-header .titles{gap:var(--s-1);flex-direction:column;display:flex}.page-header h1{font-size:var(--fs-24)}.page-header .subtitle{color:var(--text-dim);font-size:var(--fs-13)}.page-header .actions{gap:var(--s-2);display:flex}.card{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--inset), var(--sh-1);padding:var(--s-5)}.card-title{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s-4)}.kpi-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.kpi{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--inset);padding:var(--s-4);gap:var(--s-2);flex-direction:column;display:flex}.kpi-label{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.kpi-value{font-family:var(--mono);font-variant-numeric:tabular-nums slashed-zero;font-size:var(--fs-28);font-weight:var(--fw-medium);color:var(--text);line-height:var(--lh-tight)}.kpi-hint{font-size:var(--fs-11);color:var(--text-faint);line-height:var(--lh-snug)}[data-tone=pos] .kpi-value,.kpi-value[data-tone=pos],[data-tone=pos]{color:var(--pos)}[data-tone=neg] .kpi-value,.kpi-value[data-tone=neg],[data-tone=neg]{color:var(--neg)}.btn{font-family:var(--font);font-size:var(--fs-13);font-weight:var(--fw-medium);padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);cursor:pointer;transition:background var(--_dur,.12s) ease, border-color var(--_dur,.12s) ease;white-space:nowrap}.btn:hover{background:var(--overlay);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn[data-variant=primary]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:var(--fw-semibold)}.btn[data-variant=primary]:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn[data-variant=primary]:active:not(:disabled){background:var(--accent-active)}.field{gap:var(--s-1);flex-direction:column;display:flex}.field-label{font-size:var(--fs-12);color:var(--text-dim)}.input{font-family:var(--mono);font-variant-numeric:tabular-nums slashed-zero;font-size:var(--fs-13);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);width:100%}.input:hover{border-color:var(--border-strong)}.input:disabled{opacity:.5;cursor:not-allowed}select.input{cursor:pointer}.table-wrap{border-radius:var(--r-md);box-shadow:var(--inset);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-13)}.table th{text-align:left;padding:var(--s-2) var(--s-3);font-size:var(--fs-11);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border-soft);color:var(--text)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--panel-2)}.table .num{text-align:right}.badge{padding:1px var(--s-2);border-radius:var(--r-xs);font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.03em;background:var(--neutral-bg);color:var(--text-dim);align-items:center;display:inline-flex}.badge[data-tone=pos]{background:var(--pos-bg);color:var(--pos)}.badge[data-tone=neg]{background:var(--neg-bg);color:var(--neg)}.badge[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.badge[data-tone=info]{background:var(--info-bg);color:var(--info)}.badge[data-tone=accent]{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:0 0}.tabs{gap:var(--s-1);margin-bottom:var(--s-4);border-bottom:1px solid var(--border);display:flex}.tab{appearance:none;padding:var(--s-2) var(--s-3);color:var(--text-dim);font-size:var(--fs-13);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab[data-active=true]{color:var(--text);border-bottom-color:var(--accent)}.setting-row{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--border-soft);display:flex}.setting-row:last-child{border-bottom:none}.setting-label{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text)}.field>span{font-size:var(--fs-12);color:var(--text-dim)}.banner{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-13);background:var(--neg-bg);color:var(--neg);box-shadow:inset 0 0 0 1px var(--neg)}.banner[data-tone=warn]{background:var(--warn-bg);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.banner[data-tone=info]{background:var(--info-bg);color:var(--info);box-shadow:inset 0 0 0 1px var(--info)}.note{color:var(--text-faint);font-size:var(--fs-13)}.empty{border:1px dashed var(--border);border-radius:var(--r-md);padding:var(--s-6);text-align:center;color:var(--text-dim)}.auth-screen{min-height:100svh;padding:var(--s-5);background:var(--bg);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:380px}.auth-brand{font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;font-size:var(--fs-12);color:var(--text-faint);margin-bottom:var(--s-3)}.auth-title{font-size:var(--fs-24);margin-bottom:var(--s-2)}.auth-sub{color:var(--text-dim);font-size:var(--fs-13);margin-bottom:var(--s-5)}.auth-switch{margin-top:var(--s-4);width:100%;color:var(--text-dim);font-family:var(--font);font-size:var(--fs-13);cursor:pointer;padding:var(--s-2);background:0 0;border:none}.auth-switch:hover{color:var(--accent)}.ws-list{margin:0 0 var(--s-2);gap:var(--s-2);flex-direction:column;padding:0;list-style:none;display:flex}.ws-option{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font);font-size:var(--fs-14);cursor:pointer;text-align:left;display:flex}.ws-option:hover:not(:disabled){border-color:var(--accent);background:var(--panel-2)}.ws-option:disabled{opacity:.6;cursor:progress}.ws-option-name{font-weight:var(--fw-medium);flex:1}.shell{flex-direction:row}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:200px;padding:var(--s-4) var(--s-3);gap:var(--s-4);flex-direction:column;flex-shrink:0;height:100svh;display:flex;position:sticky;top:0}.sidebar-brand{font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;font-size:var(--fs-13);color:var(--text);padding:var(--s-2) var(--s-3)}.sidebar-nav{gap:var(--s-1);flex-direction:column;display:flex}.sidebar-nav .nav-item{display:block}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.shell-main .content{max-width:1180px}.ws-switcher{position:relative}.ws-switcher .btn{align-items:center;display:inline-flex}.ws-menu{top:calc(100% + var(--s-2));background:var(--overlay,var(--panel-2));border:1px solid var(--border-strong);border-radius:var(--r-md);min-width:220px;box-shadow:var(--sh-2,var(--sh-1));padding:var(--s-1);z-index:var(--z-sticky);flex-direction:column;gap:2px;display:flex;position:absolute;left:0}.ws-menu-item{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);color:var(--text);font-family:var(--font);font-size:var(--fs-13);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.ws-menu-item:hover{background:var(--panel-2)}.ws-menu-item[data-active=true]{color:var(--accent)}.ws-menu-sep{background:var(--border);height:1px;margin:var(--s-1) 0}.modal-backdrop{padding:var(--s-5);z-index:var(--z-modal,1000);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:420px}.modal-actions{justify-content:flex-end;gap:var(--s-2);display:flex}.row-actions{gap:var(--s-2);justify-content:flex-end;display:inline-flex}@media (width<=720px){.shell{flex-direction:column}.sidebar{flex-direction:row;align-items:center;width:100%;height:auto;position:static;overflow-x:auto}.sidebar-nav{flex-direction:row}}.notice-card{margin-top:var(--s-5)}.notice-head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);display:flex}.notice-title{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text)}.notice-body{color:var(--text-dim);font-size:var(--fs-13);line-height:var(--lh-normal);max-width:64ch}.quick-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.quick-link{gap:var(--s-1);padding:var(--s-4);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--inset);color:var(--text);transition:box-shadow var(--_dur,.12s) ease, background var(--_dur,.12s) ease;flex-direction:column;display:flex;position:relative}.quick-link:hover{background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--accent);color:var(--text)}.quick-link-title{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text)}.quick-link-desc{font-size:var(--fs-12);color:var(--text-dim);line-height:var(--lh-snug)}.quick-link-go{top:var(--s-4);right:var(--s-4);color:var(--text-faint);font-family:var(--mono);transition:color var(--_dur,.12s) ease, transform var(--_dur,.12s) ease;position:absolute}.quick-link:hover .quick-link-go{color:var(--accent);transform:translate(2px)}.skel{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--panel-2) 25%, var(--overlay) 37%, var(--panel-2) 63%);background-size:400% 100%;animation:1.4s infinite skel-shimmer;display:inline-block}.skel-num{width:3ch;height:var(--fs-28);vertical-align:middle}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.grid-axes{gap:var(--s-3);flex-direction:column;display:flex}.axis-row{align-items:end;gap:var(--s-3);grid-template-columns:64px repeat(3,minmax(80px,1fr)) auto;display:grid}.axis-label{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--text-dim);padding-bottom:var(--s-2)}.axis-slots{padding-bottom:var(--s-2);white-space:nowrap}.grid-meta{gap:var(--s-3);margin-top:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.input[data-readonly=true]{background:var(--panel-2);color:var(--text-dim);cursor:default;align-items:center;display:flex}@media (width<=640px){.axis-row{grid-template-columns:1fr 1fr}.axis-label,.axis-slots{grid-column:1/-1;padding-bottom:0}}.progress{border-radius:var(--r-full);background:var(--panel-2);height:10px;box-shadow:var(--inset);overflow:hidden}.progress-fill{background:var(--accent);border-radius:var(--r-full);height:100%;transition:width var(--_dur,.22s) ease;min-width:2px}.progress-label{margin-top:var(--s-2);color:var(--text-dim);font-size:var(--fs-13)}.conn-tag{margin-left:var(--s-3);font-size:var(--fs-12);font-weight:var(--fw-regular);color:var(--text-faint)}.conn-tag[data-source=ws]{color:var(--accent)}.conn-tag[data-source=poll]{color:var(--warn)}.stable-mark{align-items:baseline;gap:var(--s-2);font-family:var(--mono);font-weight:var(--fw-semibold);display:inline-flex}.stable-mark[data-tone=pos]{color:var(--pos)}.stable-mark[data-tone=neg]{color:var(--neg)}.stable-note{font-size:var(--fs-12);font-weight:var(--fw-regular);color:var(--warn)}.table tbody tr[data-overfit=true] td,.table tbody tr[data-overfit=true]:hover td{background:var(--warn-bg)}.segment{padding:var(--s-1);gap:var(--s-1);background:var(--panel-2);border-radius:var(--r-md);box-shadow:var(--inset);display:inline-flex}.segment-btn{appearance:none;cursor:pointer;font:inherit;font-weight:var(--fw-medium);color:var(--text-dim);border-radius:var(--r-sm);padding:var(--s-2) var(--s-4);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;transition:background .16s,color .16s;display:inline-flex}.segment-btn:hover:not([data-active=true]){color:var(--text);background:var(--overlay)}.segment-btn[data-active=true]{background:var(--accent);color:var(--accent-ink)}.segment-btn .seg-sub{font-family:var(--mono);font-size:var(--fs-11);font-weight:var(--fw-regular);opacity:.8}.check-row{align-items:flex-start;gap:var(--s-2);padding:var(--s-2) 0;display:flex}.check-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;margin-top:2px}.check-row .check-body{flex-direction:column;gap:2px;display:flex}.check-row .check-label{color:var(--text);font-size:var(--fs-14)}.check-row .check-hint{color:var(--text-faint);font-size:var(--fs-12)}.weekday-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.weekday-btn{appearance:none;border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);font:inherit;font-family:var(--mono);font-size:var(--fs-13);cursor:pointer;border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);transition:background .14s,color .14s,border-color .14s}.weekday-btn:hover{border-color:var(--border-strong);color:var(--text)}.weekday-btn[data-active=true]{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.tip{gap:var(--s-2);padding:var(--s-3);margin-top:var(--s-3);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text-dim);font-size:var(--fs-13);align-items:baseline;display:flex}.tip[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.tip .tip-mark{font-family:var(--mono);color:var(--text-faint)}.checklist{gap:var(--s-2);margin-top:var(--s-2);flex-direction:column;display:flex}.checklist li{align-items:baseline;gap:var(--s-2);color:var(--text-dim);font-size:var(--fs-13);list-style:none;display:flex}.checklist .check{font-family:var(--mono);text-align:center;min-width:1ch;font-weight:600}.checklist .check[data-tone=pos]{color:var(--pos)}.checklist .check[data-tone=neg]{color:var(--neg)}.toggle{align-items:center;gap:var(--s-2);cursor:default;display:inline-flex}.toggle input[type=checkbox]{accent-color:var(--accent)}.toggle input[type=checkbox]:disabled{cursor:not-allowed}.label{font-size:var(--fs-11);letter-spacing:.4px;text-transform:uppercase;color:var(--text-dim);font-weight:500}.caption{font-size:var(--fs-12);color:var(--text-dim);line-height:var(--lh-snug)}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.pos{color:var(--pos)}.neg{color:var(--neg)}.stat-value,.metric{font-family:var(--mono);font-variant-numeric:tabular-nums slashed-zero}.row{gap:var(--s-3);display:flex}.wrap{gap:var(--s-3);flex-wrap:wrap;display:flex}.grow{flex:1;min-width:0}.stack{flex-direction:column;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s-2);display:inline-flex}.btn svg{flex-shrink:0}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn[data-variant=ghost]{background:var(--panel-2);color:var(--text);border-color:var(--border)}.btn[data-variant=ghost]:hover:not(:disabled){background:var(--overlay)}.btn[data-variant=subtle]{color:var(--text-dim);background:0 0;border-color:#0000}.btn[data-variant=subtle]:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.btn[data-variant=danger]{background:var(--neg-solid);border-color:var(--neg-solid);color:#fff;font-weight:var(--fw-semibold)}.btn[data-variant=danger]:hover:not(:disabled){background:var(--neg);border-color:var(--neg)}.btn.sm{padding:var(--s-1) var(--s-3);font-size:var(--fs-12)}.btn.icon{padding:var(--s-2);width:32px;height:32px}.btn.sm.icon{width:26px;height:26px;padding:0}.card-pad{padding:var(--s-4)}.card.elev{box-shadow:var(--inset), var(--sh-2)}.panel-title{font-size:var(--fs-12);letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);margin-bottom:var(--s-3);font-weight:600}.stat-group{margin-bottom:var(--s-4)}.stat-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat-cell{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--inset);padding:11px 14px}.stat-cell .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-20);font-weight:600;line-height:1.1}.stat-cell .k{margin-top:2px}.kpi-hero{align-items:flex-end;gap:var(--s-5);flex-wrap:wrap;display:flex}.kpi-hero .v{font-family:var(--mono);font-size:var(--fs-28);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.kpi-hero .v[data-tone=pos]{color:var(--pos)}.kpi-hero .v[data-tone=neg]{color:var(--neg)}.kpi-hero .v[data-tone=accent]{color:var(--accent)}table.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-13)}table.tbl td{font-family:var(--mono);font-variant-numeric:tabular-nums slashed-zero}table.tbl th,table.tbl td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border-soft);text-align:right;white-space:nowrap}table.tbl th{font-family:var(--font);color:var(--text-dim);font-weight:500;font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.4px;background:var(--panel);z-index:var(--z-sticky);cursor:default;user-select:none;position:sticky;top:0}table.tbl th[data-sortable]{cursor:pointer}table.tbl th[data-sortable]:hover{color:var(--text)}table.tbl th .th-in{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}table.tbl th:first-child .th-in,table.tbl th[data-align=left] .th-in{justify-content:flex-start}table.tbl th:first-child,table.tbl td:first-child{text-align:left}table.tbl tbody tr{transition:background .1s}table.tbl tbody tr.clickable{cursor:pointer}table.tbl tbody tr.clickable:hover{background:var(--panel-2)}table.tbl tbody tr[data-selected]{background:var(--accent-muted);box-shadow:inset 2px 0 0 var(--accent)}table.tbl tbody tr[data-weak] td{color:var(--text-dim)}table.tbl td[data-tone=pos]{color:var(--pos)}table.tbl td[data-tone=neg]{color:var(--neg)}table.tbl td[data-tone=warn]{color:var(--warn)}.tip-ic{cursor:help;color:var(--text-faint);vertical-align:middle;display:inline-flex;position:relative}.tip-ic:hover>.tip-pop,.tip-ic:focus-visible>.tip-pop{opacity:1;visibility:visible}.tip-ic:focus-visible{outline:none}.tip-pop{z-index:var(--z-dropdown);border-radius:var(--r-sm);background:var(--overlay);width:max-content;max-width:260px;color:var(--text);box-shadow:var(--inset), var(--sh-2);font-size:var(--fs-12);text-transform:none;letter-spacing:0;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;padding:6px 9px;font-weight:400;line-height:1.4;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}details.sec{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--inset), var(--sh-1);margin-bottom:var(--s-3)}details.sec>summary{cursor:pointer;padding:var(--s-3) var(--s-4);align-items:center;gap:var(--s-2);font-size:var(--fs-12);letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim);user-select:none;font-weight:600;list-style:none;display:flex}details.sec>summary::-webkit-details-marker{display:none}details.sec>summary:before{content:"";border-right:1.5px solid var(--text-faint);border-bottom:1.5px solid var(--text-faint);width:6px;height:6px;margin-right:2px;transition:transform .15s;transform:rotate(-45deg)}details.sec[open]>summary:before{transform:rotate(45deg)}details.sec>summary .sec-hint{text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--fs-11);color:var(--text-faint);margin-left:auto}details.sec>.sec-body{padding:0 var(--s-4) var(--s-4)}details.sub{margin-top:var(--s-2)}details.sub>summary{cursor:pointer;font-size:var(--fs-11);color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;user-select:none;list-style:none}details.sub>summary::-webkit-details-marker{display:none}details.sub>.sub-body{padding-top:var(--s-3)}.slot{min-height:56px}.empty-state{align-items:center;gap:var(--s-3);padding:var(--s-7) var(--s-4);text-align:center;flex-direction:column;display:flex}.empty-state .es-icon{color:var(--text-faint)}.empty-state .es-title{font-size:var(--fs-16);color:var(--text);font-weight:600}.empty-state .es-hint{max-width:420px}.statusbar{height:var(--statusbar-h);align-items:center;gap:var(--s-4);padding:0 var(--s-5);background:var(--surface);border-top:1px solid var(--border);font-family:var(--mono);font-size:var(--fs-11);color:var(--text-dim);display:flex}.statusbar .sb-sep{color:var(--border-strong)}.statusbar .sb-dot{background:var(--pos);border-radius:50%;width:6px;height:6px;display:inline-block}.switch{border-radius:var(--r-full);cursor:pointer;background:var(--panel-2);width:34px;height:20px;box-shadow:var(--inset);border:0;flex-shrink:0;padding:2px;transition:background .15s}.switch[aria-checked=true]{background:var(--accent);box-shadow:none}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:focus-visible{box-shadow:var(--focus-ring);outline:none}.switch>i{background:var(--text-faint);border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;display:block;transform:translate(0)}.switch[aria-checked=true]>i{background:var(--accent-ink);transform:translate(14px)}.combo{width:100%;position:relative}.combo-control{align-items:center;gap:var(--s-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;height:32px;padding:0 10px;transition:border-color .12s,box-shadow .12s;display:flex}.combo-control:hover{border-color:var(--border-strong)}.combo[data-open=true] .combo-control{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.combo-control[data-disabled=true]{opacity:.55;cursor:not-allowed}.combo-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-13);flex:1;overflow:hidden}.combo-value.placeholder{color:var(--text-faint)}.combo-pop{z-index:var(--z-dropdown);background:var(--overlay);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:var(--s-2);gap:var(--s-1);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0}.combo-search{background:var(--surface);width:100%;height:30px;color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-13);padding:0 10px}.combo-search:focus-visible{border-color:var(--accent);outline:none}.combo-list{flex-direction:column;gap:1px;max-height:240px;display:flex;overflow-y:auto}.combo-opt{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2);color:var(--text);font:inherit;font-size:var(--fs-13);text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;width:100%;display:flex}.combo-opt:hover,.combo-opt[data-active=true]{background:var(--panel-2)}.combo-opt[data-selected=true]{color:var(--accent)}.combo-opt .co-meta{font-family:var(--mono);font-size:var(--fs-11);color:var(--text-faint);margin-left:auto}.combo-empty{padding:var(--s-3);text-align:center;color:var(--text-faint);font-size:var(--fs-12)}.combo-caption{font-size:var(--fs-11);color:var(--text-faint);font-family:var(--mono);margin-top:4px}.coin-chip{font-family:var(--mono);color:#fff;text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.modal-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.modal-head h2{font-size:var(--fs-16)}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.dot[data-on=true]{background:var(--accent)}.dot[data-on=false]{background:var(--text-faint)}.async-err{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--neg-bg);color:var(--neg);box-shadow:inset 0 0 0 1px var(--neg);font-size:var(--fs-12);display:flex}.async-err .ae-msg{flex:1;min-width:0}.role-banner{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--role-viewer-bg);color:var(--info);font-size:var(--fs-12);box-shadow:inset 0 0 0 1px var(--info);display:flex}.acct-badge{border-radius:var(--r-xs);font-size:var(--fs-11);align-items:center;gap:4px;padding:2px 7px;font-weight:600;display:inline-flex}.acct-badge[data-mode=live]{background:var(--live-bg);color:var(--live-fg)}.acct-badge[data-mode=paper]{background:var(--paper-bg);color:var(--paper-fg)}.results-recalc{position:relative}.results-recalc[data-pending=true]>.rl-content{opacity:.45;pointer-events:none;transition:opacity .15s}.rl-overlay{justify-content:center;align-items:center;gap:var(--s-2);color:var(--text-dim);font-size:var(--fs-13);z-index:1;display:flex;position:absolute;inset:0}.skel-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.spin{animation:1s linear infinite spin!important}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.shell .sidebar{width:var(--sidebar-w);gap:var(--s-4);overflow:hidden}.shell .sidebar-nav{flex:0 auto;min-height:0;overflow-y:auto}.shell .sidebar .nav-item{height:36px;padding:0 var(--s-3)}.shell .sidebar .nav-item[data-active=true]{background:var(--accent-muted);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.shell .sidebar .nav-item[data-active=true]:before{display:none}.shell .sidebar .nav-item svg{color:inherit;flex-shrink:0}.shell-main{height:100svh;overflow:hidden}.shell-main .content{flex:1;min-height:0;overflow-y:auto}.shell-main .statusbar{flex-shrink:0}@media (width<=720px){.shell-main{height:auto;overflow:visible}.shell-main .content{overflow-y:visible}}.cfg-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.bt-layout{gap:var(--s-4);margin-top:var(--s-4);grid-template-columns:380px 1fr;align-items:start;display:grid}.bt-config{top:var(--s-4);max-height:calc(100vh - var(--statusbar-h,28px) - var(--s-6));padding-right:2px;position:sticky;overflow-y:auto}.bt-results{min-width:0}.bt-results-grid{gap:var(--s-4);grid-template-columns:2fr 1fr;display:grid}@media (width<=1080px){.bt-layout{grid-template-columns:1fr}.bt-config{max-height:none;position:static}.bt-results-grid{grid-template-columns:1fr}}.preset-bar{margin-bottom:var(--s-4)}.preset-bar-row{align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.preset-bar-icon{border-radius:var(--r-md);background:var(--accent-muted);width:32px;height:32px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.preset-bar-row>.field{min-width:180px}.preset-bar-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-left:auto;display:flex}.dirty-dot{border-radius:var(--r-full);background:var(--text-faint);flex-shrink:0;width:9px;height:9px}.dirty-dot[data-dirty=true]{background:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.wd-sched{gap:var(--s-2);grid-template-columns:repeat(7,1fr);display:grid}.wd-cell{flex-direction:column;gap:3px;display:flex}.wd-cell .wd-name{font-size:var(--fs-11);color:var(--text-dim);text-align:center}.wd-cell input{font-size:var(--fs-12);padding:0 4px}.wd-cell[data-empty=true] input{opacity:.5}@media (width<=520px){.wd-sched{grid-template-columns:repeat(4,1fr)}}.filter-card{border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-3);margin-bottom:var(--s-3);background:var(--surface)}.filter-card[data-on=true]{border-color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.filter-head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.filter-card[data-on=true] .cfg-grid{margin-top:var(--s-3)}.row-center{align-items:center;gap:var(--s-2);display:flex}.preset-cards{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.preset-card{flex-direction:column;display:flex}.preset-card-head{justify-content:space-between;align-items:flex-start;gap:var(--s-2);margin-bottom:2px;display:flex}.preset-summary{gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.ps-chip{border-radius:var(--r-sm);background:var(--panel-2);box-shadow:var(--inset);flex-direction:column;gap:1px;padding:5px 9px;display:inline-flex}.ps-chip .ps-k{font-size:var(--fs-11);color:var(--text-faint)}.ps-chip .ps-v{font-size:var(--fs-13);color:var(--text)}.preset-card-actions{align-items:center;gap:var(--s-2);margin-top:auto;display:flex}.scan-meta{gap:var(--s-2);flex-wrap:wrap;display:flex}.heat-wrap{overflow-x:auto}table.heat{border-collapse:separate;border-spacing:2px;font-family:var(--mono);font-size:var(--fs-12)}table.heat th{color:var(--text-dim);font-weight:500;font-size:var(--fs-11);text-align:center;white-space:nowrap;padding:4px 8px}table.heat th.heat-corner{color:var(--text-faint)}table.heat td{text-align:center;border-radius:var(--r-xs);color:var(--text);min-width:48px;padding:8px 10px}table.heat td.heat-empty{color:var(--text-faint);background:var(--panel-2)}table.heat td.heat-cell[data-ok=true]{outline:1.5px solid var(--accent);outline-offset:-1.5px}.heat-legend{margin-top:var(--s-3)}
