shadcnthemes
All themes

Solar Dusk re

Solar Dusk re is an orange shadcn/ui theme with rounded corners and sans-serif typography, in light and dark modes.

Sans
Lexend
Serif
Lora
Mono
Source Code Pro
Radius
0.275rem
Create project
Deploy your new project in one click.
Visitors
January – June
+12.5%
Buttons
Typography
The theme's three font families.
Sans · Lexend
The quick brown fox
Serif · Lora
jumps over the lazy dog.
Mono · Source Code Pro
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.9862 0.0142 84.58);
  --foreground: oklch(0.5065 0.1552 41.19);
  --card: oklch(0.9186 0.0268 74.75);
  --card-foreground: oklch(0.3706 0.1102 42.8);
  --popover: oklch(0.9686 0.0091 78.28);
  --popover-foreground: oklch(0.366 0.0251 49.61);
  --primary: oklch(0.5389 0.1705 36.93);
  --primary-foreground: oklch(0.9002 0.066 61.63);
  --secondary: oklch(0.6851 0.1332 43.49);
  --secondary-foreground: oklch(0.3295 0.0774 53.24);
  --muted: oklch(0.542 0.1477 44.76);
  --muted-foreground: oklch(0.269 0.0616 51.97);
  --accent: oklch(0.7114 0.1485 40.05);
  --accent-foreground: oklch(0.3867 0.1064 45.87);
  --destructive: oklch(0.4437 0.1613 26.9);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.5636 0.1659 40.07);
  --input: oklch(0.754 0.1428 46.34);
  --ring: oklch(0.6634 0.1964 41.27);
  --chart-1: oklch(0.5553 0.1455 49);
  --chart-2: oklch(0.7932 0.0848 56.69);
  --chart-3: oklch(0.7316 0.1376 40.59);
  --chart-4: oklch(0.5746 0.1745 40.57);
  --chart-5: oklch(0.7099 0.1204 50.4);
  --sidebar: oklch(0.9363 0.0218 83.26);
  --sidebar-foreground: oklch(0.366 0.0251 49.61);
  --sidebar-primary: oklch(0.5553 0.1455 49);
  --sidebar-primary-foreground: oklch(1 0 0);
  --sidebar-accent: oklch(0.5538 0.1207 66.44);
  --sidebar-accent-foreground: oklch(1 0 0);
  --sidebar-border: oklch(0.8866 0.0404 89.7);
  --sidebar-ring: oklch(0.5553 0.1455 49);
  --font-sans: Lexend, sans-serif;
  --font-serif: Lora, serif;
  --font-mono: Source Code Pro, monospace;
  --radius: 0.275rem;
  --spacing: 0.35rem;
  --tracking-normal: 0.01em;
  --shadow-color: oklch(0.3771 0.0245 63.17);
  --shadow-opacity: 0.2;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-offset-x: 0px;
  --shadow-offset-y: 2px;
  --shadow-2xs: 0px 2px 3px 0px hsl(28 18% 25% / 0.10);
  --shadow-xs: 0px 2px 3px 0px hsl(28 18% 25% / 0.10);
  --shadow-sm: 0px 2px 3px 0px hsl(28 18% 25% / 0.20), 0px 1px 2px -1px hsl(28 18% 25% / 0.20);
  --shadow: 0px 2px 3px 0px hsl(28 18% 25% / 0.20), 0px 1px 2px -1px hsl(28 18% 25% / 0.20);
  --shadow-md: 0px 2px 3px 0px hsl(28 18% 25% / 0.20), 0px 2px 4px -1px hsl(28 18% 25% / 0.20);
  --shadow-lg: 0px 2px 3px 0px hsl(28 18% 25% / 0.20), 0px 4px 6px -1px hsl(28 18% 25% / 0.20);
  --shadow-xl: 0px 2px 3px 0px hsl(28 18% 25% / 0.20), 0px 8px 10px -1px hsl(28 18% 25% / 0.20);
  --shadow-2xl: 0px 2px 3px 0px hsl(28 18% 25% / 0.50);
}

.dark {
  --background: oklch(0.2109 0.0453 54.9);
  --foreground: oklch(0.8839 0.0495 66.12);
  --card: oklch(0.2035 0.0553 48.16);
  --card-foreground: oklch(0.8959 0.0617 51.65);
  --popover: oklch(0.2685 0.0063 34.3);
  --popover-foreground: oklch(0.9699 0.0013 106.42);
  --primary: oklch(0.5417 0.1636 41.95);
  --primary-foreground: oklch(0.8584 0.1019 65.29);
  --secondary: oklch(0.63 0.1448 48.85);
  --secondary-foreground: oklch(0.2287 0.0626 47.64);
  --muted: oklch(0.5651 0.1578 44.09);
  --muted-foreground: oklch(0.8341 0.1065 54.59);
  --accent: oklch(0.6714 0.1195 49.51);
  --accent-foreground: oklch(0.4659 0.1455 40.25);
  --destructive: oklch(0.5771 0.2152 27.33);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.5978 0.1689 45.71);
  --input: oklch(0.7892 0.112 64.97);
  --ring: oklch(0.6947 0.1896 46.74);
  --chart-1: oklch(0.7465 0.0971 56.75);
  --chart-2: oklch(0.5748 0.1509 50.48);
  --chart-3: oklch(0.6279 0.1022 39.16);
  --chart-4: oklch(0.6843 0.1134 53.39);
  --chart-5: oklch(0.4696 0.1308 46.57);
  --sidebar: oklch(0.2685 0.0063 34.3);
  --sidebar-foreground: oklch(0.9699 0.0013 106.42);
  --sidebar-primary: oklch(0.7049 0.1867 47.6);
  --sidebar-primary-foreground: oklch(1 0 0);
  --sidebar-accent: oklch(0.6847 0.1479 237.32);
  --sidebar-accent-foreground: oklch(0.2839 0.0734 254.54);
  --sidebar-border: oklch(0.3741 0.0087 67.56);
  --sidebar-ring: oklch(0.7049 0.1867 47.6);
  --font-sans: Lexend, sans-serif;
  --font-serif: Lora, serif;
  --font-mono: Source Code Pro, monospace;
  --radius: 0.275rem;
  --spacing: 0.35rem;
  --tracking-normal: 0.01em;
  --shadow-color: oklch(0.1579 0 0);
  --shadow-opacity: 0.2;
  --shadow-blur: 8px;
  --shadow-spread: -1px;
  --shadow-offset-x: 0px;
  --shadow-offset-y: 4px;
  --shadow-2xs: 0px 4px 8px -1px hsl(320 0% 5% / 0.10);
  --shadow-xs: 0px 4px 8px -1px hsl(320 0% 5% / 0.10);
  --shadow-sm: 0px 4px 8px -1px hsl(320 0% 5% / 0.20), 0px 1px 2px -2px hsl(320 0% 5% / 0.20);
  --shadow: 0px 4px 8px -1px hsl(320 0% 5% / 0.20), 0px 1px 2px -2px hsl(320 0% 5% / 0.20);
  --shadow-md: 0px 4px 8px -1px hsl(320 0% 5% / 0.20), 0px 2px 4px -2px hsl(320 0% 5% / 0.20);
  --shadow-lg: 0px 4px 8px -1px hsl(320 0% 5% / 0.20), 0px 4px 6px -2px hsl(320 0% 5% / 0.20);
  --shadow-xl: 0px 4px 8px -1px hsl(320 0% 5% / 0.20), 0px 8px 10px -2px hsl(320 0% 5% / 0.20);
  --shadow-2xl: 0px 4px 8px -1px hsl(320 0% 5% / 0.50);
}

@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