/* ============================================================
   Cadence · Typography
   IBM Plex Sans + IBM Plex Mono — a pair designed together.
   Plex Sans is neutral and legible at small sizes for dense
   interfaces. Plex Mono carries EVERY number — doses,
   concentrations, dates, volumes — so figures align and read
   as measured values, not marketing. Always tabular.
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

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

  /* ---- Type scale (size / line-height / tracking) ---- */
  /* Display — big numbers & hero headings */
  --t-display-size:   48px;
  --t-display-line:   1.02;      /* @kind other */
  --t-display-track: -0.025em;   /* @kind other */
  --t-display-weight: var(--fw-semibold); /* @kind font */

  /* Title — screen & card headings */
  --t-title-size:     28px;
  --t-title-line:     1.15;      /* @kind other */
  --t-title-track:   -0.02em;    /* @kind other */
  --t-title-weight:   var(--fw-semibold); /* @kind font */

  /* Heading — sub-sections (h3-ish) */
  --t-heading-size:   20px;
  --t-heading-line:   1.3;       /* @kind other */
  --t-heading-track: -0.01em;    /* @kind other */
  --t-heading-weight: var(--fw-semibold); /* @kind font */

  /* Body — running text */
  --t-body-size:      16px;
  --t-body-line:      1.6;       /* @kind other */
  --t-body-track:     0;         /* @kind other */
  --t-body-weight:    var(--fw-regular); /* @kind font */

  /* Label — form labels, controls */
  --t-label-size:     13px;
  --t-label-line:     1.3;       /* @kind other */
  --t-label-track:    0;         /* @kind other */
  --t-label-weight:   var(--fw-medium); /* @kind font */

  /* Caption — meta, footnotes */
  --t-caption-size:   12px;
  --t-caption-line:   1.5;       /* @kind other */
  --t-caption-track:  0;         /* @kind other */
  --t-caption-weight: var(--fw-regular); /* @kind font */

  /* Mono — numbers, data, timestamps (tabular) */
  --t-mono-size:      18px;
  --t-mono-line:      1.5;       /* @kind other */
  --t-mono-weight:    var(--fw-medium); /* @kind font */

  /* Eyebrow — mono section markers · UPPERCASE, wide tracking */
  --t-eyebrow-size:   12px;
  --t-eyebrow-track:  0.22em;    /* @kind other */
  --t-eyebrow-weight: var(--fw-regular); /* @kind font */

  /* Micro-label — tiny mono kickers above cards (tracked, uppercase) */
  --t-micro-size:     11px;
  --t-micro-track:    0.12em;    /* @kind other */
}
