/* ============================================================
   Aproject — Typography tokens
   Three families: native system SANS for all UI text, the
   NEWSREADER serif for the wordmark + display headings, and a
   native MONO stack for code, file names, IDs, timestamps and
   technical metadata (a recurring motif across Pilot & Team).
   UI base size is 14px with tight line-height; the serif is
   reserved for hero/page titles and the brand wordmark.
   ============================================================ */

:root {
  /* ---------- families ---------- */
  --font-sans:  ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-serif: "Newsreader", Georgia, "Times New Roman", serif;
  --font-mono:  ui-monospace, "SF Mono", "SFMono-Regular", Menlo, monospace;

  /* ---------- type scale (px) ---------- */
  --text-2xs:  10.5px;  /* micro labels, badges */
  --text-xs:   11.5px;  /* metadata, captions */
  --text-sm:   12.5px;  /* secondary UI text */
  --text-base: 13.5px;  /* default body / nav */
  --text-md:   14px;    /* composer input, titles */
  --text-lg:   15.5px;  /* card titles */
  --text-xl:   17px;    /* section headings */

  /* ---------- display (Newsreader serif) ---------- */
  --display-sm: 19px;   /* small serif title */
  --display-md: 26px;   /* page title */
  --display-lg: 30px;   /* hero title */

  /* ---------- weights ---------- */
  --weight-normal:   400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* ---------- line heights ---------- */
  --leading-tight:  1.25;
  --leading-snug:   1.45;   /* UI default */
  --leading-normal: 1.55;
  --leading-relaxed:1.62;   /* assistant prose */

  /* ---------- tracking ---------- */
  --tracking-label: 0.055em;  /* uppercase eyebrow labels */
  --tracking-tight: -0.01em;

  /* ============ SEMANTIC ALIASES ============ */
  --text-body:    var(--text-base);
  --text-label:   var(--text-2xs);    /* UPPERCASE section eyebrows */
  --text-caption: var(--text-xs);
  --leading-body: var(--leading-snug);
}
