Bainred
All themes
Red Vivid
Red Vivid is a red shadcn/ui theme with sharp corners and sans-serif typography, in light and dark modes.
- Sans
- Inter
- Serif
- System
- Mono
- SF Mono
- Radius
- 0px
Heads up!
You can add components to your app using the CLI.
Payment failed
Please update your billing details.
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(1 0 0);
--foreground: oklch(0 0 0);
--card: oklch(1 0 0);
--card-foreground: oklch(0 0 0);
--popover: oklch(1 0 0);
--popover-foreground: oklch(0 0 0);
--primary: oklch(0.5604 0.2299 29.23);
--primary-foreground: oklch(1 0 0);
--secondary: oklch(0 0 0);
--secondary-foreground: oklch(1 0 0);
--muted: oklch(0.9696 0 0);
--muted-foreground: oklch(0.5103 0 0);
--accent: oklch(0.628 0.2577 29.23);
--accent-foreground: oklch(0 0 0);
--destructive: oklch(0.5308 0.2178 29.23);
--destructive-foreground: oklch(1 0 0);
--border: oklch(0 0 0 / 0);
--input: oklch(1 0 0);
--ring: oklch(0.5799 0.238 29.23);
--chart-1: oklch(0 0 0);
--chart-2: oklch(0.5799 0.238 29.23);
--chart-3: oklch(0.8408 0.1725 84.2);
--chart-4: oklch(0.4907 0.0695 144.43);
--chart-5: oklch(0.5166 0.0826 46.92);
--sidebar: oklch(0.9848 0 0);
--sidebar-foreground: oklch(0 0 0);
--sidebar-primary: oklch(0.5799 0.238 29.23);
--sidebar-primary-foreground: oklch(1 0 0);
--sidebar-accent: oklch(0.9234 0 0);
--sidebar-accent-foreground: oklch(0 0 0);
--sidebar-border: oklch(0 0 0);
--sidebar-ring: oklch(0.5799 0.238 29.23);
--font-sans: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
--font-serif: 'Georgia', serif;
--font-mono: 'SF Mono', 'Courier New', monospace;
--radius: 0px;
--spacing: 0.25rem;
--tracking-normal: -0.02em;
--shadow-color: oklch(0 0 0);
--shadow-opacity: 1;
--shadow-blur: 0px;
--shadow-spread: 0px;
--shadow-offset-x: 3px;
--shadow-offset-y: 3px;
--shadow-2xs: 3px 3px 0px 0px hsl(0 0% 0% / 0.50);
--shadow-xs: 3px 3px 0px 0px hsl(0 0% 0% / 0.50);
--shadow-sm: 3px 3px 0px 0px hsl(0 0% 0% / 1.00), 3px 1px 2px -1px hsl(0 0% 0% / 1.00);
--shadow: 3px 3px 0px 0px hsl(0 0% 0% / 1.00), 3px 1px 2px -1px hsl(0 0% 0% / 1.00);
--shadow-md: 3px 3px 0px 0px hsl(0 0% 0% / 1.00), 3px 2px 4px -1px hsl(0 0% 0% / 1.00);
--shadow-lg: 3px 3px 0px 0px hsl(0 0% 0% / 1.00), 3px 4px 6px -1px hsl(0 0% 0% / 1.00);
--shadow-xl: 3px 3px 0px 0px hsl(0 0% 0% / 1.00), 3px 8px 10px -1px hsl(0 0% 0% / 1.00);
--shadow-2xl: 3px 3px 0px 0px hsl(0 0% 0% / 2.50);
}
.dark {
--background: oklch(0 0 0);
--foreground: oklch(1 0 0);
--card: oklch(0.1457 0 0);
--card-foreground: oklch(1 0 0);
--popover: oklch(0.1457 0 0);
--popover-foreground: oklch(1 0 0);
--primary: oklch(0.628 0.2577 29.23 / 0.81);
--primary-foreground: oklch(1 0 0);
--secondary: oklch(1 0 0);
--secondary-foreground: oklch(0 0 0);
--muted: oklch(0.2376 0 0);
--muted-foreground: oklch(0.7652 0 0);
--accent: oklch(0.7022 0.1473 66.29);
--accent-foreground: oklch(0 0 0);
--destructive: oklch(0.6489 0.237 26.97);
--destructive-foreground: oklch(1 0 0);
--border: oklch(0 0 0);
--input: oklch(0 0 0);
--ring: oklch(0.628 0.2577 29.23 / 0);
--chart-1: oklch(1 0 0);
--chart-2: oklch(0.628 0.2577 29.23);
--chart-3: oklch(0.8533 0.1706 86.75);
--chart-4: oklch(0.5773 0.065 144.68);
--chart-5: oklch(0.6009 0.0747 47.42);
--sidebar: oklch(0.1157 0 0);
--sidebar-foreground: oklch(1 0 0);
--sidebar-primary: oklch(0.628 0.2577 29.23);
--sidebar-primary-foreground: oklch(1 0 0);
--sidebar-accent: oklch(0.2697 0 0);
--sidebar-accent-foreground: oklch(1 0 0);
--sidebar-border: oklch(1 0 0);
--sidebar-ring: oklch(0.628 0.2577 29.23);
--font-sans: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
--font-serif: 'Georgia', serif;
--font-mono: 'SF Mono', 'Courier New', monospace;
--radius: 0px;
--spacing: 0.25rem;
--tracking-normal: -0.02em;
--shadow-color: oklch(1 0 0);
--shadow-opacity: 1;
--shadow-blur: 5px;
--shadow-spread: -5px;
--shadow-offset-x: 3px;
--shadow-offset-y: 3px;
--shadow-2xs: 3px 3px 5px -5px hsl(300 50% 100% / 0.50);
--shadow-xs: 3px 3px 5px -5px hsl(300 50% 100% / 0.50);
--shadow-sm: 3px 3px 5px -5px hsl(300 50% 100% / 1.00), 3px 1px 2px -6px hsl(300 50% 100% / 1.00);
--shadow: 3px 3px 5px -5px hsl(300 50% 100% / 1.00), 3px 1px 2px -6px hsl(300 50% 100% / 1.00);
--shadow-md: 3px 3px 5px -5px hsl(300 50% 100% / 1.00), 3px 2px 4px -6px hsl(300 50% 100% / 1.00);
--shadow-lg: 3px 3px 5px -5px hsl(300 50% 100% / 1.00), 3px 4px 6px -6px hsl(300 50% 100% / 1.00);
--shadow-xl: 3px 3px 5px -5px hsl(300 50% 100% / 1.00), 3px 8px 10px -6px hsl(300 50% 100% / 1.00);
--shadow-2xl: 3px 3px 5px -5px hsl(300 50% 100% / 2.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);
}
}