/* Ledger Rocket — typography tokens.
   One brand family (Montserrat) + one data family (JetBrains Mono).
   Montserrat LIGHT (300) is the default weight for ALL text, display to caption.
   NORMAL (400) is the bold voice: titles, overlines, labels, emphasis.
   Nothing heavier exists in this system. */
:root {
  --font-display: 'Montserrat', 'Avenir Next', 'Segoe UI', sans-serif;
  --font-ui: 'Montserrat', 'Avenir Next', 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', 'Menlo', monospace;

  /* Size / line-height pairs */
  --text-display-1-size: 56px; --text-display-1-lh: 64px; /* w300 */
  --text-display-2-size: 40px; --text-display-2-lh: 48px; /* w300 */
  --text-title-1-size: 28px;   --text-title-1-lh: 36px;   /* w500 */
  --text-title-2-size: 21px;   --text-title-2-lh: 28px;   /* w500 */
  --text-title-3-size: 16px;   --text-title-3-lh: 24px;   /* w600 */
  --text-body-size: 14px;      --text-body-lh: 22px;      /* w400 */
  --text-body-sm-size: 13px;   --text-body-sm-lh: 20px;   /* w400 */
  --text-caption-size: 12px;   --text-caption-lh: 16px;   /* w400 */
  --text-overline-size: 11px;  --text-overline-lh: 16px;  /* w600, caps, +0.08em */
  --text-data-size: 13px;      --text-data-lh: 20px;      /* mono, tabular */
  --text-data-lg-size: 24px;   --text-data-lg-lh: 30px;   /* mono, hero figures */

  --tracking-display: -0.01em;
  --tracking-caps: 0.08em;
  --tracking-button: 0.01em;
}

/* Type utility classes (shipped globals) */
.lr-display-1 { font: 300 var(--text-display-1-size)/var(--text-display-1-lh) var(--font-display); letter-spacing: var(--tracking-display); color: var(--text-strong); }
.lr-display-2 { font: 300 var(--text-display-2-size)/var(--text-display-2-lh) var(--font-display); letter-spacing: var(--tracking-display); color: var(--text-strong); }
.lr-title-1 { font: 400 var(--text-title-1-size)/var(--text-title-1-lh) var(--font-ui); letter-spacing: -0.005em; color: var(--text-strong); }
.lr-title-2 { font: 400 var(--text-title-2-size)/var(--text-title-2-lh) var(--font-ui); color: var(--text-strong); }
.lr-title-3 { font: 400 var(--text-title-3-size)/var(--text-title-3-lh) var(--font-ui); color: var(--text-strong); }
.lr-body { font: 300 var(--text-body-size)/var(--text-body-lh) var(--font-ui); color: var(--text-body); }
.lr-body-sm { font: 300 var(--text-body-sm-size)/var(--text-body-sm-lh) var(--font-ui); color: var(--text-body); }
.lr-caption { font: 300 var(--text-caption-size)/var(--text-caption-lh) var(--font-ui); color: var(--text-muted); }
.lr-overline { font: 400 var(--text-overline-size)/var(--text-overline-lh) var(--font-ui); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-muted); }
.lr-data { font: 400 var(--text-data-size)/var(--text-data-lh) var(--font-mono); font-variant-numeric: tabular-nums; color: var(--text-strong); }
.lr-data-lg { font: 400 var(--text-data-lg-size)/var(--text-data-lg-lh) var(--font-mono); font-variant-numeric: tabular-nums; color: var(--text-strong); }
