@charset "UTF-8";
/* Retu 官网 2.0 · 主题桥接层
 *
 * 这个文件存在的唯一理由:brand/tokens-*.css 只定义**品牌色**槽位,
 * 而 site.css 还用到三类「非品牌色」的派生槽位。它们既不该由美术那一路定,
 * 也不该硬编码进 site.css。全部集中在这里,一共三类:
 *
 *   1. 别名槽位  —— 值是 var(<品牌槽位>),不引入任何新颜色。
 *   2. 投影      —— 值逐字取自 10-设计系统-tokens.md §投影表(浅色那一套)。
 *                   深色那一套由 brand/tokens-dark.css 自己覆盖 —— 所以
 *                   **本文件必须在两个 brand token 文件之前引入**,让深色能盖过它。
 *   3. 首屏图层强度 —— 光晕 alpha / 网格 opacity,不是颜色,是强度。
 *
 * 引入顺序(六页一致,改了就会静默分叉):
 *   theme-bridge.css → brand/tokens-light.css → brand/tokens-dark.css → site.css
 */

:root {
  /* ---- 1. 别名:主按钮的 hover / active 底 ----
     brand token 里没有这两个槽位,但深浅两套都需要。
     指到已有的品牌槽位上,不新发明颜色。 */
  --c-primary-hover: var(--c-primary-700);
  --c-primary-active: var(--c-primary-800);

  /* ---- 2. 投影(浅色)----
     取自 10-设计系统-tokens.md:投影基色 = 中性最深一档 rgba(14,23,38,*),不是通用黑。
     深色主题下 brand/tokens-dark.css 把这四个槽位整体换成「描边 + 内高光 + 辉光」。 */
  --sh-0: none;
  --sh-1: 0 1px 2px rgba(14, 23, 38, .06);
  --sh-2: 0 4px 12px -2px rgba(14, 23, 38, .08);
  --sh-3: 0 16px 40px -8px rgba(14, 23, 38, .14);

  /* ---- 3. 首屏图层强度(浅色)----
     20-视觉语言.md §3.3:光晕 alpha ≤ .10;网格禁止压字,靠 mask 消失。 */
  --hero-halo-alpha: .10;
  --hero-grid-opacity: 1;

  /* 跑马灯:03 §3.2 规定 40–60 px/s,桌面默认 50。
     轨道总长 ≈ 两份 8 条(见 index.html),50px/s 下一轮约 64s。 */
  --ticker-dur: 64s;

  color-scheme: light;
}

[data-theme="dark"] {
  /* 这两行曾是 hover=800 / active=100,配的是旧版「白字」深色蓝阶。
     2026-09-16 重出的 tokens-dark.css 把深色主按钮改成**墨字**(--c-on-primary: #1B2A33),
     蓝阶随之重排:600 默认,700/800 同值承担悬停与按下(见 tokens-dark.css 那两行的注释)。
     旧的 active = primary-100 是深底弱色 #0E3557,墨字落上去只有 1.17:1 —— 一按下去就看不见。
     指向与浅色一致即可;按下态的差别由组件规格的 translateY(1px) 承载。实测见 check-contrast.py。 */
  --c-primary-hover: var(--c-primary-700);
  --c-primary-active: var(--c-primary-800);

  /* 深色底上 .10 的光晕看不见;网格线在深色下相对更抢眼,压低一档。
     这两个是强度不是颜色,所以归本文件,不归 brand/。 */
  --hero-halo-alpha: .22;
  --hero-grid-opacity: .55;

  color-scheme: dark;
}
