/* ===========================================================================
   AIlin — Typography tokens
   ---------------------------------------------------------------------------
   Newsreader (editorial serif) for display moments & quotes.
   Hanken Grotesk (clean grotesque) for all UI & body.
   IBM Plex Mono for timecodes, transcript metadata, technical labels.
   =========================================================================== */

:root {
  /* ---- Families ---- */
  --font-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-sans:  'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:  'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ---- Weights ---- */
  --fw-regular: 400; /* @kind font */
  --fw-medium:  500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:    700; /* @kind font */

  /* ---- Type scale (1.20 minor-third, editorial) ---- */
  --text-2xs: 0.6875rem; /* 11px — mono micro labels */
  --text-xs:  0.75rem;   /* 12px */
  --text-sm:  0.8125rem; /* 13px — dense UI */
  --text-base:0.9375rem; /* 15px — body default */
  --text-md:  1.0625rem; /* 17px — lead body */
  --text-lg:  1.3125rem; /* 21px */
  --text-xl:  1.625rem;  /* 26px */
  --text-2xl: 2.0625rem; /* 33px */
  --text-3xl: 2.625rem;  /* 42px */
  --text-4xl: 3.375rem;  /* 54px — display */
  --text-5xl: 4.5rem;    /* 72px — hero */

  /* ---- Line heights ---- */
  --leading-tight:  1.08;  /* display headlines */
  --leading-snug:   1.25;  /* headings */
  --leading-normal: 1.5;   /* UI */
  --leading-relaxed:1.68;  /* reading / transcripts */

  /* ---- Letter spacing ---- */
  --tracking-tight:  -0.02em; /* large serif display */
  --tracking-snug:   -0.01em; /* sans headings */
  --tracking-normal: 0;
  --tracking-wide:   0.02em;
  --tracking-caps:   0.12em;  /* mono eyebrows / overlines */

  /* =====================================================================
     Semantic text roles
     ===================================================================== */
  --type-hero:    var(--fw-medium) var(--text-5xl)/var(--leading-tight) var(--font-serif);
  --type-display: var(--fw-medium) var(--text-4xl)/var(--leading-tight) var(--font-serif);
  --type-title:   var(--fw-semibold) var(--text-2xl)/var(--leading-snug) var(--font-sans);
  --type-heading: var(--fw-semibold) var(--text-lg)/var(--leading-snug) var(--font-sans);
  --type-subhead: var(--fw-semibold) var(--text-base)/var(--leading-normal) var(--font-sans);
  --type-body:    var(--fw-regular) var(--text-base)/var(--leading-normal) var(--font-sans);
  --type-lead:    var(--fw-regular) var(--text-md)/var(--leading-relaxed) var(--font-sans);
  --type-small:   var(--fw-regular) var(--text-sm)/var(--leading-normal) var(--font-sans);
  --type-mono:    var(--fw-medium) var(--text-xs)/var(--leading-normal) var(--font-mono);
  --type-eyebrow: var(--fw-medium) var(--text-2xs)/1 var(--font-mono);
}
