How users experience theming
By default, every vly app:- Detects the user’s OS preference on first visit (light / dark).
- Saves the user’s explicit preference in
localStorage. - Provides a theme toggle (sun / moon / monitor icons) in the user dropdown.
How tokens work
Openapp/globals.css:
bg-primary, text-foreground, etc.). Change a variable; every consumer updates.
Changing the brand color
The fastest path:Adding a new color
tailwind.config.ts, and references the new color in the relevant components.
Per-page theme overrides
Most apps use one global theme. For unusual cases (e.g., a marketing landing page that’s always dark regardless of user preference):app/marketing/layout.tsx
Related
Tailwind config
The lower-level config file.
shadcn/ui components
The components that consume the tokens.
Typography
Font and scale tokens.
