Mercurial
view design_system/THEMES.md @ 258:60a876c4587a
[ui] Add semantic primitive ownership
Build a layered Zenbu token and sizing system, make authored controls use native-underneath primitives, migrate mrjunejune without imposing visual surfaces, and document/enforce HTML ownership in the catalog and wiki.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Wed, 05 Aug 2026 05:25:40 -0700 |
| parents | 30c2196d03d4 |
| children | 667156fcd3e3 |
line wrap: on
line source
# Zenbu UI themes Themes are named token compositions, not separate component stylesheets. Applications select one with `data-zen-theme` on the document root: ```html <html data-zen-theme="paper"> ``` Built-in themes: - `paper`: warm neutral surfaces, restrained natural accents, editorial type; - `ink`: dark charcoal surfaces with paper-like text and softer status colors; - `playful`: brighter clay, persimmon, violet, and rounded shapes; - no attribute: follow the operating-system light/dark preference. Applications can provide their own fonts without changing component CSS: ```css :root { --zenbu-font-editorial: "More Thin", sans-serif; --zenbu-font-playful: "More", sans-serif; } ``` Import `themes.css` after `tokens.css` and before component CSS. Components continue to consume semantic tokens, so every built-in and application theme inherits the same accessibility, motion, and native-HTML behavior.