:root{
  /* Families. --font-display is the technical/industrial voice used for headings
     and product names; --font-ui mirrors the device's Linux/Qt UI face. */
  /* The logo face. Product names and short display lockups ONLY —
     never body copy, never UI. Set in italic to match the wordmark. */
  --font-logo:"Armed Lightning","Armed Lightning Squared",sans-serif;
  --font-logo-squared:"Armed Lightning Squared",sans-serif;
  --font-logo-condensed:"Armed Lightning Condensed",sans-serif;
  --font-logo-expanded:"Armed Lightning Expanded",sans-serif;
  --font-logo-title:"Armed Lightning Title",sans-serif;

  --font-display:"Titillium Web","Segoe UI",system-ui,sans-serif;
  --font-ui:"Noto Sans","DejaVu Sans","Segoe UI",system-ui,sans-serif;
  --font-body:var(--font-ui);
  --font-mono:"IBM Plex Mono","DejaVu Sans Mono",ui-monospace,monospace;

  /* Scale — quiet, functional, no oversized hero type */
  --text-2xs:11px;
  --text-xs:12px;
  --text-sm:13px;
  --text-base:15px;
  --text-md:17px;
  --text-lg:20px;
  --text-xl:24px;
  --text-2xl:30px;
  --text-3xl:38px;
  --text-4xl:48px;
  --text-5xl:64px;

  --leading-tight:1.15;
  --leading-snug:1.3;
  --leading-normal:1.5;
  --leading-relaxed:1.65;

  --weight-light:300;
  --weight-regular:400;
  --weight-medium:600;
  --weight-bold:700;
  --weight-black:900;

  --tracking-tight:-0.01em;
  --tracking-normal:0;
  --tracking-wide:0.04em;
  --tracking-caps:0.12em;  /* PHALANX / FORENSICS lockup spacing */

  /* Semantic roles */
  --type-logo:italic var(--weight-regular) var(--text-4xl)/var(--leading-tight) var(--font-logo);
  --type-display:var(--weight-bold) var(--text-4xl)/var(--leading-tight) var(--font-display);
  --type-h1:var(--weight-bold) var(--text-3xl)/var(--leading-tight) var(--font-display);
  --type-h2:var(--weight-bold) var(--text-2xl)/var(--leading-snug) var(--font-display);
  --type-h3:var(--weight-medium) var(--text-lg)/var(--leading-snug) var(--font-display);
  --type-body:var(--weight-regular) var(--text-base)/var(--leading-relaxed) var(--font-body);
  --type-small:var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-body);
  --type-label:var(--weight-medium) var(--text-xs)/var(--leading-normal) var(--font-ui);
  --type-mono:var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-mono);

  /* Device screen roles — the 274x479 framebuffer.
     The panel renders in DejaVu Sans (Linux/Qt); no substitution here. */
  --font-screen:"DejaVu Sans","Noto Sans",system-ui,sans-serif;
  --type-screen-title:var(--weight-bold) 13px/1.2 var(--font-screen);
  --type-screen-row:var(--weight-regular) 13px/1.2 var(--font-screen);
  --type-screen-meta:var(--weight-regular) 11px/1.3 var(--font-screen);
}
