Foundations
Colors
One brand, four supporting hues. Source of truth lives in packages/ui/tokens.css — every value below is rendered live from those tokens.
Brand palette
Brand tints and shades
Each brand colour exposes a soft (lighter, tinted backgrounds) and a strong (darker, hover and active states) sibling.
Solar
Primary brand colour. Use for CTAs and key accents.
Soft
#FCF6A8
--color-solar-softBase
#F5E642
--color-solarStrong
#E0D52E
--color-solar-strong
Amber
Brand secondary. Hover state for solar CTAs and warm accents.
Soft
#FFEAB5
--color-amber-softBase
#FFD166
--color-amberStrong
#F0B94D
--color-amber-strong
Lavender
Diagnostics, AI signals, info messages.
Soft
#F0EEFF
--color-lavender-softBase
#C9B8FF
--color-lavenderStrong
#A88FFF
--color-lavender-strong
Midnight
Inverse surfaces, primary text, dark mode foundation.
Soft
#2A2A45
--color-midnight-softBase
#1A1A2E
--color-midnightStrong
#0F0F1F
--color-midnight-strong
Neutral ramp
The workhorse scale for borders, dividers, muted text, and surfaces. Built so the legacy aliases (--color-rule, --color-muted, etc.) slot naturally into one of the ramp steps.
50
#FAF8F3
100
#F0EDE8
200
#E2DCCF
300
#C9C1B0
400
#BBBBBB
500
#888888
600
#6B6B7E
700
#555555
800
#3A3A4A
900
#1A1A2E
State colours
Three steps per state: soft for tinted backgrounds, base for inline text and icons on light surfaces, strong for emphasis and solid CTAs.
Success
Confirmations, completed states, positive feedback.
Soft
#E8F5EE
--color-success-softBase
#22A06B
--color-successStrong
#1A7A52
--color-success-strong
Warning
Caution, attention-needed, soft errors.
Soft
#FFF1D6
--color-warning-softBase
#F0A030
--color-warningStrong
#C77518
--color-warning-strong
Error
Validation failures, destructive actions, blocking issues.
Soft
#FCE4E0
--color-error-softBase
#B3261E
--color-errorStrong
#8B1A14
--color-error-strong
Info
Neutral notifications, diagnostics, AI hints (lavender alias).
Soft
#F0EEFF
--color-info-softBase
#C9B8FF
--color-infoStrong
#6B4FCC
--color-info-strong
Contrast pairs
Key text-and-background combinations used across Sidelay surfaces. Ratios computed against WCAG 2.1 (AA = 4.5, AAA = 7, AA Large = 3).
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Form fields
Fields are an elevated white surface bounded by a taupe border — not transparent — so an empty field reads as a surface above the cream canvas. Focus is a 1px lavender ring. Doctrine and rationale in ADR-0024; tokens in packages/ui/tokens.css.
Illustrative — the canonical interactive components (Input, Textarea, Select) ship in Phase 5 with the packages/ui extraction.