// Grove: split-complementary pair. Muted forest green meets dusty rose, 30 degrees to one side of its magenta complement. The second split accent is omitted. Low-saturation surfaces keep green from dominating. // Same values as docs/design/tokens.json; the theme test pins them to it. export const interfaceVersion = 1; export function theme() { return { displayName: "Grove", tokens: { light: { "--canvas": "#f4f6f5", "--surface": "#ffffff", "--raised": "#e8edea", "--line": "#d2dbd6", "--border": "#637e6e", "--text": "#3d5246", "--muted": "#586f62", "--action": "#377752", "--onAction": "#ffffff", "--accent": "#9c444a", "--focus": "#377752", "--success": "#287658", "--warning": "#935f1a", "--danger": "#ba2e26", }, dim: { "--canvas": "#29332d", "--surface": "#34413a", "--raised": "#3f4f46", "--line": "#4f6358", "--border": "#a4b7ac", "--text": "#e2e9e5", "--muted": "#afc0b6", "--action": "#8fcca9", "--onAction": "#10141a", "--accent": "#ddb1b4", "--focus": "#8fcca9", "--success": "#85d5b7", "--warning": "#e7b574", "--danger": "#edaaa6", }, dark: { "--canvas": "#141917", "--surface": "#202823", "--raised": "#2d3932", "--line": "#3f4f46", "--border": "#a4b7ac", "--text": "#b9cbc1", "--muted": "#a4b7ac", "--action": "#8fcca9", "--onAction": "#10141a", "--accent": "#cd8e92", "--focus": "#8fcca9", "--success": "#85d5b7", "--warning": "#e7b574", "--danger": "#e58580", }, }, }; }