/* ==========================================================================
   Exigo Elements — Typography Tokens
   --------------------------------------------------------------------------
   Type is Proxima Nova at every weight. The product is built on ABSOLUTE
   font sizing: the root is `medium` (≈16px, user-overridable in the browser
   for accessibility) and every size below is expressed in `rem` so a user's
   browser font setting scales the whole UI. Keep using rem in new work.
   ========================================================================== */

:root {
  /* Families */
  --font-sans: "proxima-nova", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "SFMono-Regular", "Consolas", "Liberation Mono", Menlo, monospace;

  /* Root size — set on <html>; everything scales from here */
  --font-size-root: medium; /* @kind other */ /* desktop */
  --font-size-root-mobile: small; /* @kind other */ /* ≤1024px */

  /* Type scale (rem, relative to root) */
  --text-2xs: 0.6875rem;   /* 11px — dense meta, chips */
  --text-xs:  0.75rem;     /* 12px — titlebar buttons, labels, table meta */
  --text-sm:  0.875rem;    /* 14px — button labels, secondary body */
  --text-md:  1rem;        /* 16px — default body */
  --text-lg:  1.25rem;     /* 20px — inline "+" glyphs, small headings */
  --text-xl:  1.5rem;      /* 24px — view / page titles */
  --text-2xl: 2rem;        /* 32px — section headings */
  --text-3xl: 2.5rem;      /* 40px — display */

  /* Weights — Proxima Nova ships these; avoid the keywords bold/bolder/lighter */
  --weight-light: 300; /* @kind other */
  --weight-regular: 400; /* @kind other */
  --weight-medium: 500; /* @kind other */
  --weight-semibold: 600; /* @kind other */ /* the workhorse weight for UI labels & buttons */
  --weight-bold: 700; /* @kind other */
  --weight-extrabold: 800; /* @kind other */
  --weight-black: 900; /* @kind other */

  /* Line heights */
  --leading-tight: 1.15; /* @kind other */
  --leading-snug: 1.3; /* @kind other */
  --leading-normal: 1.5; /* @kind other */ /* body default (~1.5rem at 16px) */

  /* Letter spacing — Proxima Nova sits well at 0; only headings tighten */
  --tracking-tight: -0.01em; /* @kind other */
  --tracking-normal: 0; /* @kind other */

  /* Semantic roles */
  --font-body: var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-sans); /* @kind other */
  --font-body-sm: var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-sans); /* @kind other */
  --font-ui-label: var(--weight-semibold) var(--text-sm)/1 var(--font-sans); /* @kind other */
  --font-ui-label-sm: var(--weight-semibold) var(--text-xs)/1 var(--font-sans); /* @kind other */
  --font-view-title: var(--weight-semibold) var(--text-xl)/var(--leading-tight) var(--font-sans); /* @kind other */
  --font-section: var(--weight-semibold) var(--text-lg)/var(--leading-snug) var(--font-sans); /* @kind other */
}
