Purpose
- Feature name: Theme system
- Why this feature exists: Provide consistent color tokens and transitions across light and dark modes.
Scope
In scope
- CSS variables for light and dark themes
- transition timing and reduced-motion handling
- global color and typography tokens
Out of scope
- theme toggle UI
- navigation components
- Tailwind CSS configured
- global CSS loaded in the app
Procedure / Content
Feature summary
- Feature name: Theme system
- Feature group: Theming and accessibility
- Technical summary: Defines CSS variables for light/dark themes and smooth transitions.
- Low-tech summary: A shared palette that keeps the site consistent in both modes.
Feature in action
- Where to see it working: Any route, including
/ and /cv.
Confirmation Process
Manual
- Steps: Toggle theme and compare colors across pages.
- What to look for: Consistent color tokens and readable contrast in both modes.
- Artifacts or reports to inspect: None.
Tests
- Colors render with low contrast.
- Transitions appear jarring or inconsistent.
Long-term maintenance notes
- Re-evaluate contrast after palette updates.
- Keep tokens aligned with the design system reference.
Source code references (GitHub URLs)
ADRs
Runbooks
Additional internal references
External reference links
Validation / Expected outcomes
- Theme tokens render consistently across routes.
Failure modes / Troubleshooting
- Inconsistent colors: verify CSS variable definitions.
References