Documentation / Design language

One shared language.

Primitives become purpose. Purpose becomes interface. Every layer has a name.

antiflex color roles

Neutral is the default theme: white and gray surfaces, charcoal actions in light mode, and light actions in dark mode. Links, selection, and focus use the same neutral scale. Success, warning, and error colors communicate feedback.

canvas
subtle
border
foreground
accent
success
warning
danger
CSS
:root {
  --af-semantic-action: var(--af-color-neutral-900);
  --af-component-button-bg: var(--af-semantic-action);
}

[data-theme="dark"] {
  --af-semantic-action: var(--af-color-neutral-200);
}

Typography

Anybody · displayless flex. More function.

Bold, wide headings give the brand its voice.

DM SansClarity at every scale.

A practical interface face, with room to breathe.

Space Mono0123456789const precision = 'intentional';

Spacing

A four-pixel base keeps compact layouts consistent. Use semantic composition and component spacing rather than scattered values.

space / 1
4px
space / 2
8px
space / 3
12px
space / 4
16px
space / 5
20px
space / 6
24px
space / 8
32px
space / 10
40px
space / 12
48px

Shape and motion

Controls and panels use square corners with no radius. The small, medium, and large radius aliases all resolve to 0px; thin straight borders create structure. Feedback transitions use 120ms; general transitions use 200ms. Reduced motion removes decorative animation.

radius / sm0px
radius / md0px
radius / lg0px

Change the source, once.

packages/tokens/src/tokens.json is the token source. Run pnpm tokens:build to regenerate CSS variables and Tailwind mappings. The Figma generation scripts consume this same source.

Themes

HTML
<html data-theme="light">...</html>
<html data-theme="dark">...</html>

The site honors a saved choice, otherwise the operating system preference. Theme selection persists locally.