/* ─────────────────────────────────────────────────────────────────────────
 * design-systems/openai/tokens.css
 *
 * Structured token bindings for the "OpenAI" brand — calm, near-monochrome
 * system anchored in deep teal-black with editorial serif display.
 *
 * Brand identity in three sentences:
 *   1. True white canvas (#ffffff) against deep teal-black ink (#0d0d0d)
 *      with a subtle cool undertone; chromatic neutrality that puts model
 *      output front and center rather than the chrome around it.
 *   2. Söhne / Inter at restrained weights (400/500/600 — never 700+)
 *      paired with Signifier serif for editorial display moments only;
 *      generous line-height (1.55–1.65) and near-zero tracking.
 *   3. Single brand color: OpenAI Teal (#10a37f) — the lone accent in an
 *      otherwise neutral system; hairline borders (#e5e5e5) used sparingly;
 *      whitespace as the primary section divider.
 *
 * Schema decisions:
 *   - --bg: #ffffff; --surface: #f5f5f5 (pearl — card surface).
 *   - --surface-warm: #fafafa (mist — section break bg, footer).
 *   - --fg: #0d0d0d (ink black); --fg-2: #1a1a1a (soft black).
 *   - --muted: #6e6e6e (slate — secondary text, captions).
 *   - --accent: #10a37f (OpenAI Teal); --accent-hover: #0a7a5e.
 *   - --font-display: Signifier (serif — editorial hero moments only).
 *   - --font-body: Söhne / Inter (sans — all UI and body text).
 *   - --tracking-display: -0.02em (display 56px per DESIGN.md).
 *   - --leading-tight: 1.08 (Signifier display hero rhythm).
 *   - h2 (28px sans) → 1.20; h3 (20px) → 1.30 per DESIGN.md.
 *   - --radius-md: 16px (cards); --radius-sm: 12px (buttons, inputs).
 * ─────────────────────────────────────────────────────────────────── */

:root {
  /* ─── Surface ──────────────────────────────────────────────────── */
  --bg:           #ffffff;
  --surface:      #f5f5f5;             /* pearl — card surface, elevated panel */
  --surface-warm: #fafafa;             /* mist — section break, footer */

  /* ─── Foreground ───────────────────────────────────────────────── */
  --fg:   #0d0d0d;                     /* ink black — primary text, brand mark */
  --fg-2: #1a1a1a;                     /* soft black — alternative headings */
  --muted: #6e6e6e;                    /* slate — secondary text, captions */
  --meta:  #9b9b9b;                    /* ash — tertiary, placeholder */

  /* ─── Border ───────────────────────────────────────────────────── */
  --border:      #e5e5e5;             /* hairline — standard separator */
  --border-soft: #ededed;             /* card outline on white surface */

  /* ─── Accent ───────────────────────────────────────────────────── */
  --accent:        #10a37f;           /* OpenAI Teal — links, highlight, CTA */
  --accent-on:     #ffffff;
  --accent-hover:  #0a7a5e;           /* teal deep — hover/pressed */
  --accent-active: color-mix(in oklab, var(--accent), black 14%);

  /* ─── Semantic ─────────────────────────────────────────────────── */
  --success: #10a37f;                 /* teal — success path */
  --warn:    #f5a623;                 /* amber — advisory */
  --danger:  #ef4146;                 /* error — validation, destructive */

  /* ─── Typography ───────────────────────────────────────────────── */
  /* --font-display binds to Signifier — editorial serif for display only.
     --font-body binds to Söhne/Inter — all UI and reading text. */
  --font-display: "Signifier", "Source Serif Pro", Georgia, ui-serif, serif;
  --font-body:    "Söhne", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "Söhne Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;

  /* Type scale — DESIGN.md §Typography Hierarchy.
   * Signifier at 56px display; Söhne from 40px H1 down to 12px label.
   * Schema spine maps the key stops. */
  --text-xs:   12px;                  /* label — eyebrow, uppercase nav */
  --text-sm:   13px;                  /* caption — metadata, badges */
  --text-base: 16px;                  /* body — standard reading */
  --text-lg:   18px;                  /* body large — lede paragraphs */
  --text-xl:   20px;                  /* h3 — sub-section */
  --text-2xl:  28px;                  /* h2 — section heading */
  --text-3xl:  40px;                  /* h1 — page heading */
  --text-4xl:  56px;                  /* display — Signifier editorial hero */

  /* Leading + tracking.
   * --leading-tight=1.08: Signifier display compression.
   * h2 (Söhne 28px) → 1.20; h3 (20px) → 1.30 per DESIGN.md.
   * --tracking-display: -0.02em (display size negative tracking). */
  --leading-body:     1.65;
  --leading-tight:    1.08;
  --tracking-display: -0.02em;

  /* ─── Spacing ──────────────────────────────────────────────────── */
  /* 4px base grid; schema spine: --space-N = N×4 px.
     OpenAI's DESIGN.md §5 scale (4 8 12 16 24 32 48 64 96 128) maps
     naturally onto the spine — 64px lives in --space-16 (brand ext). */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-12: 48px;

  /* Brand extension — 64px gap used between major page sections. */
  --space-16: 64px;

  /* Section rhythm — generous whitespace is the primary divider. */
  --section-y-desktop: 96px;
  --section-y-tablet:  64px;
  --section-y-phone:   48px;

  /* ─── Radius ───────────────────────────────────────────────────── */
  /* Uniformly soft: 12px buttons/inputs; 16px cards; 9999px chips/pills. */
  --radius-sm:   12px;
  --radius-md:   16px;
  --radius-lg:   16px;
  --radius-pill: 9999px;

  /* ─── Elevation ────────────────────────────────────────────────── */
  /* No shadow by default; hover reveals a whisper lift. */
  --elev-flat:   none;
  --elev-ring:   0 0 0 1px var(--border);
  --elev-raised: 0 4px 16px rgba(13, 13, 13, 0.06);

  /* ─── Focus ────────────────────────────────────────────────────── */
  --focus-ring: 0 0 0 3px rgba(16, 163, 127, 0.12);

  /* ─── Motion ───────────────────────────────────────────────────── */
  --motion-fast:   150ms;
  --motion-base:   220ms;
  --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);

  /* ─── Layout ───────────────────────────────────────────────────── */
  --container-max:            1200px;
  --container-gutter-desktop: 48px;
  --container-gutter-tablet:  24px;
  --container-gutter-phone:   24px;
}
