Color Palette
Vanduo's default palette is Open Color (MIT) — the friendly, battle-tested scale you already know. For a look that shares the same DNA as Vanduo's spacing, type, and grid, opt into the Fibonacci palette — a golden-angle generated system where hues rotate by the golden angle (~137.5°) and every shade sits on a golden-ratio lightness ramp — via the runtime data-palette switch.
Switching palettes
Open Color is the :root default; opt into the Fibonacci (golden-angle) palette at runtime — every component follows automatically.
<!-- Default: Open Color palette -->
<html data-palette="open-color">
<!-- Opt in to the Fibonacci (golden-angle) palette -->
<html data-palette="fibonacci"></html>Prefer a UI? The Theme Customizer exposes the same live controls.
Semantic surfaces — light & dark
The raw scales below are fixed values. The semantic tokens (--vd-bg-*, --vd-text-*, --vd-border-color) remap per theme, so the same markup adapts automatically. Here is the same set in both modes:
Light
--vd-bg-secondary--vd-bg-tertiary--vd-color-primaryText primary · muted
Dark
--vd-bg-secondary--vd-bg-tertiary--vd-color-primaryText primary · muted
Primary — Brand
The default brand color — primary actions and emphasis
Secondary
Secondary actions and accents
Gray — Neutrals
Backgrounds, borders, text, and UI structure
Danger — Red
Error states, destructive actions
Success — Green
Success states, confirmations
Warning — Yellow
Warnings, cautions, attention
Info — Blue
Information, help, neutral feedback
Named hues & utility classes
Every hue keeps its recognizable name. Use vd-bg-{color}-{shade} / vd-text-{color}-{shade}.
redorangeyellowlimegreentealcyanblueindigovioletgrapepinkFibonacci palette optional
A golden-angle generated system — hues stepped by ≈137.5° on golden-ratio shade ramps. Opt in with data-palette="fibonacci" and every scale follows.
Golden accent track — --vd-golden-1 … --vd-golden-8, the signature of the Fibonacci palette.
Primary (Fibonacci "Water")
Gray (Fibonacci)
CSS Variable Usage
/* Active scales follow the active palette (Open Color by default) */
.my-element {
background: var(--vd-primary-0); /* Lightest */
color: var(--vd-primary-9); /* Darkest */
}
/* Semantic aliases (recommended) */
.my-button {
background: var(--vd-color-primary);
border-color: var(--vd-color-primary-dark);
}
/* Golden accent track (Fibonacci-only) */
.badge-accent {
background: var(--vd-golden-1);
}Addressing a specific palette
Active scales follow data-palette. To pin a palette or reference a raw scale directly:
:root {
/* Pin a specific palette regardless of the runtime switch */
--vd-primary-5: var(--vd-oc-primary-5);
}
/* Or address either palette's raw scale directly */
.swatch-oc { background: var(--vd-oc-primary-5); } /* Open Color */
.swatch-fib { background: var(--vd-fib-primary-5); } /* Fibonacci */ Both --vd-oc-* and --vd-fib-* are always defined, regardless of the active palette.
Default palette: Open Color by Heeyeun Jeong — MIT Licensed · optional Fibonacci palette generated by @vanduo-oss/vd3