CSS custom properties, also called CSS variables, let you store values like colors or sizes in one place. You define them inside selectors such as :root using --variable-name syntax. Then you use them in your CSS with the var() function. When the variable changes, all places using it update automatically. If a variable is missing, you can provide a fallback value inside var(). This makes styling easier and consistent. For example, defining --main-color in :root and using var(--main-color) for button backgrounds means changing the color in one place updates all buttons. If the variable is removed, the style falls back or becomes default. This visual trace shows how variables are stored, used, updated, and how fallbacks work step-by-step.