Getting StartedComponentsDesign TokensThemingTheme SynthesizerFrameworksAccessibilityUtilitiesServer RenderingBrowser SupportContributingChangelog App ShellAspect GridAuth ShellCenterClusterContainerDashboard GridDockFloat BarInsetMasonryPage HeaderPage LayoutResizableResponsive SwitcherSectionSettings LayoutSplit PaneStatus BarStickyToolbar Anchor NavBottom NavBreadcrumbBreadcrumb MenuCommand BarDrawerFooterLinkMenubarNavigation MenuPage IndicatorPaginationRailScroll IndicatorScroll SpyScroll To TopSidebarSkip LinkSpeed DialStepper NavTabsTop BarTree View AccordionAspect RatioAvatarAvatar GroupCalloutCardCarouselCollapsibleColor SwatchCTA BannerDividerEmpty StateFeature CardIconImageImage CompareImage HotspotsInfinite ScrollLightboxMarqueeQR CodeScroll AreaSeparatorSkeletonSpinnerStackVideoVirtual List Activity HeatmapAnimated NumberBadgeChartClockComparisonCountdown TimerData GridData TableDescription ListDiffEvent CalendarGaugeJSON TreeKanbanKey ValueLevel MeterListMeterSparklineStatStepperTableTagTimelineUptimeValue CardWaveform BlockquoteCode BlockGradient TextHighlightKbdKeyboard MapMarkdownNumber FormatProseTerminalTextTime AgoTruncateTypewriter ButtonButton GroupCalendarCheckboxChipColor PickerComboboxCopy ButtonDate PickerDate Range PickerFieldsetFile UploadFormHotkeyIcon ButtonImage CropperInline EditInputInput GroupKnobLabelMasked InputMulti SelectNumber InputOTP InputPassword InputPin InputRadio GroupRange SliderRatingSearchSegmented ControlSelectSignature PadSliderSortable ListSwitch GroupTag InputTextareaTheme ToggleTime PickerToggleTransfer ListTree Select AlertAnnouncementBannerCommand PaletteConfirmConnection StatusContext MenuConversationDialogDropdown MenuGuided TourHover CardInline MessageLoading OverlayModalNotification PanelPopoverProgressProgress ToastSheetSnackbarSpotlightToastTooltip
ARC UI ARC Radiant Components
v3.2 Docs Components Tokens Synthesizer
Getting StartedFrameworksServer Rendering Design TokensThemingTheme SynthesizerTypographyUtilities All ComponentsAccessibilityBrowser SupportChangelogContributingStats App ShellAspect GridAuth ShellCenterClusterContainerDashboard GridDockFloat BarInsetMasonryPage HeaderPage LayoutResizableResponsive SwitcherSectionSettings LayoutSplit PaneStatus BarStickyToolbar Anchor NavBottom NavBreadcrumbBreadcrumb MenuCommand BarDrawerFooterLinkMenubarNavigation MenuPage IndicatorPaginationRailScroll IndicatorScroll SpyScroll To TopSidebarSkip LinkSpeed DialStepper NavTabsTop BarTree View AccordionAspect RatioAvatarAvatar GroupCalloutCardCarouselCollapsibleColor SwatchCTA BannerDividerEmpty StateFeature CardIconImageImage CompareImage HotspotsInfinite ScrollLightboxMarqueeQR CodeScroll AreaSeparatorSkeletonSpinnerStackVideoVirtual List Activity HeatmapAnimated NumberBadgeChartClockComparisonCountdown TimerData GridData TableDescription ListDiffEvent CalendarGaugeJSON TreeKanbanKey ValueLevel MeterListMeterSparklineStatStepperTableTagTimelineUptimeValue CardWaveform BlockquoteCode BlockGradient TextHighlightKbdKeyboard MapMarkdownNumber FormatProseTerminalTextTime AgoTruncateTypewriter ButtonButton GroupCalendarCheckboxChipColor PickerComboboxCopy ButtonDate PickerDate Range PickerFieldsetFile UploadFormHotkeyIcon ButtonImage CropperInline EditInputInput GroupKnobLabelMasked InputMulti SelectNumber InputOTP InputPassword InputPin InputRadio GroupRange SliderRatingSearchSegmented ControlSelectSignature PadSliderSortable ListSwitch GroupTag InputTextareaTheme ToggleTime PickerToggleTransfer ListTree Select AlertAnnouncementBannerCommand PaletteConfirmConnection StatusContext MenuConversationDialogDropdown MenuGuided TourHover CardInline MessageLoading OverlayModalNotification PanelPopoverProgressProgress ToastSheetSnackbarSpotlightToastTooltip

Design Tokens

CSS custom properties that power every ARC UI component. Import @arclux/arc-ui/base.css to use them in your own styles.

Colors

--bg-deep rgb(3, 3, 7) bg-deep
--bg-surface rgb(10, 10, 15) bg-surface
--bg-base rgb(10, 10, 15) bg-base
--bg-card rgb(13, 13, 18) bg-card
--bg-elevated rgb(17, 17, 22) bg-elevated
--text-primary rgb(232, 232, 236) text-primary
--text-secondary rgb(150, 152, 162) text-secondary
--text-muted rgb(142, 142, 155) text-muted
--text-ghost rgb(133, 133, 154) text-ghost
--border-subtle rgb(24, 24, 30) border-subtle
--border-default rgb(34, 34, 41) border-default
--border-bright rgb(51, 51, 64) border-bright
--accent-primary rgb(77, 126, 247) accent-primary
--accent-secondary rgb(148, 102, 255) accent-secondary
--color-success rgb(52, 211, 153) color-success
--color-warning rgb(245, 158, 11) color-warning
--color-error rgb(239, 68, 68) color-error
--color-info rgb(59, 130, 246) color-info

Accents also ship -rgb channel triplets (--accent-primary-rgb, --accent-secondary-rgb) that glows, gradients, and focus rings compose via var() — override the base pair and the rest follows. See Theming.

Charts

Categorical series palette for arc-chart and data visualization. Assign hues in fixed order by series position — never cycle or reshuffle them. The set is validated for color-vision-deficiency separation and contrast against --bg-card in both themes (series 1, 4, and 6 shift automatically in light mode). Status colors are reserved for state and are not part of this palette.

--chart-1 #4d7ef7 chart-1
--chart-2 #ea580c chart-2
--chart-3 #0d9488 chart-3
--chart-4 #8b5cf6 chart-4
--chart-5 #db2777 chart-5
--chart-6 #65a30d chart-6

Spacing

--space-xs 4px
--space-sm 8px
--space-md 16px
--space-lg 24px
--space-xl 40px
--space-2xl 64px
--space-3xl 96px

Typography

ARC UI ships no font files — only role slots. Assign a face to each role via --font-<role>-family and every component follows. The samples below render live from the slots; --font-accent is a back-compat alias of --font-label.

--font-body The quick brown fox jumps over the lazy dog
--font-label The quick brown fox
--font-mono const x = 42;
TokenValue
--body-sizeclamp(15px, 1.2vw, 16px)
--body-lh1.7
--body-weight500
--heading-sizeclamp(22px, 2.5vw, 26px)
--heading-weight500
--code-size13px
--code-lh1.8

Borders & Radius

TokenValue
--radius-sm4px
--radius-md10px
--radius-lg14px
--radius-xl20px
--radius-full9999px

Shadows

--shadow-xs 0 1px 2px
--shadow-sm 0 2px 4px
--shadow-md 0 4px 12px
--shadow-lg 0 8px 24px
--shadow-xl 0 16px 48px
--shadow-overlay 0 8px 32px

Z-Index

TokenValueUsage
--z-base0Default stacking
--z-dropdown100Dropdown menus
--z-sticky200Sticky headers
--z-drawer300Side drawers
--z-modal400Modal dialogs
--z-popover500Popovers
--z-toast600Toast notifications
--z-tooltip700Tooltips
--z-max9999Emergency override

Breakpoints

TokenValue
--breakpoint-xs480px
--breakpoint-sm640px
--breakpoint-md768px
--breakpoint-lg1024px
--breakpoint-xl1280px
--breakpoint-2xl1536px

Opacity

--opacity-disabled 0.5
--opacity-muted 0.6
--opacity-hover 0.8
--opacity-visible 1

Motion

Motion is two base scales — four curves and five durations — that the --transition-* tokens compose. The curve carries the meaning: pick it by what the element is doing, not by taste.

TokenValueUsage
--ease-standardcubic-bezier(0.4, 0, 0.2, 1)A state change on an element that stays put — hover recolor, border shift
--ease-outcubic-bezier(0.16, 1, 0.3, 1)Something entering or expanding
--ease-incubic-bezier(0.7, 0, 0.84, 0)Something leaving — paired with a shorter duration
--ease-springcubic-bezier(0.34, 1.56, 0.64, 1)A control confirming a discrete action — toggle landing, checkbox filling
--duration-fast120msMicro state changes
--duration-base200msDefault for most transitions
--duration-slow400msLarge surfaces
--duration-enter500msEntrances
--duration-exit300msExits
--ease-out-expovar(--ease-out)Back-compat alias
--ease-in-outvar(--ease-standard)Back-compat alias

Display & Text Sizing

TokenValue
--display-xl-sizeclamp(36px, 5vw, 52px)
--display-xl-weight500
--display-xl-spacing-1px
--text-3xlclamp(28px, 3vw, 36px)
--text-lgclamp(18px, 1.5vw, 20px)
--wordmark-sizeclamp(20px, 2.5vw, 28px)
--wordmark-weight500
--wordmark-spacingclamp(8px, 1.2vw, 14px)
--section-title-size12px
--section-title-weight600
--section-title-spacing4px
--ui-accent-size16px
--ui-accent-weight600
--ui-accent-spacing1px
--label-inline-size10px
--label-inline-spacing3px

Glows

--glow-primary
--glow-secondary
--glow-white
--focus-glow

Glow Lines

--glow-line-white
--glow-line-blue
--glow-line-gradient

Gradients

--gradient-display-text Primary → muted text fade
--gradient-accent-text Blue → violet accent
--gradient-divider Subtle content separator
--gradient-divider-glow Accent-tinted divider glow
--gradient-border-glow Subtle border glow effect

Focus

Transitions

Each transition token composes a duration and a curve from the motion scales. Override the base --duration-* and --ease-* tokens and the compositions follow.

TokenComposition
--transition-fastvar(--duration-fast) var(--ease-standard)
--transition-basevar(--duration-base) var(--ease-standard)
--transition-slowvar(--duration-slow) var(--ease-standard)
--transition-entervar(--duration-enter) var(--ease-out)
--transition-exitvar(--duration-exit) var(--ease-in)

Utility

TokenValueUsage
--bg-hoverrgba(255, 255, 255, 0.04)Hover background tint
--bg-basergb(10, 10, 15)Page base background
--overlay-backdroprgba(0, 0, 0, 0.6)Modal/drawer overlay
--max-width1120pxContent max width
--max-width-sm720pxNarrow content max width
--nav-height64pxNavigation bar height

See Also