Founding price: $35, then $99

Get Pro
All themes

Rose themeFree

A warm rose brand colour with blush-tinted greys and soft corners. Part of tealmac originals. Radius 0.75rem.

Live preview

Create an account

Enter your email below to create your account.

or continue with

Team

Seats used this billing period.

  • OM

    Olivia Martin

    Owner
  • JL

    Jackson Lee

    Developer
  • IN

    Isabella Nguyen

    Designer

Traffic

Visitors by source

48,204+12.4%
  • Direct
  • Search
  • Social
  • Email
  • Referral
SD

Sofia Davis

m@example.com

Hi, how can I help you today?

Hey, I'm having trouble with my account.

What seems to be the problem?

I can't log in.

Popular

Team

$29/ month

Everything a growing team needs to ship together.

  • Unlimited projects
  • Shared workspaces
  • Priority support
  • Audit log

Notifications

Choose what you hear about.

Alert volume64%

Payments

Manage your recent payments.

SelectStatusEmailAmount
Successken99@example.com$316.00
Successabe45@example.com$242.00
Processingmonserrat44@example.com$837.00
Failedcarmella@example.com$721.00

1 of 4 row(s) selected.

Install

The CLI writes these variables into your global stylesheet. Every component reads them, so the whole app changes at once.

shadcn CLI
npx shadcn@latest add https://ui.tealmac.com/r/themes/rose.json
Or paste the CSS into globals.css
:root {
  --radius: 0.75rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.17 0.016 12);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.17 0.016 12);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.17 0.016 12);
  --primary: oklch(0.56 0.19 12);
  --primary-foreground: oklch(0.985 0.004 12);
  --secondary: oklch(0.965 0.008 12);
  --secondary-foreground: oklch(0.2 0.024 12);
  --muted: oklch(0.965 0.008 12);
  --muted-foreground: oklch(0.5 0.016 12);
  --accent: oklch(0.955 0.013 12);
  --accent-foreground: oklch(0.2 0.024 12);
  --destructive: oklch(0.56 0.22 27);
  --border: oklch(0.915 0.008 12);
  --input: oklch(0.915 0.008 12);
  --ring: oklch(0.62 0.19 12);
  --chart-1: oklch(0.6 0.162 12);
  --chart-2: oklch(0.652 0.143 162);
  --chart-3: oklch(0.668 0.137 87);
  --chart-4: oklch(0.58 0.162 302);
  --chart-5: oklch(0.64 0.124 227);
  --sidebar: oklch(1 0 0);
  --sidebar-foreground: oklch(0.17 0.016 12);
  --sidebar-primary: oklch(0.56 0.19 12);
  --sidebar-primary-foreground: oklch(0.985 0.004 12);
  --sidebar-accent: oklch(0.965 0.008 12);
  --sidebar-accent-foreground: oklch(0.2 0.024 12);
  --sidebar-border: oklch(0.915 0.008 12);
  --sidebar-ring: oklch(0.62 0.19 12);
}

.dark {
  --background: oklch(0.16 0.026 12);
  --foreground: oklch(0.97 0.006 12);
  --card: oklch(0.2 0.033 12);
  --card-foreground: oklch(0.97 0.006 12);
  --popover: oklch(0.2 0.033 12);
  --popover-foreground: oklch(0.97 0.006 12);
  --primary: oklch(0.74 0.162 12);
  --primary-foreground: oklch(0.16 0.03 12);
  --secondary: oklch(0.25 0.037 12);
  --secondary-foreground: oklch(0.97 0.006 12);
  --muted: oklch(0.25 0.037 12);
  --muted-foreground: oklch(0.72 0.026 12);
  --accent: oklch(0.28 0.051 12);
  --accent-foreground: oklch(0.97 0.006 12);
  --destructive: oklch(0.66 0.2 25);
  --border: oklch(1 0 0 / 11%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.66 0.19 12);
  --chart-1: oklch(0.7 0.152 12);
  --chart-2: oklch(0.76 0.152 162);
  --chart-3: oklch(0.8 0.152 87);
  --chart-4: oklch(0.68 0.152 302);
  --chart-5: oklch(0.74 0.143 227);
  --sidebar: oklch(0.2 0.033 12);
  --sidebar-foreground: oklch(0.97 0.006 12);
  --sidebar-primary: oklch(0.74 0.162 12);
  --sidebar-primary-foreground: oklch(0.16 0.03 12);
  --sidebar-accent: oklch(0.25 0.037 12);
  --sidebar-accent-foreground: oklch(0.97 0.006 12);
  --sidebar-border: oklch(1 0 0 / 11%);
  --sidebar-ring: oklch(0.66 0.19 12);
}

Export the tokens

The same theme as Tailwind v4 CSS, plain CSS variables, SCSS, JavaScript, TypeScript, DTCG design tokens, Figma variables and starter files for Swift, Android, Jetpack Compose and Flutter.

Download globals.css
Tailwind v4: globals.css
/* Rose (rose) */
@import "tailwindcss";

@custom-variant dark (&:is(.dark *));

:root {
  --radius: 0.75rem;
  --spacing: 0.25rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.17 0.016 12);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.17 0.016 12);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.17 0.016 12);
  --primary: oklch(0.56 0.19 12);
  --primary-foreground: oklch(0.985 0.004 12);
  --secondary: oklch(0.965 0.008 12);
  --secondary-foreground: oklch(0.2 0.024 12);
  --muted: oklch(0.965 0.008 12);
  --muted-foreground: oklch(0.5 0.016 12);
  --accent: oklch(0.955 0.013 12);
  --accent-foreground: oklch(0.2 0.024 12);
  --destructive: oklch(0.56 0.22 27);
  --border: oklch(0.915 0.008 12);
  --input: oklch(0.915 0.008 12);
  --ring: oklch(0.62 0.19 12);
  --chart-1: oklch(0.6 0.162 12);
  --chart-2: oklch(0.652 0.143 162);
  --chart-3: oklch(0.668 0.137 87);
  --chart-4: oklch(0.58 0.162 302);
  --chart-5: oklch(0.64 0.124 227);
  --sidebar: oklch(1 0 0);
  --sidebar-foreground: oklch(0.17 0.016 12);
  --sidebar-primary: oklch(0.56 0.19 12);
  --sidebar-primary-foreground: oklch(0.985 0.004 12);
  --sidebar-accent: oklch(0.965 0.008 12);
  --sidebar-accent-foreground: oklch(0.2 0.024 12);
  --sidebar-border: oklch(0.915 0.008 12);
  --sidebar-ring: oklch(0.62 0.19 12);
  --shadow-2xs: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-xs: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-sm: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-md: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-lg: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-xl: 0px 0px 0px 0px oklch(0 0 0 / 0%);
}

.dark {
  --background: oklch(0.16 0.026 12);
  --foreground: oklch(0.97 0.006 12);
  --card: oklch(0.2 0.033 12);
  --card-foreground: oklch(0.97 0.006 12);
  --popover: oklch(0.2 0.033 12);
  --popover-foreground: oklch(0.97 0.006 12);
  --primary: oklch(0.74 0.162 12);
  --primary-foreground: oklch(0.16 0.03 12);
  --secondary: oklch(0.25 0.037 12);
  --secondary-foreground: oklch(0.97 0.006 12);
  --muted: oklch(0.25 0.037 12);
  --muted-foreground: oklch(0.72 0.026 12);
  --accent: oklch(0.28 0.051 12);
  --accent-foreground: oklch(0.97 0.006 12);
  --destructive: oklch(0.66 0.2 25);
  --border: oklch(1 0 0 / 11%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.66 0.19 12);
  --chart-1: oklch(0.7 0.152 12);
  --chart-2: oklch(0.76 0.152 162);
  --chart-3: oklch(0.8 0.152 87);
  --chart-4: oklch(0.68 0.152 302);
  --chart-5: oklch(0.74 0.143 227);
  --sidebar: oklch(0.2 0.033 12);
  --sidebar-foreground: oklch(0.97 0.006 12);
  --sidebar-primary: oklch(0.74 0.162 12);
  --sidebar-primary-foreground: oklch(0.16 0.03 12);
  --sidebar-accent: oklch(0.25 0.037 12);
  --sidebar-accent-foreground: oklch(0.97 0.006 12);
  --sidebar-border: oklch(1 0 0 / 11%);
  --sidebar-ring: oklch(0.66 0.19 12);
  --shadow-2xs: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-xs: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-sm: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-md: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-lg: 0px 0px 0px 0px oklch(0 0 0 / 0%);
  --shadow-xl: 0px 0px 0px 0px oklch(0 0 0 / 0%);
}

@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-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);
  --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-md: var(--shadow-md);
  --shadow-lg: var(--shadow-lg);
  --shadow-xl: var(--shadow-xl);
}

@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  body {
    @apply bg-background text-foreground;
  }
}

Contrast report

Measured contrast of every pair. This preset predates the theme gates and is shown as it is.

light mode
PairRatioResult
Text on background19.18:1 / 4.5:1Pass
Text on cards19.18:1 / 4.5:1Pass
Popover text19.18:1 / 4.5:1Pass
Muted text on muted5.45:1 / 4.5:1Pass
Muted text on background6.05:1 / 4.5:1Pass
Primary button text4.93:1 / 4.5:1Pass
Secondary button text16.41:1 / 4.5:1Pass
Accent label15.9:1 / 4.5:1Pass
Sidebar text19.18:1 / 4.5:1Pass
Sidebar active item4.93:1 / 4.5:1Pass
Sidebar hover item16.41:1 / 4.5:1Pass
Primary on background5.15:1 / 3:1Pass
Focus ring on background4.01:1 / 3:1Pass
Destructive on background5.21:1 / 4.5:1Pass
Destructive on cards5.21:1 / 4.5:1Pass
dark mode
PairRatioResult
Text on background17.84:1 / 4.5:1Pass
Text on cards16.7:1 / 4.5:1Pass
Popover text16.7:1 / 4.5:1Pass
Muted text on muted6.46:1 / 4.5:1Pass
Muted text on background7.77:1 / 4.5:1Pass
Primary button text7.86:1 / 4.5:1Pass
Secondary button text14.83:1 / 4.5:1Pass
Accent label13.63:1 / 4.5:1Pass
Sidebar text16.7:1 / 4.5:1Pass
Sidebar active item7.86:1 / 4.5:1Pass
Sidebar hover item14.83:1 / 4.5:1Pass
Primary on background7.85:1 / 3:1Pass
Focus ring on background5.7:1 / 3:1Pass
Destructive on background5.71:1 / 4.5:1Pass
Destructive on cards5.34:1 / 4.5:1Pass

Similar themes

The closest themes by colour, measured in OKLab across the key tokens in light and dark.