All colors are defined as CSS custom properties in two layers: primitive tokens (raw palette values) and semantic tokens (contextual mappings that change between light and dark mode).
Source files:
packages/shared/tokens/primitives.css — raw palette
packages/shared/tokens/semantic.css — light/dark semantic mappings
packages/shared/styles/theme.css — Tailwind v4 @theme inline bindings
Brand Primary — Blue
The blue palette is Prosper’s primary brand color, anchored at --color-blue-600 (#2b00ff).
Token Value Preview --color-blue-50#ecf3ff--color-blue-100#d9e7ff--color-blue-200#bbd3ff--color-blue-300#8ab8ff--color-blue-400#4059ff--color-blue-500#3220ff--color-blue-600#2b00ff--color-blue-700#2100d2--color-blue-800#1a1ba5--color-blue-900#0d0d0e--color-blue-950#070708
Neutral — Gray
Token Value Preview --color-gray-50#f9fafb--color-gray-100#f3f4f6--color-gray-200#e5e7eb--color-gray-300#d1d5db--color-gray-400#9ca1a9--color-gray-500#6e747b--color-gray-600#4e535a--color-gray-700#3c4047--color-gray-800#1f2937--color-gray-900#13181d--color-gray-950#030712
Status Colors
Red (Destructive)
Token Value Preview --color-red-50#fef2f2--color-red-100#fee2e2--color-red-500#ef4444--color-red-600#dc2626--color-red-700#b91c1c
Green (Success)
Token Value Preview --color-green-50#f0fdf4--color-green-100#dcfce7--color-green-500#22c55e--color-green-600#16a34a--color-green-700#15803d
Yellow (Warning)
Token Value Preview --color-yellow-50#fefce8--color-yellow-100#fef9c3--color-yellow-500#eab308--color-yellow-600#ca8a04--color-yellow-700#a16207
Semantic Color Mappings
These tokens map primitives to contextual roles. They change between light and dark mode.
Backgrounds
Semantic Token Light Dark --backgroundwhitegray-900--background-secondarygray-50gray-800--background-tertiarygray-100gray-700--background-inversegray-900white
Foregrounds / Text
Semantic Token Light Dark --foregroundgray-900gray-50--foreground-secondarygray-700gray-200--foreground-tertiarygray-500gray-400--foreground-mutedgray-400gray-500
Brand
Semantic Token Light Dark --primaryblue-600blue-500--primary-hoverblue-700blue-400--primary-activeblue-800blue-300--primary-foregroundwhitegray-900
Surfaces
Semantic Token Light Dark --cardwhitegray-800--card-foregroundgray-900gray-50--popoverwhitegray-800--mutedgray-100gray-800--muted-foregroundgray-600gray-400--accentgray-100gray-800--secondarygray-100gray-800
Borders
Semantic Token Light Dark --bordergray-200gray-700--border-secondarygray-300gray-600--ringblue-600blue-500
Status
Semantic Token Light Dark --successgreen-600green-500--warningyellow-600yellow-500--destructivered-600red-500
Tailwind Usage
Semantic tokens are exposed to Tailwind via @theme inline in theme.css:
--color-primary: var(--primary );
--color-primary-foreground: var(--primary-foreground );
--color-background: var(--background );
--color-foreground: var(--foreground );
Use them with standard Tailwind utilities:
< div className = " bg-primary text-primary-foreground " />
< div className = " bg-card text-card-foreground border-border " />
< span className = " text-muted-foreground " />