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.
  • 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.
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 System 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