/* Threatist design tokens — generated from tokens.json. Load before components.css. */
:root, [data-theme="dark"] {
  --surface: #2c3e52;
  --surface-raised: #344659;
  --surface-sunken: #25354a;
  --line: #4f5e6e;
  --line-strong: #8a98a8;
  --grid-line: rgba(255,255,255,0.035);
  --ink: #ffffff;
  --ink-soft: #bfc5cb;
  --ink-muted: #aeb6c0;
  --brand-magenta: #c74fcf;
  --brand-pink: #f06185;
  --brand-orange: #f38552;
  --brand-amber: #f5a426;
  --brand-sun: #fcdf47;
  --accent-teal: #3cb7ca;
  --accent-teal-deep: #3b9bb3;
  --glow-violet: #4b466c;
  --glow-teal: #345467;
  --icon-tile: #484e70;
  --on-brand: #ffffff;
  --on-brand-safe: #16202c;
  --sev-critical: #ff6b78;
  --sev-high: #ff9a4d;
  --sev-medium: #f2cf5b;
  --sev-low: #8fb8e0;
  --sev-none: #6b7a8b;
  --on-sev: #16202c;
  --kev: #ff6b78;
  --error: #ffa0a8;
  --error-border: #ff6b78;
  --focus: var(--accent-teal);
  --shadow-card: 0 1px 0 rgba(255,255,255,0.04) inset;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --grid: 40px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --font-sans: "Inter", system-ui, sans-serif;
  --font-mono: "Inter", system-ui, sans-serif;
}

/* Light theme values exist in tokens.json but are not used by the portal for now. */
[data-theme="light"] {
  --surface: #f6f7f9;
  --surface-raised: #ffffff;
  --surface-sunken: #eceff3;
  --line: #d5dbe2;
  --line-strong: #7b8795;
  --grid-line: rgba(27,40,56,0.05);
  --ink: #1b2838;
  --ink-soft: #3d4b5c;
  --ink-muted: #5b6776;
  --brand-magenta: #b43dbb;
  --brand-pink: #f06185;
  --brand-orange: #f38552;
  --brand-amber: #f5a426;
  --brand-sun: #fcdf47;
  --accent-teal: #0e7486;
  --accent-teal-deep: #0e7486;
  --glow-violet: #e7e2f3;
  --glow-teal: #dcecef;
  --icon-tile: #ece6f5;
  --on-brand: #ffffff;
  --on-brand-safe: #16202c;
  --sev-critical: #b01e3a;
  --sev-high: #b4480b;
  --sev-medium: #8a6400;
  --sev-low: #2f5f8f;
  --sev-none: #8995a3;
  --on-sev: #ffffff;
  --kev: #b01e3a;
  --error: #b01e3a;
  --error-border: #b01e3a;
  --focus: var(--accent-teal);
  --shadow-card: 0 1px 2px rgba(27,40,56,0.08);
}

/* Type styles */
.tt-type-display { font: 700 56px/62px var(--font-sans); letter-spacing: -0.02em; }
.tt-type-h1 { font: 700 40px/46px var(--font-sans); letter-spacing: -0.015em; }
.tt-type-h2 { font: 600 28px/34px var(--font-sans); }
.tt-type-h3 { font: 600 20px/28px var(--font-sans); }
.tt-type-lead { font: 300 18px/29px var(--font-sans); }
.tt-type-body { font: 400 16px/26px var(--font-sans); }
.tt-type-card-title { font: 600 15px/20px var(--font-sans); }
.tt-type-small { font: 400 13px/21px var(--font-sans); }
.tt-type-eyebrow { font: 500 11px/16px var(--font-mono); letter-spacing: 0.2em; text-transform: uppercase; }
.tt-type-chip { font: 400 12px/16px var(--font-mono); letter-spacing: 0.02em; }
.tt-type-code { font: 400 13px/20px var(--font-mono); }
