<style>
/* Override the DNA hue — every derived color updates automatically */
:root {
--vel-dna-hue: 145; /* 258=violet, 145=forest, 205=ocean, 22=ember */
}
/* All tokens are derived:
--vel-color-primary: oklch(65% 0.21 var(--vel-dna-hue))
--vel-surface-0: oklch(7% 0.02 var(--vel-dna-hue))
--vel-text-1: oklch(92% 0.015 var(--vel-dna-hue)) */
</style><!-- Or do it in JavaScript — the complete theming logic: --><divstyle="font-family:monospace;font-size:0.8rem;color:#94a3b8;padding:8px;background:#0d1422;border-radius:6px">
document.documentElement.style.setProperty('--vel-dna-hue', '145');
</div>
Scope themes per section with data-vel-theme
data-vel-theme="ocean" (hue 205)
example.html
<!-- Each section gets its own color universe — inherits from parent --><sectiondata-vel-theme="ocean"style="padding:1rem;border-radius:0.5rem;border:1px solid #1e2d45"><pstyle="color:#64748b;font-size:0.8rem;margin-bottom:0.5rem">data-vel-theme="ocean" (hue 205)</p><buttonclass="vel-btnvel-btn-primary">Ocean Button</button></section><!-- data-vel-theme values: ocean | forest | ember | aurora | gold -->
Override legacy tokens at :root
example.html
<style>
:root {
--vel-primary-500: #e11d48; /* your brand color */
--vel-radius-lg: 0.75rem; /* rounder corners */
--vel-font-sans: 'Inter', system-ui, sans-serif;
}
</style><!-- All vel-btn-primary, vel-text-primary, vel-bg-primary update automatically --><buttonclass="vel-btnvel-btn-primary">Branded Button</button>