Axon 911 Frontend Docs
    Loading navigation…
U
User
Switch to light mode
  1. Foundations
  2. Tokens

Tokens

CSS custom properties shipped by @prepared911/ui.

@prepared911/ui/styles.css publishes the design system's CSS custom properties (and every component rule). Prefer these names over hard-coded lengths and colors.
Where values live
Light tokens are declared on :where(:root), at zero specificity, so a class or attribute on the same element wins. Dark tokens are declared under [data-theme='dark']. Set that attribute on the document element, or on a region that must stay dark. Do not import a Sass theme module.
Public names
Use the semantic tier. Reference tokens prefixed --ref- and slot tokens such as --default-* are generator internals.
  • Color: --color-bg-*, --color-fg-*, --color-border-*, --color-fill-*, --color-accent-*, --color-status-*, and --color-palette-* for data series.
  • State wash: --gradient-wash-<id> and --gradient-wash-<id>-rtl (accent, destructive, informative), --color-wash-<id> and --color-wash-<id>-clear, shared --color-wash-ground, and paired text --color-fg-on-wash-default, --color-fg-on-wash-subtle, --color-fg-on-wash-muted. Blocks consume them through Box gradient and the paint_wash_* recipes; see Colors.
  • Space: --space-* (4, 8, 12, 16, …). --space-16 is 1rem.
  • Radius: --radius-sm, --radius-md, --radius-lg, --radius-control, --radius-pill, and the other --radius-* roles.
  • Type: --font-family-sans, --font-family-mono, and --text-<role>-* bundles (page, section, subsection, title, subtitle, body, label, caption, code-1, overline, and their emphasis roles). No role is larger than 24px.
  • Motion: --duration-*, --easing-*, and the composed --motion-* transitions.
  • Elevation: --elevation-raised-shadow, --elevation-overlay-shadow, --elevation-modal-shadow.
Color
NameTypeDefaultDescription
--color-bg-defaultcolorlight on :where(:root)Page canvas. The dark value is under [data-theme='dark'].
--color-fg-defaultcolorper appearanceBody and heading text.
--color-fg-subtlecolorper appearanceSecondary text.
--color-fg-mutedcolorper appearanceCaptions, labels, and metadata. Use it at 16px or semibold.
--color-border-defaultcolorper appearanceCard and panel edges.
--color-accent-defaultcolorper appearancePrimary accent fill.
--color-status-destructive-fgcolorper appearanceDestructive text on its own status background. Warning, success, and informative follow the same slot pattern.
--gradient-wash-accentgradientper appearanceDiagonal state wash. Destructive and informative have matching names. Each has an -rtl twin.
--color-wash-groundcolorper appearanceOpaque layer under every state wash. Transparent in Dark; bg-transient in Light.
--color-fg-on-wash-defaultcolorper appearanceDefault text on a state wash. The paint_wash recipes re-point fg-* and icon-* inside the wash.
Space, radius, and type
NameTypeDefaultDescription
--space-4 … --space-128dimension0.25rem–8remSpacing scale. Box padding and gap take these steps as numbers (16 is --space-16).
--radius-controldimension0.5remDefault corner radius for buttons and fields.
--text-subtitle-fontfont shorthand400 0.875rem/1.25remDefault Text role. Emphasis roles are separate tokens, such as --text-subtitle-emphasis-font.
--text-page-fontfont shorthand600 1.5rem/2remPage title role. The heading element is chosen with Text's as prop, not by the role.
Motion
NameTypeDefaultDescription
--duration-fast … --duration-slowertime100ms–500msCore feedback scale (--duration-default is 150ms). Glide durations are separate: --duration-glide-instant through --duration-glide-considered (120–480ms), plus --duration-glide-stagger for sequenced entry delays.
--easing-standard … --easing-emphasizeeasingcubic-bezierCore easings. Glide easings: --easing-glide-enter, --easing-glide-exit, --easing-glide-standard, --easing-glide-in-out.
--motion-state … --motion-expandtransitionduration + easingComposed timing for state, enter, exit, move, and expand. Each role has -fade and -move variants (--motion-enter-fade, --motion-state-move, and so on).
--motion-glide-state … --motion-glide-exittransitionglide duration + easingMotion-refresh glide shorthands (160ms state, 240ms enter, 180ms exit). Each has -fade and -move variants.
--spring-snappy, --spring-smooth, --spring-morph, --spring-glideeasinglinear() springSampled spring curves. Snappy, smooth, and morph overshoot; glide has no bounce. Pair with --duration-spring-snappy, --duration-spring-smooth, --duration-spring-morph, and --duration-spring-glide (432, 706, 718, and 530ms).
--motion-spring-snappy, --motion-spring-smooth, --motion-spring-morph, --motion-spring-glidetransitionduration + spring curveSpring shorthands as one transition value. Transform movement only; each becomes 0s under reduced motion.
In Figma
The Axon 911 Design Systemopens in a new tab file publishes these tokens as variables in its Axon 911 Tokens collection. Read variables, tokens and icons from that file. The Unified Experience Sandbox is a layout referent only; its variables are not the design system's.
Imports
After styles.css is loaded, every public custom property on this page is available to the app stylesheet.
Previous
Semantics
Next
Animated Number / Usage
On this page
Where values live
Public names
In Figma
Imports