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 blue primary color (#3e738e) with orange accents (#8e593e). The light mode uses a neutral background (#f7fbfd). Dark mode keeps the blue primary (#3e738e) on a neutral background (#010304).

Color palette

TokenLightDark
Background
#f7fbfdghostwhite
#010304black
Foreground
#040c11black
#ffffffwhite
Card
#f3f9fbaliceblue
#030607black
Card foreground
#03090dblack
#ffffffwhite
Popover
#f7fbfdghostwhite
#010304black
Popover foreground
#040c11black
#ffffffwhite
Primary
#3e738esteelblue
#3e738esteelblue
Primary foreground
#ffffffwhite
#ffffffwhite
Secondary
#8e593esienna
#8e593esienna
Secondary foreground
#ffffffwhite
#ffffffwhite
Muted
#f5eeealinen
#150e0ablack
Muted foreground
#5a4f49darkolivegreen
#b6aba5darkgray
Accent
#8e593esienna
#8e593esienna
Accent foreground
#ffffffwhite
#ffffffwhite
Destructive
#c7170afirebrick
#f43325orangered
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#3e738esteelblue
#3e738esteelblue

Contrast

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

Light mode
Text on background18.90:1AAA
Text on card18.81:1AAA
Primary button5.17:1AA
Secondary button5.77:1AA
Muted text6.90:1AA
Accent5.77:1AA
Destructive5.92:1AA
Dark mode
Text on background20.66:1AAA
Text on card20.34:1AAA
Primary button5.17:1AA
Secondary button5.77:1AA
Muted text8.53:1AAA
Accent5.77:1AA
Destructive3.94:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.985 0.005 228.812);
  --foreground: oklch(0.148 0.018 226.747);
  --muted: oklch(0.953 0.009 48.638);
  --muted-foreground: oklch(0.436 0.017 48.309);
  --popover: oklch(0.985 0.005 228.812);
  --popover-foreground: oklch(0.148 0.018 226.747);
  --card: oklch(0.978 0.007 228.843);
  --card-foreground: oklch(0.134 0.016 223.076);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.531 0.07 231.919);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.516 0.081 46.976);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.516 0.081 46.976);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.528 0.206 29.752);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.531 0.07 231.919);
  --chart-1: oklch(0.531 0.07 231.919);
  --chart-2: oklch(0.516 0.081 46.976);
  --chart-3: oklch(0.516 0.081 46.976);
  --chart-4: oklch(0.543 0.086 46.956);
  --chart-5: oklch(0.533 0.075 232.281);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.093 0.008 223.739);
  --foreground: oklch(1 0 180);
  --muted: oklch(0.17 0.014 47.867);
  --muted-foreground: oklch(0.748 0.015 48.516);
  --popover: oklch(0.093 0.008 223.739);
  --popover-foreground: oklch(1 0 180);
  --card: oklch(0.117 0.01 223.739);
  --card-foreground: oklch(1 0 180);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.531 0.07 231.919);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.516 0.081 46.976);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.516 0.081 46.976);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.627 0.228 29.385);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.531 0.07 231.919);
  --chart-1: oklch(0.531 0.07 231.919);
  --chart-2: oklch(0.516 0.081 46.976);
  --chart-3: oklch(0.516 0.081 46.976);
  --chart-4: oklch(0.543 0.086 46.956);
  --chart-5: oklch(0.533 0.075 232.281);
}