spent a weekend building a dark mode for a client site. ended up overhauling our entire theming system.
now the full site theme — colors, spacing scale, border radii — lives in ~25 CSS custom properties. swapping the whole look is a config change, not a design rebuild.
the upfront cost was real. the maintenance cost is near zero.