Skip to main content
Global CSS variables are the foundation of the BEEQ theme system. They cover brand colors, neutrals, typography, spacing, radius, shadows, and strokes. On top of these base variables, mode roles map each value to a specific role in the UI — backgrounds, text, borders, icons, UI elements, and interactive states — and automatically adapt to light and dark mode.
For how the color layers fit together, the default values in each theme and mode, and which tokens to pair, see Colors.
Base variables are the foundation of your theme and should be set at the root level for global consistency. See the Custom Theme page for details on overriding them.

Base theme variables

Base variables define the raw design values for your theme. They are set once at the root level and consumed by the declarative color variables below.

Intent colors

Each intent — brand, accent, info, success, warning, and danger — has the same five-step scale. See Intent scale for what each step is for.
The focus ring color, --bq-focus, isn’t a base variable. It’s a mode role that defaults to --bq-brand-strong in light mode and --bq-brand-bright in dark mode. See State colors.

Neutral colors

The neutral color scale provides a range of grays for backgrounds, borders, and text.
BEEQ also provides an extensive primitive color palette — blue, coral, cyan, gold, green, indigo, iris, lime, magenta, orange, purple, red, sky, teal, volcano, and yellow (each with 10 shades, 100–1000). Use these when defining brand and accent tokens in a custom theme.See the Colors page for the full palette and guidance on usage.

Data visualization colors

For charts and graphs — 12 distinct colors.

Typography

Typography variables define font family, sizes, weights, and line heights.
See also the Typography page for the full type system.

Spacing

The spacing scale provides consistent spacing units for margins, paddings, and gaps. It is based on a 4px grid.
See also the Spacing page for the full spacing system.

Border radius

The border radius scale defines corner rounding for UI elements.
See also the Radius page for full usage guidance.

Box shadow

The box shadow scale provides elevation effects for UI elements.
See also the Shadows page for elevation guidance.
Dark mode replaces the scale with denser shadows and a 1px --bq-stroke--primary edge ring, so elevated layers stay visible on dark surfaces:

Stroke

The stroke width scale defines standard border widths.
See also the Stroke page for border usage guidance.

Declarative color variables

Mode roles are used throughout the components and change based on the mode (light/dark). Always prefer these over base or primitive values. In the lists below, {intent} stands for brand, accent, info, success, warning, or danger.

Background colors

Used for various background surfaces such as pages, cards, and panels.

Icon colors

Used for SVG icons and graphical elements.

Border colors

Used for borders and outlines around UI elements.

Text colors

Used for typography and text elements.

On-color text

Used for text and icons placed on a solid intent fill (--bq-ui--{intent}). Always pair each fill with its own on-color.

UI colors

Used for small UI elements like buttons, tags, and badges.

State colors

Used for interactive states. Hover and active colors aren’t separate tokens per element: components blend the rest color with --bq-hover or --bq-active using the CSS color-mix() function.
See States for how components derive hover and active colors.

Next steps

Component CSS variables

Explore the CSS variables exposed by each BEEQ component for targeted, scoped customization.

Custom Theme

Follow the step-by-step guide to create and apply a fully custom theme to your app.