# 主题色：让每份 deck 有自己的颜色（不再永远默认色）

布局风格仍是我们的 5 套主题；**颜色是可换的一层**。用户可以：
1. **用主题默认色**（不想纠结就这样）；
2. **给一个色**——色号 `#1E5AA8` 或模糊描述「商务」「暖橙」「森林绿」「深蓝」；
3. **让你按主题推荐**——根据他的内容/行业，从下表挑一个搭配色。

## 一条命令搞定（已保证对比安全）

```bash
node scripts/resolve-accent.mjs "<#色号 或 描述>" --name <deck> --write
```

它把输入（HEX 或描述）用 **OKLab 精确换算**成我们的整套 accent 令牌
（`--accent` / `--accent-ink` / `--accent-soft` / `--accent-block` / `--accent-block-ink`），
并**自适应推 block 亮度，直到块底反色文字对比度 ≥ 4.5**（投屏可读、达 WCAG AA）。
浅色相（黄/金）自动配黑字，深色相自动配白字——和我们 5 套主题的反白体系一致。

写出 `slides/<deck>/accent.css` 后，在 deck `<head>` 的 `#theme-link` **之后**加一行即可生效
（同特异度后加载即胜，盖过主题里锁死的 accent）：
```html
<link rel="stylesheet" id="theme-link" href="../../assets/themes/<theme>.css">
<link rel="stylesheet" href="accent.css">   <!-- 用户主题色覆盖 -->
```
不带 `--write` 只打印 CSS + 对比度自检，可直接贴进 deck 内联 `<style>`。

## 按主题/行业推荐搭配色（mood → accent）

用户说不清颜色、或要你推荐时，从这里挑（都已避开「脏蓝」，且每个都过对比闸门）：

| 关键词 | 适用 | accent（近似） | 气质 |
|---|---|---|---|
| 商务 / business | 企业、汇报、To B | `oklch(58% 0.09 70)` 青铜灰金 | 稳重、不张扬 |
| 科技 / tech | AI、SaaS、产品 | `oklch(66% 0.13 210)` 青蓝 | 清爽、未来感（非脏蓝） |
| 金融 / finance | 投资、银行、财报 | `oklch(55% 0.13 25)` 深红 | 权威、信任 |
| 教育 / education | 课程、培训、分享 | `oklch(64% 0.13 165)` 薄荷绿 | 年轻、亲和 |
| 健康 / health | 医疗、养生 | `oklch(64% 0.12 150)` 自然绿 | 干净、安心 |
| 环保 / 可持续 | ESG、气候、农业 | `oklch(60% 0.14 135)` 深绿 | 生长、责任 |
| 活力 / energy | 路演、活动、运动 | `oklch(70% 0.18 45)` 亮橙 | 热烈、有劲 |
| 奢华 / luxury | 高端品牌、发布 | `oklch(70% 0.09 85)` 暖金 | 克制的贵气 |
| 中式 / 国风 | 文化、传统、人文 | `oklch(55% 0.17 30)` 朱砂 | 东方、厚重 |

> 模糊描述与纯色词（红/橙/黄/绿/青/蓝/紫/粉/金/棕、暖橙、森林绿、墨绿、玫红、天蓝…）
> 都能直接喂给 `resolve-accent.mjs`，见脚本内 `MOOD` 表。

## 主题 × 主题色：什么时候别乱换

- **industrial-paper / dark-luxe**：accent 是真变量，换任意主题色都自然。
- **editorial**：朱砂是它的气质锚，但换成深绿/藏青/酒红一样成立（见上文实测）。
- **neo-brutalist（酸黄×黑）/ ink-wash（朱砂水墨）**：颜色就是这套风格的**身份**。
  用户坚持换也照换（accent 会被覆盖、结构/排版不变），但**先提醒一句**「这套风格的标志色就是
  X，换色会弱化它的辨识度，确认要换吗」——别默默把 neo 的黄换没了。

## 禁蓝的边界
「禁蓝」是**没人指定颜色时的默认纪律**（避免满屏 AI 脏蓝）。用户**显式**要蓝
（"深蓝""科技蓝""#1E5AA8"）就给蓝——这是他的选择，不是我们偷懒的默认。
