fix(desktop,web): make every surface follow the theme, and make switching findable master
The Night Rider commit themed HeroUI's slots and nothing else, which the first click exposed: terminals stayed on the old palette, the content loaders shimmered gray over purple, inputs hovered in neutral gray, and nothing on screen said where themes even lived. One module now owns what CSS cannot reach — `lib/theme.ts`, per-theme values for xterm (a canvas; CSS variables never arrive) and the SVG content loaders. Night Rider's terminal palette is derived from the theme's own token accents (it defines no terminal colors of its own), and a live terminal re-themes via `term.options.theme` when the atom flips, not just on next mount. - Terminal panes, the bottom terminal panel, the agent panel and log views take their background and palette from the active theme; the hardcoded `#0a0d13` surfaces are gone. - Skeletons (react-content-loader) shimmer in theme colors. - HeroUI's `default` ramp is themed — it drives input hover/focus and subtle borders, which otherwise stayed neutral gray against purple. - Sidebar hovers use the themed ramp instead of a white tint. Switching is now findable four ways, because "I don't see where to change theme" is a bug report about all of them missing: an **Appearance** entry at the bottom of the sidebar, an **Appearance** section first in Settings, the command palette entry, and the **t** key cycling themes. **f** focuses the current view's filter box (vim/GitHub muscle memory); both keys are in the shortcuts modal. Verified on aarch64-darwin: tsc in both trees, vite build in web/. Not verified visually across every screen.