Brand System

Campaign Tokens

Lime and other celebratory accents are opt-in via @vandoko/vandoko-campaign-tokens only — never in the core palette.

Campaign Tokens

The core brand palette is the cool cyan / azure / teal spectrum on obsidian surfaces. Lime is retired from the core system as of the v2.2 brand lock (2026-06-02) — it survives only as an opt-in campaign accent.

Lime is not part of the core or data-series palette. --chart-2 is azure and --chart-4 is teal. Do not reintroduce lime into component defaults — it is opt-in only via the campaign-tokens block.

When to use campaign tokens

Campaign tokens are for celebration / hero-CTA / "money found" moments — short-lived, high-energy surfaces — not for everyday data or UI. For everyday secondary accents, use the sand family (--sand, --sand-light, --sand-whisper) from the core contract.

Opt in

Campaign accents ship as a separate registry:base block so the core install never pulls them in:

npx shadcn@latest add @vandoko/vandoko-campaign-tokens

Installing it adds the campaign accent tokens (including --brand-lime) alongside the core theme. Components that want a campaign accent reference the campaign tokens; without the opt-in install, those variables are undefined and the component falls back to its core-palette default.

History

  • 2026-05-06 — lime quarantine: --brand-lime extracted out of vandoko-theme into the vandoko-campaign-tokens block (gated install).
  • 2026-06-02 — v2.2 brand lock: lime fully retired from the data-series palette; --chart-2 → azure, --chart-4 → teal; signal cyan re-tuned #00E5FF → #00EEFF.

See the full annotated token list in Vandoko Dark Theme and the contract in Token Contract.

On this page