Themes
Every website has a theme applied via data-theme attribute on <html>.
Built-in Themes
PageWeave supports 35+ daisyUI 5 built-in themes:
light,dark,cupcake,bumblebee,emerald,corporatesynthwave,retro,cyberpunk,valentine,halloweengarden,forest,aqua,lofi,pastel,fantasywireframe,black,luxury,dracula,cmykautumn,business,acid,lemonade,nightcoffee,winter,dim,nord,sunset
Setting a Theme
Via MCP:
get_theme, update_theme(website: "my-site", config: { name: "nord" })
Custom Themes
Create a custom theme with OKLCH colors:
get_theme, update_theme(website: "my-site", config: {
css: '[data-theme="my-brand"] {
--color-primary: oklch(0.45 0.2 270);
--color-primary-content: oklch(0.98 0.01 270);
--color-base-100: oklch(0.98 0.005 270);
...
}'
})
Required CSS Variables
Custom themes must define at minimum:
--color-primary/--color-primary-content--color-base-100/--color-base-content--color-neutral/--color-neutral-content
Dark Themes
Custom dark themes MUST include color-scheme: dark; in the CSS block:
[data-theme="my-dark"] {
color-scheme: dark;
--color-base-100: oklch(0.2 0.02 270);
...
}
color-scheme controls browser-provided UI (scrollbars, form controls, date pickers) and PageWeave's dark-mode detection (watermark). Without it, a dark site renders light UI chrome. Built-in daisyUI dark themes (dark, night, dim, dracula, abyss, black, business, luxury, coffee, forest, halloween, synthwave, sunset, aqua) already carry it — nothing to do. The daisyUI prefersdark plugin option doesn't apply on PageWeave: the theme is pinned via data-theme, not switched by OS preference.
Design System Colors
PageWeave's own design system uses:
| Token | Light | Dark |
|---|---|---|
| base-100 | Warm parchment | Near-black indigo |
| primary | Indigo #4F46E5 | Lighter indigo |
| accent | Violet #9C3AED | Violet glow |
| success | Muted sage | Muted sage |
| warning | Warm amber | Warm amber |
| error | Warm rust | Warm rust |
All colors use OKLCH for perceptual uniformity.
Theme Versioning
Theme changes create versions. Freeze a theme version per environment with releases; revert_version restores an older version by creating a new one (never deletes).