/* Retu 品牌 token · light · r45 · 2026-09-30
 * 真实来源:本文件由 prd/retu-home-v5/_light-r45-evidence/tools/gen_tokens_light.py 生成(不在站树里,不随站发布)。
 *   旧头注释说的 brand/palette.py 已不在源树 —— 本版不再以它为源,别去找它。
 * 唯一色源 = 委托人 2026-09-30 附图 logo 的三档 + 墨:
 *   青 #0CA6A6(最矮柱)· 中蓝 #0C74A6(中柱)· 深蓝 #0C42A6(高柱 + R)· 墨 #010711(字标)
 * 每个值要么是原档,要么是档与白/墨之间的 sRGB 直线插值(注释写明比例),要么是「刚好过门槛的最小插值」。
 * 中性灰是自定的(任务书放行):白 → 「墨:深蓝 1:1」插值,偏冷、低饱和,不引入第四种彩色。
 * 对比度逐个实测,「最低」= 在 白卡 / 页面底 / 分区带 / 凹陷面 四种底上取最差那个。门槛:文字 4.5,图形 3.0。
 * 挂在 :root;深色版在 brand/tokens-dark.css 挂 [data-theme="dark"],两份常驻,同权重后写者胜。
 * ⚠️ 本文件只许定义 tokens-dark.css 里也有的槽位 —— 多出一个名字,深色版就会凭空拿到一个浅色值(深色零变化的前提)。
 *   浅色专用的新槽位写在 assets/theme-light-r45.css 的 [data-theme="light"] 里。
 * 投影 --sh-* 仍由 assets/theme-bridge.css 提供(浅色那一套),本文件不重定义。
 */
:root {

  /* ---- 中性 · 冷灰(自定:白 → 「墨:深蓝 1:1」插值,色相 ≈220°,饱和度极低,不带第四种彩色) ---- */
  --c-canvas: #F4F5F8;  /* 白→冷墨 4.5% · 页面底 · 对白卡 1.09(层次靠卡面白 + 细边 + 投影) */
  --c-surface: #FFFFFF;  /* 白 · 卡面 */
  --c-surface-subtle: #EEF0F4;  /* 白→冷墨 7% · 分区带 */
  --c-surface-sunken: #E7EAF0;  /* 白→冷墨 9.5% · 凹陷面 / 表头 */
  --c-border: #DFE3EA;  /* 白→冷墨 13% · 装饰性细边(非信息图形,不设 3.0 门槛) · 对白卡 1.29 */
  --c-border-strong: #7E8797;  /* 白→「墨:深蓝 3:1」解到 3.0 的最小值 0.515 · 强描边 / 表单边框 · 最低 3.00(凹陷面) */
  --c-divider: #DFE3EA;  /* 同 --c-border · 分隔线 */
  --c-grid: #ECEFF3;  /* 白→冷墨 7.5% · 纯装饰网格 */
  --c-text: #010711;  /* 墨原值 · 正文 · 最低 16.76(凹陷面) */
  --c-text-2: #393E45;  /* 墨→白 22% · 次级文字 · 最低 8.94(凹陷面) */
  --c-text-3: #62656B;  /* 白→墨 解到 4.5 的最小值 0.620(含主色弱底) · 三级文字 · 最低 4.85(凹陷面) */
  --c-text-disabled: #999CA0;  /* 白→墨 40% · 禁用态(WCAG 1.4.3 豁免) · 白卡 2.76 */

  /* ---- 品牌主色 · 蓝(深蓝档 #0C42A6 承担文字/链接/实底;中蓝档 #0C74A6 承担图形) ---- */
  --c-primary-50: #EEF2F9;  /* 深蓝→白 93% · 主色弱底 · 深蓝字在其上 7.97 */
  --c-primary-100: #DBE3F2;  /* 深蓝→白 85% · 主色弱底(深一档) · 深蓝字在其上 6.94 */
  --c-primary-500: #0C70A1;  /* 中蓝档→墨 0.035(原档在凹陷面上 4.29 < 4.5,本站此槽也被当文字用,故压到 4.5) · 最低 4.53(凹陷面) */
  --c-primary-600: #0C42A6;  /* 深蓝档原值 · 实底按钮 / 主链接 · 最低 7.43(凹陷面);白字在其上 8.95 */
  --c-primary-700: #0A3688;  /* 深蓝档→墨 20% · 链接 / 焦点环 / 悬停 · 最低 9.19(凹陷面);白字在其上 11.08 */
  --c-primary-800: #082A6A;  /* 深蓝档→墨 40% · 按下态 · 白字在其上 13.55 */

  /* ---- 辅助色 · 青(青档 #0CA6A6 对白只有 2.99,不许当文字;本站 500/700 两槽都被当文字用 ⇒ 两槽都压到 4.5,与深色版 500=700 同构) ---- */
  --c-accent-50: #E7F6F6;  /* 青档→白 90% · 强调弱底 */
  --c-accent-500: #097578;  /* 青档→墨 0.310 · 强调图形 / 眉标 · 最低 4.55(凹陷面) */
  --c-accent-700: #097578;  /* 青档→墨 0.310 · 强调文字 · 最低 4.55(凹陷面);强调弱底上 4.94 */

  /* ---- 「谁做的」标记 · 颜色辅助档(硬载体是形状/填充) ---- */
  --c-agent: #0C42A6;  /* 深蓝档原值 · 智能体执行 · 最低 7.43(凹陷面) */
  --c-human: #62656B;  /* 同 --c-text-3 · 人执行/治理/签字 · 最低 4.85(凹陷面) */

  /* ---- 界面状态色 —— 功能色不是品牌色,沿用上一版浅色值(任务书:涨跌红绿沿用现有值),只重测对比度 ---- */
  --c-success-700: #17754A;  /* 沿用上一版浅色值 · 最低 4.74(凹陷面) */
  --c-success-600: #1B8755;  /* 沿用上一版浅色值 · 最低 3.75(凹陷面) */
  --c-success-50: #DAE9E3;  /* 沿用上一版浅色值 */
  --c-warning-700: #8E5C07;  /* 沿用上一版浅色值 · 最低 4.73(凹陷面) */
  --c-warning-600: #A36B08;  /* 沿用上一版浅色值 · 最低 3.74(凹陷面) */
  --c-warning-50: #EAE5D9;  /* 沿用上一版浅色值 */
  --c-danger-700: #AC443B;  /* 沿用上一版浅色值 · 最低 4.78(凹陷面) */
  --c-danger-600: #B0453B;  /* 沿用上一版浅色值 · 最低 4.63(凹陷面) */
  --c-danger-50: #ECE1E0;  /* 沿用上一版浅色值 */

  /* ---- 实底上的字 ---- */
  --c-on-primary: #FFFFFF;  /* 白 · 在对应实底上 8.95 */
  --c-on-accent: #FFFFFF;  /* 白 · 在对应实底上 5.49 */
  --c-on-success: #FFFFFF;  /* 白 · 在对应实底上 4.52 */
  --c-on-warning: #FFFFFF;  /* 白 · 在对应实底上 4.50 */
  --c-on-danger: #FFFFFF;  /* 白 · 在对应实底上 5.58 */

  /* ---- 语义 · 涨跌与错误(不是品牌色,沿用上一版浅色值;绿涨红跌;形状是硬载体) ---- */
  --sem-up: #18744A;  /* 沿用 #1A8050 加深:→墨 10%(r45 返工) · 最低 4.79(凹陷面) */
  --sem-down: #B0453B;  /* 沿用 · 最低 4.63(凹陷面) */
  --sem-error: #B0453B;  /* 沿用 · 最低 4.63(凹陷面) */

  --shape-up: "▲";           /* 涨 = 向上实心三角 —— 硬载体 */
  --shape-down: "▽";         /* 跌 = 向下空心三角 —— 硬载体 */
  --r-agent: 999px;          /* 智能体 = 圆端(胶囊) */
  --r-human: 2px;            /* 人 / 治理 / 签字 = 方端 */
  --fill-agent: currentColor;
  --fill-human: none;
  --logo-plate: #F4F6F8;     /* 与深色版同值,未改 */
  --focus-ring-color: var(--c-primary-700);
}
