10 colour roles
Every colour has a defined purpose. Use the buttons on the right to copy it in any format.
theme#b37a6brgb(179, 122, 107)hsl(12.5, 32.1%, 56.1%)btn#b37a6brgb(179, 122, 107)hsl(12.5, 32.1%, 56.1%)btnDisabled#e6dddbrgb(230, 221, 219)hsl(10.9, 18%, 88%)bg#fafaf9rgb(250, 250, 249)hsl(60, 9.1%, 97.8%)card#f6f4f4rgb(246, 244, 244)hsl(0, 10%, 96.1%)textMain#292523rgb(41, 37, 35)hsl(20, 7.9%, 14.9%)textSub#7c6e6argb(124, 110, 106)hsl(13.3, 7.8%, 45.1%)divider#e8e4e3rgb(232, 228, 227)hsl(12, 9.8%, 90%)price#bb2626rgb(187, 38, 38)hsl(0, 66.2%, 44.1%)tag#7cb689rgb(124, 182, 137)hsl(133.4, 28.4%, 60%)How to use it
Written by hand for the hue family and lightness of this palette, not assembled from a template.
The lead colour is light, so it works well over large areas — just keep text and borders dark enough to hold the contrast.
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.54:1 | AAA | AAA |
| Body text / card background | 13.86:1 | AAA | AAA |
| Brand colour / page background | 3.4: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: #b37a6b; /* Theme */
--color-btn: #b37a6b; /* Button */
--color-btnDisabled: #e6dddb; /* Button disabled */
--color-bg: #fafaf9; /* Page background */
--color-card: #f6f4f4; /* Card */
--color-textMain: #292523; /* Text main */
--color-textSub: #7c6e6a; /* Text sub */
--color-divider: #e8e4e3; /* Divider */
--color-price: #bb2626; /* Price */
--color-tag: #7cb689; /* Tag */
}SCSS variables
$color-theme: #b37a6b; // Theme
$color-btn: #b37a6b; // Button
$color-btnDisabled: #e6dddb; // Button disabled
$color-bg: #fafaf9; // Page background
$color-card: #f6f4f4; // Card
$color-textMain: #292523; // Text main
$color-textSub: #7c6e6a; // Text sub
$color-divider: #e8e4e3; // Divider
$color-price: #bb2626; // Price
$color-tag: #7cb689; // TagTailwind config
// tailwind.config.js: Terra Rosa
module.exports = {
theme: {
extend: {
colors: {
'theme': '#b37a6b',
'btn': '#b37a6b',
'btnDisabled': '#e6dddb',
'bg': '#fafaf9',
'card': '#f6f4f4',
'textMain': '#292523',
'textSub': '#7c6e6a',
'divider': '#e8e4e3',
'price': '#bb2626',
'tag': '#7cb689',
},
},
},
};Machine-readable JSON
{
"name": "Terra Rosa",
"platform": "miniapp",
"tags": [
"High contrast",
"Red"
],
"advice": {
"family": "Red",
"depth": "The lead colour is light, so it works well over large areas — just keep text and borders dark enough to hold the contrast.",
"muted": null,
"suit": "Best as an accent rather than a large surface: prices, promotions, error states — anything that must be seen first.",
"avoid": "Use it sparingly in finance and healthcare, where it can read as aggressive rather than trustworthy.",
"pair": "Safest with neutral greys and white. Keep blue for confirmation and reserve red for danger and emphasis."
},
"roles": {
"theme": "#b37a6b",
"btn": "#b37a6b",
"btnDisabled": "#e6dddb",
"bg": "#fafaf9",
"card": "#f6f4f4",
"textMain": "#292523",
"textSub": "#7c6e6a",
"divider": "#e8e4e3",
"price": "#bb2626",
"tag": "#7cb689"
},
"contrast": {
"textOnBg": {
"ratio": 14.54,
"level": "AAA"
},
"primaryOnBg": {
"ratio": 3.4,
"level": "AA"
},
"textOnSurface": {
"ratio": 13.86,
"level": "AAA"
}
}
}