/* ============================================================
   Xier — Typography tokens
   Substitute fonts (flagged): the source brand uses ABC Repro +
   ABC Repro Mono (licensed). We map to IBM Plex Sans SC (a true
   Simplified-Chinese grotesque) + IBM Plex Mono for the technical
   labels — same neutral, engineered character, all-中文 ready.
   See fonts/fonts.css for the @import.
   ============================================================ */
:root {
  --font-sans: "IBM Plex Sans SC", "Noto Sans SC", "PingFang SC",
               "Microsoft YaHei", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", "Roboto Mono", ui-monospace,
               "SFMono-Regular", monospace;

  /* Weights */
  --fw-light:   300; /* @kind font */
  --fw-regular: 400; /* @kind font */
  --fw-medium:  500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:    700; /* @kind font */

  /* Type scale (px-keyed names; values match the source rhythm) */
  --fs-display-xl: 96px;  /* full-bleed menu / hero statement */
  --fs-display:    52px;  /* page hero */
  --fs-h1:         42px;
  --fs-h2:         32px;
  --fs-h3:         24px;
  --fs-h4:         20px;
  --fs-body-lg:    18px;
  --fs-body:       16px;
  --fs-body-sm:    14px;
  --fs-caption:    12px;  /* eyebrows, captions */
  --fs-label:      12px;  /* mono uppercase labels */
  --fs-label-sm:   10px;  /* mono micro labels / tags */

  /* Line heights */
  --lh-display: 1.04; /* @kind font */
  --lh-tight:   1.12; /* @kind font */
  --lh-snug:    1.2;  /* @kind font */
  --lh-body:    1.55; /* @kind font */
  --lh-flat:    1;    /* @kind font */

  /* Letter spacing */
  --ls-display: -0.025em;  /* @kind font */
  --ls-tight:   -0.01em;   /* @kind font */
  --ls-normal:  0;         /* @kind font */
  --ls-label:   0.08em;    /* @kind font */
  --ls-label-sm:0.12em;    /* @kind font */

  /* Semantic aliases */
  --text-heading-font: var(--font-sans);
  --text-body-font:    var(--font-sans);
  --text-label-font:   var(--font-mono);
}
