/* ============================================================
   RPGadget — Typography tokens
   Display serif: Cinzel  · Body serif: Caudex · Body sans: Raleway
   Mono: JetBrains Mono. Type ramp tuned for dense functional screens.
   ============================================================ */
:root {
  /* Families */
  --font-display: 'Cinzel', 'Trajan Pro', Georgia, serif;   /* titles, gilt labels */
  --font-serif:   'Caudex', 'Iowan Old Style', Georgia, serif; /* reading body */
  --font-sans:    'Raleway', 'Segoe UI', system-ui, sans-serif; /* UI / dense body */
  --font-mono:    'JetBrains Mono', 'SFMono-Regular', Consolas, monospace; /* stats, dice, ids */
  --font-body:    var(--font-sans);  /* public alias — default body face */

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

  /* Type scale (functional-dense; 1.5rem-ish steps) */
  --text-2xs: 0.6875rem; /* 11px — micro labels */
  --text-xs:  0.75rem;   /* 12px */
  --text-sm:  0.8125rem; /* 13px — dense UI body */
  --text-md:  0.9375rem; /* 15px — default body */
  --text-lg:  1.0625rem; /* 17px */
  --text-xl:  1.375rem;  /* 22px — panel titles */
  --text-2xl: 1.75rem;   /* 28px — screen titles */
  --text-3xl: 2.375rem;  /* 38px — display */
  --text-4xl: 3.25rem;   /* 52px — hero display */

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

  /* Tracking — Cinzel wants air; small caps labels wider still */
  --track-tight:  -0.01em; /* @kind other */
  --track-normal: 0; /* @kind other */
  --track-wide:   0.06em; /* @kind other */
  --track-caps:   0.14em; /* @kind other */

  /* Semantic roles */
  --type-display:      var(--fw-bold)     var(--text-4xl)/var(--lh-tight) var(--font-display);
  --type-screen-title: var(--fw-semibold) var(--text-2xl)/var(--lh-snug) var(--font-display);
  --type-panel-title:  var(--fw-semibold) var(--text-xl)/var(--lh-snug) var(--font-display);
  --type-label-caps:   var(--fw-semibold) var(--text-2xs)/var(--lh-normal) var(--font-display);
  --type-body:         var(--fw-regular)  var(--text-md)/var(--lh-normal) var(--font-sans);
  --type-body-serif:   var(--fw-regular)  var(--text-md)/var(--lh-relaxed) var(--font-serif);
  --type-ui:           var(--fw-medium)   var(--text-sm)/var(--lh-normal) var(--font-sans);
  --type-mono:         var(--fw-medium)   var(--text-sm)/var(--lh-normal) var(--font-mono);
  --type-stat:         var(--fw-bold)     var(--text-2xl)/var(--lh-tight) var(--font-mono);
}
