:root{--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-ui:13px;--fs-body:14px;--fs-prose:15px;--fs-lead:16px;--fs-h4:17px;--fs-h3:19px;--fs-h2:24px;--fs-h1:28px;--fs-display:34px;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.5;--lh-relaxed:1.65;--lh-prose:1.78;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ls-tight:-.2px;--ls-title:-.1px;--ls-wide:.4px;--ls-wider:.8px;--sp-0:0;--sp-1:2px;--sp-2:4px;--sp-3:6px;--sp-4:8px;--sp-5:10px;--sp-6:12px;--sp-7:16px;--sp-8:20px;--sp-9:24px;--sp-10:32px;--sp-11:40px;--sp-12:56px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:14px;--r-pill:999px;--sh-color:20 10 4;--sh-1:0 1px 2px rgb(var(--sh-color) / .28);--sh-2:0 10px 28px -14px rgb(var(--sh-color) / .55);--sh-3:0 26px 64px -26px rgb(var(--sh-color) / .72);--sh-inset:inset 0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent);--dur-1:.12s;--dur-2:.18s;--dur-3:.26s;--ease:cubic-bezier(.2, .7, .25, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--z-rail:10;--z-sticky:30;--z-dd:60;--z-sheet:80;--z-toast:100;--w-page:1120px;--w-narrow:880px;--w-prose:760px;--w-feed:820px;--w-rail:236px;--w-sheet:560px;--h-top:57px;--h-ctl-compact:32px;--h-ctl-sm:28px;--h-ctl:34px;--h-ctl-lg:40px;--pad-x:22px;--pad-y:24px;--bg:#1a120e;--bg-soft:#241812;--panel:#2a1c15;--line:#41301f;--ink:#efd4bb;--ink-dim:#cdb797;--ink-faint:#9a8670;--primary:#c45e44;--kev:#d8785a;--mine:#6b977b;--accent:#d2855a;--sev-critical:#e0574a;--sev-high:#e0904a;--sev-medium:#d9b13a;--sev-low:#43b273;--surface-1:var(--panel);--surface-2:var(--bg-soft);--line-soft:color-mix(in srgb, var(--line) 55%, transparent);--line-strong:color-mix(in srgb, var(--line) 70%, var(--ink-faint));--ink-muted:var(--ink-faint);--ring-color:color-mix(in srgb, var(--primary) 45%, transparent);--ring:0 0 0 3px var(--ring-color);--status-c:var(--ink-dim);--on-primary:var(--bg);--tint-primary:color-mix(in srgb, var(--primary) 14%, transparent);--tint-primary-strong:color-mix(in srgb, var(--primary) 26%, transparent);--tint-kev:color-mix(in srgb, var(--kev) 12%, transparent);--tint-mine:color-mix(in srgb, var(--mine) 12%, transparent);--tint-danger:color-mix(in srgb, var(--sev-critical) 12%, transparent)}*,:before,:after{box-sizing:border-box}html{scrollbar-color:var(--line) transparent;scrollbar-width:thin;-webkit-text-size-adjust:100%}body{color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-prose);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(120% 80% at 50% -10%, color-mix(in srgb, var(--bg) 72%, var(--panel)) 0%, var(--bg) 55%), var(--bg);transition:background-color var(--dur-3) var(--ease), color var(--dur-3) var(--ease);margin:0;position:relative}body:before{content:"";pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}svg{display:block}.ih{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ih-12{width:12px;height:12px}.ih-14{width:14px;height:14px}.ih-15{width:15px;height:15px}.ih-16{width:16px;height:16px}.ih-18{width:18px;height:18px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}::-webkit-scrollbar-track{background:0 0}.top{z-index:var(--z-sticky);align-items:center;gap:var(--sp-6);min-height:var(--h-top);padding:var(--sp-5) var(--pad-x);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:sticky;top:0}.wrap{z-index:1;max-width:var(--w-page);padding:var(--pad-y) var(--pad-x) 80px;margin:0 auto;position:relative}.wrap--narrow{max-width:var(--w-narrow)}.wrap--prose{max-width:var(--w-prose)}.wrap--feed{grid-template-columns:var(--w-rail) minmax(0, 1fr);gap:var(--sp-10);max-width:1240px;display:grid}.brand{align-items:center;gap:var(--sp-4);font-family:var(--font-serif);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);white-space:nowrap;display:flex}.brand .mark{border-radius:var(--r-xs);background:var(--primary);width:10px;height:10px;box-shadow:0 0 12px var(--primary)}.brand small{font-family:var(--font-mono);font-weight:var(--fw-regular);font-size:var(--fs-2xs);letter-spacing:0;color:var(--ink-faint)}.nav{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.nav a{padding:var(--sp-3) var(--sp-5);border-radius:var(--r-md);color:var(--ink-dim);font-size:var(--fs-ui);font-weight:var(--fw-medium);white-space:nowrap;transition:color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);align-items:center;display:inline-flex}.nav a:hover{color:var(--ink);background:var(--surface-2)}.nav a.on{color:var(--primary);background:var(--tint-primary);font-weight:var(--fw-semibold)}.nav a:focus-visible{box-shadow:var(--ring);outline:none}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-7);margin-bottom:var(--sp-8);display:flex}.page-head .btns{flex-shrink:0}.back{align-items:center;gap:var(--sp-3);font-size:var(--fs-ui);color:var(--ink-dim);cursor:pointer;transition:color var(--dur-1) var(--ease);display:inline-flex}.back:hover{color:var(--primary)}.divider{background:var(--line);width:1px;height:16px;margin:0 var(--sp-2);flex-shrink:0}.section{margin:var(--sp-9) 0}.section-title{font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-lead);margin:0 0 var(--sp-5)}h1,.h1{font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:0 0 var(--sp-2);text-wrap:balance}h2,.h2{font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-h2);line-height:var(--lh-snug);letter-spacing:var(--ls-title);margin:0 0 var(--sp-6);text-wrap:balance}h3,.h3{font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-h4);line-height:var(--lh-snug);margin:0 0 var(--sp-5)}.sub,.subtitle,.desc{color:var(--ink-faint);font-size:var(--fs-ui);line-height:var(--lh-normal);max-width:78ch}.sub{margin:0 0 var(--sp-8)}.subtitle{margin:var(--sp-2) 0 0}.desc{color:var(--ink-dim);font-size:var(--fs-body)}.hero{padding:var(--sp-11) 0 var(--sp-8)}.hero h1{font-weight:var(--fw-bold);font-size:var(--fs-display);line-height:var(--lh-tight);margin:0 0 var(--sp-6)}.hero .desc{font-size:var(--fs-lead);line-height:var(--lh-relaxed);max-width:64ch}.prose-text{font-size:var(--fs-body);line-height:var(--lh-prose);text-wrap:pretty;max-width:68ch}.card,.box,.form-card,.stat-card,.team-card,.q-card,.rem-card,.act-log,.import-panel,.ch-card,.wl-card,.rule-row,.rules-section,.report-card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-7)}.box--soft,.card--soft{background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-6)}.card-header,.card-head{justify-content:space-between;align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-5);display:flex}.card-header h3,.card-head h3{font-size:var(--fs-h4);margin:0}.grid-2{gap:var(--sp-9);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--sp-7);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-auto{gap:var(--sp-7);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.btn,.btn-primary,.btn-ghost,.btn-danger,.cta,.gen,.act-btn,.toggle-btn,.import{justify-content:center;align-items:center;gap:var(--sp-4);min-height:var(--h-ctl);padding:var(--sp-4) var(--sp-7);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-ui);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border:1px solid #0000;line-height:1;display:inline-flex}.btn,.btn-primary,.cta,.gen,.act-btn.primary{border-color:var(--primary);background:var(--tint-primary);color:var(--ink)}.btn:hover,.btn-primary:hover,.cta:hover,.gen:hover,.act-btn.primary:hover{background:var(--tint-primary-strong);border-color:var(--primary)}.btn:active,.btn-primary:active,.cta:active,.act-btn:active,.ibtn:active,.chip:active{box-shadow:inset 1px 2px 2px 0 color-mix(in srgb, var(--sh-color) 45%, transparent)}.btn-ghost,.ghost,.cancel,.act-btn,.toggle-btn,.more{border-color:var(--line);background:var(--surface-2);color:var(--ink-dim)}.btn-ghost:hover,.ghost:hover,.cancel:hover,.act-btn:hover,.toggle-btn:hover,.more:hover{color:var(--ink);border-color:var(--primary)}.act-btn.resolve,.act-btn.done,.btn-confirm{border-color:var(--mine);background:var(--tint-mine);color:var(--mine)}.act-btn.resolve:hover,.act-btn.done:hover{background:color-mix(in srgb, var(--mine) 22%, transparent)}.btn-danger{border-color:color-mix(in srgb, var(--kev) 55%, transparent);background:var(--tint-kev);color:var(--kev)}.btn-danger:hover{background:color-mix(in srgb, var(--kev) 22%, transparent)}.btn-sm,.act-btn.sm{min-height:var(--h-ctl-sm);padding:var(--sp-3) var(--sp-6);font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-lg{min-height:var(--h-ctl-lg);padding:var(--sp-5) var(--sp-8);font-size:var(--fs-body)}.btn--block,.cta{width:100%}.ibtn,.bell-btn,.sheet-close,.sheet-expand{width:var(--h-ctl);height:var(--h-ctl);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-dim);cursor:pointer;transition:color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ibtn:hover,.bell-btn:hover,.sheet-close:hover,.sheet-expand:hover{color:var(--ink);border-color:var(--primary);background:var(--tint-primary)}.bell-btn:focus-visible,.sheet-close:focus-visible,.sheet-expand:focus-visible,.ibtn:focus-visible,.avatar:focus-visible{box-shadow:var(--ring);border-color:var(--primary);outline:none}.cvebtn{align-items:center;gap:var(--sp-3);min-height:var(--h-ctl);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--primary) 40%, transparent);background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary);font-size:var(--fs-ui);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);display:inline-flex}.cvebtn:hover{background:color-mix(in srgb, var(--primary) 18%, transparent);border-color:var(--primary)}.sso-btn{justify-content:center;align-items:center;gap:var(--sp-5);width:100%;min-height:var(--h-ctl-lg);padding:var(--sp-5) var(--sp-7);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:var(--fs-ui);font-weight:var(--fw-semibold);cursor:pointer;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);display:flex}.sso-btn:hover{border-color:var(--primary)}.sso-btn svg{width:18px;height:18px}.logout,.login-link,.link-accent{color:var(--primary);font-size:var(--fs-ui);cursor:pointer;transition:color var(--dur-1) var(--ease)}.logout:hover,.login-link:hover,.link-accent:hover{text-decoration:underline}.btns,.actions{gap:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.btn:disabled,.btn-primary:disabled,.btn-ghost:disabled,.btn-danger:disabled,.cta:disabled,.act-btn:disabled,.toggle-btn:disabled,.ibtn:disabled,.more:disabled,button[disabled],[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn:disabled:hover,.btn-ghost:disabled:hover,.act-btn:disabled:hover,.more:disabled:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink-dim)}.filters,.chips{gap:var(--sp-3);margin-bottom:var(--sp-9);flex-wrap:wrap;display:flex}.chips--scroll{flex-wrap:nowrap;overflow-x:auto}.chip,.filter-chip{align-items:center;gap:var(--sp-3);min-height:26px;padding:var(--sp-2) var(--sp-6);border-radius:var(--r-pill);border:1px solid var(--line);color:var(--ink-dim);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);background:0 0;line-height:1.4;display:inline-flex}.chip:hover,.filter-chip:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface-2)}.chip:active{transform:scale(.97)}.chip.on,.filter-chip.on,.chip[aria-pressed=true],.chip[aria-checked=true]{background:var(--tint-primary);border-color:var(--primary);color:var(--primary)}.chip .d{background:var(--ink-faint);border-radius:50%;flex-shrink:0;width:7px;height:7px}.chip.on .d{background:var(--primary)}.chip .n{font-size:var(--fs-2xs);color:var(--ink-faint);margin-left:var(--sp-2);font-variant-numeric:tabular-nums}.chip.on .n{color:color-mix(in srgb, var(--primary) 75%, var(--ink-faint))}.segmented{gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);display:inline-flex}.segmented .chip{font-family:var(--font-sans);font-size:var(--fs-ui);background:0 0;border-color:#0000}.segmented .chip.on{background:var(--tint-primary);border-color:color-mix(in srgb, var(--primary) 35%, transparent)}.badge,.flagbadge,.role-badge,.rem-status,.q-status,.rem-priority,.q-priority,.kev-badge,.vf{align-items:center;gap:var(--sp-2);padding:2px var(--sp-5);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-dim);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-medium);white-space:nowrap;line-height:1.6;display:inline-flex}.badge svg,.flagbadge svg{width:12px;height:12px}.badge.kev,.flagbadge.hot,.kev-badge,.tag.kev,.badge--kev{color:var(--kev);border-color:color-mix(in srgb, var(--kev) 45%, transparent);background:var(--tint-kev)}.badge.mine,.flagbadge.mine,.tag.mine,.badge--mine,.vf{color:var(--mine);border-color:color-mix(in srgb, var(--mine) 40%, transparent);background:var(--tint-mine)}.flagbadge.precve,.badge--precve,.badge.precve{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 30%, transparent);background:color-mix(in srgb, var(--primary) 8%, transparent)}.badge--active,.badge-active{color:var(--mine);border-color:color-mix(in srgb, var(--mine) 40%, transparent);background:var(--tint-mine)}.badge--inactive,.badge-inactive{color:var(--ink-faint);border-color:var(--line);background:var(--surface-2)}.badge.impact{color:var(--ink);background:var(--surface-2)}.badge.status,.rem-status,.q-status{font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-color:color-mix(in srgb, var(--status-c,var(--ink-dim)) 40%, transparent);background:color-mix(in srgb, var(--status-c,var(--ink-dim)) 13%, transparent);color:var(--status-c,var(--ink-dim))}.sev-critical{color:var(--sev-critical);border-color:color-mix(in srgb, var(--sev-critical) 45%, transparent)}.sev-high{color:var(--sev-high);border-color:color-mix(in srgb, var(--sev-high) 45%, transparent)}.sev-medium{color:var(--sev-medium);border-color:color-mix(in srgb, var(--sev-medium) 45%, transparent)}.sev-low{color:var(--sev-low);border-color:color-mix(in srgb, var(--sev-low) 45%, transparent)}.sev-none{color:var(--ink-faint);border-color:var(--line)}.sev-solid{background:var(--surface-2);font-weight:var(--fw-semibold)}.p1,.overdue,.danger{color:var(--kev);font-weight:var(--fw-semibold)}.confirm,.msg-ok{color:var(--mine);font-size:var(--fs-sm)}.error,.err,.msg-error{color:var(--kev);font-size:var(--fs-sm)}.secondary{color:var(--ink-dim)}.metric,.id,.ids,.q-id,.rem-id,.wl-cve,.vendor,.product,.date,.val,.hosts,.live,.livecnt,.count,.mono,.st,.rtype,.rstars{font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink-dim)}.num,.stat .num,.card-price,.score,.cvss-ring .num,.stat .val,.kpi-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:var(--ls-title)}.metric{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-dim);font-family:var(--font-sans);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);display:inline-flex}.metric:hover{border-color:var(--primary);color:var(--ink)}.metric svg{opacity:.8;width:12px;height:12px}.metric b{color:var(--ink);font-weight:var(--fw-semibold);font-family:var(--font-mono)}.risk{gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.rk{align-items:center;gap:var(--sp-2);padding:3px var(--sp-5);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-dim);font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);display:inline-flex}.rk:hover{border-color:var(--primary);color:var(--ink)}.rk .rk-ic{opacity:.7;width:13px;height:13px;display:block}.rk b{color:var(--ink);font-weight:var(--fw-semibold)}.rk.on-pos{color:var(--mine);border-color:color-mix(in srgb, var(--mine) 40%, transparent);background:var(--tint-mine)}.rk.on-warn{color:var(--kev);border-color:color-mix(in srgb, var(--kev) 40%, transparent);background:var(--tint-kev)}.rk.on-neg{color:var(--ink-faint);border-color:var(--line)}.rk.on-pos b,.rk.on-warn b{color:currentColor}.table-wrap,.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}table,.table{border-collapse:collapse;width:100%;font-size:var(--fs-ui)}th{text-align:left;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wide);white-space:nowrap}td{padding:var(--sp-5) var(--sp-5);border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--ink-dim)}tbody tr{transition:background-color var(--dur-1) var(--ease)}tbody tr:hover td{background:color-mix(in srgb, var(--surface-2) 65%, transparent)}tbody tr:last-child td{border-bottom:0}td.num,th.num,td.mono,th.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}td.name{color:var(--ink);font-weight:var(--fw-semibold)}td .note,.note{margin-top:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--ink-faint);display:block}.act-row,.q-row,.rem-row,.wl-row,.stat-row,.row{align-items:center;gap:var(--sp-6);padding:var(--sp-5) 0;border-bottom:1px solid var(--line-soft);display:flex}.act-row:last-child,.q-row:last-child,.rem-row:last-child,.wl-row:last-child{border-bottom:0}.row--link{transition:background-color var(--dur-1) var(--ease);border-radius:var(--r-sm)}.row--link:hover{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}.form-group{margin-bottom:var(--sp-7)}.form-row{gap:var(--sp-6);flex-wrap:wrap;align-items:flex-end;display:flex}label,.lbl{margin-bottom:var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink-dim);display:block}.lbl--mono{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--ink-faint)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=url],input[type=tel],select,textarea,.input{width:100%;min-height:var(--h-ctl);padding:var(--sp-4) var(--sp-6);border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);outline:none;line-height:1.4}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--line-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible,.input:focus-visible{border-color:var(--primary);box-shadow:var(--ring)}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-faint) 50%), linear-gradient(135deg, var(--ink-faint) 50%, transparent 50%);padding-right:var(--sp-10);background-position:calc(100% - 15px) calc(50% + 1px),calc(100% - 10px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}select option{background:var(--panel);color:var(--ink)}input[type=checkbox],input[type=radio]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;width:15px;height:15px}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}.config-help,.hint{font-size:var(--fs-xs);color:var(--ink-faint);margin-top:var(--sp-2);line-height:var(--lh-normal)}.add-form{gap:var(--sp-4);margin-bottom:var(--sp-6);display:flex}.range-group{align-items:center;gap:var(--sp-6);display:flex}.role-select,select.role-select{background:var(--bg);width:auto;margin:0}.search{align-items:center;gap:var(--sp-4);width:min(420px,34vw);padding:var(--sp-4) var(--sp-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink-dim);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);flex:none;margin:0 auto;display:flex;position:relative}.search:hover{border-color:var(--line-strong)}.search:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.search input{width:100%;min-height:0;color:var(--ink);font-size:var(--fs-body);background:0 0;border:0;outline:none;padding:0}.search input:focus-visible{box-shadow:none}.search .search-ic{opacity:.7;flex-shrink:0;display:inline-flex}.dd,.search-dd,.search-dropdown{top:calc(100% + var(--sp-3));z-index:var(--z-dd);max-height:420px;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--panel);box-shadow:var(--sh-3);transform-origin:top;animation:.12s cubic-bezier(0,0,.2,1) ddIn;position:absolute;left:0;right:0;overflow-y:auto}.search-dd{top:calc(100% + var(--sp-3))}.search-dd-section{padding:var(--sp-2) 0}.search-dd-section+.search-dd-section{border-top:1px solid var(--line-soft)}.search-dd-head{padding:var(--sp-3) var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-faint);text-transform:uppercase;letter-spacing:var(--ls-wider)}.search-dd-row{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-4);border-radius:var(--r-sm);font-size:var(--fs-ui);color:var(--ink-dim);cursor:pointer;transition:background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);display:flex}.search-dd-row:hover,.search-dd-row[aria-selected=true]{background:var(--surface-2);color:var(--ink)}.search-dd-id{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--primary);white-space:nowrap}.search-dd-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.search-dd-empty{padding:var(--sp-7) var(--sp-4);text-align:center;color:var(--ink-faint);font-size:var(--fs-ui)}@keyframes ddIn{0%{opacity:0;transform:translateY(-2px)scaleY(.9)}to{opacity:1;transform:translateY(0)scaleY(1)}}.tabs{gap:var(--sp-1);margin-bottom:var(--sp-8);border-bottom:1px solid var(--line);display:flex}.tabs .tab,.tab-btn{padding:var(--sp-4) var(--sp-7);color:var(--ink-dim);font-family:var(--font-sans);font-size:var(--fs-body);cursor:pointer;transition:color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px}.tabs .tab:hover,.tab-btn:hover{color:var(--ink);background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.tabs .tab.active,.tabs .tab[aria-selected=true],.tab-btn.active,.tab-btn[aria-selected=true]{color:var(--ink);border-bottom-color:var(--primary)}.tabs--chips{gap:var(--sp-3);border-bottom:0;flex-wrap:wrap}.feed{flex-direction:column;min-width:0;display:flex}.feed-col{width:100%;max-width:var(--w-feed);min-width:0;margin:0;padding:0}.thread{gap:var(--sp-7);padding:var(--sp-7) var(--sp-5);border-top:1px solid var(--line);transition:background-color var(--dur-2) var(--ease), opacity var(--dur-2) var(--ease);align-items:flex-start;display:flex}.thread:first-child{border-top:0}.thread:hover{background:color-mix(in srgb, var(--surface-2) 45%, transparent);border-radius:var(--r-lg)}.thread.flag-mine{border-left:3px solid var(--mine);padding-left:var(--sp-7)}.thread.flag-hot{border-left:3px solid var(--kev);padding-left:var(--sp-7)}.thread.seen{opacity:.62}.thread.seen:hover{opacity:.88}.seen-divider{align-items:center;gap:var(--sp-5);margin:var(--sp-8) 0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--ink-faint);display:flex}.seen-divider:before,.seen-divider:after{content:"";background:var(--line);flex:1;height:1px}.seen-tag{color:var(--ink-faint)}.thread.featured{gap:var(--sp-7);padding:var(--sp-8) var(--sp-7);flex-direction:column}.thread.featured h2{font-weight:var(--fw-bold);font-size:var(--fs-h3);line-height:var(--lh-tight)}.thread.featured .lede{font-size:var(--fs-lead)}.thread .body{flex:1;min-width:0}.thread h2,.thread .lede,.thread .meta,.sheet-title,.sheet-meta,.sheet-lede,.sheet-body-text,.tl-i span,.rail .livecnt{overflow-wrap:anywhere}.thread .meta{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-faint);flex-wrap:wrap;display:flex}.thread .av{border-radius:var(--r-xs);border:1px solid var(--line);background:var(--surface-2);width:18px;height:18px;color:var(--ink-dim);font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-bold);cursor:pointer;transition:border-color var(--dur-1) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.thread .av:hover{border-color:var(--primary)}.thread .unread{background:var(--primary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.thread h2{margin:0 0 var(--sp-3);font-weight:var(--fw-semibold);font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:var(--ls-title);text-wrap:balance}.thread h2 a{color:var(--ink)}.thread h2 a:hover{color:var(--primary)}.thread h2 a:focus-visible{outline:none}.thread h2 a:focus-visible:after{content:"";border-radius:var(--r-sm);box-shadow:var(--ring);position:absolute;inset:-2px}.thread .lede{margin:0 0 var(--sp-5);max-width:68ch;color:var(--ink-dim);font-size:var(--fs-body);line-height:var(--lh-relaxed);text-wrap:pretty}.thread .tags{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.thread .foot{gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.byline{align-items:center;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.2px;color:var(--primary);display:inline-flex}.byline svg{width:12px;height:12px}.editag{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.2px;color:var(--ink-faint)}.metastack{align-items:flex-start;gap:var(--sp-3);margin:var(--sp-2) 0 var(--sp-6);flex-direction:column;display:flex}.metaline{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.badges,.event-chips{gap:var(--sp-3);flex-wrap:wrap;display:flex}.tag{align-items:center;gap:var(--sp-2);padding:2px var(--sp-5);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-dim);font-family:var(--font-mono);font-size:var(--fs-xs);cursor:pointer;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);line-height:1.6;display:inline-flex}.tag:hover{border-color:var(--primary);color:var(--ink)}.tag.entity{color:var(--ink);border-color:color-mix(in srgb, var(--primary) 30%, transparent)}.tag.poc{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 45%, transparent)}.tag.sev{border-color:var(--cvss,var(--line))}.tsep{width:2px;height:20px;margin:0 var(--sp-2);border-radius:var(--r-xs);background:var(--line);opacity:.8;flex-shrink:0}.rubric{align-items:flex-start;gap:var(--sp-3);flex-direction:column;min-width:0;max-width:100%;display:inline-flex}.rubric-chip{align-items:center;gap:var(--sp-3);max-width:100%;min-height:20px;padding:2px var(--sp-5);border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);background:var(--tint-primary);color:var(--primary);font-family:var(--font-mono);font-size:var(--fs-xs);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);line-height:1.6;display:inline-flex}.rubric-chip:hover{border-color:var(--primary)}.rubric--plain .rubric-chip{cursor:default}.rubric-d{background:var(--primary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.rubric-d+span{overflow-wrap:anywhere;min-width:0}.rubric-q{color:var(--ink-faint)}.rubric-chip[aria-expanded=true] .rubric-q{color:var(--primary)}.rubric-why{max-width:min(62ch,100%);padding:var(--sp-4) var(--sp-6);border-left:2px solid color-mix(in srgb, var(--primary) 45%, transparent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2);color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-normal);overflow-wrap:anywhere;display:none}.rubric.open .rubric-why{display:block}@media (hover:hover){.rubric:hover .rubric-why{display:block}}.rubric-legend{margin:calc(-1 * var(--sp-6)) 0 var(--sp-8)}.rubric-legend-link{font-size:var(--fs-sm);color:var(--primary);overflow-wrap:anywhere}.rubric-legend-link:hover{text-decoration:underline}.thread.digest{background:color-mix(in srgb, var(--surface-2) 70%, transparent);box-shadow:inset 3px 0 0 var(--line-strong)}.thread.digest .lede{color:var(--ink-faint)}.flagbadge.digest{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink-dim);white-space:normal;overflow-wrap:anywhere}.digest-note{align-items:flex-start;gap:var(--sp-5);margin:0 0 var(--sp-8);padding:var(--sp-5) var(--sp-6);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-normal);overflow-wrap:anywhere;display:flex}.digest-note svg{flex-shrink:0;width:14px;height:14px;margin-top:2px}.sheet-rubric{align-items:baseline;gap:var(--sp-4);min-width:0;margin:0 0 var(--sp-7);flex-wrap:wrap;display:flex}.rubric-tag{max-width:100%;padding:2px var(--sp-5);border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);background:var(--tint-primary);color:var(--primary);font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere;align-items:center;line-height:1.6;display:inline-flex}.rubric-why-text{min-width:0;max-width:100%;color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-normal);overflow-wrap:anywhere}.rubrics-page{max-width:var(--w-narrow)}.rubrics-page h1{font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-h1);margin:var(--sp-7) 0 var(--sp-4)}.rubrics-page .subtitle{margin:0 0 var(--sp-10);color:var(--ink-dim);font-size:var(--fs-ui);line-height:var(--lh-relaxed);text-wrap:pretty}.rubric-rule-list{margin:0;padding:0;list-style:none}.rubric-rule{min-width:0;margin:0 0 var(--sp-7);padding:var(--sp-7) var(--sp-8);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--sh-1)}.rubric-rule-head{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.rubric-idx{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 40%, transparent);border-radius:var(--r-pill);padding:0 var(--sp-4);flex-shrink:0}.rubric-rule h2{font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-h4);margin:0}.rubric-code{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-faint);overflow-wrap:anywhere}.rubric-rule-text{margin:var(--sp-5) 0 0;color:var(--ink);font-size:var(--fs-body);line-height:var(--lh-relaxed);overflow-wrap:anywhere}.rubric-rule-via{margin:var(--sp-4) 0 0;color:var(--ink-faint);font-size:var(--fs-sm);line-height:var(--lh-normal)}.rubric-keywords{margin-top:var(--sp-5)}.rubric-kw-label{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--ink-faint)}.rubric-kw-list{gap:var(--sp-2);margin:var(--sp-4) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.rubric-kw{max-width:100%;padding:1px var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-dim);font-family:var(--font-mono);font-size:var(--fs-2xs);overflow-wrap:anywhere}.rubric-extra{margin-top:var(--sp-10);padding:var(--sp-7) var(--sp-8);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.rubric-extra h2{font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-h4);margin:0 0 var(--sp-6)}.rubric-extra dt{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--primary);margin-top:var(--sp-5)}.rubric-extra dd{margin:var(--sp-2) 0 0;color:var(--ink-dim);font-size:var(--fs-body);line-height:var(--lh-relaxed);overflow-wrap:anywhere}.rubric-foot{margin:var(--sp-7) 0 0;color:var(--ink-faint);font-size:var(--fs-sm);line-height:var(--lh-normal)}.rail{top:calc(var(--h-top) + var(--sp-9));align-self:start;gap:var(--sp-7);width:var(--w-rail);flex-direction:column;flex-shrink:0;display:flex;position:sticky}.rail .card{padding:var(--sp-6);border-radius:var(--r-xl)}.rail h3{align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-5);font-size:var(--fs-ui);color:var(--ink);display:flex}.rail .row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;font-size:var(--fs-sm);color:var(--ink-dim);cursor:pointer;border:0;display:flex}.rail .row:first-of-type{border-top:0}.rail .row:hover{color:var(--ink)}.rail .v{font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--ink-faint);white-space:nowrap;flex-shrink:0}.rail .row .v{color:var(--primary)}.rail .trig{justify-content:space-between;align-items:center;gap:var(--sp-4);width:100%;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);color:var(--ink-dim);font-size:var(--fs-ui);text-align:left;cursor:pointer;transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:1px solid #0000;display:flex}.rail .trig:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.rail .trig b{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.rail .trig .v{font-weight:var(--fw-semibold);color:var(--ink-faint)}.rail .trig.kev .v{color:var(--kev)}.rail .trig.mine .v{color:var(--mine)}.rail .trig.p1 .v{color:var(--primary)}.rail .bar{height:4px;margin-top:var(--sp-2);border-radius:var(--r-xs);background:var(--surface-2);overflow:hidden}.rail .bar i{background:var(--mine);height:100%;display:block}.rail .more{padding:var(--sp-3) 0 0;color:var(--primary);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:color var(--dur-1) var(--ease);background:0 0;border:0;display:inline-block}.rail .more:hover{color:var(--ink);text-decoration:underline}.rail .switch{padding:1px var(--sp-3);border:1px solid var(--line);border-radius:var(--r-xs);color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-regular);letter-spacing:0;cursor:pointer;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;margin-left:auto}.rail .switch:hover{border-color:var(--primary);color:var(--primary)}.rail .team{gap:var(--sp-3);flex-direction:column;display:flex}.rail .ev{align-items:baseline;gap:var(--sp-3);padding:var(--sp-1) 0;font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--ink-dim);grid-template-columns:auto 1fr auto;display:grid}.rail .ev .who{font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--mine)}.rail .ev .who.me{color:var(--primary)}.rail .ev .txt{overflow-wrap:anywhere;grid-column:2;min-width:0}.rail .ev .txt b{color:var(--ink);font-weight:var(--fw-semibold)}.rail .ev i{color:var(--ink-faint);font-style:normal}.rail .ev em{font-style:normal;font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-faint);white-space:nowrap;grid-column:3}.rail .ev.mine{margin:0 calc(-1 * var(--sp-3));padding:var(--sp-1) var(--sp-3);border-radius:var(--r-xs);background:color-mix(in srgb, var(--primary) 8%, transparent)}.rail .ev.mine .who.me{font-weight:var(--fw-bold)}.rail .livecnt{margin-bottom:var(--sp-5);font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--ink-dim)}.rail .livecnt b{font-family:var(--font-mono);font-size:var(--fs-lead);color:var(--kev);font-variant-numeric:tabular-nums}.pulse,.rail .live .pulse{background:var(--kev);width:7px;height:7px;animation:pulse 1.4s var(--ease) infinite;border-radius:50%;display:inline-block}@keyframes pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.rail .tl,.tl{gap:var(--sp-3);flex-direction:column;display:flex}.tl-i,.rail .tl-i{align-items:center;gap:var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink-dim);grid-template-columns:auto 1fr auto;display:grid}.tl-i:hover{color:var(--ink)}.tl-i .dot,.rail .tl-i .dot{background:var(--line);border-radius:50%;width:7px;height:7px}.tl-i .dot.kev,.rail .tl-i .dot.kev{background:var(--kev);box-shadow:0 0 7px var(--kev)}.tl-i em,.rail .tl-i em{font-style:normal;font-size:var(--fs-xs);color:var(--ink-faint);white-space:nowrap;grid-column:3;margin:0}.sheet-overlay,.modal-overlay,.resolve-popup{z-index:var(--z-sheet);animation:fadeIn var(--dur-2) var(--ease);background:#00000094;position:fixed;inset:0}.modal-overlay,.resolve-popup{padding:var(--sp-7);justify-content:center;align-items:center;display:flex}.sheet{z-index:calc(var(--z-sheet) + 1);width:min(var(--w-sheet), 92vw);border-left:1px solid var(--line);background:var(--bg);height:100dvh;box-shadow:var(--sh-3);animation:slideIn var(--dur-3) var(--ease-out);scrollbar-width:thin;scrollbar-color:var(--line) transparent;position:fixed;top:0;right:0;overflow-y:auto}.sheet-head{z-index:1;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-6) var(--sp-8);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.sheet-body{padding:var(--sp-8) var(--sp-9) 96px}.sheet-title{margin:0 0 var(--sp-2);font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-h2);line-height:var(--lh-tight);letter-spacing:var(--ls-title);text-wrap:balance}.sheet-lede{margin-bottom:var(--sp-8);padding:var(--sp-7);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1);color:var(--ink-dim);font-size:var(--fs-lead);line-height:var(--lh-relaxed)}.sheet-meta{margin-bottom:var(--sp-8);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-faint)}.sheet-body-text{font-size:var(--fs-body);line-height:var(--lh-prose);white-space:pre-wrap;text-wrap:pretty}.sheet-foot{align-items:center;gap:var(--sp-4);margin-top:var(--sp-10);padding-top:var(--sp-8);border-top:1px solid var(--line);display:flex}.modal,.resolve-box{width:min(440px,92vw);max-height:88dvh;padding:var(--sp-9);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--panel);box-shadow:var(--sh-3);animation:modalIn var(--dur-2) var(--ease-out);overflow-y:auto}.modal h2,.modal h3,.resolve-box h3{margin:0 0 var(--sp-7);font-family:var(--font-serif);font-size:var(--fs-h4)}.modal .btns,.resolve-box .btns{justify-content:flex-end}.resolve-box select,.resolve-box input{margin-bottom:var(--sp-6)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.shortcuts{border-collapse:collapse;width:100%;font-size:var(--fs-ui)}.shortcuts th{padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.shortcuts td{padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);color:var(--ink-dim)}.shortcuts td:first-child{width:96px;font-family:var(--font-mono);color:var(--ink);white-space:nowrap}.popover,.resolve-popup--inline{top:calc(100% + var(--sp-3));z-index:var(--z-dd);min-width:240px;padding:var(--sp-7);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--panel);box-shadow:var(--sh-3);position:absolute;right:0}.resolve{position:relative}.toast{bottom:var(--sp-8);z-index:var(--z-toast);padding:var(--sp-5) var(--sp-8);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--sh-2);color:var(--ink);font-size:var(--fs-ui);opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease-out);position:fixed;left:50%;transform:translate(-50%)translateY(12px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toaster{right:var(--sp-8);bottom:var(--sp-8);z-index:var(--z-toast);gap:var(--sp-4);flex-direction:column;display:flex;position:fixed}.loading{justify-content:center;align-items:center;gap:var(--sp-5);padding:var(--sp-10);color:var(--ink-faint);font-size:var(--fs-ui);display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:15px;height:15px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.load-more{padding:var(--sp-8);text-align:center;color:var(--ink-faint);font-size:var(--fs-ui)}.empty{align-items:center;gap:var(--sp-4);padding:var(--sp-12) var(--sp-9);text-align:center;color:var(--ink-faint);flex-direction:column;display:flex}.empty-ic{width:40px;height:40px;margin-bottom:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface-2);color:var(--ink-faint);justify-content:center;align-items:center;display:inline-flex}.empty-ic svg{width:18px;height:18px}.empty h2,.empty h3{font-family:var(--font-serif);font-size:var(--fs-h4);color:var(--ink-dim);margin:0}.empty p{max-width:46ch;font-size:var(--fs-ui);line-height:var(--lh-relaxed);margin:0}.empty a,.empty .link-accent{color:var(--primary)}.empty--compact{padding:var(--sp-9) var(--sp-7)}.error-box{align-items:center;gap:var(--sp-4);padding:var(--sp-11) var(--sp-9);text-align:center;border:1px solid color-mix(in srgb, var(--kev) 35%, transparent);border-radius:var(--r-xl);background:var(--tint-kev);flex-direction:column;display:flex}.error-box .empty-ic{border-color:color-mix(in srgb, var(--kev) 40%, transparent);color:var(--kev);background:0 0}.error-box h2,.error-box h3{font-family:var(--font-serif);font-size:var(--fs-h4);color:var(--ink);margin:0}.error-box p{max-width:48ch;font-size:var(--fs-ui);color:var(--ink-dim);margin:0}.error-detail{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-faint);word-break:break-word}.toggle,.toggle-sw{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-1);cursor:pointer;width:40px;height:22px;transition:background-color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);flex-shrink:0;padding:0;position:relative}.toggle.on,.toggle-sw.on,.toggle[aria-checked=true],.toggle-sw[aria-checked=true]{background:color-mix(in srgb, var(--primary) 45%, transparent);border-color:var(--primary)}.toggle-sl{background:var(--ink-faint);width:16px;height:16px;transition:left var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.toggle.on .toggle-sl,.toggle[aria-checked=true] .toggle-sl{background:var(--ink);left:20px}.toggle:disabled{opacity:.45;cursor:not-allowed}.fopt{align-items:center;gap:var(--sp-4);padding:var(--sp-2) 0;font-size:var(--fs-sm);color:var(--ink-dim);cursor:pointer;transition:color var(--dur-1) var(--ease);display:flex}.fopt:hover{color:var(--ink)}.fopt .n{font-family:var(--font-mono);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;color:var(--ink-faint);margin-left:auto}.avatar{border:1px solid var(--line);background:var(--surface-1);width:32px;height:32px;color:var(--ink-dim);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bell-btn{position:relative}.bell-badge{min-width:16px;height:16px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--kev);color:var(--bg);font-family:var(--font-mono);font-size:9.5px;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.bell-badge:empty{display:none}.stats{gap:var(--sp-6);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.stat{padding:var(--sp-7);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1)}.stat .num,.stat .val{font-size:24px;font-weight:var(--fw-semibold);color:var(--ink);line-height:1.1}.stat .sub,.stat .lbl{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-faint)}.stat-card{gap:var(--sp-3);flex-direction:column;display:flex}.stat-row{gap:var(--sp-6);border:0;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:0;display:grid}.score{font-size:24px;font-weight:var(--fw-bold);color:var(--primary)}.kpi-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--ink-faint)}.kpi-value{font-size:var(--fs-h1);font-weight:var(--fw-bold);color:var(--ink);line-height:var(--lh-tight)}.cvss-ring{align-items:center;gap:var(--sp-6);display:flex}.cvss-ring .ring{border:4px solid var(--cvss,var(--line));width:76px;height:76px;color:var(--cvss,var(--ink));font-family:var(--font-mono);font-size:21px;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cvss-ring .num{font-size:20px;font-weight:var(--fw-semibold)}.bar-track,.score-bar{border-radius:var(--r-xs);background:var(--surface-2);flex:1;height:8px;overflow:hidden}.bar-track i,.score-bar i{border-radius:var(--r-xs);height:100%;display:block}.score-row{align-items:center;gap:var(--sp-6);display:flex}.themes{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.theme{align-items:center;gap:var(--sp-5);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-dim);font-size:var(--fs-ui);text-align:left;cursor:pointer;transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);display:flex}.theme:hover{border-color:var(--line-strong)}.theme.active,.theme[aria-checked=true]{border-color:var(--primary);background:var(--tint-primary);color:var(--ink)}.sw{border:1px solid var(--line);border-radius:var(--r-sm);flex-shrink:0;justify-content:center;align-items:center;gap:3px;width:42px;height:26px;display:flex}.sw i{border-radius:50%;width:7px;height:7px;display:block}.theme-menu .row,.dd .row{align-items:center;gap:var(--sp-5);width:100%;padding:var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-7);border-radius:var(--r-md);color:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);background:0 0;border:0;display:flex;position:relative}.theme-menu .row:before,.dd .row:before{content:"";left:0;top:var(--sp-3);bottom:var(--sp-3);border-radius:var(--r-xs);background:var(--rp,var(--primary));opacity:0;width:3px;transition:opacity var(--dur-1) var(--ease);position:absolute}.theme-menu .row:hover,.dd .row:hover{background:color-mix(in srgb, var(--rp,var(--primary)) 12%, transparent)}.theme-menu .row:hover:before,.dd .row:hover:before{opacity:.5}.theme-menu .row.on,.dd .row.on{box-shadow:inset 0 0 0 1px var(--rp,var(--primary))}.theme-menu .row.on:before,.dd .row.on:before{opacity:1}.theme-menu .nm,.dd .nm{font-size:var(--fs-ui);color:var(--ink);line-height:1.25;display:block}.theme-menu .sub,.dd .sub{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-faint);margin:0;line-height:1.4;display:block}.theme-menu{top:calc(100% + var(--sp-3));z-index:var(--z-dd);width:262px;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--panel);box-shadow:var(--sh-3);transform-origin:100% 0;animation:.12s cubic-bezier(0,0,.2,1) ddIn;position:absolute;right:0}.min-h-screen{min-height:100vh}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.items-center{align-items:center}.items-start{align-items:flex-start}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--sp-2)}.gap-2{gap:var(--sp-4)}.gap-3{gap:var(--sp-6)}.gap-4{gap:var(--sp-7)}.gap-5{gap:var(--sp-9)}.w-full{width:100%}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-2{margin-top:var(--sp-6)}.mt-3{margin-top:var(--sp-9)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--sp-6)}.mb-3{margin-bottom:var(--sp-9)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top-3{top:var(--sp-6)}.right-2{right:var(--sp-4)}.right-3{right:var(--sp-6)}.right{right:0}.z-50{z-index:var(--z-dd)}.isolate{isolation:isolate}.hidden{display:none}.block{display:block}.inline-flex{display:inline-flex}.grid{display:grid}.pointer-events-none{pointer-events:none}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:var(--r-pill)}.rounded-md{border-radius:var(--r-md)}.outline-none{outline:none}.rotate-0{transform:rotate(0)}.rotate-90{transform:rotate(90deg)}.scale-0{transform:scale(0)}.scale-100{transform:scale(1)}.transition-all{transition:all var(--dur-2) var(--ease)}.transition-colors{transition:color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-xs)}:focus:not(:focus-visible),input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}.skip-link{left:var(--sp-6);z-index:calc(var(--z-toast) + 1);padding:var(--sp-4) var(--sp-7);border:1px solid var(--primary);border-radius:var(--r-md);background:var(--panel);color:var(--ink);font-size:var(--fs-ui);font-weight:var(--fw-semibold);transition:top var(--dur-2) var(--ease-out);position:absolute;top:-60px}.skip-link:focus{top:var(--sp-6)}.thread.focused,.card.focused{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--r-lg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}@media (max-width:1080px){.wrap--feed{gap:var(--sp-9);max-width:var(--w-page);grid-template-columns:minmax(0,1fr)}.rail{gap:var(--sp-7);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));width:100%;display:grid;position:static}}@media (max-width:920px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.top{row-gap:var(--sp-4);flex-wrap:wrap}.brand{order:1}.search{flex:150px;order:2;width:auto;min-width:0;margin:0}.right{order:2}.nav{gap:var(--sp-2);-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding-bottom:var(--sp-1);order:3;margin:0;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{flex:none}}@media (max-width:640px){:root{--pad-x:12px;--pad-y:16px;--fs-h1:22px;--fs-h2:20px;--fs-h3:17px;--fs-display:26px}.top{padding:var(--sp-4) var(--pad-x)}.brand{font-size:var(--fs-prose)}.brand small{display:none}.wrap{padding:var(--pad-y) var(--pad-x) 72px}.feed-col{max-width:100%}.thread{gap:var(--sp-6);padding:var(--sp-6) var(--sp-2)}.thread.flag-hot,.thread.flag-mine{padding-left:var(--sp-6)}.thread .lede{font-size:var(--fs-ui)}.thread.featured{padding:var(--sp-7) var(--sp-5)}.chip{font-size:var(--fs-xs);padding:var(--sp-2) var(--sp-5)}.filters{gap:var(--sp-2);margin-bottom:var(--sp-7)}.filters--scroll{padding-bottom:var(--sp-2);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.filters--scroll::-webkit-scrollbar{display:none}.sheet{width:100vw}.sheet-head{padding:var(--sp-5) var(--sp-7)}.sheet-body{padding:var(--sp-7) var(--sp-7) 72px}.sheet-title{font-size:var(--fs-h3)}.sheet-foot{flex-wrap:wrap}.rail{grid-template-columns:minmax(0,1fr)}.themes{grid-template-columns:1fr}.stats,.grid-auto{grid-template-columns:minmax(0,1fr)}.page-head{flex-direction:column;align-items:stretch}.btns .btn,.btns .btn-primary,.btns .btn-ghost,.cvebtn{width:100%}.form-row{flex-direction:column;align-items:stretch}.table-wrap{margin:0 calc(-1 * var(--pad-x));padding:0 var(--pad-x)}}@media (pointer:coarse){.ibtn,.bell-btn,.sheet-close,.sheet-expand{min-width:44px;min-height:44px}.nav a,.btn,.btn-primary,.btn-ghost,.btn-danger,.cta,.act-btn,.cvebtn,.sso-btn,.toggle-btn,.import{min-height:44px}.chip{min-height:34px}input,select,textarea{font-size:16px}.thread:hover,.card:hover{background:0 0}}@media (hover:none){.thread:hover{background:0 0;border-radius:0}.cvebtn:hover{background:color-mix(in srgb, var(--primary) 10%, transparent)}}.sk{background:color-mix(in srgb, var(--line) 45%, transparent);border-radius:var(--r-sm);display:block;position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ink) 8%, transparent), transparent);animation:sk-shimmer 1.4s var(--ease) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes sk-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sk-line{height:12px}.sk-line+.sk-line{margin-top:var(--sp-4)}.sk-title{width:62%;height:18px;margin-bottom:var(--sp-5)}.sk-meta{width:34%;height:10px;margin-bottom:var(--sp-6)}.sk-card{padding:var(--sp-7) 0;border-top:1px solid var(--line)}.sk-card:first-child{border-top:0}.sk-row{align-items:center;gap:var(--sp-6);padding:var(--sp-6) 0;border-top:1px solid var(--line);display:flex}.sk-row:first-child{border-top:0}.sk-rows{padding:var(--sp-2) 0}.sk-avatar{border-radius:var(--r-xs);flex-shrink:0;width:17px;height:17px}.sk-pill{border-radius:var(--r-pill);width:74px;height:26px}.sk-ring{border-radius:50%;flex-shrink:0;width:80px;height:80px}.sk-block{height:64px}.sk-btn{height:var(--h-ctl);border-radius:var(--r-md);width:140px}.sk-inline{vertical-align:middle;display:inline-block}@media (prefers-reduced-motion:reduce){.sk:after{animation:none}}.state{text-align:center;padding:var(--sp-12) var(--sp-9);border:1px dashed var(--line);border-radius:var(--r-xl);background:color-mix(in srgb, var(--surface-1) 40%, transparent);color:var(--ink-faint);flex-direction:column;align-items:center;display:flex}.state.st-error{border-style:solid;border-color:color-mix(in srgb, var(--kev) 40%, var(--line));background:var(--tint-kev)}.state .st-ic{width:34px;height:34px;margin:0 auto var(--sp-6);opacity:.75}.state h2{margin:0 0 var(--sp-4);font-family:var(--font-serif);font-weight:var(--fw-semibold);font-size:var(--fs-h4);color:var(--ink-dim);line-height:1.25}.state p{max-width:54ch;font-size:var(--fs-ui);line-height:var(--lh-relaxed);margin:0 auto}.state .st-hint{margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--ink-faint);display:block}.state-actions{gap:var(--sp-4);margin-top:var(--sp-8);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.btn-solid{justify-content:center;align-items:center;gap:var(--sp-3);min-height:var(--h-ctl);padding:var(--sp-4) var(--sp-7);border:1px solid var(--primary);border-radius:var(--r-md);background:var(--primary);color:var(--on-primary);font-family:var(--font-sans);font-size:var(--fs-ui);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);line-height:1.2;display:inline-flex}.btn-solid:hover{background:color-mix(in srgb, var(--primary) 84%, var(--ink))}.btn-solid[disabled]{opacity:.55;cursor:not-allowed}button.chip,button.trig,button.more,button.switch,button.tag{appearance:none}button.chip,button.trig,button.more,button.switch{background:0 0}button.trig,button.more,button.switch{border:0}.help-card{margin-bottom:var(--sp-8);padding:var(--sp-6) var(--sp-7);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1);color:var(--ink-dim);font-size:var(--fs-sm)}.help-card h3{margin:0 0 var(--sp-4);font-family:var(--font-serif);font-size:var(--fs-ui);color:var(--ink)}.help-card dl{gap:var(--sp-2) var(--sp-5);grid-template-columns:92px 1fr;margin:0;display:grid}.help-card dt{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--primary)}.help-card dd{margin:0}.help-card .close{float:right;padding:var(--sp-1) var(--sp-2);color:var(--ink-faint);font-size:var(--fs-body);cursor:pointer;background:0 0;border:0;line-height:1}.saveview{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.saveview input{padding:var(--sp-2) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-soft);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-sm)}.saveview input:focus-visible{border-color:var(--primary)}.msg-line{margin-bottom:var(--sp-6);font-size:var(--fs-sm);color:var(--ink-faint)}.msg-line:empty{display:none}.filters--tight{margin-top:calc(-1 * var(--sp-2))}.chip .d.d-mine{background:var(--mine)}.chip .d.d-kev{background:var(--kev)}.chip .d.d-primary{background:var(--primary)}.rail .more{display:block}@media (max-width:460px){.top{padding:var(--sp-4) var(--sp-5);gap:var(--sp-3)}.brand{font-size:var(--fs-body)}.nav a{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-ui)}.ibtn{width:var(--h-ctl-compact);height:var(--h-ctl-compact)}.bell-btn{width:34px;height:34px}.avatar{width:30px;height:30px}}.dashboard-page{max-width:1200px;margin:0 auto;padding:32px 24px}.dashboard-page h1{font-family:var(--font-serif);margin:0 0 8px;font-size:28px}.dash-sub{color:var(--ink-faint);margin:0 0 32px;font-size:14px}.dash-kpis{flex-wrap:wrap;gap:16px;margin-bottom:32px;display:flex}.dash-kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:160px;padding:18px 22px}.dash-kpi .lbl{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px}.dash-kpi .val{font-size:28px;font-weight:700;font-family:var(--font-mono);color:var(--ink)}.dash-kpi .sub{color:var(--ink-dim);margin-top:4px;font-size:12px}.dash-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.dash-grid:last-child{margin-bottom:0}.dash-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}.dash-card h3{color:var(--ink-dim);margin:0 0 16px;font-size:15px}.dash-empty{color:var(--ink-faint);text-align:center;padding:20px}.dash-legend{color:var(--ink-dim);font-size:12px}.dash-state{color:var(--ink-dim);padding:40px}.dash-state.error{color:var(--primary)}@media (max-width:900px){.dash-grid{grid-template-columns:1fr}}.explore-page{max-width:1120px;margin:0 auto;padding:24px 22px 90px}.explore-page h1{font-family:var(--font-serif);margin:0 0 4px;font-size:20px;font-weight:600}.explore-page .sub{color:var(--ink-faint);margin-bottom:18px;font-size:13px}.explore-page .layout{grid-template-columns:250px 1fr;align-items:start;gap:22px;display:grid}.explore-page .tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.explore-page .side-toggle{margin-bottom:14px;display:none}@media (max-width:900px){.explore-page .layout{grid-template-columns:1fr}.explore-page .side{display:none}.explore-page .side.open{z-index:calc(var(--z-sheet) + 1);width:min(var(--w-sheet),92vw);max-height:100dvh;padding:var(--sp-7);background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--sh-3);animation:slideIn var(--dur-2) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.explore-page .side-toggle{display:inline-flex}}.explore-page .side{position:sticky;top:16px}.explore-page.filters-open{z-index:calc(var(--z-sheet) + 2)}.explore-page .fgroup{margin-bottom:16px}.explore-page .fgroup h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:0 0 7px;font-size:11px;font-weight:600}.explore-page .fhint{color:var(--ink-faint);font-size:11px;line-height:var(--lh-normal);margin:0 0 8px}.explore-page .fopt{color:var(--ink-dim);cursor:pointer;align-items:center;gap:7px;padding:3px 0;font-size:12px;display:flex}.explore-page .fopt:hover,.explore-page .fopt.chosen{color:var(--ink)}.explore-page .fopt .fv{overflow-wrap:anywhere;min-width:0}.explore-page .fopt .n{font-family:var(--font-mono);color:var(--ink-faint);white-space:nowrap;margin-left:auto;font-size:10px}.explore-page .fopt .chosen-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);white-space:nowrap;margin-left:auto;font-size:10px}.explore-page .fopt input{accent-color:var(--primary)}.explore-page .fsearch{background:var(--bg-soft);border:1px solid var(--line);width:100%;color:var(--ink);font-size:12px;font-family:var(--font-sans);border-radius:7px;margin-bottom:6px;padding:6px 9px}.explore-page .fsearch:focus-visible{border-color:var(--primary)}.explore-page .fmore{color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:0;padding:6px 0;font-size:12px}.explore-page .fempty{color:var(--ink-faint);padding:4px 0;font-size:12px}.explore-page .tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.explore-page .tools input,.explore-page .tools select{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink);font-size:13px;font-family:var(--font-sans);border-radius:7px;outline:0;max-width:100%;padding:7px 10px}.explore-page .tools input:focus-visible{border-color:var(--primary)}.explore-page .tools .q{width:300px;min-width:0}.explore-page .tools--quick{row-gap:6px}.explore-page .chip{border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;transition:all 80ms;display:inline-flex}.explore-page .chip.on{background:color-mix(in srgb,var(--primary) 14%, transparent);border-color:var(--primary);color:var(--primary)}.explore-page .applied{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;display:flex}.explore-page .applied-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:11px}.explore-page .applied-empty{color:var(--ink-faint);font-size:12px}.explore-page .applied-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.explore-page .fchip{border:1px solid color-mix(in srgb,var(--primary) 45%, transparent);background:var(--tint-primary);max-width:100%;color:var(--primary);border-radius:var(--r-pill);cursor:pointer;font-size:12px;font-family:var(--font-sans);align-items:center;gap:6px;padding:4px 8px 4px 10px;display:inline-flex}.explore-page .fchip:hover{border-color:var(--primary)}.explore-page .fchip .t{text-overflow:ellipsis;white-space:nowrap;max-width:26ch;overflow:hidden}.explore-page .fchip .x{font-size:14px;line-height:1}.explore-page .copy-slice{color:var(--ink-dim);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;text-decoration:underline}.explore-page .copy-slice:hover{color:var(--primary)}.explore-page .count-note{color:var(--ink-faint);font-size:11px}.explore-page .facet-note{font-size:11px;line-height:var(--lh-normal);color:var(--ink-faint);border-left:2px solid var(--line);margin:0 0 16px;padding-left:8px}.explore-page .facet-note b{color:var(--ink-dim)}.explore-page .facet-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.explore-page .facet-title{font-family:var(--font-serif);font-size:var(--fs-h4);margin:0}.explore-page .facet-foot{background:var(--panel);margin-top:auto;padding-top:16px;position:sticky;bottom:0}.explore-page .facet-foot .btn-solid{justify-content:center;width:100%}.explore-page .thr-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.explore-page .thr .lbl{margin-bottom:3px;display:block}.explore-page .thr input{background:var(--bg-soft);border:1px solid var(--line);width:100%;color:var(--ink);font-size:12px;font-family:var(--font-mono);border-radius:7px;padding:6px 8px}.explore-page .thr input:focus-visible{border-color:var(--primary)}.explore-page .thr-echo{color:var(--ink-faint);font-size:10px;font-family:var(--font-mono);margin-top:2px;display:block}.explore-page .thr-presets{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.explore-page .thr-presets .chip{padding:3px 9px;font-size:11px}.explore-page .thr-apply{justify-content:center;width:100%;font-size:12px}.explore-page .thr-apply[data-dirty=true]{border-color:var(--primary);color:var(--primary)}.explore-page .tag.sev-critical{color:var(--sev-critical);border-color:color-mix(in srgb,var(--sev-critical) 45%, transparent)}.explore-page .tag.sev-high{color:var(--sev-high);border-color:color-mix(in srgb,var(--sev-high) 45%, transparent)}.explore-page .tag.sev-medium{color:var(--sev-medium);border-color:color-mix(in srgb,var(--sev-medium) 45%, transparent)}.explore-page .tag.sev-low{color:var(--sev-low);border-color:color-mix(in srgb,var(--sev-low) 45%, transparent)}.explore-page .tag.sev-none{color:var(--ink-faint);border-color:var(--line)}.explore-page .count{color:var(--ink-faint);align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.explore-page .reset{color:var(--primary);cursor:pointer;background:0 0;border:0;font-size:12px}.explore-page .row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;transition:all .1s;display:flex}.explore-page .row:hover{background:color-mix(in srgb,var(--bg-soft) 30%, transparent);border-radius:6px;margin:0 -8px;padding:10px 8px}.explore-page .row:first-child{border-top:0}.explore-page .row .ids{font-family:var(--font-mono);color:var(--ink-dim);min-width:130px;font-size:12px}.explore-page .row .title{flex:1;margin:0 12px;font-size:14px}.explore-page .row .meta{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:5px;max-width:46%;display:flex}.explore-page .tag{font-family:var(--font-mono);border:1px solid var(--line);color:var(--ink-dim);border-radius:4px;padding:2px 6px;font-size:10px}.explore-page .tag.kev{color:var(--kev);border-color:color-mix(in srgb,var(--kev) 45%, transparent);background:color-mix(in srgb,var(--kev) 9%, transparent)}.explore-page .tag.poc{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%, transparent)}.explore-page .more{border:1px solid var(--line);background:var(--bg-soft);width:100%;color:var(--ink-dim);cursor:pointer;border-radius:8px;margin-top:16px;padding:9px;font-size:13px}.explore-page .more:hover{border-color:var(--primary);color:var(--ink)}.explore-page .empty{color:var(--ink-faint);padding:20px 0;font-size:13px}@media (max-width:640px){.explore-page .row{flex-wrap:wrap;row-gap:6px}.explore-page .row .title{flex-basis:100%;order:3;margin:0}.explore-page .row .meta{justify-content:flex-start;max-width:100%}}.explore-page .ih{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.insights-page{max-width:960px;margin:0 auto;padding:32px 22px}.insights-page h1{font-family:var(--font-serif);margin:0 0 8px;font-size:22px;font-weight:600}.insights-page .subtitle{color:var(--ink-faint);margin-bottom:32px;font-size:13px}.insights-page .grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.insights-page .card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}.insights-page .card.wide{grid-column:1/-1}.insights-page .card h2{color:var(--ink-dim);font-size:13px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.insights-page .stat-row{flex-wrap:wrap;gap:32px;margin-bottom:32px;display:flex}.insights-page .stat{text-align:center}.insights-page .stat .val{color:var(--ink);font-size:32px;font-weight:700;font-family:var(--font-mono)}.insights-page .stat .lbl{color:var(--ink-faint);margin-top:4px;font-size:12px}.insights-page .empty{text-align:center;color:var(--ink-faint);padding:48px 24px}.insights-page .empty h2{font-family:var(--font-serif);margin-bottom:12px}.insights-page .empty p{font-size:14px;line-height:1.6}.insights-page .empty a{color:var(--primary)}.insights-page .loading{text-align:center;color:var(--ink-faint);padding:64px}.insights-page .error{text-align:center;color:var(--kev);padding:64px}@media (max-width:700px){.insights-page .grid{grid-template-columns:1fr}.insights-page .card.wide{grid-column:auto}}.settings-page{max-width:560px;margin:0 auto;padding:32px 22px}.settings-page h1{font-family:var(--font-serif);margin:0 0 24px;font-size:20px;font-weight:600}.settings-page .section{margin-bottom:32px}.settings-page .section h2{color:var(--ink-dim);margin:0 0 12px;font-size:14px;font-weight:600}.settings-page .themes{grid-template-columns:1fr 1fr;gap:6px;display:grid}.settings-page .theme-opt{border:1px solid var(--line);cursor:pointer;color:var(--ink-dim);border-radius:8px;align-items:center;gap:8px;padding:10px;font-size:13px;display:flex}.settings-page .theme-opt.on{border-color:var(--primary);color:var(--ink);background:color-mix(in srgb,var(--primary) 10%, transparent)}.settings-page .theme-opt .dot{background:var(--ink-faint);border-radius:50%;width:10px;height:10px}.settings-page .theme-opt.on .dot{background:var(--primary)}.settings-page .btn{background:var(--primary);color:var(--ink);cursor:pointer;border:0;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.settings-page .btn-sm{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-dim);font-size:11px;font-family:var(--font-sans);cursor:pointer;border-radius:6px;padding:4px 10px;transition:all .12s}.settings-page .btn-sm:hover{color:var(--ink);border-color:var(--primary)}.settings-page .btn-sm.danger{color:var(--kev);border-color:color-mix(in srgb, var(--kev) 27%, transparent)}.settings-page .btn-sm.danger:hover{background:color-mix(in srgb, var(--kev) 13%, transparent)}.settings-page .btn-sm.test{color:var(--mine)}.settings-page .toast{color:var(--mine);margin-left:12px;font-size:13px}.settings-page .logout{color:var(--kev);cursor:pointer;margin-top:32px;font-size:13px;display:inline-block}.settings-page .ch-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;display:flex}.settings-page .ch-type{font-family:var(--font-mono);color:var(--primary);background:color-mix(in srgb,var(--primary) 15%, transparent);border-radius:5px;flex-shrink:0;padding:2px 8px;font-size:11px}.settings-page .ch-label{color:var(--ink);overflow-wrap:anywhere;min-width:0;font-size:14px}.settings-page .add-form{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:14px}.settings-page .add-form select,.settings-page .add-form input,.settings-page .add-form textarea{border:1px solid var(--line);background:var(--bg-soft);width:100%;color:var(--ink);font-family:var(--font-sans);border-radius:8px;margin-bottom:8px;padding:8px 12px;font-size:13px}.settings-page .add-form textarea{min-height:60px;font-family:var(--font-mono);font-size:11px}.settings-page .add-form .row{gap:8px;display:flex}.settings-page .test-msg{color:var(--mine);margin-left:8px;font-size:12px}.settings-page .test-msg.err{color:var(--kev)}.settings-page .config-help{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);margin-bottom:8px;line-height:1.4}.settings-page .rules-section{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.settings-page .rules-desc{color:var(--ink-faint);margin-bottom:16px;font-size:13px;line-height:1.5}.settings-page .rule-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.settings-page .rule-row:last-child{border-bottom:none}.settings-page .rule-row label{color:var(--ink-dim);font-size:13px}.settings-page .rule-row input[type=number]{border:1px solid var(--line);background:var(--bg-soft);width:70px;color:var(--ink);font-family:var(--font-mono);text-align:center;border-radius:6px;padding:6px 10px;font-size:13px}.settings-page .rule-row input[type=range]{width:120px;accent-color:var(--primary)}.settings-page .rule-row .range-group{align-items:center;gap:8px;display:flex}.settings-page .toggle-sw{width:42px;height:24px;display:inline-block;position:relative}.settings-page .toggle-sw input{opacity:0;width:0;height:0}.settings-page .toggle-sl{cursor:pointer;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;transition:all .2s;position:absolute;inset:0}.settings-page .toggle-sl:before{content:"";background:var(--ink-faint);border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;bottom:3px;left:3px}.settings-page .toggle-sw input:checked+.toggle-sl{background:var(--primary);border-color:var(--primary)}.settings-page .toggle-sw input:checked+.toggle-sl:before{background:var(--ink);transform:translate(18px)}.settings-page .event-chips{flex-wrap:wrap;gap:6px;margin:12px 0 0;display:flex}.settings-page .event-chip{border:1px solid var(--line);cursor:pointer;color:var(--ink-faint);background:var(--bg-soft);border-radius:8px;padding:6px 12px;font-size:12px;transition:all .12s}.settings-page .event-chip.on{color:var(--ink);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%, transparent)}.settings-page .event-chip:hover{color:var(--ink);border-color:var(--ink-dim)}.settings-page .wl-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;display:flex}.settings-page .wl-cve{font-family:var(--font-mono);color:var(--ink);overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:500}.settings-page .wl-cve a{color:var(--primary)}.settings-page .wl-cve a:hover{text-decoration:underline}.settings-page .wl-cvss{font-family:var(--font-mono);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:600}.settings-page .wl-add{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.settings-page .wl-add input{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);font-family:var(--font-mono);border-radius:8px;flex:160px;min-width:0;padding:8px 12px;font-size:13px}.settings-page .wl-error{color:var(--kev);margin-top:6px;font-size:12px}.settings-page .wl-empty{color:var(--ink-faint);padding:8px 0;font-size:13px}.digest-page{max-width:700px;margin:0 auto;padding:28px 22px 90px}.digest-page h1{font-family:var(--font-serif);margin:0 0 4px;font-size:22px;font-weight:600}.digest-page .gen{color:var(--ink-faint);margin-bottom:28px;font-size:12px}.digest-page .section{margin-bottom:28px}.digest-page .section h2{font-family:var(--font-serif);color:var(--ink);margin:0 0 10px;font-size:15px;font-weight:600}.digest-page .item{border-top:1px solid var(--line);align-items:baseline;gap:10px;padding:8px 0;font-size:14px;display:flex}.digest-page .item .id{font-family:var(--font-mono);color:var(--ink-dim);min-width:130px;font-size:12px}.digest-page .item .title{color:var(--ink-dim);flex:1}.digest-page .item .score{font-family:var(--font-mono);color:var(--kev);font-size:11px}@media (max-width:460px){.digest-page{padding:20px 14px 80px}.digest-page .item .id{min-width:104px;font-size:11px}}.admin-page{max-width:860px;margin:0 auto;padding:24px 22px}.admin-page h1{font-family:var(--font-serif);margin:0 0 4px;font-size:20px;font-weight:600}.admin-page .sub{color:var(--ink-faint);margin-bottom:20px;font-size:13px}.admin-page .tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:20px;padding-bottom:12px;display:flex}.admin-page .tab{cursor:pointer;color:var(--ink-dim);background:0 0;border:none;border-radius:6px;padding:6px 16px;font-size:14px}.admin-page .tab.active{color:var(--ink);background:var(--bg-soft)}.admin-page table{border-collapse:collapse;width:100%;font-size:13px}.admin-page th{text-align:left;color:var(--ink-faint);font-weight:500;font-family:var(--font-mono);text-transform:uppercase;border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px}.admin-page td{border-bottom:1px solid var(--line);font-family:var(--font-mono);padding:10px;font-size:13px}.admin-page tr:hover td{background:var(--bg-soft)}.admin-page .badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.admin-page .badge-active{background:color-mix(in srgb,var(--mine) 20%, transparent);color:var(--mine)}.admin-page .badge-inactive{background:color-mix(in srgb,var(--ink-faint) 20%, transparent);color:var(--ink-faint)}.admin-page .btn{cursor:pointer;font-size:13px;font-family:var(--font-sans);border:none;border-radius:6px;padding:6px 14px}.admin-page .btn-primary{background:var(--primary);color:var(--bg)}.admin-page .btn-ghost{color:var(--ink-dim);border:1px solid var(--line);background:0 0}.admin-page .btn-danger{color:var(--kev);border:1px solid var(--kev);background:0 0}.admin-page .btn-sm{padding:3px 10px;font-size:12px}.admin-page .form-group{margin-bottom:14px}.admin-page .form-group label{color:var(--ink-faint);text-transform:uppercase;font-size:12px;font-family:var(--font-mono);margin-bottom:4px;display:block}.admin-page .form-group input,.admin-page .form-group select{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);width:100%;font-size:14px;font-family:var(--font-sans);border-radius:6px;padding:8px 12px}.admin-page .form-group select{appearance:none}.admin-page .form-row{gap:10px;display:flex}.admin-page .form-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-bottom:20px;padding:16px}.admin-page .actions{gap:6px;display:flex}.admin-page .error{color:var(--kev);margin-bottom:10px;font-size:13px}.admin-page .nav-links{gap:8px;margin-left:auto;display:flex}.admin-page .nav-link{color:var(--ink-dim);border-radius:4px;padding:4px 10px;font-size:13px}.admin-page .nav-link:hover{color:var(--ink);background:var(--bg-soft)}.team-page{max-width:640px;margin:0 auto;padding:32px 22px}.team-page h1{font-family:var(--font-serif);margin:0 0 18px;font-size:22px;font-weight:600}.team-page h2{color:var(--ink-dim);margin:26px 0 10px;font-size:15px;font-weight:600}.team-page .form-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.team-page input,.team-page select{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);border-radius:8px;flex:1;min-width:0;padding:8px 12px;font-family:inherit;font-size:14px}.team-page select{flex:none;width:120px}.team-page .btn{cursor:pointer;white-space:nowrap;border:0;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600}.team-page .btn.primary{background:var(--primary);color:var(--ink)}.team-page .team-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin-bottom:12px;padding:16px}.team-page .team-card h3{margin:0 0 4px;font-size:16px}.team-page .team-card .meta{color:var(--ink-faint);font-size:12px}.team-page .member-list{margin:12px 0 0;padding:0;list-style:none}.team-page .member-list li{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.team-page .member-list .role-select{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);cursor:pointer;border-radius:6px;flex:none;width:auto;padding:2px 6px;font-family:inherit;font-size:11px}.team-page .member-list .is-you{color:var(--ink-faint);margin-left:4px;font-size:10px}.team-page .msg{color:var(--mine);margin-left:12px;font-size:13px}.team-page .err{color:var(--kev);margin:8px 0;font-size:13px}.team-page .hint{color:var(--ink-faint);margin-top:10px;font-size:12px;line-height:1.5}@media (max-width:460px){.team-page{padding:22px 14px 70px}.team-page .form-row input,.team-page .form-row select{flex:100%;width:100%}.team-page .form-row .btn{width:100%}}.queue-page{max-width:860px;margin:0 auto;padding:24px 22px 90px}.queue-page h1{font-family:var(--font-serif);margin:0 0 4px;font-size:20px;font-weight:600}.queue-page .sub{color:var(--ink-faint);margin-bottom:20px;font-size:13px}.queue-page .stats{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.queue-page .stat-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:100px;padding:12px 18px}.queue-page .stat-card .num{font-family:var(--font-serif);font-size:24px;font-weight:700}.queue-page .stat-card .lbl{color:var(--ink-faint);margin-top:2px;font-size:11px}.queue-page .stat-card.p1 .num{color:var(--primary)}.queue-page .stat-card.overdue .num{color:var(--sev-medium)}.queue-page .empty{text-align:center;color:var(--ink-faint);padding:60px 0}.queue-page .empty h2{font-family:var(--font-serif);color:var(--ink-dim);margin-bottom:8px;font-size:18px}.queue-page .q-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;padding:16px;display:flex}.queue-page .q-id{font-family:var(--font-mono);min-width:110px;font-size:12px}.queue-page .q-status{white-space:nowrap;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600}.queue-page .q-priority{font-family:var(--font-mono);background:var(--bg-soft);color:var(--ink-dim);border-radius:5px;padding:2px 8px;font-size:11px}.queue-page .q-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.queue-page .act-btn{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-dim);font-size:12px;font-family:var(--font-sans);cursor:pointer;border-radius:7px;padding:5px 12px;transition:all .12s}.queue-page .act-btn:hover{color:var(--ink);border-color:var(--primary)}.queue-page .act-btn.primary{background:var(--primary);color:var(--ink);border-color:var(--primary)}.queue-page .act-btn.done{background:var(--mine);color:var(--bg);border-color:var(--mine)}.queue-page .act-log{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-top:24px;padding:12px}.queue-page .act-log h3{font-family:var(--font-serif);color:var(--ink-dim);margin:0 0 12px;font-size:16px}.queue-page .act-row{border-bottom:1px solid color-mix(in srgb,var(--line) 50%, transparent);align-items:center;gap:10px;padding:6px 0;font-size:13px;display:flex}.queue-page .act-row:last-child{border-bottom:0}.queue-page .act-who{min-width:30px;font-weight:600}.queue-page .act-who.me{color:var(--primary)}.queue-page .act-action{color:var(--ink-dim)}.queue-page .act-detail{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.queue-page .act-age{color:var(--ink-faint);white-space:nowrap;margin-left:auto;font-size:11px}.sources-page{max-width:900px;margin:0 auto;padding:24px 22px 80px}.sources-page h1{font-family:var(--font-serif);margin:0 0 4px;font-size:20px;font-weight:600}.sources-page .sub{color:var(--ink-faint);margin-bottom:18px;font-size:13px}.sources-page .tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.sources-page .chip{border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;display:inline-flex}.sources-page .chip.on{background:color-mix(in srgb,var(--primary) 14%, transparent);border-color:var(--primary);color:var(--primary)}.sources-page .chip .n{font-family:var(--font-mono);color:var(--ink-faint);font-size:10px}.sources-page .meta{color:var(--ink-faint);margin-bottom:12px;font-size:12px}.sources-page table{border-collapse:collapse;width:100%;font-size:13px}.sources-page th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:6px 8px;font-size:11px;font-weight:600}.sources-page td{border-bottom:1px solid var(--line);color:var(--ink-dim);vertical-align:top;padding:9px 8px}.sources-page td.name{color:var(--ink);font-weight:600}.sources-page td.mono{font-family:var(--font-mono);font-size:12px}.sources-page .note{color:var(--ink-faint);margin-top:2px;font-size:11px;font-weight:400;display:block}.sources-page .st{font-family:var(--font-mono);font-size:11px}.sources-page .err{color:var(--kev)}.sources-page .kev-row{border-top:1px solid var(--line);font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.sources-page .kev-row:first-child{border-top:0}.sources-page .kev-badge{color:var(--kev);font-weight:600}.sources-page .empty{color:var(--ink-faint);padding:24px 0;font-size:13px}.stack-page{max-width:860px;margin:0 auto;padding:24px 22px 90px}.stack-page h1{font-family:var(--font-serif);margin:0 0 4px;font-size:20px;font-weight:600}.stack-page .sub{color:var(--ink-faint);margin-bottom:20px;font-size:13px}.stack-page .tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:20px;padding-bottom:0;display:flex}.stack-page .tab-btn{color:var(--ink-dim);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:8px 8px 0 0;padding:8px 18px;font-size:14px;transition:all .12s}.stack-page .tab-btn:hover{color:var(--ink);background:var(--bg-soft)}.stack-page .tab-btn.active{color:var(--primary);background:var(--panel);border:1px solid var(--line);border-bottom:1px solid var(--panel);margin-bottom:-1px}.stack-page .card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:14px}.stack-page .card .vendor{color:var(--ink-dim);font-size:13px}.stack-page .card .product{font-family:var(--font-serif);margin:4px 0;font-size:16px;font-weight:600}.stack-page .card .meta{font-family:var(--font-mono);color:var(--ink-faint);gap:12px;font-size:12px;display:flex}.stack-page .card .hosts{color:var(--mine);font-weight:600}.stack-page .empty{text-align:center;color:var(--ink-faint);padding:60px 0}.stack-page .empty h2{font-family:var(--font-serif);color:var(--ink-dim);margin-bottom:8px;font-size:18px}.stack-page .import{background:var(--primary);color:var(--ink);cursor:pointer;border-radius:8px;margin-top:16px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-block}.stack-page .import-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:12px}.stack-page .ip-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.stack-page .ip-row:last-child{margin-bottom:0}.stack-page .ip-row select,.stack-page .ip-row input[type=file]{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-dim);font-size:12px;font-family:var(--font-sans);border-radius:7px;padding:6px 9px}.stack-page .ip-msg{color:var(--ink-dim);font-size:12px}.stack-page .cands{border-top:1px solid var(--line);max-height:260px;margin-top:8px;padding-top:8px;overflow:auto}.stack-page .cand{color:var(--ink-dim);cursor:pointer;align-items:center;gap:7px;padding:3px 0;font-size:12px;display:flex}.stack-page .cand input{accent-color:var(--primary)}.stack-page .rem-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;padding:16px;display:flex}.stack-page .rem-id{font-family:var(--font-mono);color:var(--ink-faint);min-width:110px;font-size:12px}.stack-page .rem-status{white-space:nowrap;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600}.stack-page .rem-priority{font-family:var(--font-mono);background:var(--bg-soft);color:var(--ink-dim);border-radius:5px;padding:2px 8px;font-size:11px}.stack-page .rem-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.stack-page .act-btn{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-dim);font-size:12px;font-family:var(--font-sans);cursor:pointer;border-radius:7px;padding:5px 12px;transition:all .12s}.stack-page .act-btn:hover{color:var(--ink);border-color:var(--primary)}.stack-page .act-btn.primary{background:var(--primary);color:var(--ink);border-color:var(--primary)}.stack-page .act-btn.resolve{background:var(--mine);color:var(--bg);border-color:var(--mine)}.stack-page .rem-meta{color:var(--ink-faint);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.stack-page .rem-due{color:var(--sev-medium)}.stack-page .rem-overdue{color:var(--primary)}.stack-page .rem-res-note{color:var(--ink-dim);font-size:12px;font-style:italic}.stack-page .resolve-popup{z-index:50;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.stack-page .resolve-box{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:400px;max-width:90vw;padding:24px}.stack-page .resolve-box h3{font-family:var(--font-serif);margin:0 0 16px;font-size:17px}.stack-page .resolve-box select,.stack-page .resolve-box input{border:1px solid var(--line);background:var(--bg-soft);width:100%;color:var(--ink);font-family:var(--font-sans);border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:14px}.stack-page .resolve-box .btns{justify-content:flex-end;gap:8px;display:flex}.stack-page .resolve-box .btns button{font-size:14px;font-family:var(--font-sans);cursor:pointer;border:0;border-radius:8px;padding:8px 18px}.stack-page .resolve-box .btns .cancel{background:var(--bg-soft);color:var(--ink-dim);border:1px solid var(--line)}.stack-page .resolve-box .btns .confirm{background:var(--mine);color:var(--bg)}.thread-page{max-width:760px;margin:0 auto;padding:28px 22px 90px}.thread-page .back{color:var(--ink-dim);align-items:center;gap:6px;margin-bottom:20px;font-size:13px;transition:all .12s;display:inline-flex}.thread-page .back:hover{color:var(--primary)}.thread-page .byline{color:var(--primary);font-size:13px;font-family:var(--font-mono);align-items:center;gap:6px;margin-bottom:4px;display:flex}.thread-page .editag{color:var(--ink-faint);margin-left:8px;font-size:11px}.thread-page .badges{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.thread-page .badge{font-family:var(--font-mono);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:11px}.thread-page .badge.kev{color:var(--kev);border-color:color-mix(in srgb,var(--kev) 45%, transparent);background:color-mix(in srgb,var(--kev) 9%, transparent)}.thread-page .badge.mine{color:var(--mine);border-color:color-mix(in srgb,var(--mine) 40%, transparent);background:color-mix(in srgb,var(--mine) 9%, transparent)}.thread-page h1{font-family:var(--font-serif);letter-spacing:-.2px;margin:0 0 12px;font-size:28px;font-weight:600;line-height:1.2}.thread-page .meta-line{color:var(--ink-faint);font-size:12px;font-family:var(--font-mono);margin-bottom:24px}.thread-page .lede{color:var(--ink-dim);background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:24px;padding:16px;font-size:16px;line-height:1.6}.thread-page .body-text{color:var(--ink);white-space:pre-wrap;margin-bottom:32px;font-size:14px;line-height:1.7}.thread-page .body-text b,.thread-page .body-text strong{color:var(--ink);font-weight:700}.thread-page .section{margin-top:32px}.thread-page .section h2{font-family:var(--font-serif);color:var(--ink);margin:0 0 12px;font-size:16px;font-weight:600}.thread-page .tag{font-family:var(--font-mono);background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;border-radius:6px;align-items:center;gap:4px;margin-bottom:6px;margin-right:6px;padding:3px 8px;font-size:11px;transition:border-color .12s;display:inline-flex}.thread-page .tag:hover{border-color:var(--primary);color:var(--ink)}.thread-page .tag.entity{color:var(--ink);border-color:color-mix(in srgb,var(--primary) 30%, transparent)}.thread-page .actions{border-top:1px solid var(--line);gap:8px;margin-top:32px;padding-top:20px;display:flex}.thread-page .btn{cursor:pointer;border:0;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .12s}.thread-page .btn.primary{background:var(--primary);color:var(--ink)}.thread-page .btn.ghost{border:1px solid var(--line);color:var(--ink-dim);background:0 0}.thread-page .btn.ghost:hover{border-color:var(--primary);color:var(--ink)}.thread-page .ih{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.vuln-page{max-width:760px;margin:0 auto;padding:28px 22px 90px}.vuln-page .back{color:var(--ink-dim);align-items:center;gap:6px;margin-bottom:20px;font-size:13px;transition:all .12s;display:inline-flex}.vuln-page .back:hover{color:var(--primary)}.vuln-page .hero{align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.vuln-page .hero>div{min-width:0}.vuln-page h1,.vuln-page .ids,.vuln-page .desc,.vuln-page .tldr{overflow-wrap:anywhere}.vuln-page .cvss-ring{border:4px solid var(--line);width:80px;height:80px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.vuln-page h1{font-family:var(--font-serif);letter-spacing:-.1px;margin:0 0 8px;font-size:24px;font-weight:600;line-height:1.2}.vuln-page .ids{font-family:var(--font-mono);color:var(--ink-faint);margin-bottom:12px;font-size:12px}.vuln-page .badges{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.vuln-page .badge{font-family:var(--font-mono);border:1px solid var(--line);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.vuln-page .badge.kev{color:var(--kev);border-color:color-mix(in srgb,var(--kev) 45%, transparent);background:color-mix(in srgb,var(--kev) 9%, transparent)}.vuln-page .badge.mine{color:var(--mine);border-color:color-mix(in srgb,var(--mine) 45%, transparent);background:color-mix(in srgb,var(--mine) 9%, transparent)}.vuln-page .badge.precve{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%, transparent)}.vuln-page .badge.impact{color:var(--ink);background:var(--bg-soft)}.vuln-page .sel{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-dim);font-size:11px;font-family:var(--font-mono);border-radius:6px;outline:0;padding:4px 8px}.vuln-page .sel:focus{border-color:var(--primary)}.vuln-page .section{margin-top:28px}.vuln-page .section h2{font-family:var(--font-serif);color:var(--ink);margin:0 0 12px;font-size:16px;font-weight:600}.vuln-page .grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vuln-page .grid dt{color:var(--ink-faint);font-size:12px}.vuln-page .grid dd{font-family:var(--font-mono);color:var(--ink);margin-top:2px;font-size:13px}.vuln-page .desc{color:var(--ink-dim);max-width:64ch;font-size:14px;line-height:1.6}.vuln-page .tldr{color:var(--ink);border-left:2px solid var(--primary);background:var(--bg-soft);border-radius:0 8px 8px 0;max-width:64ch;padding:10px 12px;font-size:14px;line-height:1.6}.vuln-page .score-row{align-items:center;gap:12px;display:flex}.vuln-page .score-bar{background:var(--bg-soft);border-radius:4px;flex:1;height:8px;overflow:hidden}.vuln-page .score-bar i{border-radius:4px;height:100%;display:block}.vuln-page .hit{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;justify-content:space-between;gap:8px;margin-bottom:6px;padding:8px 10px;font-size:13px;display:flex}.vuln-page .hit .hosts{font-family:var(--font-mono);color:var(--mine);font-size:11px}.vuln-page .lifecycle{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.vuln-page .btn{font-family:var(--font-sans);border:1px solid var(--primary);background:color-mix(in srgb,var(--primary) 14%, transparent);color:var(--primary);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:13px;transition:all .12s}.vuln-page .btn:hover{background:color-mix(in srgb,var(--primary) 22%, transparent)}.vuln-page .btn[disabled]{opacity:.5;cursor:default}.vuln-page .err{color:var(--kev);margin-top:6px;font-size:12px}.vuln-page .tl-item{border-left:1px solid var(--line);padding:0 0 12px 18px;position:relative}.vuln-page .tl-item:last-child{border-left-color:#0000}.vuln-page .tl-item .dot{background:var(--line);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-5px}.vuln-page .tl-item .dot.kev{background:var(--kev)}.vuln-page .tl-item .date{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.vuln-page .tl-item .text{color:var(--ink-dim);margin-top:2px;font-size:13px}.vuln-page .tag{font-family:var(--font-mono);background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-dim);border-radius:6px;padding:3px 8px;font-size:11px}.vuln-page .tag:hover{border-color:var(--primary);color:var(--ink)}.vuln-page .thread-ref{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;margin-bottom:8px;padding:8px 10px;transition:all .12s;display:block}.vuln-page .thread-ref:hover{border-color:var(--primary)}.vuln-page .thread-ref .t{color:var(--ink);font-size:13px}.vuln-page .thread-ref .m{color:var(--ink-faint);margin-top:2px;font-size:11px}.vuln-page .ref{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;align-items:center;gap:8px;margin-bottom:6px;padding:7px 10px;font-size:12px;transition:all .12s;display:flex}.vuln-page .ref:hover{border-color:var(--primary)}.vuln-page .ref .rtype{font-family:var(--font-mono);border:1px solid var(--line);color:var(--ink-dim);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px}.vuln-page .ref.exploit .rtype{color:var(--kev);border-color:color-mix(in srgb,var(--kev) 45%, transparent)}.vuln-page .ref.poc .rtype{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%, transparent)}.vuln-page .ref .rurl{color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.vuln-page .ref .rstars{font-family:var(--font-mono);color:var(--ink-faint);flex-shrink:0;font-size:11px}.vuln-page .cwe-impact{color:var(--ink-dim);margin-bottom:6px;font-size:13px}.vuln-page .cwe-impact b{font-family:var(--font-mono);color:var(--ink);font-weight:500}.vuln-page details.raw{margin-top:8px}.vuln-page details.raw summary{cursor:pointer;color:var(--ink-dim);font-size:13px}.vuln-page details.raw .ev{border-bottom:1px solid var(--line);color:var(--ink-dim);padding:8px 0;font-size:12px}.vuln-page details.raw .ev:last-child{border-bottom:0}@media (max-width:560px){.vuln-page{padding:20px 14px 80px}.vuln-page .hero{gap:14px}.vuln-page .cvss-ring{border-width:3px;width:62px;height:62px;font-size:18px}.vuln-page h1{font-size:20px}.vuln-page .grid{grid-template-columns:1fr;gap:8px}.vuln-page .ref{flex-wrap:wrap}.vuln-page .ref .rurl{display:none}.vuln-page .section{margin-top:22px}}.pricing-page{flex-direction:column;min-height:100vh;display:flex}.pricing-page a{color:inherit;text-decoration:none}.pricing-page .top{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:12px 22px;display:flex}.pricing-page .brand{letter-spacing:.4px;font-weight:700;font-family:var(--font-serif);align-items:center;gap:9px;display:flex}.pricing-page .brand .mark{background:var(--primary);width:10px;height:10px;box-shadow:0 0 12px var(--primary);border-radius:2px}.pricing-page .brand small{font-family:var(--font-mono);color:var(--ink-faint);font-size:10px;font-weight:400}.pricing-page .wrap{max-width:960px;margin:0 auto;padding:48px 22px}.pricing-page h1{font-family:var(--font-serif);text-align:center;margin:0 0 8px;font-size:32px;font-weight:600}.pricing-page .subtitle{text-align:center;color:var(--ink-dim);margin:0 0 12px;font-size:15px}.pricing-page .toggle{justify-content:center;align-items:center;gap:12px;margin-bottom:40px;display:flex}.pricing-page .toggle-btn{border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;background:0 0;border-radius:20px;padding:6px 16px;font-family:inherit;font-size:13px}.pricing-page .toggle-btn.on{border-color:var(--primary);color:var(--ink);background:color-mix(in srgb,var(--primary) 10%, transparent)}.pricing-page .grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.pricing-page .card{border:1px solid var(--line);background:var(--bg-soft);border-radius:12px;flex-direction:column;padding:24px;transition:border-color .2s;display:flex}.pricing-page .card:hover{border-color:color-mix(in srgb,var(--primary) 40%, var(--line))}.pricing-page .card.featured{border-color:var(--primary);box-shadow:0 0 24px color-mix(in srgb,var(--primary) 15%, transparent)}.pricing-page .card-header{margin-bottom:16px}.pricing-page .card-name{margin:0 0 4px;font-size:18px;font-weight:700}.pricing-page .card-price{font-size:36px;font-weight:300;font-family:var(--font-serif);margin:0}.pricing-page .card-period{color:var(--ink-faint);margin:0;font-size:13px}.pricing-page .card-seats{color:var(--ink-dim);margin-top:8px;font-size:12px}.pricing-page .features{flex:1;margin:0 0 20px;padding:0;list-style:none}.pricing-page .features li{color:var(--ink-dim);padding:4px 0 4px 18px;font-size:13px;position:relative}.pricing-page .features li:before{content:"✓";color:var(--mine);font-size:11px;position:absolute;left:0}.pricing-page .cta{cursor:pointer;text-align:center;border:0;border-radius:8px;width:100%;padding:10px;font-family:inherit;font-size:14px;font-weight:600}.pricing-page .cta.primary{background:var(--primary);color:var(--ink)}.pricing-page .cta.secondary{color:var(--ink-dim);border:1px solid var(--line);background:0 0}.pricing-page .cta.current{color:var(--mine);border:1px solid var(--line);cursor:default;background:0 0}.pricing-page .login-link{text-align:center;color:var(--ink-faint);margin-top:32px;font-size:13px}.pricing-page .login-link a{color:var(--primary);text-decoration:underline}.pricing-page .loading{text-align:center;color:var(--ink-faint);padding:40px}.pricing-page .error{text-align:center;color:var(--kev);flex-direction:column;align-items:center;gap:12px;padding:40px;display:flex}.pricing-page .error button{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:13px}.pricing-page .error button:hover{border-color:var(--primary);color:var(--primary)}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-page .box{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:400px;padding:36px}.login-page .logo{font-family:var(--font-serif);align-items:center;gap:8px;margin-bottom:4px;font-size:24px;font-weight:700;display:flex}.login-page .logo .mark{background:var(--primary);width:12px;height:12px;box-shadow:0 0 12px var(--primary);border-radius:2px}.login-page .sub{color:var(--ink-faint);margin-bottom:28px;font-size:13px;line-height:1.5}.login-page input{background:var(--bg-soft);border:1px solid var(--line);width:100%;color:var(--ink);font-size:14px;font-family:var(--font-sans);border-radius:8px;outline:0;margin-bottom:12px;padding:11px 14px}.login-page input:focus{border-color:var(--primary)}.login-page input::placeholder{color:var(--ink-faint)}.login-page .btn{cursor:pointer;border:0;border-radius:8px;width:100%;margin-bottom:8px;padding:11px;font-size:14px;font-weight:600;transition:all .12s}.login-page .btn.primary{background:var(--primary);color:var(--ink)}.login-page .btn.primary:hover{filter:brightness(1.1)}.login-page .btn.ghost{border:1px solid var(--line);color:var(--ink-dim);background:0 0}.login-page .btn.ghost:hover{border-color:var(--primary);color:var(--ink)}.login-page .error{color:var(--kev);text-align:center;min-height:20px;margin-bottom:12px;font-size:13px}.login-page .toggle{text-align:center;color:var(--ink-faint);margin-top:8px;font-size:13px}.login-page .toggle a{color:var(--primary);cursor:pointer}.login-page .divider{color:var(--ink-faint);align-items:center;gap:12px;margin:20px 0 16px;font-size:12px;display:flex}.login-page .divider:before,.login-page .divider:after{content:"";background:var(--line);flex:1;height:1px}.login-page .sso-btn{cursor:pointer;border:1px solid var(--line);background:var(--bg-soft);width:100%;color:var(--ink-dim);border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .12s;display:flex}.login-page .sso-btn:hover{border-color:var(--primary);color:var(--ink)}.login-page .sso-btn.disabled{opacity:.55;cursor:not-allowed}.login-page .sso-btn svg{flex-shrink:0;width:18px;height:18px}.login-page .sso-note{color:var(--ink-faint);text-align:center;margin:4px 0 8px;font-size:12px;line-height:1.5}.login-page .sso-note code{color:var(--ink-dim)}.welcome-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.welcome-page .box{text-align:center;width:520px;max-width:92vw;padding:40px 24px}.welcome-page h1{font-family:var(--font-serif);margin:0 0 12px;font-size:24px;font-weight:600}.welcome-page .desc{color:var(--ink-dim);margin-bottom:24px;font-size:14px;line-height:1.7}.welcome-page .dots{justify-content:center;gap:8px;margin:24px 0;display:flex}.welcome-page .dot{background:var(--line);border-radius:50%;width:8px;height:8px;transition:all .15s}.welcome-page .dot.on{background:var(--primary);border-radius:4px;width:24px}.welcome-page .btn{cursor:pointer;background:var(--primary);color:var(--ink);border:0;border-radius:8px;padding:11px 28px;font-size:14px;font-weight:600;transition:all .12s}.welcome-page .btn:hover{filter:brightness(1.1)}.welcome-page .btn[disabled]{opacity:.5;cursor:default}.welcome-page .ghost{border:1px solid var(--line);color:var(--ink-dim);background:0 0;margin-right:10px}.welcome-page .ghost:hover{border-color:var(--primary);color:var(--ink)}.welcome-page .row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;display:flex}.welcome-page .row select,.welcome-page .row input{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink);font-size:13px;font-family:var(--font-sans);border-radius:8px;outline:0;padding:8px 11px}.welcome-page .row input:focus{border-color:var(--primary)}.welcome-page .msg{color:var(--ink-dim);min-height:18px;margin-bottom:8px;font-size:13px}.welcome-page .hint{color:var(--ink-faint);font-size:12px}.welcome-page .divider{color:var(--ink-faint);align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.welcome-page .divider:before,.welcome-page .divider:after{content:"";background:var(--line);flex:1;height:1px}.welcome-page .top{text-align:left;border:1px solid var(--line);border-radius:8px;max-height:260px;margin-bottom:16px;padding:8px 10px;overflow:auto}.welcome-page .top .it{color:var(--ink-dim);border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:5px 0;font-size:13px;display:flex}.welcome-page .top .it:last-child{border-bottom:0}.welcome-page .top .it b{color:var(--mine);font-family:var(--font-mono);font-size:12px}.callback-error{color:var(--ink);font-family:var(--font-sans);text-align:center;padding:40px}.callback-error a{color:var(--primary);text-decoration:none}.callback-loading{color:var(--ink);font-family:var(--font-sans);background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.callback-loading p{color:var(--ink-faint)}.researchers .controls{align-items:center;gap:8px;margin-bottom:12px;display:flex}.researchers .chip{border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;border-radius:20px;padding:5px 12px;font-size:12px}.researchers .chip.on{background:color-mix(in srgb,var(--primary) 14%, transparent);border-color:var(--primary);color:var(--primary)}.researchers .meta{color:var(--ink-faint);margin-bottom:12px;font-size:12px}.researchers table{border-collapse:collapse;width:100%;font-size:13px}.researchers th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:6px 8px;font-size:11px;font-weight:600}.researchers td{border-bottom:1px solid var(--line);color:var(--ink-dim);padding:8px}.researchers td.name{color:var(--ink);font-weight:600}.researchers td.mono{font-family:var(--font-mono);text-align:right;font-size:12px}.researchers .vf{color:var(--mine);margin-left:6px;font-size:10px}.researchers .co{color:var(--ink-faint);font-size:11px;font-weight:400;display:block}.researchers .empty{color:var(--ink-faint);padding:24px 0;font-size:13px}.researchers .hint{color:var(--ink-faint);margin-top:10px;font-size:11px}.trends .controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.trends .chip{border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;border-radius:20px;padding:5px 12px;font-size:12px}.trends .chip.on{background:color-mix(in srgb,var(--primary) 14%, transparent);border-color:var(--primary);color:var(--primary)}.trends select{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:6px 10px;font-size:12px}.trends .meta{color:var(--ink-faint);margin-bottom:12px;font-size:12px}.trends .trend{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;padding:10px 0;display:flex}.trends .trend:first-of-type{border-top:0}.trends .trend:hover{background:color-mix(in srgb,var(--bg-soft) 30%, transparent)}.trends .trend .rank{font-family:var(--font-mono);color:var(--ink-faint);width:24px;font-size:12px}.trends .trend .cve{font-family:var(--font-mono);color:var(--primary);min-width:150px;font-size:13px}.trends .trend .count{font-family:var(--font-mono);color:var(--ink);min-width:52px;font-size:12px}.trends .trend .bars{flex:1;align-items:flex-end;gap:2px;height:26px;display:flex}.trends .trend .bars i{background:var(--primary);opacity:.75;border-radius:2px;width:6px;min-height:2px}.trends .trend .srcs{color:var(--ink-faint);font-size:11px}.trends .posts{border-left:2px solid var(--line);margin:6px 0 14px;padding:8px 12px}.trends .post{color:var(--ink-dim);border-bottom:1px solid var(--line);padding:5px 0;font-size:12px}.trends .post:last-child{border-bottom:0}.trends .post a{color:var(--ink-dim)}.trends .post a:hover{color:var(--primary)}.trends .empty{color:var(--ink-faint);padding:24px 0;font-size:13px}.sa-wrap{max-width:1180px;margin:0 auto;padding:26px 22px 60px}.sa-wrap .sa-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.sa-wrap .sa-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.sa-wrap .sa-head h1{font-family:var(--font-serif);margin:4px 0 0;font-size:24px;font-weight:600}.sa-wrap .sa-tabs{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:6px;padding:3px;display:flex}.sa-wrap .sa-tabs a{color:var(--ink-dim);border-radius:8px;padding:6px 14px;font-size:13px}.sa-wrap .sa-tabs a.on{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-weight:600}.sa-wrap .sa-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin-bottom:16px;padding:16px 18px}.sa-wrap .sa-card h2{color:var(--ink-dim);margin:0 0 12px;font-size:14px;font-weight:600}.sa-wrap .sa-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.sa-wrap .sa-bar label{color:var(--ink-faint);font-size:12px}.sa-wrap .sa-input,.sa-wrap .sa-select{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:13px}.sa-wrap .sa-input{min-width:180px}.sa-wrap .sa-btn{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 12px;font-family:inherit;font-size:13px}.sa-wrap .sa-btn:hover{border-color:var(--primary);color:var(--primary)}.sa-wrap .sa-btn:disabled{opacity:.45;cursor:not-allowed}.sa-wrap .sa-btn.primary{background:color-mix(in srgb,var(--primary) 20%,transparent);border-color:var(--primary);color:var(--primary);font-weight:600}.sa-wrap .sa-btn.danger:hover{border-color:var(--kev);color:var(--kev)}.sa-wrap .sa-table{border-collapse:collapse;width:100%;font-size:13px}.sa-wrap .sa-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:11px}.sa-wrap .sa-table td{border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);vertical-align:middle;padding:9px 10px}.sa-wrap .sa-table tr:hover td{background:color-mix(in srgb,var(--primary) 6%,transparent)}.sa-wrap .sa-mono{font-family:var(--font-mono);font-size:12px}.sa-wrap .sa-badge{border:1px solid var(--line);border-radius:10px;padding:1px 8px;font-size:11px;display:inline-block}.sa-wrap .sa-badge.ok{color:var(--mine);border-color:color-mix(in srgb,var(--mine) 45%,transparent)}.sa-wrap .sa-badge.warn{color:var(--kev);border-color:color-mix(in srgb,var(--kev) 45%,transparent)}.sa-wrap .sa-badge.err{color:var(--kev);border-color:var(--kev);background:color-mix(in srgb,var(--kev) 12%,transparent)}.sa-wrap .sa-state{border:1px dashed var(--line);color:var(--ink-faint);text-align:center;border-radius:12px;padding:26px;font-size:14px}.sa-wrap .sa-state.err{border-color:color-mix(in srgb,var(--kev) 55%,transparent);color:var(--ink-dim)}.sa-wrap .sa-note{color:var(--ink-faint);font-size:12px}.sa-wrap .sa-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.sa-wrap .sa-metric{border:1px solid var(--line);background:var(--bg-soft);border-radius:10px;padding:12px 14px}.sa-wrap .sa-metric .k{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:5px;font-size:11px}.sa-wrap .sa-metric .v{font-family:var(--font-mono);font-size:18px}.sa-wrap .sa-pager{color:var(--ink-faint);justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;font-size:12px;display:flex}.settings-page .section[id]{scroll-margin-top:calc(var(--h-top) + var(--sp-5))}.alerts-page{max-width:var(--w-feed);padding:var(--sp-9) var(--sp-8) var(--sp-12);margin:0 auto}.alerts-page h1{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-h2);margin:0 0 var(--sp-3)}.alerts-page .sub{color:var(--ink-dim);font-size:var(--fs-body);margin:0 0 var(--sp-8)}.alerts-bar{justify-content:space-between;align-items:center;gap:var(--sp-6);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.alerts-meta{font-size:var(--fs-sm);color:var(--ink-dim);font-variant-numeric:tabular-nums;margin:0}.alerts-actions{gap:var(--sp-4);flex-wrap:wrap;display:flex}.alerts-notice{margin:0 0 var(--sp-6);font-size:var(--fs-sm);color:var(--mine)}.alerts-error{margin:0 0 var(--sp-6);font-size:var(--fs-sm);color:var(--kev)}.alerts-budget{justify-content:space-between;align-items:center;gap:var(--sp-6);margin-bottom:var(--sp-7);padding:var(--sp-7);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--r-lg);background:color-mix(in srgb, var(--accent) 10%, var(--surface-1));color:var(--ink-dim);font-size:var(--fs-body);border-left-width:3px;flex-wrap:wrap;display:flex}.alerts-budget strong{color:var(--ink)}.alerts-list{margin:0;padding:0;list-style:none}.alert-row{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6) var(--sp-7);margin-bottom:var(--sp-5)}.alert-row.st-deferred{border-left:3px solid color-mix(in srgb, var(--accent) 70%, transparent)}.alert-row.st-failed{border-left:3px solid color-mix(in srgb, var(--sev-critical) 70%, transparent)}.alert-head{align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.alert-ts{font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink-faint)}.alert-channel{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--ink-dim);border:1px solid var(--line);border-radius:var(--r-pill);padding:1px var(--sp-5)}.alert-title{align-items:baseline;gap:var(--sp-5);display:flex}.alert-id{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--primary);white-space:nowrap}.alert-text{color:var(--ink);font-size:var(--fs-body)}.alert-trigger{margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--ink-faint)}.alert-detail{margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--ink-dim)}.alert-detail-k{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--ink-faint)}.alert-detail--hint{color:var(--ink-faint)}.alerts-more{margin-top:var(--sp-8);justify-content:center;display:flex}.alerts-end{text-align:center;margin-top:var(--sp-8);font-size:var(--fs-sm);color:var(--ink-faint)}@media (max-width:640px){.alerts-page{padding:var(--sp-8) var(--sp-6) var(--sp-12)}.alerts-page h1{font-size:var(--fs-h3)}.alert-row{padding:var(--sp-6)}.alert-title{gap:var(--sp-3);flex-direction:column}.alerts-bar{align-items:flex-start}}
