Styling Reference: CSS Custom Properties

Espalier exposes CSS custom properties at three different levels:

  1. Theme outputs on <esp-root> such as --esp-color-text and --esp-size-padding.
  2. Shared system hooks such as overlay and field tokens used across multiple components.
  3. Component-level properties such as --esp-tooltip-max-width or --esp-progress-height.

This page is the canonical reference for those properties. For application-level guidance on when to use theme fields, component props, or variant, see Using Tokens & Variants Coherently.

Tokens prefixed with --_esp- are private implementation details. They are intentionally excluded from this reference and should not be used by applications or treated as stable public API.

Properties are organized into three groups:

  1. Theme-level — computed by <esp-root> and inherited by every component in the tree.
  2. Shared hooks — optional cross-component properties used by field-like controls and overlays.
  3. Component-level — scoped to individual components for targeted overrides.

To customize a property, set it in your own CSS. Theme-level properties cascade naturally; component-level properties can be set on the component's tag or any ancestor:

/* Override dialog overlay opacity for a specific dialog */
.my-dialog {
  --esp-dialog-bg-opacity: 0.8;
}

When you want a system-wide change, prefer updating the light-theme or dark-theme passed to <esp-root> instead of overriding many emitted --esp-color-* or --esp-size-* outputs one by one.


General: Theme-Level Properties

These properties are computed and set by <esp-root> based on the active theme. They cascade to all descendant components and form the root styling contract for Espalier.

Scheme Indicator

Property Description
--esp-scheme The active color scheme — "light" or "dark".
--esp-seed-color The OKLCH seed color string that drives the entire palette.

Variant Colors

Geometric color-theory variants derived from the seed color by rotating the hue angle. Every variant is gamut-mapped to sRGB.

Property Description
--esp-color-primary The seed color itself, gamut-mapped.
--esp-color-analogous-left Analogous variant (seed hue minus the analogous angle).
--esp-color-analogous-right Analogous variant (seed hue plus the analogous angle).
--esp-color-complementary Complementary variant (seed hue plus 180°).
--esp-color-split-complementary-left Split-complementary variant (complement minus offset).
--esp-color-split-complementary-right Split-complementary variant (complement plus offset).
--esp-color-triadic-left Triadic variant (seed hue plus 120°).
--esp-color-triadic-right Triadic variant (seed hue plus 240°).
--esp-color-danger Fixed semantic hue for errors and destructive actions (red-orange, hue 27).
--esp-color-success Fixed semantic hue for success states (green, hue 150).
--esp-color-warning Fixed semantic hue for warnings (yellow-green, hue 90).

Semantic Colors

Derived from variant colors and lightness ramp positions. Text colors are enforced against APCA contrast targets to guarantee legibility.

Surfaces & Layers

Property Description
--esp-color-background Main page background surface.
--esp-color-layer-1 First raised layer (slightly elevated surfaces).
--esp-color-layer-2 Second raised layer (form fields, input backgrounds).
--esp-color-layer-3 Third raised layer (cards, raised buttons).
--esp-color-layer-4 Fourth raised layer (hover states, elevated controls).

Text & Headings

Property Description
--esp-color-text Standard body text. APCA Lc ≥ 75 against background.
--esp-color-headings Heading text (muted contrast). APCA Lc ≥ 60 against background.
--esp-color-headings-hover Heading text with emphasis (full contrast). APCA Lc ≥ 60 against background.
--esp-color-danger-text Error and danger message text. APCA Lc ≥ 75 against background.

Links

Property Description
--esp-color-link Link text in normal state (accent color). APCA Lc ≥ 75 against background.
--esp-color-link-hover Link text on hover (high contrast). APCA Lc ≥ 75 against background.
--esp-color-link-hover-bg Link hover background highlight.

Actions & Inputs

Property Description
--esp-color-action-background Action button background (typically layer-3).
--esp-color-action-text Action button text (high-contrast ink). APCA Lc ≥ 75 against action background.
--esp-color-input-caret Text cursor / caret color. APCA Lc ≥ 60 against layer-2.
--esp-color-input-selection Selected text color. APCA Lc ≥ 60 against selection background.
--esp-color-input-selection-bg Selected text background color.

Borders & Shadows

Property Description
--esp-color-border Border lines and dividers.
--esp-color-shadow Drop shadow color.

Lightness Ramp

Raw lightness values (as percentages) for each ramp position. These control the perceptual brightness of the semantic color tokens above.

Property Description
--esp-l-surface Lightness for the main background surface.
--esp-l-raised-1 Lightness for the first elevation level.
--esp-l-raised-2 Lightness for the second elevation level.
--esp-l-raised-3 Lightness for the third elevation level.
--esp-l-raised-4 Lightness for the fourth elevation level.
--esp-l-accent Lightness for accent and link colors.
--esp-l-muted Lightness for muted / heading text.
--esp-l-text Lightness for body text.
--esp-l-border Lightness for border lines.
--esp-l-ink Lightness for high-contrast ink (action text).
--esp-l-shadow Lightness for shadows.

Type Scale

Fluid clamp() values that interpolate between a minimum and maximum viewport width. Seven steps from tiny to huge, using a modular ratio (default: Major Third, 1.25).

Property Description
--esp-type-tiny Smallest text size (captions, subscripts).
--esp-type-small Small text size.
--esp-type-normal Body text size (base step, 1.125rem at 16px root).
--esp-type-medium Medium text size.
--esp-type-big Large text size.
--esp-type-large Extra-large text size.
--esp-type-huge Largest text size (hero headings).

Spacing Scale

Fluid clamp() values for spacing. Seven individual steps plus six cross-step fluid pairs that interpolate between adjacent steps for more dramatic scaling.

Individual Steps

Property Description
--esp-size-tiny Smallest spacing unit.
--esp-size-small Small spacing.
--esp-size-normal Standard spacing unit.
--esp-size-medium Medium spacing.
--esp-size-big Large spacing.
--esp-size-large Extra-large spacing.
--esp-size-huge Largest spacing unit.

Cross-Step Fluid Pairs

These pair the minimum of a lower step with the maximum of the next higher step, producing a wider scaling range across viewport sizes.

Property Description
--esp-size-tiny-to-small Fluid between tiny (min) and small (max).
--esp-size-small-to-normal Fluid between small (min) and normal (max).
--esp-size-normal-to-medium Fluid between normal (min) and medium (max).
--esp-size-medium-to-big Fluid between medium (min) and big (max).
--esp-size-big-to-large Fluid between big (min) and large (max).
--esp-size-large-to-huge Fluid between large (min) and huge (max).

Aliases

Property Resolves To Description
--esp-size-font var(--esp-type-normal) Standard font size.
--esp-size-padding var(--esp-size-tiny-to-small) Default component internal padding.
--esp-size-padding-page var(--esp-size-small-to-normal) Page-level section padding.
--esp-size-border-radius Static rem value Global border radius.

Font Families

Property Description
--esp-font-body Font family for body and UI text.
--esp-font-headings Font family for headings.
--esp-font-monospace Font family for code and monospace text.

Font Weights

Property Default Description
--esp-font-weight-body normal Font weight for body and UI text.
--esp-font-weight-headings bold Font weight for headings.
--esp-font-weight-monospace normal Font weight for code and monospace text.

Background Images

Optional decorative background images applied to page and box surfaces.

Property Description
--esp-page-background-image CSS background-image value for the page surface.
--esp-page-background-image-opacity Opacity of the page background image (0–1).
--esp-box-background-image CSS background-image value for esp-box surfaces.
--esp-box-background-image-opacity Opacity of the box background image (0–1).
--esp-vellum-opacity Default backdrop opacity for overlay components that opt into the shared vellum layer.
--esp-vellum-background-image Shared backdrop background-image for overlays such as dialogs and lightboxes.
--esp-vellum-background-image-opacity Opacity of the shared vellum background image layer.

Shared Hooks

These properties are not specific to a single component, but they are still part of the styling surface used across Espalier.

Field Hooks

Field-like controls that inherit EspalierElementBase use these properties internally for consistent input behavior.

Property Description
--esp-field-background Background color of the shared field shell. Defaults to var(--esp-color-layer-2).
--esp-field-border-color Border color of the shared field shell. Defaults to var(--esp-color-border).
--esp-field-border-width Border width applied to .esp-field wrappers.
--esp-field-text-color Text color used inside the shared field shell. Defaults to var(--esp-color-text).
--esp-field-hover-bg Background color used for field hover state.
--esp-field-focus-bg Background color used for field focus state.
--esp-field-focus-shadow Shadow color used for shared field focus treatment. Defaults to var(--esp-color-shadow).

Overlay Hooks

These properties provide shared defaults for overlay components. esp-dialog and esp-lightbox fall back to them before falling back to root semantic colors.

Property Description
--esp-vellum-background Shared overlay background color. Not emitted by <esp-root>, but consumed as a common override hook.
--esp-vellum-opacity Shared overlay backdrop opacity. Also emitted from theme configuration when present.
--esp-vellum-background-image Shared overlay background image. Also emitted from theme configuration when present.
--esp-vellum-background-image-opacity Shared overlay background image opacity. Also emitted from theme configuration when present.

Component-Level Properties

These properties are scoped to individual components. Set them on the component element or any ancestor to override the default styling.

esp-box

Property Description
--esp-color-box-background Background color of the box.
--esp-box-background Background layer for images or gradients.
--esp-box-background-opacity Opacity of the background layer.
--esp-size-box-padding Padding inside the box.

esp-button

Property Description
--esp-button-padding Padding inside the button label and icon areas.
--esp-button-incognito-padding Padding for the incognito (borderless) button style.

esp-button-group

Property Description
--esp-button-group-divider Border style between grouped buttons. Defaults to 1px dotted var(--esp-color-border).

esp-page

Property Description
--esp-page-background Background color of the page.
--esp-page-max-width Maximum width of the main content area.
--esp-header-height Height of the header bar.
--esp-page-background-image Background image URL for the page.
--esp-page-background-image-opacity Opacity of the page background image.

esp-header

Property Description
--esp-header-background Background color of the header bar. Defaults to var(--esp-color-layer-2).
--esp-header-border-width Border width of the header. Defaults to 0 0 1px 0.
--esp-header-border Border style of the header. Defaults to solid var(--esp-color-border).
--esp-header-shadow Box shadow of the header. Defaults to 0 0 2px var(--esp-color-shadow).
--esp-header-height Height of the header bar. Defaults to calc(4.5 * var(--esp-size-small)).
--esp-header-brand-placement CSS place-content value for the brand container. Defaults to center.
--esp-header-button-closed-color Burger button color when menu is closed. Defaults to var(--esp-color-headings).
--esp-header-button-closed-hover-color Burger button hover color when menu is closed. Defaults to var(--esp-color-headings-hover).
--esp-header-button-open-color Burger button color when menu is open. Defaults to var(--esp-color-text).
--esp-header-button-open-hover-color Burger button hover color when menu is open. Defaults to var(--esp-color-headings-hover).
--esp-header-button-stroke-width Stroke width of the burger button lines. Defaults to 0.45rem.

esp-header-button

Property Description
--esp-header-button-background Background color of the button. Defaults to var(--esp-color-layer-3).
--esp-header-button-background-hover Hover background color. Defaults to var(--esp-color-layer-4).
--esp-header-button-box-shadow Box shadow. Defaults to 0px 0px 3px 0px var(--esp-color-shadow).
--esp-header-button-border-left Left border. Defaults to 1px dotted var(--esp-color-border).
--esp-header-button-color Text and icon color. Defaults to var(--esp-color-text).

esp-menu-item

Property Description
--esp-menu-item-color Text color. Defaults to var(--esp-color-text).
--esp-menu-item-hover-color Hover text color. Defaults to var(--esp-color-headings-hover).
--esp-menu-item-padding Horizontal padding. Defaults to var(--esp-size-padding).

esp-burger

Property Description
--esp-color-burger Line color when closed.
--esp-color-burger-hover Hover line color when closed.
--esp-color-burger-opened Line color when open.
--esp-color-burger-opened-hover Hover line color when open.
--esp-size-burger-stroke Stroke width of the burger lines.

esp-vertical-menu

Property Description
--esp-vertical-menu-background Background color of the menu.
--esp-vertical-menu-border-color Border color of the menu.
--esp-vertical-menu-scrim-color Backdrop / scrim color when the drawer is open.
--esp-vertical-menu-drawer-shadow Box shadow for the drawer overlay.
--esp-vertical-menu-top-offset Top offset used when the drawer is positioned beneath another fixed surface.
--esp-vertical-menu-drawer-icon-width Icon-rail width for drawer groups (overrides --esp-vertical-menu-group-icon-width inside the drawer).
--esp-vertical-menu-drawer-icon-min-width Icon-rail minimum width for drawer groups.
--esp-vertical-menu-drawer-icon-padding Icon-rail padding for drawer groups.
--esp-vertical-menu-drawer-icon-svg-width SVG icon width for drawer groups.
--esp-vertical-menu-drawer-icon-svg-height SVG icon height for drawer groups.
--esp-vertical-menu-drawer-icon-image-width Image icon width for drawer groups.
--esp-vertical-menu-drawer-icon-image-height Image icon height for drawer groups.

esp-vertical-menu-group

Property Description
--esp-vertical-menu-group-color Text color of the group header.
--esp-vertical-menu-group-background Background color of the group header.
--esp-vertical-menu-group-hover-background Hover background color of the group header.
--esp-vertical-menu-group-indicator-color Color of the expand/collapse indicator.
--esp-vertical-menu-group-border-color Border color of the group.
--esp-vertical-menu-group-icon-width Width of the right-side icon rail.
--esp-vertical-menu-group-icon-min-width Minimum width of the right-side icon rail.
--esp-vertical-menu-group-icon-padding Padding inside the right-side icon rail.
--esp-vertical-menu-group-icon-background Background color of the right-side icon rail.
--esp-vertical-menu-group-icon-border-left Left border applied to the right-side icon rail.
--esp-vertical-menu-group-icon-svg-width Width of slotted SVG icons in the icon rail.
--esp-vertical-menu-group-icon-svg-height Height of slotted SVG icons in the icon rail.
--esp-vertical-menu-group-icon-image-width Width of slotted image icons in the icon rail.
--esp-vertical-menu-group-icon-image-height Height of slotted image icons in the icon rail.
--esp-vertical-menu-group-scroll-duration Smooth-scroll duration in milliseconds when a group expands into view.

esp-vertical-menu-item

Property Description
--esp-vertical-menu-item-color Text color.
--esp-vertical-menu-item-background Background color.
--esp-vertical-menu-item-border-color Border color.
--esp-vertical-menu-item-hover-color Hover text color.
--esp-vertical-menu-item-hover-background Hover background color.
--esp-vertical-menu-item-icon-background Icon area background color.
--esp-vertical-menu-item-active-color Text color of the active item.
--esp-vertical-menu-item-active-background Background color of the active item.

esp-slider

Property Description
--esp-slider-track-height Height of the slider track. Defaults to 6px.
--esp-slider-track-color Background color of the unfilled portion of the track. Defaults to var(--esp-color-border).
--esp-slider-track-fill-color Background color of the filled portion of the track. Defaults to var(--esp-color-action-background).
--esp-slider-track-border-radius Border radius of the track. Defaults to calc(var(--esp-slider-track-height) / 2).
--esp-slider-thumb-size Diameter of the thumb. Defaults to var(--esp-size-normal-to-medium).
--esp-slider-thumb-color Fill color of the thumb. Defaults to var(--esp-color-layer-1).
--esp-slider-thumb-border-color Border color of the thumb. Defaults to var(--esp-color-border).
--esp-slider-thumb-shadow Box shadow of the thumb. Defaults to 0 1px 3px oklch(0 0 0 / 0.2).
--esp-slider-focus-shadow Color of the focus ring shadow. Defaults to var(--esp-color-shadow).

esp-switch

Property Description
--esp-switch-width Width of the switch track. Defaults to calc(var(--esp-size-normal-to-medium) * 1.75).
--esp-switch-height Height of the switch track. Defaults to var(--esp-size-normal-to-medium).
--esp-switch-thumb-size Diameter of the thumb. Defaults to calc(var(--esp-switch-height) - 4px).
--esp-switch-track-color Track background color when off. Defaults to var(--esp-color-border).
--esp-switch-track-color-on Track background color when on. Defaults to var(--esp-color-action-background).
--esp-switch-thumb-color Thumb color. Defaults to var(--esp-color-layer-1).
--esp-switch-focus-shadow Color of the focus ring shadow. Defaults to var(--esp-color-shadow).

esp-tab-group

Property Description
--esp-tab-color-border Border color of the tab group container.
--esp-tab-color-background Background color of the tab group.
--esp-tab-color-strip-background Background color of the active tab indicator strip.
--esp-tab-color-button-hover Tab button hover color.
--esp-tab-color-button-active Active tab button color.
--esp-tab-color-text Text color for tab buttons.
--esp-tab-size-padding Padding inside tab panels.

esp-toaster

Property Description
--esp-toaster-z-index Stack order of the toaster container. Defaults to 5000.
--esp-toaster-gap Gap between stacked toasts. Defaults to var(--esp-size-tiny-to-small).
--esp-toaster-padding Padding around the toaster container. Defaults to var(--esp-size-padding).

esp-tooltip

Property Description
--esp-tooltip-background Background color of the tooltip. Defaults to var(--esp-color-layer-1).
--esp-tooltip-border Border of the tooltip. Defaults to 1px solid var(--esp-color-border).
--esp-tooltip-border-radius Border radius of the tooltip. Defaults to var(--esp-size-border-radius).
--esp-tooltip-color Text color inside the tooltip. Defaults to var(--esp-color-text).
--esp-tooltip-focus-outline Outline used when the trigger receives keyboard focus. Defaults to 2px solid var(--esp-color-link).
--esp-tooltip-font-size Font size of tooltip text. Defaults to var(--esp-type-small).
--esp-tooltip-max-width Maximum width of the tooltip. Defaults to 40ch.
--esp-tooltip-padding Padding inside the tooltip. Defaults to var(--esp-size-tiny) var(--esp-size-small).
--esp-tooltip-shadow Box shadow for the tooltip. Defaults to 2px 2px 4px var(--esp-color-shadow).

esp-progress

Property Description
--esp-progress-border-color Border color of the track outline. Defaults to var(--esp-color-border).
--esp-progress-border-radius Border radius of the track and fill. Defaults to var(--esp-size-border-radius).
--esp-progress-circle-size Diameter of the circular progress ring in circle mode. Automatically set by the size attribute.
--esp-progress-fill-color Color of the progress fill. Defaults to var(--esp-color-action-background).
--esp-progress-font-size Font size for the value text. Defaults to var(--esp-type-small).
--esp-progress-height Height of the progress bar track. Automatically set by the size attribute.
--esp-progress-text-color Color of the progress value text. Defaults to var(--esp-color-text).

esp-checkbox

Property Description
--esp-checkbox-size Width and height of the checkbox.
--esp-checkbox-icon-color Stroke color of the checkmark icon.
--esp-checkbox-focus-shadow Color of the focus ring shadow.

esp-radio-button

Property Description
--esp-radio-button-size Width and height of the radio button.
--esp-radio-button-icon-color Stroke color of the radio indicator.
--esp-radio-button-focus-shadow Color of the focus ring shadow.

esp-dialog

Property Description
--esp-color-dialog-bg Background color of the dialog overlay.
--esp-dialog-bg-opacity Opacity of the dialog overlay background.

esp-lightbox

Property Description
--esp-lightbox-bg Background color of the lightbox overlay. Falls through to --esp-vellum-background, then --esp-color-layer-3.
--esp-lightbox-bg-opacity Opacity of the lightbox overlay. Falls through to --esp-vellum-opacity, then 0.85.
--esp-vellum-background-image Optional background image used by the shared overlay layer.
--esp-vellum-background-image-opacity Opacity of the shared overlay background image layer.

esp-form-item

Property Description
--esp-form-item-label-color Color of the label text.
--esp-form-item-error-color Color of the visible error badge text.
--esp-form-item-error-background Background color of the visible error badge.
--esp-form-item-error-field-background Background color applied to slotted fields while an error is shown. Defaults to an error-tinted raised field surface.
--esp-form-item-error-field-border-color Border color applied to slotted fields while an error is shown. Defaults to an error-tinted border color.
--esp-form-item-error-field-text-color Text color applied to slotted fields while an error is shown. Defaults to var(--esp-form-item-error-color).
--esp-form-item-error-field-focus-shadow Focus shadow color applied to slotted fields while an error is shown. Defaults to var(--esp-color-shadow).
--esp-form-item-warning-color Color of the visible warning badge text.
--esp-form-item-warning-background Background color of the visible warning badge.
--esp-form-item-warning-field-background Background color applied to slotted fields while a warning is shown. Defaults to a warning-tinted raised field surface.
--esp-form-item-warning-field-border-color Border color applied to slotted fields while a warning is shown. Defaults to a warning-tinted border color.
--esp-form-item-warning-field-text-color Text color applied to slotted fields while a warning is shown. Defaults to var(--esp-color-text).
--esp-form-item-warning-field-focus-shadow Focus shadow color applied to slotted fields while a warning is shown. Defaults to var(--esp-color-shadow).
--esp-form-item-font Font family for the form item.
--esp-form-item-font-size Font size for the form item.

esp-details

Property Description
--esp-details-color-border Border color.
--esp-details-color-background Background color.
--esp-details-color-summary-background Summary section background.
--esp-details-color-summary-hover-background Summary section hover background.
--esp-details-color-summary-background-active Summary section background when open.
--esp-details-color-indicator Color of the expand / collapse indicator.
--esp-details-size-padding Padding inside the details panel.

esp-details-group

Property Description
--esp-details-group-color-border Border color for the group container.

esp-info

Property Description
--esp-info-color-border Border color.
--esp-info-color-background Background color.
--esp-info-color-text Text color.

esp-breadcrumbs

Property Description
--esp-breadcrumb-separator-color Color of the separator between breadcrumbs.

esp-breadcrumb

Property Description
--esp-breadcrumb-color Link text color.
--esp-breadcrumb-hover-color Link hover text color.

esp-image

Property Description
--esp-image-border Border property of the image.

esp-image-upload

Property Description
--esp-image-upload-preview-background Background color of the image preview area.

esp-image-preview

Property Description
--esp-image-preview-border-color Border color of the preview.
--esp-image-preview-remove-color Text color of the remove button.
--esp-image-preview-overlay-text Text color used by the upload and failure overlays.

esp-picker-menu

Property Description
--esp-color-picker-bg Background color of picker menu items.
--esp-color-picker-bg-alt Alternate background color for picker menu items.
--esp-color-picker-bg-hover Hover background color for regular picker menu items.
--esp-color-picker-bg-alt-hover Hover background color for alternating picker menu items.

esp-color-picker

Property Description
--esp-size-color-picker-border-width Border width of the color picker.

esp-grid

Property Description
--esp-grid-border Border style of the grid.
--esp-grid-background Background color of the grid container. Defaults to var(--esp-color-layer-1).
--esp-grid-text-color Text color used by the grid. Defaults to var(--esp-color-text).
--esp-grid-header-background Background color of header rows and pinned header cells. Defaults to var(--esp-color-layer-4).
--esp-grid-header-active-background Background color used for sorted headers and sortable-header hover state. Defaults to var(--esp-color-layer-3).
--esp-grid-row-background-odd Background color of odd rows. Defaults to var(--esp-color-layer-1).
--esp-grid-row-background-even Background color of even rows. Defaults to var(--esp-color-layer-2).
--esp-grid-row-hover-background Background color of hovered rows. Defaults to var(--esp-color-layer-3).
--esp-grid-cell-border-color Divider color used between grid cells. Defaults to var(--esp-color-layer-3).
--esp-grid-row-hover-border-color Divider color used while rows are hovered. Defaults to var(--esp-color-layer-4).
--esp-grid-link-color Link color used inside grid cells. Defaults to var(--esp-color-link).
--esp-grid-link-hover-color Link hover decoration color used inside grid cells. Defaults to var(--esp-color-link-hover).

esp-repeater

Property Description
--esp-repeater-background Background of the repeater container.
--esp-repeater-border Border of the repeater container.
--esp-repeater-border-radius Border radius of the repeater container.
--esp-repeater-gap Space between repeated items.
--esp-repeater-padding Padding used by repeater state panels and the loading or error footer.
--esp-repeater-content-padding Padding inside the virtualized content region.
--esp-repeater-grid-columns Grid column count when layout="grid".
--esp-repeater-grid-column-gap Horizontal gap between grid columns.
--esp-repeater-grid-row-gap Vertical gap between grid rows.

esp-search

Property Description
--esp-search-max-width Maximum width of the search panel. Defaults to 40rem.
--esp-search-max-height Maximum height of the scrollable results list. Defaults to 60vh.
--esp-search-backdrop Backdrop color behind the search panel. Defaults to oklch(0.15 0 0 / 0.6).
--esp-search-panel-background Background color of the search panel. Defaults to var(--esp-color-layer-1).
--esp-search-panel-shadow Box shadow of the search panel.
--esp-search-border-color Divider and loading-track color used by the search panel. Defaults to var(--esp-color-border).
--esp-search-text-color Main text color used by the search UI. Defaults to var(--esp-color-text).
--esp-search-muted-color Muted text color for placeholders, excerpts, and empty states.
--esp-search-title-color Title color for result rows. Defaults to var(--esp-color-headings).
--esp-search-active-background Background color of the active result row. Defaults to var(--esp-color-layer-2).
--esp-search-highlight-background Background color applied to excerpt highlights. Defaults to var(--esp-color-link-hover-bg).
--esp-search-loading-indicator-color Accent color of the loading spinner. Defaults to var(--esp-color-primary).
--esp-search-loading-indicator-track-color Track color of the loading spinner. Defaults to var(--esp-search-border-color).

VS Code Integration

Espalier ships a CSS Custom Data file that gives VS Code autocomplete and hover documentation for every --esp-* property.

Setup

Add the following to your project's .vscode/settings.json:

{
  "css.customData": [
    "./node_modules/@taprootio/taproot-controls/espalier.css-data.json"
  ]
}

Once configured, VS Code will:

  • Autocomplete --esp-* property names as you type in CSS, SCSS, and HTML style attributes.
  • Show descriptions on hover, matching the documentation on this page.

This works with VS Code's built-in CSS Language Service — no additional extensions are required.

If you use the CSS Variable Autocomplete extension, it will also pick up the custom data file automatically.

Where does this show?