10 colour roles
Every colour has a defined purpose. Use the buttons on the right to copy it in any format.
primary#653d76rgb(101, 61, 118)hsl(282.1, 31.8%, 35.1%)primaryHover#3d2348rgb(61, 35, 72)hsl(282.2, 34.6%, 21%)primaryActive#1a0e1frgb(26, 14, 31)hsl(282.4, 37.8%, 8.8%)textMain#272329rgb(39, 35, 41)hsl(280, 7.9%, 14.9%)textSub#766a7crgb(118, 106, 124)hsl(280, 7.8%, 45.1%)bg#faf9fargb(250, 249, 250)hsl(300, 9.1%, 97.8%)surface#f5f4f6rgb(245, 244, 246)hsl(270, 10%, 96.1%)border#e6e3e8rgb(230, 227, 232)hsl(276, 9.8%, 90%)link#3b2047rgb(59, 32, 71)hsl(281.5, 37.9%, 20.2%)accent#78c757rgb(120, 199, 87)hsl(102.3, 50%, 56.1%)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.
Build your product with this palette
Navigation, buttons, cards and text hierarchy — previewed in one go.
Primary actionLearn moreAccessibility 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.72:1 | AAA | AAA |
| Body text / card background | 14.1:1 | AAA | AAA |
| Brand colour / page background | 8.05: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-primary: #653d76; /* Primary */
--color-primaryHover: #3d2348; /* Primary hover */
--color-primaryActive: #1a0e1f; /* Primary active */
--color-textMain: #272329; /* Text main */
--color-textSub: #766a7c; /* Text sub */
--color-bg: #faf9fa; /* Background */
--color-surface: #f5f4f6; /* Surface */
--color-border: #e6e3e8; /* Border */
--color-link: #3b2047; /* Link */
--color-accent: #78c757; /* Accent */
}SCSS variables
$color-primary: #653d76; // Primary
$color-primaryHover: #3d2348; // Primary hover
$color-primaryActive: #1a0e1f; // Primary active
$color-textMain: #272329; // Text main
$color-textSub: #766a7c; // Text sub
$color-bg: #faf9fa; // Background
$color-surface: #f5f4f6; // Surface
$color-border: #e6e3e8; // Border
$color-link: #3b2047; // Link
$color-accent: #78c757; // AccentTailwind config
// tailwind.config.js: Nightshade
module.exports = {
theme: {
extend: {
colors: {
'primary': '#653d76',
'primaryHover': '#3d2348',
'primaryActive': '#1a0e1f',
'textMain': '#272329',
'textSub': '#766a7c',
'bg': '#faf9fa',
'surface': '#f5f4f6',
'border': '#e6e3e8',
'link': '#3b2047',
'accent': '#78c757',
},
},
},
};Machine-readable JSON
{
"name": "Nightshade",
"platform": "web",
"tags": [
"Vibrant",
"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": {
"primary": "#653d76",
"primaryHover": "#3d2348",
"primaryActive": "#1a0e1f",
"textMain": "#272329",
"textSub": "#766a7c",
"bg": "#faf9fa",
"surface": "#f5f4f6",
"border": "#e6e3e8",
"link": "#3b2047",
"accent": "#78c757"
},
"contrast": {
"textOnBg": {
"ratio": 14.72,
"level": "AAA"
},
"primaryOnBg": {
"ratio": 8.05,
"level": "AAA"
},
"textOnSurface": {
"ratio": 14.1,
"level": "AAA"
}
}
}