/* ============================================================================
   WPPBX(TM) type scale, v1. Seven steps for prose, six for consoles.

   PROSE FLOOR: nothing goes below 14px except --fs-label, the 11px mono token.

   CONSOLE EXEMPTION, granted deliberately. An operational screen is read as a
   table, not as prose: it is scanned for a value, not read left to right, and
   the reader is a person doing the same job repeatedly rather than a stranger
   meeting the product. Holding those screens to the prose floor does not make
   them more legible, it makes them scroll, and a row that no longer fits on one
   line is harder to scan than a smaller one that does.

   The exemption is bounded. It applies ONLY to elements carrying a .t-c-* class
   or living inside a .console region, it stops at 9.5px, and it is mono
   throughout so the digits align. Prose inside a console still uses the prose
   scale. Anything outside that boundary and below 14px is a defect.
   ============================================================================ */
:root{
  --font-sans:Manrope,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  /* prose */
  --fs-display:34px;  --lh-display:1.05; --ls-display:-0.02em;  --fw-display:700;
  --fs-title:26px;    --lh-title:1.15;   --ls-title:-0.015em;   --fw-title:700;
  --fs-heading:20px;  --lh-heading:1.25;                        --fw-heading:700;
  --fs-sentence:19px; --lh-sentence:1.6;                        --fw-sentence:500;
  --fs-body:16px;     --lh-body:1.45;                           --fw-body:500;
  --fs-meta:14px;     --lh-meta:1.4;                            --fw-meta:500;
  --fs-label:11px;    --lh-label:1.3;    --ls-label:0.14em;     --fw-label:500;

  /* console, all mono, floor 9.5px */
  --fs-c-stat:14px;   --lh-c-stat:1.2;                          --fw-c-stat:600;
  --fs-c-head:12.5px; --lh-c-head:1.25;                         --fw-c-head:800;
  --fs-c-val:11.5px;  --lh-c-val:1.4;                           --fw-c-val:500;
  --fs-c-key:11px;    --lh-c-key:1.4;                           --fw-c-key:500;
  --fs-c-chip:10.5px; --lh-c-chip:1.2;                          --fw-c-chip:500;
  --fs-c-label:9.5px; --lh-c-label:1.2;  --ls-c-label:0.1em;    --fw-c-label:600;
}

.t-display{font:var(--fw-display) var(--fs-display)/var(--lh-display) var(--font-sans);letter-spacing:var(--ls-display);text-wrap:balance}
.t-title{font:var(--fw-title) var(--fs-title)/var(--lh-title) var(--font-sans);letter-spacing:var(--ls-title);text-wrap:balance}
.t-heading{font:var(--fw-heading) var(--fs-heading)/var(--lh-heading) var(--font-sans)}
.t-sentence{font:var(--fw-sentence) var(--fs-sentence)/var(--lh-sentence) var(--font-sans)}
.t-body{font:var(--fw-body) var(--fs-body)/var(--lh-body) var(--font-sans)}
.t-meta{font:var(--fw-meta) var(--fs-meta)/var(--lh-meta) var(--font-sans);color:var(--ink2)}
.t-label{font:var(--fw-label) var(--fs-label)/var(--lh-label) var(--font-mono);
  letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink3)}

/* Console steps. Mono throughout so columns of digits line up without the
   caller having to remember to ask for tabular figures. */
.t-c-stat{font:var(--fw-c-stat) var(--fs-c-stat)/var(--lh-c-stat) var(--font-mono);font-variant-numeric:tabular-nums}
.t-c-head{font:var(--fw-c-head) var(--fs-c-head)/var(--lh-c-head) var(--font-sans)}
.t-c-val{font:var(--fw-c-val) var(--fs-c-val)/var(--lh-c-val) var(--font-mono);font-variant-numeric:tabular-nums}
.t-c-key{font:var(--fw-c-key) var(--fs-c-key)/var(--lh-c-key) var(--font-mono);color:var(--ink3)}
.t-c-chip{font:var(--fw-c-chip) var(--fs-c-chip)/var(--lh-c-chip) var(--font-mono)}
.t-c-label{font:var(--fw-c-label) var(--fs-c-label)/var(--lh-c-label) var(--font-mono);
  letter-spacing:var(--ls-c-label);text-transform:uppercase;color:var(--ink3)}

/* Digits that sit in columns must not jitter. */
.tabular{font-variant-numeric:tabular-nums}
