Add a light theme alongside the existing dark theme. The app should follow the OS color scheme by default, with a three-way toggle (System / Light / Dark) in the bottom bar kebab menu for manual override. Content colors with universal semantic meaning (damage, healing, conditions) keep their hue across themes.
Acceptance Criteria
The app ships with a dark theme and a light theme
By default, the app follows the OS color scheme preference (prefers-color-scheme)
User can override the theme via a three-way toggle (System / Light / Dark) in the bottom bar kebab menu
The user's theme preference persists across sessions
Content colors with universal meaning (damage=red, healing=green, condition colors) keep their hue across themes, adjusting only shade/intensity for readability
All UI surfaces (cards, dialogs, inputs, borders) adapt correctly to both themes with no illegible or invisible elements
## Summary
Add a light theme alongside the existing dark theme. The app should follow the OS color scheme by default, with a three-way toggle (System / Light / Dark) in the bottom bar kebab menu for manual override. Content colors with universal semantic meaning (damage, healing, conditions) keep their hue across themes.
## Acceptance Criteria
- [x] The app ships with a dark theme and a light theme
- [x] By default, the app follows the OS color scheme preference (`prefers-color-scheme`)
- [x] User can override the theme via a three-way toggle (System / Light / Dark) in the bottom bar kebab menu
- [x] The user's theme preference persists across sessions
- [x] Content colors with universal meaning (damage=red, healing=green, condition colors) keep their hue across themes, adjusting only shade/intensity for readability
- [x] All UI surfaces (cards, dialogs, inputs, borders) adapt correctly to both themes with no illegible or invisible elements
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
Add a light theme alongside the existing dark theme. The app should follow the OS color scheme by default, with a three-way toggle (System / Light / Dark) in the bottom bar kebab menu for manual override. Content colors with universal semantic meaning (damage, healing, conditions) keep their hue across themes.
Acceptance Criteria
prefers-color-scheme)