/* ============================================================================
 * 风后所见 · WIND QUEEN SEES · 设计 Token v3 (safe)
 * 2026-05-24
 *
 * v3 修复:
 *  - 去掉所有 "var 引用 var" 的链(避免 WeasyPrint 递归 bug)
 *  - 去掉文件底部的 body / h1 / @media print 基础规则
 *    (那些会跟每个模板自己的选择器冲突)
 *  - 只保留纯 CSS variable 定义
 *
 * 用法:模板里 var(--text-h1) / var(--color-fenghou) / var(--font-kai) ...
 * ============================================================================ */

:root {
  /* ========================================================================
   * 1 · 字体栈 · 全部直接定义 · 不引用其他 var
   * ======================================================================== */

  /* 基础字体栈 */
  --font-serif-cn: 'Source Han Serif SC', 'Noto Serif SC', 'STSong', 'SimSun', 'Songti SC', serif;
  --font-sans-cn: 'Source Han Sans SC', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', sans-serif;
  --font-kai: 'STKaiti', 'KaiTi', '楷体', 'BiauKai', serif;
  --font-xing: 'STXingkai', 'XingKai', cursive;
  --font-cao: 'STCaoshu', cursive;
  --font-seal: 'STZhongsong', 'STSong', serif;
  --font-serif-en: 'EB Garamond', 'Crimson Pro', 'Cormorant Garamond', Georgia, serif;
  --font-sans-en: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'Source Code Pro', 'SF Mono', Consolas, 'Courier New', monospace;

  /* 语义别名 · 直接展开,不用 var 引用 */
  --font-body: 'Source Han Serif SC', 'Noto Serif SC', 'STSong', 'SimSun', serif;
  --font-heading: 'Source Han Sans SC', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-brand: 'STKaiti', 'KaiTi', '楷体', serif;
  --font-display: 'STKaiti', 'KaiTi', '楷体', serif;

  /* ========================================================================
   * 2 · Web 字号 · 直接数值 · 不引用其他 var
   * ======================================================================== */

  --size-xs: 0.75rem;
  --size-sm: 0.875rem;
  --size-base: 1rem;
  --size-md: 1.125rem;
  --size-lg: 1.25rem;
  --size-xl: 1.5rem;
  --size-2xl: 1.875rem;
  --size-3xl: 2.25rem;
  --size-4xl: 3rem;
  --size-5xl: 3.75rem;
  --size-6xl: 5rem;
  --size-7xl: 7.5rem;
  --size-8xl: 10rem;
  --size-9xl: 13.75rem;
  --size-10xl: 17.5rem;
  --size-11xl: 22.5rem;

  /* 语义命名 · 直接展开为数值 */
  --text-caption: 0.75rem;     /* 12px */
  --text-meta: 0.875rem;        /* 14px */
  --text-body: 1rem;            /* 16px */
  --text-body-lg: 1.125rem;     /* 18px */
  --text-h4: 1.25rem;           /* 20px */
  --text-h3: 1.5rem;            /* 24px */
  --text-h2: 1.875rem;          /* 30px */
  --text-h1: 2.25rem;           /* 36px */
  --text-hero: 3rem;            /* 48px */
  --text-display: 3.75rem;      /* 60px */
  --text-poster: 5rem;          /* 80px */
  --text-glyph: 7.5rem;         /* 120px */
  --text-mega: 10rem;           /* 160px */
  --text-mega-lg: 13.75rem;     /* 220px */
  --text-mega-xl: 17.5rem;      /* 280px */
  --text-mega-2xl: 22.5rem;     /* 360px */

  /* ========================================================================
   * 3 · PDF 字号 · 直接数值
   * ======================================================================== */

  --pt-xs: 8pt;
  --pt-sm: 10pt;
  --pt-base: 11pt;
  --pt-md: 12pt;
  --pt-lg: 14pt;
  --pt-xl: 16pt;
  --pt-2xl: 20pt;
  --pt-3xl: 24pt;
  --pt-4xl: 32pt;
  --pt-5xl: 40pt;
  --pt-6xl: 56pt;
  --pt-7xl: 80pt;
  --pt-8xl: 120pt;
  --pt-9xl: 160pt;
  --pt-10xl: 220pt;
  --pt-11xl: 280pt;
  --pt-12xl: 360pt;

  /* PDF 语义命名 · 直接数值 */
  --pdf-caption: 8pt;
  --pdf-meta: 10pt;
  --pdf-body: 11pt;
  --pdf-body-lg: 12pt;
  --pdf-h4: 14pt;
  --pdf-h3: 16pt;
  --pdf-h2: 20pt;
  --pdf-h1: 24pt;
  --pdf-hero: 32pt;
  --pdf-display: 40pt;
  --pdf-poster: 56pt;
  --pdf-glyph: 80pt;
  --pdf-mega: 120pt;
  --pdf-mega-lg: 160pt;
  --pdf-mega-xl: 220pt;
  --pdf-mega-2xl: 280pt;
  --pdf-mega-3xl: 360pt;

  /* ========================================================================
   * 4 · 行高
   * ======================================================================== */

  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.6;
  --leading-relaxed: 1.8;
  --leading-loose: 2.0;

  /* ========================================================================
   * 5 · 字间距
   * ======================================================================== */

  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.1em;
  --tracking-widest: 0.25em;
  --tracking-en: 0.02em;

  /* ========================================================================
   * 6 · 字重
   * ======================================================================== */

  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-black: 900;

  /* ========================================================================
   * 7 · 颜色 · 风后所见品牌色板
   * ======================================================================== */

  /* 主色 */
  --color-fenghou: #A0522D;
  --color-fenghou-light: #C97A4F;
  --color-fenghou-dark: #7A3F22;

  /* 12 系 */
  --color-xi-mu: #3F7F5A;
  --color-xi-huo: #9E2A2B;
  --color-xi-tu: #8B6F47;
  --color-xi-jin: #B8860B;
  --color-xi-shui: #2C5282;
  --color-xi-lei: #5F3DC4;
  --color-xi-feng: #7D8471;
  --color-xi-shan: #8E7C6A;
  --color-xi-ze: #67A1B8;
  --color-xi-guang: #D4A027;
  --color-xi-ying: #4A5568;
  --color-xi-hai: #2B6CB0;

  /* 中性色 */
  --color-ink: #2A2A2A;
  --color-ink-light: #4A4A4A;
  --color-muted: #8B7355;
  --color-muted-light: #B8A88E;
  --color-border: #DDD3C0;
  --color-bg-paper: #FAF7F0;
  --color-bg-cream: #F5EFE0;
  --color-bg-ink: #1A1817;

  /* 印章红 */
  --color-seal: #9E2A2B;
  --color-seal-bg: #FFFEF6;

  /* 状态色 */
  --color-success: #3F7F5A;
  --color-warning: #D4A027;
  --color-error: #9E2A2B;
  --color-info: #2C5282;

  /* ========================================================================
   * 8 · 间距 · 4px 基础
   * ======================================================================== */

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* PDF 用 mm */
  --mm-1: 1mm;
  --mm-2: 2mm;
  --mm-3: 3mm;
  --mm-5: 5mm;
  --mm-8: 8mm;
  --mm-10: 10mm;
  --mm-15: 15mm;
  --mm-20: 20mm;
  --mm-25: 25mm;

  /* ========================================================================
   * 9 · 圆角 · 阴影 · 动效
   * ======================================================================== */

  --radius-sm: 0.25rem;
  --radius-base: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 2px rgba(42, 42, 42, 0.05);
  --shadow-base: 0 2px 8px rgba(42, 42, 42, 0.08);
  --shadow-lg: 0 8px 24px rgba(42, 42, 42, 0.12);

  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
}

/* ============================================================================
 * 注意 · 本文件不包含任何 body / h1 / @media print 等"应用规则"
 * 只定义变量,让模板自己用 var(--xxx) 引用
 * 这样不会跟模板的样式冲突,也不会触发 WeasyPrint 的解析 bug
 * ============================================================================ */
