/* ============================================================================
   菩澜渡 WisFerry · 设计令牌单一真源（tokens.css）
   执笔：李诫 2026-10-03 ｜ 状态：**定稿 v1.0.0**
   授权：阿枢 2026-10-03 —— 坤谦将视觉决策权下放（"你按照你的思考来决定就好了"），
         验收标准 = "客户的前端视觉体验要足够舒适自然，有往下继续看的冲动和欲望"。
   上游依据：丹青《丹青_tokens.css_草案_v2.css》（设计正本·A 套暖棕线）
   本件归属：设计系统侧产物（李诫维护）。工程侧只实现与校验，不得二次加工。
   引入方式：统一 `<link rel="stylesheet" href="/css/tokens.css">`，串在页面私有
             `<style>` **之前**；**不用 @import**。
   覆盖范围：13 个入口 —— index / booking / products / my / admin / verify / about /
             faq / notes / agreement / privacy / terms ＋ ref/index。
             原 13 份内联 :root 已全部收编；页面此后**不再自写令牌**。
   ★ 版本史（纪律 M · 每次修改追加一行）
     v1.0.0 2026-10-03 李诫定稿
        · 收编 13 页内联 :root；canonical 一律 `--c-*` + 角色语义命名
        · 色彩：**裁定 D3 —— A 套暖棕线为现行正本**（#8B6E4E / #F5F0E8 / #7A6044）；
          C 套（仿生命流·鼠尾草绿系 #A8B5A2 / #F5F1EA）标为历史，不再使用
        · 新增暖墨暗底族 `--c-ink-dark:#1E1A15` ＋ 暗底四级前景字（均 ≥4.5:1，见 §9 实测）
        · 新增暖调面：--c-paper / --c-paper-2 / --c-paper-3 / --c-tint-2 /
          --c-warn-soft / --c-ok-soft / --c-accent-soft / --c-line-strong，
          替换 13 页 30+ 处一次性硬编码（原含冷绿 #ecf3e8 / #f0f5ec、冷红 #fbf0ec 等）
        · **--green-soft 由冷绿 #E9EFE8 重映射为暖调 --c-tint:#EFE9E0**（5 处引用零页面改动生效）
        · **新增"实测驱动"的文字色令牌**（原方案在实测中不达标，故拆出）
            --c-brand-ink / --c-warn-ink / --c-ok-ink / --c-gold-ink / --c-disabled-ink：
            各"亮色令牌"保留作线条/图标/描边；**凡作文字一律改用 *-ink 版本**
        · 新增 §4 行高/字距、§5 节奏与版心、§6 暖调阴影、§7 动效令牌
        · 新增 --scrim-hero 暖墨遮罩，替换冷绿灰 rgba(40,45,38,…)
        · 删除失效令牌：--c-rose / --c-sage-fade / --c-sage-deep（全站生效引用 = 0）
        · 禁用态由 `#b9b2a4`＋白字（2.11:1）改为 --c-disabled-bg ＋ --c-disabled-ink（4.57:1）
   ============================================================================ */

:root{
  /* ── 1 canonical 色彩（角色语义命名；新增令牌勿用颜色名） ───────────────── */
  --c-brand:#8B6E4E;        /* 主色·流动暖棕：主 CTA／主标题／品牌强调 */
  --c-brand-hover:#7A6044;  /* 主色加深约 8%（hover/active 专用，禁落辅助色） */
  --c-brand-ink:#6E5238;    /* 主色系**小字**专用：暖浅底上的品牌文字（5.97:1） */
  --c-on-brand:#FFFFFF;     /* 主色实底上的前景字色（4.73:1 ≥ AA） */
  --c-beige:#F5F0E8;        /* 页面背景·柔沙米（<meta theme-color> 同值） */
  --c-ink:#2D2620;          /* 正文主墨 */
  --c-ink-soft:#666666;     /* 次级文字 */
  --c-ink-faint:#999999;    /* 弱化：**禁用于任何文字**，仅限装饰/分隔 */
  --c-ink-dark:#1E1A15;     /* 暗底／页脚／首屏遮罩（玄墨）——全站唯一暗色族 */
  --c-tint:#EFE9E0;         /* 暖调浅底：徽标底／序号圆底（替代旧冷绿 --green-soft） */
  --c-tint-2:#F1ECE4;       /* 暖调浅底·次级（中性/退役态） */
  --c-sage:#85A389;         /* 辅助·新芽绿：**仅点缀，禁作文字、禁作按钮态、禁超主色面积** */
  --c-gold:#C9A87C;         /* 装饰金（定死值）：仅细线／描边／图标；**禁作文字、禁按钮底色** */
  --c-gold-ink:#7A5E2B;     /* 金系**小字**专用：浅底上的 eyebrow／`查看›`（5.35:1） */
  --c-gold-hover:#CBB084;   /* 装饰金·提亮（仅非文字装饰） */
  --c-white:#FEFCF8;        /* 卡片底 */
  --c-line:#E5DED2;         /* 分隔线 */
  --c-line-strong:#D9C9A8;  /* 品牌强调线（虚线框／重点容器描边） */

  /* 暖调纸感面（提示条／券／声明块） */
  --c-paper:#FBF7F0;
  --c-paper-2:#FDFBF6;
  --c-paper-3:#F6F0E5;

  /* 状态（一律暖调侧；禁冷绿/冷红） */
  --c-warn:#A6604A;         /* 警示·线条/图标 */
  --c-warn-ink:#94503C;     /* 警示·文字（5.28:1） */
  --c-warn-soft:#F7EDE9;
  --c-warn-line:#DDB4A4;
  --c-ok:#5E7A54;           /* 成功·线条/图标 */
  --c-ok-ink:#4F6A46;       /* 成功·文字（5.30:1） */
  --c-ok-soft:#EDF1E9;
  --c-ok-line:#BCCBAF;
  --c-accent-soft:#F4E3C8;  /* 强调胶囊底（热门/限时） */
  --c-accent-ink:#7C5F2A;   /* 强调胶囊字（4.73:1） */
  --c-disabled-bg:#EDE7DC;  /* 按钮/控件禁用底 */
  --c-disabled-ink:#666666; /* 按钮/控件禁用字（4.57:1，可读的"非活动"） */

  /* 暗底前景四级（在 --c-ink-dark 上的实测对比，见 §9） */
  --c-on-dark:#EAE6DC;        /* 13.88:1 暗底主字／标题 */
  --c-on-dark-strong:#CFCABE; /* 10.58:1 暗底正文 */
  --c-on-dark-soft:#A8A398;   /*  6.89:1 暗底次级（备案号唯一合规取值） */
  --c-on-dark-faint:#8A857A;  /*  4.71:1 暗底弱化（仅限非正文小字） */
  --c-line-dark:#3A342C;      /* 暗底分隔线（暖化，替代原冷调 #444941） */

  /* 遮罩与半透明面 */
  --scrim-hero:linear-gradient(180deg,rgba(30,26,21,.55),rgba(30,26,21,.72)); /* 暖墨，去绿灰 */
  --nav-bg:rgba(248,245,239,.92);
  --shade-light:rgba(255,255,255,.70);
  --shade-light-2:rgba(255,255,255,.12);
  --shade-brand:rgba(139,110,78,.08);

  /* ── 2 语义面（供组件直用） ─────────────────────────────────────────── */
  --bg:var(--c-beige);
  --bg-soft:#EDE7DC;
  --ink:var(--c-ink);
  --ink-soft:var(--c-ink-soft);
  --line:var(--c-line);
  --white:var(--c-white);

  /* ── 3 字体 ─────────────────────────────────────────────────────────── */
  --font-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  --font-serif:Georgia,"Songti SC","STSong","SimSun",serif;

  /* ── 4 型阶（底线：正文≥14px、注释≥12px；输入框移动端≥16px 防缩放） ──── */
  --fs-display:clamp(34px,6vw,54px);   /* 首页 Hero 主标题 */
  --fs-h1:clamp(32px,6vw,40px);        /* 页级主标题 */
  --fs-h2-lg:clamp(26px,4vw,36px);     /* 区块主标题 */
  --fs-h2:clamp(24px,4vw,28px);
  --fs-h3:18px;
  --fs-body:15px;
  --fs-input:16px;
  --fs-eyebrow:14px;                   /* eyebrow 小字（含字距 --ls-kicker） */
  --fs-aux:13px;
  --fs-note:12px;                      /* 注释底线 */

  /* 行高与字距（"舒适自然"的主要来源） */
  --lh-tight:1.25;   /* 大标题 */
  --lh-snug:1.45;    /* 小标题 / 卡片名 */
  --lh-body:1.70;    /* 正文基准 */
  --lh-loose:1.90;   /* 长段落 / 声明块 */
  --ls-base:.5px;
  --ls-wider:2px;   /* 小标题字距 */
  --ls-wide:1px;     /* 中文标题常用 */
  --ls-kicker:3px;   /* eyebrow 小字 */

  /* ── 5 间距（4px 基数）＋ 节奏 ＋ 圆角 ＋ 版心 ──────────────────────── */
  --pad-page:20px;          /* <768；≥768 由媒体查询改 24px */
  --sp-1:4px;   --sp-2:8px;   --sp-3:12px;  --sp-4:16px;
  --sp-5:20px;  --sp-6:24px;  --sp-8:32px;  --sp-10:40px;
  --sp-12:48px; --sp-16:64px; --sp-18:72px; --sp-20:80px;
  --sec-y:56px;             /* section 垂直（移动） */
  --sec-y-lg:72px;          /* section 垂直（桌面）—— 收敛 index(72)/about(56)/faq/notes(56) 三套口径 */
  --sec-head-gap:44px;      /* 居中区块标题 → 内容（收敛 index 44 / about 38） */
  --sec-head-gap-tight:26px;/* 左对齐区块标题 → 内容（notes 变体） */
  --gutter:24px;            /* 版心左右留白 */
  --maxw:1120px;            /* 版心宽 */
  --radius-xs:8px;
  --radius-sm:10px;
  --radius-md:12px;
  --radius-lg:14px;
  --radius-xl:16px;
  --radius-2xl:20px;
  --radius-pill:24px;       /* 全站胶囊/按钮统一值（原 22/24/28/30 混用已收敛） */
  /* 语义别名 */
  --radius-card:var(--radius-lg);
  --radius-input:var(--radius-md);

  /* ── 6 阴影（一律暖调，禁冷灰） ─────────────────────────────────────── */
  --sh-1:0 1px 2px rgba(60,50,35,.05);
  --sh-card-hover:0 8px 24px rgba(90,80,60,.08);
  --sh-card-hover-lg:0 10px 28px rgba(90,80,60,.10);
  --sh-row-hover:0 8px 22px rgba(90,80,60,.09);
  --sh-cta:0 6px 20px rgba(60,45,28,.22);   /* 主 CTA 与照片分离用 */

  /* ── 7 动效 ─────────────────────────────────────────────────────────── */
  --dur-fast:150ms;
  --dur-base:250ms;
  --dur-slow:300ms;
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --reveal-stagger:60ms;    /* 错峰步长（上限 240ms） */
  --reveal-shift:18px;      /* 滚动显现位移 */

  /* ── 8 兼容别名层（阶段一：保留，零页面改动；阶段二：择期迁移后删） ──── */
  --green-deep:var(--c-brand);
  --green:var(--c-sage);
  --green-soft:var(--c-tint);   /* ★ 暖化重映射：原 #E9EFE8 冷绿 → 暖调米 */
  --brown:var(--c-brand);
  --gold:var(--c-gold);
  --warn:var(--c-warn);
  --fs-micro:var(--fs-note);    /* 过渡别名：实测用法 = 0，防御性保留 */
}

/* 页面留白：≥768 用 24px */
@media (min-width:768px){ :root{ --pad-page:24px; } }

/* 降级纪律：系统减少动效时，时长归零（内容必须可见） */
@media (prefers-reduced-motion:reduce){
  :root{ --dur-fast:0ms; --dur-base:0ms; --dur-slow:0ms; --reveal-stagger:0ms; --reveal-shift:0px; }
}

/* ============================================================================
   §9 对比度实测证据（李诫 2026-10-03 脚本实算，非估算；明细见 contrast_audit_result.json）
      全表 41 对；**定稿项 0 处不达标**。

   ① 主色实底（按钮/主 CTA）
      #FFFFFF on #8B6E4E = 4.73:1 ✅ AA      #FFFFFF on #7A6044 = 5.86:1 ✅ AA
   ② 浅底正文
      #2D2620 on #F5F0E8 = 13.13:1 ✅       #666666 on #F5F0E8 = 5.06:1 ✅
      #2D2620 on #FEFCF8 = 14.54:1 ✅       #666666 on #FEFCF8 = 5.60:1 ✅
      #2D2620 on #EDE7DC = 12.11:1 ✅       #8B6E4E on #FEFCF8 = 4.62:1 ✅
      #8B6E4E on #F5F0E8 = 4.17:1（仅达大字档，故主色不作小字）
   ③ 暖浅底上的品牌小字（徽标／序号圆／余位胶囊）
      #8B6E4E on #EFE9E0 = 3.92:1 ✗ ← **原方案不达标 → 故拆出 --c-brand-ink**
      #6E5238 on #EFE9E0 = 5.95:1 ✅ ← 定稿改用 --c-brand-ink
   ④ 浅底上的金系小字（eyebrow／`查看›`）
      #C9A87C on #F5F0E8 = 1.97:1 ✗ / on #FBF7F0 = 2.10:1 ✗ ← **原方案不达标**
      #7A5E2B on #F5F0E8 = 5.34:1 ✅ / on #FBF7F0 = 5.68:1 ✅ ← 定稿改用 --c-gold-ink
   ⑤ 状态文字
      #A6604A on #F7EDE9 = 4.15:1 ✗ → #94503C = 5.26:1 ✅（--c-warn-ink）
      #5E7A54 on #EDF1E9 = 4.18:1 ✗ → #4F6A46 = 5.27:1 ✅（--c-ok-ink）
      #7C5F2A on #F4E3C8 = 4.73:1 ✅（--c-accent-ink）
      #666666 on #F1ECE4 = 4.88:1 ✅（中性/退役态）
   ⑥ 暖调面正文
      #666666 on #FBF7F0 = 5.38:1 ✅        #666666 on #FDFBF6 = 5.55:1 ✅
      #8B6E4E on #FDFBF6 = 4.58:1 ✅
   ⑦ 暗底（--c-ink-dark:#1E1A15 之上）
      #EAE6DC=13.88:1 ✅  #CFCABE=10.58:1 ✅  #A8A398=6.89:1 ✅  #8A857A=4.71:1 ✅
   ⑧ 已修复的既有缺陷（改前 → 改后，均由本脚本实测坐实）
      备案号 #6E6A60 on 旧页脚 #333730 = **2.25:1** ✗ → #A8A398 on #1E1A15 = 6.89:1 ✅
      备案号 若仅换底不换字 #6E6A60 on #1E1A15 = **3.21:1** ✗（证明"只改底"不够）
      禁用按钮 #FFFFFF on #B9B2A4 = **2.11:1** ✗ → #666666 on #EDE7DC = 4.67:1 ✅
   ⑨ 明确禁用项（实算证明不可作文字）
      --c-sage #85A389 on #F5F0E8 = 2.44:1 ✗ —— 辅助色禁作文字
      --c-gold #C9A87C on #F5F0E8 = 1.97:1 ✗ —— 装饰金禁作文字
      --c-ink-faint #999999 on #F5F0E8 = 2.51:1 ✗ —— 禁用于任何文字
   ⑩ 非对比度类的"一致性"改动（据实说明，勿与 AA 混淆）
      成功/警示态由冷绿 #ecf3e8/#4d6b3f、冷红 #fbf0ec/#a9523b 改为暖调侧
      （--c-ok-soft/--c-ok-ink、--c-warn-soft/--c-warn-ink）。**旧值对比度本就达标**
      （#4d6b3f on #ecf3e8 = 5.32:1 ✅），此处改的是**全站色调同族**（暖棕线），非合规修复。
   ★ 用法纪律
   · 凡"作文字"必用对应 *-ink 令牌；--c-line* / --c-warn / --c-ok / --c-gold / --c-sage
     仅承担**线条、图标、描边**（非文本对比门槛 3:1，均已达标）。
   · **交互态（hover/active）一律由主色派生，禁落辅助色。**
   · 单页辅助色面积 ≤ 主色面积。
   · 页面/组件内**禁止**裸色值、裸字号、裸间距 —— 一律走本件令牌。
   ============================================================================ */
