Graphiteneutral
All themes
Pinetree
Pinetree is a neutral shadcn/ui theme with rounded corners and sans-serif typography, in light and dark modes.
- Sans
- System
- Serif
- System
- Mono
- System
- Radius
- 0.625rem
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.721 0.028 175.99);
--foreground: oklch(0.168 0.005 17.67);
--card: oklch(0.897 0.017 178.23);
--card-foreground: oklch(0.154 0.001 0);
--popover: oklch(1 0.001 0);
--popover-foreground: oklch(0.2 0.001 0);
--primary: oklch(0.237 0.005 219.68);
--primary-foreground: oklch(1 0.001 0);
--secondary: oklch(0.817 0.001 0);
--secondary-foreground: oklch(0.182 0.001 0);
--muted: oklch(0.97 0 0);
--muted-foreground: oklch(0.042 0.017 29.23);
--accent: oklch(0.824 0.157 148.68);
--accent-foreground: oklch(0.168 0.001 0);
--destructive: oklch(0.577 0.245 27.33);
--destructive-foreground: oklch(1 0.001 0);
--border: oklch(1 0.001 0);
--input: oklch(0.638 0.068 146.06);
--ring: oklch(0.54 0.104 153.95);
--chart-1: oklch(0.691 0.156 154.83);
--chart-2: oklch(0.6 0.118 184.7);
--chart-3: oklch(0.741 0.065 175.33);
--chart-4: oklch(0.576 0.107 168.88);
--chart-5: oklch(0.402 0.084 165.46);
--sidebar: oklch(0.721 0.028 175.99);
--sidebar-foreground: oklch(0.145 0 0);
--sidebar-primary: oklch(0.205 0 0);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.444 0.045 174.65);
--sidebar-accent-foreground: oklch(1 0.001 0);
--sidebar-border: oklch(0.922 0 0);
--sidebar-ring: oklch(0.708 0 0);
--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--radius: 0.625rem;
--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.215 0.005 145.4);
--foreground: oklch(1 0.001 0);
--card: oklch(0.623 0.054 151.78);
--card-foreground: oklch(0.178 0.007 17.8);
--popover: oklch(0.477 0.025 151.7);
--popover-foreground: oklch(0.985 0 0);
--primary: oklch(0.724 0.115 155.16);
--primary-foreground: oklch(0.097 0.001 0);
--secondary: oklch(0.956 0.022 17.54);
--secondary-foreground: oklch(0.072 0.007 18.81);
--muted: oklch(0.515 0.037 154.58);
--muted-foreground: oklch(1 0.001 0);
--accent: oklch(0.498 0.057 142.16);
--accent-foreground: oklch(0.985 0 0);
--destructive: oklch(0.587 0.241 28.96);
--destructive-foreground: oklch(0.097 0.001 0);
--border: oklch(0.327 0.009 17.6);
--input: oklch(0.266 0.01 151.41);
--ring: oklch(0.921 0.011 17.36);
--chart-1: oklch(0.376 0.078 166.44);
--chart-2: oklch(0.696 0.17 162.48);
--chart-3: oklch(0.945 0.168 123.32);
--chart-4: oklch(0.826 0.146 84.25);
--chart-5: oklch(0.604 0.127 342.41);
--sidebar: oklch(0.205 0 0);
--sidebar-foreground: oklch(0.985 0 0);
--sidebar-primary: oklch(0.626 0.174 148.58);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.476 0.086 160.59);
--sidebar-accent-foreground: oklch(0.985 0 0);
--sidebar-border: oklch(1 0 0 / 0.1);
--sidebar-ring: oklch(0.439 0 0);
--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--radius: 0.625rem;
--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);
}
}