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

Go to generator

10000+Themes for shadcn/ui

Hideous for shadcn/ui

Hideous is a shadcn/ui theme built around a vivid deep green primary color (#012311) with vivid deep teal accents (#012322). The light mode uses a neutral background (#f6fdfa). Dark mode keeps the vivid deep green primary (#012311) on a neutral background (#000000).

Color palette

TokenLightDark
Background
#f6fdfamintcream
#000000black
Foreground
#020905black
#f9fbfamintcream
Card
#f6fdfamintcream
#000000black
Card foreground
#020905black
#f9fbfamintcream
Popover
#f6fdfamintcream
#000000black
Popover foreground
#020905black
#f9fbfamintcream
Primary
#012311black
#012311black
Primary foreground
#04ec70springgreen
#04ec70springgreen
Secondary
#022301black
#022301black
Secondary foreground
#0bec04lime
#0bec04lime
Muted
#cfe9celightgrey
#173116black
Muted foreground
#3f503fdarkslategray
#b0c0afsilver
Accent
#012322black
#012322black
Accent foreground
#04ece4aqua
#04ece4aqua
Destructive
#92240csaddlebrown
#f06242tomato
Destructive foreground
#fcdcd5mistyrose
#000000black
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#012311black
#012311black

Contrast

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

Light mode
Text on background19.54:1AAA
Text on card19.54:1AAA
Primary button10.58:1AAA
Secondary button10.45:1AAA
Muted text6.64:1AA
Accent11.15:1AAA
Destructive6.56:1AA
Dark mode
Text on background20.20:1AAA
Text on card20.20:1AAA
Primary button10.58:1AAA
Secondary button10.45:1AAA
Muted text7.40:1AAA
Accent11.15:1AAA
Destructive6.52:1AA

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.989 0.009 163.22);
  --foreground: oklch(0.125 0.02 163.527);
  --muted: oklch(0.907 0.045 144.296);
  --muted-foreground: oklch(0.411 0.035 144.052);
  --popover: oklch(0.989 0.009 163.22);
  --popover-foreground: oklch(0.125 0.02 163.527);
  --card: oklch(0.989 0.009 163.22);
  --card-foreground: oklch(0.125 0.02 163.527);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.226 0.054 155.868);
  --primary-foreground: oklch(0.825 0.226 150.154);
  --secondary: oklch(0.224 0.074 141.944);
  --secondary-foreground: oklch(0.818 0.277 142.421);
  --accent: oklch(0.232 0.039 191.551);
  --accent-foreground: oklch(0.852 0.147 190.541);
  --destructive: oklch(0.438 0.149 33.526);
  --destructive-foreground: oklch(0.918 0.037 32.723);
  --ring: oklch(0.226 0.054 155.868);
  --chart-1: oklch(0.226 0.054 155.868);
  --chart-2: oklch(0.224 0.074 141.944);
  --chart-3: oklch(0.232 0.039 191.551);
  --chart-4: oklch(0.277 0.092 142.082);
  --chart-5: oklch(0.228 0.056 155.73);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0 0 0);
  --foreground: oklch(0.986 0.003 163.355);
  --muted: oklch(0.284 0.057 143.239);
  --muted-foreground: oklch(0.791 0.03 144.371);
  --popover: oklch(0 0 0);
  --popover-foreground: oklch(0.986 0.003 163.355);
  --card: oklch(0 0 0);
  --card-foreground: oklch(0.986 0.003 163.355);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.226 0.054 155.868);
  --primary-foreground: oklch(0.825 0.226 150.154);
  --secondary: oklch(0.224 0.074 141.944);
  --secondary-foreground: oklch(0.818 0.277 142.421);
  --accent: oklch(0.232 0.039 191.551);
  --accent-foreground: oklch(0.852 0.147 190.541);
  --destructive: oklch(0.671 0.181 34.149);
  --destructive-foreground: oklch(0 0 0);
  --ring: oklch(0.226 0.054 155.868);
  --chart-1: oklch(0.226 0.054 155.868);
  --chart-2: oklch(0.224 0.074 141.944);
  --chart-3: oklch(0.232 0.039 191.551);
  --chart-4: oklch(0.277 0.092 142.082);
  --chart-5: oklch(0.228 0.056 155.73);
}