:root and .dark scopes to support both light and dark color modes.
Text Color Variables
Semantic text color tokens that automatically adapt to color mode:Tailwind Utilities
These variables are mapped to Tailwind utilities:text-dimmed→var(--ui-text-dimmed)text-muted→var(--ui-text-muted)text-toned→var(--ui-text-toned)text-default→var(--ui-text)text-highlighted→var(--ui-text-highlighted)text-inverted→var(--ui-text-inverted)
Background Color Variables
Semantic background color tokens:Tailwind Utilities
bg-default→var(--ui-bg)bg-muted→var(--ui-bg-muted)bg-elevated→var(--ui-bg-elevated)bg-accented→var(--ui-bg-accented)bg-inverted→var(--ui-bg-inverted)
Border Color Variables
Semantic border and ring color tokens:Tailwind Utilities
border-default/ring-default→var(--ui-border)border-muted/ring-muted→var(--ui-border-muted)border-accented/ring-accented→var(--ui-border-accented)border-inverted/ring-inverted→var(--ui-border-inverted)
Layout Variables
Global layout configuration:Usage
- Header Height - Used by layout components for spacing calculations
- Container - Maximum width for container elements
- Radius - Base border radius, scaled for different sizes
Radius Scale
Nuxt UI generates a radius scale based on--ui-radius:
rounded-* utilities.
Color Shade Variables
Each color alias generates a full shade scale (50-950):Colors are automatically lighter (400) in dark mode for better visibility.
Customizing Variables
Global Customization
Override CSS variables in your app’s CSS:[assets/css/main.css]
Component-Specific Variables
Some components may define their own CSS variables. Always check component documentation for available customization options.Accessing Variables in JavaScript
You can access CSS variables programmatically:Using with Tailwind CSS v4
Nuxt UI leverages Tailwind CSS v4’s native CSS variable support. You can reference these variables in your custom Tailwind classes:Variable Reference
Complete Variable List
Complete Variable List
Text Colors
--ui-text-dimmed--ui-text-muted--ui-text-toned--ui-text--ui-text-highlighted--ui-text-inverted
Background Colors
--ui-bg--ui-bg-muted--ui-bg-elevated--ui-bg-accented--ui-bg-inverted
Border Colors
--ui-border--ui-border-muted--ui-border-accented--ui-border-inverted
Layout
--ui-header-height--ui-container--ui-radius
Radius Scale
--radius-xsthrough--radius-3xl
Color Shades
For each color alias (primary, secondary, etc.):--ui-color-{alias}-50through--ui-color-{alias}-950--ui-{alias}(main color value)
Best Practices
Use semantic tokens
Prefer semantic tokens like
--ui-text over specific shades like --ui-color-neutral-700 for better theme adaptability.Layer your overrides
Always wrap custom CSS variable definitions in
@layer theme to maintain proper cascade order.Test both modes
When customizing color variables, always test in both light and dark modes to ensure readability.
Related
Design System
Learn about Nuxt UI’s design system architecture
Customization
Advanced theme customization techniques
Components
Component-level theming with Tailwind Variants