The shared grammar

Start with
what stays consistent.

Color sets the atmosphere. Type, shape, and proportion keep everything recognizably Subtle.

Color and contrast

Eight canonical palettes share the same semantic roles. Try a mood to see them applied here.

Choose your moodBeige mood selected
Canvasbg-main
Lowbg-surface-variant
Surfacebg-surface
Highprimary-container
Floatingbg-surface / level 2

Canonical colors remain intact. Readable supporting text uses a documented mix of muted and main text. Rosewood also supplies explicit accessibility correction tokens. Text-light is reserved for decoration.

Inspect the mood tokens ↗

Typography

Lexend Deca gives headings their rounded character. Inclusive Sans handles reading and controls. JetBrains Mono identifies technical values.

Lexend Deca / Editorial
Room to think.
Inclusive Sans / Body

A softer surface, a generous margin, a clear next step. Small decisions make an interface feel considered.

JetBrains Mono / Metadata--radius-lg: 24px;

Editorial scale

Display 56–80 px
H1 44–60 px
H2 32–44 px
Body 16–18 px

Product scale

Title 28–36 px
Section 20–24 px
Card 16–18 px
Body 14–16 px

Responsive clamp() values connect the scales across viewport widths.

Shape communicates hierarchy.

Step down from an anchor surface to its nested controls. Save full rounding for deliberate capsules.

xs6 px
sm10 px
md16 px
lg24 px
xl32 px
fullCapsule

Inputs and buttons use 10 px. Cards use 16 px. Inspectors use 24 px. Hero media uses 32 px.

Space is part of the composition.

Use the shared scale to separate the story from the controls. Product spacing groups a task; editorial spacing gives it context.

4
8
12
16
24
32
48
64
96
128

Tone before shadow.

Low maps to the surface variant. High maps to the primary container. Floating keeps the surface color and adds restrained depth.

Level 0Open composition
Level 1Quiet separation
Level 2Floating context
Level 3Foreground task

Two contexts, one system.

Editorial uses larger type, wider spacing, and fewer containers. Product gives working data and controls more containment.

Compare the live specimens ↗

Softly responsive.

Use short transitions to explain state. Remove spatial travel when reduced motion is requested.

Try the motion vocabulary ↗