Appearance tab was local-state-only — light mode did nothing. Wire it up:
- index.css: theme color tokens are now CSS variables on :root (dark default)
with a [data-theme="light"] override using a soft GRAY page background
(#E4E6EB), not white. The @theme tokens + html/body + select reference the
vars, so the app shell and any component using bg-page/text-text-primary/etc.
themes automatically.
- New src/lib/theme.ts: localStorage-backed appearance prefs (theme/fontSize/
radius/animations) + applyAppearance() toggling data-theme on <html>, mirroring
the terminalPrefs pattern.
- main.tsx applies saved theme before first render (no flash).
- Settings AppearanceSection persists + applies on change; theme/fontSize/radius/
animations are live. Dropped the non-functional "Sidebar Expanded by default"
toggle. (accent color is still cosmetic-only — full token migration of
hardcoded-hex pages is a separate task, noted in ROADMAP.)
Also adds the Remote Desktop GNOME & KDE support work to ROADMAP as an add-on
(XFCE confirmed working; GNOME needs a FreeRDP-3 guacd image, KDE via xrdp +
startplasma-x11). Full detail in docs/rdp-debug-handoff.md.
Co-authored-by: Samuel James <ssamjame@amazon.com>
Co-authored-by: Kiro <noreply@kiro.dev>