Theming with CSS custom properties, clamp(), min() and max() without a framework
A practical theming setup built on plain CSS: semantic custom properties, light-dark() for color schemes, clamp() for fluid type and spacing, and min()/max() for layouts that need no media queries. Includes the mistakes that broke our first attempt.