Design system

Warm pastels, crisp surfaces, soft motion. Two token layers: named color sets (primitives) that never change, and semantic tokens that remap between light and dark. Click any swatch to copy its hex.

Color palette

Figma naming: Blush/500, Oat/100, … Pastel steps (100–300) are fills behind dark text; 600–700 are the accessible text steps on light backgrounds.

Semantic tokens

Components only use these — never raw palette values. Toggle the theme above and watch them remap.

Typography

IBM Plex Sans across display, headings, and body (700 for display/bold, 600 for headings), with IBM Plex Mono for accents. Body line-height 1.6; headings 1.15 with −2% tracking.

display Aa
4xl / h1 Warm and crisp
3xl / h2 Warm and crisp
2xl / h3 Warm and crisp
xl / h4 Warm and crisp
lg / lead The quick brown fox jumps over the lazy dog.
md / body The quick brown fox jumps over the lazy dog.
sm The quick brown fox jumps over the lazy dog.
xs / label Section label

Spacing

4px base grid. Use the scale — never arbitrary values.

Radii & elevation

Soft corners, warm-tinted shadows. Elevation is subtle — crisp beats floaty.

sm 6
md 10
lg 16
xl 24
shadow-sm
shadow-md
shadow-lg

Components in the system

Buttons, tags, and a project card assembled purely from semantic tokens.

Design TypeScript SolidJS React Animation
Project

Sample project card

Surface, border, shadow, radius, type, and motion — every value on this card comes from a token. Hover to feel the elevation change.

Copied