shadcnthemes
All themes

Cyber Matrix Emerald

Cyber Matrix Emerald is a green shadcn/ui theme with rounded corners and sans-serif typography, in light and dark modes.

Sans
Space Grotesk
Serif
System
Mono
Space Mono
Radius
0.5rem
Create project
Deploy your new project in one click.
Visitors
January – June
+12.5%
Buttons
Typography
The theme's three font families.
Sans · Space Grotesk
The quick brown fox
Serif · System
jumps over the lazy dog.
Mono · Space Mono
npx shadcn add button
Account
Notifications
Choose what you want to hear about.
Product updates
New features and releases
Security alerts
Sign-ins from new devices
Marketing
Tips, offers and news
Payment method
Team
Invite your teammates to collaborate.
SDJLINWK
OwnerEditorViewerSuspended
Storage7.2 of 10 GB
Volume64%
Invoices
InvoiceStatusAmount
INV001Paid$250.00
INV002Pending$150.00
INV003Unpaid$350.00
INV004Paid$450.00
FAQ

Yes. It adheres to the WAI-ARIA design pattern.

Colors

Click any swatch to copy its OKLCH value.

Base
Brand
Lines
Charts
Sidebar
StatusOptional, generated to match

Use this theme

Install it with the shadcn CLI, paste the CSS, or export tokens for your design tool.

Paste into app/globals.css, replacing the existing :root and .dark blocks.

:root {
  --background: oklch(0.9819 0.0181 155.83);
  --foreground: oklch(0.2621 0.0487 172.55);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.2621 0.0487 172.55);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.2621 0.0487 172.55);
  --primary: oklch(0.596 0.1274 163.23);
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.9624 0.0434 156.74);
  --secondary-foreground: oklch(0.3925 0.0896 152.54);
  --muted: oklch(0.9624 0.0434 156.74);
  --muted-foreground: oklch(0.5363 0.0722 153.6);
  --accent: oklch(0.6959 0.1491 162.48);
  --accent-foreground: oklch(0.2621 0.0487 172.55);
  --destructive: oklch(0.5771 0.2152 27.33);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.925 0.0806 155.99);
  --input: oklch(0.925 0.0806 155.99);
  --ring: oklch(0.596 0.1274 163.23);
  --chart-1: oklch(0.596 0.1274 163.23);
  --chart-2: oklch(0.6959 0.1491 162.48);
  --chart-3: oklch(0.7148 0.1257 215.22);
  --chart-4: oklch(0.7686 0.1647 70.08);
  --chart-5: oklch(0.5854 0.2041 277.12);
  --sidebar: oklch(0.9819 0.0181 155.83);
  --sidebar-foreground: oklch(0.2621 0.0487 172.55);
  --sidebar-primary: oklch(0.596 0.1274 163.23);
  --sidebar-primary-foreground: oklch(1 0 0);
  --sidebar-accent: oklch(0.9624 0.0434 156.74);
  --sidebar-accent-foreground: oklch(0.2621 0.0487 172.55);
  --sidebar-border: oklch(0.925 0.0806 155.99);
  --sidebar-ring: oklch(0.596 0.1274 163.23);
  --font-sans: 'Space Grotesk', -apple-system, sans-serif;
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: 'Space Mono', monospace;
  --radius: 0.5rem;
  --spacing: 0.25rem;
  --tracking-normal: 0em;
  --shadow-color: oklch(0.2449 0.0403 159.52);
  --shadow-opacity: 0.12;
  --shadow-blur: 12px;
  --shadow-spread: -2px;
  --shadow-offset-x: 0px;
  --shadow-offset-y: 4px;
  --shadow-2xs: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.06);
  --shadow-xs: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.06);
  --shadow-sm: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 1px 2px -3px hsl(150 50.1% 10% / 0.12);
  --shadow: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 1px 2px -3px hsl(150 50.1% 10% / 0.12);
  --shadow-md: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 2px 4px -3px hsl(150 50.1% 10% / 0.12);
  --shadow-lg: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 4px 6px -3px hsl(150 50.1% 10% / 0.12);
  --shadow-xl: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 8px 10px -3px hsl(150 50.1% 10% / 0.12);
  --shadow-2xl: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.30);
}

.dark {
  --background: oklch(0.1395 0.0243 159.86);
  --foreground: oklch(0.9793 0.0207 166.11);
  --card: oklch(0.1924 0.0352 157.63);
  --card-foreground: oklch(0.9793 0.0207 166.11);
  --popover: oklch(0.1924 0.0352 157.63);
  --popover-foreground: oklch(0.9793 0.0207 166.11);
  --primary: oklch(0.6959 0.1491 162.48);
  --primary-foreground: oklch(0.2621 0.0487 172.55);
  --secondary: oklch(0.272 0.0571 156.51);
  --secondary-foreground: oklch(0.9505 0.0507 163.05);
  --muted: oklch(0.2292 0.0456 157.35);
  --muted-foreground: oklch(0.8452 0.1299 164.98);
  --accent: oklch(0.8824 0.1992 160.14);
  --accent-foreground: oklch(0.2621 0.0487 172.55);
  --destructive: oklch(0.6368 0.2078 25.33);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.3206 0.0688 155.17);
  --input: oklch(0.3206 0.0688 155.17);
  --ring: oklch(0.6959 0.1491 162.48);
  --chart-1: oklch(0.6959 0.1491 162.48);
  --chart-2: oklch(0.8824 0.1992 160.14);
  --chart-3: oklch(0.7535 0.139 232.66);
  --chart-4: oklch(0.8369 0.1644 84.43);
  --chart-5: oklch(0.6268 0.2325 303.9);
  --sidebar: oklch(0.1395 0.0243 159.86);
  --sidebar-foreground: oklch(0.9793 0.0207 166.11);
  --sidebar-primary: oklch(0.6959 0.1491 162.48);
  --sidebar-primary-foreground: oklch(0.2621 0.0487 172.55);
  --sidebar-accent: oklch(0.272 0.0571 156.51);
  --sidebar-accent-foreground: oklch(0.9793 0.0207 166.11);
  --sidebar-border: oklch(0.3206 0.0688 155.17);
  --sidebar-ring: oklch(0.6959 0.1491 162.48);
  --font-sans: 'Space Grotesk', -apple-system, sans-serif;
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: 'Space Mono', monospace;
  --radius: 0.5rem;
  --spacing: 0.25rem;
  --tracking-normal: 0em;
  --shadow-color: oklch(0.2449 0.0403 159.52);
  --shadow-opacity: 0.12;
  --shadow-blur: 12px;
  --shadow-spread: -2px;
  --shadow-offset-x: 0px;
  --shadow-offset-y: 4px;
  --shadow-2xs: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.06);
  --shadow-xs: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.06);
  --shadow-sm: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 1px 2px -3px hsl(150 50.1% 10% / 0.12);
  --shadow: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 1px 2px -3px hsl(150 50.1% 10% / 0.12);
  --shadow-md: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 2px 4px -3px hsl(150 50.1% 10% / 0.12);
  --shadow-lg: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 4px 6px -3px hsl(150 50.1% 10% / 0.12);
  --shadow-xl: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.12), 0px 8px 10px -3px hsl(150 50.1% 10% / 0.12);
  --shadow-2xl: 0px 4px 12px -2px hsl(150 50.1% 10% / 0.30);
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);

  --font-sans: var(--font-sans);
  --font-mono: var(--font-mono);
  --font-serif: var(--font-serif);

  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  --shadow-2xs: var(--shadow-2xs);
  --shadow-xs: var(--shadow-xs);
  --shadow-sm: var(--shadow-sm);
  --shadow: var(--shadow);
  --shadow-md: var(--shadow-md);
  --shadow-lg: var(--shadow-lg);
  --shadow-xl: var(--shadow-xl);
  --shadow-2xl: var(--shadow-2xl);

  --tracking-tighter: calc(var(--tracking-normal) - 0.05em);
  --tracking-tight: calc(var(--tracking-normal) - 0.025em);
  --tracking-normal: var(--tracking-normal);
  --tracking-wide: calc(var(--tracking-normal) + 0.025em);
  --tracking-wider: calc(var(--tracking-normal) + 0.05em);
  --tracking-widest: calc(var(--tracking-normal) + 0.1em);
}

@layer base {
  body {
    letter-spacing: var(--tracking-normal);
  }
}

Similar themes