Skip to content

Theme Tokens

All tokens are CSS custom properties installed by the CLI into src/styles/bambi.css. Import once at the root of your app:

@import './styles/bambi.css';

Override any token in your own :root block to customise the theme globally:

:root {
--bambi-primary: oklch(60% 0.25 30);
--bambi-radius-md: 0.5rem;
}
[data-theme='dark'], .dark {
--bambi-primary: oklch(70% 0.25 30);
}

Colors use the OKLCH color space. Light mode values are defined in :root, dark mode overrides in [data-theme='dark'], .dark.

TokenLightDark
--bambi-primaryoklch(55% 0.220 271)oklch(65% 0.220 271)
--bambi-primary-foregroundoklch(100% 0 0)oklch(9% 0 0)
--bambi-secondaryoklch(95% 0.008 271)oklch(26% 0.016 271)
--bambi-secondary-foregroundoklch(9% 0 0)oklch(98% 0 0)
--bambi-accentoklch(94% 0.008 271)oklch(27% 0.016 271)
--bambi-accent-foregroundoklch(9% 0 0)oklch(98% 0 0)
TokenLightDark
--bambi-dangeroklch(65% 0.233 28)oklch(59% 0.197 27)
--bambi-danger-foregroundoklch(100% 0 0)oklch(98% 0 0)
--bambi-successoklch(73% 0.194 153)oklch(73% 0.194 153)
--bambi-success-foregroundoklch(9% 0 0)oklch(9% 0 0)
--bambi-warningoklch(78% 0.159 74)oklch(82% 0.139 78)
--bambi-warning-foregroundoklch(9% 0 0)oklch(9% 0 0)
--bambi-mutedoklch(94% 0.008 271)oklch(27% 0.010 271)
--bambi-muted-foregroundoklch(55% 0.021 271)oklch(71% 0.021 271)
TokenLightDark
--bambi-backgroundoklch(97% 0.010 271)oklch(12% 0.010 271)
--bambi-foregroundoklch(9% 0 0)oklch(98% 0 0)
--bambi-cardoklch(100% 0 0)oklch(21% 0.021 271)
--bambi-card-foregroundoklch(9% 0 0)oklch(98% 0 0)
--bambi-popoveroklch(100% 0 0)oklch(21% 0.021 271)
--bambi-popover-foregroundoklch(9% 0 0)oklch(98% 0 0)
TokenLightDark
--bambi-borderoklch(90% 0.010 271)oklch(28% 0.010 271)
--bambi-inputoklch(90% 0.010 271)oklch(28% 0.010 271)
--bambi-input-backgroundoklch(100% 0 0)oklch(21% 0.021 271)
--bambi-input-foregroundoklch(9% 0 0)oklch(98% 0 0)
--bambi-input-placeholderoklch(55% 0.021 271)oklch(71% 0.021 271)
--bambi-ringvar(--bambi-primary)var(--bambi-primary)
--bambi-separatoroklch(92% 0.010 271)oklch(25% 0.010 271)

These tokens are used internally by components. Override them to change hover colors without touching the base intent colors.

TokenDefault
--bambi-intent-primary-bgvar(--bambi-primary)
--bambi-intent-primary-fgvar(--bambi-primary-foreground)
--bambi-intent-primary-hover-bgoklch(49% 0.230 271) / oklch(72% 0.200 271) dark
--bambi-intent-secondary-bgvar(--bambi-secondary)
--bambi-intent-secondary-fgvar(--bambi-secondary-foreground)
--bambi-intent-secondary-hover-bgvar(--bambi-accent)
--bambi-intent-danger-bgvar(--bambi-danger)
--bambi-intent-danger-fgvar(--bambi-danger-foreground)
--bambi-intent-danger-hover-bgoklch(58% 0.220 28)
--bambi-intent-success-bgvar(--bambi-success)
--bambi-intent-success-fgvar(--bambi-success-foreground)
--bambi-intent-success-hover-bgoklch(64% 0.180 153)
--bambi-intent-warning-bgvar(--bambi-warning)
--bambi-intent-warning-fgvar(--bambi-warning-foreground)
--bambi-intent-warning-hover-bgoklch(69% 0.150 74)

TokenValue
--bambi-radius-sm0.375rem
--bambi-radius-md0.5rem
--bambi-radius-lg0.75rem
--bambi-radius-xl1rem
--bambi-radius-full9999px

TokenValue
--bambi-font-sanssystem-ui, sans-serif
--bambi-font-monoui-monospace, monospace
TokenValue
--bambi-text-xs0.75rem
--bambi-text-sm0.875rem
--bambi-text-base1rem
--bambi-text-lg1.125rem
TokenValue
--bambi-font-weight-normal400
--bambi-font-weight-medium500
--bambi-font-weight-semibold600
--bambi-font-weight-bold700

TokenLightDark
--bambi-shadow-sm0 1px 2px 0 oklch(0% 0 0 / 0.05)oklch(0% 0 0 / 0.3)
--bambi-shadow-md0 4px 6px -1px oklch(0% 0 0 / 0.1), …oklch(0% 0 0 / 0.4), …
--bambi-shadow-lg0 10px 15px -3px oklch(0% 0 0 / 0.1), …oklch(0% 0 0 / 0.4), …

Shadow opacity is higher in dark mode to remain visible on dark surfaces.