/* Autonomy Data Unit (ADU) design tokens — single source of truth for the brand.
   Direction B "Spec Sheet": warm ink-on-paper + one signal-red accent. Swiss/NASA
   technical-manual grid, sharp corners, mono labelling, data-as-ornament.
   Light is the DEFAULT/primary theme; [data-theme="dark"] inverts to a
   "map-room / mission-control" mode. Brand geometry uses ink = currentColor and
   accent = var(--adu-accent). */

:root {
  /* ---- core palette (light — the locked brand board) ---- */
  --adu-ink: #16181D;        /* primary ink / text / mark body  (board INK)   */
  --adu-paper: #F4F1EA;      /* warm paper background            (board PAPER) */
  --adu-accent: #D81E2C;     /* SIGNAL RED — used sparingly      (board RED)   */
  --adu-accent-ink: #F4F1EA; /* text/figure on a red fill */

  /* warm-neutral grey ramp (paper → ink); 500 == board MID GREY */
  --adu-grey-50:  #EEEAE1;
  --adu-grey-100: #E3DED2;
  --adu-grey-200: #D0CABB;   /* hairline rule on light */
  --adu-grey-300: #B3AD9E;
  --adu-grey-400: #8B8B86;
  --adu-grey-500: #6B6E72;   /* board MID GREY — muted captions */
  --adu-grey-600: #54565B;
  --adu-grey-700: #3C3E44;
  --adu-grey-800: #26282E;
  --adu-grey-900: #16181D;   /* == ink */

  /* semantic greys (light) */
  --adu-text:        var(--adu-ink);
  --adu-text-muted:  var(--adu-grey-500);
  --adu-text-faint:  var(--adu-grey-400);
  --adu-rule:        var(--adu-grey-200);  /* hairline dividers / spec-sheet rules */
  --adu-rule-strong: var(--adu-ink);       /* heavy divider / frame */
  --adu-surface:     #FBF9F4;              /* a touch lighter than paper for cards */
  --adu-surface-sunk:var(--adu-grey-50);

  /* data-viz: 5-step red heatmap ramp (paper → accent) + neutral ink bar.
     The signature "data as ornament" language: networks, fields, charts. */
  --adu-viz-1: #F1D7D4;
  --adu-viz-2: #E6A9A6;
  --adu-viz-3: #DB6E6E;
  --adu-viz-4: #D8424A;
  --adu-viz-5: #D81E2C;
  --adu-viz-bar: var(--adu-grey-800);   /* default monochrome bar/series */
  --adu-viz-grid: var(--adu-grey-200);  /* chart gridlines */

  /* ---- type ---- */
  /* Spec'd ideal: Neue Haas Grotesk 75 Bold. Production face: Inter Display
     (OFL, self-hosted) — the same Swiss-grotesk role, deployment-safe. */
  --adu-font-display: "Inter Display", "Inter", system-ui, sans-serif;
  --adu-font-sans: "Inter", system-ui, -apple-system, sans-serif;
  --adu-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;

  /* display is heavy + tightly tracked to read as a tight neo-grotesk */
  --adu-display-weight: 800;        /* ExtraBold for headlines */
  --adu-display-weight-max: 900;    /* Black for the largest hero type */
  --adu-display-tracking: -0.02em;  /* tighten big grotesk */

  /* type scale (1.250 major-third, 16px base) + oversize hero steps */
  --adu-text-xs:  0.64rem;   /* 10.24 — mono micro-labels (FIG. / SPEC ID) */
  --adu-text-sm:  0.8rem;    /* 12.8  — labels, captions */
  --adu-text-base:1rem;      /* 16    — body */
  --adu-text-md:  1.25rem;
  --adu-text-lg:  1.563rem;
  --adu-text-xl:  1.953rem;
  --adu-text-2xl: 2.441rem;
  --adu-text-3xl: 3.052rem;
  --adu-text-4xl: 3.815rem;
  --adu-text-5xl: 4.768rem;   /* hero ("INTELLIGENCE FOR A FAIRER ECONOMY") */
  --adu-text-6xl: 5.96rem;    /* key-visual ("DATA SCIENCE, POINTED AT POWER.") */

  --adu-label-tracking: 0.10em;  /* uppercase mono labels (spec-sheet chrome) */
  --adu-weight-regular: 400;
  --adu-weight-medium: 500;
  --adu-weight-semibold: 600;

  /* ---- spacing (4px base) ---- */
  --adu-space-1: 0.25rem;
  --adu-space-2: 0.5rem;
  --adu-space-3: 0.75rem;
  --adu-space-4: 1rem;
  --adu-space-6: 1.5rem;
  --adu-space-8: 2rem;
  --adu-space-12: 3rem;
  --adu-space-16: 4rem;

  /* ---- geometry ---- */
  --adu-radius: 0;          /* brand geometry is sharp — NO rounded corners */
  --adu-radius-ui: 1px;     /* optional hairline softening for product UI only */
  --adu-hairline: 1px;      /* spec-sheet hairline */
  --adu-rule-weight: 2px;   /* the heavy frame / section rule */
  --adu-crop-len: 14px;     /* corner crop-mark arm length */
}

[data-theme="dark"] {
  /* "map room" inversion — warm ink becomes the field; paper-cream is the ink. */
  --adu-ink: #F4F1EA;
  --adu-paper: #121317;          /* near-black, faintly cool */
  --adu-accent: #EE2B3B;         /* signal red brightened for contrast on near-black */
  --adu-accent-ink: #121317;

  --adu-text:        var(--adu-ink);
  --adu-text-muted:  var(--adu-grey-400);
  --adu-text-faint:  var(--adu-grey-500);
  --adu-rule:        var(--adu-grey-700);
  --adu-rule-strong: var(--adu-ink);
  --adu-surface:     #1A1B20;
  --adu-surface-sunk:#0E0F12;

  --adu-viz-1: #4A1A20;
  --adu-viz-2: #7E2630;
  --adu-viz-3: #B02F39;
  --adu-viz-4: #D8424A;
  --adu-viz-5: #EE2B3B;
  --adu-viz-bar: var(--adu-grey-200);
  --adu-viz-grid: var(--adu-grey-700);
}
