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

Go to generator

10000+Themes for shadcn/ui

Dizzy for shadcn/ui

Dizzy is a shadcn/ui theme built around a vivid red primary color (#ba3912) with muted light red accents (#d9c9c4). The light mode uses a neutral background (#fefcfb). Dark mode keeps the vivid red primary (#ba3912) on a neutral background (#030202).

Color palette

TokenLightDark
Background
#fefcfbsnow
#030202black
Foreground
#0e0402black
#fcf9f8snow
Card
#fdf8f7snow
#070403black
Card foreground
#090301black
#fdfcfcsnow
Popover
#fdf8f7snow
#070403black
Popover foreground
#090301black
#fdfcfcsnow
Primary
#ba3912firebrick
#ba3912firebrick
Primary foreground
#ffffffwhite
#ffffffwhite
Secondary
#e1d8d6gainsboro
#251b18black
Secondary foreground
#4d3d38darkslategray
#c6b0a9silver
Muted
#ecded9gainsboro
#261713black
Muted foreground
#4c413edarkslategray
#c1b6b3silver
Accent
#d9c9c4lightgrey
#3f2922darkslategray
Accent foreground
#412f2adarkslategray
#d9c1basilver
Destructive
#dd0808red
#f60e0ered
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#ba3912firebrick
#ba3912firebrick

Contrast

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

Light mode
Text on background19.76:1AAA
Text on card19.50:1AAA
Primary button5.70:1AA
Secondary button7.36:1AAA
Muted text7.51:1AAA
Accent7.86:1AAA
Destructive5.08:1AA
Dark mode
Text on background19.76:1AAA
Text on card19.94:1AAA
Primary button5.70:1AA
Secondary button8.14:1AAA
Muted text8.75:1AAA
Accent7.93:1AAA
Destructive4.20:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.992 0.002 37.731);
  --foreground: oklch(0.126 0.023 48.643);
  --muted: oklch(0.911 0.017 37.661);
  --muted-foreground: oklch(0.386 0.016 37.61);
  --popover: oklch(0.983 0.005 37.719);
  --popover-foreground: oklch(0.11 0.02 49.415);
  --card: oklch(0.983 0.005 37.719);
  --card-foreground: oklch(0.11 0.02 49.415);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.531 0.171 35.926);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.889 0.01 37.688);
  --secondary-foreground: oklch(0.375 0.024 37.592);
  --accent: oklch(0.848 0.02 37.648);
  --accent-foreground: oklch(0.325 0.028 37.603);
  --destructive: oklch(0.566 0.23 28.963);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.531 0.171 35.926);
  --chart-1: oklch(0.531 0.171 35.926);
  --chart-2: oklch(0.889 0.01 37.688);
  --chart-3: oklch(0.848 0.02 37.648);
  --chart-4: oklch(0.913 0.008 37.7);
  --chart-5: oklch(0.534 0.176 35.633);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.09 0.007 41.782);
  --foreground: oklch(0.984 0.003 37.727);
  --muted: oklch(0.222 0.025 37.637);
  --muted-foreground: oklch(0.786 0.013 37.67);
  --popover: oklch(0.113 0.008 41.782);
  --popover-foreground: oklch(0.992 0.001 37.735);
  --card: oklch(0.113 0.008 41.782);
  --card-foreground: oklch(0.992 0.001 37.735);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.531 0.171 35.926);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.234 0.016 37.592);
  --secondary-foreground: oklch(0.774 0.027 37.619);
  --accent: oklch(0.305 0.035 37.636);
  --accent-foreground: oklch(0.829 0.029 37.619);
  --destructive: oklch(0.615 0.248 28.858);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.531 0.171 35.926);
  --chart-1: oklch(0.531 0.171 35.926);
  --chart-2: oklch(0.234 0.016 37.592);
  --chart-3: oklch(0.305 0.035 37.636);
  --chart-4: oklch(0.265 0.019 37.593);
  --chart-5: oklch(0.534 0.176 35.633);
}