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

Go to generator

10000+Themes for shadcn/ui

Taut for shadcn/ui

Taut is a shadcn/ui theme built around a deep blue primary color (#0a1238) with deep violet accents (#190a38). The light mode uses a neutral background (#f7f8fd). Dark mode keeps the deep blue primary (#0a1238) on a neutral background (#030407).

Color palette

TokenLightDark
Background
#f7f8fdghostwhite
#030407black
Foreground
#010105black
#f8f9fcghostwhite
Card
#f2f4fcaliceblue
#04050bblack
Card foreground
#000000black
#fbfcfdwhite
Popover
#f2f4fcaliceblue
#04050bblack
Popover foreground
#000000black
#fbfcfdwhite
Primary
#0a1238midnightblue
#0a1238midnightblue
Primary foreground
#8a9aeacornflowerblue
#8a9aeacornflowerblue
Secondary
#0a2938darkslategray
#0a2938darkslategray
Secondary foreground
#8acaeaskyblue
#8acaeaskyblue
Muted
#e0e4e5gainsboro
#1a1d1fblack
Muted foreground
#555b5edimgray
#a1a7aadarkgray
Accent
#190a38midnightblue
#190a38midnightblue
Accent foreground
#aa8aeamediumpurple
#aa8aeamediumpurple
Destructive
#d32603firebrick
#fc4a27orangered
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#0a1238midnightblue
#0a1238midnightblue

Contrast

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

Light mode
Text on background19.59:1AAA
Text on card19.14:1AAA
Primary button6.83:1AA
Secondary button8.45:1AAA
Muted text5.38:1AA
Accent6.58:1AA
Destructive5.19:1AA
Dark mode
Text on background19.50:1AAA
Text on card19.76:1AAA
Primary button6.83:1AA
Secondary button8.45:1AAA
Muted text6.97:1AA
Accent6.58:1AA
Destructive3.41:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.979 0.007 277.155);
  --foreground: oklch(0.074 0.02 265.603);
  --muted: oklch(0.916 0.004 228.812);
  --muted-foreground: oklch(0.466 0.009 229.012);
  --popover: oklch(0.968 0.011 277.099);
  --popover-foreground: oklch(0 0 0);
  --card: oklch(0.968 0.011 277.099);
  --card-foreground: oklch(0 0 0);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.203 0.076 269.72);
  --primary-foreground: oklch(0.706 0.119 274.35);
  --secondary: oklch(0.266 0.046 234.182);
  --secondary-foreground: oklch(0.808 0.08 230.684);
  --accent: oklch(0.202 0.084 292.485);
  --accent-foreground: oklch(0.702 0.141 298.05);
  --destructive: oklch(0.559 0.21 31.974);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.203 0.076 269.72);
  --chart-1: oklch(0.203 0.076 269.72);
  --chart-2: oklch(0.266 0.046 234.182);
  --chart-3: oklch(0.202 0.084 292.485);
  --chart-4: oklch(0.302 0.054 234.678);
  --chart-5: oklch(0.202 0.079 269.278);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.105 0.013 272.576);
  --foreground: oklch(0.981 0.005 277.196);
  --muted: oklch(0.227 0.006 229.121);
  --muted-foreground: oklch(0.725 0.008 228.897);
  --popover: oklch(0.12 0.015 272.606);
  --popover-foreground: oklch(0.991 0.002 277.228);
  --card: oklch(0.12 0.015 272.606);
  --card-foreground: oklch(0.991 0.002 277.228);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.203 0.076 269.72);
  --primary-foreground: oklch(0.706 0.119 274.35);
  --secondary: oklch(0.266 0.046 234.182);
  --secondary-foreground: oklch(0.808 0.08 230.684);
  --accent: oklch(0.202 0.084 292.485);
  --accent-foreground: oklch(0.702 0.141 298.05);
  --destructive: oklch(0.661 0.219 33.065);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.203 0.076 269.72);
  --chart-1: oklch(0.203 0.076 269.72);
  --chart-2: oklch(0.266 0.046 234.182);
  --chart-3: oklch(0.202 0.084 292.485);
  --chart-4: oklch(0.302 0.054 234.678);
  --chart-5: oklch(0.202 0.079 269.278);
}