diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md
index f902497..ed9f132 100644
--- a/docs/ROADMAP.md
+++ b/docs/ROADMAP.md
@@ -39,7 +39,7 @@
| P9-B | UX 增强(第二批:可访问与键盘效率包) | WCAG AA 色彩对比达标(`--color-success` 加深 + error toast 换 `bg-accent-ink`)+ toast 播报区重构(常驻 sr-only 播报层与视觉层解耦,收口 P10 终审转办项 T1(d)「实时区嵌交互按钮」)+ skip-link(`App.vue` 根首子,`focus:z-[80]`)+ SPA 导航后焦点管理(`focusMain()`,仅路径变化触发、`preventScroll`)+ 管理端表格 24 个 `
` 补 `scope="col"`(两处空表头补 sr-only「操作」)+ 五星评分可访问名(逐星「评 N 星」+ 分组 `role="group"` 动态标签 + 字形 `aria-hidden`)。另加两个源码级守卫(`contrast.test.ts` 十一配对对比度、`tableScope.test.ts` 全仓 ` | 3**,50653 采样暴力验证),故把亮色 scrim 改纯白(正是该令牌要防的泛白)时填充侧 1.1165 而 max() 读 18.42、守卫仍绿(任务级审查 M1 抓到);交付形态改为**按主题钉实际分离侧**(亮=填充侧 paper、暗=边框侧 ink),mutation 现能变红。**两条教训入 spec**:① `max(a,b) ≥ k` 是恒真断言高发区(互补时下界非平凡),且**修守卫必须两方向都验**(对合法值不误红 + mutation 下不误绿)——同一错误在 alpha 兜底分支重演(只对当前 Chromium 输出验,漏了 CSS Color 4 百分比/指数 alpha 被解析成 80/1);② **Tailwind v4 扫描全部源文件含 `.test.ts`/`.spec.ts`**——测试注释里的类名字面量会被当候选、烧死 utility 进产物(实现者用拼接修对一处,控制者八分钟后在自己裁定 commit 里重新引入,靠重建抓出 → spec §8-5b)。**终审另暴露一处 pre-existing 缺陷并延后不忽视**:`runtime/host/GameHost.vue:39` 降级外链徽标(`bg-accent text-paper`,11px bold)实测**亮色 `paper on accent` = 3.2590 < 4.5 FAIL**(暗色 7.1218 过),根因是 spike-0 的 grep 与 `noHardcodedColor` 守卫都只覆盖 `app/`、**漏了与 `app` 同级的 `runtime/`**;该违规自 P9-B 就在、P13 未使其变差且不属 P13 范围 → 三方面处置(守卫扫描根已含 `runtime/`、spec §3.2「accent 全仓唯一/纯非文本令牌」的假声明已纠正、违规本身登记可访问性打磨批)。守卫体系:`contrast.test.ts` **重构为按主题分块解析**(旧单 Map 解析器逐字保留为 `legacySingleMapParse` **反面钉桩**,防后人「简化」回去——旧解析器在暗色块存在后会把九个旧键静默解析成暗色值而断言标签仍写 light palette = 守卫悄悄变只守暗色)+ 新增 `noHardcodedColor.test.ts`(沿用 P12 `tableOverflow` 屏蔽范式,扫 `app/`+`runtime/`,含 2 positive + 1 negative control 防「扫 0 文件也报 0 违规」的假信心)+ `themeBootstrap.test.ts`(钉双写:同键名、两侧 stored 白名单、判定序、IIFE+var、theme-color、color-scheme meta)+ `dark.spec.ts` **10 腿**(含 pre-paint 归因腿:拦 JS 包后 `data-theme` 仍 dark,证明是内联脚本而非挂载后设置;反方向 stored 压过 system 腿;垃圾 stored 被忽略腿——后两条是 finding #2/N2 的行为解药,因文本位置守卫不鉴别语义重排)。验收:crearte vitest **688/79**(基线 635/74)/ vue-tsc 零错 / build+build-runtime OK / 主 e2e **102+1skip**(基线 92+1skip,P12 的 12 条 responsive 腿未动全绿)/ noauth 4——控制者与两位审查者各自独立复跑;产物 `main-C7966Gm-.css`:`var(--color-*)`=75、内联 `#141414`=2、暗色块在位、死 utility 双双归零、`--tw-shadow` 含 `var(--color-ink)`。挂账新增:第三态「恢复跟随系统」(spike 3 证明 header 在 @320px 最坏格无像素容纳带标签控件)、CSP 落地时内联 pre-paint 脚本需 `nonce`、死令牌 `--color-info`(`bg-info`/`text-info` 零实例)、SFC ` |