Skip to main content

CSS Variables Reference

This page documents the VEF CSS custom properties intended for day-to-day styling work. It covers 701 variables and focuses on the usage contract: which token family to reach for, where to read it from, and how to keep page styles aligned with the framework.

tip

If your app is bootstrapped through starter.createApp().render(), these variables are already injected onto :root. If you mount the component layer manually, keep @vef-framework-react/components ConfigProvider in place so the global variables are emitted.

note

The values below reflect the default theme output. Theme overrides and dark mode can change semantic tokens such as --vef-color-primary*, surface tokens, and text tokens. Build against the variable names, not against the sample hex values.

Choosing the right entry point

VEF exposes the same design language through three different access paths:

  • Use raw CSS variables such as var(--vef-color-primary) in CSS Modules, SCSS, third-party stylesheet overrides, or MDX snippets.
  • Use globalCssVars in Emotion and other JS object styles when you want the same token without repeating string literals.
  • Use useThemeTokens() when a value must be consumed in JavaScript logic or passed to a library that expects a resolved color or size value at render time.
NeedPreferWhy
Page spacing, card padding, and section rhythm--vef-spacing-*, --vef-padding-*, --vef-margin-*Keeps layout rhythm consistent with framework components.
Primary actions, links, and selected states--vef-color-primary, --vef-color-primary-hover, --vef-color-primary-active, --vef-color-primary-textStays aligned with theme overrides and dark-mode behavior.
Neutral panels, cards, and page chrome--vef-color-bg-container, --vef-color-bg-layout, --vef-color-border, --vef-shadow-*, --vef-border-radius*Matches the framework shell and default component surfaces.
Muted, secondary, and descriptive text--vef-color-text, --vef-color-text-secondary, --vef-color-text-tertiary, --vef-color-text-descriptionAvoids ad-hoc opacity tuning and keeps contrast consistent.
Validation and status messaging--vef-color-success-*, --vef-color-warning-*, --vef-color-error-*, --vef-color-info-*Gives you matching background, border, and text states out of the box.
Charts, illustrations, and multicolor accents--vef-color-blue-50..950, --vef-color-emerald-50..950, or the preset --vef-blue-1..10 style familiesProvides broader ramps than semantic status tokens.
CSS-in-JS styles written in TS/JSglobalCssVars.*Avoids repeating raw var(--vef-...) strings in Emotion objects.

Raw CSS variable usage

Use raw variables when your style lives directly in CSS, SCSS, or a CSS Module.

.configItem {
display: flex;
gap: var(--vef-spacing-xl);
padding: var(--vef-spacing-lg) var(--vef-spacing-xl);
background: var(--vef-color-bg-container);
border: 1px solid var(--vef-color-border-secondary);
border-radius: var(--vef-border-radius-lg);
box-shadow: var(--vef-shadow-sm);
}

.configItem:hover {
background: var(--vef-color-fill-quaternary);
}

This is the best default for:

  • CSS Modules used by page routes
  • SCSS files that restyle framework components
  • MDX examples and site-level styles
  • CSS authored for third-party widgets that do not know about globalCssVars

globalCssVars in Emotion or object styles

globalCssVars is the JS/TS alias layer exported by @vef-framework-react/components. It maps CSS variable names into camelCase fields, for example:

CSS custom propertyJS alias
var(--vef-color-primary)globalCssVars.colorPrimary
var(--vef-spacing-md)globalCssVars.spacingMd
var(--vef-border-radius-lg)globalCssVars.borderRadiusLg
var(--vef-font-family-code)globalCssVars.fontFamilyCode
import { css } from "@emotion/react";
import { globalCssVars } from "@vef-framework-react/components";

const panelStyle = css({
padding: globalCssVars.spacingMd,
borderRadius: globalCssVars.borderRadiusLg,
border: `1px solid ${globalCssVars.colorBorderSecondary}`,
backgroundColor: globalCssVars.colorBgContainer,
boxShadow: globalCssVars.shadowSm
});

Use this when your style already lives in TS or JS. It keeps the token name consistent with the framework while avoiding raw string repetition.

useThemeTokens() for runtime values

useThemeTokens() returns the resolved Ant Design token object for the current theme. Reach for it when a runtime library needs concrete values rather than CSS variable strings.

import { useThemeTokens } from "@vef-framework-react/components";

export function MetricsChart() {
const { colorPrimary, colorTextSecondary } = useThemeTokens();

return (
<MyChart
palette={[colorPrimary, colorTextSecondary]}
/>
);
}

Typical cases:

  • chart libraries configured from JS
  • canvas drawing
  • runtime color calculations
  • conditional logic based on current theme output

Naming model

The variable catalog is easier to navigate once the families are clear:

  • --vef-color-primary-*, --vef-color-success-*, and similar semantic ramps are the first choice for meaning-driven styling.
  • --vef-color-blue-*, --vef-color-emerald-*, and other extended ramps are useful when you need a named color family rather than a semantic intent.
  • --vef-blue-1..10, --vef-purple-1..10, and similar preset scales follow the Ant Design-style palette numbering.
  • --vef-color-text*, --vef-color-bg*, --vef-color-fill*, and --vef-color-border* are neutral UI surface tokens.
  • --vef-spacing-*, --vef-padding-*, --vef-margin-*, --vef-border-radius*, and --vef-shadow-* are layout and elevation primitives.
info

This page focuses on global design tokens. Component-scoped override variables such as --vef-card-body-padding are still valid when a component documents them, but they are not part of this shared global token catalog.

Full catalog

Foundation tokens (27 variables)

These are the first-choice variables for spacing rhythm, elevation, responsive thresholds, and reusable animations.

VariableDefault value
--vef-color-inverted#0f172a
--vef-spacing-xxsvar(--vef-size-xxs, 4px)
--vef-spacing-xsvar(--vef-size-xs, 8px)
--vef-spacing-smvar(--vef-size-sm, 12px)
--vef-spacing-mdvar(--vef-size, 16px)
--vef-spacing-lgvar(--vef-size-md, 20px)
--vef-spacing-xlvar(--vef-size-lg, 24px)
--vef-spacing-xxlvar(--vef-size-xl, 32px)
--vef-shadow-xxs0 1px 2px rgb(0 0 0 / 0.04)
--vef-shadow-xs0 1px 3px rgb(0 0 0 / 0.06), 0 1px 2px rgb(0 0 0 / 0.04)
--vef-shadow-sm0 2px 4px rgb(0 0 0 / 0.04), 0 1px 2px rgb(0 0 0 / 0.06)
--vef-shadow-md0 4px 8px -2px rgb(0 0 0 / 0.06), 0 2px 4px -2px rgb(0 0 0 / 0.04)
--vef-shadow-lg0 12px 24px -4px rgb(0 0 0 / 0.08), 0 4px 8px -2px rgb(0 0 0 / 0.04)
--vef-shadow-xl0 20px 40px -8px rgb(0 0 0 / 0.1), 0 8px 16px -4px rgb(0 0 0 / 0.06)
--vef-shadow-xxl0 32px 64px -12px rgb(0 0 0 / 0.14)
--vef-shadow-glow0 0 20px rgb(99 102 241 / 0.15)
--vef-shadow-card0 1px 3px rgb(0 0 0 / 0.04), 0 1px 2px rgb(0 0 0 / 0.06)
--vef-shadow-card-hover0 12px 24px -4px rgb(0 0 0 / 0.08), 0 4px 8px -2px rgb(0 0 0 / 0.04)
--vef-breakpoint-xs36em
--vef-breakpoint-sm48em
--vef-breakpoint-md62em
--vef-breakpoint-lg75em
--vef-breakpoint-xl88em
--vef-animate-spinspin 1s linear infinite
--vef-animate-pingping 1s cubic-bezier(0, 0, 0.2, 1) infinite
--vef-animate-pulsepulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite
--vef-animate-bouncebounce 1s infinite
Semantic color ramps (50-950) (55 variables)

Use these when the color meaning matters. They follow the current VEF theme, so `primary`, `success`, `info`, `warning`, and `error` stay aligned with the app brand and status language.

VariableDefault value
--vef-color-primary-50#f0f9ff
--vef-color-primary-100#dcf1ff
--vef-color-primary-200#bde6ff
--vef-color-primary-300#8fd8ff
--vef-color-primary-400#52bfff
--vef-color-primary-500#29a2ff
--vef-color-primary-600#1486ff
--vef-color-primary-700#106ced
--vef-color-primary-800#1655bb
--vef-color-primary-900#1a4a8f
--vef-color-primary-950#152e56
--vef-color-success-50#f2fdf5
--vef-color-success-100#defce9
--vef-color-success-200#b9f8cf
--vef-color-success-300#79f1a7
--vef-color-success-400#05e173
--vef-color-success-500#00c951
--vef-color-success-600#00a83e
--vef-color-success-700#008035
--vef-color-success-800#016530
--vef-color-success-900#0d542b
--vef-color-success-950#033016
--vef-color-info-50#f0f9ff
--vef-color-info-100#e1f3fe
--vef-color-info-200#b9e6fe
--vef-color-info-300#75d3ff
--vef-color-info-400#00bbff
--vef-color-info-500#00a6f4
--vef-color-info-600#0084d1
--vef-color-info-700#0068a8
--vef-color-info-800#005a8a
--vef-color-info-900#02486e
--vef-color-info-950#052e48
--vef-color-warning-50#fff6eb
--vef-color-warning-100#ffeed6
--vef-color-warning-200#ffd7a8
--vef-color-warning-300#ffb86b
--vef-color-warning-400#ff8a05
--vef-color-warning-500#ff6900
--vef-color-warning-600#f54900
--vef-color-warning-700#cc3600
--vef-color-warning-800#9e2d00
--vef-color-warning-900#7e2a0c
--vef-color-warning-950#461406
--vef-color-error-50#fef1f1
--vef-color-error-100#ffe0e0
--vef-color-error-200#ffc7c7
--vef-color-error-300#ffa3a3
--vef-color-error-400#ff6669
--vef-color-error-500#fb2c36
--vef-color-error-600#e6000b
--vef-color-error-700#c20006
--vef-color-error-800#a20711
--vef-color-error-900#811819
--vef-color-error-950#440809
Extended palette ramps (50-950) (242 variables)

Use these for charts, illustrations, badges, and one-off visual accents when you need a named palette rather than a semantic meaning.

VariableDefault value
--vef-color-red-50#fef2f2
--vef-color-red-100#ffe2e2
--vef-color-red-200#ffc9c9
--vef-color-red-300#ffa2a2
--vef-color-red-400#ff6467
--vef-color-red-500#fb2c36
--vef-color-red-600#e7000b
--vef-color-red-700#c10007
--vef-color-red-800#9f0712
--vef-color-red-900#82181a
--vef-color-red-950#460809
--vef-color-orange-50#fff7ed
--vef-color-orange-100#ffedd4
--vef-color-orange-200#ffd6a7
--vef-color-orange-300#ffb86a
--vef-color-orange-400#ff8904
--vef-color-orange-500#ff6900
--vef-color-orange-600#f54900
--vef-color-orange-700#ca3500
--vef-color-orange-800#9f2d00
--vef-color-orange-900#7e2a0c
--vef-color-orange-950#441306
--vef-color-amber-50#fffbeb
--vef-color-amber-100#fef3c6
--vef-color-amber-200#fee685
--vef-color-amber-300#ffd230
--vef-color-amber-400#ffb900
--vef-color-amber-500#fe9a00
--vef-color-amber-600#e17100
--vef-color-amber-700#bb4d00
--vef-color-amber-800#973c00
--vef-color-amber-900#7b3306
--vef-color-amber-950#461901
--vef-color-yellow-50#fefce8
--vef-color-yellow-100#fef9c2
--vef-color-yellow-200#fff085
--vef-color-yellow-300#ffdf20
--vef-color-yellow-400#fdc700
--vef-color-yellow-500#f0b100
--vef-color-yellow-600#d08700
--vef-color-yellow-700#a65f00
--vef-color-yellow-800#894b00
--vef-color-yellow-900#733e0a
--vef-color-yellow-950#432004
--vef-color-lime-50#f7fee7
--vef-color-lime-100#ecfcca
--vef-color-lime-200#d8f999
--vef-color-lime-300#bbf451
--vef-color-lime-400#9ae600
--vef-color-lime-500#7ccf00
--vef-color-lime-600#5ea500
--vef-color-lime-700#497d00
--vef-color-lime-800#3c6300
--vef-color-lime-900#35530e
--vef-color-lime-950#192e03
--vef-color-green-50#f0fdf4
--vef-color-green-100#dcfce7
--vef-color-green-200#b9f8cf
--vef-color-green-300#7bf1a8
--vef-color-green-400#05df72
--vef-color-green-500#00c950
--vef-color-green-600#00a63e
--vef-color-green-700#008236
--vef-color-green-800#016630
--vef-color-green-900#0d542b
--vef-color-green-950#032e15
--vef-color-emerald-50#ecfdf5
--vef-color-emerald-100#d0fae5
--vef-color-emerald-200#a4f4cf
--vef-color-emerald-300#5ee9b5
--vef-color-emerald-400#00d492
--vef-color-emerald-500#00bc7d
--vef-color-emerald-600#009966
--vef-color-emerald-700#007a55
--vef-color-emerald-800#006045
--vef-color-emerald-900#004f3b
--vef-color-emerald-950#002c22
--vef-color-teal-50#f0fdfa
--vef-color-teal-100#cbfbf1
--vef-color-teal-200#96f7e4
--vef-color-teal-300#46ecd5
--vef-color-teal-400#00d5be
--vef-color-teal-500#00bba7
--vef-color-teal-600#009689
--vef-color-teal-700#00786f
--vef-color-teal-800#005f5a
--vef-color-teal-900#0b4f4a
--vef-color-teal-950#022f2e
--vef-color-cyan-50#ecfeff
--vef-color-cyan-100#cefafe
--vef-color-cyan-200#a2f4fd
--vef-color-cyan-300#53eafd
--vef-color-cyan-400#00d3f2
--vef-color-cyan-500#00b8db
--vef-color-cyan-600#0092b8
--vef-color-cyan-700#007595
--vef-color-cyan-800#005f78
--vef-color-cyan-900#104e64
--vef-color-cyan-950#053345
--vef-color-sky-50#f0f9ff
--vef-color-sky-100#dff2fe
--vef-color-sky-200#b8e6fe
--vef-color-sky-300#74d4ff
--vef-color-sky-400#00bcff
--vef-color-sky-500#00a6f4
--vef-color-sky-600#0084d1
--vef-color-sky-700#0069a8
--vef-color-sky-800#00598a
--vef-color-sky-900#024a70
--vef-color-sky-950#052f4a
--vef-color-blue-50#eff6ff
--vef-color-blue-100#dbeafe
--vef-color-blue-200#bedbff
--vef-color-blue-300#8ec5ff
--vef-color-blue-400#51a2ff
--vef-color-blue-500#2b7fff
--vef-color-blue-600#155dfc
--vef-color-blue-700#1447e6
--vef-color-blue-800#193cb8
--vef-color-blue-900#1c398e
--vef-color-blue-950#162456
--vef-color-indigo-50#eef2ff
--vef-color-indigo-100#e0e7ff
--vef-color-indigo-200#c6d2ff
--vef-color-indigo-300#a3b3ff
--vef-color-indigo-400#7c86ff
--vef-color-indigo-500#615fff
--vef-color-indigo-600#4f39f6
--vef-color-indigo-700#432dd7
--vef-color-indigo-800#372aac
--vef-color-indigo-900#312c85
--vef-color-indigo-950#1e1a4d
--vef-color-violet-50#f5f3ff
--vef-color-violet-100#ede9fe
--vef-color-violet-200#ddd6ff
--vef-color-violet-300#c4b4ff
--vef-color-violet-400#a684ff
--vef-color-violet-500#8e51ff
--vef-color-violet-600#7f22fe
--vef-color-violet-700#7008e7
--vef-color-violet-800#5d0ec0
--vef-color-violet-900#4d179a
--vef-color-violet-950#2f0d68
--vef-color-purple-50#faf5ff
--vef-color-purple-100#f3e8ff
--vef-color-purple-200#e9d4ff
--vef-color-purple-300#dab2ff
--vef-color-purple-400#c27aff
--vef-color-purple-500#ad46ff
--vef-color-purple-600#9810fa
--vef-color-purple-700#8200db
--vef-color-purple-800#6e11b0
--vef-color-purple-900#59168b
--vef-color-purple-950#3c0366
--vef-color-fuchsia-50#fdf4ff
--vef-color-fuchsia-100#fae8ff
--vef-color-fuchsia-200#f6cfff
--vef-color-fuchsia-300#f4a8ff
--vef-color-fuchsia-400#ed6aff
--vef-color-fuchsia-500#e12afb
--vef-color-fuchsia-600#c800de
--vef-color-fuchsia-700#a800b7
--vef-color-fuchsia-800#8a0194
--vef-color-fuchsia-900#721378
--vef-color-fuchsia-950#4b004f
--vef-color-pink-50#fdf2f8
--vef-color-pink-100#fce7f3
--vef-color-pink-200#fccee8
--vef-color-pink-300#fda5d5
--vef-color-pink-400#fb64b6
--vef-color-pink-500#f6339a
--vef-color-pink-600#e60076
--vef-color-pink-700#c6005c
--vef-color-pink-800#a3004c
--vef-color-pink-900#861043
--vef-color-pink-950#510424
--vef-color-rose-50#fff1f2
--vef-color-rose-100#ffe4e6
--vef-color-rose-200#ffccd3
--vef-color-rose-300#ffa1ad
--vef-color-rose-400#ff637e
--vef-color-rose-500#ff2056
--vef-color-rose-600#ec003f
--vef-color-rose-700#c70036
--vef-color-rose-800#a50036
--vef-color-rose-900#8b0836
--vef-color-rose-950#4d0218
--vef-color-slate-50#f8fafc
--vef-color-slate-100#f1f5f9
--vef-color-slate-200#e2e8f0
--vef-color-slate-300#cad5e2
--vef-color-slate-400#90a1b9
--vef-color-slate-500#62748e
--vef-color-slate-600#45556c
--vef-color-slate-700#314158
--vef-color-slate-800#1d293d
--vef-color-slate-900#0f172b
--vef-color-slate-950#020618
--vef-color-gray-50#f9fafb
--vef-color-gray-100#f3f4f6
--vef-color-gray-200#e5e7eb
--vef-color-gray-300#d1d5dc
--vef-color-gray-400#99a1af
--vef-color-gray-500#6a7282
--vef-color-gray-600#4a5565
--vef-color-gray-700#364153
--vef-color-gray-800#1e2939
--vef-color-gray-900#101828
--vef-color-gray-950#030712
--vef-color-zinc-50#fafafa
--vef-color-zinc-100#f4f4f5
--vef-color-zinc-200#e4e4e7
--vef-color-zinc-300#d4d4d8
--vef-color-zinc-400#9f9fa9
--vef-color-zinc-500#71717b
--vef-color-zinc-600#52525c
--vef-color-zinc-700#3f3f46
--vef-color-zinc-800#27272a
--vef-color-zinc-900#18181b
--vef-color-zinc-950#09090b
--vef-color-neutral-50#fafafa
--vef-color-neutral-100#f5f5f5
--vef-color-neutral-200#e5e5e5
--vef-color-neutral-300#d4d4d4
--vef-color-neutral-400#a1a1a1
--vef-color-neutral-500#737373
--vef-color-neutral-600#525252
--vef-color-neutral-700#404040
--vef-color-neutral-800#262626
--vef-color-neutral-900#171717
--vef-color-neutral-950#0a0a0a
--vef-color-stone-50#fafaf9
--vef-color-stone-100#f5f5f4
--vef-color-stone-200#e7e5e4
--vef-color-stone-300#d6d3d1
--vef-color-stone-400#a6a09b
--vef-color-stone-500#79716b
--vef-color-stone-600#57534d
--vef-color-stone-700#44403b
--vef-color-stone-800#292524
--vef-color-stone-900#1c1917
--vef-color-stone-950#0c0a09
Base aliases and direct color entry points (21 variables)

These are single-value shortcuts for common brand colors, semantic colors, and the base text/background anchors.

VariableDefault value
--vef-blue#2b7fff
--vef-purple#ad46ff
--vef-cyan#00b8db
--vef-green#00c951
--vef-magenta#e12afb
--vef-pink#f6339a
--vef-red#fb2c36
--vef-orange#ff6900
--vef-yellow#efb100
--vef-volcano#FA541C
--vef-geekblue#8e51ff
--vef-gold#fd9a00
--vef-lime#7ccf00
--vef-color-primary#106ced
--vef-color-success#00c951
--vef-color-warning#ff6900
--vef-color-error#fb2c36
--vef-color-info#00a6f4
--vef-color-link#00a6f4
--vef-color-text-base#000
--vef-color-bg-base#fff
Preset palette scales (1-10) (130 variables)

These follow the Ant Design-style preset scale naming. They are useful when a component or design system example already expects the 1-10 pattern.

VariableDefault value
--vef-blue-1#f0f8ff
--vef-blue-2#cfe8ff
--vef-blue-3#a6d2ff
--vef-blue-4#7dbaff
--vef-blue-5#549eff
--vef-blue-6#2b7fff
--vef-blue-7#1a60d9
--vef-blue-8#0c44b3
--vef-blue-9#032c8c
--vef-blue-10#011c66
--vef-purple-1#fbf0ff
--vef-purple-2#f8e8ff
--vef-purple-3#e9bfff
--vef-purple-4#d796ff
--vef-purple-5#c26eff
--vef-purple-6#ad46ff
--vef-purple-7#8730d9
--vef-purple-8#661eb3
--vef-purple-9#48118c
--vef-purple-10#310b66
--vef-cyan-1#e6ffff
--vef-cyan-2#a3fcff
--vef-cyan-3#7af6ff
--vef-cyan-4#4ee4f5
--vef-cyan-5#25cee8
--vef-cyan-6#00b8db
--vef-cyan-7#0091b5
--vef-cyan-8#006d8f
--vef-cyan-9#004d69
--vef-cyan-10#002e42
--vef-green-1#e6ffeb
--vef-green-2#a2fcba
--vef-green-3#73f098
--vef-green-4#49e37c
--vef-green-5#22d664
--vef-green-6#00c951
--vef-green-7#00a347
--vef-green-8#007d3a
--vef-green-9#00572b
--vef-green-10#00301a
--vef-magenta-1#fff0fe
--vef-magenta-2#ffcffe
--vef-magenta-3#fea6ff
--vef-magenta-4#f87dff
--vef-magenta-5#f154ff
--vef-magenta-6#e12afb
--vef-magenta-7#b819d4
--vef-magenta-8#900cad
--vef-magenta-9#6a0387
--vef-magenta-10#490161
--vef-pink-1#fff0f5
--vef-pink-2#ffd9e8
--vef-pink-3#ffb0d2
--vef-pink-4#ff87bf
--vef-pink-5#ff5eaf
--vef-pink-6#f6339a
--vef-pink-7#cf2183
--vef-pink-8#a8136c
--vef-pink-9#820855
--vef-pink-10#5c053f
--vef-red-1#fff1f0
--vef-red-2#ffd5d1
--vef-red-3#ffada8
--vef-red-4#ff8280
--vef-red-5#ff575a
--vef-red-6#fb2c36
--vef-red-7#d41c2b
--vef-red-8#ad0e20
--vef-red-9#870418
--vef-red-10#610213
--vef-orange-1#fff4e6
--vef-orange-2#ffd6a3
--vef-orange-3#ffbf7a
--vef-orange-4#ffa552
--vef-orange-5#ff8929
--vef-orange-6#ff6900
--vef-orange-7#d95300
--vef-orange-8#b33e00
--vef-orange-9#8c2c00
--vef-orange-10#661d00
--vef-yellow-1#fffce6
--vef-yellow-2#fff3a3
--vef-yellow-3#ffe97a
--vef-yellow-4#ffdc52
--vef-yellow-5#fccb28
--vef-yellow-6#efb100
--vef-yellow-7#c98d00
--vef-yellow-8#a36d00
--vef-yellow-9#7d4f00
--vef-yellow-10#573400
--vef-volcano-1#fff2e8
--vef-volcano-2#ffd8bf
--vef-volcano-3#ffbb96
--vef-volcano-4#ff9c6e
--vef-volcano-5#ff7a45
--vef-volcano-6#fa541c
--vef-volcano-7#d4380d
--vef-volcano-8#ad2102
--vef-volcano-9#871400
--vef-volcano-10#610b00
--vef-geekblue-1#f8f0ff
--vef-geekblue-2#f7f0ff
--vef-geekblue-3#e3ccff
--vef-geekblue-4#c9a3ff
--vef-geekblue-5#ad7aff
--vef-geekblue-6#8e51ff
--vef-geekblue-7#6d3bd9
--vef-geekblue-8#4f27b3
--vef-geekblue-9#35188c
--vef-geekblue-10#231066
--vef-gold-1#fff9e6
--vef-gold-2#ffe8a3
--vef-gold-3#ffd97a
--vef-gold-4#ffc852
--vef-gold-5#ffb429
--vef-gold-6#fd9a00
--vef-gold-7#d67d00
--vef-gold-8#b06100
--vef-gold-9#8a4700
--vef-gold-10#633000
--vef-lime-1#f9ffe6
--vef-lime-2#e7ffa3
--vef-lime-3#cff576
--vef-lime-4#b3e84a
--vef-lime-5#98db23
--vef-lime-6#7ccf00
--vef-lime-7#5fa800
--vef-lime-8#458200
--vef-lime-9#2e5c00
--vef-lime-10#193600
Semantic interaction and state tokens (75 variables)

These cover hover, active, border, text, and background states for primary, success, warning, error, and info styling.

VariableDefault value
--vef-color-primary-bg#e6f4ff
--vef-color-primary-bg-hover#b5deff
--vef-color-primary-border#8cc8ff
--vef-color-primary-border-hover#63afff
--vef-color-primary-hover#3990fa
--vef-color-primary-active#044fc7
--vef-color-primary-text-hover#3990fa
--vef-color-primary-text#106ced
--vef-color-primary-text-active#044fc7
--vef-color-success-bg#e6ffeb
--vef-color-success-bg-hover#a2fcba
--vef-color-success-border#73f098
--vef-color-success-border-hover#49e37c
--vef-color-success-hover#49e37c
--vef-color-success-active#00a347
--vef-color-success-text-hover#22d664
--vef-color-success-text#00c951
--vef-color-success-text-active#00a347
--vef-color-error-bg#fff1f0
--vef-color-error-bg-hover#ffd5d1
--vef-color-error-bg-filled-hover#ffcfcc
--vef-color-error-bg-active#ffada8
--vef-color-error-border#ffada8
--vef-color-error-border-hover#ff8280
--vef-color-error-hover#ff575a
--vef-color-error-active#d41c2b
--vef-color-error-text-hover#ff575a
--vef-color-error-text#fb2c36
--vef-color-error-text-active#d41c2b
--vef-color-warning-bg#fff4e6
--vef-color-warning-bg-hover#ffd6a3
--vef-color-warning-border#ffbf7a
--vef-color-warning-border-hover#ffa552
--vef-color-warning-hover#ffa552
--vef-color-warning-active#d95300
--vef-color-warning-text-hover#ff8929
--vef-color-warning-text#ff6900
--vef-color-warning-text-active#d95300
--vef-color-info-bg#e6fbff
--vef-color-info-bg-hover#a3eeff
--vef-color-info-border#7ae2ff
--vef-color-info-border-hover#52d4ff
--vef-color-info-hover#52d4ff
--vef-color-info-active#0086cf
--vef-color-info-text-hover#29c2ff
--vef-color-info-text#00a6f4
--vef-color-info-text-active#0086cf
--vef-color-link-hover#52d4ff
--vef-color-link-active#0086cf
--vef-blue-hover#549eff
--vef-blue-active#1a60d9
--vef-purple-hover#c26eff
--vef-purple-active#8730d9
--vef-cyan-hover#25cee8
--vef-cyan-active#0091b5
--vef-green-hover#22d664
--vef-green-active#00a347
--vef-magenta-hover#f154ff
--vef-magenta-active#b819d4
--vef-pink-hover#ff5eaf
--vef-pink-active#cf2183
--vef-red-hover#ff575a
--vef-red-active#d41c2b
--vef-orange-hover#ff8929
--vef-orange-active#d95300
--vef-yellow-hover#fccb28
--vef-yellow-active#c98d00
--vef-volcano-hover#ff7a45
--vef-volcano-active#d4380d
--vef-geekblue-hover#ad7aff
--vef-geekblue-active#6d3bd9
--vef-lime-hover#98db23
--vef-lime-active#5fa800
--vef-gold-hover#ffb429
--vef-gold-active#d67d00
Surface, text, fill, border, and control tokens (46 variables)

Use these for page chrome, cards, separators, neutral text, disabled states, outlines, focus rings, and control feedback.

VariableDefault value
--vef-color-bg-container#ffffff
--vef-color-bg-layout#f8fafc
--vef-color-bg-elevated#ffffff
--vef-color-border#e4e4e7
--vef-color-border-secondary#f4f4f5
--vef-color-textrgba(0, 0, 0, 0.88)
--vef-color-text-secondaryrgba(0, 0, 0, 0.65)
--vef-color-text-tertiaryrgba(0, 0, 0, 0.45)
--vef-color-text-quaternaryrgba(0, 0, 0, 0.25)
--vef-color-fillrgba(0, 0, 0, 0.15)
--vef-color-fill-secondaryrgba(0, 0, 0, 0.06)
--vef-color-fill-tertiaryrgba(0, 0, 0, 0.04)
--vef-color-fill-quaternaryrgba(0, 0, 0, 0.02)
--vef-color-bg-solidrgb(0, 0, 0)
--vef-color-bg-solid-hoverrgba(0, 0, 0, 0.75)
--vef-color-bg-solid-activergba(0, 0, 0, 0.95)
--vef-color-bg-spotlightrgba(0, 0, 0, 0.85)
--vef-color-bg-blurtransparent
--vef-color-border-disabled#d9d9d9
--vef-color-bg-maskrgba(0, 0, 0, 0.45)
--vef-color-white#fff
--vef-color-fill-contentrgba(0, 0, 0, 0.06)
--vef-color-fill-content-hoverrgba(0, 0, 0, 0.15)
--vef-color-fill-alterrgba(0, 0, 0, 0.02)
--vef-color-bg-container-disabledrgba(0, 0, 0, 0.04)
--vef-color-border-bg#ffffff
--vef-color-splitrgba(35, 35, 55, 0.05)
--vef-color-text-placeholderrgba(0, 0, 0, 0.25)
--vef-color-text-disabledrgba(0, 0, 0, 0.25)
--vef-color-text-headingrgba(0, 0, 0, 0.88)
--vef-color-text-labelrgba(0, 0, 0, 0.65)
--vef-color-text-descriptionrgba(0, 0, 0, 0.45)
--vef-color-text-light-solid#fff
--vef-color-highlight#fb2c36
--vef-color-bg-text-hoverrgba(0, 0, 0, 0.06)
--vef-color-bg-text-activergba(0, 0, 0, 0.15)
--vef-color-iconrgba(0, 0, 0, 0.45)
--vef-color-icon-hoverrgba(0, 0, 0, 0.88)
--vef-color-error-outlinergba(255, 22, 5, 0.06)
--vef-color-warning-outlinergba(255, 145, 5, 0.1)
--vef-control-item-bg-hoverrgba(0, 0, 0, 0.04)
--vef-control-item-bg-active#e6f4ff
--vef-control-item-bg-active-hover#b5deff
--vef-control-item-bg-active-disabledrgba(0, 0, 0, 0.15)
--vef-control-tmp-outlinergba(0, 0, 0, 0.02)
--vef-control-outlinergba(5, 145, 255, 0.1)
Typography tokens (24 variables)

These variables define font stacks, type scale, line heights, and strong text weight.

VariableDefault value
--vef-font-family-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'
--vef-font-family-code'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace
--vef-font-size14px
--vef-font-size-sm12px
--vef-font-size-lg16px
--vef-font-size-xl20px
--vef-font-size-heading-138px
--vef-font-size-heading-230px
--vef-font-size-heading-324px
--vef-font-size-heading-420px
--vef-font-size-heading-516px
--vef-line-height1.5714285714285714
--vef-line-height-lg1.5
--vef-line-height-sm1.6666666666666667
--vef-font-height22px
--vef-font-height-lg24px
--vef-font-height-sm20px
--vef-line-height-heading-11.2105263157894737
--vef-line-height-heading-21.2666666666666666
--vef-line-height-heading-31.3333333333333333
--vef-line-height-heading-41.4
--vef-line-height-heading-51.5
--vef-font-size-icon12px
--vef-font-weight-strong600
Size, radius, padding, and margin tokens (50 variables)

These are the structural primitives for component height, padding, spacing aliases, radii, and general layout sizing.

VariableDefault value
--vef-line-width1px
--vef-line-typesolid
--vef-border-radius8px
--vef-size-unit4px
--vef-size-step4px
--vef-size-popup-arrow16px
--vef-control-height32px
--vef-border-radius-sm6px
--vef-border-radius-xs4px
--vef-border-radius-lg12px
--vef-border-radius-outer6px
--vef-size-xxl48px
--vef-size-xl32px
--vef-size-lg24px
--vef-size-md20px
--vef-size-ms16px
--vef-size16px
--vef-size-sm12px
--vef-size-xs8px
--vef-size-xxs4px
--vef-control-height-sm24px
--vef-control-height-xs16px
--vef-control-height-lg40px
--vef-line-width-bold2px
--vef-line-width-focus3px
--vef-control-outline-width2px
--vef-control-interactive-size16px
--vef-control-padding-horizontal12px
--vef-control-padding-horizontal-sm8px
--vef-padding-xxs4px
--vef-padding-xs8px
--vef-padding-sm12px
--vef-padding16px
--vef-padding-md20px
--vef-padding-lg24px
--vef-padding-xl32px
--vef-padding-content-horizontal-lg24px
--vef-padding-content-vertical-lg16px
--vef-padding-content-horizontal16px
--vef-padding-content-vertical12px
--vef-padding-content-horizontal-sm16px
--vef-padding-content-vertical-sm8px
--vef-margin-xxs4px
--vef-margin-xs8px
--vef-margin-sm12px
--vef-margin16px
--vef-margin-md20px
--vef-margin-lg24px
--vef-margin-xl32px
--vef-margin-xxl48px
Motion, stacking, opacity, and link-decoration tokens (18 variables)

Use these when you need the framework's default easing curves, motion durations, z-index baselines, or standard opacity values.

VariableDefault value
--vef-motion-ease-out-circcubic-bezier(0.08, 0.82, 0.17, 1)
--vef-motion-ease-in-out-circcubic-bezier(0.78, 0.14, 0.15, 0.86)
--vef-motion-ease-outcubic-bezier(0.215, 0.61, 0.355, 1)
--vef-motion-ease-in-outcubic-bezier(0.645, 0.045, 0.355, 1)
--vef-motion-ease-out-backcubic-bezier(0.12, 0.4, 0.29, 1.46)
--vef-motion-ease-in-backcubic-bezier(0.71, -0.46, 0.88, 0.6)
--vef-motion-ease-in-quintcubic-bezier(0.755, 0.05, 0.855, 0.06)
--vef-motion-ease-out-quintcubic-bezier(0.23, 1, 0.32, 1)
--vef-z-index-base0
--vef-z-index-popup-base1000
--vef-opacity-image1
--vef-motion-duration-fast0.1s
--vef-motion-duration-mid0.2s
--vef-motion-duration-slow0.3s
--vef-opacity-loading0.65
--vef-link-decorationnone
--vef-link-hover-decorationnone
--vef-link-focus-decorationnone
Box-shadow aliases (13 variables)

These are higher-level shadow tokens used by overlays, drawers, cards, and overflow affordances.

VariableDefault value
--vef-box-shadow0 2px 8px 0 rgba(0, 0, 0, 0.05), 0 1px 3px -1px rgba(0, 0, 0, 0.03), 0 4px 12px 4px rgba(0, 0, 0, 0.02)
--vef-box-shadow-secondary0 0 0 1px rgba(0, 0, 0, 0.03), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.06), 0 9px 28px 8px rgba(0, 0, 0, 0.04)
--vef-box-shadow-tertiary0 1px 3px 0 rgba(0, 0, 0, 0.04), 0 2px 8px -2px rgba(0, 0, 0, 0.04), 0 4px 12px 0 rgba(0, 0, 0, 0.03)
--vef-box-shadow-popover-arrow2px 2px 5px rgba(0, 0, 0, 0.05)
--vef-box-shadow-card0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09)
--vef-box-shadow-drawer-right-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05)
--vef-box-shadow-drawer-left6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05)
--vef-box-shadow-drawer-up0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05)
--vef-box-shadow-drawer-down0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05)
--vef-box-shadow-tabs-overflow-leftinset 10px 0 8px -8px rgba(0, 0, 0, 0.08)
--vef-box-shadow-tabs-overflow-rightinset -10px 0 8px -8px rgba(0, 0, 0, 0.08)
--vef-box-shadow-tabs-overflow-topinset 0 10px 8px -8px rgba(0, 0, 0, 0.08)
--vef-box-shadow-tabs-overflow-bottominset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)