Modern CSS is no longer just about presentation. It increasingly allows us to explore interaction, state, and progressive enhancement in places that used to be JavaScript territory.

More on that in my blogpost: https://schepp.dev/posts/turning-css-carousels-into-a-theme-switcher/

(and with that post I've fulfilled my duty for 2026 😅)

Turning a CSS Carousel into a Theme Switcher

What happens when scroll becomes state? An exploration of a JS-free theme switcher powered by modern CSS primitives.

@Schepp For Safari no discoverability of the dark/light-themes, other than your blog. However, when I change the theme via de Web Inspector from light to dark and back again, I get some kind of dawn theme. Probably some bug, but funny nonetheless...
@doekman well spotted, thank you. Will fix!
@doekman (as for discoverability: since neither Safari nor Firefox support CSS carousels, I'm unable to show the theme switcher there 😢)
@Schepp Yeah, I saw on the Chrome for Developers page it only works in Chrome & Edge. It took me a while to figure this out, since you didn't mention this in your blog.