10 colour roles
Every colour has a defined purpose. Use the buttons on the right to copy it in any format.
theme#1189c5rgb(17, 137, 197)hsl(200, 84.1%, 42%)btn#1189c5rgb(17, 137, 197)hsl(200, 84.1%, 42%)btnDisabled#8eccebrgb(142, 204, 235)hsl(200, 69.9%, 73.9%)bg#f9fafargb(249, 250, 250)hsl(180, 9.1%, 97.8%)card#f4f5f6rgb(244, 245, 246)hsl(210, 10%, 96.1%)textMain#232729rgb(35, 39, 41)hsl(200, 7.9%, 14.9%)textSub#6a767crgb(106, 118, 124)hsl(200, 7.8%, 45.1%)divider#e3e6e8rgb(227, 230, 232)hsl(204, 9.8%, 90%)price#d93c1crgb(217, 60, 28)hsl(10.2, 77.1%, 48%)tag#bc2e8drgb(188, 46, 141)hsl(319.9, 60.7%, 45.9%)How to use it
Written by hand for the hue family and lightness of this palette, not assembled from a template.
The lead colour sits in the middle of the lightness range, which makes it the most adaptable: both light and dark themes are easy to build on.
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.41:1 | AAA | AAA |
| Body text / card background | 13.8:1 | AAA | AAA |
| Brand colour / page background | 3.71:1 | AA | AA |
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: #1189c5; /* Theme */
--color-btn: #1189c5; /* Button */
--color-btnDisabled: #8ecceb; /* Button disabled */
--color-bg: #f9fafa; /* Page background */
--color-card: #f4f5f6; /* Card */
--color-textMain: #232729; /* Text main */
--color-textSub: #6a767c; /* Text sub */
--color-divider: #e3e6e8; /* Divider */
--color-price: #d93c1c; /* Price */
--color-tag: #bc2e8d; /* Tag */
}SCSS variables
$color-theme: #1189c5; // Theme
$color-btn: #1189c5; // Button
$color-btnDisabled: #8ecceb; // Button disabled
$color-bg: #f9fafa; // Page background
$color-card: #f4f5f6; // Card
$color-textMain: #232729; // Text main
$color-textSub: #6a767c; // Text sub
$color-divider: #e3e6e8; // Divider
$color-price: #d93c1c; // Price
$color-tag: #bc2e8d; // TagTailwind config
// tailwind.config.js: Indigo Dye
module.exports = {
theme: {
extend: {
colors: {
'theme': '#1189c5',
'btn': '#1189c5',
'btnDisabled': '#8ecceb',
'bg': '#f9fafa',
'card': '#f4f5f6',
'textMain': '#232729',
'textSub': '#6a767c',
'divider': '#e3e6e8',
'price': '#d93c1c',
'tag': '#bc2e8d',
},
},
},
};Machine-readable JSON
{
"name": "Indigo Dye",
"platform": "miniapp",
"tags": [
"Muted grey",
"Blue"
],
"advice": {
"family": "Blue",
"depth": "The lead colour sits in the middle of the lightness range, which makes it the most adaptable: both light and dark themes are easy to build on.",
"muted": null,
"suit": "The most versatile lead: technology, finance, tools and enterprise services that need to feel trustworthy.",
"avoid": "Cool blue feels reserved in promotions that need heat and momentum.",
"pair": "White and pale grey are the safe pairing; a warm accent (orange or yellow) makes calls to action pop."
},
"roles": {
"theme": "#1189c5",
"btn": "#1189c5",
"btnDisabled": "#8ecceb",
"bg": "#f9fafa",
"card": "#f4f5f6",
"textMain": "#232729",
"textSub": "#6a767c",
"divider": "#e3e6e8",
"price": "#d93c1c",
"tag": "#bc2e8d"
},
"contrast": {
"textOnBg": {
"ratio": 14.41,
"level": "AAA"
},
"primaryOnBg": {
"ratio": 3.71,
"level": "AA"
},
"textOnSurface": {
"ratio": 13.8,
"level": "AAA"
}
}
}