Vite preview computed styles: molv new-task button #e9f0f6 on #082d4f, active icon #8fd4b4, headers without uppercase
Settings dialog click-through needs the API on port 8787, which was not running
Why: the same pairs that failed the audit are what the host actually paints, and nothing wrote --ui-font-size.
Evidence: frontend suite above, plus computed styles in the Vite preview.
Impact: styles.css, store ui.fontSize, Settings appearance row. No Core or backend schema change.
Refs: feature/contrast-typography
## Summary
- Move decision-bearing copy off `--text-faint` onto `--text-dim` or `*-text`.
- Point sidebar active, focus, and the new-task button at the sidebar tokens so they stay visible on navy.
- Add a local-only interface font size (小 13 / 标准 14 / 大 16 / 特大 18) stored in `localStorage`.
## Test plan
- [x] `npx vitest run` (17 files, 81 tests), `npx tsc --noEmit`, knip 43 <= 43
- [x] Vite preview computed styles: molv new-task button `#e9f0f6` on `#082d4f`, active icon `#8fd4b4`, headers without uppercase
- [ ] Settings dialog click-through needs the API on port 8787, which was not running
Why: the same pairs that failed the audit are what the host actually paints, and nothing wrote `--ui-font-size`.
Evidence: frontend suite above, plus computed styles in the Vite preview.
Impact: styles.css, store `ui.fontSize`, Settings appearance row. No Core or backend schema change.
Refs: feature/contrast-typography
Why: Headers, HITL details, tool lists, and status words used faint text, semantic colors were used as text, and the molv sidebar primary button matched the navy surface. There was no control for --ui-font-size.
Evidence: npx vitest run (17 files, 81 tests), npx tsc --noEmit, and knip unused exports 43 <= 43 passed in modules/frontend.
Impact: Content classes move to --text-dim or *-text. Sidebar active, focus, and the new-task button use the sidebar tokens. Settings gains 小/标准/大/特大, stored only in localStorage as ui.fontSize. Before: no font-size control and a 1:1 new-task button on molv. After: four local sizes and a light sidebar button.
Refs: feature/contrast-typography
Co-authored-by: Cursor <cursoragent@cursor.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
--text-faintonto--text-dimor*-text.localStorage.Test plan
npx vitest run(17 files, 81 tests),npx tsc --noEmit, knip 43 <= 43#e9f0f6on#082d4f, active icon#8fd4b4, headers without uppercaseWhy: the same pairs that failed the audit are what the host actually paints, and nothing wrote
--ui-font-size.Evidence: frontend suite above, plus computed styles in the Vite preview.
Impact: styles.css, store
ui.fontSize, Settings appearance row. No Core or backend schema change.Refs: feature/contrast-typography