// preview in
saved for every page

Tokens

Every skin is a set of --cml-* custom properties. Change one and every component that reads it follows, in every skin.

// you'll learn

  • Where the tokens are declared, and why a :root override is not enough
  • Which groups exist, from the brand scale to per-component tokens
  • How to reach one part of one component with data-slot

Three levels

Start at the top and go further down only when you need to. Pick a level: the demo runs the code shown with it, in the skin, mode and brand of the "preview in" bar.

Invite your team

They get an email with a link that expires in 7 days.

app.tsx
<StyleProvider styleName="minimal">
  <InviteCard />
</StyleProvider>

Default — the skin exactly as it ships.

Where tokens live

base.css declares every token on :root and on every element with data-style (the <div> a StyleProvider renders). That is what makes a nested provider an island: it starts from the defaults instead of inheriting its parent's look. The defaults are the minimal skin.

A skin file only redefines tokens on [data-style="<name>"], inside the cml.style layer. The library CSS is all layered, so your unlayered CSS beats it without !important or extra specificity.

app.css
/* Every skin, every provider on the page */
[data-style] {
  --cml-radius-control: 999px;
}

/* One area: an element inside the provider */
.checkout {
  --cml-control-height: 2.75rem;
}
CAREFUL

A token set on :root or on a wrapper outside a StyleProvider does not reach its components: the provider's data-style element declares every token again. Use [data-style], or set the token on an element inside the provider.

Colors use light-dark(), so one declaration covers both modes. The browser picks the side from color-scheme, which data-mode sets (see Dark mode).

The groups

GroupWhat it holdsFor example
Brand scaleThe 11 steps made by createBrand, each with a text and a hover color. Set on :root, not per skin, so a brand set higher up reaches nested islands.--cml-brand-600, --cml-brand-600-fg
TypographyFont families and sizes for body, controls, fields and labels; weights, case and letter spacing.--cml-font-body, --cml-font-size-control
ColorSurfaces, text, borders, the accent (picked from the brand scale) and the status colors.--cml-surface, --cml-accent, --cml-danger
Shape and depthBorder width, radii, shadows, the focus ring.--cml-radius-control, --cml-shadow-surface
Form fieldsField height, padding and background; check, switch and slider sizes.--cml-field-height, --cml-switch-width
DensityControl heights and paddings, surface padding, the layout step.--cml-control-height, --cml-space
MotionDurations, easing and the distance things move.--cml-duration-fast, --cml-ease-standard
Per componentUnset by default; a skin sets only what it needs.--cml-button-outline-bg, --cml-tab-active-bg
TIP

Change the semantic token (--cml-accent, --cml-surface) rather than the brand step: each skin picks its own steps, so --cml-accent is step 600 in minimal and step 500 in neubrutalism.

Per-component tokens

Component tokens are declared as initial, so a nested island never inherits them, and every rule that reads one has a fallback. Setting one changes that part only:

app.css
/* button.css reads var(--cml-button-outline-bg, var(--cml-surface-raised)) */
[data-style] {
  --cml-button-outline-bg: transparent;
}

Each component page lists the tokens it reads under Styling hooks, grouped into color, shape, type and its own. Start there instead of guessing.

Styling hooks

When no token covers what you want, target the part. Every component renders a data-slot with its part name, and the library writes it after your props, so it can't be replaced by accident. Variants and states are attributes too:

app.css
[data-slot="button"][data-variant="outline"] {
  border-style: dashed;
}

[data-slot="switch"][data-checked] {
  --cml-accent: var(--cml-success);
}

To limit a rule to one skin or one area, wrap it in @scope: see Scoped overrides.

All tokens

Read from tokens.css when the site is built. The last column shows the value in the skin picked in the "preview in" bar; a dash means the skin keeps the default.

455 tokens
TokenDefaultIn Minimal
--cml-brand#2563eb—
--cml-brand-50#f0f5ff—
--cml-brand-50-fg#000000—
--cml-brand-50-hover#ffffff—
--cml-brand-100#dce8ff—
--cml-brand-100-fg#000000—
--cml-brand-100-hover#ffffff—
--cml-brand-200#bed5ff—
--cml-brand-200-fg#000000—
--cml-brand-200-hover#ebf2ff—
--cml-brand-300#96baff—
--cml-brand-300-fg#000000—
--cml-brand-300-hover#c3d8ff—
--cml-brand-400#699bff—
--cml-brand-400-fg#000000—
--cml-brand-400-hover#96baff—
--cml-brand-500#3f7dff—
--cml-brand-500-fg#000000—
--cml-brand-500-hover#6e9fff—
--cml-brand-600#2361e9—
--cml-brand-600-fg#ffffff—
--cml-brand-600-hover#0543ca—
--cml-brand-700#134ac4—
--cml-brand-700-fg#ffffff—
--cml-brand-700-hover#002f9e—
--cml-brand-800#08369c—
--cml-brand-800-fg#ffffff—
--cml-brand-800-hover#001f71—
--cml-brand-900#042676—
--cml-brand-900-fg#ffffff—
--cml-brand-900-hover#00124c—
--cml-brand-950#001656—
--cml-brand-950-fg#ffffff—
--cml-brand-950-hover#00062a—
--cml-font-body"Inter", system-ui, sans-serif—
--cml-font-displayvar(--cml-font-body)—
--cml-font-controlvar(--cml-font-body)—
--cml-font-fieldvar(--cml-font-body)—
--cml-font-labelvar(--cml-font-body)—
--cml-font-size0.9375rem—
--cml-font-size-control0.875rem—
--cml-font-size-control-sm0.8125rem—
--cml-font-size-control-lg0.9375rem—
--cml-font-size-field0.875rem—
--cml-font-size-label0.8125rem—
--cml-font-size-help0.8125rem—
--cml-font-weight-control500—
--cml-font-weight-label500—
--cml-font-weight-display600—
--cml-text-transform-controlnone—
--cml-text-transform-labelnone—
--cml-letter-spacing-controlnormal—
--cml-letter-spacing-labelnormal—
--cml-surfacelight-dark(#ffffff, #09090b)—
--cml-surface-raisedlight-dark(#ffffff, #18181b)—
--cml-fglight-dark(#09090b, #fafafa)—
--cml-fg-secondarylight-dark(#52525b, #d4d4d8)—
--cml-fg-mutedlight-dark(#71717a, #a1a1aa)—
--cml-borderlight-dark(#e4e4e7, #27272a)—
--cml-border-controllight-dark(#8e8e98, #71717a)—
--cml-accentlight-dark(var(--cml-brand-600), var(--cml-brand-400))—
--cml-accent-fglight-dark(var(--cml-brand-600-fg), var(--cml-brand-400-fg))—
--cml-accent-hoverlight-dark( var(--cml-brand-600-hover), var(--cml-brand-400-hover) )—
--cml-accent-textlight-dark(var(--cml-brand-700), var(--cml-brand-300))—
--cml-focus-ringvar(--cml-accent-text)—
--cml-backdroplight-dark(rgb(0 0 0 / 0.4), rgb(0 0 0 / 0.6))—
--cml-dangerlight-dark(#b42318, #f97066)—
--cml-danger-fglight-dark(#ffffff, #000000)—
--cml-successlight-dark(#15803d, #4ade80)—
--cml-warninglight-dark(#854d0e, #facc15)—
--cml-infovar(--cml-accent-text)—
--cml-tone-soft7%—
--cml-tone-line28%—
--cml-item-highlightcolor-mix(in oklab, var(--cml-fg) 6%, transparent)—
--cml-border-subtlecolor-mix(in oklab, var(--cml-border) 70%, transparent)—
--cml-item-hovervar(--cml-item-highlight)—
--cml-surface-subtlecolor-mix( in oklab, var(--cml-fg) 3%, var(--cml-surface) )—
--cml-disabled-opacity0.45—
--cml-border-width1px—
--cml-radius-control8px—
--cml-radius-control-sm7px—
--cml-radius-control-lg10px—
--cml-radius-surface12px—
--cml-radius-popover10px—
--cml-radius-check5px—
--cml-radius-pill999px—
--cml-shadow-controlnone—
--cml-shadow-control-activenone—
--cml-shadow-surface0 1px 2px rgb(0 0 0 / 0.06), 0 16px 40px -12px rgb(0 0 0 / 0.25)—
--cml-shadow-popover0 12px 32px -12px rgb(0 0 0 / 0.25), 0 2px 6px rgb(0 0 0 / 0.04)—
--cml-focus-width2px—
--cml-focus-offset2px—
--cml-field-height2.375rem—
--cml-field-padding0.75rem—
--cml-field-bgvar(--cml-surface-raised)—
--cml-field-shadow0 1px 2px rgb(0 0 0 / 0.04)—
--cml-field-border-width1px—
--cml-check-size1.125rem—
--cml-check-border-width1.5px—
--cml-switch-width2.25rem—
--cml-switch-height1.25rem—
--cml-switch-border1.5px—
--cml-switch-pad3px—
--cml-switch-knob10px—
--cml-switch-knob-on14px—
--cml-slider-track-h6px—
--cml-slider-thumb-w1.125rem—
--cml-slider-thumb-h1.125rem—
--cml-item-height2.125rem—
--cml-space0.25rem—
--cml-control-height2.25rem—
--cml-control-height-sm1.875rem—
--cml-control-height-lg2.75rem—
--cml-control-padding0.875rem—
--cml-control-padding-sm0.625rem—
--cml-control-padding-lg1.25rem—
--cml-surface-padding1.5rem—
--cml-gap0.5rem—
--cml-duration-fast180ms—
--cml-duration-base280ms—
--cml-motion-durationvar(--cml-duration-fast)—
--cml-ease-standardcubic-bezier(0.22, 1, 0.36, 1)—
--cml-motion-distance8px—
--cml-motion-scale0.98—
--cml-press-translate0px—
--cml-corner-shapeunset (uses the fallback)—
--cml-button-solid-imageunset (uses the fallback)—
--cml-button-solid-shadowunset (uses the fallback)—
--cml-button-outline-bgunset (uses the fallback)—
--cml-button-outline-borderunset (uses the fallback)—
--cml-button-outline-shadowunset (uses the fallback)—
--cml-button-ghost-fgunset (uses the fallback)—
--cml-button-ghost-decorationunset (uses the fallback)—
--cml-button-disabled-shadowunset (uses the fallback)—
--cml-toggle-pressed-bgunset (uses the fallback)—
--cml-toggle-pressed-fgunset (uses the fallback)—
--cml-toggle-pressed-shadowunset (uses the fallback)—
--cml-field-border-sidesunset (uses the fallback)—
--cml-field-focus-sidesunset (uses the fallback)—
--cml-field-focus-halounset (uses the fallback)—
--cml-field-gapunset (uses the fallback)—
--cml-radius-fieldunset (uses the fallback)—
--cml-placeholder-styleunset (uses the fallback)—
--cml-font-style-helpunset (uses the fallback)—
--cml-font-weight-errorunset (uses the fallback)—
--cml-check-shadowunset (uses the fallback)—
--cml-check-on-imageunset (uses the fallback)—
--cml-check-on-borderunset (uses the fallback)—
--cml-check-on-shadowunset (uses the fallback)—
--cml-radius-radiounset (uses the fallback)—
--cml-radio-dot-shadowunset (uses the fallback)—
--cml-switch-trackunset (uses the fallback)—
--cml-switch-onunset (uses the fallback)—
--cml-switch-on-shadowunset (uses the fallback)—
--cml-switch-knob-bgunset (uses the fallback)—
--cml-switch-knob-shadowunset (uses the fallback)—
--cml-switch-knob-on-bgunset (uses the fallback)—
--cml-switch-knob-on-shadowunset (uses the fallback)—
--cml-slider-trackunset (uses the fallback)—
--cml-slider-track-borderunset (uses the fallback)—
--cml-slider-fillunset (uses the fallback)—
--cml-slider-fill-imageunset (uses the fallback)—
--cml-slider-fill-insetunset (uses the fallback)—
--cml-slider-thumb-bgunset (uses the fallback)—
--cml-slider-thumb-borderunset (uses the fallback)—
--cml-slider-thumb-shadowunset (uses the fallback)—
--cml-number-gapunset (uses the fallback)—
--cml-number-paddingunset (uses the fallback)—
--cml-number-weightunset (uses the fallback)—
--cml-number-btn-alignunset (uses the fallback)—
--cml-number-btn-sizeunset (uses the fallback)—
--cml-number-btn-blockunset (uses the fallback)—
--cml-number-btn-bgunset (uses the fallback)—
--cml-number-btn-radiusunset (uses the fallback)—
--cml-number-btn-shadowunset (uses the fallback)—
--cml-number-dividerunset (uses the fallback)—
--cml-select-trigger-shadowunset (uses the fallback)—
--cml-popover-bgunset (uses the fallback)—
--cml-popover-borderunset (uses the fallback)—
--cml-popover-border-widthunset (uses the fallback)—
--cml-popover-paddingunset (uses the fallback)—
--cml-item-paddingunset (uses the fallback)—
--cml-item-dividerunset (uses the fallback)—
--cml-item-highlight-fgunset (uses the fallback)—
--cml-item-highlight-shadowunset (uses the fallback)—
--cml-item-checkunset (uses the fallback)—
--cml-radius-itemunset (uses the fallback)—
--cml-dialog-borderunset (uses the fallback)—
--cml-tabs-list-bgunset (uses the fallback)—
--cml-tabs-list-borderunset (uses the fallback)—
--cml-tabs-list-shadowunset (uses the fallback)—
--cml-tabs-list-paddingunset (uses the fallback)—
--cml-tabs-list-radiusunset (uses the fallback)—
--cml-tab-radiusunset (uses the fallback)—
--cml-tab-active-bgunset (uses the fallback)—
--cml-tab-active-fgunset (uses the fallback)—
--cml-tab-active-shadowunset (uses the fallback)—
--cml-spinner-easeunset (uses the fallback)—
--cml-avatar-bgunset (uses the fallback)—
--cml-avatar-fgunset (uses the fallback)—
--cml-avatar-ringunset (uses the fallback)—
--cml-card-shadowunset (uses the fallback)—
--cml-card-borderunset (uses the fallback)—
--cml-accordion-chevronunset (uses the fallback)—
--cml-accordion-plusunset (uses the fallback)—
--cml-skeletonunset (uses the fallback)—
--cml-tabs-gapunset (uses the fallback)—
--cml-button-danger-imageunset (uses the fallback)—
--cml-button-danger-shadowunset (uses the fallback)—
--cml-crumb-chevronunset (uses the fallback)—
--cml-crumb-slashunset (uses the fallback)—
--cml-menu-iconsunset (uses the fallback)—
--cml-tooltip-bgunset (uses the fallback)—
--cml-tooltip-fgunset (uses the fallback)—
--cml-scrollbar-sizeunset (uses the fallback)—
--cml-scrollbar-trackunset (uses the fallback)—
--cml-scrollbar-track-shadowunset (uses the fallback)—
--cml-scrollbar-thumbunset (uses the fallback)—
--cml-scrollbar-thumb-shadowunset (uses the fallback)—
--cml-scrollbar-idle-opacityunset (uses the fallback)—
--cml-input-addon-bgunset (uses the fallback)—
--cml-input-addon-fgunset (uses the fallback)—
--cml-input-addon-dividerunset (uses the fallback)—
--cml-input-button-on-bgunset (uses the fallback)—
--cml-otp-gapunset (uses the fallback)—
--cml-otp-cell-widthunset (uses the fallback)—
--cml-otp-cell-heightunset (uses the fallback)—
--cml-otp-cell-radiusunset (uses the fallback)—
--cml-otp-fontunset (uses the fallback)—
--cml-otp-font-sizeunset (uses the fallback)—
--cml-otp-font-weightunset (uses the fallback)—
--cml-otp-separatorunset (uses the fallback)—
--cml-tag-heightunset (uses the fallback)—
--cml-tag-bgunset (uses the fallback)—
--cml-tag-fgunset (uses the fallback)—
--cml-tag-borderunset (uses the fallback)—
--cml-tag-radiusunset (uses the fallback)—
--cml-tag-font-sizeunset (uses the fallback)—
--cml-tag-font-weightunset (uses the fallback)—
--cml-tag-text-transformunset (uses the fallback)—
--cml-tag-letter-spacingunset (uses the fallback)—
--cml-dropzone-bgunset (uses the fallback)—
--cml-dropzone-borderunset (uses the fallback)—
--cml-dropzone-radiusunset (uses the fallback)—
--cml-dropzone-shadowunset (uses the fallback)—
--cml-dropzone-active-bgunset (uses the fallback)—
--cml-dropzone-icon-bgunset (uses the fallback)—
--cml-dropzone-icon-fgunset (uses the fallback)—
--cml-dropzone-icon-borderunset (uses the fallback)—
--cml-dropzone-icon-shadowunset (uses the fallback)—
--cml-file-item-bgunset (uses the fallback)—
--cml-file-item-borderunset (uses the fallback)—
--cml-file-item-radiusunset (uses the fallback)—
--cml-file-item-shadowunset (uses the fallback)—
--cml-file-icon-bgunset (uses the fallback)—
--cml-file-icon-fgunset (uses the fallback)—
--cml-file-icon-radiusunset (uses the fallback)—
--cml-star-sizeunset (uses the fallback)—
--cml-star-colorunset (uses the fallback)—
--cml-star-emptyunset (uses the fallback)—
--cml-star-fillunset (uses the fallback)—
--cml-star-on-bgunset (uses the fallback)—
--cml-chip-heightunset (uses the fallback)—
--cml-chip-radiusunset (uses the fallback)—
--cml-chip-bgunset (uses the fallback)—
--cml-chip-fgunset (uses the fallback)—
--cml-chip-borderunset (uses the fallback)—
--cml-chip-shadowunset (uses the fallback)—
--cml-chip-font-sizeunset (uses the fallback)—
--cml-chip-text-transformunset (uses the fallback)—
--cml-chip-letter-spacingunset (uses the fallback)—
--cml-chip-on-bgunset (uses the fallback)—
--cml-chip-on-fgunset (uses the fallback)—
--cml-chip-on-borderunset (uses the fallback)—
--cml-chip-on-shadowunset (uses the fallback)—
--cml-chip-on-translateunset (uses the fallback)—
--cml-calendar-widthunset (uses the fallback)—
--cml-calendar-paddingunset (uses the fallback)—
--cml-calendar-bgunset (uses the fallback)—
--cml-calendar-borderunset (uses the fallback)—
--cml-calendar-radiusunset (uses the fallback)—
--cml-calendar-shadowunset (uses the fallback)—
--cml-calendar-title-fontunset (uses the fallback)—
--cml-calendar-title-sizeunset (uses the fallback)—
--cml-calendar-title-weightunset (uses the fallback)—
--cml-calendar-title-transformunset (uses the fallback)—
--cml-calendar-title-trackingunset (uses the fallback)—
--cml-calendar-nav-sizeunset (uses the fallback)—
--cml-calendar-nav-radiusunset (uses the fallback)—
--cml-calendar-nav-bgunset (uses the fallback)—
--cml-calendar-nav-borderunset (uses the fallback)—
--cml-calendar-nav-shadowunset (uses the fallback)—
--cml-calendar-header-fgunset (uses the fallback)—
--cml-calendar-header-sizeunset (uses the fallback)—
--cml-calendar-header-weightunset (uses the fallback)—
--cml-calendar-header-transformunset (uses the fallback)—
--cml-calendar-header-trackingunset (uses the fallback)—
--cml-calendar-cell-sizeunset (uses the fallback)—
--cml-calendar-cell-radiusunset (uses the fallback)—
--cml-calendar-cell-fontunset (uses the fallback)—
--cml-calendar-cell-size-fontunset (uses the fallback)—
--cml-calendar-cell-weightunset (uses the fallback)—
--cml-calendar-today-borderunset (uses the fallback)—
--cml-calendar-today-fgunset (uses the fallback)—
--cml-calendar-today-bgunset (uses the fallback)—
--cml-calendar-selected-bgunset (uses the fallback)—
--cml-calendar-selected-fgunset (uses the fallback)—
--cml-calendar-selected-borderunset (uses the fallback)—
--cml-calendar-selected-shadowunset (uses the fallback)—
--cml-calendar-range-bgunset (uses the fallback)—
--cml-calendar-range-fgunset (uses the fallback)—
--cml-calendar-range-borderunset (uses the fallback)—
--cml-segment-radiusunset (uses the fallback)—
--cml-segment-focus-bgunset (uses the fallback)—
--cml-segment-focus-fgunset (uses the fallback)—
--cml-segment-focus-borderunset (uses the fallback)—
--cml-segment-focus-shadowunset (uses the fallback)—
--cml-stat-paddingunset (uses the fallback)—
--cml-stat-bgunset (uses the fallback)—
--cml-stat-borderunset (uses the fallback)—
--cml-stat-radiusunset (uses the fallback)—
--cml-stat-shadowunset (uses the fallback)—
--cml-stat-label-sizeunset (uses the fallback)—
--cml-stat-label-weightunset (uses the fallback)—
--cml-stat-label-transformunset (uses the fallback)—
--cml-stat-label-trackingunset (uses the fallback)—
--cml-stat-value-fontunset (uses the fallback)—
--cml-stat-value-sizeunset (uses the fallback)—
--cml-stat-value-weightunset (uses the fallback)—
--cml-table-head-bgunset (uses the fallback)—
--cml-table-head-fgunset (uses the fallback)—
--cml-table-head-transformunset (uses the fallback)—
--cml-table-head-trackingunset (uses the fallback)—
--cml-table-row-selected-bgunset (uses the fallback)—
--cml-table-row-selected-fgunset (uses the fallback)—
--cml-table-footer-bgunset (uses the fallback)—
--cml-data-list-term-bgunset (uses the fallback)—
--cml-data-list-term-fgunset (uses the fallback)—
--cml-data-list-term-transformunset (uses the fallback)—
--cml-data-list-term-trackingunset (uses the fallback)—
--cml-ring-trackunset (uses the fallback)—
--cml-ring-linecapunset (uses the fallback)—
--cml-meter-heightunset (uses the fallback)—
--cml-meter-radiusunset (uses the fallback)—
--cml-meter-bgunset (uses the fallback)—
--cml-meter-borderunset (uses the fallback)—
--cml-timeline-dot-radiusunset (uses the fallback)—
--cml-timeline-lineunset (uses the fallback)—
--cml-tree-row-radiusunset (uses the fallback)—
--cml-tree-selected-bgunset (uses the fallback)—
--cml-tree-selected-fgunset (uses the fallback)—
--cml-tree-selected-borderunset (uses the fallback)—
--cml-tree-selected-shadowunset (uses the fallback)—
--cml-code-bgunset (uses the fallback)—
--cml-code-fgunset (uses the fallback)—
--cml-code-header-bgunset (uses the fallback)—
--cml-code-header-fgunset (uses the fallback)—
--cml-code-header-borderunset (uses the fallback)—
--cml-code-borderunset (uses the fallback)—
--cml-code-radiusunset (uses the fallback)—
--cml-code-shadowunset (uses the fallback)—
--cml-carousel-slide-bgunset (uses the fallback)—
--cml-carousel-slide-borderunset (uses the fallback)—
--cml-carousel-slide-radiusunset (uses the fallback)—
--cml-carousel-dot-radiusunset (uses the fallback)—
--cml-app-shell-bgunset (uses the fallback)—
--cml-app-shell-header-bgunset (uses the fallback)—
--cml-app-shell-header-borderunset (uses the fallback)—
--cml-app-shell-header-heightunset (uses the fallback)—
--cml-app-shell-footer-bgunset (uses the fallback)—
--cml-app-shell-footer-borderunset (uses the fallback)—
--cml-sidebar-bgunset (uses the fallback)—
--cml-sidebar-borderunset (uses the fallback)—
--cml-sidebar-widthunset (uses the fallback)—
--cml-sidebar-rail-widthunset (uses the fallback)—
--cml-sidebar-brand-borderunset (uses the fallback)—
--cml-sidebar-footer-borderunset (uses the fallback)—
--cml-sidebar-item-fgunset (uses the fallback)—
--cml-sidebar-item-heightunset (uses the fallback)—
--cml-sidebar-item-radiusunset (uses the fallback)—
--cml-sidebar-item-hover-bgunset (uses the fallback)—
--cml-sidebar-item-hover-fgunset (uses the fallback)—
--cml-sidebar-item-active-bgunset (uses the fallback)—
--cml-sidebar-item-active-fgunset (uses the fallback)—
--cml-sidebar-indicator-bgunset (uses the fallback)—
--cml-sidebar-indicator-widthunset (uses the fallback)—
--cml-sidebar-group-label-sizeunset (uses the fallback)—
--cml-sidebar-group-label-weightunset (uses the fallback)—
--cml-sidebar-group-label-transformunset (uses the fallback)—
--cml-sidebar-group-label-trackingunset (uses the fallback)—
--cml-nav-popup-bgunset (uses the fallback)—
--cml-nav-popup-borderunset (uses the fallback)—
--cml-nav-popup-radiusunset (uses the fallback)—
--cml-nav-item-heightunset (uses the fallback)—
--cml-nav-item-radiusunset (uses the fallback)—
--cml-nav-trigger-open-bgunset (uses the fallback)—
--cml-menubar-bgunset (uses the fallback)—
--cml-menubar-borderunset (uses the fallback)—
--cml-menubar-radiusunset (uses the fallback)—
--cml-menubar-heightunset (uses the fallback)—
--cml-menubar-shadowunset (uses the fallback)—
--cml-menubar-active-bgunset (uses the fallback)—
--cml-menubar-active-fgunset (uses the fallback)—
--cml-menubar-trigger-radiusunset (uses the fallback)—
--cml-menubar-popup-widthunset (uses the fallback)—
--cml-context-menu-widthunset (uses the fallback)—
--cml-toolbar-bgunset (uses the fallback)—
--cml-toolbar-borderunset (uses the fallback)—
--cml-toolbar-radiusunset (uses the fallback)—
--cml-toolbar-shadowunset (uses the fallback)—
--cml-toolbar-btn-radiusunset (uses the fallback)—
--cml-toolbar-btn-sizeunset (uses the fallback)—
--cml-toolbar-toggle-active-bgunset (uses the fallback)—
--cml-toolbar-toggle-active-fgunset (uses the fallback)—
--cml-toolbar-toggle-active-borderunset (uses the fallback)—
--cml-stepper-lineunset (uses the fallback)—
--cml-stepper-completed-lineunset (uses the fallback)—
--cml-stepper-completed-bgunset (uses the fallback)—
--cml-stepper-completed-fgunset (uses the fallback)—
--cml-stepper-completed-borderunset (uses the fallback)—
--cml-stepper-current-bgunset (uses the fallback)—
--cml-stepper-current-fgunset (uses the fallback)—
--cml-stepper-current-borderunset (uses the fallback)—
--cml-stepper-error-bgunset (uses the fallback)—
--cml-stepper-error-fgunset (uses the fallback)—
--cml-stepper-error-borderunset (uses the fallback)—
--cml-step-indicator-sizeunset (uses the fallback)—
--cml-step-indicator-radiusunset (uses the fallback)—
--cml-step-indicator-bgunset (uses the fallback)—
--cml-step-indicator-fgunset (uses the fallback)—
--cml-step-indicator-borderunset (uses the fallback)—
--cml-cmd-bgunset (uses the fallback)—
--cml-cmd-borderunset (uses the fallback)—
--cml-cmd-radiusunset (uses the fallback)—
--cml-cmd-header-borderunset (uses the fallback)—
--cml-cmd-footer-borderunset (uses the fallback)—
--cml-cmd-active-bgunset (uses the fallback)—
--cml-cmd-active-fgunset (uses the fallback)—
--cml-hover-card-bgunset (uses the fallback)—
--cml-hover-card-borderunset (uses the fallback)—
--cml-hover-card-radiusunset (uses the fallback)—
--cml-hover-card-widthunset (uses the fallback)—
--cml-toggletip-bgunset (uses the fallback)—
--cml-toggletip-borderunset (uses the fallback)—
--cml-toggletip-radiusunset (uses the fallback)—
--cml-toggletip-widthunset (uses the fallback)—
--cml-toggletip-trigger-borderunset (uses the fallback)—
--cml-splitter-borderunset (uses the fallback)—
--cml-splitter-handle-bgunset (uses the fallback)—
--cml-splitter-handle-sizeunset (uses the fallback)—
--cml-splitter-radiusunset (uses the fallback)—
--cml-splitter-active-bgunset (uses the fallback)—
--cml-splitter-gripunset (uses the fallback)—
--cml-splitter-grip-thicknessunset (uses the fallback)—
--cml-splitter-grip-lengthunset (uses the fallback)—

Before you ship it

  • Override with [data-style] or an element inside the provider, not :root
  • Change semantic tokens (--cml-accent), not brand steps
  • Keep your overrides unlayered, so they beat the library without !important
  • Check text contrast (4.5:1) in light and dark after any color change
Was this page helpful? · Edit this page on GitHub