/* Hallmark · genre: modern-minimal · macrostructure: Stat-Led · theme: Cobalt
 * enrichment: none (typography + data) · nav: N5 floating pill · footer: Ft1 mast-headed
 * axes: paper=light · display=grotesk-sans · accent=cool
 * pre-emit critique: P5 H5 E4 S5 R5 V4
 */

:root {
  /* ── Paper (cool engineered near-white) ───────────────────── */
  --color-paper:      oklch(98.6% 0.004 250);
  --color-paper-2:    oklch(96.4% 0.006 250);
  --color-paper-3:    oklch(93.2% 0.008 250);
  --color-paper-ink:  oklch(19% 0.022 258);

  /* ── Ink ──────────────────────────────────────────────────── */
  --color-ink:        oklch(21% 0.021 258);
  --color-ink-2:      oklch(44% 0.016 256);
  --color-ink-3:      oklch(59% 0.013 254);
  --color-ink-invert:   oklch(97% 0.004 250);
  --color-ink-invert-2: oklch(80% 0.012 254);
  --color-ink-invert-3: oklch(74% 0.014 254);

  /* ── Signal accent (single electric cobalt) ───────────────── */
  --color-accent:       oklch(51% 0.212 262);
  --color-accent-press: oklch(44% 0.206 262);
  --color-accent-wash:  oklch(95.5% 0.028 262);

  /* ── Rules (ruler-drawn hairlines) ────────────────────────── */
  --color-rule:        oklch(89% 0.008 252);
  --color-rule-strong: oklch(76% 0.012 254);
  --color-rule-invert: oklch(32% 0.018 258);

  /* ── Elevation ────────────────────────────────────────────── */
  --shadow-nav: 0 1px 2px oklch(21% 0.02 258 / 0.04), 0 6px 20px oklch(21% 0.02 258 / 0.05);

  /* ── State ────────────────────────────────────────────────── */
  --color-focus:   oklch(51% 0.212 262);
  --color-pending: oklch(88% 0.01 252);
  --color-error:   oklch(52% 0.17 27);

  /* ── Type ─────────────────────────────────────────────────── */
  --font-display: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:    "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --text-figure: clamp(4.25rem, 10.5vw, 8.75rem);
  --text-display: clamp(2rem, 5.2vw + 0.4rem, 3.9rem);
  --text-display-s: clamp(1.6rem, 3.4vw + 0.4rem, 2.5rem);
  --text-xl:   clamp(1.15rem, 1.1vw + 0.85rem, 1.45rem);
  --text-lg:   1.0625rem;
  --text-base: 0.9688rem;
  --text-sm:   0.875rem;
  --text-xs:   0.8125rem;
  --text-2xs:  0.75rem;

  /* ── Space (4pt scale) ────────────────────────────────────── */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2rem;
  --space-2xl: 3rem;
  --space-3xl: 5rem;
  --space-4xl: 7.5rem;

  /* ── Geometry ─────────────────────────────────────────────── */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-pill: 999px;
  --rule-hair: 1px;

  /* ── Motion ───────────────────────────────────────────────── */
  --dur-instant: 90ms;
  --dur-short:   160ms;
  --dur-med:     280ms;
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:     cubic-bezier(0.55, 0, 1, 0.45);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* ── Layer ────────────────────────────────────────────────── */
  --z-base: 1;
  --z-raised: 10;
  --z-nav: 100;
  --z-overlay: 200;

  /* ── Measure ──────────────────────────────────────────────── */
  --measure: 62ch;
  --shell: 1180px;
}
