/* ============================================================
   銀星創意 — Typography tokens
   Primary face    : Noto Sans TC — retuned hierarchy: fewer,
                     heavier heading steps; tighter tracking.
   Numeric/eyebrow : Manrope — KPI figures, dates, pagination,
                     wide-tracked uppercase eyebrows.
   Display (luxe)  : Noto Serif TC 700 via --font-display
                     (only switches in data-mode="luxe").
   Heading scale (px/lh): H-LG 40/50 · H1 28/36 · H2 22/30 ·
                          H3 18/26 · H4 15/22
   Body scale: 16/30 · 15/26 · 13/22 · caption 12/18
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-sans: "Noto Sans TC", "Noto Sans", -apple-system, BlinkMacSystemFont,
               "Segoe UI", "PingFang TC", "Microsoft JhengHei", sans-serif;
  --font-serif: "Noto Serif TC", "Songti TC", "PMingLiU", serif;
  --font-num: "Manrope", "Noto Sans TC", "Helvetica Neue", Arial, sans-serif;
  --font-accent: "Manrope", "Noto Sans TC", "Helvetica Neue", Arial, sans-serif;
  /* Display voice: sans by default; luxe mode swaps to serif */
  --font-display: var(--font-sans);
  --ls-display: 0.5px;

  /* ---- Weights ---- */
  --fw-regular: 400; /* @kind font */
  --fw-medium:  500; /* @kind font */
  --fw-bold:    700; /* @kind font */
  --fw-black:   900; /* @kind font */

  /* ---- Size scale (px) ---- */
  --fs-11: 11px;
  --fs-12: 12px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-15: 15px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-20: 20px;
  --fs-22: 22px;
  --fs-24: 24px;
  --fs-26: 26px;
  --fs-28: 28px;
  --fs-32: 32px;
  --fs-40: 40px;
  --fs-48: 48px;

  /* ---- Line-height scale (px) ---- */
  --lh-16: 16px;
  --lh-18: 18px;
  --lh-20: 20px;
  --lh-22: 22px;
  --lh-24: 24px;
  --lh-26: 26px;
  --lh-28: 28px;
  --lh-30: 30px;
  --lh-32: 32px;
  --lh-36: 36px;
  --lh-40: 40px;
  --lh-50: 50px;

  /* ---- Letter spacing (tuned for CJK) ---- */
  --ls-tight: 0.3px;
  --ls-med:   0.5px;
  --ls-wide:  2px;    /* uppercase eyebrows only */

  /* ---- Numeric features (Manrope supports tabular figures) ---- */
  --fnum-tabular: "tnum" 1, "lnum" 1; /* @kind other */

  /* =========================================================
     Semantic type roles — shorthand: weight size/lh family
     ========================================================= */
  --type-h-lg: var(--fw-black) var(--fs-40) / var(--lh-50) var(--font-display);
  --type-h1:   var(--fw-bold) var(--fs-28) / var(--lh-36) var(--font-display);
  --type-h2:   var(--fw-bold) var(--fs-22) / var(--lh-30) var(--font-sans);
  --type-h3:   var(--fw-bold) var(--fs-18) / var(--lh-26) var(--font-sans);
  --type-h4:   var(--fw-bold) var(--fs-15) / var(--lh-22) var(--font-sans);

  --type-body-lg: var(--fw-regular) var(--fs-16) / var(--lh-30) var(--font-sans);
  --type-body:    var(--fw-regular) var(--fs-15) / var(--lh-26) var(--font-sans);
  --type-body-sm: var(--fw-regular) var(--fs-13) / var(--lh-22) var(--font-sans);
  --type-caption: var(--fw-regular) var(--fs-12) / var(--lh-18) var(--font-sans);
  --type-label:   var(--fw-bold) var(--fs-13) / var(--lh-20) var(--font-sans);

  /* Numerals & eyebrows (Manrope) */
  --type-num-lg:  var(--fw-bold) var(--fs-28) / var(--lh-32) var(--font-num);
  --type-num:     var(--fw-bold) var(--fs-16) / var(--lh-20) var(--font-num);
  --type-num-sm:  600 var(--fs-13) / var(--lh-18) var(--font-num);
  --type-eyebrow: 600 var(--fs-11) / var(--lh-16) var(--font-num);
}
