/* ============================================================================
   Design tokens — the single source of truth. No hardcoded hex outside this file.
   Aesthetic: forensic lab paperwork. Flat, hairline rules, near-zero radius.
   ============================================================================ */
:root {
  /* surfaces */
  --paper: #e9e6db;   /* page background */
  --paper-2: #f2f0e8; /* hover / recessed */
  --card: #fbfaf6;    /* raised surface */

  /* ink + text */
  --ink: #15171a;     /* primary text, primary button */
  --ash: #6a6e70;     /* secondary text, metadata */

  /* rules */
  --rule: #cdc8b8;    /* borders, always 1px */
  --rule-2: #dedacb;  /* internal dividers, grid paper */

  /* state — color only ever encodes severity/state */
  --alert: #b93318;   --alert-bg: #f6e3dc;  /* malicious */
  --flag: #8a6708;    --flag-bg: #f5ebd3;   /* notable */
  --clean: #1e5c48;   --clean-bg: #deeae3;  /* verified / passing */

  --highlight: #efd25e; /* marker underline — used once, in the hero only */

  /* raw-exhibit block (dark evidence surface) */
  --exhibit-ink: #15171a;
  --exhibit-text: #d8d4c6;
  --exhibit-mark-bg: rgba(185, 51, 24, 0.32);
  --exhibit-mark-text: #ffc7b5;

  /* type families */
  --font-display: "Archivo", system-ui, sans-serif;
  --font-body: "IBM Plex Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* geometry */
  --radius: 3px;
  --radius-2: 4px;
  --rule-w: 1px;
  --maxw: 1200px;
  --grid: 34px; /* graph-paper interval */

  /* spacing scale */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 72px;
  --sp-9: 110px;
}
