Let the candidate switch the editor theme

Merged
PR
1mo ago
+468-15

The editor was dark only, with colors hard-coded rather than drawn from variables, so a candidate reading code more comfortably on a light background, such as in a bright room or on a projector, had no way to change it. Editor colors now live on custom properties scoped to the editor stack, a toggle next to Run tests flips between VS Code's Dark+ and Light+ palettes, and the choice persists per browser while defaulting to the system theme. The rest of the interview page keeps the fixed dark scheme; a page-wide theme can follow later on the same variables.

Closes #219


Summary by cubic

Lets candidates switch the editor between VS Code's Dark+ and Light+ palettes. Editor colors moved from hard-coded values to CSS custom properties scoped to the editor stack, so the rest of the interview page keeps its fixed dark scheme. The choice persists per browser and defaults to the system theme; that default lives in a CSS media query, so the correct theme paints before scripts run and follows system changes live. The gutter gets its own light-mode colors, and the toggle keeps a fixed label with aria-pressed reporting the state. The toggle flips off the effective theme, so its first click from the no-choice default applies the opposite theme instead of doing nothing.