Foundations
The Mix palette.
Warm cream as canvas, near-black as ink. A restrained, editorial system designed to age beautifully across every Mix product.
Semantic tokens — Light
Use these names in code (e.g. bg-background, text-foreground). Never hardcode hex or rgb in components.
background
oklch(0.978 0.012 85)
foreground
oklch(0.22 0.01 60)
card
oklch(1 0 0)
primary
oklch(0.2 0.008 60)
secondary
oklch(0.94 0.01 80)
muted
oklch(0.945 0.008 80)
accent
oklch(0.18 0 0)
border
oklch(0.9 0.012 80)
destructive
oklch(0.58 0.22 27)
Semantic tokens — Dark
Mirrored values for the dark theme variant.
background
oklch(0.16 0.008 60)
foreground
oklch(0.96 0.012 85)
card
oklch(0.22 0.01 60)
primary
oklch(0.96 0.012 85)
secondary
oklch(0.28 0.01 60)
muted
oklch(0.28 0.01 60)
accent
oklch(0.92 0 0)
border
oklch(0.32 0.01 60)
destructive
oklch(0.55 0.2 27)
Usage rule
The Mix palette is intentionally narrow. If a new color is needed, add it as a semantic token in src/styles.css — never inline it in a component.
// ✅ Correct
className="bg-card text-foreground border border-border"
// ❌ Wrong
className="bg-[#fcfbf8] text-[#1a1a1a]"