Graphiteneutral
All themes
FamilyOS Peach
FamilyOS Peach is a neutral shadcn/ui theme with pill corners and sans-serif typography, in light and dark modes.
- Sans
- System
- Serif
- System
- Mono
- System
- Radius
- 2rem
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(0.9352 0.0213 51.52);
--foreground: oklch(0.1824 0.0115 60.65);
--card: oklch(0.9797 0.0084 56.32);
--card-foreground: oklch(0.1824 0.0115 60.65);
--popover: oklch(0.9797 0.0084 56.32);
--popover-foreground: oklch(0.1824 0.0115 60.65);
--primary: oklch(0.1574 0.0066 55.82);
--primary-foreground: oklch(1 0 0);
--secondary: oklch(0.9596 0.016 52.56);
--secondary-foreground: oklch(0.1824 0.0115 60.65);
--muted: oklch(0.9237 0.0231 52.68);
--muted-foreground: oklch(0.5061 0.0209 53.68);
--accent: oklch(0.6511 0.1761 46.82);
--accent-foreground: oklch(1 0 0);
--destructive: oklch(0.5707 0.2009 30.61);
--destructive-foreground: oklch(1 0 0);
--border: oklch(0.8889 0.0284 55.29);
--input: oklch(0.8636 0.0322 53.44);
--ring: oklch(0.6511 0.1761 46.82);
--chart-1: oklch(0.6511 0.1761 46.82);
--chart-2: oklch(0.7614 0.1492 63.07);
--chart-3: oklch(0.8806 0.1794 98.83);
--chart-4: oklch(0.58 0.1485 151.34);
--chart-5: oklch(0.1574 0.0066 55.82);
--sidebar: oklch(0.9646 0.0127 48.59);
--sidebar-foreground: oklch(0.1824 0.0115 60.65);
--sidebar-primary: oklch(0.1574 0.0066 55.82);
--sidebar-primary-foreground: oklch(1 0 0);
--sidebar-accent: oklch(0.9237 0.0231 52.68);
--sidebar-accent-foreground: oklch(0.1824 0.0115 60.65);
--sidebar-border: oklch(0.8889 0.0284 55.29);
--sidebar-ring: oklch(0.6511 0.1761 46.82);
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
--radius: 2rem;
--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.1644 0.0106 52.68);
--foreground: oklch(0.9575 0.0126 56.25);
--card: oklch(0.2074 0.0138 51.4);
--card-foreground: oklch(0.9575 0.0126 56.25);
--popover: oklch(0.2074 0.0138 51.4);
--popover-foreground: oklch(0.9575 0.0126 56.25);
--primary: oklch(1 0 0);
--primary-foreground: oklch(0.1574 0.0066 55.82);
--secondary: oklch(0.2565 0.0167 50.69);
--secondary-foreground: oklch(0.9575 0.0126 56.25);
--muted: oklch(0.2343 0.0157 53.75);
--muted-foreground: oklch(0.7366 0.0253 55.14);
--accent: oklch(0.703 0.1712 51.03);
--accent-foreground: oklch(1 0 0);
--destructive: oklch(0.731 0.1661 30.31);
--destructive-foreground: oklch(0.1574 0.0066 55.82);
--border: oklch(0.2607 0.0166 50.7);
--input: oklch(0.3151 0.0202 54.28);
--ring: oklch(0.703 0.1712 51.03);
--chart-1: oklch(0.703 0.1712 51.03);
--chart-2: oklch(0.7816 0.142 63.16);
--chart-3: oklch(0.8806 0.1794 98.83);
--chart-4: oklch(0.7589 0.1684 154.63);
--chart-5: oklch(1 0 0);
--sidebar: oklch(0.1838 0.0128 55.46);
--sidebar-foreground: oklch(0.9575 0.0126 56.25);
--sidebar-primary: oklch(1 0 0);
--sidebar-primary-foreground: oklch(0.1574 0.0066 55.82);
--sidebar-accent: oklch(0.2343 0.0157 53.75);
--sidebar-accent-foreground: oklch(0.9575 0.0126 56.25);
--sidebar-border: oklch(0.2607 0.0166 50.7);
--sidebar-ring: oklch(0.703 0.1712 51.03);
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
--radius: 2rem;
--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);
}
}