/* ════════════════════════════════════════════════════════════════
   SuperCat Design System — Type tokens
   ────────────────────────────────────────────────────────────────
   Font stacks, type scale, line heights, weights, tracking.
   Geist Sans for prose, Geist Mono for labels/eyebrows/code.
   ════════════════════════════════════════════════════════════════ */

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

:root {
  /* ── Families ── */
  --font-sans: 'Geist', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Geist Mono', 'SF Mono', 'JetBrains Mono', 'Courier New', monospace;
  --font-serif: 'Source Serif Pro', Georgia, serif;

  /* ── Size scale (px) ──
     Editorial-flavored ramp; not a strict modular scale.
     Use clamp() in components for responsive headings. */
  --text-2xs:  10px;
  --text-xs:   11px;
  --text-sm:   13px;
  --text-base: 15px;     /* default body */
  --text-md:   16px;
  --text-lg:   18px;
  --text-xl:   22px;
  --text-2xl:  28px;
  --text-3xl:  36px;
  --text-4xl:  48px;
  --text-5xl:  64px;
  --text-6xl:  84px;

  /* ── Line heights ── */
  --leading-tight:   1.05;
  --leading-snug:    1.15;
  --leading-normal:  1.45;
  --leading-relaxed: 1.55;
  --leading-loose:   1.7;

  /* ── Weights ── */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-black:    800;

  /* ── Letter-spacing (tracking) ── */
  --tracking-tightest: -0.04em;   /* display */
  --tracking-tighter:  -0.035em;  /* h1/h2  */
  --tracking-tight:    -0.025em;  /* h3/h4  */
  --tracking-snug:     -0.015em;  /* body lg */
  --tracking-normal:    0;
  --tracking-wide:      0.05em;
  --tracking-wider:     0.12em;   /* eyebrow */
  --tracking-widest:    0.16em;   /* mono caps */
}
