Color
Every color WunderUI ships, mirrored 1:1 from the Figma Design Tokens & Styleguide page: semantic tokens (light/dark aware), tints, the primitive palette, gradients and effect colors. Use these — never arbitrary hex values — so components stay themeable.
How to use
- Reference a token via its Tailwind utility (, , ) or the raw CSS variable () — never a hardcoded hex value.
- Figma names work as Tailwind classes too: , , , , , , .
- Every semantic token flips automatically between light and dark mode — no per-component dark: overrides needed.
- Pair a background token with its matching (or a tint with its ) for text/icon color, so contrast stays correct in both themes.
Brand
The eight brand accents (Figma brand-primary … brand-octonary): the 600 step of each hue, identical in light and dark. --primary and --brand-primary are kept identical on purpose.
Primary
--primary--primary-foreground#555CF3Brand Primary
--brand-primary--brand-primary-foreground#555CF3Brand Secondary
--brand-secondary--brand-secondary-foreground#12AFF0Brand Tertiary
--brand-tertiary--brand-tertiary-foreground#F47690Brand Quaternary
--brand-quaternary--brand-quaternary-foreground#FACA4ABrand Quinary
--brand-quinary#A584F3Brand Senary
--brand-senary#FE6BBABrand Septenary
--brand-septenary#F3654ABrand Octonary
--brand-octonary#6E6D86Surface
Backgrounds for the page and elevated content, light/dark aware. Figma names in brackets.
Page (bg-page)
--bg-page--foreground#F9FBFC · #17181ABackground
--background--foregroundCard (bg-surface)
--card--card-foreground#FFFFFF · #1C1D20Subtle (bg-subtle)
--subtle--foreground#F1F5F7 · #25272AInverse (bg-inverse)
--inverse--text-inverse#000000 · #FFFFFFPopover
--popover--popover-foregroundSecondary
--secondary--secondary-foregroundMuted
--muted--muted-foregroundAccent
--accent--accent-foregroundText
Text steps below the default foreground, plus colored text tokens that meet AA contrast in both themes. Use these for text; use success/destructive only for fills and icons.
Foreground (text-primary)
--foreground#000000 · #FFFFFFText Secondary
--text-secondary#454648 · #D1D1D1Text Tertiary
--text-tertiary#6E6E70 · #A2A3A3Muted Foreground (text-muted)
--muted-foreground#5A7383 · #8791A0Text Link
--text-link#555CF3 · #999DF8Text Success
--text-success#10805B · #76E6C1Text Error
--text-error#D42A2D · #F8ADBCText Warning
--text-warning#64511E · #FCDF92Text Inverse
--text-inverse#FFFFFF · #000000Text Error Inverse
--text-error-inverse#F8ADBC · #924756Borders & Inputs
Border separates surfaces. Border Control is the rim of plain controls — plain button, icon button, white badge, avatar ring: a visible grey in light, the quiet border grey in dark.
Border
--border#F1F5F7 · #323438Border Control
--border-control#D9E1E7 · #323438Input
--inputRing
--ringStatus
Success
--success--success-foreground#1AD598Destructive (error)
--destructive--destructive-foreground#D42A2DCharts
The default 5-color series order for Bar/Line/Area/Pie charts.
Chart 1
--chart-1Chart 2
--chart-2Chart 3
--chart-3Chart 4
--chart-4Chart 5
--chart-5Sidebar
A separate surface set for nav rails, tuned for contrast against the page background.
Sidebar
--sidebar--sidebar-foregroundSidebar Accent
--sidebar-accent--sidebar-accent-foregroundSidebar Primary
--sidebar-primary--sidebar-primary-foregroundSidebar Border
--sidebar-borderSidebar Ring
--sidebar-ringTints
Soft colored surfaces with a matching AA text color, one pair per hue (Figma + ). Light mode uses the 100 and 800 steps, dark mode the 900 and 300 steps. Badges, callouts, calendar chips and status pills are built from these; solid badges use the tint as text color on the 600 fill.
indigo
bg-tint-indigo · #EEEFFE · #222561text-tint-text-indigo · #333792 · #BBBEFAblue
bg-tint-blue · #E7F7FE · #074660text-tint-text-blue · #0B6990 · #A0DFF9purple
bg-tint-purple · #F6F3FE · #423561text-tint-text-purple · #634F92 · #DBCEFApink
bg-tint-pink · #FFF0F8 · #662B4Atext-tint-text-pink · #984070 · #FFC4E3red
bg-tint-red · #FEF1F4 · #622F3Atext-tint-text-red · #924756 · #FBC8D3orange
bg-tint-orange · #FEF0ED · #61281Etext-tint-text-orange · #923D2C · #FAC1B7yellow
bg-tint-yellow · #FFFAED · #64511Etext-tint-text-yellow · #64511E · #FDEAB7green
bg-tint-green · #E8FBF5 · #0A553Dtext-tint-text-green · #10805B · #A3EED6alternative
bg-tint-alternative · #F1F0F3 · #2C2C36text-tint-text-alternative · #424150 · #C5C5CFPalette
The Figma Primitives collection: eleven hues in ten steps (100 → 1000) plus the named neutrals. Available as , … — they replace Tailwind's palette for these names. Same value in both modes; the semantic tokens above pick from them.
Gradients
The nine Figma Gradient/<Hue> paint styles (each hue's 400 → 600 range at 135°) as , plus three gradients built from the variables. Use them for hero sections, feature highlights and premium CTAs where a flat fill feels too plain.
Gradient/Blue
bg-gradient-blue#12D0FF → #10A8E0Gradient/Yellow
bg-gradient-yellow#FFD44A → #F5A623Gradient/Red
bg-gradient-red#FF6EB0 → #F0366AGradient/Indigo
bg-gradient-indigo#999DF8 → #555CF3Gradient/Purple
bg-gradient-purple#C9B5F8 → #A584F3Gradient/Pink
bg-gradient-pink#FEA6D6 → #FE6BBAGradient/Orange
bg-gradient-orange#F8A392 → #F3654AGradient/Green
bg-gradient-green#76E6C1 → #1AD598Gradient/Alternative
bg-gradient-alternative#A8A7B6 → #6E6D86Dark
bg-gradient-darkgradient/start → gradient/endDark hero and cover backgrounds.Slate
bg-gradient-slategradient/start-2 → gradient/end-2Softer dark surfaces (AI avatar, feature cards).Primary shine
bg-gradient-primarygradient/start-3 → brand-primaryThe Gradient button/icon-button fill.<div className="bg-gradient-indigo …" /> /* Figma Gradient/Indigo */
<div className="bg-gradient-primary …" /> /* gradient/start-3 → brand-primary */
background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));Effects
The five Figma Shadow effect styles map onto the Tailwind shadow scale, and the three color variables are the shadow colors behind them.
Shadow/Small
shadow-xs0px 1px 2px 0px rgb(0 0 0 / 0.05)Shadow/Regular
shadow-sm0px 2px 4px 0px rgb(0 0 0 / 0.08)Shadow/Medium
shadow-md0px 4px 8px 0px rgb(0 0 0 / 0.1)Shadow/Large
shadow-lg0px 8px 16px 0px rgb(0 0 0 / 0.12)Shadow/XLarge
shadow-xl0px 16px 32px -4px rgb(0 0 0 / 0.16)--effect-shadow · #000000 @ 0.08Shadow colour of Shadow/Regular (0 2 4).--effect-shadow-2 · #101828 @ 0.05Cool-tinted shadow colour for cards on light surfaces.--effect-shadow-3 · #000000 @ 0.05Shadow colour of Shadow/Small (0 1 2).Token table
The complete Figma Color collection with its light and dark values and the primitive each mode aliases — the same table as the Figma Color Tokens frame.
| Token | CSS | Light | Dark |
|---|---|---|---|
| bg-page | --background | neutral/light-background#F9FBFC | dark/600#17181A |
| bg-surface | --card | neutral/white#FFFFFF | neutral/dark-secondary#1C1D20 |
| border | --border | light/200#F1F5F7 | neutral/dark-borders#323438 |
| border-controlRim of plain controls (plain button, icon button, white badge, avatar ring): visible grey in light, the quiet border grey in dark. | --border-control | light/300#D9E1E7 | neutral/dark-borders#323438 |
| text-primary | --foreground | neutral/black#000000 | neutral/white#FFFFFF |
| text-secondary | --text-secondary | dark/500#454648 | dark/200#D1D1D1 |
| text-muted | --muted-foreground | light/700#5A7383 | neutral/dark-muted#8791A0 |
| brand-primary | --brand-primary | indigo/600#555CF3 | indigo/600#555CF3 |
| success | --success | green/600#1AD598 | green/600#1AD598 |
| error | --destructive | neutral/error-base#D42A2D | neutral/error-base#D42A2D |
| text-tertiary | --text-tertiary | dark/400#6E6E70 | dark/300#A2A3A3 |
| brand-secondaryBrand accent blue — same value in every mode. | --brand-secondary | blue/600#12AFF0 | blue/600#12AFF0 |
| brand-tertiaryBrand accent red — same value in every mode. | --brand-tertiary | red/600#F47690 | red/600#F47690 |
| brand-quaternaryBrand accent yellow — same value in every mode. | --brand-quaternary | yellow/600#FACA4A | yellow/600#FACA4A |
| brand-quinaryBrand accent purple — same value in every mode. | --brand-quinary | purple/600#A584F3 | purple/600#A584F3 |
| brand-senaryBrand accent pink — same value in every mode. | --brand-senary | pink/600#FE6BBA | pink/600#FE6BBA |
| brand-septenaryBrand accent orange — same value in every mode. | --brand-septenary | orange/600#F3654A | orange/600#F3654A |
| brand-octonaryBrand accent slate (alternative) — same value in every mode. | --brand-octonary | alternative/600#6E6D86 | alternative/600#6E6D86 |
| effect/shadowShadow colour of Shadow/Regular (0 2 4). | --effect-shadow | #000000 | #000000 |
| effect/shadow-2Cool-tinted shadow colour for cards on light surfaces. | --effect-shadow-2 | #101828 | #101828 |
| effect/shadow-3Shadow colour of Shadow/Small (0 1 2). | --effect-shadow-3 | #000000 | #000000 |
| gradient/startStart of the dark brand gradient (with gradient/end). | --gradient-start | #494F60 | #494F60 |
| gradient/endEnd of the dark brand gradient (with gradient/start). | --gradient-end | #0B0C33 | #0B0C33 |
| gradient/start-2Start of the slate gradient (with gradient/end-2). | --gradient-start-2 | #777FA1 | #777FA1 |
| gradient/end-2End of the slate gradient (with gradient/start-2). | --gradient-end-2 | #1F2059 | #1F2059 |
| gradient/start-3Highlight of the primary shine gradient (fades into brand-primary) — used by the Gradient button. | --gradient-start-3 | #6F74F5 | #6F74F5 |
| bg-subtleSubtle secondary surface (cards on cards, list rows, wells). | --subtle | light/200#F1F5F7 | neutral/dark-content#25272A |
| tint/indigoSoft indigo surface for badges, callouts and highlights. | --tint-indigo | indigo/100#EEEFFE | indigo/900#222561 |
| tint-text/indigoText and icon color on tint/indigo. | --tint-text-indigo | indigo/800#333792 | indigo/300#BBBEFA |
| tint/blueSoft blue surface for badges, callouts and highlights. | --tint-blue | blue/100#E7F7FE | blue/900#074660 |
| tint-text/blueText and icon color on tint/blue. | --tint-text-blue | blue/800#0B6990 | blue/300#A0DFF9 |
| tint/purpleSoft purple surface for badges, callouts and highlights. | --tint-purple | purple/100#F6F3FE | purple/900#423561 |
| tint-text/purpleText and icon color on tint/purple. | --tint-text-purple | purple/800#634F92 | purple/300#DBCEFA |
| tint/pinkSoft pink surface for badges, callouts and highlights. | --tint-pink | pink/100#FFF0F8 | pink/900#662B4A |
| tint-text/pinkText and icon color on tint/pink. | --tint-text-pink | pink/800#984070 | pink/300#FFC4E3 |
| tint/redSoft red surface for badges, callouts and highlights. | --tint-red | red/100#FEF1F4 | red/900#622F3A |
| tint-text/redText and icon color on tint/red. | --tint-text-red | red/800#924756 | red/300#FBC8D3 |
| tint/orangeSoft orange surface for badges, callouts and highlights. | --tint-orange | orange/100#FEF0ED | orange/900#61281E |
| tint-text/orangeText and icon color on tint/orange. | --tint-text-orange | orange/800#923D2C | orange/300#FAC1B7 |
| tint/yellowSoft yellow surface for badges, callouts and highlights. | --tint-yellow | yellow/100#FFFAED | yellow/900#64511E |
| tint-text/yellowText and icon color on tint/yellow. | --tint-text-yellow | yellow/900#64511E | yellow/300#FDEAB7 |
| tint/greenSoft green surface for badges, callouts and highlights. | --tint-green | green/100#E8FBF5 | green/900#0A553D |
| tint-text/greenText and icon color on tint/green. | --tint-text-green | green/800#10805B | green/300#A3EED6 |
| tint/alternativeSoft alternative surface for badges, callouts and highlights. | --tint-alternative | alternative/100#F1F0F3 | alternative/900#2C2C36 |
| tint-text/alternativeText and icon color on tint/alternative. | --tint-text-alternative | alternative/800#424150 | alternative/300#C5C5CF |
| text-linkBrand-coloured text (links, active labels). Lighter indigo in dark mode for AA contrast. | --text-link | indigo/600#555CF3 | indigo/400#999DF8 |
| text-successSuccess-coloured text on surfaces (AA). Use success only for fills/icons. | --text-success | green/800#10805B | green/400#76E6C1 |
| text-errorError-coloured text on surfaces (AA). Use error only for fills/icons. | --text-error | neutral/error-base#D42A2D | red/400#F8ADBC |
| text-warningWarning-coloured text on surfaces (AA). | --text-warning | yellow/900#64511E | yellow/400#FCDF92 |
| bg-inverseInverse surface (tooltips, dark chips, kbd). Flips with the mode. | --inverse | neutral/black#000000 | neutral/white#FFFFFF |
| text-inverseText/icon colour on bg-inverse. | --text-inverse | neutral/white#FFFFFF | neutral/black#000000 |
| text-error-inverseError-coloured text on bg-inverse (AA in both modes). | --text-error-inverse | red/400#F8ADBC | red/800#924756 |