/* NZ STUDY design tokens — round 1 (2026-10-21). Source of truth: design-system.md */
:root {
  /* Colour — calm forest + warm neutral. Contrast ratios vs. their intended pair noted. */
  --c-forest: #2d5a44;        /* brand; on white 7.9:1, on --c-surface 7.35:1 */
  --c-forest-dark: #1f3d2f;   /* dark band bg; white on it 11.9:1 */
  --c-forest-tint: #e8efe9;   /* pills / icon tiles; forest text on it 6.76:1 */
  --c-ink: #1f2937;           /* headings + body; on white 14.7:1 */
  --c-muted: #4b5563;         /* secondary text; on white 7.56:1, on surface 7.03:1 */
  --c-subtle: #5b6470;        /* captions only; on surface 5.58:1 */
  --c-surface: #f6f7f4;       /* alt section bg */
  --c-white: #ffffff;
  --c-border: #e3e6e1;
  --c-on-dark-muted: #c9d6cc; /* on --c-forest-dark 7.9:1 */

  /* LINE CTA — accessible variant of LINE green. White on #037A36 = 5.47:1 (AA). Hover #02662D = 7.14:1 */
  --c-line: #037A36;
  --c-line-hover: #02662D;
  --c-on-line: #ffffff;

  /* Type */
  --font-sans: "NZ Noto Sans TC", "Noto Sans TC", "PingFang TC", "Heiti TC", "Microsoft JhengHei", system-ui, sans-serif;
  --fs-body: 17px;   --lh-body: 1.75;      /* mobile */
  --fs-body-lg: 18px;                       /* ≥ 900px */
  --fs-small: 15px;  --lh-small: 1.6;
  --fs-caption: 14px;
  --fs-h1: 30px;     --fs-h1-lg: 44px;
  --fs-h2: 25px;     --fs-h2-lg: 32px;
  --fs-h3: 20px;     --fs-h3-lg: 21px;
  --lh-heading: 1.35;
  --fw-regular: 400; --fw-bold: 700;
  --tracking-cjk: 0.02em;

  /* Spacing scale (4px base) */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px;

  /* Shape & depth */
  --r-sm: 10px; --r-md: 16px; --r-lg: 24px; --r-pill: 999px;
  --shadow-card: 0 1px 2px rgba(31,41,55,.06), 0 4px 16px rgba(31,41,55,.06);
  --shadow-bar: 0 -4px 16px rgba(31,41,55,.10);

  /* Layout */
  --container: 1120px;
  --gutter: 20px;
  --tap-min: 48px;           /* all buttons ≥ 48px tall; text links padded to ≥ 44px */
  --sticky-bar-h: 76px;
}
