10 color roles
Every color has a defined purpose. Use the buttons on the right to copy it in any format.
theme#520ea4rgb(82, 14, 164)hsl(267.2, 84.3%, 34.9%)btn#520ea4rgb(82, 14, 164)hsl(267.2, 84.3%, 34.9%)btnDisabled#a570e6rgb(165, 112, 230)hsl(266.9, 70.2%, 67.1%)bg#faf9fargb(250, 249, 250)hsl(300, 9.1%, 97.8%)card#f5f4f6rgb(245, 244, 246)hsl(270, 10%, 96.1%)textMain#262329rgb(38, 35, 41)hsl(270, 7.9%, 14.9%)textSub#726a7crgb(114, 106, 124)hsl(266.7, 7.8%, 45.1%)divider#e5e3e8rgb(229, 227, 232)hsl(264, 9.8%, 90%)price#d0391brgb(208, 57, 27)hsl(9.9, 77%, 46.1%)tag#9a27a0rgb(154, 39, 160)hsl(297, 60.8%, 39%)How to use it
Written by hand for the hue family and lightness of this palette, not assembled from a template.
This palette's lead color is deep and carries weight — suited to dark themes, or interfaces that need to feel professional and steady.
What it looks like in a real interface
The same palette rendered across all three platforms — the fastest way to judge whether it works.
Accessibility contrast check
Calculated to WCAG 2.1. AA is the accessibility baseline, AAA the enhanced level.
| Foreground / background | Ratio | Body text | Large text |
|---|---|---|---|
| Body text / page background | 14.76:1 | AAA | AAA |
| Body text / card background | 14.14:1 | AAA | AAA |
| Brand color / page background | 10.21:1 | AAA | AAA |
Export to your project
Four formats, ready to paste. Or fetch them by URL from your tooling or AI agent.
CSS variables
:root {
--color-theme: #520ea4; /* Theme */
--color-btn: #520ea4; /* Button */
--color-btnDisabled: #a570e6; /* Button disabled */
--color-bg: #faf9fa; /* Page background */
--color-card: #f5f4f6; /* Card */
--color-textMain: #262329; /* Text main */
--color-textSub: #726a7c; /* Text sub */
--color-divider: #e5e3e8; /* Divider */
--color-price: #d0391b; /* Price */
--color-tag: #9a27a0; /* Tag */
}SCSS variables
$color-theme: #520ea4; // Theme
$color-btn: #520ea4; // Button
$color-btnDisabled: #a570e6; // Button disabled
$color-bg: #faf9fa; // Page background
$color-card: #f5f4f6; // Card
$color-textMain: #262329; // Text main
$color-textSub: #726a7c; // Text sub
$color-divider: #e5e3e8; // Divider
$color-price: #d0391b; // Price
$color-tag: #9a27a0; // TagTailwind config
// tailwind.config.js: Grape Leaf
module.exports = {
theme: {
extend: {
colors: {
'theme': '#520ea4',
'btn': '#520ea4',
'btnDisabled': '#a570e6',
'bg': '#faf9fa',
'card': '#f5f4f6',
'textMain': '#262329',
'textSub': '#726a7c',
'divider': '#e5e3e8',
'price': '#d0391b',
'tag': '#9a27a0',
},
},
},
};Machine-readable JSON
{
"name": "Grape Leaf",
"platform": "miniapp",
"tags": [
"Fresh",
"Purple"
],
"advice": {
"family": "Purple",
"depth": "This palette's lead color is deep and carries weight — suited to dark themes, or interfaces that need to feel professional and steady.",
"muted": null,
"suit": "Its sense of prestige suits memberships, privileges and exclusivity.",
"avoid": "Purple, red and blue can blur together; keep enough lightness between them.",
"pair": "Pale pink and cream soften it; deep blue grounds it."
},
"roles": {
"theme": "#520ea4",
"btn": "#520ea4",
"btnDisabled": "#a570e6",
"bg": "#faf9fa",
"card": "#f5f4f6",
"textMain": "#262329",
"textSub": "#726a7c",
"divider": "#e5e3e8",
"price": "#d0391b",
"tag": "#9a27a0"
},
"contrast": {
"textOnBg": {
"ratio": 14.76,
"level": "AAA"
},
"primaryOnBg": {
"ratio": 10.21,
"level": "AAA"
},
"textOnSurface": {
"ratio": 14.14,
"level": "AAA"
}
}
}