Styling & Theming
Styling system, theme architecture, and customization in DesQTA
Styling System Overview
DesQTA uses TailwindCSS 4 with a custom theme system that supports light/dark modes, custom accent colors, and theme packs.
TailwindCSS Configuration
Base Configuration
DesQTA uses TailwindCSS 4 with custom configuration:
CSS Custom Properties
Themes use CSS custom properties for dynamic theming:
Theme System Architecture
Theme Structure
Themes are organized in static/themes/:
Theme Manifest
Each theme has a theme-manifest.json:
Using Themes
Loading Themes
Applying Themes
Theme Preview
Styling Components
Using Tailwind Classes
Using Accent Colors
Using Theme Properties
Color System
Accent Colors
Accent colors are customizable and used throughout the UI:
Semantic Colors
Semantic colors for states:
Dark Mode
Automatic Dark Mode
Dark mode is handled automatically via the dark class:
System Theme Detection
Custom CSS Injection
Injecting Custom CSS
Component Styling Patterns
Consistent Button Styles
Card Styles
Input Styles
Responsive Design
Breakpoints
Common Patterns
Animations
Transitions
Custom Animations
Creating Custom Themes
Theme Structure
- Create theme directory:
- Create
theme-manifest.json:
- Create CSS files:
Register Theme
Themes are automatically discovered from static/themes/. No registration needed!
Best Practices
1. Use Semantic Colors
2. Support Dark Mode
3. Use CSS Variables
4. Consistent Spacing
5. Responsive Design
Theme Customization
User Customization
Users can customize:
- Accent Color: Choose from color picker
- Theme Mode: Light, Dark, or System
- Theme Pack: Select from available themes
- Custom CSS: Inject custom styles
Programmatic Customization
Next Steps
- Component Architecture - Component styling patterns
- Common Components - Styled components
- Theme Service - Theme service API