/* llm+harness design tokens: extracted from the approved design canvas (2026-10-25).
   The design is dark-only. A light theme was not designed; see README "Open decisions". */

@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap");

:root {
  color-scheme: dark;

  /* Surfaces */
  --bg: #09090B;            /* page ground */
  --surface-1: #111215;     /* cards, table shells, panels */
  --surface-2: #16181C;     /* nested panels, canary tiles, fix callout */
  --surface-3: #1A1C20;     /* fact tags, icon tiles */
  --surface-4: #1F2126;     /* depth-ladder rungs C1–C6 */

  /* Lines */
  --line-subtle: #1E2024;   /* section dividers, table row rules */
  --line: #24262B;          /* card borders */
  --line-strong: #2A2D33;   /* pill outlines, wall chip fill */
  --line-button: #33363C;   /* secondary button outline */

  /* Text (all pass 4.5:1 on --bg and --surface-1) */
  --text: #EDEEF0;          /* primary */
  --text-2: #C9CCD1;        /* secondary on dark fills */
  --text-muted: #A1A5AD;    /* body copy, descriptions */
  --text-faint: #8A8F98;    /* mono labels, captions, column headers */
  --text-ghost: #6B7079;    /* decorative only (×, =, "and" in the H1); not for meaningful text */
  --on-accent: #09090B;     /* text on accent / gamed fills */
  --on-accent-2: #2A2F12;   /* secondary text on the accent fill */

  /* Accent: default lime. Approved alternates: #7CE0D3 teal, #B9A6FF violet, #EDEEF0 mono */
  --accent: #D4F75C;

  /* Semantic: integrity / "gamed" / caveats. Never reuse as a series color. */
  --warn: #FF9A4D;
  --warn-line: #3A2A1E;     /* border on the "forge within the channel" card */
  --warn-tile: #2A1C12;     /* icon tile on that card */
  --warn-callout: #1D1610;  /* fix callout on that card */
  --warn-callout-text: #E9D8C8;

  /* Neutral marks */
  --mark-neutral: #5A5E66;  /* wall swatch, refused outline, census "refused" segment */

  /* Type */
  --font-sans: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --fs-hero: clamp(44px, 7.4vw, 100px);      /* home H1; lh 0.98, tracking -0.045em, 600 */
  --fs-statement: clamp(52px, 9vw, 128px);   /* "Defense ≠ offense." / eval-page H1; lh 0.92, tracking -0.055em */
  --fs-h2: clamp(32px, 4vw, 52px);           /* section titles; lh 1.04, tracking -0.035em */
  --fs-stat: 40px;                           /* stat strip numbers; tracking -0.04em, tabular */
  --fs-stat-sm: 36px;                        /* card result numbers */
  --fs-h3-card: 30px;                        /* eval card titles; tracking -0.03em */
  --fs-h3: 22px;                             /* panel titles; tracking -0.02em */
  --fs-h4: 20px;                             /* insight / report-row titles */
  --fs-lead: clamp(17px, 1.6vw, 20px);       /* hero sub copy; lh 1.55 */
  --fs-body: 16px;                           /* lh 1.55 */
  --fs-small: 15px;                          /* card body, list items */
  --fs-caption: 13px;                        /* footnotes, legends */
  --fs-label: 12px;                          /* mono eyebrows; uppercase, tracking 0.06em */
  --fs-label-sm: 11px;                       /* mono column headers, "Real data" pill */

  /* Radii */
  --radius-xl: 20px;   /* eval cards, table shell, integrity cards, CTA panel */
  --radius-lg: 16px;   /* equation tiles, caveats panel */
  --radius-md: 12px;   /* icon tiles, canary tiles, fix callouts */
  --radius-sm: 6px;    /* chips, fact tags */
  --radius-bar: 4px;   /* data-ends of bars (rounded end only) */
  --radius-pill: 999px;

  /* Layout */
  --container: 1200px;
  --gutter: clamp(16px, 4vw, 40px);
  --section-pad: clamp(64px, 8vw, 112px);    /* home sections; eval page uses clamp(64px, 8vw, 104px) */
  --card-pad: 28px;
  --gap-cards: 16px;
  --touch: 44px;                             /* minimum target; primary buttons are 48px tall */
}
