Theming

Components read CSS custom properties for colors, spacing and sizes. This page is generated at build time from the library source, so it lists 628 variables across 52 components and modules, and 13 shared tokens. Set a variable on the component (most forward style and class to their root element) or on any ancestor:

:root {
  --text-color: light-dark(#222, #eee);
  --tooltip-bg: light-dark(#fff, #2a2a2e);
}

The default column shows the value a component uses when a variable is unset: its var() fallbacks, or a declared value the component sets on its own root element, which you override there rather than on an ancestor. A note flags variables the component sets at runtime (from props or measurements), which may override yours, and values derived from other variables, whose inputs you can override instead.

Shared tokens

Read by 3 or more components, so one declaration restyles all of them.

VariableFeedsRead by
--accent--tag-fillcolorPrevNext, Tag, Toc
--accent-color--table-accentaccent-colorcolorDragOverlay, Progress, table
--active-color--range-colorbackgroundborder-colorcoloroutlineFindBar, RangeSlider, SplitPane, code-editor, table
--border-colorborderborder-bottomborder-leftborder-rightborder-topKeyValueList, SettingsSearch, SettingsSection, StatusMessage, table
--border-radiusborder-radiusDraggablePane, FullscreenButton, SettingsGroup, SettingsSearch, SettingsSection, StatusMessage, table
--btn-bgbackgroundSettingsSection, StatusMessage, code-editor, table
--error-color--message-colorbackgroundcolorStatGrid, StatusMessage, TaskStatus, code-editor, json-tree
--heading-anchor-gappadding-inline-startHeading, Toc, markdown
--page-bg--column-filter-panel-bgbackgroundDraggablePane, code-editor, table
--sms-options-bg--sms-bgbackgroundActionMenu, CommandMenu, MultiSelect, Popover, Toast
--success-color--message-colorbackgroundcolorClickFeedback, StatGrid, StatusMessage, json-tree
--text-color--editor-gutter-active-color--tok-plainbackground-colorcaret-colorcolorBreadcrumbs, GlassChip, Nav, SettingsSection, Toc, code-editor
--text-color-muted--editor-gutter-colorbordercolorBreadcrumbs, EmptyState, SettingsSearch, SettingsSection, StatGrid, StatusMessage, SubpageGrid, code-editor, table

ActionMenu

ActionMenu.svelte Also reads --sms-options-bg.

VariableDefaultFeedsNote
--action-menu-bgvar(--sms-options-bg, light-dark(#fff, #2a2a2e))background
--action-menu-border1px solid light-dark(lightgray, #555)border
--action-menu-item-checked-bglight-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.08))background
--action-menu-item-hover-bglight-dark(rgba(0, 0, 0, 0.07), rgba(255, 255, 255, 0.15))background
--action-menu-item-padding2pt 6ptpadding
--action-menu-line-height1.35line-height
--action-menu-min-width10remmin-width
--action-menu-padding3ptpadding
--action-menu-radius5ptborder-radius
--action-menu-section-border1px solid light-dark(lightgray, #555)border-top
--action-menu-shadow0 3px 12px rgba(0, 0, 0, 0.3)box-shadow
--action-menu-z-index20z-index

Breadcrumbs

Breadcrumbs.svelte Also reads --text-color, --text-color-muted.

VariableDefaultFeedsNote
--breadcrumbs-colorvar(--text-color-muted, inherit)color
--breadcrumbs-current-colorinheritcolor
--breadcrumbs-current-font-weight600font-weight
--breadcrumbs-gap0.15emgap
--breadcrumbs-hover-bgcolor-mix(in srgb, currentColor 10%, transparent)background
--breadcrumbs-hover-colorvar(--text-color, inherit)color
--breadcrumbs-icon-gap0.3emgap
--breadcrumbs-item-border-radius4pxborder-radius
--breadcrumbs-item-max-width20emmax-width
--breadcrumbs-item-padding0.1em 0.3empadding
--breadcrumbs-separator-colorvar(--text-color-muted, inherit)color
--breadcrumbs-wrapwrapflex-wrap

ButtonGroup

ButtonGroup.svelte

VariableDefaultFeedsNote
--btn-group-bgtransparentbackground
--btn-group-bordernoneborder
--btn-group-btn-active-bglight-dark(rgba(0, 0, 0, 0.13), rgba(255, 255, 255, 0.22))background
--btn-group-btn-active-border-colortransparentborder-color
--btn-group-btn-active-colorinheritcolor
--btn-group-btn-bgtransparentbackground
--btn-group-btn-border1px solid transparentborder
--btn-group-btn-colorinheritcolor
--btn-group-btn-cursorpointercursor
--btn-group-btn-disabled-opacity0.5opacity
--btn-group-btn-font-familyinheritfont-family
--btn-group-btn-font-sizeinheritfont-size
--btn-group-btn-gap0.4emgap
--btn-group-btn-hover-bglight-dark(rgba(0, 0, 0, 0.07), rgba(255, 255, 255, 0.12))background
--btn-group-btn-hover-colorvar(--btn-group-btn-color, inherit)color
--btn-group-btn-hover-transformnonetransform
--btn-group-btn-padding2pt 6ptpadding
--btn-group-btn-radius3ptborder-radius
--btn-group-btn-transitionall 0stransition
--btn-group-displayinline-flexdisplay
--btn-group-flex-wrapwrapflex-wrap
--btn-group-gap4ptgap
--btn-group-justify-contentflex-startjustify-content
--btn-group-option-btn-padding-right0.5expadding-right
--btn-group-padding0padding
--btn-group-radius4ptborder-radius

CircleSpinner

CircleSpinner.svelte

VariableDefaultFeedsNote
--durationnoneanimationset by component at runtime

ClickFeedback

ClickFeedback.svelte Also reads --success-color.

code-editor

code-editor/CodeEditor.sveltecode-editor/DiffView.sveltecode-editor/editor.css Also reads --active-color, --btn-bg, --error-color, --page-bg, --text-color, --text-color-muted.

VariableDefaultFeedsNote
--code-fontui-monospace, sfmono-regular, menlo, monospace--editor-font
--diff-add-bgrgba(46, 160, 67, 0.23)declaredbackground
--diff-add-marker#1a7f37declaredcolortext-decoration
--diff-add-word-bgrgba(46, 160, 67, 0.48)declaredbackground
--diff-del-bgrgba(248, 81, 73, 0.23)declaredbackground
--diff-del-marker#cf222edeclaredcolortext-decoration
--diff-del-word-bgrgba(248, 81, 73, 0.48)declaredbackground
--diff-new-gutternonegrid-template-columnsset by component at runtime
--diff-old-gutternonegrid-template-columnsset by component at runtime
--diff-skip-bgrgba(0, 0, 0, 0.03)declaredbackground
--diff-spacer-bgrgba(0, 0, 0, 0.03)declaredbackground
--editor-fontvar(--code-font, ui-monospace, sfmono-regular, menlo, monospace)declaredfont-familyderived from --code-font
--editor-font-size13pxdeclaredfont-sizeset by component at runtime
--editor-gutter-active-colorvar(--text-color, #24292e)declaredcolorderived from --text-color
--editor-gutter-colorvar(--text-color-muted, #8b949e)declaredcolorderived from --text-color-muted
--editor-line-height20pxdeclaredheightline-heightset by component at runtime
--editor-pad-x8pxdeclaredleftpadding
--editor-search-active-color#ba8300outline
--editor-search-bg#eac54f66background
--editor-selection-bgrgba(84, 150, 255, 0.28)declaredbackground
--editor-tab-sizenonetab-sizeset by component at runtime
--icon-btn-size24pxblock-sizeinline-size
--icon-size16pxdeclaredblock-sizeinline-size
--surface-bglight-dark(#f6f8fa, #181b22)background
--tok-attributevar(--tok-function)declaredcolorderived from --tok-function
--tok-comment#6a737ddeclaredcolor
--tok-constantvar(--tok-number)declaredcolorderived from --tok-number
--tok-escape#22863adeclared--tok-tagcolor
--tok-function#6f42c1declared--tok-attributecolor
--tok-invalid#b31d28declaredcolor
--tok-keyword#d73a49declared--tok-operatorcolor
--tok-number#005cc5declared--tok-constantcolor
--tok-operatorvar(--tok-keyword)declaredcolorderived from --tok-keyword
--tok-parameter#24292edeclaredcolor
--tok-plainvar(--text-color, #24292e)declaredcolorderived from --text-color
--tok-punctuation#57606adeclaredcolor
--tok-string#032f62declaredcolor
--tok-tagvar(--tok-escape)declaredcolorderived from --tok-escape
--tok-type#6f42c1declaredcolor
--tok-variable#e36209declaredcolor

CodeBlock

CodeBlock.svelte

VariableDefaultFeedsNote
--code-block-bglight-dark(#f6f8fa, #161b22)background
--code-block-font-size0.85remfontfont-size
--code-block-header-padding0.5rem 0.5rem 0padding
--code-block-max-block-sizenonemax-block-size
--code-block-padding0.5rempadding
--code-block-radius6pxborder-radius
--code-fontui-monospace, monospacefont

CodeExample

CodeExample.svelte

VariableDefaultFeedsNote
--code-example-margin1em automargin
--code-example-nav-gap1exgap
--code-example-nav-margininitialmargin
--code-example-pre-bgvar(--pre-bg)background-color
--code-example-pre-border-radius4ptborder-radius
--code-example-pre-margin0 0 1em 01em 0 0 0margin
--code-example-pre-max-height80vhmax-height
--code-example-pre-padding1ex 1empadding
--code-example-pre-transition-duration0.3stransition-duration
--pre-bgnonebackground-color

ColorInput

ColorInput.svelte

VariableDefaultFeedsNote
--colornonebackgroundset by component at runtime
--color-input-error#d43f3aborder-colorcolor
--color-input-focusHighlightoutline

CommandMenu

CommandMenu.svelteinternal/OptionList.svelte Also reads --sms-options-bg.

VariableDefaultFeedsNote
--cmd-badge-bgcolor-mix(in srgb, currentColor 10%, transparent)background
--cmd-badge-font-size0.7emfont-size
--cmd-description-font-size0.75emfont-size
--cmd-dialog-backdroprgba(0, 0, 0, 0.42)background
--cmd-dialog-backdrop-filterblur(2px)backdrop-filter
--cmd-dialog-padding6ptpadding
--cmd-kbd-bglight-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.15))background
--cmd-kbd-font-size0.8emfont-size
--cmd-menu-z-index10z-index
--cmd-metadata-max-width14emmax-width
--cmd-widthmin(38rem, 90vw)--sms-width
--sms-bgCanvasbackgroundset by component at runtime
--sms-li-active-bgcolor-mix(in srgb, currentColor 12%, transparent)background
--sms-options-max-height40vhmax-height
--sms-width100%widthset by component at runtime

ConfirmDialog

ConfirmDialog.svelte

VariableDefaultFeedsNote
--confirm-dialog-accent-bgcornflowerbluebackground
--confirm-dialog-accent-colorwhitecolor
--confirm-dialog-backdroprgba(0, 0, 0, 0.42)background
--confirm-dialog-backdrop-filterblur(4px)backdrop-filter
--confirm-dialog-bglight-dark(#fff, #2a2a2e)background
--confirm-dialog-border1px solid light-dark(lightgray, #555)border
--confirm-dialog-button-bgrgba(125, 125, 125, 0.2)background
--confirm-dialog-button-font-size0.9emfont-size
--confirm-dialog-button-padding2pt 6ptpadding
--confirm-dialog-colorlight-dark(#222, #eee)color
--confirm-dialog-danger-bgdarkredbackground
--confirm-dialog-danger-colorwhitecolor
--confirm-dialog-error-colorcrimsoncolor
--confirm-dialog-padding0.75rempadding
--confirm-dialog-radius5ptborder-radius
--confirm-dialog-shadow0 3px 12px rgba(0, 0, 0, 0.3)box-shadow
--confirm-dialog-widthmin(30rem, calc(100vw - 2rem))inline-size

ContributorList

ContributorList.svelte

VariableDefaultFeedsNote
--contributor-avatar-size60pxheightwidth
--contributor-gap1exgap

ControlGroup

ControlGroup.svelte

VariableDefaultFeedsNote
--control-group-gap1exgap

Dialog

Dialog.svelte

VariableDefaultFeedsNote
--dialog-backdroprgba(0, 0, 0, 0.42)background
--dialog-backdrop-filterblur(2px)backdrop-filter
--dialog-bglight-dark(#fff, #2a2a2e)background
--dialog-border1px solid light-dark(lightgray, #555)border
--dialog-colorinheritcolor
--dialog-content-padding1rempadding
--dialog-radius5ptborder-radius
--dialog-section-padding1rempadding
--dialog-shadow0 3px 18px rgba(0, 0, 0, 0.3)box-shadow
--dialog-widthmin(32rem, calc(100vw - 2rem))width

DraggablePane

DraggablePane.svelte Also reads --border-radius, --page-bg.

VariableDefaultFeedsNote
--pane-align-contentstartalign-content
--pane-bgvar(--page-bg, light-dark(white, black))background
--pane-border1px solid light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.15))border
--pane-border-radiusvar(--border-radius, 3pt)border-radius
--pane-box-shadow0 4px 20px -4px light-dark(rgba(0, 0, 0, 0.15), transparent), 0 8px 16px -4px light-dark(transparent, rgba(0, 0, 0, 0.3))box-shadow
--pane-control-tab-z-index1z-index
--pane-gap4ptgap
--pane-max-height80vhmax-height
--pane-min-heightautomin-height
--pane-overflow-xhiddenoverflow-x
--pane-overflow-yautooverflow-y
--pane-padding1expadding
--pane-toggle-border-radiusvar(--border-radius, 3pt)border-radius
--pane-toggle-font-size0.875remfont-size
--pane-toggle-padding2ptpadding
--pane-toggle-transitionbackground-color 0.2stransition
--pane-viewport-clamp200vhmax-heightset by component at runtime
--pane-width28emwidth
--pane-z-index10z-index

DragOverlay

DragOverlay.svelte Also reads --accent-color.

EmptyState

EmptyState.svelte Also reads --text-color-muted.

VariableDefaultFeedsNote
--empty-state-max-width500pxmax-width

FileDetails

FileDetails.svelte

VariableDefaultFeedsNote
--pre-bglight-dark(#f3f5f8, rgba(0, 0, 0, 0.3))--code-block-bg

FindBar

FindBar.svelte Also reads --active-color.

VariableDefaultFeedsNote
--find-bar-bglight-dark(white, #181b22)background
--find-bar-z-index50z-index

Footer.svelte

VariableDefaultFeedsNote
--footer-bgtransparentbackground
--footer-link-colorinheritcolor
--footer-link-gap3ptgap
--footer-nav-gap2emgap
--footer-nav-margin2em 0margin
--footer-padding3vh 3vwpadding

FullscreenButton

FullscreenButton.svelte Also reads --border-radius.

VariableDefaultFeedsNote
--fullscreen-btn-bgtransparentbackground
--fullscreen-btn-border-radiusvar(--border-radius, 3pt)border-radius
--fullscreen-btn-colorinheritcolor
--fullscreen-btn-hover-bgcolor-mix(in srgb, currentcolor 8%, transparent)background
--fullscreen-btn-hover-opacity1opacity
--fullscreen-btn-opacity1opacity
--fullscreen-btn-padding2ptpadding
--fullscreen-btn-positionabsoluteposition
--fullscreen-btn-right4pxright
--fullscreen-btn-top5pttop
--fullscreen-btn-z-index10z-index

GitHubCorner

GitHubCorner.svelte

VariableDefaultFeedsNote
--github-corner-bglight-dark(#222, #eee)fillset by component at runtime
--github-corner-bg-hovervar(--github-corner-bg, light-dark(#222, #eee))fill
--github-corner-colorlight-dark(#fafafa, #1a1a1a)colorset by component at runtime
--github-corner-color-hovervar(--github-corner-color, light-dark(#fafafa, #1a1a1a))color
--github-corner-print-displaynonedisplay
--github-corner-size70pxheightwidth
--github-corner-z-index1z-index

GlassChip

GlassChip.svelte Also reads --text-color.

VariableDefaultFeedsNote
--glass-chip-bgtransparentbackground
--glass-chip-font-size0.85emfont-size
--glass-chip-left10pxleft
--glass-chip-max-widthcalc(100% - 20px)max-width
--glass-chip-top10pxtop
--glass-chip-z2z-index

Heading

heading-anchors.ts Also reads --heading-anchor-gap.

Icon

Icon.svelte

VariableDefaultFeedsNote
--icon-size1emautoheightwidth

json-tree

json-tree/JsonNode.sveltejson-tree/JsonTree.sveltejson-tree/JsonValue.svelte Also reads --error-color, --success-color.

VariableDefaultFeedsNote
--jt-arrowlight-dark(#6e6e6e, #858585)color
--jt-bgtransparentbackground
--jt-bigintlight-dark(#098658, #b5cea8)color
--jt-booleanlight-dark(#0000ff, #569cd6)color
--jt-border-radius4pxborder-radius
--jt-change-flashlight-dark(#c8e6c9, #1b5e20)background
--jt-content-padding8pxpadding
--jt-ctx-bglight-dark(white, #2d2d2d)background
--jt-ctx-borderlight-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1))light-dark(rgba(0, 0, 0, 0.15), rgba(255, 255, 255, 0.15))backgroundborder
--jt-ctx-hoverlight-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.1))background
--jt-current-match-bglight-dark(#ffcc80, #8a5600)background
--jt-datelight-dark(#098658, #dcdcaa)color
--jt-diff-addedlight-dark(rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.2))background
--jt-diff-changedlight-dark(rgba(255, 193, 7, 0.15), rgba(255, 193, 7, 0.2))background
--jt-diff-removedlight-dark(rgba(244, 67, 54, 0.12), rgba(244, 67, 54, 0.18))background
--jt-edit-bglight-dark(#fff, #1a1a2e)background
--jt-edit-borderlight-dark(#4a90d9, #4a90d9)border
--jt-errorlight-dark(#a31515, #f48771)color
--jt-expand-btnlight-dark(#0066cc, #4fc3f7)color
--jt-focus-bglight-dark(#e3f2fd, #0d3a58)background
--jt-font-family'SF Mono', Monaco, 'Courier New', monospacefont-family
--jt-font-size13pxfont-size
--jt-functionlight-dark(#795e26, #dcdcaa)color
--jt-header-bglight-dark(rgba(0, 0, 0, 0.03), rgba(255, 255, 255, 0.05))background
--jt-header-borderlight-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1))backgroundborder-bottom
--jt-hover-bglight-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.08))background
--jt-indent1.2empadding-left
--jt-indent-guidelight-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1))border-left
--jt-keylight-dark(#001080, #9cdcfe)color
--jt-line-height1.5line-height
--jt-match-count-colorlight-dark(#666, #aaa)color
--jt-max-heightnonemax-height
--jt-null#808080color
--jt-numberlight-dark(#098658, #b5cea8)color
--jt-placeholderlight-dark(#999, #666)color
--jt-preview#808080color
--jt-punctuationlight-dark(#000, #d4d4d4)color
--jt-regexplight-dark(#811f3f, #d16969)color
--jt-search-bglight-dark(white, rgba(0, 0, 0, 0.2))background
--jt-search-borderlight-dark(rgba(0, 0, 0, 0.15), rgba(255, 255, 255, 0.15))border
--jt-search-match-bglight-dark(#fff59d, #614d00)background
--jt-select-bglight-dark(#bbdefb, #0a3050)background
--jt-sticky-bgvar(--jt-bg, transparent)background
--jt-sticky-depthnonetopz-indexset by component at runtime
--jt-stringlight-dark(#a31515, #ce9178)color
--jt-symbollight-dark(#267f99, #4ec9b0)color
--jt-type-annotationlight-dark(#808080, #6a6a6a)color
--jt-urllight-dark(#0066cc, #4fc3f7)color

KeyValueList

KeyValueList.svelte Also reads --border-color.

LiteYouTubeEmbed

LiteYouTubeEmbed.svelte

VariableDefaultFeedsNote
--lite-youtube-bg#000background-color

markdown

heading-anchors.ts Also reads --heading-anchor-gap.

MultiSelect

MultiSelect.svelte Also reads --sms-options-bg.

VariableDefaultFeedsNote
--sms-active-colorcornflowerbluelight-dark(rgba(0, 0, 0, 0.15), rgba(255, 255, 255, 0.15))light-dark(rgba(70, 70, 140, 0.2), rgba(120, 170, 255, 0.2))accent-colorbackgroundborderborder-inline-startcoloroutline
--sms-bglight-dark(white, #222226)background
--sms-border1px solid light-dark(lightgray, #555)border
--sms-border-radius3ptborder-radius
--sms-disabled-bglight-dark(lightgray, #444)background
--sms-focus-border1px solid var(--sms-active-color, cornflowerblue)border
--sms-font-sizeinheritfont-size
--sms-group-collapse-duration0.15stransition
--sms-group-deselect-colorlight-dark(#c44, #f77)color
--sms-group-header-bgtransparentbackground
--sms-group-header-border-top1px solid light-dark(#eee, #333)border-top
--sms-group-header-colorlight-dark(#666, #aaa)color
--sms-group-header-font-size0.9emfont-size
--sms-group-header-font-weight600font-weight
--sms-group-header-hover-bglight-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.05))background
--sms-group-header-letter-spacing0.5pxletter-spacing
--sms-group-header-margin-top4ptmargin-top
--sms-group-header-padding2pt 1expadding
--sms-group-header-sticky-bgvar(--sms-options-bg, light-dark(#fcfcfc, #222226))background
--sms-group-header-text-transformuppercasetext-transform
--sms-group-item-padding-leftvar(--sms-group-option-indent, 1.5ex)padding-inline-start
--sms-group-option-indent1.5expadding-inline-start
--sms-group-select-all-hover-bglight-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1))background
--sms-li-active-bgvar(--sms-active-color, light-dark(rgba(0, 0, 0, 0.15), rgba(255, 255, 255, 0.15)))var(--sms-active-color, light-dark(rgba(70, 70, 140, 0.2), rgba(120, 170, 255, 0.2)))background
--sms-li-disabled-bglight-dark(#f5f5f6, #2a2a2a)background
--sms-li-disabled-textlight-dark(#b8b8b8, #666)color
--sms-li-selected-plain-bglight-dark(rgba(0, 123, 255, 0.1), rgba(100, 180, 255, 0.2))background
--sms-li-selected-plain-border1px solid var(--sms-active-color, cornflowerblue)border-inline-start
--sms-marginnonemargin
--sms-max-widthnonemax-width
--sms-min-height20.5ptmin-height
--sms-open-z-index4z-index
--sms-options-border1px solid light-dark(lightgray, #555)border
--sms-options-border-radius1exborder-radius
--sms-options-border-width1pxborder-width
--sms-options-li-padding2pt 1expadding
--sms-options-margin6pt 0 0 0margin
--sms-options-max-height50vhmax-height
--sms-options-overscrollnoneoverscroll-behavior
--sms-options-padding0padding
--sms-options-scroll-margin100pxscroll-margin
--sms-options-shadow0 0 14pt -3pt light-dark(rgba(0, 0, 0, 0.2), transparent), 0 0 14pt -4pt light-dark(transparent, rgba(0, 0, 0, 0.8))box-shadow
--sms-options-z-index3z-index
--sms-padding0 3ptpadding
--sms-placeholder-colornonecolor
--sms-placeholder-opacitynoneopacity
--sms-remove-btn-hover-bglight-dark(rgba(0, 0, 0, 0.2), rgba(255, 255, 255, 0.2))background
--sms-remove-btn-hover-colorinheritcolor
--sms-select-all-bgtransparentbackground
--sms-select-all-border-bottom1px solid light-dark(lightgray, #555)border-bottom
--sms-select-all-colorinheritcolor
--sms-select-all-font-weight500font-weight
--sms-select-all-hover-bgvar(--sms-li-active-bg, var(--sms-active-color, light-dark(rgba(70, 70, 140, 0.2), rgba(120, 170, 255, 0.2))))background
--sms-select-all-margin-bottom2ptmargin-bottom
--sms-selected-bglight-dark(rgba(100, 120, 140, 0.15), rgba(120, 170, 255, 0.2))background
--sms-selected-li-padding0 2pt 0 5ptpadding
--sms-selected-text-colorvar(--sms-text-color, light-dark(#222, #eee))color
--sms-text-colorlight-dark(#222, #eee)color
--sms-widthnonewidth

Nav

Nav.svelte Also reads --text-color.

VariableDefaultFeedsNote
--nav-border-radius3ptdeclaredborder-end-end-radiusborder-end-start-radiusborder-radiusborder-start-end-radiusborder-start-start-radius
--nav-burger-bgvar(--nav-surface-bg)background
--nav-burger-border-colorvar(--nav-surface-border)border
--nav-burger-boxcalc(var(--nav-burger-height) + 2 * var(--nav-burger-padding, 0.25rem) + 2px)declaredtopderived from --nav-burger-height, --nav-burger-padding
--nav-burger-heightcalc(var(--nav-burger-size, 1.4rem) * 0.9)declared--nav-burger-boxheighttransformderived from --nav-burger-size
--nav-burger-inset1remdeclaredinset-inlineinset-inline-starttop
--nav-burger-padding0.25rem0.3rem--nav-burger-boxpadding-blockpadding-inline
--nav-burger-positionfixedposition
--nav-burger-shadowvar(--nav-surface-shadow)box-shadow
--nav-burger-size1.4rem--nav-burger-heightwidth
--nav-disabled-opacity0.5opacity
--nav-dropdown-bgvar(--nav-surface-bg)background-color
--nav-dropdown-border-colorcolor-mix(in srgb, currentColor 30%, transparent 70%)declaredborder
--nav-dropdown-left0inset-inline-start
--nav-dropdown-link-padding2pt 6ptpadding
--nav-dropdown-margin2ptheightmargin
--nav-dropdown-max-widthnonemax-width
--nav-dropdown-min-width100%min-width
--nav-dropdown-padding0padding
--nav-dropdown-rightautoinset-inline-end
--nav-dropdown-shadowvar(--nav-surface-shadow)box-shadow
--nav-dropdown-toggle-hover-colorlight-dark(#2563eb, #7db4ff)color
--nav-dropdown-widthmax-contentwidth
--nav-dropdown-z-index100z-index
--nav-item-padding1pt 4ptpadding
--nav-link-active-colorcurrentColorborder-inline-start-colorcolor
--nav-link-bgnonebackground-color
--nav-link-bg-hoverlight-dark(rgba(70, 70, 140, 0.2), rgba(120, 170, 255, 0.2))declaredbackground-color
--nav-mobile-insetvar(--nav-burger-inset)inset-inline
--nav-mobile-menu-gap0.5remtop
--nav-mobile-menu-positionfixedposition
--nav-mobile-z-index2z-index
--nav-separator-colorcurrentColorbackground-color
--nav-separator-margin0 0.25em0.25em 0margin
--nav-submenu-duration0.25stransition
--nav-submenu-line-colorlight-dark(rgba(128, 128, 128, 0.55), rgba(200, 200, 200, 0.4))border-inline-start
--nav-surface-bglight-dark(#fafafa, #222226)declaredbackgroundbackground-color
--nav-surface-borderlight-dark(rgba(128, 128, 128, 0.25), rgba(200, 200, 200, 0.2))declaredborder
--nav-surface-shadow0 2px 8px light-dark(rgba(0, 0, 0, 0.15), transparent), 0 4px 12px light-dark(transparent, rgba(0, 0, 0, 0.5))declaredbox-shadow
--nav-toggle-btn-z-index10z-index
--submenu-rowsnonegrid-template-rowsset by component at runtime

Popover

Popover.svelte Also reads --sms-options-bg.

VariableDefaultFeedsNote
--popover-bgvar(--sms-options-bg, light-dark(#fff, #2a2a2e))background
--popover-border1px solid light-dark(lightgray, #555)border
--popover-colorinheritcolor
--popover-max-widthmin(90vw, 30rem)max-width
--popover-padding6pt 8ptpadding
--popover-radius5ptborder-radius
--popover-shadow0 3px 12px rgba(0, 0, 0, 0.3)box-shadow
--popover-z-index10z-index

PrevNext

PrevNext.svelte Also reads --accent.

VariableDefaultFeedsNote
--accent-hoverorangecolor
--prev-next-colorvar(--accent, cornflowerblue)color
--prev-next-gap2emgap
--prev-next-hover-colorvar(--accent-hover, orange)color
--prev-next-label-margin0 auto 1exmargin
--prev-next-link-bgnonebackground
--prev-next-link-border-radiusnoneborder-radius
--prev-next-link-paddingnonepadding
--prev-next-margin3em automargin
--prev-next-padding0padding

Progress

Progress.svelte Also reads --accent-color.

RangeSlider

RangeSlider.svelte Also reads --active-color.

VariableDefaultFeedsNote
--range-colorvar(--range-slider-color, var(--active-color, #6366f1))declaredbackgroundcoloroutlinederived from --active-color, --range-slider-color
--range-slider-colorvar(--active-color, #6366f1)--range-color
--range-slider-input-bgtransparentbackground
--range-slider-thumb#fffbackground
--range-slider-trackcolor-mix(in srgb, currentColor 15%, transparent)background

SettingsGroup

SettingsGroup.svelte Also reads --border-radius.

VariableDefaultFeedsNote
--settings-group-bordercolor-mix(in srgb, currentColor 12%, transparent)border-top

SettingsSearch

SettingsSearch.svelte Also reads --border-color, --border-radius, --text-color-muted.

VariableDefaultFeedsNote
--input-bgtransparentbackground
--pane-gap4ptgap

SettingsSection

SettingsSection.svelte Also reads --border-color, --border-radius, --btn-bg, --text-color, --text-color-muted.

VariableDefaultFeedsNote
--btn-bg-hoverrgba(0, 0, 0, 0.15)rgba(0, 0, 0, 0.2)background
--ctrl-colsvar(--ctrl-label-w, 8.5em) var(--ctrl-value-w, 4em) minmax(0, 1fr)grid-template-columns
--ctrl-gap7ptcolumn-gap
--ctrl-label-w8.5emgrid-template-columns
--ctrl-value-w4emgrid-template-columns
--reset-btn-border-radiusvar(--border-radius, 3pt)border-radius
--reset-btn-padding1pt 4ptpadding
--settings-row-gap4ptgap

Sheet

Sheet.svelte

VariableDefaultFeedsNote
--sheet-backdroprgba(0, 0, 0, 0.42)--dialog-backdrop
--sheet-backdrop-filterblur(2px)--dialog-backdrop-filter
--sheet-bglight-dark(#fff, #2a2a2e)--dialog-bg
--sheet-border1px solid light-dark(lightgray, #555)--dialog-border
--sheet-colorinherit--dialog-color
--sheet-content-padding1rem--dialog-content-padding
--sheet-section-padding1rem--dialog-section-padding
--sheet-shadow0 0 18px rgba(0, 0, 0, 0.3)--dialog-shadow
--sheet-sizemin(20rem, 100vh)min(24rem, 100vw)heightwidth

Spinner

Spinner.svelte

VariableDefaultFeedsNote
--spinner-border-width2pxborder-width
--spinner-color#007acccolor
--spinner-duration1sduration
--spinner-margin3ptmargin
--spinner-size1emsize

SplitPane

SplitPane.svelte Also reads --active-color.

VariableDefaultFeedsNote
--split-pane-size50%inset-block-startinset-inline-startset by component at runtime

StatGrid

StatGrid.svelte Also reads --error-color, --success-color, --text-color-muted.

StatusMessage

StatusMessage.svelte Also reads --border-color, --border-radius, --btn-bg, --error-color, --success-color, --text-color-muted.

VariableDefaultFeedsNote
--btn-bg-hover#cccbackground
--error-border1px solid #ef4444border
--message-colornonebackgroundbordercolorderived from --error-color, --success-color, --warning-color
--warning-border1px solid #fb8c00border
--warning-colorlight-dark(#9a4d00, #ffb74d)--message-color

SubpageGrid

SubpageGrid.svelte Also reads --text-color-muted.

VariableDefaultFeedsNote
--main-max-widthnonemax-width

table

table/ColumnFilter.sveltetable/ColumnPicker.sveltetable/DataTable.sveltetable/export.ts Also reads --accent-color, --active-color, --border-color, --border-radius, --btn-bg, --page-bg, --text-color-muted.

VariableDefaultFeedsNote
--cell-bgtransparentbackground-colorset by component at runtime
--column-filter-active-colorvar(--table-accent)declaredcolorderived from --table-accent
--column-filter-choices-max-height14emmax-height
--column-filter-icon-size10pxheightwidth
--column-filter-panel-bgvar(--table-header-bg, var(--page-bg, Canvas))declaredbackgroundderived from --page-bg, --table-header-bg
--column-filter-panel-border1px solid light-dark(rgba(0, 0, 0, 0.12), rgba(255, 255, 255, 0.18))border
--column-filter-panel-padding6pxpadding
--column-filter-panel-radius4pxborder-radius
--column-filter-panel-shadow0 4px 12px rgba(0, 0, 0, 0.18)box-shadow
--column-filter-trigger-size14pxheightwidth
--column-picker-btn-bgvar(--btn-bg)background
--column-picker-btn-padding0 6ptpadding
--column-picker-column-gap8pxcolumn-gap
--column-picker-font-size1.1emfont-size
--column-picker-hover-bglight-dark(rgba(0, 0, 0, 0.07), rgba(255, 255, 255, 0.12))background
--column-picker-menu-bgvar(--page-bg, Canvas)background
--column-picker-menu-border1px solid color-mix(in srgb, currentColor 10%, transparent)border
--column-picker-menu-max-heightmin(70vh, 600px)max-height
--column-picker-menu-padding3pt 5pt6pt 8ptpadding
--column-picker-menu-shadow0 4px 12px color-mix(in srgb, currentColor 8%, transparent)box-shadow
--column-picker-radius3pt4ptborder-radius
--column-picker-section-bgcolor-mix(in srgb, currentColor 5%, transparent)background
--column-picker-section-hover-bgcolor-mix(in srgb, currentColor 12%, transparent)background
--group-header-height0topset by component at runtime
--highlight-bgrgba(74, 158, 255, 0.15)background
--surface-bg-hover#333backgroundbackground-color
--table-accentvar(--accent-color, #4a9eff)declared--column-filter-active-colorbackgroundborder-bottomborder-leftborder-rightborder-topbox-shadowcoloroutlinederived from --accent-color
--table-badge-colorwhitecolor
--table-best-cell-colorvar(--table-accent)outline
--table-cell-bordernoneborder
--table-cell-paddingvar(--table-density-padding, 1pt 5pt)padding
--table-column-max-width20emmax-width
--table-data-bar-height70%height
--table-data-bar-opacity0.35opacity
--table-density-padding1pt 5ptpadding
--table-fill-opacity100%background-color
--table-font-size0.9emfont-size
--table-header-bgvar(--page-bg, Canvas)--column-filter-panel-bgbackground
--table-header-hover-bgvar(--surface-bg-hover)background
--table-numeric-text-alignrighttext-align
--table-row-hover-bgrgba(128, 128, 128, 0.16)background-image
--table-row-hover-filternonefilter
--table-row-num-alignrighttext-align
--table-row-num-padding-left5ptpadding-left
--table-row-num-padding-right8pxpadding-right
--table-sticky-cell-bgvar(--page-bg, Canvas)background
--table-sticky-cell-odd-bgvar(--table-sticky-cell-bg, var(--page-bg, Canvas))background
--table-text-alignlefttext-align

Tag

Tag.svelte Also reads --accent.

VariableDefaultFeedsNote
--tag-active-bgvar(--tag-fill)background
--tag-bgcolor-mix(in srgb, var(--tag-fill) 18%, transparent)transparentvar(--tag-fill)background
--tag-border-colortransparentvar(--tag-fill)borderborder-color
--tag-border-radius1emborder-radius
--tag-border-width1pxborder
--tag-colorvar(--accent, cornflowerblue)--tag-fillset by component at runtime
--tag-contrast-colorinheritcolorset by component at runtime
--tag-count-bgcolor-mix(in srgb, currentColor 15%, transparent)background
--tag-disabled-opacity0.5opacity
--tag-fillvar(--tag-color, var(--accent, cornflowerblue))declaredbackgroundborder-coloroutlinederived from --accent, --tag-color
--tag-focus-colorvar(--tag-fill)outline
--tag-font-size0.85emfont-size
--tag-font-weightinheritfont-weight
--tag-gap0.35emgap
--tag-hover-bgcolor-mix(in srgb, currentColor 12%, transparent)background
--tag-line-height1.3line-height
--tag-padding0.15em 0.65empadding
--tag-remove-padding0 0.5em 0 0.2empadding
--tag-text-colorinheritvar(--tag-contrast-color, inherit)color

TaskStatus

TaskStatus.svelte Also reads --error-color.

VariableDefaultFeedsNote
--task-status-button-justifycenterstartjustify-self
--task-status-overlay-z-index1z-index

ThemeToggle

ThemeToggle.svelte

VariableDefaultFeedsNote
--theme-toggle-backgroundtransparentbackground
--theme-toggle-bordernoneborder
--theme-toggle-border-radius50%border-radius
--theme-toggle-line-height1line-height
--theme-toggle-size1.8emheightwidth

Toast

Toast.svelte Also reads --sms-options-bg.

VariableDefaultFeedsNote
--toast-accenttransparentbackgroundderived from --toast-error-color, --toast-success-color, --toast-warning-color
--toast-bgvar(--sms-options-bg, light-dark(#fff, #2a2a2e))background
--toast-border1px solid light-dark(lightgray, #555)border
--toast-button-bgrgba(255, 255, 255, 0.15)background
--toast-button-hover-bgrgba(255, 255, 255, 0.3)background
--toast-button-padding2pt 5ptpadding
--toast-colorinheritcolor
--toast-error-colorcrimson--toast-accent
--toast-font-sizeinheritfont-size
--toast-gap0.4emgap
--toast-inset1rembottomleftrighttop
--toast-item-gap0.6emgap
--toast-max-widthmin(90vw, 28rem)max-width
--toast-padding6pt 8ptpadding
--toast-radius5ptborder-radius
--toast-shadow0 3px 12px rgba(0, 0, 0, 0.3)box-shadow
--toast-stack-positionfixedposition
--toast-success-colorforestgreen--toast-accent
--toast-warning-colororange--toast-accent
--toast-z-index30z-index

Toc

Toc.svelteheading-anchors.tstoc-utils.ts Also reads --accent, --heading-anchor-gap, --text-color.

VariableDefaultFeedsNote
--toc-active-bgnonebackground
--toc-active-bordernoneborder
--toc-active-border-radiusvar(--toc-item-radius)border-radius
--toc-active-border-widthnoneborder-width
--toc-active-colornonecolor
--toc-active-li-fontnonefont
--toc-active-text-shadownonetext-shadow
--toc-collapse-duration0.2stransition
--toc-desktop-aside-marginnonemargin
--toc-desktop-bgnonebackground
--toc-desktop-max-widthnonemax-width
--toc-desktop-nav-marginnonemargin
--toc-desktop-sticky-top2emtop
--toc-flash-colorvar(--accent, #6495ed)color
--toc-flash-duration1500msanimationset by component at runtime
--toc-focus-outline2px solid currentColoroutline
--toc-focus-outline-offset1pxoutline-offset
--toc-font-size0.7emfont-size
--toc-indent-per-level1emmargin-left
--toc-item-hover-bglight-dark(rgba(70, 70, 140, 0.2), rgba(120, 170, 255, 0.2))declaredbackground
--toc-item-radius3ptdeclaredborder-radius
--toc-li-bgnonebackground
--toc-li-bordernoneborder
--toc-li-border-radiusvar(--toc-item-radius)border-radius
--toc-li-colornonecolor
--toc-li-fontnonefont
--toc-li-font-size-base3exfont-size
--toc-li-font-size-min2exfont-size
--toc-li-font-size-step0.1exfont-size
--toc-li-hover-bgvar(--toc-item-hover-bg)background
--toc-li-hover-colorvar(--toc-active-color)color
--toc-li-marginnonemargin
--toc-li-max-height10emmax-height
--toc-li-padding2pt 4ptpadding
--toc-li-transitionbackground-color 0.2stransition
--toc-max-height90vhmax-height
--toc-min-width15emmin-width
--toc-mobile-bgrgba(255, 255, 255, 0.2)whitebackground
--toc-mobile-bordervar(--toc-surface-border)border
--toc-mobile-border-radius6ptborder-radius
--toc-mobile-bottom1embottommax-height
--toc-mobile-btn-bgvar(--toc-mobile-bg, rgba(255, 255, 255, 0.2))background
--toc-mobile-btn-bordervar(--toc-surface-border)border
--toc-mobile-btn-border-radius3ptborder-radius
--toc-mobile-btn-bottom0bottom
--toc-mobile-btn-colorvar(--text-color, black)color
--toc-mobile-btn-font1.4rem sans-seriffont
--toc-mobile-btn-line-height0line-height
--toc-mobile-btn-padding0.25rem0.3rempadding-blockpadding-inline
--toc-mobile-btn-right0right
--toc-mobile-btn-shadowvar(--toc-surface-shadow)box-shadow
--toc-mobile-btn-transition-duration0.2stransition
--toc-mobile-btn-z-index2z-index
--toc-mobile-font-size1remfont-size
--toc-mobile-gap0.5emgap
--toc-mobile-padding0.5em var(--toc-mobile-padding-inline) 1empadding
--toc-mobile-padding-inlinenonemargin-inlinepaddingpadding-inline
--toc-mobile-right1emmax-widthright
--toc-mobile-shadowvar(--toc-surface-shadow)box-shadow
--toc-mobile-title-bordervar(--toc-surface-border)border-bottom
--toc-mobile-title-line-height1.3line-height
--toc-mobile-title-margin-bottom0.35emmargin-block-end
--toc-mobile-title-padding-bottom0.2empadding-block-end
--toc-mobile-width18emwidth
--toc-mobile-z-index2z-index
--toc-ol-list-stylenonelist-style
--toc-ol-marginnonemargin
--toc-ol-padding0padding
--toc-overflowautooverflow
--toc-padding1em 1em 0 3empadding
--toc-surface-border1px solid light-dark(rgba(128, 128, 128, 0.25), rgba(200, 200, 200, 0.2))declaredborderborder-bottom
--toc-surface-shadow0 2px 8px light-dark(rgba(0, 0, 0, 0.15), transparent), 0 4px 12px light-dark(transparent, rgba(0, 0, 0, 0.5))declaredbox-shadow
--toc-text-wrapbalancetext-wrap
--toc-title-colornonecolor
--toc-title-font-sizeinitialfont-size
--toc-title-font-weightnonefont-weight
--toc-title-margin1em 0margin
--toc-title-margin-top0margin-top
--toc-title-paddingnonepadding
--toc-widthnonewidth
--toc-z-index2z-index

Toggle

Toggle.svelte

VariableDefaultFeedsNote
--checked-offsetnonetransformderived from --toggle-knob-after-width, --toggle-knob-padding, --toggle-knob-width
--toggle-backgroundlight-dark(#222, #555)background
--toggle-input-width1emwidth
--toggle-knob-after-backgroundlight-dark(gray, #888)light-dark(green, #4ade80)background
--toggle-knob-after-border-radius50%border-radius
--toggle-knob-after-displayblockdisplay
--toggle-knob-after-height1.2emheight
--toggle-knob-after-transformtranslate(calc(-1 * var(--checked-offset)))translate(var(--checked-offset))transform
--toggle-knob-after-transition0.3stransition
--toggle-knob-after-width1.2em--checked-offsetwidth
--toggle-knob-border1px solid light-dark(lightgray, #555)border
--toggle-knob-border-radius0.75emborder-radius
--toggle-knob-focus-border1px solid light-dark(cornflowerblue, #6495ed)border
--toggle-knob-height1.5emheight
--toggle-knob-padding0.1em--checked-offsetpadding
--toggle-knob-transition0.3stransition
--toggle-knob-width3em--checked-offsetwidth
--toggle-label-align-itemscenteralign-items
--toggle-label-displayinline-flexdisplay
--toggle-label-vertical-alignmiddlevertical-align
--toggle-label-widthmax-contentwidth

tooltip

attachments/tooltip.ts

VariableDefaultFeedsNote
--text-colorlight-dark(#222, #eee)colorset by component at runtime
--tooltip-arrow-sizenone
--tooltip-available-widthcalc(100dvw - 16px)max-widthset by component at runtime
--tooltip-bglight-dark(#fff, #2a2a2e)background-color
--tooltip-border1px solid light-dark(lightgray, #555)border
--tooltip-font-familyinheritfont-familyset by component at runtime
--tooltip-font-size0.8remfont-size
--tooltip-max-heightmin(50dvh, 480px)max-height
--tooltip-max-width280pxmax-width
--tooltip-opacitynone
--tooltip-padding2px 6pxpadding
--tooltip-radius5ptborder-radius
--tooltip-shadowdrop-shadow(0 2px 8px rgba(0,0,0,0.25))filter
--tooltip-transition0.15s ease-outtransition
--tooltip-z-index9999z-index