feat: theme follows system preference by default

- No saved preference → use prefers-color-scheme media query
- User clicks toggle → save explicit preference to localStorage
- Listen for system theme changes (OS-level toggle) when no explicit preference
- applyTheme() helper to keep isDark ref and DOM in sync
This commit is contained in:
Joe Allen
2026-08-19 11:03:07 +08:00
parent 7821272bcd
commit f07eaae99c
2 changed files with 29 additions and 6 deletions
File diff suppressed because one or more lines are too long