/* KoshiFlo — Typography tokens
   Manrope for display/headings (confident, geometric, unfussy — reads as
   modern precision rather than fashion or luxury). IBM Plex Sans for body/UI
   (built for dense functional interfaces, stays legible at small sizes in a
   busy dojo). IBM Plex Mono for tabular/numeric data (session counts, dates,
   attendance %) so figures align and feel measured rather than decorative.

   NOTE — no brand font files were supplied. These are Google Fonts
   nearest-match substitutions (flagged in readme.md). Consumers should add:
   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
   If real brand font files are provided later, replace this block with
   @font-face rules pointing at assets/fonts/ and keep the family names below
   so no consumer code needs to change. */

:root {
  --font-display: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  --font-body: 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;

  /* Display — headings, page titles */
  --text-display-lg: 700 32px/1.2 var(--font-display);
  --text-display-md: 700 26px/1.25 var(--font-display);
  --text-display-sm: 600 21px/1.3 var(--font-display);

  /* Body */
  --text-body-lg: 400 16px/1.55 var(--font-body);
  --text-body-md: 400 14px/1.5 var(--font-body);
  --text-body-sm: 400 13px/1.45 var(--font-body);

  /* Label / UI chrome */
  --text-label-md: 500 13px/1.3 var(--font-body);
  --text-label-sm: 500 11px/1.3 var(--font-body);
  --text-label-caps: 600 11px/1.3 var(--font-body); /* + letter-spacing 0.04em, uppercase */

  /* Numeric / tabular — sessions, percentages, dates */
  --text-numeric-lg: 500 20px/1.2 var(--font-mono);
  --text-numeric-md: 500 14px/1.3 var(--font-mono);
  --text-numeric-sm: 400 12px/1.3 var(--font-mono);

  --letter-spacing-tight: -0.01em;
  --letter-spacing-caps: 0.04em;
}
