Every color utility applies in both color schemes by default. To make one differ, define it as a light/dark pair instead of a single value. The pair compiles to CSS light-dark(), which resolves per color scheme.
Pair a Color
- 1
Define the Pair
A value of
{ light, dark }replaces a single color string.yumma.config.mjsimport { defineConfig } from "yummacss";
export default defineConfig({ theme: { colors: { surface: { light: "#ffffff", dark: "#111214" }, }, },}); - 2
Use It
Nothing changes in your markup.
<div className="bg-surface …"></div>
Both sides are scaled independently & paired step for step, so the whole shade scale comes along: bg-surface-3 is the third light shade under a light scheme & the third dark shade under a dark one.
Opacity
Opacity modifiers work on paired colors, because opacity is applied with color-mix() rather than by appending hex alpha.
<div className="bg-surface/50 …"></div>