# Customization
Customizing Dynamic Framework doesn't modify the package. A theme is a stylesheet loaded after the Dynamic UI CSS, and a custom component uses Dynamic's as its base. This section covers three paths.
# Overriding variables
Theming describes the contract of the Dynamic UI 2.12.1 --bs-* tokens for whoever maintains the variable stylesheet by hand:
- Where the theme is loaded and why it wins, with and without
@layer - The color contract:
R, G, Btriplets, ramps and a full rebrand of a role - Text on background, typography, radius, spacing and component variables
- Zones with their own palette
# Generating a theme
Generating and validating a theme is an optional workflow: dynamic-theme-expand writes the variable stylesheet from a short JSON file, and dynamic-theme-validate checks any theme stylesheet, generated or written by hand.
# Extending components
Extending components explains how to build your own components from Dynamic's:
- Composition patterns
- Wrapper components
- Custom hooks