10 colour roles
Every colour has a defined purpose. Use the buttons on the right to copy it in any format.
theme#5b3d76rgb(91, 61, 118)hsl(271.6, 31.8%, 35.1%)btn#5b3d76rgb(91, 61, 118)hsl(271.6, 31.8%, 35.1%)btnDisabled#ac9cbargb(172, 156, 186)hsl(272, 17.9%, 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#736a7crgb(115, 106, 124)hsl(270, 7.8%, 45.1%)divider#e6e3e8rgb(230, 227, 232)hsl(276, 9.8%, 90%)price#c44228rgb(196, 66, 40)hsl(10, 66.1%, 46.3%)tag#7f6548rgb(127, 101, 72)hsl(31.6, 27.6%, 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 colour 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 colour / page background | 8.42: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: #5b3d76; /* Theme */
--color-btn: #5b3d76; /* Button */
--color-btnDisabled: #ac9cba; /* Button disabled */
--color-bg: #faf9fa; /* Page background */
--color-card: #f5f4f6; /* Card */
--color-textMain: #262329; /* Text main */
--color-textSub: #736a7c; /* Text sub */
--color-divider: #e6e3e8; /* Divider */
--color-price: #c44228; /* Price */
--color-tag: #7f6548; /* Tag */
}SCSS variables
$color-theme: #5b3d76; // Theme
$color-btn: #5b3d76; // Button
$color-btnDisabled: #ac9cba; // Button disabled
$color-bg: #faf9fa; // Page background
$color-card: #f5f4f6; // Card
$color-textMain: #262329; // Text main
$color-textSub: #736a7c; // Text sub
$color-divider: #e6e3e8; // Divider
$color-price: #c44228; // Price
$color-tag: #7f6548; // TagTailwind config
// tailwind.config.js: Twilight Bloom
module.exports = {
theme: {
extend: {
colors: {
'theme': '#5b3d76',
'btn': '#5b3d76',
'btnDisabled': '#ac9cba',
'bg': '#faf9fa',
'card': '#f5f4f6',
'textMain': '#262329',
'textSub': '#736a7c',
'divider': '#e6e3e8',
'price': '#c44228',
'tag': '#7f6548',
},
},
},
};Machine-readable JSON
{
"name": "Twilight Bloom",
"platform": "miniapp",
"tags": [
"Gentle",
"Purple"
],
"advice": {
"family": "Purple",
"depth": "This palette's lead colour is deep and carries weight — suited to dark themes, or interfaces that need to feel professional and steady.",
"muted": null,
"suit": "For creative, beauty, content and membership products — the more emotional end of the spectrum.",
"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": "#5b3d76",
"btn": "#5b3d76",
"btnDisabled": "#ac9cba",
"bg": "#faf9fa",
"card": "#f5f4f6",
"textMain": "#262329",
"textSub": "#736a7c",
"divider": "#e6e3e8",
"price": "#c44228",
"tag": "#7f6548"
},
"contrast": {
"textOnBg": {
"ratio": 14.76,
"level": "AAA"
},
"primaryOnBg": {
"ratio": 8.42,
"level": "AAA"
},
"textOnSurface": {
"ratio": 14.14,
"level": "AAA"
}
}
}