Design
Colors
Velyx uses OKLCH tokens for consistent surfaces, actions, borders, charts, and dark mode.
Color Tokens
Components do not hard-code colors. They consume CSS variables, so themes can change without rewriting component markup.
:root {
--background: oklch(1 0 0);
--foreground: oklch(0.145 0 0);
}
Semantic Colors
Semantic pairs define the background and readable foreground for common component states.
--primary: oklch(0.205 0 0);
--primary-foreground: oklch(0.985 0 0);
--secondary: oklch(0.97 0 0);
--secondary-foreground: oklch(0.205 0 0);
--muted: oklch(0.97 0 0);
--muted-foreground: oklch(0.556 0 0);
--accent: oklch(0.97 0 0);
--accent-foreground: oklch(0.205 0 0);
--destructive: oklch(0.58 0.22 27);
Border Colors
--border: oklch(0.922 0 0);
--input: oklch(0.922 0 0);
--ring: oklch(0.708 0 0);
Dark Mode
Dark mode is activated by adding the .dark class to the HTML element.
.dark {
--background: oklch(0.145 0 0);
--foreground: oklch(0.985 0 0);
--primary: oklch(0.87 0 0);
--primary-foreground: oklch(0.205 0 0);
}
Chart Colors
Velyx includes chart tokens for data visualizations and dashboard widgets.
--chart-1: oklch(0.809 0.105 251.813);
--chart-2: oklch(0.623 0.214 259.815);
--chart-3: oklch(0.546 0.245 262.881);
--chart-4: oklch(0.488 0.243 264.376);
--chart-5: oklch(0.424 0.199 265.638);