/* ═══════════════════════════════════════════════════════════════
   WAKA ORBIT — TYPOGRAPHY TOKENS
   DM Sans for everything UI; IBM Plex Mono for code, tool calls,
   durations, IDs. Weights run heavy (700/800) for titles — the
   platform has a confident, dense, "control-room" voice.
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* ── Families ── */
  --font-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --font-icon: 'bootstrap-icons';

  /* ── Weights ── */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-black:    800;

  /* ── Type scale (rem) ── */
  --text-2xs: 0.65rem;   /* 10.4px — micro labels, tags, counts */
  --text-xs:  0.72rem;   /* 11.5px — uppercase eyebrows, meta */
  --text-sm:  0.82rem;   /* 13px   — secondary copy, controls */
  --text-md:  0.88rem;   /* 14px   — body default */
  --text-lg:  1rem;      /* 16px   — emphasised body, card titles */
  --text-xl:  1.25rem;   /* 20px   — page titles */
  --text-2xl: 1.55rem;   /* 25px   — form / hero headings */
  --text-3xl: 1.75rem;   /* 28px   — KPI / display values */
  --text-4xl: 2.25rem;   /* 36px   — marketing display */

  /* ── Line heights ── */
  --leading-tight: 1.1;
  --leading-snug:  1.35;
  --leading-body:  1.6;

  /* ── Letter spacing ── */
  --tracking-eyebrow: 0.06em;  /* uppercase labels */
  --tracking-tight:  -0.01em;  /* large display */
  --tracking-normal:  0;

  /* ── Semantic roles ── */
  --role-eyebrow-size:   var(--text-xs);
  --role-eyebrow-weight: var(--weight-semibold);
  --role-title-weight:   var(--weight-bold);
  --role-display-weight: var(--weight-black);
  --role-body-size:      var(--text-md);
  --role-body-leading:   var(--leading-body);
}
