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

Go to generator

10000+Themes for shadcn/ui

Superior for shadcn/ui

Superior is a shadcn/ui theme built around a light cyan primary color (#afd3df) with light green accents (#d3dfaf). The light mode uses a neutral background (#f8fbfc). Dark mode keeps the light cyan primary (#afd3df) on a neutral background (#000000).

Color palette

TokenLightDark
Background
#f8fbfcghostwhite
#000000black
Foreground
#020708black
#f6f8f9whitesmoke
Card
#f8fbfcghostwhite
#000000black
Card foreground
#020708black
#f6f8f9whitesmoke
Popover
#f8fbfcghostwhite
#000000black
Popover foreground
#020708black
#f6f8f9whitesmoke
Primary
#afd3dflightblue
#afd3dflightblue
Primary foreground
#1a3842darkslategray
#1a3842darkslategray
Secondary
#dfafd3plum
#dfafd3plum
Secondary foreground
#421a38darkslategray
#421a38darkslategray
Muted
#e6e0e5gainsboro
#1f191eblack
Muted foreground
#6a5c67dimgray
#a3959fdarkgray
Accent
#d3dfafpalegoldenrod
#d3dfafpalegoldenrod
Accent foreground
#38421adarkolivegreen
#38421adarkolivegreen
Destructive
#ca4312chocolate
#ed5f2cchocolate
Destructive foreground
#ffffffwhite
#000000black
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#afd3dflightblue
#afd3dflightblue

Contrast

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

Light mode
Text on background19.46:1AAA
Text on card19.46:1AAA
Primary button7.81:1AAA
Secondary button7.79:1AAA
Muted text4.82:1AA
Accent7.61:1AAA
Destructive4.87:1AA
Dark mode
Text on background19.71:1AAA
Text on card19.71:1AAA
Primary button7.81:1AAA
Secondary button7.79:1AAA
Muted text6.05:1AA
Accent7.61:1AAA
Destructive6.27:1AA

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.986 0.003 219.531);
  --foreground: oklch(0.12 0.014 214.074);
  --muted: oklch(0.912 0.01 334.06);
  --muted-foreground: oklch(0.493 0.024 334.673);
  --popover: oklch(0.986 0.003 219.531);
  --popover-foreground: oklch(0.12 0.014 214.074);
  --card: oklch(0.986 0.003 219.531);
  --card-foreground: oklch(0.12 0.014 214.074);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.844 0.042 220.024);
  --primary-foreground: oklch(0.321 0.039 221.958);
  --secondary: oklch(0.808 0.073 335.334);
  --secondary-foreground: oklch(0.289 0.075 337.904);
  --accent: oklch(0.882 0.065 119.151);
  --accent-foreground: oklch(0.359 0.062 121.245);
  --destructive: oklch(0.569 0.18 37.463);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.844 0.042 220.024);
  --chart-1: oklch(0.844 0.042 220.024);
  --chart-2: oklch(0.808 0.073 335.334);
  --chart-3: oklch(0.882 0.065 119.151);
  --chart-4: oklch(0.834 0.063 335.096);
  --chart-5: oklch(0.846 0.045 220.073);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0 0 0);
  --foreground: oklch(0.978 0.003 219.528);
  --muted: oklch(0.222 0.014 334.912);
  --muted-foreground: oklch(0.684 0.022 334.412);
  --popover: oklch(0 0 0);
  --popover-foreground: oklch(0.978 0.003 219.528);
  --card: oklch(0 0 0);
  --card-foreground: oklch(0.978 0.003 219.528);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.844 0.042 220.024);
  --primary-foreground: oklch(0.321 0.039 221.958);
  --secondary: oklch(0.808 0.073 335.334);
  --secondary-foreground: oklch(0.289 0.075 337.904);
  --accent: oklch(0.882 0.065 119.151);
  --accent-foreground: oklch(0.359 0.062 121.245);
  --destructive: oklch(0.661 0.186 38.946);
  --destructive-foreground: oklch(0 0 0);
  --ring: oklch(0.844 0.042 220.024);
  --chart-1: oklch(0.844 0.042 220.024);
  --chart-2: oklch(0.808 0.073 335.334);
  --chart-3: oklch(0.882 0.065 119.151);
  --chart-4: oklch(0.834 0.063 335.096);
  --chart-5: oklch(0.846 0.045 220.073);
}