/* LifenLearn — Typography tokens */
:root {
  /* Families */
  --font-display: 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-body:    'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

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

  /* Type scale (fluid-ready px values; 1.20 minor-third-ish blend) */
  --text-2xs: 0.6875rem; /* 11px */
  --text-xs:  0.75rem;   /* 12px */
  --text-sm:  0.875rem;  /* 14px */
  --text-base: 1rem;     /* 16px */
  --text-md:  1.125rem;  /* 18px — default article body */
  --text-lg:  1.375rem;  /* 22px */
  --text-xl:  1.75rem;   /* 28px */
  --text-2xl: 2.25rem;   /* 36px */
  --text-3xl: 3rem;      /* 48px */
  --text-4xl: 3.75rem;   /* 60px */
  --text-5xl: 4.75rem;   /* 76px */

  /* Line heights */
  --lh-tight:   1.1; /* @kind other */
  --lh-snug:    1.25; /* @kind other */
  --lh-normal:  1.5; /* @kind other */
  --lh-relaxed: 1.7; /* @kind other */

  /* Letter spacing */
  --ls-tight:  -0.02em; /* @kind other */
  --ls-snug:   -0.01em; /* @kind other */
  --ls-normal: 0; /* @kind other */
  --ls-wide:   0.02em; /* @kind other */
  --ls-caps:   0.08em; /* @kind other */

  /* Semantic roles */
  --title-display: var(--fw-semibold) var(--text-4xl)/var(--lh-tight) var(--font-display);
  --title-h1: var(--fw-semibold) var(--text-3xl)/var(--lh-tight) var(--font-display);
  --title-h2: var(--fw-semibold) var(--text-2xl)/var(--lh-snug) var(--font-display);
  --title-h3: var(--fw-semibold) var(--text-xl)/var(--lh-snug) var(--font-display);
  --body-lg: var(--fw-regular) var(--text-md)/var(--lh-relaxed) var(--font-body);
  --body-base: var(--fw-regular) var(--text-base)/var(--lh-normal) var(--font-body);
  --label: var(--fw-semibold) var(--text-xs)/var(--lh-normal) var(--font-body);
}
