Generate feedback colors (success, warning, error, and info) for shadcn/ui

Go to generator

10000+Themes for shadcn/ui

Mambo for shadcn/ui

Mambo is a shadcn/ui theme built around a vivid light violet primary color (#f4f0fe) with vivid light green accents (#f0fef4). The light mode uses a neutral background (#ffffff). Dark mode keeps the vivid light violet primary (#f4f0fe) on a violet-tinted background (#08060e).

Color palette

TokenLightDark
Background
#ffffffwhite
#08060eblack
Foreground
#020104black
#ffffffwhite
Card
#ffffffwhite
#08060eblack
Card foreground
#020104black
#ffffffwhite
Popover
#ffffffwhite
#08060eblack
Popover foreground
#020104black
#ffffffwhite
Primary
#f4f0feghostwhite
#f4f0feghostwhite
Primary foreground
#3608b5indigo
#3608b5indigo
Secondary
#fef4f0seashell
#fef4f0seashell
Secondary foreground
#531903maroon
#531903maroon
Muted
#dfd6d2gainsboro
#2d2320darkslategray
Muted foreground
#5f5b59dimgray
#a6a2a0darkgray
Accent
#f0fef4honeydew
#f0fef4honeydew
Accent foreground
#035319darkgreen
#035319darkgreen
Destructive
#87360dsaddlebrown
#eb7337tomato
Destructive foreground
#fadbccbisque
#000000black
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#f4f0feghostwhite
#f4f0feghostwhite

Contrast

WCAG 2 contrast ratios between each background and its foreground color.

Light mode
Text on background20.81:1AAA
Text on card20.81:1AAA
Primary button10.10:1AAA
Secondary button12.88:1AAA
Muted text4.69:1AA
Accent8.97:1AAA
Destructive6.29:1AA
Dark mode
Text on background20.11:1AAA
Text on card20.11:1AAA
Primary button10.10:1AAA
Secondary button12.88:1AAA
Muted text6.03:1AA
Accent8.97:1AAA
Destructive7.06:1AAA

CSS variables

Paste this into your globals.css to use Mambo in your shadcn/ui project.

:root {
  --radius: 0.5rem;
  --background: oklch(1 0 180);
  --foreground: oklch(0.074 0.023 298.356);
  --muted: oklch(0.882 0.012 41.205);
  --muted-foreground: oklch(0.473 0.006 41.212);
  --popover: oklch(1 0 180);
  --popover-foreground: oklch(0.074 0.023 298.356);
  --card: oklch(1 0 180);
  --card-foreground: oklch(0.074 0.023 298.356);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.963 0.019 298.22);
  --primary-foreground: oklch(0.378 0.227 278.051);
  --secondary: oklch(0.974 0.012 41.209);
  --secondary-foreground: oklch(0.304 0.092 38.837);
  --accent: oklch(0.985 0.02 154.164);
  --accent-foreground: oklch(0.386 0.115 146.326);
  --destructive: oklch(0.439 0.121 42.789);
  --destructive-foreground: oklch(0.914 0.04 48.261);
  --ring: oklch(0.963 0.019 298.22);
  --chart-1: oklch(0.963 0.019 298.22);
  --chart-2: oklch(0.974 0.012 41.209);
  --chart-3: oklch(0.985 0.02 154.164);
  --chart-4: oklch(1 0 180);
  --chart-5: oklch(0.963 0.02 298.208);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.132 0.019 297.632);
  --foreground: oklch(1 0 180);
  --muted: oklch(0.267 0.016 40.969);
  --muted-foreground: oklch(0.715 0.005 41.248);
  --popover: oklch(0.132 0.019 297.632);
  --popover-foreground: oklch(1 0 180);
  --card: oklch(0.132 0.019 297.632);
  --card-foreground: oklch(1 0 180);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.963 0.019 298.22);
  --primary-foreground: oklch(0.378 0.227 278.051);
  --secondary: oklch(0.974 0.012 41.209);
  --secondary-foreground: oklch(0.304 0.092 38.837);
  --accent: oklch(0.985 0.02 154.164);
  --accent-foreground: oklch(0.386 0.115 146.326);
  --destructive: oklch(0.688 0.165 44.756);
  --destructive-foreground: oklch(0 0 0);
  --ring: oklch(0.963 0.019 298.22);
  --chart-1: oklch(0.963 0.019 298.22);
  --chart-2: oklch(0.974 0.012 41.209);
  --chart-3: oklch(0.985 0.02 154.164);
  --chart-4: oklch(1 0 180);
  --chart-5: oklch(0.963 0.02 298.208);
}