@charset "UTF-8";
/* ==========================================================================
   tokens.css — CHINYOO 设计系统的唯一真值来源
   --------------------------------------------------------------------------
   本文件必须最先加载（enqueue.php: ew-tokens 无依赖，ew-main-style 依赖它）。
   其它样式表**不再直接写字面色值/字号/圆角/阴影**，一律引用本文件的变量。

   命名空间（刻意与旧变量错开，避免任何覆盖）：
     --c-*   颜色        --fs-*  字号      --sp-*  间距
     --r-*   圆角        --sh-*  阴影      --lh-*  行高   --fw-* 字重
     --hero-* 首页视觉   --container-w 版心  --font-sans 字体栈

   旧变量（--primary/--accent/--text/--line/--radius/--font/--ew-*）不删除，
   在 main.css / p4.css 的 :root 里改成**别名映射**指向本文件。
   这样全站已有的 var() 引用（含 PHP 内联 style）自动跟随，且改配色只需改这里。

   ⚠️ P2 阶段铁律：别名链必须**逐字复现**当前值，页面像素零变化。
      下方标 [P5] 的语义色仍是旧值，等组件收敛时再迁到 --c-n-* 中性阶。
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. 字体 —— montserrat-latin.woff2 是**可变字体**（二进制含 fvar/gvar/HVAR 表）。
      合并成单条 100 900 声明：规则数 5→1，且 100/900 及任意中间字重都可用。
      注：这不是修 bug —— 原 5 条单值声明在 Chrome 下已能正确分级（实测
      400/500/600/700/800 宽度互不相同），此处只是去重。
   -------------------------------------------------------------------------- */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(../fonts/montserrat-latin.woff2) format('woff2');
}

:root {

	/* ---------------------------------------------------------------
	   1. 中性阶（冷灰 11 级）—— 目标色板。当前只有少量被引用，
	      P5 组件收敛时把散落的 28 种灰字面量迁到这一套。
	   --------------------------------------------------------------- */
	--c-n-0:   #FFFFFF;
	--c-n-50:  #F5F7F9;
	--c-n-100: #E8ECF0;
	--c-n-200: #D5DBE1;
	--c-n-300: #B4BEC8;
	--c-n-400: #8A96A3;
	--c-n-500: #64717F;
	--c-n-600: #48545F;
	--c-n-700: #2E3944;
	--c-n-800: #1B222B;
	--c-n-900: #0F141A;

	/* ---------------------------------------------------------------
	   2. 品牌色 —— 单一真值来源（此前全站有 3 种红）
	      brand    = 填充（按钮底、色块）
	      brand-ink= 文字（白底上 9.2:1，AA 富余；旧代码用 #DA2735 只有 4.86:1）
	   --------------------------------------------------------------- */
	--c-brand:      #DA2735;
	--c-brand-dark: #B01F2A;
	--c-brand-ink:  #8E1620;
	--c-brand-soft: #FDEEEF;
	--c-success:    #2E7D32;
	--c-danger:     #CC0000;

	/* ---------------------------------------------------------------
	   3. 语义色 —— [P5] 当前值，逐字等于改造前的字面量，保证零视觉变化
	   --------------------------------------------------------------- */
	--c-text:        #000;      /* [P5] → var(--c-n-900) */
	--c-text-muted:  #333;      /* [P5] → var(--c-n-600) */
	--c-text-soft:   #5c6b7a;   /* p4 的 --ew-text-muted */
	--c-text-strong: #1c2b3a;   /* p4 的 --ew-text  [P5] → var(--c-n-800) */
	--c-line:        #E9ECF0;
	--c-line-strong: #c3d0dc;
	--c-surface:      #FFFFFF;
	--c-surface-alt:  #F2F5F7;
	--c-surface-soft: #f7f8fa;
	--c-footer:       #232020;

	/* 深色 chrome（导航 / hero / 页脚底）——P4 启用，本阶段无人引用 */
	--c-chrome:    var(--c-n-900);
	--c-chrome-fg: #FFFFFF;

	/* ---------------------------------------------------------------
	   4. 字号模数 —— 改造前全站实测 26 种字号（含 9px/10px/13.5px 与
	      10 个各自为政的 rem 值）。现收敛为下面 12 档，正文段
	      (12/13/14/15/16) 保持原值不动，只把孤立档并到最近的邻居。
	      每一档都是"会被真正用到"的，没有占位档。
	   --------------------------------------------------------------- */
	--fs-2xs: 11px;   /* 认证徽章、下载扩展名     */
	--fs-xs:  12px;   /* 顶部条、页脚小字、计数   */
	--fs-sm:  13px;   /* 面包屑、卡片型号、筛选   */
	--fs-base:14px;   /* 正文小字、卡片标题       */
	--fs-md:  15px;   /* 简介段落                 */
	--fs-lg:  16px;   /* 正文基准、卡片大标题     */
	--fs-xl:  18px;   /* 区块小标题、侧栏标题     */
	--fs-2xl: 22px;   /* FAQ 分组标题             */
	--fs-3xl: 26px;   /* 文章 h2 / 大区块标题     */
	--fs-4xl: 32px;   /* 页面 h1 / 区块主标题     */
	--fs-display:60px;/* 首页 hero 主标题（唯一） */

	/* ---------------------------------------------------------------
	   5. 行高 —— 只覆盖正文三种语言环境，由 main.css 的 body 规则使用。
	      拉丁 1.5 是改造前就在用并且已逐页验证过的值，不动。
	      CJK 是满方块字、阿拉伯语有上下附加符号，同样 1.5 会明显发挤。
	      注：标题行高目前仍是散落的字面量（1.1/1.25/1.3/1.35/1.4…），
	      属于下一轮收敛范围，本文件暂不定义用不到的档位。
	   --------------------------------------------------------------- */
	--lh-base:   1.5;   /* 拉丁正文（en / es / ru） */
	--lh-cjk:    1.75;  /* 中文正文 */
	--lh-arabic: 1.8;   /* 阿拉伯语正文 */

	/* 6. 字重 —— 配合 P3 的可变字体单条 @font-face */
	--fw-regular:  400;
	--fw-medium:   500;
	--fw-semibold: 600;
	--fw-bold:     700;

	/* ---------------------------------------------------------------
	   7. 间距刻度 —— 4px 基数。P5 把 19 个 grid 的 gap 收敛到这 5 档：
	      --sp-2 / --sp-4 / --sp-6 / --sp-8 / --sp-12
	   --------------------------------------------------------------- */
	--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-24: 96px;

	/* ---------------------------------------------------------------
	   8. 圆角 —— 8 种 → 3 档 + pill
	      （旧代码另有 10px/14px/50%，P5 分别并到 --r-lg / --r-pill）
	   --------------------------------------------------------------- */
	--r-sm:   4px;
	--r-md:   6px;
	--r-lg:   8px;
	--r-pill: 999px;

	/* 9. 阴影 —— 中性冷灰，**不带红调**
	      （旧 .prod-card:hover 用的 rgba(218,39,53,.12) 是"廉价感"来源之一，
	        P5 换成 --sh-md） */
	--sh-sm: 0 1px 2px rgba(15, 20, 26, .06);
	--sh-md: 0 4px 12px rgba(15, 20, 26, .08);
	--sh-lg: 0 12px 28px rgba(15, 20, 26, .12);

	/* 10. 版心 / 字体栈 —— 原值，零变化 */
	--container-w: 1200px;
	--font-sans: 'Montserrat', system-ui, Arial, sans-serif;

	/* ---------------------------------------------------------------
	   11. Hero 白遮罩 —— 这里只放"角度 + 三档强度"这 4 个数字。
	       由它们拼出的渐变（--hero-scrim）写在 main.css 的 .hero 规则里，
	       原因见那一处注释：自定义属性在**声明它的元素上**完成 var() 代入，
	       放 :root 会被提前固化，RTL 的覆写就永远不生效。

	       --hero-scrim-strong 是文字所在一侧的强度，mid/weak 向另一侧递减。
	   --------------------------------------------------------------- */
	--hero-angle:         90deg;
	--hero-scrim-strong:  .38;
	--hero-scrim-mid:     .20;
	--hero-scrim-weak:    .08;
}
