/* ============================================================
   OneAgent — Typography tokens
   ============================================================ */

:root {
  /* Families */
  --font-sans: "IBM Plex Sans", "IBM Plex Sans SC", -apple-system,
               BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei",
               "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo,
               "Cascadia Code", monospace;

  /* Type scale (px-based, calm 1.25-ish ratio) */
  --text-2xs:  11px;
  --text-xs:   12px;
  --text-sm:   13px;
  --text-base: 15px;   /* default body */
  --text-md:   17px;
  --text-lg:   20px;
  --text-xl:   24px;
  --text-2xl:  30px;
  --text-3xl:  38px;
  --text-4xl:  48px;
  --text-5xl:  60px;

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

  /* Line heights */
  --leading-tight:  1.18;
  --leading-snug:   1.32;
  --leading-normal: 1.5;
  --leading-relaxed: 1.72;

  /* Letter spacing */
  --tracking-tight:  -0.02em;
  --tracking-snug:   -0.01em;
  --tracking-normal: 0;
  --tracking-wide:   0.02em;
  --tracking-caps:   0.08em;  /* eyebrows / labels */

  /* Semantic roles */
  --type-display:   var(--weight-semibold) var(--text-4xl)/var(--leading-tight) var(--font-sans);
  --type-title:     var(--weight-semibold) var(--text-2xl)/var(--leading-snug) var(--font-sans);
  --type-heading:   var(--weight-semibold) var(--text-lg)/var(--leading-snug) var(--font-sans);
  --type-body:      var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-sans);
  --type-body-sm:   var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-sans);
  --type-label:     var(--weight-medium) var(--text-sm)/var(--leading-snug) var(--font-sans);
  --type-caption:   var(--weight-regular) var(--text-xs)/var(--leading-snug) var(--font-sans);
  --type-mono:      var(--weight-medium) var(--text-sm)/var(--leading-snug) var(--font-mono);
}
