CSS variables (custom properties) allow defining values that can be used throughout CSS code. This avoids duplicating values and makes themes easier to implement. Variables can be set globally or within specific scopes, and their values can cascade like regular properties. They also enable new techniques like responsive breakpoints based on variable values rather than fixed numbers. CSS variables are a W3C candidate recommendation supported in modern browsers via a double declaration approach for progressive enhancement.