Primitives

The foundations — type, colour, surfaces, radius and elevation. Flip Catalyst / SafeWay (bottom-right) and light / dark (account menu) to watch the semantic tokens adapt; the SafeWay brand yellow is documented below.

Semantic tokens

The brand-aware layer components consume. Flip Catalyst/SafeWay (bottom-right) and light/dark (account menu) and watch these adapt — neutrals follow the brand ramp automatically. Interactive accents are monochrome: INK keyboard-focus rings + a subtle GREY hover/active tint. Blue is decorative only (imagery + info).

Surfaces
Canvas
bg-canvas
Surface
bg-surface
Surface subtle
bg-surface-subtle
Text & line
Aa
Ink
text-ink
Aa
Ink muted
text-ink-muted
Aa
Ink subtle
text-ink-subtle
Line
border-line/10
Action
Aa · primary
Primary
bg-primary
Aa
Hover / active
zinc-950/5 tint · ink focus ring

Typography

Inter under Catalyst, General Sans under SafeWay (with a subtle negative tracking). Quiet hierarchy from size + weight, not loudness.

Display · 36 / SemiboldThe quick brown fox jumps over the lazy dog
Title · 24 / SemiboldThe quick brown fox jumps over the lazy dog
Heading · 20 / MediumThe quick brown fox jumps over the lazy dog
Subheading · 16 / MediumThe quick brown fox jumps over the lazy dog
Body · 16 / RegularThe quick brown fox jumps over the lazy dog
Small · 14 / RegularThe quick brown fox jumps over the lazy dog
Caption · 12 / RegularThe quick brown fox jumps over the lazy dog
Micro-label · 12 / Medium / UppercaseThe quick brown fox jumps over the lazy dog

Text colours

Shown on a fixed light tile so the values read in either theme.

Aa
Ink
zinc-950
Aa
Secondary
zinc-700
Aa
Muted
zinc-500
Aa
Faint
zinc-400

Surfaces & borders

Canvas
zinc-50
Surface
white
Subtle
zinc-100
Border
zinc-950/10

Brand & accent

Black (ink) is the primary AND the keyboard-focus ring; hover/active states use a subtle grey overlay (zinc-950/5). Blue is decorative only — imagery, info chips, badges — never a focus ring, fill, or primary button.

Primary (Ink)
zinc-950 · text + focus rings
Blue
blue-500 · imagery / info only

SafeWay brand yellow

The logo yellow and its depth ramp — the highlight of the tactile FOLDER FAMILY (the Home journey stack, the course workbook, the license card, the billing plan card). Always paired with brand-ink (the logo's near-black) so text stays legible on any yellow surface. It is NOT a global accent: interactive accents stay monochrome (ink focus rings, grey hover), and the yellow is never a button fill or focus ring.

Brand
bg-brand · #ffcb05
Brand soft
bg-brand-soft · #ffdb54
Brand softer
bg-brand-softer · #ffe999
Brand ink
bg-brand-ink · #231f20

Status & feedback

Semantic colours for success, warning, error and info — solid plus subtle tints. Under SafeWay they're retuned to a warm, clean register: saturated but warm-leaning, so they sit harmoniously against the warm-grey neutrals.

Success fill
green-600 · text: green-700
Warning fill
amber-500
Error fill
red-600 · text: red-700
Info fill
blue-600
Success · subtle
green-50
Warning · subtle
amber-50
Error · subtle
red-50
Info · subtle
blue-50

Neutral scale

50
100
200
300
400
500
600
700
800
900
950

Radius

Flip to SafeWay: surfaces tighten to ~3px and controls (rounded-control) become full pills.

sm
md
lg
xl
control
full

Elevation

Flip to SafeWay: inline shadows flatten to nothing (hairline borders carry separation); only floating layers keep a soft lift.

shadow-xs
shadow-sm
shadow-md
shadow-lg
Theme