Foundations

Foundational tokens and interaction rules

The visual system is intentionally compact: pale surfaces, soft rules, low-contrast metadata, and type that stays close in scale so the pages feel editorial rather than promotional.

Color

TokenValueUse
surface#fdfdfcPrimary page background
surface-elevated#ffffffSoft lifted surfaces
text#111111Primary copy and headings
mutedrgba(0, 0, 0, 0.4)Metadata and supporting text
divider#f5f5f5Rules, rails, and quiet separators
accent#f09637Small highlight moments and section flashes
link#2480edInline links and actionable text
shadowrgba(0, 0, 0, 0.06)Subtle elevation only when needed
focusrgba(0, 122, 255, 0.5)Accessible focus ring

Type

RoleSpecUse
doc-title14px / 20px / 500Page titles and compact document headings
body14px / 20px / 460Primary reading rhythm and table text
section-title18px / 24px / 500Major section headings
sidebar-item13px / 16px / 460Local navigation items
caption12px / 16px / 460Metadata, labels, and helper copy
small-label12px / 16px / 500Small interface labels

The title and body stay intentionally close in scale. That tension is part of the system; it keeps the pages feeling like documents instead of landing pages.

Spacing

TokenValueUse
page-x1remHorizontal page padding on desktop
page-x-mobile1.5remHorizontal page padding on mobile
page-top5remTop offset for document pages
section-gap2.25remGap between major document sections
heading-gap1.125remGap between a section title and its divider
figure-gap-top2.5remTop breathing room around media blocks
figure-gap-bottom2.25remBottom breathing room around media blocks
card-padding1remDefault note and callout padding

Shape and elevation

ElementValueNote
card24pxDefault soft card radius
card-wide32pxLarger surfaces with gentle corners
note14pxCompact callouts and notes
inline-highlight4pxSmall rounded text highlight
round999pxFully rounded controls
soft0 0 0 1px rgba(0,0,0,.04), 0 1.625rem 3.375rem rgba(0,0,0,.04)Use sparingly for notes and lightweight overlays
micro0 0.5rem 1rem rgba(0,0,0,.03)Use sparingly for notes and lightweight overlays

Motion

InteractionDurationBehavior
hover160msQuiet hover changes for links and controls
press120msTiny press feedback
highlight-flash2800msSlow fade for section highlights
page-entry500msGentle load-in for stacked sections
ease-outcubic-bezier(0.19, 1, 0.22, 1)Default docs easing
  • Prefer ease-out transitions and crisp hover states.
  • Avoid broad horizontal shifts unless navigation intent truly needs it.
  • Decorative motion should stay subtle enough that copy remains the focus.

Text interaction states

Text interactions should stay quiet and avoid layout shift. Hover is usually a color darkening, a subtle underline change, or a very small vertical lift. Font size, line height, and baseline should not change between resting and hover states.

ElementDefaultHover
Top-level nav itemMuted and lightweightDarker text with a very small lift
Inline linkBody-colored text with a soft underline ruleDarker rule and small lift only
Local anchor itemMuted in the sidebar railDark text with accent border when active