2026-08-20 — Theme toggle transition

Summary

Site light/dark (next-themes class on html) now interpolates theme color tokens over ~250ms instead of snapping. Reduced-motion preferences keep an instant switch.

Highlights

  • Removed disableTransitionOnChange from the ThemeProvider so CSS can run during the class flip.

  • Registered key tokens (--background, --foreground, --card, borders, etc.) with @property and transition them on html.

  • Also ease color / background-color on html/body and box-shadow on header frost/search chrome.

  • Scoped away from transition: all, map canvas, and route view transitions; prefers-reduced-motion: reduce disables the theme transition.