@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-opsz-normal-CfYZpDVp.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-opsz-normal-BFQXbQ-f.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-opsz-normal-BmPQvyvo.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-opsz-normal-BM0NlUE_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-opsz-normal-Ci9T9ieq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-opsz-normal-DpK-iCPk.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-opsz-normal-BwkfbSeq.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.cmdk-scrim{position:fixed;inset:0;z-index:300;background:var(--scrim);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:14vh 16px 16px}.cmdk{width:min(560px,100%);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3);overflow:hidden;animation:stats-enter var(--dur-fast) var(--ease-spring)}.cmdk-input-wrap{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-muted)}.cmdk-input{flex:1;border:none;background:transparent;color:var(--text);font-size:16px;outline:none}.cmdk-kbd,.cmdk-hint{font-size:10.5px;font-family:var(--font-mono);padding:2px 6px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-faint)}.cmdk-list{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto}.cmdk-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);cursor:pointer}.cmdk-item.active{background:var(--accent-gradient-soft)}.cmdk-ico{display:inline-flex;color:var(--accent)}.cmdk-label{flex:1;font-size:14px;font-weight:500}.cmdk-empty{padding:16px;text-align:center;font-size:14px}.net-status{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:8px 14px;padding-top:max(8px,env(safe-area-inset-top));font-size:13px;font-weight:600;color:var(--on-accent, #06121a);background:var(--warn);text-align:center}.net-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.8}.cheat-scrim{position:fixed;inset:0;z-index:200;background:var(--scrim);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.cheat{width:min(460px,100%);padding:var(--sp-5)}.cheat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.cheat-section{margin-bottom:var(--sp-4)}.cheat-section-title{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-2)}.cheat-section ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cheat-section li{display:flex;align-items:center;gap:var(--sp-4);font-size:13.5px}.cheat-keys{display:inline-flex;gap:4px;width:70px;flex-shrink:0}kbd{font-family:var(--font-mono);font-size:11px;padding:2px 7px;background:var(--surface-3);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:6px;color:var(--text)}.trp{display:flex;flex-direction:column;gap:var(--sp-2)}.trp-segment{display:inline-flex;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);gap:2px;overflow-x:auto;scrollbar-width:none}.trp-segment::-webkit-scrollbar{display:none}.trp-seg-btn{border:none;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:var(--r-pill);white-space:nowrap;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.trp-seg-btn:hover{color:var(--text)}.trp-seg-btn.on{background:var(--accent-gradient);color:var(--on-accent)}.trp-custom{display:flex;gap:var(--sp-3);padding:var(--sp-3);flex-wrap:wrap}.trp-custom label{display:flex;flex-direction:column;gap:4px;font-size:12px}.app-footer{text-align:center;padding:var(--sp-6) var(--sp-4) var(--sp-5);color:var(--text-faint);font-size:12.5px}.app-footer a{color:var(--text-muted);font-weight:600}.app-footer a:hover{color:var(--accent)}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-bar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:10px max(var(--sp-5),env(safe-area-inset-left)) 10px max(var(--sp-5),env(safe-area-inset-right));background:color-mix(in srgb,var(--surface-0) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.app-bar-left{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.app-bar-right{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}.brand{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:700;color:var(--text);white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{display:block;width:22px;height:22px;border-radius:6px;box-shadow:0 2px 10px color-mix(in srgb,var(--accent-violet) 40%,transparent)}.brand-name{font-size:16px}.app-nav{display:flex;align-items:center;gap:2px;margin-left:var(--sp-3)}.nav-link{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:var(--r-pill);color:var(--text-muted);font-size:13.5px;font-weight:600;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.nav-link:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.nav-link.active{color:var(--text);background:var(--accent-gradient-soft);border:1px solid color-mix(in srgb,var(--accent-teal) 40%,transparent);padding:7px 12px}.nav-icon{display:inline-flex;align-items:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:16px;transition:background var(--dur-fast) var(--ease-standard)}.icon-btn:hover{background:var(--surface-hover)}.drawer-toggle{display:none}.ws-indicator{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--text-muted);padding:5px 11px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2)}.ws-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.ws-connecting .ws-dot{background:var(--warn)}.ws-closed .ws-dot{background:var(--crit)}.global-range-bar{position:sticky;top:59px;z-index:90;display:flex;justify-content:flex-end;padding:var(--sp-3) var(--sp-5);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.app-main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:var(--sp-5) max(var(--sp-5),env(safe-area-inset-left)) var(--sp-6) max(var(--sp-5),env(safe-area-inset-right))}.drawer-scrim{position:fixed;inset:0;z-index:150;background:var(--scrim);backdrop-filter:blur(2px)}.drawer{position:absolute;top:0;left:0;bottom:0;width:min(280px,82vw);background:var(--surface-1);border-right:1px solid var(--border);padding:var(--sp-5) var(--sp-3);padding-top:max(var(--sp-5),env(safe-area-inset-top));display:flex;flex-direction:column;gap:4px}.drawer-link{display:flex;align-items:center;gap:var(--sp-3);padding:12px 14px;border-radius:var(--r-md);color:var(--text-muted);font-weight:600;font-size:15px}.drawer-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.drawer-link.active{background:var(--accent-gradient-soft);color:var(--text)}@media(max-width:1560px)and (min-width:901px){.nav-text{display:none}.nav-link{padding:8px 11px}}@media(max-width:900px){.app-nav{display:none}.drawer-toggle{display:inline-flex}}@media(max-width:640px){.ws-label{display:none}.app-bar{padding-left:var(--sp-3);padding-right:var(--sp-3)}.global-range-bar{justify-content:center;padding:var(--sp-3)}.app-main{padding:var(--sp-4) var(--sp-3) var(--sp-5);min-width:0}}@media(pointer:coarse){.icon-btn{width:44px;height:44px}.global-range-bar{top:64px}}.app-main{min-width:0;overflow-x:clip}.route-skeleton{display:flex;align-items:center;justify-content:center;min-height:40vh}.user-menu{display:flex;align-items:center;gap:6px}.user-email{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:var(--text-muted, #9aa4b2)}@media(max-width:720px){.user-email{display:none}}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-4);text-align:center;min-height:120px}.state-icon{display:flex;justify-content:center;color:var(--text-faint);line-height:1}.state-error,.state-error .state-icon{color:var(--danger)}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-5)}.login-card{width:min(400px,100%);padding:var(--sp-7) var(--sp-6);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-3);text-align:center;margin:auto}.login-mark{display:block;width:56px;height:56px;margin:0 auto var(--sp-4);border-radius:14px;box-shadow:0 8px 30px color-mix(in srgb,var(--accent-violet) 45%,transparent)}.login-title{font-size:30px;font-weight:750;letter-spacing:-.02em}.login-tag{margin:6px 0 var(--sp-6);font-size:14px}.google-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:15px;font-weight:650;transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast) var(--ease-standard)}.google-btn:hover{background:var(--surface-hover)}.google-btn:active{transform:scale(.98)}.login-note{margin-top:var(--sp-5);font-size:12.5px}.stat-tile{--tone: var(--accent);display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);text-align:left;position:relative;overflow:hidden;transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur-base) var(--ease-standard)}.stat-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--tone);opacity:.85}.stat-tile-btn{cursor:pointer;color:inherit;font:inherit}.stat-tile-btn:hover{transform:translateY(-2px);border-color:var(--border-strong)}.tone-ok{--tone: var(--ok)}.tone-warn{--tone: var(--warn)}.tone-crit{--tone: var(--crit)}.tone-accent{--tone: var(--accent-teal)}.tone-neutral{--tone: var(--border-strong)}.stat-tile-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.stat-tile-label{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.stat-tile-icon{display:inline-flex;align-items:center;color:var(--accent);opacity:.9}.stat-tile-value{font-size:28px;font-weight:680;line-height:1.05;letter-spacing:-.02em;color:var(--text)}.stat-tile-unit{font-size:15px;font-weight:600;color:var(--text-muted);margin-left:3px}.stat-tile-sub{font-size:12.5px}.stat-tile-bar{height:6px;border-radius:var(--r-pill);background:var(--track);overflow:hidden;margin-top:2px}.stat-tile-bar>span{display:block;height:100%;border-radius:var(--r-pill);background:var(--tone);transition:width var(--dur-slow) var(--ease-emphasized)}.tiles-grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media(max-width:640px){.tiles-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.stat-tile-value{font-size:24px}}.ui-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.ui-card-pad{padding:var(--sp-5)}@media(max-width:640px){.ui-card-pad{padding:var(--sp-4)}}.ui-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4)}.ui-card-heading{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.ui-card-icon{display:inline-flex;align-items:center;line-height:1;color:var(--accent)}.ui-card-title{font-size:16px;font-weight:650}.ui-card-sub{font-size:12.5px;margin-top:2px}.ui-card-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.ui-card.is-collapsed .ui-card-header{margin-bottom:0}.card-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--r-full, 999px);background:transparent;color:var(--text-faint);cursor:pointer}.card-collapse-btn:hover{background:var(--surface-2);color:var(--text)}@media(pointer:coarse){.card-collapse-btn{width:44px;height:44px}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.page-title{font-size:26px;font-weight:720;letter-spacing:-.02em}.page-subtitle{font-size:13.5px;margin-top:3px}.page-header-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.grid{display:grid;gap:var(--sp-4)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.section-gap{margin-top:var(--sp-5)}.span-2{grid-column:span 2}@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.grid-2,.grid-3,.grid-auto{grid-template-columns:1fr}.span-2{grid-column:auto}.page-title{font-size:22px}}@media(max-width:430px){.page-header-actions{width:100%}}.uplot-host{width:100%}.uplot-host .uplot{width:100%!important;font-family:var(--font-sans)}.uplot-spark{line-height:0}.uplot .u-legend{color:var(--text-muted)}.uplot .u-cursor-pt{border-color:var(--accent)!important}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-pill);font-size:11.5px;font-weight:650;line-height:1.6;border:1px solid transparent;white-space:nowrap}.sev-info{background:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.sev-low,.threat-low,.badge-ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 34%,transparent)}.sev-medium,.threat-medium,.badge-warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 34%,transparent)}.sev-high,.threat-high{background:color-mix(in srgb,var(--threat-high) 16%,transparent);color:var(--threat-high);border-color:color-mix(in srgb,var(--threat-high) 34%,transparent)}.sev-critical,.threat-critical,.badge-crit{background:color-mix(in srgb,var(--crit) 16%,transparent);color:var(--crit);border-color:color-mix(in srgb,var(--crit) 34%,transparent)}.badge-accent{background:color-mix(in srgb,var(--accent-teal) 16%,transparent);color:var(--accent-teal);border-color:color-mix(in srgb,var(--accent-teal) 34%,transparent)}.badge-neutral{background:var(--surface-3);color:var(--text-muted);border-color:var(--border)}.event-feed{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-2)}.feed-item{display:flex;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);position:relative}.feed-compact .feed-item{padding:10px var(--sp-3)}.feed-rail{width:3px;border-radius:var(--r-pill);flex-shrink:0}.sev-rail-info{background:var(--info)}.sev-rail-low{background:var(--ok)}.sev-rail-medium{background:var(--warn)}.sev-rail-high{background:var(--threat-high)}.sev-rail-critical{background:var(--crit)}.feed-body{flex:1;min-width:0}.feed-line1{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.feed-ip{font-weight:650;font-size:13.5px;color:var(--text);display:inline-flex;align-items:center;gap:5px}.feed-ip:hover{color:var(--accent);text-decoration:none}.feed-cc{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 5px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.feed-count{font-size:12px;font-weight:700;color:var(--warn)}.feed-line2{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:3px;flex-wrap:wrap}.feed-cat{color:var(--text-muted);font-weight:600}.feed-evidence{margin-top:6px;font-size:11.5px;color:var(--text-faint);background:var(--surface-0);border-radius:var(--r-sm);padding:6px 8px;overflow-x:auto;white-space:nowrap}.feed-time{font-size:11.5px;flex-shrink:0;white-space:nowrap}.feed-empty{padding:var(--sp-6);text-align:center}.ov-charts .ui-card{min-width:0}.cert-chips{display:flex;flex-direction:column;gap:var(--sp-2)}.cert-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--ok)}.cert-chip.warn{border-left-color:var(--warn)}.cert-chip.urgent{border-left-color:var(--crit)}.cert-domain{font-size:13px;font-weight:600}.cert-days{font-size:12.5px;font-weight:700;color:var(--text-muted)}.cert-chip.urgent .cert-days{color:var(--crit)}.mini-stat{display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-start}.mini-num{font-size:34px;font-weight:720;line-height:1}.mini-num.good{color:var(--ok)}.mini-num.bad{color:var(--crit)}.mini-num.warnc{color:var(--warn)}.mini-list{list-style:none;margin:0;padding:0;font-size:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:3px}:root{--accent-teal: #4dd0c4;--accent-violet: #9b8cff;--accent: #6ec8d6;--accent-dim: #4a8f9c;--accent-gradient: linear-gradient(135deg, var(--accent-teal) 0%, var(--accent-violet) 100%);--accent-gradient-soft: linear-gradient( 135deg, color-mix(in srgb, var(--accent-teal) 22%, transparent) 0%, color-mix(in srgb, var(--accent-violet) 22%, transparent) 100% );--ok: #56d364;--info: #6ec8d6;--warn: #e3b341;--crit: #f06c6c;--danger: #f06c6c;--threat-low: #56d364;--threat-medium: #e3b341;--threat-high: #f0883e;--threat-critical: #f06c6c;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--m3-spatial-fast: cubic-bezier(.42, 1.67, .21, .9);--m3-spatial-fast-dur: .35s;--m3-spatial-default: cubic-bezier(.38, 1.21, .22, 1);--m3-spatial-default-dur: .5s;--m3-spatial-slow: cubic-bezier(.39, 1.29, .35, .98);--m3-spatial-slow-dur: .65s;--m3-effect-fast: cubic-bezier(.31, .94, .34, 1);--m3-effect-fast-dur: .15s;--m3-effect-default: cubic-bezier(.34, .8, .34, 1);--m3-effect-default-dur: .2s;--m3-effect-slow: cubic-bezier(.34, .88, .34, 1);--m3-effect-slow-dur: .3s;--m3-std-spatial-fast: cubic-bezier(.27, 1.06, .18, 1);--m3-std-spatial-fast-dur: .3s;--m3-std-spatial-default: cubic-bezier(.31, 1.03, .24, 1);--m3-std-spatial-default-dur: .45s;--m3-std-spatial-slow: cubic-bezier(.33, 1.01, .3, 1);--m3-std-spatial-slow-dur: .6s;--dur-fast: var(--m3-effect-fast-dur);--dur-base: var(--m3-effect-default-dur);--dur-slow: var(--m3-std-spatial-slow-dur);--ease-spring: var(--m3-std-spatial-default);--ease-emphasized: var(--m3-spatial-default);--ease-standard: var(--m3-effect-default);--font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--type-emphasized: "opsz" 32, "wght" 720;--type-emphasized-strong: "opsz" 40, "wght" 820;--type-baseline: "opsz" 16, "wght" 440;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 4px 16px rgba(0, 0, 0, .35);--shadow-3: 0 12px 40px rgba(0, 0, 0, .45)}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #0e1116;--bg-grad: radial-gradient(1200px 700px at 15% -10%, #161b24 0%, #0e1116 55%);--surface-0: #12161d;--surface-1: #171c25;--surface-2: #1d232e;--surface-3: #242b38;--surface-hover: #262e3c;--border: #262d39;--border-strong: #333c4b;--text: #e7ecf2;--text-muted: #9aa4b2;--text-faint: #6b7484;--on-accent: #08222a;--scrim: rgba(6, 8, 12, .62);--track: #2a323f}:root[data-theme=light]{color-scheme:light;--bg: #f4f6fa;--bg-grad: radial-gradient(1200px 700px at 15% -10%, #ffffff 0%, #eef1f7 55%);--surface-0: #ffffff;--surface-1: #ffffff;--surface-2: #f3f5fa;--surface-3: #e9edf4;--surface-hover: #eef1f7;--border: #dde3ec;--border-strong: #c7cfdc;--text: #1a2230;--text-muted: #5a6472;--text-faint: #8a94a4;--on-accent: #ffffff;--accent: #2f8f9c;--accent-dim: #6ab0bb;--scrim: rgba(20, 26, 36, .35);--track: #dbe1ea;--shadow-1: 0 1px 2px rgba(20, 30, 50, .08);--shadow-2: 0 4px 16px rgba(20, 30, 50, .1);--shadow-3: 0 12px 40px rgba(20, 30, 50, .14)}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-variation-settings:var(--type-baseline);-webkit-tap-highlight-color:transparent}.emphasized{font-variation-settings:var(--type-emphasized);letter-spacing:-.02em}.emphasized-strong{font-variation-settings:var(--type-emphasized-strong);letter-spacing:-.025em}.text-balance{text-wrap:balance}@media(pointer:coarse){body{background-attachment:scroll}}html{overflow-x:hidden}button,a,[role=button],label,select,summary{touch-action:manipulation}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:16px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.surface-2{background:var(--surface-2)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.pill{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 12px;border-radius:var(--r-pill);font-size:12.5px;font-weight:600;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted)}.cc-chip{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 5px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border);vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:9px 18px;border-radius:var(--r-pill);border:1px solid transparent;font-size:14px;font-weight:600;color:var(--text);background:var(--surface-2);transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast) var(--ease-standard),filter var(--dur-fast) var(--ease-standard)}.btn:hover{background:var(--surface-hover)}.btn:active{transform:scale(.97)}@media(pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:40px}}.btn.btn-outline{background:transparent;border-color:var(--border-strong)}.btn.btn-accent{background:var(--accent-gradient);color:var(--on-accent);border:none}.btn.btn-accent:hover{filter:brightness(1.06)}.btn.btn-danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:13px}.input,.select{width:100%;padding:11px 14px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:16px;min-height:44px;transition:border-color var(--dur-fast) var(--ease-standard)}.input:focus,.select:focus{outline:none;border-color:var(--accent)}@keyframes stats-enter{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.enter{animation:stats-enter var(--dur-base) var(--ease-spring) backwards}@keyframes m3-rise{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.stack>.ui-card,.stack>.grid>.ui-card,.grid>.ui-card,.tiles-grid>*{animation:m3-rise var(--m3-spatial-default-dur) var(--m3-spatial-default) backwards}.stack>*:nth-child(2) .ui-card,.stack>.ui-card:nth-child(2){animation-delay:40ms}.stack>*:nth-child(3) .ui-card,.stack>.ui-card:nth-child(3){animation-delay:80ms}.stack>*:nth-child(4) .ui-card,.stack>.ui-card:nth-child(4){animation-delay:.12s}.stack>*:nth-child(5) .ui-card,.stack>.ui-card:nth-child(5){animation-delay:.16s}.tiles-grid>*:nth-child(2){animation-delay:50ms}.tiles-grid>*:nth-child(3){animation-delay:.1s}.tiles-grid>*:nth-child(4){animation-delay:.15s}.tiles-grid>*:nth-child(5){animation-delay:.2s}.tiles-grid>*:nth-child(6){animation-delay:.25s}.ui-card{transition:transform var(--m3-std-spatial-fast-dur) var(--m3-std-spatial-fast),box-shadow var(--m3-effect-default-dur) var(--m3-effect-default),border-color var(--m3-effect-default-dur) var(--m3-effect-default)}.ui-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}button,.btn,[role=button],.nav-link,.clu-ip,.dt-more{transition:transform var(--m3-spatial-fast-dur) var(--m3-spatial-fast),background var(--m3-effect-fast-dur) var(--m3-effect-fast),color var(--m3-effect-fast-dur) var(--m3-effect-fast),border-color var(--m3-effect-fast-dur) var(--m3-effect-fast)}button:active,.btn:active,[role=button]:active,.nav-link:active,.clu-ip:active,.dt-more:active{transform:scale(.95)}.dt-clickable{transition:background var(--m3-effect-fast-dur) var(--m3-effect-fast)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}@keyframes stats-pulse{0%,to{opacity:1}50%{opacity:.35}}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 color-mix(in srgb,var(--ok) 60%,transparent);animation:stats-ping 1.8s var(--ease-standard) infinite}@keyframes stats-ping{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes stats-spin{to{transform:rotate(360deg)}}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:stats-spin .7s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
