shadcnthemes
All themes

Break Blue

Break Blue is a blue shadcn/ui theme with rounded corners and sans-serif typography, in light and dark modes.

Sans
Lato
Serif
Literata
Mono
Red Hat Mono
Radius
0.375rem
Create project
Deploy your new project in one click.
Visitors
January – June
+12.5%
Buttons
Typography
The theme's three font families.
Sans · Lato
The quick brown fox
Serif · Literata
jumps over the lazy dog.
Mono · Red Hat 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.956 0.013 214.36);
  --foreground: oklch(0.209 0.009 264.37);
  --card: oklch(0.924 0.022 214.41);
  --card-foreground: oklch(0.209 0.009 264.37);
  --popover: oklch(0.923 0.025 218.81);
  --popover-foreground: oklch(0.209 0.009 264.37);
  --primary: oklch(0.475 0.126 248.99);
  --primary-foreground: oklch(0.966 0.011 234.82);
  --secondary: oklch(0.744 0.142 244.82);
  --secondary-foreground: oklch(0.205 0 0);
  --muted: oklch(0.874 0.051 239.25);
  --muted-foreground: oklch(0.556 0 0);
  --accent: oklch(0.714 0.174 327.2);
  --accent-foreground: oklch(0.205 0 0);
  --destructive: oklch(0.628 0.258 29.23);
  --destructive-foreground: oklch(0.966 0.011 234.82);
  --border: oklch(0.873 0.059 241.44);
  --input: oklch(0.848 0.077 242.39);
  --ring: oklch(0.484 0.123 248.12);
  --chart-1: oklch(0.264 0.053 245.61);
  --chart-2: oklch(0.37 0.074 245.06);
  --chart-3: oklch(0.472 0.135 250.3);
  --chart-4: oklch(0.585 0.149 248.11);
  --chart-5: oklch(0.678 0.178 248.77);
  --sidebar: oklch(0.924 0.022 214.41);
  --sidebar-foreground: oklch(0.133 0.002 196.91);
  --sidebar-primary: oklch(0.588 0.11 223.89);
  --sidebar-primary-foreground: oklch(0.927 0.017 215.46);
  --sidebar-accent: oklch(0.797 0.085 216.07);
  --sidebar-accent-foreground: oklch(0.205 0 0);
  --sidebar-border: oklch(0.861 0.047 215.05);
  --sidebar-ring: oklch(0.71 0.104 217.56);
  --font-sans: 'Lato', system-ui, -apple-system, sans-serif;
  --font-serif: 'Literata', Georgia, serif;
  --font-mono: 'Red Hat Mono', ui-monospace, monospace;
  --radius: 0.375rem;
  --spacing: 0.25rem;
  --tracking-normal: 0em;
  --shadow-color: oklch(0 0 0);
  --shadow-opacity: 0.1;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-offset-x: 0px;
  --shadow-offset-y: 1px;
  --shadow-2xs: 0px 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0px 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-sm: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 1px 2px -1px hsl(0 0% 0% / 0.10);
  --shadow: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 1px 2px -1px hsl(0 0% 0% / 0.10);
  --shadow-md: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 2px 4px -1px hsl(0 0% 0% / 0.10);
  --shadow-lg: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 4px 6px -1px hsl(0 0% 0% / 0.10);
  --shadow-xl: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 8px 10px -1px hsl(0 0% 0% / 0.10);
  --shadow-2xl: 0px 1px 3px 0px hsl(0 0% 0% / 0.25);
}

.dark {
  --background: oklch(0.201 0.007 229.28);
  --foreground: oklch(0.829 0.018 267.77);
  --card: oklch(0.219 0.008 240.29);
  --card-foreground: oklch(0.862 0.021 204.41);
  --popover: oklch(0.239 0.012 237.2);
  --popover-foreground: oklch(0.862 0.021 204.41);
  --primary: oklch(0.415 0.143 257.58);
  --primary-foreground: oklch(0.862 0.021 204.41);
  --secondary: oklch(0.567 0.115 257.49);
  --secondary-foreground: oklch(0.862 0.021 204.41);
  --muted: oklch(0.176 0.005 248.13);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.507 0.201 319.58);
  --accent-foreground: oklch(0.862 0.021 204.41);
  --destructive: oklch(0.537 0.182 25.18);
  --destructive-foreground: oklch(0.862 0.021 204.41);
  --border: oklch(0.284 0.018 241.69);
  --input: oklch(0.297 0.017 244.81);
  --ring: oklch(0.445 0.065 242.96);
  --chart-1: oklch(0.265 0.059 247);
  --chart-2: oklch(0.357 0.081 246.57);
  --chart-3: oklch(0.425 0.093 246.14);
  --chart-4: oklch(0.494 0.142 250.69);
  --chart-5: oklch(0.651 0.192 251.47);
  --sidebar: oklch(0.19 0.005 248.1);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.457 0.159 257.46);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.339 0.035 219.52);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(0.281 0.013 204.73);
  --sidebar-ring: oklch(0.412 0.087 254.49);
  --font-sans: 'Lato', system-ui, -apple-system, sans-serif;
  --font-serif: 'Literata', Georgia, serif;
  --font-mono: 'Red Hat Mono', ui-monospace, monospace;
  --radius: 0.375rem;
  --spacing: 0.25rem;
  --tracking-normal: 0em;
  --shadow-color: oklch(0 0 0);
  --shadow-opacity: 0.1;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-offset-x: 0px;
  --shadow-offset-y: 1px;
  --shadow-2xs: 0px 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0px 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-sm: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 1px 2px -1px hsl(0 0% 0% / 0.10);
  --shadow: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 1px 2px -1px hsl(0 0% 0% / 0.10);
  --shadow-md: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 2px 4px -1px hsl(0 0% 0% / 0.10);
  --shadow-lg: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 4px 6px -1px hsl(0 0% 0% / 0.10);
  --shadow-xl: 0px 1px 3px 0px hsl(0 0% 0% / 0.10), 0px 8px 10px -1px hsl(0 0% 0% / 0.10);
  --shadow-2xl: 0px 1px 3px 0px hsl(0 0% 0% / 0.25);
}

@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