/* ============================================================
   TYPOGRAPHY
   Industrial signage + engineering diagram + CRT terminal.
   Sans for structure & data, Mono for labels, codes and
   anything that reads like a system readout. ALL CAPS +
   letter-spacing for operational labels.
   ============================================================ */

:root {
  /* families */
  --font-sans:    "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --font-display: "Space Grotesk", "IBM Plex Sans", system-ui, sans-serif;

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

  /* type scale — operational, not editorial.
     label 12 / data 14–16 / header 20–24 / sector 32–48 */
  --fs-label:     12px;   /* ALL-CAPS operational labels */
  --fs-meta:      13px;
  --fs-body:      15px;
  --fs-data:      16px;   /* system data readouts */
  --fs-h4:        18px;
  --fs-h3:        20px;   /* control headers */
  --fs-h2:        24px;
  --fs-h1:        32px;   /* sector displays */
  --fs-display:   48px;   /* large numerical emphasis */
  --fs-display-xl:64px;

  /* line heights */
  --lh-tight:     1.05;  /* @kind font */
  --lh-snug:      1.25;  /* @kind font */
  --lh-normal:    1.5;   /* @kind font */

  /* letter spacing */
  --ls-label:     0.12em;  /* @kind font */
  --ls-caps:      0.06em;  /* @kind font */
  --ls-normal:    0;       /* @kind font */
  --ls-tight:     -0.01em; /* @kind font */

  /* semantic text roles */
  --type-label:   var(--fw-semibold) var(--fs-label)/var(--lh-snug) var(--font-mono);
  --type-data:    var(--fw-medium)   var(--fs-data)/var(--lh-normal) var(--font-mono);
  --type-body:    var(--fw-regular)  var(--fs-body)/var(--lh-normal) var(--font-sans);
  --type-header:  var(--fw-semibold) var(--fs-h3)/var(--lh-snug)  var(--font-sans);
  --type-sector:  var(--fw-bold)     var(--fs-h1)/var(--lh-tight) var(--font-display);
}
