/* ============================================================
   记工表 官网 · 设计令牌（唯一真相源 · 见 REDESIGN_PLAN.md §1）
   方向：对工演示 × 工程精密 · 青绿 Committed · 单一强调色锁定
   每个色双写 hex→oklch：旧安卓/鸿蒙 WebView(<Chromium111) 落 hex
   ============================================================ */
:root {
  /* —— 背景 / 表面 —— */
  --bg:#f7fbfb;--bg:oklch(0.985 0.004 195);
  --surface:#ffffff;--surface:oklch(1 0 0);
  --surface-teal:#e7f8f6;--surface-teal:oklch(0.965 0.018 190);
  --surface-teal-2:#d9f3f0;--surface-teal-2:oklch(0.945 0.026 190);
  --surface-sunk:#f0f4f4;--surface-sunk:oklch(0.965 0.006 196);
  --ink-surface:#0b2121;--ink-surface:oklch(0.23 0.028 196);
  --ink-surface-2:#16302f;--ink-surface-2:oklch(0.30 0.030 196);

  /* —— 墨色文字 ramp（全部 ≥ AA） —— */
  --ink:#162525;--ink:oklch(0.25 0.02 196);
  --ink-2:#445050;--ink-2:oklch(0.42 0.015 196);
  --ink-3:#586766;--ink-3:oklch(0.50 0.018 196);
  --ink-4:#7c8887;--ink-4:oklch(0.62 0.014 196);
  --ink-on-dark:#dfebe9;--ink-on-dark:oklch(0.93 0.012 190);
  --ink-on-dark-2:#96b1af;--ink-on-dark-2:oklch(0.74 0.03 190);

  /* —— 品牌青绿 ramp（唯一强调色） —— */
  --teal-50:#e7f8f6;--teal-50:oklch(0.97 0.018 190);
  --teal-100:#c8f0eb;--teal-100:oklch(0.93 0.038 190);
  --teal-200:#9ae3dc;--teal-200:oklch(0.86 0.065 190);
  --teal-300:#5fcec5;--teal-300:oklch(0.76 0.085 189);
  --teal-400:#23b5ac;--teal-400:oklch(0.66 0.10 189);
  --teal-500:#0b8e87;--teal-500:oklch(0.585 0.10 188);
  --teal:#007a75;--teal:oklch(0.52 0.095 190);--teal-600:var(--teal);
  --teal-700:#005b59;--teal-700:oklch(0.42 0.085 192);
  --teal-800:#0a4644;--teal-800:oklch(0.34 0.06 194);
  --teal-press:#006a66;--teal-press:oklch(0.46 0.095 190);

  /* —— amber 功能色（唯一文字令牌 --amber-text · 禁配白字） —— */
  --amber:#e8aa4e;--amber:oklch(0.78 0.13 75);
  --amber-text:#985700;--amber-text:oklch(0.52 0.13 68);
  --amber-surface:#f8e5c7;--amber-surface:oklch(0.93 0.045 80);
  --amber-line:#f0cf94;--amber-line:oklch(0.85 0.08 78);

  /* —— 落章红印（钉死唯一值 · 红边深字，禁红底白字） —— */
  --seal:#b6322d;--seal:oklch(0.52 0.17 27);
  --seal-wash:oklch(0.52 0.17 27 / .10);

  /* —— 描边 / 肌理 —— */
  --line:#e4ebea;--line:oklch(0.92 0.008 196);
  --line-strong:#cdd9d8;--line-strong:oklch(0.86 0.012 196);
  --line-teal:#cfeae5;--line-teal:oklch(0.88 0.04 190);
  --line-on-dark:oklch(1 0 0 / .12);
  --grid-blueprint:oklch(0.52 0.095 190 / .08);

  /* —— CTA 实色（白字 5.21 达 AA） / 装饰渐变（与交互解耦） —— */
  --cta-solid:#007a75;--cta-solid:oklch(0.52 0.095 190);
  --grad-surface:linear-gradient(135deg,#0b8e87,#0a8a82);
  --grad-surface:linear-gradient(135deg,oklch(0.585 0.10 188),oklch(0.50 0.095 190));
  --atmos-hero:radial-gradient(1100px 560px at 78% -8%,oklch(0.94 0.03 190 / .9) 0%,transparent 62%);

  /* —— 阴影（青绿调多层，非脏黑） —— */
  --shadow-xs:0 1px 2px oklch(0.25 0.02 196 / .06);
  --shadow-sm:0 2px 8px -3px oklch(0.25 0.02 196 / .10);
  --shadow-md:0 10px 30px -14px oklch(0.52 0.095 190 / .28),0 4px 12px -8px oklch(0.25 0.02 196 / .10);
  --shadow-lg:0 30px 70px -28px oklch(0.52 0.095 190 / .38),0 10px 28px -16px oklch(0.25 0.02 196 / .14);
  --shadow-phone:0 50px 90px -30px oklch(0.40 0.07 192 / .45),0 18px 40px -22px oklch(0.25 0.02 196 / .30);
  --shadow-focus:0 0 0 3px oklch(0.52 0.095 190 / .35);
  --shadow-seal:0 2px 6px oklch(0.52 0.17 27 / .25);

  /* —— 圆角 Shape-Lock —— */
  --r-card:20px;--r-card-lg:28px;--r-btn:14px;--r-input:12px;--r-badge:8px;--r-chip:999px;--r-phone:38px;--r-sm:10px;

  /* —— z-index 语义层级 —— */
  --z-blueprint:1;--z-raised:10;--z-sticky:50;--z-nav:100;--z-nav-progress:101;--z-overlay:200;--z-modal:300;--z-seal:400;--z-toast:500;

  /* —— 间距节奏（4px 基线，反均匀填充） —— */
  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;
  --gap:clamp(1rem,.6rem + 1.4vw,1.75rem);--gap-tight:clamp(.6rem,.4rem + .8vw,1rem);
  --section-y:clamp(4.5rem,3rem + 7vw,9rem);--section-y-tight:clamp(3rem,2rem + 4vw,5.5rem);--stack:1.1rem;

  /* —— 容器 / 栅格 —— */
  --container:1200px;--container-wide:1320px;--container-narrow:720px;
  --pad-x:clamp(1.1rem,.4rem + 3vw,2.5rem);--bento-row:clamp(120px,14vw,200px);

  /* —— 排版 —— */
  --font:"HarmonyOS Sans SC","PingFang SC",-apple-system,BlinkMacSystemFont,"Source Han Sans SC","Noto Sans CJK SC","MiSans","Microsoft YaHei",system-ui,sans-serif;
  --num:"SF Mono","Roboto Mono",ui-monospace,"Menlo","Consolas",monospace;
  --t-hero:clamp(1.85rem,1.18rem + 2.55vw,3.2rem);
  --t-h2:clamp(1.5rem,1.05rem + 1.95vw,2.4rem);
  --t-h3:clamp(1.2rem,1.02rem + .78vw,1.5rem);
  --t-h4:clamp(1.06rem,.98rem + .34vw,1.2rem);
  --t-lead:clamp(1.12rem,1.04rem + .36vw,1.3rem);
  --t-base:1rem;--t-sm:.9rem;--t-xs:.8rem;
  --t-num-xl:clamp(1.7rem,1.1rem + 2.2vw,2.9rem);
  --t-num-lg:clamp(1.25rem,1.1rem + .6vw,1.6rem);
  --t-num-md:1.06rem;--t-num-sm:.86rem;
  --lh-title:1.18;--lh-body:1.7;--lh-tight:1.3;--lh-num:1;
  --fw-hero:800;--fw-bold:700;--fw-med:600;--fw-reg:400;
  --ls-title:-0.02em;--ls-body:0;--ls-num:0.01em;

  /* —— 动效（一种语言 · compositor-only） —— */
  --ease-out-expo:cubic-bezier(0.16,1,0.3,1);
  --ease-out-soft:cubic-bezier(0.22,0.61,0.36,1);
  --ease-seal:cubic-bezier(0.34,1.56,0.64,1);
  --ease-lock:cubic-bezier(0.7,0,0.3,1);
  --dur-fast:140ms;--dur:240ms;--dur-slow:560ms;--dur-narrative:900ms;
  --tap-scale:.985;--lift:-2px;

  /* —— 向后兼容别名（download 页 dl.css / 旧引用，指向规范令牌，勿在新代码使用） —— */
  --ease:var(--ease-out-expo);
  --surface-ink:var(--ink-surface);
  --grad-hero:var(--atmos-hero);
  --grad-cta:var(--grad-surface);

  /* ===== §V3 编辑层补充（Editorial-Engineering · 仅新增，不改上方既有令牌） ===== */
  /* 编辑式超大 display 字阶（比 --t-hero 更大，承载杂志感主标题） */
  --t-display: clamp(2.4rem, 1.2rem + 5.2vw, 5.4rem);
  --t-act:     clamp(1.9rem, 1.1rem + 3.4vw, 3.6rem);
  --t-index:   clamp(2.6rem, 1.4rem + 4vw, 5rem);     /* 章节大序号 01-04 */
  --lh-display: 1.04;
  --ls-display: -0.035em;

  /* 编辑式节奏间距（与 --section-y 互补，刻意非均匀） */
  --rhythm-tight: clamp(2.5rem, 1.6rem + 3vw, 4rem);
  --rhythm-wide:  clamp(5rem, 3rem + 8vw, 11rem);
  --rail: clamp(1.1rem, 0.4rem + 3vw, 3rem);           /* 编辑式左轨缩进 */

  /* 肌理（纯 CSS，0 资源） */
  --tex-blueprint:
    linear-gradient(var(--grid-blueprint) 1px, transparent 1px) 0 0 / 26px 26px,
    linear-gradient(90deg, var(--grid-blueprint) 1px, transparent 1px) 0 0 / 26px 26px;
  --tex-ledger:
    repeating-linear-gradient(var(--surface) 0 30px, var(--line) 30px 31px);
  --tex-ledger-dark:
    repeating-linear-gradient(transparent 0 30px, var(--line-on-dark) 30px 31px);
  --hairline: 1px solid var(--line);
  --hairline-strong: 1.5px solid var(--ink);
  --hairline-dark: 1px solid var(--line-on-dark);
  --r-bar: 5px;   /* 柱状图条顶圆角（Shape-lock 扩展） */
  --scrim: oklch(0.20 0.025 196 / .93);   /* 深色遮罩（微信引导蒙版等） */

  /* 暗场（招牌对工）专用渐变氛围 */
  --atmos-stage: radial-gradient(80% 60% at 50% 0%, oklch(0.30 0.030 196 / .8), transparent 70%);
  --grad-seal-wash: radial-gradient(circle, var(--seal-wash), transparent 70%);

  /* 导航/菜单半透明近白底（毛玻璃） */
  --bg-blur: oklch(0.985 0.004 195 / .8);
  --bg-blur-strong: oklch(0.985 0.004 195 / .98);
  /* 浅色玻璃叠层（暗块/真机内部白色透明层，避免裸 oklch(1 0 0/…)） */
  --glass-10: oklch(1 0 0 / .1);
  --glass-12: oklch(1 0 0 / .12);
  --glass-16: oklch(1 0 0 / .16);
  --glass-18: oklch(1 0 0 / .18);
  --glass-20: oklch(1 0 0 / .2);
  --glass-35: oklch(1 0 0 / .35);
  --glass-94: oklch(1 0 0 / .94);
  --on-dark-85: oklch(1 0 0 / .85);
  --on-dark-80: oklch(1 0 0 / .8);
}
