/* Vitals by DATA HIT - generated from tokens.json */
@font-face{font-family:"Satoshi";src:url("/static/fonts/satoshi-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("/static/fonts/satoshi-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("/static/fonts/satoshi-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("/static/fonts/satoshi-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
:root, [data-theme="light"] {
  --bg: #ffffff;
  --surface: #ffffff;
  --elevated: #f2f5fa;
  --panel: #f5f7fb;
  --ink: #0a1428;
  --ink-secondary: #4d5b73;
  --border: #dde4ee;
  --accent: #0062cc;
  --accent-text: #0062cc;
  --accent-hover: #004fa3;
  --accent-dim: rgba(0,98,204,0.08);
  --on-accent: #ffffff;
  --focus-ring: var(--accent);
  --brand-blue: #0066ff;
  --critical: #9c1a2e;
  --critical-text: #9c1a2e;
  --warning: #c76a00;
  --warning-text: #9a4b00;
  --info: #7a879c;
  --info-text: var(--ink-secondary);
  --sev-critical-bg: #9c1a2e;
  --sev-critical-on: #ffffff;
  --sev-warning-bg: #ffe7c7;
  --sev-warning-on: #8a4300;
  --sev-info-bg: #eef1f5;
  --sev-info-on: var(--ink-secondary);
  --positive: #1d9e75;
  --header: #0a1428;
  --on-header: #ffffff;
  --on-header-secondary: #c3ccdb;
}
[data-theme="dark"] {
  --bg: #070d1a;
  --surface: #111c34;
  --elevated: #0d1629;
  --panel: #0d1629;
  --ink: #eef3ff;
  --ink-secondary: #a3b0c8;
  --border: #21304d;
  --accent: #1f7bea;
  --accent-text: #6aabff;
  --accent-hover: #3a8ef5;
  --accent-dim: rgba(106,171,255,0.14);
  --on-accent: #ffffff;
  --focus-ring: var(--accent-text);
  --brand-blue: #3a8ef5;
  --critical: #c43a4c;
  --critical-text: #f26b79;
  --warning: #f5a54a;
  --warning-text: #f5a54a;
  --info: #6b7890;
  --info-text: var(--ink-secondary);
  --sev-critical-bg: #c43a4c;
  --sev-critical-on: #ffffff;
  --sev-warning-bg: rgba(245,165,74,0.18);
  --sev-warning-on: #f5a54a;
  --sev-info-bg: rgba(163,176,200,0.14);
  --sev-info-on: var(--ink-secondary);
  --positive: #4cd99a;
  --header: #111c34;
  --on-header: #eef3ff;
  --on-header-secondary: #a3b0c8;
}
:root {
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;
  --radius-tag: 4px;
  --radius-control: 8px;
  --radius-button: 10px;
  --radius-card: 12px;
  --radius-finding: 14px;
  --radius-panel: 20px;
  --radius-pill: 999px;
  --shadow-card: 0 1px 3px rgba(10,20,40,0.08), 0 16px 40px -12px rgba(10,20,40,0.18);
  --shadow-panel-inset: inset 6px 0 12px -10px rgba(10,20,40,0.25);
  --font-sans: 'Plus Jakarta Sans', Arial, sans-serif;
  --font-display: Satoshi, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
}
.hero { font-family: var(--font-display); font-size: 64px; line-height: 1.04; font-weight: 900; letter-spacing: -0.04em; }
.section-title { font-family: var(--font-display); font-size: 40px; line-height: 1.1; font-weight: 900; letter-spacing: -0.03em; }
.display { font-family: var(--font-display); font-size: 32px; line-height: 1.15; font-weight: 900; letter-spacing: -0.025em; }
.lead { font-family: var(--font-sans); font-size: 20px; line-height: 1.5; font-weight: 400; }
.title { font-family: var(--font-sans); font-size: 22px; line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; }
.finding-headline { font-family: var(--font-sans); font-size: 20px; line-height: 1.3; font-weight: 800; letter-spacing: -0.02em; }
.lede { font-family: var(--font-sans); font-size: 16px; line-height: 1.55; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 14px; line-height: 1.6; font-weight: 400; }
.secondary { font-family: var(--font-sans); font-size: 13px; line-height: 1.5; font-weight: 400; }
.button { font-family: var(--font-sans); font-size: 14px; line-height: 1.2; font-weight: 700; }
.small { font-family: var(--font-sans); font-size: 11.5px; line-height: 1.6; font-weight: 400; }
.stat { font-family: var(--font-mono); font-size: 28px; line-height: 1.1; font-weight: 500; }
.evidence { font-family: var(--font-mono); font-size: 12.5px; line-height: 1.5; font-weight: 400; }
.section-label { font-family: var(--font-mono); font-size: 11.2px; line-height: 1.4; font-weight: 500; letter-spacing: 0.08em; }
.severity-label { font-family: var(--font-mono); font-size: 11px; line-height: 1.4; font-weight: 500; letter-spacing: 0.06em; }

/* Added by scripts/sync-design.mjs: the dark values above, for a dark system setting. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --bg: #070d1a;
  --surface: #111c34;
  --elevated: #0d1629;
  --panel: #0d1629;
  --ink: #eef3ff;
  --ink-secondary: #a3b0c8;
  --border: #21304d;
  --accent: #1f7bea;
  --accent-text: #6aabff;
  --accent-hover: #3a8ef5;
  --accent-dim: rgba(106,171,255,0.14);
  --on-accent: #ffffff;
  --focus-ring: var(--accent-text);
  --brand-blue: #3a8ef5;
  --critical: #c43a4c;
  --critical-text: #f26b79;
  --warning: #f5a54a;
  --warning-text: #f5a54a;
  --info: #6b7890;
  --info-text: var(--ink-secondary);
  --sev-critical-bg: #c43a4c;
  --sev-critical-on: #ffffff;
  --sev-warning-bg: rgba(245,165,74,0.18);
  --sev-warning-on: #f5a54a;
  --sev-info-bg: rgba(163,176,200,0.14);
  --sev-info-on: var(--ink-secondary);
  --positive: #4cd99a;
  --header: #111c34;
  --on-header: #eef3ff;
  --on-header-secondary: #a3b0c8;
}
}
