Design System
Olon

Design Language

A contract layer for the agentic web — and a design system built to communicate it. Every token, component, and decision is grounded in the concept of the holon: whole in itself, part of something greater.


Token Reference

All tokens defined in theme.json and bridged via index.css.

TokenCSS varValueTailwind class
Backgrounds
background--backgroundn/abg-background
card--cardn/abg-card
elevated--elevatedn/abg-elevated
Text
foreground--foregroundn/atext-foreground
muted-foreground--muted-foregroundn/atext-muted-foreground
Brand
primary--primaryn/abg-primary / text-primary
primary-foreground--primary-foregroundn/atext-primary-foreground
Accent
accent--accentn/abg-accent / text-accent
Border
border--bordern/aborder-border
border-strong--border-strongn/aborder-border-strong
Feedback
destructive--destructiven/abg-destructive
success--successn/abg-success
warning--warningn/abg-warning
info--infon/abg-info
Typography
font-primary--theme-font-primaryn/afont-primary
font-display--theme-font-displayn/afont-display
font-mono--theme-font-monon/afont-mono

Color System

Labradorite brand ramp + semantic layer. Dark-first. Every stop has a role.

Backgrounds
Base
n/a
bg-background
Surface
n/a
bg-card
Elevated
n/a
bg-elevated
Border
n/a
border-border
Brand Ramp — Labradorite
50
100
200
300
400
500
600brand
700
800
900
Accent — Parchment
Accent
n/a
text-accent
Feedback
Destructiven/a
Successn/a
Warningn/a
Infon/a

Typography

Three typefaces, three voices. Built on contrast.

Display · font-display
Merriweather Variable
Google Fonts
The contract layer
for the agentic web.
UI · font-primary
Geist
400 · 500
15px / 400
Machine-readable endpoints.
13px / 500
Schema contracts.
11px / 400 · muted
Governance, audit.
Code · font-mono
Geist Mono
import Olon from 'olonjs'
const page = Olon.contract('/about.json')

Spacing & Radius

Radius scale is deliberate — corners communicate hierarchy.

radius-sm · 4px
Badges, tags, chips.
radius-md · 8px
Inputs, buttons, inline.
radius-lg · 12px
Cards, panels, modals.

Mark & Logo

The mark is a holon: a nucleus held inside a ring. Two circles, one concept.

Mark · Dark
Mark · Mono
Logo Lockups
Standard (nav, sidebar ≥ 18px)
Olon
Hero display (marketing · ≥ 48px)
Olon

Button

Five variants. All use semantic tokens — no hardcoded colors.

Default (primary)
Accent (CTA)
Secondary (outline)
Ghost

Badge

Status, versioning, feature flags. Small but precise.

StableOSSv1.4NewDeployed

Input

Form elements. Precision over decoration.

Must follow semver (e.g. 1.4.0)


Card

The primary container primitive. Three elevation levels.

Default · bg-card
JsonPages contract
Tenant: acme-corp · 4 routes · Last sync 2m ago
Active
Elevated · bg-elevated
OlonJS Enterprise
NX monorepo · Private cloud · SOC2 ready
Accent · border-primary bg-primary-900
Ship your first tenant in hours,
not weeks.

Code Block

Developer-first. Syntax highlighting uses brand ramp stops only.

olon.config.ts
import { defineConfig } from 'olonjs'

export default defineConfig({
  tenants: [{
    slug: 'olon-ds'
  }]
}