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

Go to generator

10000+Themes for shadcn/ui

Nexus for shadcn/ui

Nexus is a shadcn/ui theme built around a neutral gray primary color (#6e726e) with muted light green accents (#c9dbc7). The light mode uses a neutral background (#f7fdf7). Dark mode keeps the neutral gray primary (#6e726e) on a neutral background (#030803).

Color palette

TokenLightDark
Background
#f7fdf7mintcream
#030803black
Foreground
#000000black
#fcfdfcwhite
Card
#f7fdf7mintcream
#030803black
Card foreground
#000000black
#fcfdfcwhite
Popover
#f7fdf7mintcream
#030803black
Popover foreground
#000000black
#fcfdfcwhite
Primary
#6e726edimgray
#6e726edimgray
Primary foreground
#ffffffwhite
#ffffffwhite
Secondary
#e5ebe5gainsboro
#252e24darkslategray
Secondary foreground
#465a44darkslategray
#bcc9basilver
Muted
#ddeadcgainsboro
#162315black
Muted foreground
#475346darkslategray
#adb9acdarkgray
Accent
#c9dbc7lightgrey
#354d33darkslategray
Accent foreground
#2e442cdarkslategray
#d2e0d1lightgrey
Destructive
#81310esaddlebrown
#e15519chocolate
Destructive foreground
#f9d7c8bisque
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#6e726edimgray
#6e726edimgray

Contrast

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

Light mode
Text on background20.36:1AAA
Text on card20.36:1AAA
Primary button4.86:1AA
Secondary button6.19:1AA
Muted text6.51:1AA
Accent7.28:1AAA
Destructive6.59:1AA
Dark mode
Text on background19.84:1AAA
Text on card19.84:1AAA
Primary button4.86:1AA
Secondary button8.19:1AAA
Muted text7.99:1AAA
Accent6.81:1AA
Destructive3.81:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.988 0.01 143.086);
  --foreground: oklch(0 0 0);
  --muted: oklch(0.924 0.024 143.012);
  --muted-foreground: oklch(0.428 0.027 142.831);
  --popover: oklch(0.988 0.01 143.086);
  --popover-foreground: oklch(0 0 0);
  --card: oklch(0.988 0.01 143.086);
  --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.549 0.008 143.062);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.935 0.011 143.081);
  --secondary-foreground: oklch(0.444 0.043 142.668);
  --accent: oklch(0.872 0.032 142.96);
  --accent-foreground: oklch(0.361 0.048 142.496);
  --destructive: oklch(0.421 0.119 40.685);
  --destructive-foreground: oklch(0.903 0.043 44.561);
  --ring: oklch(0.549 0.008 143.062);
  --chart-1: oklch(0.549 0.008 143.062);
  --chart-2: oklch(0.935 0.011 143.081);
  --chart-3: oklch(0.872 0.032 142.96);
  --chart-4: oklch(0.956 0.007 143.1);
  --chart-5: oklch(0.553 0.021 142.955);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.122 0.02 141.638);
  --foreground: oklch(0.993 0.001 143.129);
  --muted: oklch(0.24 0.033 142.478);
  --muted-foreground: oklch(0.773 0.024 142.99);
  --popover: oklch(0.122 0.02 141.638);
  --popover-foreground: oklch(0.993 0.001 143.129);
  --card: oklch(0.122 0.02 141.638);
  --card-foreground: oklch(0.993 0.001 143.129);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.549 0.008 143.062);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.288 0.022 142.779);
  --secondary-foreground: oklch(0.822 0.025 142.992);
  --accent: oklch(0.391 0.051 142.51);
  --accent-foreground: oklch(0.893 0.026 143);
  --destructive: oklch(0.628 0.186 39.911);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.549 0.008 143.062);
  --chart-1: oklch(0.549 0.008 143.062);
  --chart-2: oklch(0.288 0.022 142.779);
  --chart-3: oklch(0.391 0.051 142.51);
  --chart-4: oklch(0.32 0.025 142.765);
  --chart-5: oklch(0.553 0.021 142.955);
}