# Theming

All nine upstream themes: install-time selection with --theme, the docs style switcher mechanism, and the lyra/sera font-pairing story.

Themes ship as complete visual fragments in poetry-ui (`themes/*.css`); an app runs exactly one, chosen at install time with `bin/rails g poetry:install --theme <name>` (re-runs are theme-sticky; `--theme` switches). Components read tokens and never restate them, so switching themes restyles the whole catalog.

Available themes: default, luma, lyra, maia, mira, nova, rhea, sera, vega.

Token-level restyling goes through `poetry:design:import` (design-overrides.css), which also ingests Figma variable exports and Paper themes and drops any swatch failing WCAG AA.
