# Theming ApexStock ApexStock's entire UI chrome — toolbar, dropdowns, drawing controls, zoom pill, popups — is styled with **CSS custom properties** under a single `--apexstock-*` namespace. You can retheme any of it **without forking the stylesheet**: just override the tokens. This document lists every token and shows the override recipe. > Nothing here touches the *chart series* colors (candles, indicator lines). > Those are ApexCharts options (`plotOptions.candlestick.colors`, > `theme.mode`, per-series `colors`) — see the ApexCharts docs. This page is > about the surrounding ApexStock UI. --- ## How theming works 1. **Tokens** are declared on `[class^="apexstock-"]` (every ApexStock element), so they are self-contained and never leak to or from your page's `:root`. 2. **Light/dark** is driven by a class ApexStock adds to the chart container's parent: `apexstock-theme-light` or `apexstock-theme-dark` (from `theme.mode` in your options). Base rules read the `--apexstock-light-*` tokens; the dark stylesheet re-points the same components at the `--apexstock-dark-*` tokens. So **each mode has its own palette** — override the `light-*` tokens to restyle light mode, the `dark-*` tokens for dark. 3. Popups that ApexStock appends to `document.body` (element settings, tooltip annotations) copy the `apexstock-theme-dark` class onto themselves, so the dark tokens reach them too. --- ## Override recipe (no fork) Custom properties only override when your selector **matches the same elements at higher specificity** than the library's `[class^="apexstock-"]` (specificity `0,1,0`). The library injects its `