diff --git a/.planning/phases/12-dark-mode-visibility-fixes/12-RESEARCH.md b/.planning/phases/12-dark-mode-visibility-fixes/12-RESEARCH.md new file mode 100644 index 0000000..0541380 --- /dev/null +++ b/.planning/phases/12-dark-mode-visibility-fixes/12-RESEARCH.md @@ -0,0 +1,328 @@ +# Phase 12: Dark Mode Visibility Fixes - Research + +**Researched:** 2026-04-01 +**Domain:** CSS dark mode theming — Tailwind v4 CSS custom properties, native form control styling +**Confidence:** HIGH (all findings based on direct source code audit of the live codebase) + +## Summary + +Phase 12 addresses a specific set of dark-mode visibility regressions introduced during the v1.2 UI overhaul. The project uses a robust two-layer CSS token system (raw `--r2b-*` custom properties overridden per `.dark` class, wired to Tailwind utility classes via `@theme`). The architecture is sound. The problem is that several components were incompletely migrated: their structural/container elements received semantic tokens but their text elements, headings, and native form controls were left unstyled, rendering them invisible or unreadable in dark mode. + +The issues fall into three categories: (1) bare `

` headings with no className in four wizard steps, (2) DeploymentStep using completely unstyled native form controls (fieldset, legend, labels, checkbox, radio), and (3) a `` container itself. + +## Don't Hand-Roll + +| Problem | Don't Build | Use Instead | Why | +|---------|-------------|-------------|-----| +| Dark select styling | Custom `` | `