/* ─────────────────────────────────────────────────────────────────────────
 * design-systems/github/tokens.css
 *
 * Structured token bindings for the "GitHub" brand — Primer foundations,
 * functional density, blue-on-white precision.
 *
 * Brand identity in three sentences:
 *   1. True white canvas (#ffffff) with a clean canvas-subtle (#f6f8fa)
 *      secondary surface; hairline borders (#d0d7de) define every pane
 *      — density over decoration, information over aesthetics.
 *   2. System-ui stack throughout — no custom webfont; type renders at
 *      instant on every OS; 14px body (not 16px) is the identity.
 *   3. Primer blue (#0969da) for all interactive affordances; GitHub
 *      green (#1a7f37) reserved for success/merge states only.
 *
 * Schema decisions:
 *   - --bg: #ffffff; --surface: #f6f8fa (canvas-subtle).
 *   - --surface-warm aliases --surface (no warm tier in Primer).
 *   - --fg: #1f2328 (fg-default); --muted: #656d76 (fg-muted).
 *   - --border: #d0d7de (1px hairline — the structural backbone).
 *   - --accent: #0969da (Primer Blue); --accent-hover: #0550ae.
 *   - --success bound to GitHub green (#1a7f37) — merge / open state.
 *   - --tracking-display: -0.01em (only display-size headings use it).
 *   - --text-base: 14px (the 14px body IS GitHub's product density).
 *   - --radius-sm: 6px (universal Primer radius for buttons/inputs).
 * ─────────────────────────────────────────────────────────────────── */

:root {
  /* ─── Surface ──────────────────────────────────────────────────── */
  --bg:           #ffffff;
  --surface:      #f6f8fa;              /* canvas-subtle — sidebar, input bg */
  --surface-warm: var(--surface);       /* Primer has no warm tier */

  /* ─── Foreground ───────────────────────────────────────────────── */
  --fg:   #1f2328;                      /* fg-default — ink */
  --fg-2: #1f2328;                      /* same ink; no B-slot split in Primer */
  --muted: #656d76;                     /* fg-muted — captions, file paths */
  --meta:  #656d76;                     /* same muted tier */

  /* ─── Border ───────────────────────────────────────────────────── */
  --border:      #d0d7de;              /* border-default — hairline structural */
  --border-soft: #d8dee4;             /* border-muted — inner panel dividers */

  /* ─── Accent ───────────────────────────────────────────────────── */
  --accent:        #0969da;            /* Primer Blue — links, primary CTAs */
  --accent-on:     #ffffff;
  --accent-hover:  #0550ae;            /* darker pressed state */
  --accent-active: color-mix(in oklab, var(--accent), black 14%);

  /* ─── Semantic ─────────────────────────────────────────────────── */
  --success: #1a7f37;                  /* GitHub green — merge, open, success */
  --warn:    #9a6700;                  /* attention amber text */
  --danger:  #cf222e;                  /* closed / destructive red */

  /* ─── Typography ───────────────────────────────────────────────── */
  /* System fonts only — no webfonts load in GitHub. */
  --font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --font-body:    -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --font-mono:    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

  /* Type scale — DESIGN.md §Typography.
   * GitHub's prose density: 14px body (not 16px). Display sits at 32px.
   * h2 (20px) and h3 (16px) collapse close together for density. */
  --text-xs:   12px;                   /* body-small — captions, metadata */
  --text-sm:   14px;                   /* body — default UI (GitHub's base) */
  --text-base: 14px;                   /* body baseline = 14px for density */
  --text-lg:   16px;                   /* h3 / panel header */
  --text-xl:   20px;                   /* h2 — section heading */
  --text-2xl:  24px;                   /* h1 — page heading */
  --text-3xl:  28px;                   /* subpage display */
  --text-4xl:  32px;                   /* display — repo header / hero */

  /* Leading + tracking.
   * GitHub uses 1.25 for headings (tight-but-readable), 1.5 for body.
   * Only display gets the -0.01em tracking. */
  --leading-body:     1.5;
  --leading-tight:    1.25;
  --tracking-display: -0.01em;

  /* ─── Spacing ──────────────────────────────────────────────────── */
  /* 4px base grid — Primer spacing. Row padding 16px h, 12px v. */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-12: 48px;

  /* Section rhythm — GitHub marketing pages. */
  --section-y-desktop: 64px;
  --section-y-tablet:  48px;
  --section-y-phone:   32px;

  /* ─── Radius ───────────────────────────────────────────────────── */
  /* 6px is the universal Primer radius for all interactive elements. */
  --radius-sm:   6px;
  --radius-md:   6px;
  --radius-lg:   12px;
  --radius-pill: 9999px;

  /* ─── Elevation ────────────────────────────────────────────────── */
  /* GitHub uses hairline borders, not shadows, as the primary depth
     signal. --elev-raised is a whisper for the rare floating element. */
  --elev-flat:   none;
  --elev-ring:   0 0 0 1px var(--border);
  --elev-raised: 0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12);

  /* ─── Focus ────────────────────────────────────────────────────── */
  /* Primer focus: 3px rgba ring on the accent color. */
  --focus-ring: 0 0 0 3px rgba(9, 105, 218, 0.3);

  /* ─── Motion ───────────────────────────────────────────────────── */
  /* GitHub avoids animation. 80ms hover, 200ms open — short and purposeful. */
  --motion-fast:   80ms;
  --motion-base:   200ms;
  --ease-standard: ease-out;

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