Colors

The Adside brand palette (claude/brand.md) and the semantic Tailwind tokens it maps to in @repo/tailwind-config/themes.css. Always use the semantic tokens in app code — never raw colors like text-blue-500.

Primary colors

The entire expressive palette is four colors (brand deck P.10): Blue 1, Blue 2, Pink, Bordeau. Every chip, button, and chart series pairs them — blue/sky, sky/blue, pink/bordeaux, bordeaux/pink. Flat fills, never gradients.

Blue 1#0144F5

Electric blue — the brand

Blue 2#A8E1F8

Pale sky

Pink#FFD5F3

Brand pink

Bordeau#390507

Bordeaux ground

Neutrals & functional

Ink over a warm-gray ramp, plus the functional hover blue and delta green/red. These are ours — defined for app legibility, not part of the brand's expressive palette.

ink#0C0C0C

Headings, dark grounds

blue-1-700#013BD1

Hover/pressed blue

gray-800#3A3C40

Body text

gray-600#65676B

Secondary text

gray-500#858686

Muted text

gray-300#DDDDDF

Standard borders

gray-200#E6E7EB

Hairline borders

gray-100#F3F4F6

Input fills

gray-50#FAFAFA

Page tint

success#14B562

Positive deltas

danger#EA4242

Negative deltas

Surfaces

White cards on a near-white page. Structure comes from hairline borders and soft blue-violet shadows.

--bg-default

White — cards, active surfaces

bg-bg-default
--bg-muted

Gray-50 — page base

bg-bg-muted
--bg-subtle

Gray-100 — fills, secondary surfaces

bg-bg-subtle
--bg-emphasis

Gray-200 — section backgrounds

bg-bg-emphasis
--bg-inverted

Ink — inverted surfaces

bg-bg-inverted

Brand

Electric blue for primary CTAs, links, and brand accents.

--bg-brand

Electric blue — primary CTAs

bg-bg-brand
Aa
--content-on-brand

Text on brand surfaces

text-content-on-brand
Aa
--content-brand

Blue as text — links, accents

text-content-brand

Accents

The brand pairings as tokens: sky/blue, pink/bordeaux, bordeaux/pink. Not for primary CTAs.

--bg-accent-secondary

Pale sky — chips, chart fills, highlights

bg-bg-accent-secondary
Aa
--content-accent-secondary

Blue-1 text on the sky surface

text-content-accent-secondary
--bg-accent-pink

Brand pink — secondary buttons

bg-bg-accent-pink
Aa
--content-accent-pink

Bordeaux ink on pink

text-content-accent-pink
--bg-accent-bordeaux

Bordeaux ground — dark buttons/pills

bg-bg-accent-bordeaux
Aa
--content-accent-bordeaux

Pink type on bordeaux

text-content-accent-bordeaux

Status backgrounds

Subtle tinted surfaces for info, success, warning, error — matching the brand status-chip system.

--bg-info

Informational surfaces — blue tint

bg-bg-info
--bg-success

Success states — green tint

bg-bg-success
--bg-attention

Warning / learning states

bg-bg-attention
--bg-error

Error states — red tint

bg-bg-error

Status content

Pair with the matching status background.

Aa
--content-info

Info text — blue-1-700

text-content-info
Aa
--content-success

Success text

text-content-success
Aa
--content-attention

Warning text

text-content-attention
Aa
--content-error

Error text

text-content-error

Borders

Hairline gray-200 on cards; gray-300 for standard borders and outline buttons.

--border-muted

Faintest divider

border-border-muted
--border-subtle

Gray-200 — card hairlines

border-border-subtle
--border-default

Gray-300 — standard borders

border-border-default
--border-emphasis

Stronger borders

border-border-emphasis

Text

Ink headings over a warm-gray hierarchy. Body text is content-default.

Aa
--content-muted

Very light text

text-content-muted
Aa
--content-subtle

Secondary text

text-content-subtle
Aa
--content-default

Body text

text-content-default
Aa
--content-emphasis

Ink — headings

text-content-emphasis
Aa
--content-inverted

Text on inverted surfaces

text-content-inverted