What problem does it solve? Adding light/dark mode to a React Server Components app often causes a flash of the wrong theme on page load (FOUC) and requires wiring up cookies, localStorage, and hydration handling manually. This Skill configures Rango's opt-in theme system so theme state works consistently across SSR, client navigation, and no-JS requests. ## Core Features & Use Cases - Router-level theme configuration: Enable theming with theme: true or customize defaultTheme, themes, attribute, and storageKey in createRouter. - Server-side theme access: Read ctx.theme or call ctx.setTheme() in handlers and middleware; loaders read the theme cookie directly via cookies(). - Client theme hook: Use useTheme() from @rangojs/router/theme to build toggles exposing theme, setTheme, resolvedTheme, systemTheme, and themes. - Use Case: Build a settings page with a theme dropdown that persists the user's choice in localStorage plus a cookie, renders the correct theme on the server, and never flashes the wrong colors on reload. ## Quick Start Enable the theme option in my Rango createRouter config and add a light/dark mode toggle component using useTheme.