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
:rootoverride 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.
<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.
/* 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;
}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
| Group | What it holds | For example |
|---|---|---|
| Brand scale | The 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 |
| Typography | Font families and sizes for body, controls, fields and labels; weights, case and letter spacing. | --cml-font-body, --cml-font-size-control |
| Color | Surfaces, text, borders, the accent (picked from the brand scale) and the status colors. | --cml-surface, --cml-accent, --cml-danger |
| Shape and depth | Border width, radii, shadows, the focus ring. | --cml-radius-control, --cml-shadow-surface |
| Form fields | Field height, padding and background; check, switch and slider sizes. | --cml-field-height, --cml-switch-width |
| Density | Control heights and paddings, surface padding, the layout step. | --cml-control-height, --cml-space |
| Motion | Durations, easing and the distance things move. | --cml-duration-fast, --cml-ease-standard |
| Per component | Unset by default; a skin sets only what it needs. | --cml-button-outline-bg, --cml-tab-active-bg |
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:
/* 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:
[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.
| Token | Default | In 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-display | var(--cml-font-body) | — |
--cml-font-control | var(--cml-font-body) | — |
--cml-font-field | var(--cml-font-body) | — |
--cml-font-label | var(--cml-font-body) | — |
--cml-font-size | 0.9375rem | — |
--cml-font-size-control | 0.875rem | — |
--cml-font-size-control-sm | 0.8125rem | — |
--cml-font-size-control-lg | 0.9375rem | — |
--cml-font-size-field | 0.875rem | — |
--cml-font-size-label | 0.8125rem | — |
--cml-font-size-help | 0.8125rem | — |
--cml-font-weight-control | 500 | — |
--cml-font-weight-label | 500 | — |
--cml-font-weight-display | 600 | — |
--cml-text-transform-control | none | — |
--cml-text-transform-label | none | — |
--cml-letter-spacing-control | normal | — |
--cml-letter-spacing-label | normal | — |
--cml-surface | light-dark(#ffffff, #09090b) | — |
--cml-surface-raised | light-dark(#ffffff, #18181b) | — |
--cml-fg | light-dark(#09090b, #fafafa) | — |
--cml-fg-secondary | light-dark(#52525b, #d4d4d8) | — |
--cml-fg-muted | light-dark(#71717a, #a1a1aa) | — |
--cml-border | light-dark(#e4e4e7, #27272a) | — |
--cml-border-control | light-dark(#8e8e98, #71717a) | — |
--cml-accent | light-dark(var(--cml-brand-600), var(--cml-brand-400)) | — |
--cml-accent-fg | light-dark(var(--cml-brand-600-fg), var(--cml-brand-400-fg)) | — |
--cml-accent-hover | light-dark( var(--cml-brand-600-hover), var(--cml-brand-400-hover) ) | — |
--cml-accent-text | light-dark(var(--cml-brand-700), var(--cml-brand-300)) | — |
--cml-focus-ring | var(--cml-accent-text) | — |
--cml-backdrop | light-dark(rgb(0 0 0 / 0.4), rgb(0 0 0 / 0.6)) | — |
--cml-danger | light-dark(#b42318, #f97066) | — |
--cml-danger-fg | light-dark(#ffffff, #000000) | — |
--cml-success | light-dark(#15803d, #4ade80) | — |
--cml-warning | light-dark(#854d0e, #facc15) | — |
--cml-info | var(--cml-accent-text) | — |
--cml-tone-soft | 7% | — |
--cml-tone-line | 28% | — |
--cml-item-highlight | color-mix(in oklab, var(--cml-fg) 6%, transparent) | — |
--cml-border-subtle | color-mix(in oklab, var(--cml-border) 70%, transparent) | — |
--cml-item-hover | var(--cml-item-highlight) | — |
--cml-surface-subtle | color-mix( in oklab, var(--cml-fg) 3%, var(--cml-surface) ) | — |
--cml-disabled-opacity | 0.45 | — |
--cml-border-width | 1px | — |
--cml-radius-control | 8px | — |
--cml-radius-control-sm | 7px | — |
--cml-radius-control-lg | 10px | — |
--cml-radius-surface | 12px | — |
--cml-radius-popover | 10px | — |
--cml-radius-check | 5px | — |
--cml-radius-pill | 999px | — |
--cml-shadow-control | none | — |
--cml-shadow-control-active | none | — |
--cml-shadow-surface | 0 1px 2px rgb(0 0 0 / 0.06), 0 16px 40px -12px rgb(0 0 0 / 0.25) | — |
--cml-shadow-popover | 0 12px 32px -12px rgb(0 0 0 / 0.25), 0 2px 6px rgb(0 0 0 / 0.04) | — |
--cml-focus-width | 2px | — |
--cml-focus-offset | 2px | — |
--cml-field-height | 2.375rem | — |
--cml-field-padding | 0.75rem | — |
--cml-field-bg | var(--cml-surface-raised) | — |
--cml-field-shadow | 0 1px 2px rgb(0 0 0 / 0.04) | — |
--cml-field-border-width | 1px | — |
--cml-check-size | 1.125rem | — |
--cml-check-border-width | 1.5px | — |
--cml-switch-width | 2.25rem | — |
--cml-switch-height | 1.25rem | — |
--cml-switch-border | 1.5px | — |
--cml-switch-pad | 3px | — |
--cml-switch-knob | 10px | — |
--cml-switch-knob-on | 14px | — |
--cml-slider-track-h | 6px | — |
--cml-slider-thumb-w | 1.125rem | — |
--cml-slider-thumb-h | 1.125rem | — |
--cml-item-height | 2.125rem | — |
--cml-space | 0.25rem | — |
--cml-control-height | 2.25rem | — |
--cml-control-height-sm | 1.875rem | — |
--cml-control-height-lg | 2.75rem | — |
--cml-control-padding | 0.875rem | — |
--cml-control-padding-sm | 0.625rem | — |
--cml-control-padding-lg | 1.25rem | — |
--cml-surface-padding | 1.5rem | — |
--cml-gap | 0.5rem | — |
--cml-duration-fast | 180ms | — |
--cml-duration-base | 280ms | — |
--cml-motion-duration | var(--cml-duration-fast) | — |
--cml-ease-standard | cubic-bezier(0.22, 1, 0.36, 1) | — |
--cml-motion-distance | 8px | — |
--cml-motion-scale | 0.98 | — |
--cml-press-translate | 0px | — |
--cml-corner-shape | unset (uses the fallback) | — |
--cml-button-solid-image | unset (uses the fallback) | — |
--cml-button-solid-shadow | unset (uses the fallback) | — |
--cml-button-outline-bg | unset (uses the fallback) | — |
--cml-button-outline-border | unset (uses the fallback) | — |
--cml-button-outline-shadow | unset (uses the fallback) | — |
--cml-button-ghost-fg | unset (uses the fallback) | — |
--cml-button-ghost-decoration | unset (uses the fallback) | — |
--cml-button-disabled-shadow | unset (uses the fallback) | — |
--cml-toggle-pressed-bg | unset (uses the fallback) | — |
--cml-toggle-pressed-fg | unset (uses the fallback) | — |
--cml-toggle-pressed-shadow | unset (uses the fallback) | — |
--cml-field-border-sides | unset (uses the fallback) | — |
--cml-field-focus-sides | unset (uses the fallback) | — |
--cml-field-focus-halo | unset (uses the fallback) | — |
--cml-field-gap | unset (uses the fallback) | — |
--cml-radius-field | unset (uses the fallback) | — |
--cml-placeholder-style | unset (uses the fallback) | — |
--cml-font-style-help | unset (uses the fallback) | — |
--cml-font-weight-error | unset (uses the fallback) | — |
--cml-check-shadow | unset (uses the fallback) | — |
--cml-check-on-image | unset (uses the fallback) | — |
--cml-check-on-border | unset (uses the fallback) | — |
--cml-check-on-shadow | unset (uses the fallback) | — |
--cml-radius-radio | unset (uses the fallback) | — |
--cml-radio-dot-shadow | unset (uses the fallback) | — |
--cml-switch-track | unset (uses the fallback) | — |
--cml-switch-on | unset (uses the fallback) | — |
--cml-switch-on-shadow | unset (uses the fallback) | — |
--cml-switch-knob-bg | unset (uses the fallback) | — |
--cml-switch-knob-shadow | unset (uses the fallback) | — |
--cml-switch-knob-on-bg | unset (uses the fallback) | — |
--cml-switch-knob-on-shadow | unset (uses the fallback) | — |
--cml-slider-track | unset (uses the fallback) | — |
--cml-slider-track-border | unset (uses the fallback) | — |
--cml-slider-fill | unset (uses the fallback) | — |
--cml-slider-fill-image | unset (uses the fallback) | — |
--cml-slider-fill-inset | unset (uses the fallback) | — |
--cml-slider-thumb-bg | unset (uses the fallback) | — |
--cml-slider-thumb-border | unset (uses the fallback) | — |
--cml-slider-thumb-shadow | unset (uses the fallback) | — |
--cml-number-gap | unset (uses the fallback) | — |
--cml-number-padding | unset (uses the fallback) | — |
--cml-number-weight | unset (uses the fallback) | — |
--cml-number-btn-align | unset (uses the fallback) | — |
--cml-number-btn-size | unset (uses the fallback) | — |
--cml-number-btn-block | unset (uses the fallback) | — |
--cml-number-btn-bg | unset (uses the fallback) | — |
--cml-number-btn-radius | unset (uses the fallback) | — |
--cml-number-btn-shadow | unset (uses the fallback) | — |
--cml-number-divider | unset (uses the fallback) | — |
--cml-select-trigger-shadow | unset (uses the fallback) | — |
--cml-popover-bg | unset (uses the fallback) | — |
--cml-popover-border | unset (uses the fallback) | — |
--cml-popover-border-width | unset (uses the fallback) | — |
--cml-popover-padding | unset (uses the fallback) | — |
--cml-item-padding | unset (uses the fallback) | — |
--cml-item-divider | unset (uses the fallback) | — |
--cml-item-highlight-fg | unset (uses the fallback) | — |
--cml-item-highlight-shadow | unset (uses the fallback) | — |
--cml-item-check | unset (uses the fallback) | — |
--cml-radius-item | unset (uses the fallback) | — |
--cml-dialog-border | unset (uses the fallback) | — |
--cml-tabs-list-bg | unset (uses the fallback) | — |
--cml-tabs-list-border | unset (uses the fallback) | — |
--cml-tabs-list-shadow | unset (uses the fallback) | — |
--cml-tabs-list-padding | unset (uses the fallback) | — |
--cml-tabs-list-radius | unset (uses the fallback) | — |
--cml-tab-radius | unset (uses the fallback) | — |
--cml-tab-active-bg | unset (uses the fallback) | — |
--cml-tab-active-fg | unset (uses the fallback) | — |
--cml-tab-active-shadow | unset (uses the fallback) | — |
--cml-spinner-ease | unset (uses the fallback) | — |
--cml-avatar-bg | unset (uses the fallback) | — |
--cml-avatar-fg | unset (uses the fallback) | — |
--cml-avatar-ring | unset (uses the fallback) | — |
--cml-card-shadow | unset (uses the fallback) | — |
--cml-card-border | unset (uses the fallback) | — |
--cml-accordion-chevron | unset (uses the fallback) | — |
--cml-accordion-plus | unset (uses the fallback) | — |
--cml-skeleton | unset (uses the fallback) | — |
--cml-tabs-gap | unset (uses the fallback) | — |
--cml-button-danger-image | unset (uses the fallback) | — |
--cml-button-danger-shadow | unset (uses the fallback) | — |
--cml-crumb-chevron | unset (uses the fallback) | — |
--cml-crumb-slash | unset (uses the fallback) | — |
--cml-menu-icons | unset (uses the fallback) | — |
--cml-tooltip-bg | unset (uses the fallback) | — |
--cml-tooltip-fg | unset (uses the fallback) | — |
--cml-scrollbar-size | unset (uses the fallback) | — |
--cml-scrollbar-track | unset (uses the fallback) | — |
--cml-scrollbar-track-shadow | unset (uses the fallback) | — |
--cml-scrollbar-thumb | unset (uses the fallback) | — |
--cml-scrollbar-thumb-shadow | unset (uses the fallback) | — |
--cml-scrollbar-idle-opacity | unset (uses the fallback) | — |
--cml-input-addon-bg | unset (uses the fallback) | — |
--cml-input-addon-fg | unset (uses the fallback) | — |
--cml-input-addon-divider | unset (uses the fallback) | — |
--cml-input-button-on-bg | unset (uses the fallback) | — |
--cml-otp-gap | unset (uses the fallback) | — |
--cml-otp-cell-width | unset (uses the fallback) | — |
--cml-otp-cell-height | unset (uses the fallback) | — |
--cml-otp-cell-radius | unset (uses the fallback) | — |
--cml-otp-font | unset (uses the fallback) | — |
--cml-otp-font-size | unset (uses the fallback) | — |
--cml-otp-font-weight | unset (uses the fallback) | — |
--cml-otp-separator | unset (uses the fallback) | — |
--cml-tag-height | unset (uses the fallback) | — |
--cml-tag-bg | unset (uses the fallback) | — |
--cml-tag-fg | unset (uses the fallback) | — |
--cml-tag-border | unset (uses the fallback) | — |
--cml-tag-radius | unset (uses the fallback) | — |
--cml-tag-font-size | unset (uses the fallback) | — |
--cml-tag-font-weight | unset (uses the fallback) | — |
--cml-tag-text-transform | unset (uses the fallback) | — |
--cml-tag-letter-spacing | unset (uses the fallback) | — |
--cml-dropzone-bg | unset (uses the fallback) | — |
--cml-dropzone-border | unset (uses the fallback) | — |
--cml-dropzone-radius | unset (uses the fallback) | — |
--cml-dropzone-shadow | unset (uses the fallback) | — |
--cml-dropzone-active-bg | unset (uses the fallback) | — |
--cml-dropzone-icon-bg | unset (uses the fallback) | — |
--cml-dropzone-icon-fg | unset (uses the fallback) | — |
--cml-dropzone-icon-border | unset (uses the fallback) | — |
--cml-dropzone-icon-shadow | unset (uses the fallback) | — |
--cml-file-item-bg | unset (uses the fallback) | — |
--cml-file-item-border | unset (uses the fallback) | — |
--cml-file-item-radius | unset (uses the fallback) | — |
--cml-file-item-shadow | unset (uses the fallback) | — |
--cml-file-icon-bg | unset (uses the fallback) | — |
--cml-file-icon-fg | unset (uses the fallback) | — |
--cml-file-icon-radius | unset (uses the fallback) | — |
--cml-star-size | unset (uses the fallback) | — |
--cml-star-color | unset (uses the fallback) | — |
--cml-star-empty | unset (uses the fallback) | — |
--cml-star-fill | unset (uses the fallback) | — |
--cml-star-on-bg | unset (uses the fallback) | — |
--cml-chip-height | unset (uses the fallback) | — |
--cml-chip-radius | unset (uses the fallback) | — |
--cml-chip-bg | unset (uses the fallback) | — |
--cml-chip-fg | unset (uses the fallback) | — |
--cml-chip-border | unset (uses the fallback) | — |
--cml-chip-shadow | unset (uses the fallback) | — |
--cml-chip-font-size | unset (uses the fallback) | — |
--cml-chip-text-transform | unset (uses the fallback) | — |
--cml-chip-letter-spacing | unset (uses the fallback) | — |
--cml-chip-on-bg | unset (uses the fallback) | — |
--cml-chip-on-fg | unset (uses the fallback) | — |
--cml-chip-on-border | unset (uses the fallback) | — |
--cml-chip-on-shadow | unset (uses the fallback) | — |
--cml-chip-on-translate | unset (uses the fallback) | — |
--cml-calendar-width | unset (uses the fallback) | — |
--cml-calendar-padding | unset (uses the fallback) | — |
--cml-calendar-bg | unset (uses the fallback) | — |
--cml-calendar-border | unset (uses the fallback) | — |
--cml-calendar-radius | unset (uses the fallback) | — |
--cml-calendar-shadow | unset (uses the fallback) | — |
--cml-calendar-title-font | unset (uses the fallback) | — |
--cml-calendar-title-size | unset (uses the fallback) | — |
--cml-calendar-title-weight | unset (uses the fallback) | — |
--cml-calendar-title-transform | unset (uses the fallback) | — |
--cml-calendar-title-tracking | unset (uses the fallback) | — |
--cml-calendar-nav-size | unset (uses the fallback) | — |
--cml-calendar-nav-radius | unset (uses the fallback) | — |
--cml-calendar-nav-bg | unset (uses the fallback) | — |
--cml-calendar-nav-border | unset (uses the fallback) | — |
--cml-calendar-nav-shadow | unset (uses the fallback) | — |
--cml-calendar-header-fg | unset (uses the fallback) | — |
--cml-calendar-header-size | unset (uses the fallback) | — |
--cml-calendar-header-weight | unset (uses the fallback) | — |
--cml-calendar-header-transform | unset (uses the fallback) | — |
--cml-calendar-header-tracking | unset (uses the fallback) | — |
--cml-calendar-cell-size | unset (uses the fallback) | — |
--cml-calendar-cell-radius | unset (uses the fallback) | — |
--cml-calendar-cell-font | unset (uses the fallback) | — |
--cml-calendar-cell-size-font | unset (uses the fallback) | — |
--cml-calendar-cell-weight | unset (uses the fallback) | — |
--cml-calendar-today-border | unset (uses the fallback) | — |
--cml-calendar-today-fg | unset (uses the fallback) | — |
--cml-calendar-today-bg | unset (uses the fallback) | — |
--cml-calendar-selected-bg | unset (uses the fallback) | — |
--cml-calendar-selected-fg | unset (uses the fallback) | — |
--cml-calendar-selected-border | unset (uses the fallback) | — |
--cml-calendar-selected-shadow | unset (uses the fallback) | — |
--cml-calendar-range-bg | unset (uses the fallback) | — |
--cml-calendar-range-fg | unset (uses the fallback) | — |
--cml-calendar-range-border | unset (uses the fallback) | — |
--cml-segment-radius | unset (uses the fallback) | — |
--cml-segment-focus-bg | unset (uses the fallback) | — |
--cml-segment-focus-fg | unset (uses the fallback) | — |
--cml-segment-focus-border | unset (uses the fallback) | — |
--cml-segment-focus-shadow | unset (uses the fallback) | — |
--cml-stat-padding | unset (uses the fallback) | — |
--cml-stat-bg | unset (uses the fallback) | — |
--cml-stat-border | unset (uses the fallback) | — |
--cml-stat-radius | unset (uses the fallback) | — |
--cml-stat-shadow | unset (uses the fallback) | — |
--cml-stat-label-size | unset (uses the fallback) | — |
--cml-stat-label-weight | unset (uses the fallback) | — |
--cml-stat-label-transform | unset (uses the fallback) | — |
--cml-stat-label-tracking | unset (uses the fallback) | — |
--cml-stat-value-font | unset (uses the fallback) | — |
--cml-stat-value-size | unset (uses the fallback) | — |
--cml-stat-value-weight | unset (uses the fallback) | — |
--cml-table-head-bg | unset (uses the fallback) | — |
--cml-table-head-fg | unset (uses the fallback) | — |
--cml-table-head-transform | unset (uses the fallback) | — |
--cml-table-head-tracking | unset (uses the fallback) | — |
--cml-table-row-selected-bg | unset (uses the fallback) | — |
--cml-table-row-selected-fg | unset (uses the fallback) | — |
--cml-table-footer-bg | unset (uses the fallback) | — |
--cml-data-list-term-bg | unset (uses the fallback) | — |
--cml-data-list-term-fg | unset (uses the fallback) | — |
--cml-data-list-term-transform | unset (uses the fallback) | — |
--cml-data-list-term-tracking | unset (uses the fallback) | — |
--cml-ring-track | unset (uses the fallback) | — |
--cml-ring-linecap | unset (uses the fallback) | — |
--cml-meter-height | unset (uses the fallback) | — |
--cml-meter-radius | unset (uses the fallback) | — |
--cml-meter-bg | unset (uses the fallback) | — |
--cml-meter-border | unset (uses the fallback) | — |
--cml-timeline-dot-radius | unset (uses the fallback) | — |
--cml-timeline-line | unset (uses the fallback) | — |
--cml-tree-row-radius | unset (uses the fallback) | — |
--cml-tree-selected-bg | unset (uses the fallback) | — |
--cml-tree-selected-fg | unset (uses the fallback) | — |
--cml-tree-selected-border | unset (uses the fallback) | — |
--cml-tree-selected-shadow | unset (uses the fallback) | — |
--cml-code-bg | unset (uses the fallback) | — |
--cml-code-fg | unset (uses the fallback) | — |
--cml-code-header-bg | unset (uses the fallback) | — |
--cml-code-header-fg | unset (uses the fallback) | — |
--cml-code-header-border | unset (uses the fallback) | — |
--cml-code-border | unset (uses the fallback) | — |
--cml-code-radius | unset (uses the fallback) | — |
--cml-code-shadow | unset (uses the fallback) | — |
--cml-carousel-slide-bg | unset (uses the fallback) | — |
--cml-carousel-slide-border | unset (uses the fallback) | — |
--cml-carousel-slide-radius | unset (uses the fallback) | — |
--cml-carousel-dot-radius | unset (uses the fallback) | — |
--cml-app-shell-bg | unset (uses the fallback) | — |
--cml-app-shell-header-bg | unset (uses the fallback) | — |
--cml-app-shell-header-border | unset (uses the fallback) | — |
--cml-app-shell-header-height | unset (uses the fallback) | — |
--cml-app-shell-footer-bg | unset (uses the fallback) | — |
--cml-app-shell-footer-border | unset (uses the fallback) | — |
--cml-sidebar-bg | unset (uses the fallback) | — |
--cml-sidebar-border | unset (uses the fallback) | — |
--cml-sidebar-width | unset (uses the fallback) | — |
--cml-sidebar-rail-width | unset (uses the fallback) | — |
--cml-sidebar-brand-border | unset (uses the fallback) | — |
--cml-sidebar-footer-border | unset (uses the fallback) | — |
--cml-sidebar-item-fg | unset (uses the fallback) | — |
--cml-sidebar-item-height | unset (uses the fallback) | — |
--cml-sidebar-item-radius | unset (uses the fallback) | — |
--cml-sidebar-item-hover-bg | unset (uses the fallback) | — |
--cml-sidebar-item-hover-fg | unset (uses the fallback) | — |
--cml-sidebar-item-active-bg | unset (uses the fallback) | — |
--cml-sidebar-item-active-fg | unset (uses the fallback) | — |
--cml-sidebar-indicator-bg | unset (uses the fallback) | — |
--cml-sidebar-indicator-width | unset (uses the fallback) | — |
--cml-sidebar-group-label-size | unset (uses the fallback) | — |
--cml-sidebar-group-label-weight | unset (uses the fallback) | — |
--cml-sidebar-group-label-transform | unset (uses the fallback) | — |
--cml-sidebar-group-label-tracking | unset (uses the fallback) | — |
--cml-nav-popup-bg | unset (uses the fallback) | — |
--cml-nav-popup-border | unset (uses the fallback) | — |
--cml-nav-popup-radius | unset (uses the fallback) | — |
--cml-nav-item-height | unset (uses the fallback) | — |
--cml-nav-item-radius | unset (uses the fallback) | — |
--cml-nav-trigger-open-bg | unset (uses the fallback) | — |
--cml-menubar-bg | unset (uses the fallback) | — |
--cml-menubar-border | unset (uses the fallback) | — |
--cml-menubar-radius | unset (uses the fallback) | — |
--cml-menubar-height | unset (uses the fallback) | — |
--cml-menubar-shadow | unset (uses the fallback) | — |
--cml-menubar-active-bg | unset (uses the fallback) | — |
--cml-menubar-active-fg | unset (uses the fallback) | — |
--cml-menubar-trigger-radius | unset (uses the fallback) | — |
--cml-menubar-popup-width | unset (uses the fallback) | — |
--cml-context-menu-width | unset (uses the fallback) | — |
--cml-toolbar-bg | unset (uses the fallback) | — |
--cml-toolbar-border | unset (uses the fallback) | — |
--cml-toolbar-radius | unset (uses the fallback) | — |
--cml-toolbar-shadow | unset (uses the fallback) | — |
--cml-toolbar-btn-radius | unset (uses the fallback) | — |
--cml-toolbar-btn-size | unset (uses the fallback) | — |
--cml-toolbar-toggle-active-bg | unset (uses the fallback) | — |
--cml-toolbar-toggle-active-fg | unset (uses the fallback) | — |
--cml-toolbar-toggle-active-border | unset (uses the fallback) | — |
--cml-stepper-line | unset (uses the fallback) | — |
--cml-stepper-completed-line | unset (uses the fallback) | — |
--cml-stepper-completed-bg | unset (uses the fallback) | — |
--cml-stepper-completed-fg | unset (uses the fallback) | — |
--cml-stepper-completed-border | unset (uses the fallback) | — |
--cml-stepper-current-bg | unset (uses the fallback) | — |
--cml-stepper-current-fg | unset (uses the fallback) | — |
--cml-stepper-current-border | unset (uses the fallback) | — |
--cml-stepper-error-bg | unset (uses the fallback) | — |
--cml-stepper-error-fg | unset (uses the fallback) | — |
--cml-stepper-error-border | unset (uses the fallback) | — |
--cml-step-indicator-size | unset (uses the fallback) | — |
--cml-step-indicator-radius | unset (uses the fallback) | — |
--cml-step-indicator-bg | unset (uses the fallback) | — |
--cml-step-indicator-fg | unset (uses the fallback) | — |
--cml-step-indicator-border | unset (uses the fallback) | — |
--cml-cmd-bg | unset (uses the fallback) | — |
--cml-cmd-border | unset (uses the fallback) | — |
--cml-cmd-radius | unset (uses the fallback) | — |
--cml-cmd-header-border | unset (uses the fallback) | — |
--cml-cmd-footer-border | unset (uses the fallback) | — |
--cml-cmd-active-bg | unset (uses the fallback) | — |
--cml-cmd-active-fg | unset (uses the fallback) | — |
--cml-hover-card-bg | unset (uses the fallback) | — |
--cml-hover-card-border | unset (uses the fallback) | — |
--cml-hover-card-radius | unset (uses the fallback) | — |
--cml-hover-card-width | unset (uses the fallback) | — |
--cml-toggletip-bg | unset (uses the fallback) | — |
--cml-toggletip-border | unset (uses the fallback) | — |
--cml-toggletip-radius | unset (uses the fallback) | — |
--cml-toggletip-width | unset (uses the fallback) | — |
--cml-toggletip-trigger-border | unset (uses the fallback) | — |
--cml-splitter-border | unset (uses the fallback) | — |
--cml-splitter-handle-bg | unset (uses the fallback) | — |
--cml-splitter-handle-size | unset (uses the fallback) | — |
--cml-splitter-radius | unset (uses the fallback) | — |
--cml-splitter-active-bg | unset (uses the fallback) | — |
--cml-splitter-grip | unset (uses the fallback) | — |
--cml-splitter-grip-thickness | unset (uses the fallback) | — |
--cml-splitter-grip-length | unset (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