Components read CSS variables. Change tokens for system-wide look, or override a single component with classes and selectors.
Package installs use @sivir/ui/ui.css. CLI installs use src/lib/sivir/ui.css. Both define the same public axes: color,
type, radius, and motion.
Set values in your app CSS after importing Sivir’s sheet. Light defaults go in @theme. Dark values go under .dark.
--color-background, --color-foreground, --color-primary, --color-border, --color-ring--font-sans, --font-header, --font-mono--radius-md, --radius-lg, --radius-xl--motion-duration-hover, --motion-duration-panelWith the CLI, install a built-in preset into theme.css:
Import it after ui.css so it wins:
sivir list shows available built-in theme slugs. Community theme
registry hosting is not part of v1.
Toggle a .dark class on <html>. Components do not manage the class for you.
Every primitive accepts class. Use Tailwind utilities or your
own classes for one-off tweaks.
Components render data-ui (and often data-variant / data-size). Scope CSS to a family without forking files.
With the CLI path, files live under src/lib/sivir/components/<name>/. Edit them when you need
behavior changes, not just style.
@theme { --color-primary: #155eef; --color-background: #fcfcfd; --color-foreground: #101828; --radius-lg: 0.55rem; --font-sans: 'Inter', sans-serif; } .dark { --color-background: #0d1118; --color-foreground: #f5f7fb; --color-primary: #7aa2ff; }