/*
  Codex design tokens, sampled from openai.com/index/introducing-codex (real computed values).
  Vendored into the app from docs/drafts/narrative-kb/wireframes/_codex-tokens.css so the deployed
  bundle is self-contained. OpenAI Sans is proprietary; Inter is the practical substitute (ADR-0006).
  2026-06-20: added --fw-bold, --fw-black, --fw-ultra, --r-card, --r-xl, --c-canvas, --sh-card, --sh-float (redesign).
*/
:root {
  --font-sans: "OpenAI Sans", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "SF Mono", "Menlo", Consolas, "Liberation Mono", ui-monospace, monospace;
  --fw-normal: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;
  --fw-ultra: 900;

  --track-tight: -0.025em;
  --track-h1: -0.03em;
  --track-display: -0.03em;
  --track-caps: 0.04em;

  --fs-stat: 68px;
  /* The headline when it is a word rather than a number. "Misaligned" at --fs-stat overruns the
     column it shares with the summary, and a headline that wraps mid-word is not a headline. */
  --fs-stat-word: 42px;
  --fs-score: 30px;
  --fs-h1: 34px;
  --fs-den: 24px;
  --fs-h2: 18px;
  --fs-body: 16px;
  --fs-sm: 15px;
  --fs-secondary: 14px;
  --fs-meta: 13px;
  --fs-code: 12px;

  --c-bg: #fff;
  --c-surface: #fafafa;
  --c-surface-2: #f5f5f5;
  --c-surface-3: #f1f1f1;
  --c-text: #000;
  --c-text-80: rgba(0,0,0,0.80);
  --c-text-60: rgba(0,0,0,0.60);
  --c-text-44: rgba(0,0,0,0.44);
  --c-muted: #767881;
  --c-muted-strong: #47484f;
  --c-line: #e0e0e0;
  --c-line-soft: rgba(0,0,0,0.12);
  --c-chip-bg: rgba(0,0,0,0.04);

  --c-good: #027f41;
  --c-good-bg: #e6ffec;
  --c-warn: #8a6e07;
  --c-warn-bg: #fff4c2;
  --c-warn-text: #6b5605;
  --c-bad: #f22f4d;
  --c-bad-bg: #ffebe9;
  --c-bad-text: #b32134;

  --c-accent: #1e60e4;
  --c-syntax-string: #027f41;
  --c-syntax-fn: #7a4ff5;
  --c-syntax-op: #c93b00;
  --c-syntax-comment: rgba(0,0,0,0.60);

  --r-sm: 0.25rem;
  --r-md: 0.38rem;
  --r-lg: 1rem;
  --r-pill: 9999px;
  --r-card: 8px;
  --r-xl: 1rem;

  --c-canvas: #f4f4f4;

  --sh-card: 0 1px 2px rgba(17,17,17,.05), 0 1px 3px rgba(17,17,17,.04);
  --sh-float: 0 1px 2px rgba(0,0,0,.04), 0 22px 56px rgba(0,0,0,.09);

  --sp-0-5: 0.125rem; --sp-1: 0.25rem; --sp-1-5: 0.375rem; --sp-2: 0.5rem; --sp-3: 0.75rem; --sp-4: 1rem;
  --sp-5: 1.25rem; --sp-6: 1.5rem; --sp-8: 2rem; --sp-12: 3rem; --sp-16: 4rem;
  /* --sp-5 was a hole in the scale that three rules referenced; an invalid var() voids the
     WHOLE declaration at computed-value time, so those paddings silently collapsed to 0. */

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-brand: cubic-bezier(0.17, 0.17, 0.3, 1);
  --dur: 0.15s;
}
