Instant MicroVMs/Unikernels for macOS and Linux
linux unikernel unikraft osv freebsd netbsd microvm libkrun

fix(ui): theme the portals — and give the TUI Night Rider's neon palette master

The remaining "X doesn't follow the theme" reports — modals, dropdown popups, the log popover — all had one root cause: HeroUI portals its overlays onto document.body, which sits *outside* the `<main>` the theme class lived on. Every overlay therefore kept the old theme however the class flipped. The ThemedRoot now stamps the class on `document.documentElement`, where portals inherit it; the <main> class stays for the in-tree half. Also from the review pass: - Sidebar hover text goes to full-strength `text-foreground` — the ramp step it used was not themed strongly enough to read as a highlight on purple. - The filter box shows a `f` keycap on its right, so the new shortcut is discoverable where it acts. - The TUI's five colors become Night Rider's, at its neon end: electric cyan chrome, the theme's signature neon magenta for emphasis (its most-used token color), its muted lavender, teal for good, pink for bad — the terminal dashboard and the desktop app now share one identity. Verified on aarch64-darwin: tsc in both trees, vite build in web/, TUI tests pass, release builds and signs. The overlays were not re-eyeballed; the fix is structural (where the class lives), not cosmetic.


+43 -15
7 changed files