/*
 * Landfall（暂名）设计令牌 · 唯一来源
 * 方向：田野笔记 × 隔行对照（Field Notebook × Interlinear）
 * 规则：语种色、差分透镜、语际边类型只在这里定义。任何页面、原型、生产组件都引用这些变量，
 *       不再在文档或组件里另写一份色值（v1 PRD 与 HANDOVER.md 的语种色已经互相冲突，见架构 v2 C12）。
 * 对比度：浅色/深色下所有文字色对页面底色 ≥ 4.5:1（2026-11-09 计算，脚本见 docs/VISUAL_DESIGN_V2.md 第 3 节）。
 */

:root {
  /* 纸与墨：浅色「纸页」 */
  --paper: #f4efe6;
  --paper-raised: #fbf8f2;
  --paper-sunk: #ebe4d7;
  --rule: #dcd3c4;
  --rule-strong: #c4b8a5;
  --ink: #1f1a14;
  --ink-2: #5b5247;
  --ink-3: #6e6458;
  --shadow: 0 1px 0 rgb(31 26 20 / 0.04), 0 8px 24px -12px rgb(31 26 20 / 0.18);

  /* 语种墨水：一次只有一门是「聚焦语」，其余作为桥接语以低饱和出现 */
  --lang-es: #a8471f; /* 赭陶 */
  --lang-fr: #334a94; /* 墨水蓝 */
  --lang-vi: #2b6549; /* 荷叶绿 */
  --lang-ja: #9a2c47; /* 胭脂 */
  --lang-th: #7c5e0c; /* 寺金 */
  --lang-ko: #5a3a86; /* 李紫 */
  --lang-en: #46566a; /* 石板灰（常见桥接语） */
  --lang-zh: #6a4528; /* 褐墨（常见桥接语） */
  --focus: var(--lang-es); /* 运行时由聚焦语覆盖 */

  /* 差分透镜：颜色 + 线型双编码，不依赖颜色单独传达 */
  --lens-known: var(--ink);
  --lens-transparent: color-mix(in oklab, var(--ink) 52%, var(--paper));
  --lens-new-bg: #f0d27a;
  --lens-new-ink: var(--ink);
  --lens-partial: var(--ink-2);
  --lens-false: #b23a0e;

  /* 状态 */
  --ok: #2b6549;
  --alert: #b23a0e;
  --pending: var(--ink-3);

  /* 字体：阅读衬线 Literata（含越南语）；界面 IBM Plex Sans 家族（含越南语，另有 JP/Thai 同族字形）；
     注释与 IPA 用 Plex Mono；中文回退到系统字体，避免整套 CJK 网络字体拖慢首屏 */
  --font-read: "Literata", "Noto Serif SC", "Songti SC", Georgia, serif;
  --font-ui: "IBM Plex Sans", "IBM Plex Sans Thai", "IBM Plex Sans JP", "PingFang SC", "Hiragino Sans", system-ui, sans-serif;
  --font-gloss: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-read: clamp(1.125rem, 1.02rem + 0.4vw, 1.3rem);
  --text-title: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem);
  --text-display: clamp(2.2rem, 1.4rem + 3.4vw, 4.4rem);

  /* 节奏：不同层级不同间距，不做处处一样的 padding */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 36px;
  --space-7: 56px;
  --space-section: clamp(56px, 40px + 4vw, 120px);

  --radius-tight: 4px;   /* 标签、注释 */
  --radius-card: 14px;   /* 卡片 */
  --radius-ticket: 18px; /* 目的地「登机牌」 */

  --duration-fast: 140ms;
  --duration-normal: 260ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* 深色「夜车」：暖黑纸 + 亮墨，不是冷蓝仪表盘 */
:root[data-theme="night"] {
  --paper: #17140f;
  --paper-raised: #221e18;
  --paper-sunk: #110f0b;
  --rule: #3a332a;
  --rule-strong: #554b3e;
  --ink: #eee7db;
  --ink-2: #b9ae9f;
  --ink-3: #958a7c;
  --shadow: 0 1px 0 rgb(0 0 0 / 0.3), 0 10px 30px -14px rgb(0 0 0 / 0.7);

  --lang-es: #e8885f;
  --lang-fr: #93a8ec;
  --lang-vi: #7cc4a0;
  --lang-ja: #ee8aa3;
  --lang-th: #d9b75a;
  --lang-ko: #b9a0e6;
  --lang-en: #a9b8cb;
  --lang-zh: #d2a57f;

  --lens-new-bg: #5e4a1a;
  --lens-false: #f28a5b;
  --ok: #7cc4a0;
  --alert: #f28a5b;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-normal: 0ms;
  }
}
