Motion+
>Motion/Brand

Brand guidelines

A living review of the Motion design system: colour, typography, buttons and diagram primitives, rendered from the same tokens the rest of motion.dev uses.

Foundations

Colour

Every surface, line and text colour is a CSS custom property. The site runs dark by default with five per-section schemes layered on top, plus a full light mode for each.

Surfaces

--background#0e1312Page base
--layer#141a18Cards / panels
--surface-deep#0a0804Recessed
--surface-deepest#060402Deepest well
--code-bg#141a18Code blocks

Lines

--border#1e2623Hairlines
--code-border#1e2623Code frame

Text

Ag
--foreground#ededecPrimary text
Ag
--foreground-feint#958d82Secondary / meta

Accent and status

--accent#ffdb2aPrimary accent
--accent-lightrgba(255,219,42,0.12)Accent wash
--accent-feintrgba(255,219,42,0.06)Accent tint
--accent-2#8df0ccMint / Motion+
--accent-3#a5b4fcIndigo
Ag
--on-accentdark / #fffText on accent
--error#ff5f57Error / alert

Scheme matrix — dark and light per section

Amberdark
accent

The quick brown fox jumps over the lazy dog.

Mintdark
accent

The quick brown fox jumps over the lazy dog.

Purpledark
accent

The quick brown fox jumps over the lazy dog.

Bluedark
accent

The quick brown fox jumps over the lazy dog.

Reddark
accent

The quick brown fox jumps over the lazy dog.

Amberlight
accent

The quick brown fox jumps over the lazy dog.

Mintlight
accent

The quick brown fox jumps over the lazy dog.

Purplelight
accent

The quick brown fox jumps over the lazy dog.

Bluelight
accent

The quick brown fox jumps over the lazy dog.

Redlight
accent

The quick brown fox jumps over the lazy dog.

Foundations

Typography

Three variable typefaces. TASA Orbiter carries display and headlines, Inter handles body and UI, Azeret / Geist Mono is reserved for code and operator labels. Weight and optical size are driven through font-variation-settings, never font-weight.

TASA OrbiterDisplay / headings — var(--font-sans)
Animate the web
Page title
opsz 60 · wght 720
Production-grade motion
Section title
opsz 60 · wght 700
Built for performance
Lede / intro
opsz 30 · wght 440
A library that packages the power of native browser animation.
InterBody / UI

Inter sets running text and interface copy. It stays legible from 11px operator labels up to 18px ledes, and pairs with the mono face for editorial captions.

Azeret / Geist MonoCode / operator labels — var(--font-mono)
> SYSTEM

animate(element, { opacity: 1 }, { duration: 0.4 })

Optical size and weight axis

Small textopsz 14 · wght 400
UI labelopsz 32 · wght 580
Displayopsz 60 · wght 680
Components

Buttons

The base .btn family covers utility actions. The signature caps-stripe button is the primary CTA across the site — monospace uppercase label, 119° dossier stripe and a parallelogram fill sweep on hover. Hover any button below to see live behaviour.

.btnBase family
.btn-sm / .btn-lgSizes
.btn-caps-stripeSignature CTA
<Button />@motion/design
Editorial

Diagram primitives

Every diagram (render pipeline, threads, benchmarks) is assembled from the same parts. These specimens use the literal shared .rpd-* classes so the spec stays in sync with the components.

Grid background

stroke var(--foreground) · opacity 0.06 · 0.5px · 16px step

Stage boxes
STYLELAYOUTPAINT

fill transparent · 1px stroke (tier hue) · rx 0 · label mono 11px · 0.14em · uppercase

Trunk box
STYLE

fill var(--layer) · stroke var(--foreground-feint) · the originating node

Connectors

stroke var(--foreground-feint) · dashed 3 4 (trunk) · solid (between stages)

Arrowhead marker

path M1 1 L11 6 L1 11 Z · refX 11 refY 6 · 10×10 · F-tier variant in #f43f5e

Thread container
MAIN THREAD

no fill · stroke foreground 45% · dashed 3 3 · label mono 10px · 0.18em

Figure caption rail
> RENDER PIPELINEFIG.07

divider 28px above viewBox bottom · text baseline 10px above bottom · 16px horizontal inset · left > SECTION / right FIG.NN (zero-padded) · mono 10px · 0.18em · uppercase · var(--foreground-feint)

Semantic stroke palette

styleneutral / originating
layout · Dlayout-triggering
paint · Cpaint-triggering
composite · Scompositor only
thrash · Ffeedback loop

Diagram typography

Stage labelmono · 11px · 0.14em · uppercase · --foreground
> Captionmono · 10px · 0.18em · uppercase · feint
Thread labelmono · 10px · 0.18em · uppercase · feint
Editorial

Visual primitives

The operator-console aesthetic is built from a small set of repeatable parts. New surfaces derive from these rather than generic card conventions.

Dossier stripe frame
119° repeating stripe at 10% foreground, inner background panel. Sharp corners, minimum 340px wide.

Tokens: --dossier-stripe-angle, --dossier-stripe-color

Kicker
> SECTION LABEL

Mono · 11px · uppercase · 0.18em tracking · accent-coloured caret

Tier colour scale
SABCDF

S #fbbf24 · A #34d399 · B #60a5fa · C #a78bfa · D #e879f9 · F #f43f5e