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

Go to generator

10000+Themes for shadcn/ui

Tasty for shadcn/ui

Tasty is a shadcn/ui theme built around a red primary color (#d66a57) with indigo accents (#6a57d6). The light mode uses a neutral background (#fefbfb). Dark mode keeps the red primary (#d66a57) on a neutral background (#070404).

Color palette

TokenLightDark
Background
#fefbfbsnow
#070404black
Foreground
#170603black
#faf6f5whitesmoke
Card
#fdf8f7snow
#0a0605black
Card foreground
#120402black
#fbf9f8snow
Popover
#fdf8f7snow
#0a0605black
Popover foreground
#120402black
#fbf9f8snow
Primary
#d66a57indianred
#d66a57indianred
Primary foreground
#000000black
#000000black
Secondary
#57d66amediumseagreen
#57d66amediumseagreen
Secondary foreground
#000000black
#000000black
Muted
#d6dbd7gainsboro
#242924darkslategray
Muted foreground
#405443darkslategray
#abbfaedarkgray
Accent
#6a57d6slateblue
#6a57d6slateblue
Accent foreground
#ffffffwhite
#ffffffwhite
Destructive
#6a1d0bmaroon
#e9512ftomato
Destructive foreground
#f7bdb1lightpink
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#d66a57indianred
#d66a57indianred

Contrast

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

Light mode
Text on background19.22:1AAA
Text on card19.07:1AAA
Primary button6.05:1AA
Secondary button11.25:1AAA
Muted text5.85:1AA
Accent5.33:1AA
Destructive7.18:1AAA
Dark mode
Text on background19.04:1AAA
Text on card19.21:1AAA
Primary button6.05:1AA
Secondary button11.25:1AAA
Muted text7.62:1AAA
Accent5.33:1AA
Destructive3.68:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.991 0.003 29.478);
  --foreground: oklch(0.149 0.035 37.076);
  --muted: oklch(0.887 0.008 150.122);
  --muted-foreground: oklch(0.424 0.039 148.983);
  --popover: oklch(0.982 0.006 29.488);
  --popover-foreground: oklch(0.136 0.03 38.228);
  --card: oklch(0.982 0.006 29.488);
  --card-foreground: oklch(0.136 0.03 38.228);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.648 0.14 31.509);
  --primary-foreground: oklch(0 0 0);
  --secondary: oklch(0.781 0.187 146.31);
  --secondary-foreground: oklch(0 0 0);
  --accent: oklch(0.545 0.188 285.157);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.354 0.113 33.9);
  --destructive-foreground: oklch(0.848 0.069 32.915);
  --ring: oklch(0.648 0.14 31.509);
  --chart-1: oklch(0.648 0.14 31.509);
  --chart-2: oklch(0.781 0.187 146.31);
  --chart-3: oklch(0.545 0.188 285.157);
  --chart-4: oklch(0.794 0.176 146.708);
  --chart-5: oklch(0.649 0.147 31.631);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.112 0.008 32.242);
  --foreground: oklch(0.975 0.004 29.483);
  --muted: oklch(0.274 0.011 149.697);
  --muted-foreground: oklch(0.785 0.033 149.677);
  --popover: oklch(0.128 0.009 32.242);
  --popover-foreground: oklch(0.983 0.003 29.478);
  --card: oklch(0.128 0.009 32.242);
  --card-foreground: oklch(0.983 0.003 29.478);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.648 0.14 31.509);
  --primary-foreground: oklch(0 0 0);
  --secondary: oklch(0.781 0.187 146.31);
  --secondary-foreground: oklch(0 0 0);
  --accent: oklch(0.545 0.188 285.157);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.639 0.194 34.072);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.648 0.14 31.509);
  --chart-1: oklch(0.648 0.14 31.509);
  --chart-2: oklch(0.781 0.187 146.31);
  --chart-3: oklch(0.545 0.188 285.157);
  --chart-4: oklch(0.794 0.176 146.708);
  --chart-5: oklch(0.649 0.147 31.631);
}