
:root{
  --page-w:1480px;
  /* The top strip's height, in one place: the bar itself, the in-flow spacer
     that reserves it, and overlays that must start clear of it. */
  --topbar-h:44px;
  color-scheme:dark;
  --bg:#0b0b0d;--bg2:#111114;--bg3:#16161a;--bg4:#1c1c21;
  --acc:#ffd400;--acc2:#e6bf00;
  /* The accent as FOREGROUND text. #ffd400 on a light surface is 1.4:1 --
     invisible -- so every `color:var(--acc-text)` was unreadable the moment
     somebody switched the theme. Backgrounds and borders keep the bright
     brand yellow; only text uses this. */
  --acc-text:#ffd400;
  --red:#ff4d4f;--red2:#d9363e;
  --green:#3ddc84;--green2:#25b866;
  --yellow:#ffd400;
  --blue:#4aa8ff;--purple:#b98bff;--orange:#ff8c1a;
  --sev-critical:var(--red);--sev-high:var(--orange);--sev-medium:var(--yellow);
  --sev-low:var(--green);--sev-info:var(--blue);--sev-unknown:#8a93c2;
  --muted:#c7c7cf;--text:#f6f6f8;--white:#ffffff;
  --border:#26262c;--border2:#33333b;
  /* Panel/surface aliases. The monitored-target panel and several cards were
     written against --card/--cell/--edge/--edge2, which were never defined,
     so background:var(--card) resolved to nothing and the panel rendered
     see-through over the page behind it. */
  --card:#141419;--cell:#1a1a20;--edge:#2c2c34;--edge2:#3a3a44;
  /* Inter is the UI face for the whole product: very high legibility at
     small sizes, even colour, and the density this many tables need.
     `--fm` is the workhorse token (861 call sites), so pointing it at
     Inter converts the interface in one place instead of editing every
     rule. Monospace is no longer what --fm means: everything that
     genuinely needs it -- code, CVE and IOC identifiers, credential
     blobs -- was repointed to --ft, which stays a real mono stack. */
  --fm:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --fo:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --fb:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --fu:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --glow-acc:0 0 18px rgba(255,212,0,.28);
  --glow-red:0 0 18px rgba(255,77,79,.25);
  --glow-green:0 0 14px rgba(61,220,132,.2);
  --card-grad:linear-gradient(155deg,rgba(28,28,33,.95),rgba(17,17,20,.97));
  --shadow-3d:0 10px 30px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04);
  --scanline:transparent;
}
:root[data-theme="light"]{
  /* The base light layer. The forced block further down repeats these with
     !important; both carry the same White Smoke values so nothing can read
     an amber from one and the old yellow from the other. */
  --acc-text:#7a5a00;   /* >=5.1:1 on every light surface */
  color-scheme:light;
  --bg:#f5f5f5;--bg2:#ffffff;--bg3:#ededed;--bg4:#ffffff;
  --acc:#e1a626;--acc2:#c08c19;            /* Zamesi Desert */
  --acc-ink:#1b2a41;                       /* readable "accent" text on white */
  --red:#b3182b;--red2:#8f1322;
  --green:#3f6b3a;--green2:#2d5029;        /* Cardoon, darkened for text */
  --yellow:#7a5a00;                        /* dark gold for yellow *text* */
  --blue:#243e63;--purple:#5b4b9e;--orange:#9a5400;
  --dove:#6e6e6e;--sage:#9db088;
  --muted:#51607a;--text:#1b2a41;--white:#1b2a41;
  --border:#dcdcdc;--border2:#c9ccd2;
  --card:#ffffff;--cell:#f3f4f6;--edge:#dcdcdc;--edge2:#c9ccd2;
  --glow-acc:0 0 0 3px rgba(255,212,0,.35);
  --glow-red:0 0 0 3px rgba(220,38,38,.15);
  --glow-green:0 0 0 3px rgba(21,128,61,.15);
  --card-grad:#ffffff;
  --shadow-3d:0 4px 14px rgba(20,20,20,.08),0 1px 3px rgba(20,20,20,.06);
  --scanline:transparent;
}
  --sev-critical:var(--red);--sev-high:var(--orange);--sev-medium:var(--yellow);
  --sev-low:var(--green);--sev-info:var(--blue);--sev-unknown:#4b5563;
/* Everything black on light - except inside a terminal window (.tm), which
   stays dark on both themes and colours its own text. :where() adds no
   specificity, so this rule weighs exactly what it did before everywhere
   else. */
:root[data-theme="light"] body,
:root[data-theme="light"] body *:where(:not(.tm, .tm *)){
  color:#000000}
:root[data-theme="light"] body{
  background:var(--bg);color:#000000;font-weight:500}
:root[data-theme="light"] *{text-shadow:none !important}
:root[data-theme="light"] [style*="color:#fff"],
:root[data-theme="light"] [style*="color:#ffffff"],
:root[data-theme="light"] [style*="color:#f4f4ff"],
:root[data-theme="light"] [style*="color:#e0e0f8"],
:root[data-theme="light"] [style*="color:#d0d0ee"],
:root[data-theme="light"] [style*="color:#c0c0e0"],
:root[data-theme="light"] [style*="color:#e0e0"],
:root[data-theme="light"] [style*="color:#eee"],
:root[data-theme="light"] [style*="color:var(--muted)"]{color:#000000 !important}
/* …but not inside a terminal window, which keeps its dark palette. */
:root[data-theme="light"] .tm [style*="color:var(--muted)"]{color:#a9b2c0 !important}
:root[data-theme="light"] [style*="color:#f0c000"],
:root[data-theme="light"] [style*="color:#ffd700"],
:root[data-theme="light"] [style*="color:#fbbc04"],
:root[data-theme="light"] [style*="color:#ffb"],
:root[data-theme="light"] [style*="color:#ffa"],
:root[data-theme="light"] [style*="color:#ff8c00"],
:root[data-theme="light"] [style*="color:#ffe"],
:root[data-theme="light"] [style*="color:gold"],
:root[data-theme="light"] [style*="color:yellow"]{color:#243e63 !important}
:root[data-theme="light"] [style*="background:#f0c000"],
:root[data-theme="light"] [style*="rgba(240,192,0"],
:root[data-theme="light"] [style*="rgba(255,215,0"]{background:rgba(36,62,99,.10) !important}
:root[data-theme="light"] [style*="background:rgba(0,0,0"],
:root[data-theme="light"] [style*="background:#0a0d18"],
:root[data-theme="light"] [style*="background:#0a0a"],
:root[data-theme="light"] [style*="background:#08081"]{background:#ededed !important}
:root[data-theme="light"] .d3card-l{color:#000000;}
:root[data-theme="light"] .d3card-s{color:#1a1a1a;}
:root[data-theme="light"] .d3card-v{color:#000000;}
:root[data-theme="light"] .d3card-mini{color:#000000;}
:root[data-theme="light"] td:where(:not(.tm *)),:root[data-theme="light"] th:where(:not(.tm *)){color:#000000}
:root[data-theme="light"] .stat-num{color:#000000}
:root[data-theme="light"] .stat-label{color:#1a1a1a;}
:root[data-theme="light"] .panel-title{color:#000000;}
:root[data-theme="light"] .target-name{color:#000000;}
:root[data-theme="light"] h1{color:#000000}
:root[data-theme="light"] h2{color:#000000}
:root[data-theme="light"] h3{color:#000000}
:root[data-theme="light"] h4{color:#000000}
:root[data-theme="light"] p:where(:not(.tm *)),:root[data-theme="light"] span:where(:not(.tm *)),
:root[data-theme="light"] div:where(:not(.tm *)),:root[data-theme="light"] li:where(:not(.tm *)),
:root[data-theme="light"] label:where(:not(.tm *)),:root[data-theme="light"] a:where(:not(.tm *)){color:#000000}/* tiny mono labels bumped to readable size, black */
:root[data-theme="light"] [style*="font-size:12px"],
:root[data-theme="light"] [style*="font-size:13px"]{color:#000000 !important}
:root[data-theme="light"] .d3card,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .target-card,
:root[data-theme="light"] .fcard,
:root[data-theme="light"] .vi-card,
:root[data-theme="light"] .modal-box{
  background:#ffffff !important;border:1.5px solid #c9ccd2 !important;border-radius:12px;
  box-shadow:0 2px 10px rgba(15,23,42,.07) !important;
  transform:none !important}
:root[data-theme="light"] .d3card::before{display:none}
:root[data-theme="light"] .d3card:hover{
  transform:translateY(-3px) !important;border-color:#243e63 !important;
  box-shadow:0 10px 24px rgba(36,62,99,.16) !important}
:root[data-theme="light"] nav{
  background:#ffffff;border-bottom:2px solid #c9ccd2;box-shadow:0 1px 8px rgba(15,23,42,.06)}
:root[data-theme="light"] .sb{
  /* Only the shadow changes: the tint and the blur come from --sb-glass /
     --sb-blur, which the light :root block already sets. Re-declaring an
     opaque gradient here would undo the glass. */
  box-shadow:2px 0 22px -12px rgba(15,23,42,.18)}
:root[data-theme="light"] .sb-top{
  background:linear-gradient(180deg,rgba(255,212,0,.10),transparent)}
:root[data-theme="light"] .sb-foot{
  background:linear-gradient(0deg,rgba(255,212,0,.08),transparent)}
:root[data-theme="light"] .sb-tmenu{box-shadow:0 14px 34px -12px rgba(15,23,42,.25)}
:root[data-theme="light"] .mt-del{color:#6b7280}
:root[data-theme="light"] .mt-del:hover{color:#a4123a;background:rgba(200,30,60,.12);
  border-color:rgba(200,30,60,.38)}
:root[data-theme="light"] .mt-btn-danger{background:rgba(200,30,60,.10);
  color:#a4123a;border-color:rgba(200,30,60,.38)}
:root[data-theme="light"] .mt-btn-danger:hover{background:rgba(200,30,60,.18);color:#8d0f31}
:root[data-theme="light"] .sb-item:hover{background:rgba(255,212,0,.14)}
:root[data-theme="light"] .sb-item.on{background:rgba(255,212,0,.22);color:#141414}
/* ── nav additions: trail state, badges, tooltip, menus, crumbs ────────── */
:root[data-theme="light"] .sb-item.trail{color:#6b5300;opacity:1}
:root[data-theme="light"] .sb-item.trail::before{background:#b8860b}
:root[data-theme="light"] .sb-sub a.on{color:#6b5300;background:rgba(255,212,0,.16)}
:root[data-theme="light"] .sb-badge.b-crit{background:rgba(200,30,60,.12);
  color:#a4123a;border-color:rgba(200,30,60,.38)}
:root[data-theme="light"] .sb-badge.b-over{background:rgba(180,110,0,.14);
  color:#8a5300;border-color:rgba(180,110,0,.40)}
:root[data-theme="light"] .sb-badge.b-fail{background:rgba(200,30,60,.10);
  color:#a4123a;border-color:rgba(200,30,60,.32)}
:root[data-theme="light"] .sb-tip{background:#ffffff;border-color:#b8860b;color:#141414;
  box-shadow:0 8px 24px -8px rgba(15,23,42,.30)}
:root[data-theme="light"] .sb-menu,:root[data-theme="light"] .sb-pop{
  background:#ffffff;box-shadow:0 -14px 38px -12px rgba(15,23,42,.28)}
:root[data-theme="light"] .sb-menu a,:root[data-theme="light"] .sb-menu button{color:#1f2937}
:root[data-theme="light"] .sb-menu a:hover,:root[data-theme="light"] .sb-menu button:hover{
  background:rgba(255,212,0,.18);color:#141414}
:root[data-theme="light"] .sb-menu .danger:hover{background:rgba(200,30,60,.10);color:#a4123a}
:root[data-theme="light"] .sb-acct-btn:hover{background:rgba(255,212,0,.14)}
:root[data-theme="light"] .sb-status-btn{color:#4b5563}
:root[data-theme="light"] .sb-status-btn:hover{color:#6b5300;border-color:#b8860b;
  background:rgba(255,212,0,.12)}
:root[data-theme="light"] .sb-rail-btn:hover{color:#6b5300;border-color:#b8860b;
  background:rgba(255,212,0,.12)}
:root[data-theme="light"] .sb-caret:hover{color:#6b5300;background:rgba(255,212,0,.16)}
:root[data-theme="light"] .logo{color:#1b2a41;font-weight:800}
:root[data-theme="light"] .logo span{color:#243e63}
:root[data-theme="light"] nav a{color:#334155;font-weight:700;}
:root[data-theme="light"] nav a:hover,:root[data-theme="light"] nav a.active{color:#243e63}
:root[data-theme="light"] .nav-user{color:#475569;font-weight:700}
:root[data-theme="light"] input:where(:not(.tm *)),:root[data-theme="light"] select:where(:not(.tm *)),:root[data-theme="light"] textarea:where(:not(.tm *)){background:#ffffff !important;color:#1b2a41 !important;border:1.5px solid #c3cad9 !important;
  font-weight:600}
:root[data-theme="light"] input::placeholder{color:#94a3b8 !important}
:root[data-theme="light"] input:focus,:root[data-theme="light"] select:focus{
  border-color:#243e63 !important;outline:none}
:root[data-theme="light"] table:where(:not(.tm *)){color:#1b2a41}
:root[data-theme="light"] th:where(:not(.tm *)){background:#ededed !important;color:#243e63 !important;
  border-bottom:2px solid #c9ccd2 !important;letter-spacing:.04em}
:root[data-theme="light"] td:where(:not(.tm *)){border-color:#e7eaf2 !important;color:#1e293b !important}
:root[data-theme="light"] tr:hover td{background:#f5f5f5 !important}
:root[data-theme="light"] pre:where(:not(.tm *)),:root[data-theme="light"] code:where(:not(.tm *)){background:#ededed;color:#1b2a41}
:root[data-theme="light"] .vi-bg{background:#f5f5f5 !important}
:root[data-theme="light"] #vi-stats{color:#000000 !important;font-weight:700}
:root[data-theme="light"] .vi-filters input,
:root[data-theme="light"] .vi-filters select{background:#ffffff !important;color:#000000 !important;border:1.5px solid #c3cad9 !important;
  font-weight:600}
:root[data-theme="light"] .vi-filters input::placeholder{color:#94a3b8 !important}
:root[data-theme="light"] .vi-row{
  border-bottom:1.5px solid #e2e6f0 !important;background:#ffffff}
:root[data-theme="light"] .vi-row:hover{background:#f0f2f8 !important}
:root[data-theme="light"] .vi-cve-id{color:#1d4ed8 !important;font-weight:800}
:root[data-theme="light"] .vi-cve-id:hover{color:#243e63 !important}
:root[data-theme="light"] .vi-desc{color:#1b2a41 !important;font-weight:600;line-height:1.6}
:root[data-theme="light"] .vi-date{color:#334155 !important;font-weight:700}
:root[data-theme="light"] .vi-prod{color:#7c3aed !important;font-weight:700}
:root[data-theme="light"] .vi-empty{color:#1a1a1a !important;font-weight:700}
:root[data-theme="light"] .vi-sev,
:root[data-theme="light"] .vi-cvss{font-weight:800 !important;padding:4px 11px !important}
:root[data-theme="light"] .vi-sev.CRITICAL,:root[data-theme="light"] .vi-cvss.crit{
  background:#dc2626 !important;color:#ffffff !important;border:none !important}
:root[data-theme="light"] .vi-sev.HIGH,:root[data-theme="light"] .vi-cvss.high{
  background:#ea580c !important;color:#ffffff !important;border:none !important}
:root[data-theme="light"] .vi-sev.MEDIUM,:root[data-theme="light"] .vi-cvss.med{
  background:#b45309 !important;color:#ffffff !important;border:none !important}
:root[data-theme="light"] .vi-sev.LOW,:root[data-theme="light"] .vi-cvss.low{
  background:#64748b !important;color:#ffffff !important;border:none !important}
:root[data-theme="light"] .vi-kev{background:#b91c1c !important;color:#ffffff !important;font-weight:800}
:root[data-theme="light"] .vi-source-tag{font-weight:800 !important;padding:3px 9px !important;border:none !important}
:root[data-theme="light"] .vi-source-tag.kev{background:#dc2626 !important;color:#fff !important}
:root[data-theme="light"] .vi-source-tag.nvd{background:#1d4ed8 !important;color:#fff !important}
:root[data-theme="light"] .vi-source-tag.ghsa{background:#7c3aed !important;color:#fff !important}
:root[data-theme="light"] .vi-source-tag.circl{background:#15803d !important;color:#fff !important}
:root[data-theme="light"] .vi-source-tag.cveorg{background:#c2410c !important;color:#fff !important}
:root[data-theme="light"] .vi-source-tag.splunk{background:#b45309 !important;color:#fff !important}
:root[data-theme="light"] .vi-modal-body{background:#ffffff !important;color:#000000 !important}
:root[data-theme="light"] .vi-modal-body *{color:#1b2a41}
:root[data-theme="light"] .dash-poc-box,
:root[data-theme="light"] .vi-poc-box,
:root[data-theme="light"] [class*="poc-box"]{background:#f5f5f5 !important;border-left:3px solid #7c3aed !important;
  color:#1b2a41 !important}
:root[data-theme="light"] .dash-poc-box *,
:root[data-theme="light"] .vi-poc-box *{color:#1b2a41 !important}
:root[data-theme="light"] .dash-poc-box a,
:root[data-theme="light"] .vi-poc-box a{color:#1d4ed8 !important;font-weight:700}
:root[data-theme="light"] .cve-row{
  background:#ffffff !important;border-left:3px solid #dc2626 !important;
  border:1px solid #e2e6f0;border-left:3px solid #dc2626 !important;
  box-shadow:0 1px 4px rgba(15,23,42,.06)}
:root[data-theme="light"] .cve-id{color:#dc2626 !important;font-weight:800}
:root[data-theme="light"] .cve-meta{color:#1a1a1a !important;font-weight:600}
:root[data-theme="light"] .cve-sum{color:#1b2a41 !important}
:root[data-theme="light"] .cve-row *{color:#1b2a41}
:root[data-theme="light"] .vi-chart-card{
  background:#ffffff !important;border:1.5px solid #c9ccd2 !important;border-radius:12px;
  box-shadow:0 2px 10px rgba(15,23,42,.07) !important}
:root[data-theme="light"] .vi-chart-title{color:#1b2a41 !important;font-weight:800}
:root[data-theme="light"] .vi-bignum{
  background:#f5f5f5 !important;border-left:4px solid #243e63 !important;border-radius:10px;
  box-shadow:0 2px 8px rgba(15,23,42,.06) !important;transform:none !important}
:root[data-theme="light"] .vi-bignum:hover{
  transform:translateY(-2px) !important;box-shadow:0 8px 18px rgba(36,62,99,.14) !important}
:root[data-theme="light"] .vi-bignum-l{color:#1a1a1a !important;font-weight:800}
:root[data-theme="light"] .sev-bar-label{color:#000000 !important;font-weight:800;width:100px}
:root[data-theme="light"] .sev-bar-track{
  background:#e7eaf2 !important;border:1px solid #c9ccd2 !important;height:16px}
:root[data-theme="light"] .sev-bar-val{color:#000000 !important;font-weight:800}
:root[data-theme="light"] .vi-bignum-v[style*="#00e5ff"],
:root[data-theme="light"] .vi-bignum-v[style*="#00ffc8"]{color:#0a6ed1 !important}
:root[data-theme="light"] .vi-bignum-v[style*="#ff3b3b"]{color:#dc2626 !important}
:root[data-theme="light"] .vi-bignum-v[style*="#ff8c00"]{color:#c2410c !important}
:root[data-theme="light"] .vi-bignum-v[style*="#ffd700"],
:root[data-theme="light"] .vi-bignum-v[style*="#aa00ff"]{color:#7c3aed !important}
:root[data-theme="light"] .auth-wrap{background:transparent !important}
:root[data-theme="light"] .auth-box{
  background:rgba(255,255,255,.9) !important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1.5px solid #c3cad9 !important;border-radius:16px;
  box-shadow:0 12px 40px rgba(15,23,42,.18) !important;padding:46px 42px}
:root[data-theme="light"] .auth-logo{color:#243e63 !important;font-weight:800}
:root[data-theme="light"] .auth-sub{color:#000000 !important;font-weight:700;letter-spacing:.18em}
:root[data-theme="light"] .auth-line{background:#243e63 !important}
:root[data-theme="light"] .field label{color:#000000 !important;font-weight:800}
:root[data-theme="light"] .auth-box input[type=text],
:root[data-theme="light"] .auth-box input[type=password],
:root[data-theme="light"] .auth-box input[type=email],
:root[data-theme="light"] .field input{background:#f5f5f5 !important;border:1.5px solid #c3cad9 !important;color:#000000 !important;
  font-weight:600;border-radius:8px;padding:12px 14px}
:root[data-theme="light"] .field input:focus{border-color:#243e63 !important}
:root[data-theme="light"] .btn-red,
:root[data-theme="light"] .btn-full{background:#243e63 !important;color:#ffffff !important;border:none !important;
  font-weight:800 !important;border-radius:8px;
  box-shadow:0 4px 14px rgba(36,62,99,.3) !important}
:root[data-theme="light"] .btn-red:hover,
:root[data-theme="light"] .btn-full:hover{background:#3730a3 !important}
:root[data-theme="light"] .auth-box a{color:#243e63 !important;font-weight:800}
:root[data-theme="light"] .alert-err{
  background:#fee2e2 !important;color:#b91c1c !important;border:1.5px solid #fca5a5 !important;
  font-weight:700}
:root[data-theme="light"] .target-card{
  background:#ffffff !important;border:1.5px solid #c9ccd2 !important;border-radius:10px;
  box-shadow:0 2px 8px rgba(15,23,42,.06)}
:root[data-theme="light"] .target-card:hover{border-color:#243e63 !important}
:root[data-theme="light"] .target-header{background:#f0f2f8 !important;border-radius:10px 10px 0 0}
:root[data-theme="light"] .target-domain{color:#000000 !important;font-weight:800}
:root[data-theme="light"] .target-header:hover .target-domain{color:#243e63 !important}
:root[data-theme="light"] .target-scanned{color:#1a1a1a !important;font-weight:700}
:root[data-theme="light"] .target-chevron{color:#243e63 !important}
:root[data-theme="light"] .target-body{border-top:1.5px solid #e2e6f0 !important}
:root[data-theme="light"] .panel{
  background:#ffffff !important;border:1.5px solid #c9ccd2 !important;border-radius:10px;
  box-shadow:0 2px 8px rgba(15,23,42,.05)}
:root[data-theme="light"] .panel-head{
  background:#ededed !important;border-bottom:1.5px solid #c9ccd2 !important}
:root[data-theme="light"] .panel-label{font-weight:800 !important;color:#1b2a41}
:root[data-theme="light"] .panel-body{color:#000000}
:root[data-theme="light"] .stat-pill{
  background:#f0f2f8 !important;border:1.5px solid #c9ccd2 !important}
:root[data-theme="light"] .stat-pill .sv{color:#000000;font-weight:800}
:root[data-theme="light"] .stat-pill .sl{color:#1a1a1a !important;font-weight:700}
:root[data-theme="light"] .tgt-row{background:#ffffff !important;border-bottom:1px solid #e2e6f0 !important}
:root[data-theme="light"] .tgt-row:hover{background:#f0f2f8 !important}
:root[data-theme="light"] .tgt-domain{color:#000000 !important;font-weight:700}
:root[data-theme="light"] .target-body [style*="background:rgba(0,0,0"],
:root[data-theme="light"] .target-body [style*="background:#0"],
:root[data-theme="light"] .panel-body [style*="background:rgba(0,0,0"],
:root[data-theme="light"] .panel-body [style*="background:#0"]{
  background:#f5f5f5 !important;border-color:#c9ccd2 !important}
:root[data-theme="light"] .panel-label[style*="color:var(--acc-text)"],
:root[data-theme="light"] .panel-label[style*="color:#00e5ff"]{color:#0a6ed1 !important}
:root[data-theme="light"] .panel-label[style*="color:var(--green)"],
:root[data-theme="light"] .panel-label[style*="color:#00ff88"]{color:#15803d !important}
:root[data-theme="light"] [style*="color:#00e5ff"]{color:#0a6ed1 !important}
:root[data-theme="light"] [style*="color:#00ff88"]{color:#15803d !important}
:root[data-theme="light"] [style*="color:#00b8cc"]{color:#0a6ed1 !important}
:root[data-theme="light"] [style*="color:#cc66ff"],
:root[data-theme="light"] [style*="color:#a855f7"]{color:#7c3aed !important}
:root[data-theme="light"] [style*="color:#5dffff"]{color:#0a6ed1 !important}
:root[data-theme="light"] [style*="color:#38bdf8"]{color:#1d4ed8 !important}
:root[data-theme="light"] .sub-card{
  background:#ffffff !important;border:1.5px solid #c9ccd2 !important;
  border-left:4px solid #243e63 !important;border-radius:10px;
  box-shadow:0 2px 8px rgba(15,23,42,.06) !important;
  transform:none !important}
:root[data-theme="light"] .sub-card:hover{
  transform:translateY(-2px) !important;border-left-color:#243e63 !important;
  box-shadow:0 8px 20px rgba(36,62,99,.14) !important}
:root[data-theme="light"] .sub-host{color:#000000 !important;font-weight:800}
:root[data-theme="light"] .hdr-row{border-bottom:1px solid #e2e6f0 !important}
:root[data-theme="light"] .hdr-name{color:#000000 !important;font-weight:700}
:root[data-theme="light"] .hdr-val{color:#1a1a1a !important}
:root[data-theme="light"] .hdr-ok{color:#15803d !important}
:root[data-theme="light"] .hdr-bad{color:#dc2626 !important}
:root[data-theme="light"] .hdr-warn{color:#b45309 !important}
:root[data-theme="light"] .sub-host span[style*="background"]{
  color:#ffffff !important}
:root[data-theme="light"] .sub-host span[style*="rgba(0,255"],
:root[data-theme="light"] .sub-host span[style*="#00ff88"]{background:#15803d !important;border-color:#15803d !important}
:root[data-theme="light"] .sub-host span[style*="rgba(0,229"],
:root[data-theme="light"] .sub-host span[style*="#00e5ff"]{background:#0a6ed1 !important;border-color:#0a6ed1 !important}
:root[data-theme="light"] [style*="linear-gradient(135deg,rgba(10,10,26"],
:root[data-theme="light"] [style*="linear-gradient(135deg,rgba(10,10,2"],
:root[data-theme="light"] [style*="linear-gradient(150deg,rgba(20,20,40"],
:root[data-theme="light"] [style*="linear-gradient(150deg,rgba(18,18,34"],
:root[data-theme="light"] [style*="linear-gradient(145deg,rgba(20,20,40"],
:root[data-theme="light"] [style*="rgba(10,10,26"],
:root[data-theme="light"] [style*="rgba(20,20,40"],
:root[data-theme="light"] [style*="rgba(26,10,42"],
:root[data-theme="light"] [style*="rgba(10,13,24"],
:root[data-theme="light"] [style*="background:#0a0a1a"],
:root[data-theme="light"] [style*="background:#0a0a1e"],
:root[data-theme="light"] [style*="background:#070712"],
:root[data-theme="light"] [style*="background:#04040e"],
:root[data-theme="light"] [style*="background:#010108"]{
  background:#ffffff !important;border-color:#c9ccd2 !important}
:root[data-theme="light"] .fc3d,
:root[data-theme="light"] .fpanel,
:root[data-theme="light"] .stat-card,
:root[data-theme="light"] .card,
:root[data-theme="light"] .metric-card,
:root[data-theme="light"] .info-card,
:root[data-theme="light"] .report-card,
:root[data-theme="light"] .vi-bignum,
:root[data-theme="light"] .vi-chart-card,
:root[data-theme="light"] .sub-card,
:root[data-theme="light"] .d3card,
:root[data-theme="light"] .panel{
  background:#ffffff !important;
  border:1.5px solid #c9ccd2 !important;border-radius:12px;
  box-shadow:0 2px 10px rgba(15,23,42,.07) !important;
  transform:none !important}
:root[data-theme="light"] .fpanel{background:#ffffff !important}
:root[data-theme="light"] .fc3d:hover,
:root[data-theme="light"] .d3card:hover,
:root[data-theme="light"] .sub-card:hover,
:root[data-theme="light"] .vi-bignum:hover{
  transform:translateY(-3px) !important;border-color:#243e63 !important;
  box-shadow:0 10px 24px rgba(36,62,99,.15) !important}
:root[data-theme="light"] .fc3d .v{color:#1b2a41 !important}
:root[data-theme="light"] .fc3d .l{color:#1a1a1a !important;font-weight:700}
:root[data-theme="light"] .fpage{background:#f5f5f5}
:root[data-theme="light"] .fhead{color:#1b2a41 !important;font-weight:800}
:root[data-theme="light"] .fsub{color:#1a1a1a !important}
:root[data-theme="light"] .integ-group{background:transparent}
:root[data-theme="light"] .integ-card{
  background:#ffffff !important;border:1.5px solid #c9ccd2 !important;border-radius:10px;
  box-shadow:0 2px 8px rgba(15,23,42,.06)}
:root[data-theme="light"] .integ-card .ic-name{color:#1b2a41 !important;font-weight:800}
:root[data-theme="light"] .fform-row label{color:#1a1a1a !important;font-weight:700}
:root[data-theme="light"] .fform-row input,
:root[data-theme="light"] .fform-row select{background:#f5f5f5 !important;border:1.5px solid #c3cad9 !important;color:#000000 !important;
  font-weight:600}
:root[data-theme="light"] .fform-row input:focus{border-color:#243e63 !important}
:root[data-theme="light"] .fbtn{
  border:1.5px solid var(--acc) !important;color:#141410 !important;background:#ffffff !important;font-weight:800}
:root[data-theme="light"] .fbtn:hover{background:var(--acc) !important;color:#141410 !important}
:root[data-theme="light"] .fbtn.green{border-color:#15803d !important;color:#15803d !important}
:root[data-theme="light"] .fbtn.red{border-color:#dc2626 !important;color:#dc2626 !important}
:root[data-theme="light"] .fpanel h3{color:#243e63 !important;font-weight:800}
:root[data-theme="light"] [style*="color:#00e5ff"],
:root[data-theme="light"] [style*="color:#00b8cc"],
:root[data-theme="light"] [style*="color:#5dffff"],
:root[data-theme="light"] [style*="color:#8af"],
:root[data-theme="light"] [style*="color:#00ffc8"]{color:#0a6ed1 !important}
:root[data-theme="light"] [style*="color:#00ff88"],
:root[data-theme="light"] [style*="color:#00cc66"]{color:#15803d !important}
:root[data-theme="light"] [style*="color:#cc66ff"],
:root[data-theme="light"] [style*="color:#a855f7"],
:root[data-theme="light"] [style*="color:#9b6bff"],
:root[data-theme="light"] [style*="color:#aa00ff"]{color:#7c3aed !important}
:root[data-theme="light"] [style*="color:#ff3b3b"],
:root[data-theme="light"] [style*="color:#ff2244"]{color:#dc2626 !important}
:root[data-theme="light"] [style*="color:#ff8c00"],
:root[data-theme="light"] [style*="color:#ff6b00"]{color:#c2410c !important}
:root[data-theme="light"] [style*="color:#38bdf8"]{color:#1d4ed8 !important}
:root[data-theme="light"] tbody tr{background:#ffffff}
:root[data-theme="light"] tbody tr:nth-child(even){background:#faf9f4}
:root[data-theme="light"] [style*="color:#243e63"],
:root[data-theme="light"] [style*="color:#3730a3"],
:root[data-theme="light"] [style*="color:#4f46e5"],
:root[data-theme="light"] [style*="color:#6366f1"]{color:#141414 !important}
:root[data-theme="light"] [style*="background:#243e63"],
:root[data-theme="light"] [style*="background:#3730a3"],
:root[data-theme="light"] [style*="rgba(67,56,202"]{background:rgba(255,212,0,.16) !important}
:root[data-theme="light"] nav{
  background:#ffffff;border-bottom:2px solid var(--border);box-shadow:0 1px 8px rgba(20,20,20,.05)}
:root[data-theme="light"] .logo{color:#141414 !important;font-weight:800;text-shadow:none !important}
:root[data-theme="light"] .logo span{color:#141414 !important}
:root[data-theme="light"] nav a{color:#3a3a3a !important;font-weight:700}
:root[data-theme="light"] nav a:hover{color:#141414 !important;background:rgba(255,212,0,.14) !important;border-color:rgba(255,212,0,.5) !important}
:root[data-theme="light"] .navlinks a.active{color:#141414 !important;
  background:rgba(255,212,0,.22) !important;
  box-shadow:inset 0 -2px 0 var(--acc) !important;border-color:rgba(255,212,0,.55) !important;text-shadow:none !important}
:root[data-theme="light"] .nav-user{color:#4b5563 !important}
:root[data-theme="light"] .nav-user::before,
:root[data-theme="light"] .nav-user::after{color:#b8860b !important}
:root[data-theme="light"] input:focus,
:root[data-theme="light"] select:focus,
:root[data-theme="light"] textarea:focus{border-color:var(--acc) !important;box-shadow:0 0 0 3px rgba(255,212,0,.30) !important;outline:none}
:root[data-theme="light"] th{background:#f5f4ef !important;color:#141414 !important;
  border-bottom:2px solid var(--border) !important}
:root[data-theme="light"] tr:hover td{background:#faf9f4 !important}
:root[data-theme="light"] .btn-red,
:root[data-theme="light"] .btn-full,
:root[data-theme="light"] .fbtn.green,
:root[data-theme="light"] .pf-btn,
:root[data-theme="light"] .qcta,
:root[data-theme="light"] .lock-btn,
:root[data-theme="light"] .ex-upg,
:root[data-theme="light"] .um-btn:not(.danger){
  background:var(--acc) !important;color:#141414 !important;border:none !important;
  font-weight:800 !important;box-shadow:0 4px 14px rgba(255,212,0,.35) !important;text-shadow:none !important}
:root[data-theme="light"] .btn-red:hover,
:root[data-theme="light"] .btn-full:hover,
:root[data-theme="light"] .fbtn.green:hover,
:root[data-theme="light"] .pf-btn:hover{background:var(--acc2) !important;filter:none !important}
:root[data-theme="light"] .fpanel h3,
:root[data-theme="light"] .ex-card h3,
:root[data-theme="light"] .card-title,
:root[data-theme="light"] .panel-title{border-left-color:var(--acc) !important}
:root[data-theme="light"] a[style*="color:var(--acc-text)"]{color:#141414 !important}
:root[data-theme="light"] .auth-logo{color:#141414 !important}
:root[data-theme="light"] .auth-line{background:var(--acc) !important}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:transparent;color:var(--text);font-family:var(--fu);font-size:18px;font-weight:500;min-height:100vh;overflow-x:hidden}
html{background:var(--bg)}
body,button,input,select,textarea,.card,.panel,.navlinks a,.btn,th,td,label{
  font-family:var(--fu);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{font-weight:500;line-height:1.6;letter-spacing:.005em}
p{line-height:1.65}
h1,.page-title{font-family:var(--fu);font-weight:800;letter-spacing:-.01em;line-height:1.22}
h2{font-family:var(--fu);font-weight:700;letter-spacing:-.004em;line-height:1.3}
h3,h4,.card-title,.panel-head{font-family:var(--fu);font-weight:600;letter-spacing:0}
.logo{font-family:var(--fu);font-weight:800;letter-spacing:.08em}
.logo span{font-weight:600}
.navlinks a{font-family:var(--fu)!important;font-weight:600;font-size:15px;letter-spacing:.015em}
.btn,button{font-weight:700;letter-spacing:.01em}
th,.tbl th,table.sf th,table.fnd th,table.um th,.ftable th{
  font-family:var(--fu)!important;font-weight:700;letter-spacing:.02em}
td{font-weight:500}
label,.badge,.plan-badge,.stat-label,.b-pill,.pill{font-weight:600;letter-spacing:.015em}
strong,b{font-weight:700}
.muted,.dim,small{font-weight:500}
code,.mono,.cve-id,.vi-cve-id,.ip,.ipaddr,.nav-user,#sb-time,.statusbar-item{font-family:var(--ft)}
.easm-3d{font-family:var(--fb)!important}
nav,.wrap,main,.content,.fpage,.auth-wrap{position:relative;z-index:1}
html::after{content:none}
nav{display:flex;justify-content:space-between;align-items:center;padding:0 28px;
  height:52px;background:rgba(11,11,13,.97);
  border-bottom:1px solid rgba(255,212,0,.22);
  position:sticky;top:0;z-index:200;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.logo{font-family:var(--fo);font-size:15px;color:var(--acc-text);letter-spacing:.2em;
  text-shadow:var(--glow-acc)}
.logo span{color:var(--white);font-size:15px}
.nav-user{font-family:var(--fm);font-size:13px;color:var(--text);
  display:flex;align-items:center;gap:4px}
.nav-user::before{content:'[';color:var(--acc-text)}.nav-user::after{content:']';color:var(--acc-text)}
.navlinks{display:flex;gap:6px;align-items:center}
.navlinks a{font-family:var(--fm);font-size:13px;color:var(--text);text-decoration:none;
  letter-spacing:.12em;padding:5px 12px;border:1px solid transparent;
  border-radius:2px;transition:all .2s}
.navlinks a:hover{color:var(--acc-text);border-color:rgba(255,212,0,.28);background:rgba(255,212,0,.06)}
.navlinks a.active{color:var(--acc-text);border-color:rgba(255,212,0,.4);
  background:rgba(255,212,0,.08);text-shadow:var(--glow-acc)}
.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:var(--glow-green);animation:pulse 2s infinite;margin-right:8px}
.wrap{max-width:var(--page-w,1480px);margin:0 auto;padding:24px;box-sizing:border-box}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:transparent}
.auth-box{background:rgba(6,8,20,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(0,229,255,.35);border-radius:14px;
  padding:44px 40px;width:100%;max-width:420px;
  box-shadow:0 0 60px rgba(0,229,255,.06),inset 0 0 60px rgba(0,0,0,.5)}
.auth-logo{font-family:var(--fo);font-size:32px;color:var(--acc-text);text-align:center;
  letter-spacing:.2em;margin-bottom:4px;text-shadow:var(--glow-acc)}
.auth-sub{font-family:var(--fm);font-size:13px;color:var(--text);text-align:center;
  letter-spacing:.22em;margin-bottom:32px;text-transform:uppercase}
.auth-line{width:40px;height:1px;background:var(--acc);margin:0 auto 28px;
  box-shadow:var(--glow-acc)}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--fm);font-size:13px;color:var(--text);
  margin-bottom:6px;text-transform:uppercase;letter-spacing:.12em}
input[type=text],input[type=password],input[type=email]{
  width:100%;padding:10px 14px;background:rgba(0,0,0,.4);
  border:1px solid var(--border2);color:var(--white);
  font-family:var(--fm);font-size:15px;border-radius:2px;outline:none;
  transition:border .15s,box-shadow .15s}
input:focus{border-color:rgba(0,229,255,.45);box-shadow:0 0 10px rgba(0,229,255,.1)}
.auth-box input[type=text],.auth-box input[type=password],.auth-box input[type=email],
.field input{
  background:#ffffff !important;color:#0d1426 !important;border:1.5px solid #c3cad9 !important}
.auth-box input::placeholder,.field input::placeholder{color:#94a3b8 !important}
.auth-box input:focus,.field input:focus{border-color:#00b8cc !important;
  box-shadow:0 0 0 3px rgba(0,229,255,.15) !important}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active{
  -webkit-text-fill-color:var(--white) !important;
  -webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.4) inset !important;
  transition:background-color 9999s ease-in-out 0s !important;
  caret-color:var(--white)}
:root[data-theme="light"] input:-webkit-autofill,
:root[data-theme="light"] input:-webkit-autofill:hover,
:root[data-theme="light"] input:-webkit-autofill:focus{
  -webkit-text-fill-color:#000000 !important;
  -webkit-box-shadow:0 0 0 1000px #f5f5f5 inset !important;
  caret-color:#000000}
.auth-box input:-webkit-autofill,.field input:-webkit-autofill,
.auth-box input:-webkit-autofill:hover,.field input:-webkit-autofill:hover,
.auth-box input:-webkit-autofill:focus,.field input:-webkit-autofill:focus{
  -webkit-text-fill-color:#0d1426 !important;
  -webkit-box-shadow:0 0 0 1000px #ffffff inset !important;
  caret-color:#0d1426 !important}
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;
  font-family:var(--fu);font-weight:700;font-size:15px;border:none;border-radius:2px;
  cursor:pointer;letter-spacing:.04em;transition:all .18s;text-decoration:none;white-space:nowrap}
.btn-red{background:var(--red);color:#fff;box-shadow:0 0 14px rgba(255,34,68,.25)}
.btn-red:hover{background:#ff4466;box-shadow:0 0 22px rgba(255,34,68,.4)}
.btn-green{background:rgba(0,255,136,.1);color:var(--green);border:1px solid rgba(0,255,136,.4)}
.btn-green:hover{background:rgba(0,255,136,.2);box-shadow:var(--glow-green)}
.btn-yellow{background:rgba(255,215,0,.08);color:var(--yellow);border:1px solid rgba(255,215,0,.3)}
.btn-yellow:hover{background:rgba(255,215,0,.15)}
.btn-blue{background:rgba(56,189,248,.08);color:var(--blue);border:1px solid rgba(56,189,248,.3)}
.btn-blue:hover{background:rgba(56,189,248,.15)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border2)}
.btn-ghost:hover{border-color:rgba(255,34,68,.4);color:var(--red)}
.btn-danger{background:rgba(255,34,68,.1);color:var(--red);border:1px solid rgba(255,34,68,.3)}
.btn-danger:hover{background:rgba(255,34,68,.25)}
.btn-full{width:100%;justify-content:center}
.btn-sm{padding:7px 15px;font-size:15px}
.btn-xs{padding:5px 12px;font-size:15px;letter-spacing:.02em}
.btn:disabled{opacity:.35;cursor:not-allowed}
.alert{padding:12px 18px;margin-bottom:16px;font-family:var(--fm);font-size:15px;border-radius:2px}
.alert-err{background:rgba(255,34,68,.07);border:1px solid rgba(255,34,68,.4);color:var(--red)}
.alert-ok{background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.3);color:var(--green)}
.alert-warn{background:rgba(255,215,0,.06);border:1px solid rgba(255,215,0,.3);color:var(--yellow)}
.ph{display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:20px;padding-bottom:10px;
  border-bottom:none;flex-wrap:wrap;gap:10px}
.ph-title{font-family:var(--fo);font-size:26px;font-weight:800;color:var(--acc-text);letter-spacing:.1em;
  text-shadow:var(--glow-acc)}
.ph-sub{font-family:var(--fm);font-size:15px;color:var(--text);margin-top:6px;
  letter-spacing:.08em;text-transform:uppercase}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:22px}
.metric{background:var(--bg2);border:1px solid var(--border);border-radius:3px;padding:14px 16px;
  position:relative;overflow:hidden;transition:border-color .2s}
.metric::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.metric:hover{border-color:var(--border2)}
.metric.c-red::before{background:var(--red);box-shadow:0 0 10px var(--red)}
.metric.c-green::before{background:var(--green);box-shadow:0 0 10px var(--green)}
.metric.c-yellow::before{background:var(--yellow)}
.metric.c-blue::before{background:var(--blue)}
.metric.c-purple::before{background:var(--purple)}
.metric.c-orange::before{background:var(--orange)}
.mv{font-family:var(--fo);font-size:26px;font-weight:700;color:var(--white);line-height:1;
  margin-top:4px}
.ml{font-family:var(--fm);font-size:13px;color:var(--text);text-transform:uppercase;
  letter-spacing:.14em;margin-top:6px}
.card{background:var(--bg2);border:1px solid var(--border);border-radius:3px;
  padding:18px 20px;margin-bottom:14px}
.card-title{font-family:var(--fm);font-size:15px;color:var(--acc-text);letter-spacing:.1em;
  margin-bottom:14px;display:flex;align-items:center;gap:8px;text-transform:uppercase}
.card-title::before{content:"";width:2px;height:12px;background:var(--acc);
  border-radius:1px;display:inline-block;flex-shrink:0;box-shadow:0 0 8px var(--red)}
.target-card{background:var(--bg2);border:1px solid var(--border2);border-radius:3px;
  margin-bottom:8px;overflow:hidden;transition:border-color .2s}
.target-card:hover{border-color:rgba(255,34,68,.3)}
.target-header{display:flex;align-items:center;gap:12px;padding:14px 18px;
  cursor:pointer;-webkit-user-select:none;user-select:none}
.target-header:hover .target-domain{color:var(--red)}
.target-domain{font-family:var(--fo);font-size:18px;font-weight:800;color:var(--white);
  letter-spacing:.04em;flex:1;transition:color .15s}
.target-scanned{font-family:var(--fm);font-size:15px;color:var(--white)}
.target-chevron{font-family:var(--fm);font-size:15px;color:var(--text);
  transition:transform .2s;flex-shrink:0}
.target-chevron.open{transform:rotate(90deg);color:var(--red)}
.target-body{display:none;padding:0 18px 14px;border-top:1px solid var(--border)}
.target-body.open{display:block}
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{text-align:left;font-family:var(--fm);font-size:13px;color:var(--text);
  text-transform:uppercase;letter-spacing:.12em;padding:5px 8px;
  border-bottom:1px solid var(--border)}
.tbl td{padding:7px 8px;border-bottom:1px solid rgba(22,22,42,.8);
  font-family:var(--fm);font-size:13px;color:var(--text);vertical-align:top}
.tbl tr:hover td{background:rgba(255,34,68,.025)}
.g{display:inline-block;width:28px;text-align:center;font-family:var(--fm);
  font-size:13px;font-weight:700;padding:2px 0;border-radius:2px}
.g-A{background:rgba(0,255,136,.08);color:var(--green);border:1px solid rgba(0,255,136,.4)}
.g-Ap{background:rgba(0,255,170,.1);color:#00ffaa;border:1px solid rgba(0,255,170,.4)}
.g-B{background:rgba(212,160,0,.08);color:#d4a000;border:1px solid rgba(212,160,0,.4)}
.g-C{background:rgba(255,215,0,.07);color:var(--yellow);border:1px solid rgba(255,215,0,.35)}
.g-D{background:rgba(255,119,51,.08);color:#ff7733;border:1px solid rgba(255,119,51,.4)}
.g-F{background:rgba(255,34,68,.08);color:var(--red);border:1px solid rgba(255,34,68,.4)}
.g-NA{background:rgba(60,60,85,.2);color:var(--text);border:1px solid var(--border)}
.sev{display:inline-block;font-family:var(--fm);font-size:13px;font-weight:700;
  padding:1px 6px;border-radius:2px;letter-spacing:.05em}
.sev-HIGH{background:rgba(255,34,68,.1);color:var(--red);border:1px solid rgba(255,34,68,.3)}
.sev-MEDIUM{background:rgba(255,215,0,.07);color:var(--yellow);border:1px solid rgba(255,215,0,.25)}
.sev-LOW{background:rgba(56,189,248,.07);color:var(--blue);border:1px solid rgba(56,189,248,.25)}
.sev-INFO{background:rgba(167,139,250,.07);color:var(--purple);border:1px solid rgba(167,139,250,.25)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}
.d-green{background:var(--green);box-shadow:0 0 8px var(--green)}
.d-red{background:var(--red);box-shadow:0 0 8px var(--red)}
.d-yellow{background:var(--yellow);box-shadow:0 0 6px var(--yellow)}
.d-grey{background:var(--muted)}
.svc{display:flex;align-items:center;gap:12px;padding:8px 0;
  border-bottom:1px solid var(--border);font-family:var(--fm);font-size:13px}
.svc:last-child{border-bottom:none}
.svc-name{color:var(--white);font-size:13px;width:180px;flex-shrink:0}
.svc-status{color:var(--white);flex:1;font-size:15px}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px;
  overflow-x:auto}
.tab{padding:8px 16px;font-family:var(--fm);font-size:15px;color:var(--text);
  cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;
  margin-bottom:-1px;letter-spacing:.08em;transition:all .15s;white-space:nowrap}
.tab:hover{color:var(--white)}
.tab.on{color:var(--acc-text);border-bottom-color:var(--acc)}
.tc{display:none}.tc.on{display:block}
.stop-row{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--border)}
.stop-row[hidden]{display:none !important}
.btn-stop{height:34px;background:transparent;color:var(--red);
  border:1px solid var(--red);border-radius:7px;padding:0 15px;cursor:pointer;
  font-family:var(--fm);font-size:12px;font-weight:700;letter-spacing:.07em;
  transition:background .14s,color .14s}
.btn-stop:hover{background:var(--red);color:#fff}
.stop-note{font-family:var(--fm);font-size:12px;color:var(--muted)}
.stop-note b{color:var(--text)}
.stop-lbl{font-family:var(--fm);font-size:12px;color:var(--muted);
  letter-spacing:.06em;text-transform:uppercase}
.stop-sel{height:34px;min-width:200px;max-width:100%;padding:0 10px;border-radius:7px;
  border:1px solid var(--border2);background:var(--bg4);color:var(--text);
  font-family:var(--fm);font-size:12px;cursor:pointer}
.stop-sel:hover,.stop-sel:focus{border-color:var(--red);outline:none}
.stop-sel[data-single]{pointer-events:none;opacity:.85;border-style:dashed}
.scan-box{background:rgba(0,229,255,.02);border:1px solid rgba(0,229,255,.2);border-radius:3px;
  padding:20px;margin-bottom:18px;box-shadow:0 0 30px rgba(0,229,255,.04)}
.cve-row{background:rgba(13,13,26,.8);border-left:3px solid var(--red);
  padding:9px 14px;margin:5px 0;border-radius:4px}
.cve-id{color:var(--red);font-family:var(--ft);font-size:15px;font-weight:800}
.cve-meta{color:var(--text);font-family:var(--ft);font-size:15px;margin-top:3px}
.cve-sum{color:var(--white);font-family:var(--ft);font-size:15px;margin-top:4px;line-height:1.55}
.port{display:inline-block;background:rgba(10,20,35,.8);color:var(--blue);
  border:1px solid rgba(56,189,248,.25);font-family:var(--fm);font-size:13px;
  padding:1px 7px;border-radius:2px;margin:1px}
.sub-card{background:linear-gradient(150deg,rgba(18,18,34,.7),rgba(10,10,20,.85));
  border:1px solid var(--border);border-left:3px solid rgba(0,229,255,.4);border-radius:8px;
  padding:13px 16px;margin-bottom:10px;
  box-shadow:0 5px 0 -2px rgba(0,0,0,.4),0 10px 26px rgba(0,0,0,.4),
             inset 0 1px 0 rgba(255,255,255,.04);
  transform:perspective(900px) rotateX(2deg);transform-style:preserve-3d;
  transition:transform .25s cubic-bezier(.2,.8,.3,1.15),box-shadow .25s,border-color .25s}
.sub-card:hover{transform:perspective(900px) rotateX(0deg) translateY(-5px) scale(1.008);
  border-left-color:#00e5ff;
  box-shadow:0 9px 0 -2px rgba(0,0,0,.4),0 22px 44px rgba(0,229,255,.18),
             inset 0 1px 0 rgba(255,255,255,.07)}
.sub-host{font-family:var(--fm);font-size:13px;color:var(--white);margin-bottom:8px;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sub-host-name{font-family:var(--fm);font-size:13px;color:var(--blue);text-decoration:none;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;vertical-align:bottom}
.sub-host-name:hover{color:#fff;text-decoration:underline}
.sub-host-drill{font-family:var(--fm);font-size:11px;color:var(--muted);text-decoration:none;
  margin-left:auto;padding:2px 7px;border-radius:3px;border:1px solid var(--edge)}
.sub-host-drill:hover{color:var(--acc-text);border-color:var(--acc)}
.sub-shot-btn{font-family:var(--fm);font-size:11px;font-weight:700;letter-spacing:.04em;
  color:#00e5ff;cursor:pointer;padding:2px 8px;border-radius:3px;
  background:rgba(0,229,255,.08);border:1px solid rgba(0,229,255,.3)}
.sub-shot-btn:hover{background:rgba(0,229,255,.18)}
.hdr-row{display:flex;align-items:flex-start;gap:8px;padding:5px 0;
  border-bottom:1px solid rgba(22,22,42,.6);font-family:var(--fm);font-size:13px}
.hdr-row:last-child{border-bottom:none}
.hdr-name{width:220px;flex-shrink:0;color:var(--white);font-size:15px}
.hdr-val{flex:1;color:var(--text);word-break:break-all;font-size:13px}
.hdr-ok{color:var(--green)}.hdr-bad{color:var(--red)}.hdr-warn{color:var(--yellow)}
.issue{font-family:var(--fm);font-size:15px;padding:2px 0;
  display:flex;gap:7px;align-items:flex-start;line-height:1.5}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:760px){.g2,.g3{grid-template-columns:1fr}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes dashPopIn{from{opacity:0;transform:translateX(40px) scale(.9)}to{opacity:1;transform:none}}
@keyframes blink{0%,100%{opacity:1}49%{opacity:1}50%{opacity:0}}
@keyframes scanin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pulsing{animation:pulse 1.8s ease-in-out infinite}
.blink{animation:blink 1s step-end infinite}
.fade-in{animation:scanin .3s ease}
body{font-size:13px !important;line-height:1.55 !important}
:root[data-theme="light"] body{font-size:13px !important}
h1{font-size:22px !important;font-weight:700 !important}
h2{font-size:18px !important;font-weight:600 !important}
h3{font-size:15px !important;font-weight:600 !important}
h4{font-size:14px !important;font-weight:600 !important}
.logo{font-size:15px !important;letter-spacing:.12em}
.navlinks a{font-size:12px !important;padding:8px 12px !important;letter-spacing:.06em}
.fhead,:root[data-theme="light"] .fhead{font-size:var(--font-h1,22px) !important;font-weight:700 !important}
.fsub,:root[data-theme="light"] .fsub{font-size:var(--font-small,11px) !important}
.stat-num,:root[data-theme="light"] .stat-num{font-size:24px !important;font-weight:700 !important}
.stat-label,:root[data-theme="light"] .stat-label{font-size:11px !important;text-transform:uppercase;letter-spacing:.06em}
.panel-title,.target-name{font-size:15px !important;font-weight:600 !important}
.card-title{font-size:14px !important;font-weight:600 !important}
.d3card-v,:root[data-theme="light"] .d3card-v{font-size:24px !important;font-weight:700 !important}
.d3card-l,:root[data-theme="light"] .d3card-l{font-size:11px !important;text-transform:uppercase;letter-spacing:.06em}
.d3card-s,:root[data-theme="light"] .d3card-s{font-size:12px !important}
.fc3d .v,:root[data-theme="light"] .fc3d .v{font-size:24px !important;font-weight:700 !important}
.fc3d .l,:root[data-theme="light"] .fc3d .l{font-size:11px !important;text-transform:uppercase;letter-spacing:.06em}
.sf-grade{font-size:26px !important;font-weight:800 !important}
.fnd-metric .v{font-size:24px !important;font-weight:700 !important}
.fnd-metric .l{font-size:11px !important;text-transform:uppercase;letter-spacing:.05em}
th,td,:root[data-theme="light"] th,:root[data-theme="light"] td{font-size:12px !important}
table th,th{font-size:11px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
.btn,.fbtn,:root[data-theme="light"] .btn{font-size:12px !important;letter-spacing:.04em}
input,select,textarea{font-size:13px !important}
.ex-kpi .v{font-size:24px !important;font-weight:700 !important}
.ex-kpi .l{font-size:11px !important;text-transform:uppercase;letter-spacing:.05em}
.ex-kpi .sub{font-size:11px !important}
.ex-card h3{font-size:15px !important;font-weight:600 !important}
.ex-card .cap{font-size:13px !important}
.ex-bar .nm{font-size:13px !important}
.pf-card h3{font-size:15px !important;font-weight:600 !important}
.pf-card p.sub{font-size:13px !important}
.tag,.vi-sev,.rw-sev,.fnd-sev{font-size:10px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
.role-badge{font-size:10px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
.hud-title{font-size:clamp(24px,3.4vw,34px) !important}
.hud-sub{font-size:14px !important}
.hud-boot{font-size:12px !important}
.hud-btn,.hud-ghost{font-size:13px !important;padding:12px 26px !important}
.hud-panel{font-size:12px !important}
.hud-item{font-size:12px !important}
/* Technical values → monospace (IPs, CVEs, hashes, payloads, ports) */
.mono,.ip,.cve,.hash,.payload,code,kbd,samp,.vi-cve-id,.rw-h,.sub-host,
td.tech,.tech-val,.ioc,.token-val{font-family:var(--ft) !important}
/* Tables / logs / code density */
.ftable,.ftable td,.rw-tbl td,.um td,.vi-desc,.feed-item,.cnt-row,
.hist-tbl td,table.sf td,.log-row,.logline{font-size:12px !important}
.ftable th,.rw-tbl th,.um th,.hist-tbl th,table.sf th{font-size:11px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
nav{
  border:1px solid color-mix(in srgb,var(--acc) 34%,transparent) !important;
  box-shadow:0 14px 40px -18px rgba(255,212,0,.55),
             inset 0 1px 0 color-mix(in srgb,var(--acc) 38%,transparent) !important;
}
.logo{color:var(--acc-text) !important;
  text-shadow:0 0 22px color-mix(in srgb,var(--acc) 55%,transparent)}
.navlinks a.active{
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--acc) 26%,transparent),
    color-mix(in srgb,var(--acc) 12%,transparent)) !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 60%,transparent),
             0 0 26px -6px var(--acc) !important;
}
.card,.fpanel,.panel,.d3card,.fc3d,.ex-card,.ex-kpi,.ex-hero,.quote,.sub-card,.pf-card{
  border-color:rgba(255,212,0,0.26);border-color:color-mix(in srgb,var(--acc) 26%,transparent) !important;
  box-shadow:0 18px 50px -24px rgba(180,150,0,.55),
             inset 0 1px 0 color-mix(in srgb,var(--acc) 32%,transparent) !important;
}
.card:hover,.fpanel:hover,.ex-kpi:hover,.d3card:hover,.fc3d:hover{
  border-color:var(--acc) !important;
  box-shadow:0 26px 64px -22px rgba(255,212,0,.6),
             0 0 0 1px color-mix(in srgb,var(--acc) 45%,transparent),
             inset 0 1px 0 color-mix(in srgb,var(--acc) 55%,transparent) !important;
}
.fpanel h3,.ex-card h3,.card-title,.panel-title{
  border-left:3px solid var(--acc);padding-left:11px}
.btn-red,.fbtn.green,.pf-btn,.qcta,.lock-btn,.ex-upg,.um-btn:not(.danger){
  background:linear-gradient(180deg,var(--acc),var(--acc2)) !important;
  border:none !important;color:#141414 !important;font-weight:800 !important;
  box-shadow:0 10px 30px -10px rgba(255,212,0,.6),
             inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.btn-red:hover,.fbtn.green:hover,.pf-btn:hover,.qcta:hover,.lock-btn:hover{
  filter:brightness(1.05);
  box-shadow:0 16px 42px -10px rgba(255,212,0,.8),
             inset 0 1px 0 rgba(255,255,255,.42) !important;
}
.btn,.fbtn,.ctrl-btn{border-color:rgba(255,212,0,0.4);border-color:color-mix(in srgb,var(--acc) 40%,transparent) !important}
.btn:hover,.fbtn:hover,.ctrl-btn:hover,
.btn:active,.fbtn:active,.ctrl-btn:active,
.btn:focus,.fbtn:focus,.ctrl-btn:focus{
  border-color:var(--acc) !important;
  background:var(--acc) !important;color:#141410 !important;
  box-shadow:0 0 22px -8px var(--acc) !important}
/* Buttons that already carry a solid fill keep dark ink in every state */
.btn-red,.fbtn.green,.pf-btn,.qcta,.lock-btn,.ex-upg,.um-btn:not(.danger){
  color:#141410 !important}
.btn-red:hover,.btn-red:active,.btn-red:focus,
.fbtn.green:hover,.fbtn.green:active,.fbtn.green:focus,
.pf-btn:hover,.pf-btn:active,.pf-btn:focus,
.qcta:hover,.qcta:active,.qcta:focus,
.lock-btn:hover,.lock-btn:active,.lock-btn:focus,
.ex-upg:hover,.ex-upg:active,.ex-upg:focus{color:#141410 !important}
table th{
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--acc) 18%,transparent),
    color-mix(in srgb,var(--acc) 7%,transparent)) !important;
  color:var(--text) !important;
  border-bottom:2px solid color-mix(in srgb,var(--acc) 45%,transparent) !important}
tbody tr:hover{background:rgba(255,212,0,0.12);background:color-mix(in srgb,var(--acc) 12%,transparent) !important}
input,select,textarea{border-color:rgba(255,212,0,0.32);border-color:color-mix(in srgb,var(--acc) 32%,transparent) !important}
input:focus,select:focus,textarea:focus{
  border-color:var(--acc) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 26%,transparent),
             0 0 30px -8px var(--acc) !important}
.stat-num,.d3card-v,.ex-kpi .v,.fnd-metric .v{
  text-shadow:0 0 30px color-mix(in srgb,currentColor 55%,transparent) !important}
.fhead{
  background:linear-gradient(100deg,var(--text) 0%,var(--acc) 46%,#8c99ee 100%) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important}
.fsub{color:var(--acc-text) !important;opacity:.9}
hr{border-color:rgba(255,212,0,0.3);border-color:color-mix(in srgb,var(--acc) 30%,transparent) !important}
::selection{background:rgba(255,212,0,0.42);background:color-mix(in srgb,var(--acc) 42%,transparent);color:#fff}
/* A field is not page copy. The rule above paints selected text white on
   amber, which reads on a dark background and disappears the moment the
   field itself is light - selecting a model name made it invisible. Anything
   typed into gets its own: white behind, black in front, on every field in
   the app whatever its theme. */
input::selection, textarea::selection, select::selection,
input::-moz-selection, textarea::-moz-selection{
  background:#ffffff !important; color:#000000 !important;
  text-shadow:none !important}
.fpanel h3,.ex-card h3,.um-card b,.pf-card h3{font-size:15px !important;font-weight:600 !important}
.ftable,.ftable td,.rw-tbl td,.um td,.vi-desc,.feed-item,.cnt-row{font-size:12px !important}
.ftable th,.rw-tbl th,.um th{font-size:11px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
.rw-stat .n,.stat-pill .sv,.vi-bignum-v{font-size:24px !important;font-weight:700 !important}
.rw-stat .l,.stat-pill .sl,.vi-bignum-l,.panel-label,.tgt-domain{font-size:11px !important;text-transform:uppercase;letter-spacing:.05em}
.rw-h,.sub-host,.target-domain,.vi-cve-id{font-size:13px !important;font-family:var(--fm) !important}
.rw-sev,.vi-sev,.sev-bar-label,.sev-bar-val{font-size:10px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
.um-card,.um-card *,.pf-card,.pf-card *{font-size:inherit}
.um-add label,.pf-field label,.sf-field label{font-size:12px !important;text-transform:uppercase;letter-spacing:.04em}
.um-add input,.um-add select,.pf-input,.sf-input,
table.um input,table.um select{font-size:13px !important}
.um-btn,.pf-btn,.pf-tab{font-size:13px !important}
.pf-msg,.qnote{font-size:13px !important}
.pf-pill,.tier-pill{font-size:10px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
.pf-tabs{gap:8px !important;border-bottom:2px solid var(--border2) !important}
.pf-tab{
  font-size:14px !important; font-weight:600 !important;
  letter-spacing:.02em !important; text-transform:none !important;
  color:var(--text) !important; opacity:.72;
  padding:12px 20px !important; border-radius:12px 12px 0 0 !important;
  border:1px solid transparent !important; border-bottom:none !important;
  transition:opacity .15s, background .15s, color .15s;
}
.pf-tab:hover{opacity:1; color:var(--acc-text) !important;
  background:rgba(255,212,0,0.1);background:color-mix(in srgb,var(--acc) 10%,transparent)}
.pf-tab.active{
  opacity:1; color:var(--acc-text) !important; font-weight:800 !important;
  background:rgba(255,212,0,0.15);background:color-mix(in srgb,var(--acc) 15%,transparent);
  border-color:var(--border2) !important;
  box-shadow:inset 0 -3px 0 var(--acc);
}
.pf-card h3{font-weight:800 !important;color:var(--text) !important;
  letter-spacing:-.01em}
.pf-card p.sub{color:var(--muted) !important;font-weight:500 !important}
.pf-field label,.sf-field label{
  font-weight:700 !important;color:var(--text) !important;
  text-transform:uppercase;letter-spacing:.08em}
.fhead,.um-card>b,.fpanel h3{font-weight:800 !important}
.um th{font-weight:800 !important;color:var(--text) !important;opacity:.85}
*{scrollbar-width:thin;scrollbar-color:var(--acc2,#00b8cc) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:8px}
::-webkit-scrollbar-thumb{background:var(--acc2,#00b8cc);border-radius:8px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:var(--acc,#00e5ff);background-clip:content-box}
:root[data-theme="light"] ::-webkit-scrollbar-track{background:rgba(0,0,0,.05)}
.scrollbox{max-height:60vh;overflow:auto;border:1px solid var(--border2,#12122a);border-radius:10px}
:root[data-theme="light"] .scrollbox{border-color:#c9ccd2}
.theme-toggle{width:40px;height:40px;border-radius:11px;cursor:pointer;border:1px solid rgba(255,212,0,.55);
  background:rgba(255,212,0,.14);color:#ffe566 !important;display:inline-flex;align-items:center;justify-content:center;
  vertical-align:middle;margin-left:4px;transition:all .2s;padding:0}
.theme-toggle:hover{border-color:#ffd400;background:rgba(255,212,0,.28);color:#fff !important}
.theme-toggle:active{transform:scale(.94)}
.theme-toggle .ico,.theme-toggle .mi{display:inline-flex;align-items:center;justify-content:center;line-height:0;width:18px;height:18px;color:inherit}
.theme-toggle .theme-svg{display:block;width:18px;height:18px;color:inherit;fill:currentColor}
html,body{background:#060a1e}
:root[data-theme="light"] html,:root[data-theme="light"] body{background:#f5f5f5}
.app-bg{display:none}
:root{
  --bg:#0d0e0c !important; --bg2:#141613 !important; --bg3:#1b1e19 !important; --bg4:#17190f !important;
  --text:#fbfbf7 !important; --white:#ffffff !important;
  --muted:#d7d8ce !important;
  --p100:#ffe680 !important; --p200:#ffd400 !important;
  --p400:#e6bf00 !important; --p500:#caa700 !important; --p600:#a88b00 !important;
  --acc:#ffd400 !important;  --acc2:#e6bf00 !important;
  --green:#6fe08c !important; --green2:#3bb45f !important;
  --yellow:#ffd400 !important;
  --orange:#ffb457 !important;
  --red:#ff8080 !important;   --red2:#f04747 !important;
  --blue:#8ad2ff !important;  --purple:#d4bcff !important;
  --border:#42463a !important;
  --border2:#33362d !important;
  --card-grad:#17190f !important;
  --shadow-3d:0 3px 14px rgba(0,0,0,.7) !important;
  --glow-acc:0 0 0 3px rgba(255,212,0,.28) !important;
  --glow-red:0 0 0 3px rgba(240,71,71,.28) !important;
  --glow-green:0 0 0 3px rgba(90,208,122,.28) !important;
  --scanline:transparent !important;

  --acc-text:#ffd400 !important;}
:root[data-theme="light"]{
  /* ── White Smoke palette ────────────────────────────────────────────────
     Ground #F5F5F5 (White Smoke) with the five colours it pairs with:
     Incremental navy #243E63, Cardoon sage #9DB088, Zamesi amber #E1A626,
     White As Heaven #FFFFFF and Dove Grey #6E6E6E.
     Sage and amber are 2.1:1 and 2.0:1 on the ground - fine as fills,
     borders and chart marks, never as text - so each has a darkened text
     twin below. Every value used as text was measured against both the
     ground and the card white; the lowest is 5.1:1, which clears AA for
     body text with room to spare. */
  --bg:#f5f5f5 !important; --bg2:#ffffff !important;
  --bg3:#ededed !important; --bg4:#ffffff !important;
  /* ink and muted are navy-biased greys, so the neutrals belong to the
     palette rather than sitting next to it */
  --text:#1b2a41 !important; --white:#1b2a41 !important;   /* 13.3:1 */
  --muted:#51607a !important;                               /* 5.8:1  */
  --p100:#f3dca8 !important; --p200:#e1a626 !important;
  --p400:#c08c19 !important; --p500:#9a6f12 !important; --p600:#7a5a00 !important;
  --acc:#e1a626 !important;  --acc2:#c08c19 !important;     /* Zamesi Desert */
  --green:#3f6b3a !important; --green2:#2d5029 !important;  /* Cardoon, darkened */
  --yellow:#7a5a00 !important;
  --orange:#9a5400 !important;
  --red:#b3182b !important;  --red2:#8f1322 !important;
  --blue:#243e63 !important; --purple:#5b4b9e !important;   /* Incremental navy */
  --dove:#6e6e6e !important; --sage:#9db088 !important;
  --border:#dcdcdc !important;
  --border2:#c9ccd2 !important;
  --card-grad:#ffffff !important;
  --shadow-3d:0 1px 3px rgba(27,42,65,.10),0 3px 12px rgba(27,42,65,.07) !important;
  --glow-acc:0 0 0 3px rgba(225,166,38,.32) !important;

  /* Paired with the forced-dark block above: a token forced there and not
     here stays dark when the theme is light. */
  --acc-text:#7a5a00 !important;                            /* 5.9:1  */
  --glow-green:0 0 0 3px rgba(63,107,58,.22) !important;
  --glow-red:0 0 0 3px rgba(179,24,43,.22) !important;
  --scanline:transparent !important;}
.card,.fpanel,.panel,.d3card,.fc3d,.quote{-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
.stat-num,.d3card-v,.fc3d .v,.fhead,h1,h2,h3,.sf-grade{text-shadow:none !important}
/* ACCESSIBILITY - brighten faint hardcoded greys so all text is legible on
   the charcoal surface (same theme, clearer text). */
:root:not([data-theme="light"]) [style*="color:#888"],
:root:not([data-theme="light"]) [style*="color:#999"],
:root:not([data-theme="light"]) [style*="color:#666"],
:root:not([data-theme="light"]) [style*="color:#777"],
:root:not([data-theme="light"]) [style*="color:#aaa"],
:root:not([data-theme="light"]) [style*="color: #888"],
:root:not([data-theme="light"]) [style*="color:#8a93c2"],
:root:not([data-theme="light"]) [style*="color:#c0c0e0"],
:root:not([data-theme="light"]) [style*="color:#b8b8d8"],
:root:not([data-theme="light"]) [style*="color:#d0d0ee"]{color:#d7d8ce !important}
:root:not([data-theme="light"]) .sf-muted,
:root:not([data-theme="light"]) .cap,
:root:not([data-theme="light"]) .fsub,
:root:not([data-theme="light"]) .hist-meta,
:root:not([data-theme="light"]) .cmp-map,
:root:not([data-theme="light"]) .cmp-ev{color:#d7d8ce !important}
:root:not([data-theme="light"]) code{color:#ffe680 !important}
.tag,.vi-sev,.rw-sev,.fnd-sev{display:inline-flex;align-items:center;gap:5px;
  padding:2px 9px;border-radius:6px;font-family:var(--fm);font-size:13px;font-weight:700;
  border:1px solid currentColor;background:transparent;letter-spacing:.02em}
.tag-kev::before     {content:"\26A0";}            /* ⚠ warning triangle */
.tag-cve::before     {content:"\1F6E1";}           /*  shield */
.tag-breach::before  {content:"\1F4A7";}           /*  drop */
.tag-leak::before    {content:"\1F511";}           /*  key */
.tag-takeover::before{content:"\21AA";}            /* ↪ hijack arrow */
.tag-port::before    {content:"\25A3";}            /* ▣ port square */
.tag-sub::before     {content:"\25C6";}            /* ◆ node */
.tag-kev     {color:var(--red);   border-style:solid;  border-width:2px}
.tag-cve     {color:var(--orange);border-style:solid}
.tag-breach  {color:var(--purple);border-style:dashed}
.tag-leak    {color:var(--yellow);border-style:dashed}
.tag-takeover{color:var(--acc-text);   border-style:dotted}
.tag-port    {color:var(--muted); border-style:dotted}
.tag-sub     {color:var(--acc2);  border-style:solid}
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--acc) !important; outline-offset:2px !important; border-radius:4px}
:root{
  --fd:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --fb:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --ft:'JetBrains Mono','Share Tech Mono',monospace;
  --r-xl:26px; --r-lg:20px; --r-md:14px; --r-sm:11px;
  --glass:rgba(28,28,33,0.78);--glass:color-mix(in srgb,var(--bg4) 78%,transparent);
  --lit:rgba(255,212,0,0.38);--lit:color-mix(in srgb,var(--acc) 38%,transparent);
  --lit-soft:rgba(255,212,0,0.15);--lit-soft:color-mix(in srgb,var(--acc) 15%,transparent);
  --aura:rgba(255,212,0,0.45);--aura:color-mix(in srgb,var(--p200) 45%,transparent);
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:var(--bg);
}
body::after{ content:none !important; display:none !important; }
:root[data-theme="light"] body::before{ background:var(--bg); }
:root[data-theme="light"] body::after{ content:none !important; display:none !important; }
.fhead,h1,.logo{font-family:var(--fd) !important; letter-spacing:-.03em; font-weight:700 !important}
.fhead{
  font-size:var(--font-h1,22px) !important; line-height:1.15 !important;
  background:linear-gradient(102deg,var(--text) 0%,var(--acc) 52%,var(--p200) 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  padding-bottom:.08em;
  padding-left:12px; padding-right:6px;
  display:block; width:fit-content; max-width:100%;
  overflow:visible;
}
.fsub{padding-left:12px}
:root{
  --font-base:13px;
  --font-small:11px;
  --font-h3:15px;
  --font-h2:18px;
  --font-h1:22px;
  --font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
body,table,input,button,select,textarea,p,span,td,th,li,label,a{
  font-size:var(--font-base);
  line-height:1.45;
}
h1,.fhead{font-size:var(--font-h1) !important;line-height:1.25}
h2{font-size:var(--font-h2)}
h3{font-size:var(--font-h3)}
.fpage h1{font-size:var(--font-h1)}
.fpage h2{font-size:var(--font-h2)}
.fpage h3{font-size:var(--font-h3)}
.fsub,.chc-s,.spark-l span,.vi-meta,.gtb-stats,.vf-count{font-size:var(--font-small)}
.card-title,.chc-t,.sb-sect{font-size:var(--font-small);letter-spacing:.12em}
.sb-item{font-size:var(--font-base)}
.sb-sub a{font-size:var(--font-small)}
.stat-num,.chc-v{font-size:26px}
.ip-address,.hash,.cve-id,.vi-id,.mono,code,pre,kbd,samp,
.um-tbl td:first-child,.sf-ip,.f-cve{
  font-family:var(--font-mono);
  font-size:12px;
  font-variant-numeric:tabular-nums;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible,.legend-item:focus-visible,
.vf-kind:focus-visible,.pf-tab:focus-visible,.sb-item:focus-visible{
  outline:2px solid var(--acc);
  outline-offset:2px;
  border-radius:4px;
}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;
  background:var(--acc);color:#141410;padding:10px 16px;border-radius:0 0 8px 0;
  font-weight:700;text-decoration:none}
.skip-link:focus{left:0}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (forced-colors: active){
  .btn,.fbtn,.ctrl-btn,button{border:1px solid ButtonText}
  .legend-item,.vf-kind{border:1px solid ButtonText}
}
label{cursor:pointer}
[disabled],[aria-disabled="true"]{cursor:not-allowed;opacity:.6}
.target-input-field,
select[name="t"],
.sf-input,
.fnd-target{
  max-width:360px; height:36px; font-size:var(--font-base); padding:6px 11px;
  box-sizing:border-box; border-radius:8px;
}
@supports not (background-clip:text){ .fhead{color:var(--text) !important} }
.fsub{font-family:var(--ft) !important; font-size:13px !important; letter-spacing:.22em;
  text-transform:uppercase; color:var(--muted) !important; margin-top:6px !important}
h2,h3,h4,.panel-title,.card-title,.ex-card h3,.fpanel h3{
  font-family:var(--fd) !important; letter-spacing:-.015em; font-weight:600 !important}
body,p,td,th,label,li,input,select,textarea{font-family:var(--fb) !important}
.stat-num,.d3card-v,.fc3d .v,.ex-kpi .v,.fnd-metric .v,.sf-grade,code,pre{
  font-family:var(--ft) !important; font-variant-numeric:tabular-nums; letter-spacing:-.03em}
.stat-num,.d3card-v,.fc3d .v,.ex-kpi .v,.sf-grade{
  text-shadow:0 0 26px color-mix(in srgb,currentColor 45%,transparent) !important}
:root[data-theme="light"] .stat-num,:root[data-theme="light"] .d3card-v,
:root[data-theme="light"] .fc3d .v,:root[data-theme="light"] .ex-kpi .v,
:root[data-theme="light"] .sf-grade{text-shadow:none !important}
.card,.fpanel,.panel,.d3card,.fc3d,.ex-card,.ex-kpi,.ex-hero,.quote,.sub-card,.pf-card{
  position:relative; overflow:hidden;
  border-radius:var(--r-lg) !important;
  border:1px solid var(--lit-soft) !important;
  background:
    radial-gradient(120% 90% at 50% -30%, color-mix(in srgb,var(--acc) 12%,transparent), transparent 60%),
    var(--glass) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);
  box-shadow:0 20px 60px -22px rgba(0,0,0,.85),
             inset 0 1px 0 color-mix(in srgb,var(--acc) 30%,transparent) !important;
  transition:border-color .25s, transform .25s, box-shadow .25s;
}
:root[data-theme="light"] .card,:root[data-theme="light"] .fpanel,
:root[data-theme="light"] .ex-card,:root[data-theme="light"] .ex-kpi,
:root[data-theme="light"] .d3card,:root[data-theme="light"] .fc3d{
  background:#ffffff !important; -webkit-backdrop-filter:none;backdrop-filter:none;
  border-color:var(--border2) !important;
  box-shadow:0 10px 30px -18px rgba(10,10,40,.28), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.card:hover,.fpanel:hover,.ex-kpi:hover,.d3card:hover,.fc3d:hover{
  transform:translateY(-3px);
  border-color:var(--lit) !important;
  box-shadow:0 28px 70px -22px rgba(0,0,0,.9),
             0 0 0 1px var(--lit-soft),
             inset 0 1px 0 color-mix(in srgb,var(--acc) 45%,transparent) !important;
}
nav{
  margin:12px auto 0 !important; max-width:1560px;
  border-radius:999px !important;
  background:rgba(28,28,33,0.72);background:color-mix(in srgb,var(--bg4) 72%,transparent) !important;
  border:1px solid var(--lit-soft) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.4) !important;backdrop-filter:blur(22px) saturate(1.4) !important;
  box-shadow:0 16px 44px -20px rgba(0,0,0,.9),
             inset 0 1px 0 color-mix(in srgb,var(--acc) 26%,transparent) !important;
}
.navlinks a{
  font-family:var(--ft) !important; letter-spacing:.09em; border-radius:999px !important;
  transition:color .2s, background .2s, box-shadow .2s;
}
.navlinks a:hover{background:rgba(255,212,0,0.12);background:color-mix(in srgb,var(--acc) 12%,transparent)}
.navlinks a.active{
  color:var(--acc-text) !important;
  background:rgba(255,212,0,0.16);background:color-mix(in srgb,var(--acc) 16%,transparent);
  box-shadow:inset 0 0 0 1px var(--lit), 0 0 22px -6px var(--acc);
}
.btn,.fbtn,.pf-btn,.qcta,.lock-btn,.ex-upg,.preset{
  font-family:var(--ft) !important; letter-spacing:.05em;
  border-radius:999px !important;
  transition:transform .18s, box-shadow .18s, filter .18s;
}
.btn:hover,.fbtn:hover,.pf-btn:hover,.lock-btn:hover,.ex-upg:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px -10px color-mix(in srgb,var(--acc) 65%,transparent);
  filter:brightness(1.08);
}
.btn:active,.fbtn:active{transform:translateY(0)}
input,select,textarea{
  border-radius:var(--r-md) !important;
  background:rgba(22,22,26,0.7);background:color-mix(in srgb,var(--bg3) 70%,transparent) !important;
}
input:focus,select:focus,textarea:focus{
  box-shadow:0 0 0 3px var(--lit-soft), 0 0 26px -8px var(--acc) !important;
  border-color:var(--acc) !important;
}
table th{
  font-family:var(--ft) !important; font-size:12px !important; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted) !important; font-weight:600 !important;
  border-bottom:1px solid var(--lit-soft) !important;
}
table td{font-variant-numeric:tabular-nums}
tbody tr{transition:background .15s}
tbody tr:hover{background:rgba(255,212,0,0.08);background:color-mix(in srgb,var(--acc) 8%,transparent) !important}
.tag,.vi-sev,.rw-sev,.fnd-sev{border-radius:999px !important; font-family:var(--ft) !important}
@keyframes riseIn{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
@keyframes drift{0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(-16px)}}
.fpage>*{animation:riseIn .55s cubic-bezier(.22,1,.36,1) backwards}
.fpage>*:nth-child(2){animation-delay:.07s}
.fpage>*:nth-child(3){animation-delay:.14s}
.fpage>*:nth-child(n+4){animation-delay:.2s}
@media (prefers-reduced-motion: reduce){
  .fpage>*{animation:none !important}
}
@media(max-width:820px){
  :root{--r-lg:16px; --r-xl:20px}
  nav{border-radius:var(--r-lg) !important; margin:8px 8px 0 !important}
  .navlinks a{font-size:13px !important; padding:6px 9px !important}
  .fhead{font-size:var(--font-h1,22px) !important}
}
.lockwrap{position:relative;margin:8px 0}
.locked-blur{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.7}
.lock-over{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:8px;text-align:center;padding:16px;z-index:5;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg) 55%,transparent));border-radius:12px}
.lock-over .lt{font-size:15px;font-weight:700;color:var(--text)}
.lock-over .ld{font-size:15px;color:var(--muted);max-width:340px;line-height:1.5}
.lock-btn{display:inline-block;margin-top:4px;background:var(--acc);color:#fff;text-decoration:none;
  padding:9px 18px;border-radius:9px;font-size:15px;font-weight:700;border:none;cursor:pointer}
.lock-btn:hover{filter:brightness(1.1)}
.tier-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:20px;
  font-family:var(--fm);font-size:13px;border:1px solid var(--acc);color:var(--acc-text);
  background:rgba(255,212,0,0.1);background:color-mix(in srgb,var(--acc) 10%,transparent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important}
}
body{font-size:13px !important;line-height:1.55 !important;color:#E2E8F0}
:root[data-theme="light"] body{color:#141410}
p,li,td,label,span,div,a,input,select,textarea,button{font-size:inherit}
.fhead,:root[data-theme="light"] .fhead{
  font-size:var(--font-h1,22px) !important;line-height:1.18 !important;font-weight:700 !important}
.fsub,:root[data-theme="light"] .fsub{font-size:var(--font-small,11px) !important}
h1{font-size:22px !important;font-weight:700 !important}
h2{font-size:18px !important;font-weight:600 !important}
h3,.panel-title,.card-title,.fpanel h3,.ex-card h3,.pf-card h3{font-size:15px !important;font-weight:600 !important}
h4{font-size:14px !important;font-weight:600 !important}
.stat-num,.d3card-v,.fc3d .v,.ex-kpi .v,.fnd-metric .v,.rw-stat .n,
.stat-pill .sv,.vi-bignum-v,.ex-gauge .g,.sf-grade,
:root[data-theme="light"] .fc3d .v,:root[data-theme="light"] .ex-kpi .v{
  font-size:24px !important;line-height:1.05 !important;font-weight:700 !important}
.ex-gauge .g{font-size:24px !important}
.sf-grade{font-size:26px !important}
.d3card-l,.fc3d .l,.ex-kpi .l,.fnd-metric .l,.rw-stat .l,.stat-pill .sl,
.vi-bignum-l,.panel-label,.stat-label,.ex-kpi .sub,.cap,.ex-card .cap{
  font-size:11px !important;text-transform:uppercase;letter-spacing:.05em}
th,table th{font-size:11px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
td,.ftable,.ftable td,.rw-tbl td,.um td,.hist-tbl td,table.sf td{font-size:12px !important}
.btn,.fbtn,.ctrl-btn,.pf-btn,.um-btn,.hud-btn,.reco-mini,.cal-nav{font-size:12px !important;letter-spacing:.04em}
.navlinks a{font-size:12px !important;letter-spacing:.06em}
.logo{font-size:15px !important}
input,select,textarea{font-size:13px !important}
.tag,.tier-pill,.role-badge,.vi-sev,.rw-sev,.fnd-sev,.fpill,.pf-pill,.reco-badge{
  font-size:10px !important;text-transform:uppercase;letter-spacing:.05em;font-weight:700 !important}
.ex-hero-txt h2{font-size:18px !important}
.ex-hero-txt p{font-size:13px !important}
.hud-title{font-size:clamp(24px,3.4vw,34px) !important}
.hud-sub{font-size:14px !important}
.hud-btn,.hud-ghost{font-size:13px !important}
/* Technical values → monospace */
code,kbd,samp,.mono,.ip,.cve,.hash,.payload,.ioc,.vi-cve-id,.rw-h,.sub-host,
.target-domain,.tgt-domain,.token-val,.tech-val{font-family:var(--ft) !important}
@media(max-width:820px){
  .fhead,:root[data-theme="light"] .fhead{font-size:var(--font-h1,22px) !important}
  .stat-num,.d3card-v,.fc3d .v,.ex-kpi .v,.ex-gauge .g{font-size:22px !important}
}
/* Phone hardening that must apply even on pages without the app shell
   (login, embeds): 16px inputs stop iOS Safari auto-zoom, and nothing is
   allowed to force the viewport sideways. */
@media (max-width: 620px){
  input, select, textarea { font-size: 16px !important; max-width: 100%; }
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
