6 built-in
Themes are first-class
A theme is one colour set shared by every card in your pack. All of them pass a WCAG contrast check: text at 4.5:1, accent at 3:1. New themes arrive by pull request.
Contribute a theme
- Add packages/core/src/themes/builtin/<id>.ts exporting a CardTheme. The id is 2–40 characters: lowercase letters, numbers, and hyphens. Copy obsidian.ts and change the colours.
- Register the export in packages/core/src/themes/builtin/index.ts so the gallery, the studio, and the card URLs can resolve it.
- Run bun run check. Text and muted on the background must be at least 4.5:1. Accent and gold must be at least 3:1. The check fails the pull request otherwise.