diff --git a/docs/prototypes/Reader V3 · 统一设计系统与完整原型.html b/docs/prototypes/Reader V3 · 统一设计系统与完整原型.html
new file mode 100644
index 0000000..3a292ec
--- /dev/null
+++ b/docs/prototypes/Reader V3 · 统一设计系统与完整原型.html
@@ -0,0 +1,391 @@
+
+
+
+
+ Reader V3 · 统一设计系统与完整原型
+
+
+
+
+ Loading Reader V3 · 统一设计系统与完整原型...
+ Unpacking...
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/prototypes/Reader V3 主题语义令牌.md b/docs/prototypes/Reader V3 主题语义令牌.md
new file mode 100644
index 0000000..7a1b8bf
--- /dev/null
+++ b/docs/prototypes/Reader V3 主题语义令牌.md
@@ -0,0 +1,240 @@
+# Reader V3 主题语义令牌
+
+版本 v3.1 · 2026-10-20 · 对应线上原型“Reader V3 · 统一设计系统与完整原型”
+
+## 1. 概述
+
+主题 = 一组语义令牌的取值。组件只引用语义令牌,不写死颜色;换主题只换这一组值,界面结构、间距、字号完全不变。
+
+Reader V3 内置 4 个主题,每个主题含浅色和深色两套取值,共 8 套配色:
+
+| 主题 | 定位 | 色相 |
+| --- | --- | --- |
+| 暖陶 | 默认应用主题 | 陶土橙 |
+| 雾蓝 | 应用主题 | 蓝 |
+| 青绿 | 应用主题 | 绿 |
+| 黑白灰 | 阅读专用主题,只在阅读器内生效 | 无彩色 |
+
+设计原则:
+
+- 同色系:每个主题的底色、卡片、描边、文字、按钮都从同一个色相派生,只调明暗和浓淡。
+- 四个频道(阅读、影视、音乐、听书)取主色相邻的色相,明度和彩度保持一致,只做小面积色标。
+- 浅色主题整体提亮,按钮用柔和的浅色底配同色相的近黑文字;深色主题底色不用纯黑。
+- 组件之间不直接比较颜色,只引用令牌。
+
+## 2. 令牌角色与命名
+
+原有 13 个角色,另新增 2 个文字色角色(brand-text、ch-\*-text),共 15 类。CSS 变量名如下。
+
+| 角色 | CSS 变量 | 用途 |
+| --- | --- | --- |
+| bg | `--color-bg` | 页面底色 |
+| surface | `--color-surface` | 卡片、抽屉、导航栏 |
+| surface-2 | `--color-surface-2` | 分段控件、输入框底、悬停 |
+| ink | `--color-ink` | 正文与标题 |
+| muted | `--color-muted` | 次要文字、图标 |
+| line | `--color-line` | 分隔线、描边 |
+| brand | `--color-brand` | 主按钮底色、选中态、进度条填充(只作填充,不作文字色) |
+| brand-soft | `--color-brand-soft` | 选中底色、标签底色 |
+| on-brand | `--color-on-brand` | 品牌色填充上的文字和图标 |
+| brand-text | `--color-brand-text` | 品牌色的文字、图标、链接(新增) |
+| ch-{read\|video\|music\|audio} | `--color-ch-read` 等 | 频道图标底色、进度条填充 |
+| ch-\*-soft | `--color-ch-read-soft` 等 | 继续卡片、频道入口底色 |
+| ch-\*-text | `--color-ch-read-text` 等 | 频道色的文字(新增) |
+| on-ch | `--color-on-ch` | 频道色填充上的图标和字 |
+| scrim | `--color-scrim` | 抽屉遮罩 |
+
+新增 brand-text 和 ch-\*-text 的原因:浅色主题的 brand 和频道色已改为柔和的浅色,直接当文字用对比度不够,所以文字和图标改用更深的同色相取值。
+
+## 3. 主题取值
+
+### 3.1 暖陶
+
+| 令牌 | 浅色 | 深色 |
+| --- | --- | --- |
+| bg | `#FDF9F6` | `#1F1713` |
+| surface | `#FFFFFF` | `#2A201A` |
+| surface-2 | `#F8EFE8` | `#352A23` |
+| ink | `#3A2A22` | `#F7EDE6` |
+| muted | `#82685B` | `#BBA79B` |
+| line | `#F0E3DA` | `#43342B` |
+| brand | `#F2B79F` | `#E88F73` |
+| brand-soft | `#FBE9E0` | `#3F2A21` |
+| on-brand | `#2B1810` | `#1A100C` |
+| brand-text | `#A8482A` | `#F0987C` |
+| on-ch | `#2B1810` | `#1A100C` |
+| scrim | `rgba(58,42,34,.40)` | `rgba(0,0,0,.60)` |
+
+| 频道 | 浅色 ch | 浅色 soft | 浅色 text | 深色 ch | 深色 soft | 深色 text |
+| --- | --- | --- | --- | --- | --- | --- |
+| read 阅读 | `#F2B79F` | `#FBE9E0` | `#A8482A` | `#E88F73` | `#3F2A21` | `#E88F73` |
+| video 影视 | `#F6CA97` | `#FCF0DD` | `#8A5200` | `#E9AA6E` | `#3A2E1E` | `#E9AA6E` |
+| music 音乐 | `#EFA9A3` | `#FAE4E1` | `#A8343E` | `#E58A8A` | `#3D2526` | `#E58A8A` |
+| audio 听书 | `#E6BE9E` | `#F7EBDD` | `#7A5232` | `#D9A07F` | `#36291F` | `#D9A07F` |
+
+### 3.2 雾蓝
+
+| 令牌 | 浅色 | 深色 |
+| --- | --- | --- |
+| bg | `#F8FAFE` | `#0F1722` |
+| surface | `#FFFFFF` | `#172131` |
+| surface-2 | `#EDF2FA` | `#202C40` |
+| ink | `#1F3250` | `#E8EEF7` |
+| muted | `#5A6C8C` | `#9FB0C8` |
+| line | `#E4EBF6` | `#2A3850` |
+| brand | `#9DC0F2` | `#7FB1F0` |
+| brand-soft | `#E6EFFC` | `#1C3050` |
+| on-brand | `#0F1D36` | `#0A1220` |
+| brand-text | `#2F63B0` | `#8DB8F0` |
+| on-ch | `#0F1D36` | `#0A1220` |
+| scrim | `rgba(31,50,80,.40)` | `rgba(0,0,0,.60)` |
+
+| 频道 | 浅色 ch | 浅色 soft | 浅色 text | 深色 ch | 深色 soft | 深色 text |
+| --- | --- | --- | --- | --- | --- | --- |
+| read 阅读 | `#9DC0F2` | `#E6EFFC` | `#2F63B0` | `#7FB1F0` | `#1C3050` | `#7FB1F0` |
+| video 影视 | `#9FD2EE` | `#E3F2FA` | `#1F6F93` | `#7CC3E8` | `#1A3347` | `#7CC3E8` |
+| music 音乐 | `#B2B8F2` | `#ECEEFC` | `#4A52B0` | `#9AA3F0` | `#25274D` | `#9AA3F0` |
+| audio 听书 | `#90CBD8` | `#E0F2F5` | `#1F6F7C` | `#70C1CF` | `#17353A` | `#70C1CF` |
+
+### 3.3 青绿
+
+| 令牌 | 浅色 | 深色 |
+| --- | --- | --- |
+| bg | `#F7FBF8` | `#0E1914` |
+| surface | `#FFFFFF` | `#15251E` |
+| surface-2 | `#EAF4EE` | `#1E3229` |
+| ink | `#1B3329` | `#E6F2EC` |
+| muted | `#52705F` | `#98B3A7` |
+| line | `#E0EEE5` | `#28403A` |
+| brand | `#8AD6B1` | `#6ED6A8` |
+| brand-soft | `#E1F4EA` | `#1A3B2E` |
+| on-brand | `#0F2A1E` | `#07130E` |
+| brand-text | `#1F6B4F` | `#7FDDB4` |
+| on-ch | `#0F2A1E` | `#07130E` |
+| scrim | `rgba(27,51,41,.40)` | `rgba(0,0,0,.60)` |
+
+| 频道 | 浅色 ch | 浅色 soft | 浅色 text | 深色 ch | 深色 soft | 深色 text |
+| --- | --- | --- | --- | --- | --- | --- |
+| read 阅读 | `#8AD6B1` | `#E1F4EA` | `#1F6B4F` | `#6ED6A8` | `#1A3B2E` | `#6ED6A8` |
+| video 影视 | `#A9DB9B` | `#EBF6E2` | `#3F6E1F` | `#8ED67A` | `#243A1E` | `#8ED67A` |
+| music 音乐 | `#8CD2CF` | `#E1F3F2` | `#1F6B68` | `#6CCBC6` | `#173A38` | `#6CCBC6` |
+| audio 听书 | `#B6D98E` | `#F0F5E0` | `#5B6B1F` | `#A6CF72` | `#2C3818` | `#A6CF72` |
+
+### 3.4 黑白灰(阅读专用)
+
+| 令牌 | 浅色 | 深色 |
+| --- | --- | --- |
+| bg | `#F5F5F5` | `#121212` |
+| surface | `#FFFFFF` | `#1B1B1B` |
+| surface-2 | `#EBEBEB` | `#262626` |
+| ink | `#1A1A1A` | `#E6E6E6` |
+| muted | `#666666` | `#9E9E9E` |
+| line | `#E0E0E0` | `#2E2E2E` |
+| brand | `#3D3D3D` | `#E6E6E6` |
+| brand-soft | `#EDEDED` | `#2A2A2A` |
+| on-brand | `#FFFFFF` | `#121212` |
+| brand-text | `#3D3D3D` | `#E6E6E6` |
+| on-ch | `#FFFFFF` | `#121212` |
+| scrim | `rgba(26,26,26,.40)` | `rgba(0,0,0,.60)` |
+
+| 频道 | 浅色 ch | 浅色 soft | 浅色 text | 深色 ch | 深色 soft | 深色 text |
+| --- | --- | --- | --- | --- | --- | --- |
+| read 阅读 | `#3D3D3D` | `#EDEDED` | `#3D3D3D` | `#CFCFCF` | `#2A2A2A` | `#CFCFCF` |
+| video 影视 | `#4A4A4A` | `#EDEDED` | `#4A4A4A` | `#BDBDBD` | `#2A2A2A` | `#BDBDBD` |
+| music 音乐 | `#575757` | `#EDEDED` | `#575757` | `#ABABAB` | `#2A2A2A` | `#ABABAB` |
+| audio 听书 | `#666666` | `#EDEDED` | `#666666` | `#999999` | `#2A2A2A` | `#999999` |
+
+黑白灰没有彩色,四个频道只靠明度的细微差别区分,实际界面里频道主要靠图标和文字标签区分。
+
+## 4. 使用规则
+
+1. 组件不写死颜色。除了封面、剧照等内容图片,界面里不出现十六进制色值。
+2. brand 和 ch-\* 只作填充。带这些底色的文字和图标,用 on-brand 或 on-ch。
+3. 品牌色的文字、链接、选中态图标,用 brand-text;频道色的文字用 ch-*-text。不要直接把 brand 或 ch-* 当文字色,浅色主题下对比度不够。
+4. 继续卡片、频道入口的底色用 ch-*-soft,文字用 ink 或 ch-*-text。
+5. 选中的标签、分段控件用 brand-soft 底加 brand-text 文字。
+6. 抽屉、弹层的遮罩用 scrim。
+7. 影视、音乐播放页是固定深色沉浸界面,使用当前主题的深色取值,不随浅色切换。
+8. 不使用纯黑 `#000` 作背景;纯白只作浅色主题的 surface。
+
+## 5. 对比度要求
+
+正文、次要文字、频道色文字至少 4.5:1,图标与控件至少 3:1。以下组合已用脚本对 8 套配色逐一计算,全部达标:
+
+| 组合 | 要求 |
+| --- | --- |
+| ink 对 bg、surface | 4.5:1 以上 |
+| muted 对 bg、surface-2 | 4.5:1 以上 |
+| brand-text 对 brand-soft、bg | 4.5:1 以上 |
+| on-brand 对 brand | 4.5:1 以上 |
+| ch-*-text 对 ch-*-soft | 4.5:1 以上 |
+| on-ch 对 ch-\* | 4.5:1 以上 |
+
+新增主题或调色时,必须重新计算这几组。
+
+## 6. 主题选择与切换
+
+- 应用主题可选暖陶、雾蓝、青绿,默认暖陶。
+- 明暗模式可选“跟随系统”“浅色”“深色”,默认跟随系统。
+- “跟随系统”= 指定一个浅色时使用的主题和一个深色时使用的主题,默认都是暖陶。
+- 黑白灰是阅读专用主题,不作为应用主题,只在阅读器内生效。阅读主题可选“跟随应用”或“黑白灰”;选黑白灰时,浅色和夜间分别用它的浅色和深色取值。
+- 主题偏好存在当前设备,登录后可同步到账号。
+
+## 7. CSS 实现示例
+
+以暖陶为例,其他主题结构相同,换成第 3 节的取值即可。
+
+```css
+[data-theme="warm"][data-mode="light"] {
+ --color-bg: #FDF9F6;
+ --color-surface: #FFFFFF;
+ --color-surface-2: #F8EFE8;
+ --color-ink: #3A2A22;
+ --color-muted: #82685B;
+ --color-line: #F0E3DA;
+ --color-brand: #F2B79F;
+ --color-brand-soft: #FBE9E0;
+ --color-on-brand: #2B1810;
+ --color-brand-text: #A8482A;
+ --color-ch-read: #F2B79F; --color-ch-read-soft: #FBE9E0; --color-ch-read-text: #A8482A;
+ --color-ch-video: #F6CA97; --color-ch-video-soft: #FCF0DD; --color-ch-video-text: #8A5200;
+ --color-ch-music: #EFA9A3; --color-ch-music-soft: #FAE4E1; --color-ch-music-text: #A8343E;
+ --color-ch-audio: #E6BE9E; --color-ch-audio-soft: #F7EBDD; --color-ch-audio-text: #7A5232;
+ --color-on-ch: #2B1810;
+ --color-scrim: rgba(58, 42, 34, .40);
+}
+
+[data-theme="warm"][data-mode="dark"] {
+ --color-bg: #1F1713;
+ --color-surface: #2A201A;
+ --color-surface-2: #352A23;
+ --color-ink: #F7EDE6;
+ --color-muted: #BBA79B;
+ --color-line: #43342B;
+ --color-brand: #E88F73;
+ --color-brand-soft: #3F2A21;
+ --color-on-brand: #1A100C;
+ --color-brand-text: #F0987C;
+ --color-ch-read: #E88F73; --color-ch-read-soft: #3F2A21; --color-ch-read-text: #E88F73;
+ --color-ch-video: #E9AA6E; --color-ch-video-soft: #3A2E1E; --color-ch-video-text: #E9AA6E;
+ --color-ch-music: #E58A8A; --color-ch-music-soft: #3D2526; --color-ch-music-text: #E58A8A;
+ --color-ch-audio: #D9A07F; --color-ch-audio-soft: #36291F; --color-ch-audio-text: #D9A07F;
+ --color-on-ch: #1A100C;
+ --color-scrim: rgba(0, 0, 0, .60);
+}
+```
+
+切换方式:在根元素上设置 `data-theme`(warm、blue、green)和 `data-mode`(light、dark)。选择“跟随系统”时,由 `prefers-color-scheme` 决定 `data-mode`。阅读器容器单独设置 `data-theme="gray"`,使其不受应用主题影响。
+
+## 8. 与旧主题的对应关系
+
+| 旧主题 | 处理方式 |
+| --- | --- |
+| 暖纸(浅色) | 替换为暖陶浅色 |
+| 深夜(深色) | 替换为暖陶深色 |
+| 雾蓝(浅色) | 替换为新的雾蓝浅色 |
+| 蔷薇(浅色) | 取消 |
+| 原野(浅色) | 取消,由青绿浅色替代 |
+| 石墨(深色) | 取消,由雾蓝深色替代 |
+
+迁移时,已选择旧主题的用户按上表映射;取消的主题统一回落到暖陶,并保留原来的明暗模式。