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

Go to generator

10000+Themes for shadcn/ui

Gum for shadcn/ui

Gum is a shadcn/ui theme built around a deep indigo primary color (#0b0925) with deep violet accents (#180925). The light mode uses a neutral background (#f8f8fc). Dark mode keeps the deep indigo primary (#0b0925) on a neutral background (#030308).

Color palette

TokenLightDark
Background
#f8f8fcghostwhite
#030308black
Foreground
#010104black
#f8f8fcghostwhite
Card
#f8f8fcghostwhite
#030308black
Card foreground
#010104black
#f8f8fcghostwhite
Popover
#f8f8fcghostwhite
#030308black
Popover foreground
#010104black
#f8f8fcghostwhite
Primary
#0b0925black
#0b0925black
Primary foreground
#d4d2f4gainsboro
#d4d2f4gainsboro
Secondary
#091625black
#091625black
Secondary foreground
#81abdfskyblue
#81abdfskyblue
Muted
#d9e0e8gainsboro
#171e26black
Muted foreground
#3d3f42darkslategray
#bdbfc2silver
Accent
#180925black
#180925black
Accent foreground
#b581dfmediumpurple
#b581dfmediumpurple
Destructive
#b92204firebrick
#fb4723orangered
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#0b0925black
#0b0925black

Contrast

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

Light mode
Text on background19.63:1AAA
Text on card19.63:1AAA
Primary button13.26:1AAA
Secondary button7.67:1AAA
Muted text7.91:1AAA
Accent6.48:1AA
Destructive6.38:1AA
Dark mode
Text on background19.46:1AAA
Text on card19.46:1AAA
Primary button13.26:1AAA
Secondary button7.67:1AAA
Muted text9.12:1AAA
Accent6.48:1AA
Destructive3.49:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.98 0.006 288.596);
  --foreground: oklch(0.073 0.019 284.287);
  --muted: oklch(0.903 0.014 253.319);
  --muted-foreground: oklch(0.368 0.006 253.321);
  --popover: oklch(0.98 0.006 288.596);
  --popover-foreground: oklch(0.073 0.019 284.287);
  --card: oklch(0.98 0.006 288.596);
  --card-foreground: oklch(0.073 0.019 284.287);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.163 0.055 280.591);
  --primary-foreground: oklch(0.876 0.046 287.698);
  --secondary: oklch(0.196 0.036 254.257);
  --secondary-foreground: oklch(0.731 0.089 253.866);
  --accent: oklch(0.181 0.056 307.034);
  --accent-foreground: oklch(0.69 0.145 308.374);
  --destructive: oklch(0.508 0.189 32.172);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.163 0.055 280.591);
  --chart-1: oklch(0.163 0.055 280.591);
  --chart-2: oklch(0.196 0.036 254.257);
  --chart-3: oklch(0.181 0.056 307.034);
  --chart-4: oklch(0.227 0.045 254.465);
  --chart-5: oklch(0.162 0.058 280.041);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.098 0.018 285.691);
  --foreground: oklch(0.98 0.005 288.609);
  --muted: oklch(0.231 0.019 253.669);
  --muted-foreground: oklch(0.804 0.005 253.259);
  --popover: oklch(0.098 0.018 285.691);
  --popover-foreground: oklch(0.98 0.005 288.609);
  --card: oklch(0.098 0.018 285.691);
  --card-foreground: oklch(0.98 0.005 288.609);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.163 0.055 280.591);
  --primary-foreground: oklch(0.876 0.046 287.698);
  --secondary: oklch(0.196 0.036 254.257);
  --secondary-foreground: oklch(0.731 0.089 253.866);
  --accent: oklch(0.181 0.056 307.034);
  --accent-foreground: oklch(0.69 0.145 308.374);
  --destructive: oklch(0.656 0.221 32.994);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.163 0.055 280.591);
  --chart-1: oklch(0.163 0.055 280.591);
  --chart-2: oklch(0.196 0.036 254.257);
  --chart-3: oklch(0.181 0.056 307.034);
  --chart-4: oklch(0.227 0.045 254.465);
  --chart-5: oklch(0.162 0.058 280.041);
}