Vauban Docs
Design System

Product Zones

Product Zones

Every product in the Vauban ecosystem is a zone -- a distinct section of the fortress, each with its own accent color and 12-step scale. The zone system provides instant visual identification while maintaining ecosystem coherence.

The Fortification Metaphor

                    ┌─────────────┐
                    │   CITADEL   │  Amber - Inner stronghold (Trading)
                    │   (amber)   │
               ┌────┴─────────────┴────┐
               │        BASTION        │  Indigo - Forward defense (Staking)
               │       (indigo)        │
          ┌────┴───────────────────────┴────┐
          │           REMPART               │  Violet - Main wall (Blog)
          │          (violet)               │
     ┌────┴─────────────────────────────────┴────┐
     │              GLACIS                       │  Emerald - Approach (Bridge)
     │            (emerald)                      │
     └───────────────────────────────────────────┘
                  BRAIN (cyan) - Commander's intelligence

Zone Scales

Each zone has a complete 12-step OKLCH-derived scale. Step 9 is the anchor -- the primary solid color used for buttons, badges, and brand touches.

Bastion (Indigo) — Staking dApp

The ecosystem's primary zone. Indigo conveys authority and technological depth.

StepHexOKLCHPurpose
1#080a18oklch(0.151 0.030 276)Tinted background
2#0f1128oklch(0.190 0.046 277)Subtle tinted bg
3#1E1B4Boklch(0.257 0.086 281)Component bg
4#272566oklch(0.310 0.111 279)Hovered component
5#312E81oklch(0.359 0.135 279)Active component
6#3730A3oklch(0.398 0.177 277)Subtle border
7#4338CAoklch(0.457 0.215 277)Default border
8#4F46E5oklch(0.511 0.230 277)Active state
9#6366F1oklch(0.585 0.204 277)Anchor
10#818CF8oklch(0.680 0.158 277)Hover solid
11#A5B4FCoklch(0.785 0.104 275)Low-contrast text
12#E0E7FFoklch(0.930 0.033 273)High-contrast text

Rempart (Violet) — Decentralized Blog

Violet adds creative warmth to the editorial experience.

StepHexOKLCHPurpose
1#090711oklch(0.138 0.023 293)Tinted background
2#100d1coklch(0.171 0.031 292)Subtle tinted bg
3#1c1434oklch(0.221 0.061 292)Component bg
4#291d48oklch(0.270 0.077 293)Hovered component
5#36275doklch(0.320 0.093 293)Active component
6#463476oklch(0.380 0.109 293)Subtle border
7#583d98oklch(0.439 0.143 293)Default border
8#6d4abfoklch(0.510 0.175 293)Active state
9#8B5CF6oklch(0.606 0.219 293)Anchor
10#a38af4oklch(0.701 0.153 293)Hover solid
11#c0b2f8oklch(0.800 0.099 293)Low-contrast text
12#e8e5f8oklch(0.930 0.026 293)High-contrast text

Citadel (Amber) — Trading Platform

Amber evokes urgency and warmth -- appropriate for real-time trading.

StepHexOKLCHPurpose
1#0d0803oklch(0.139 0.017 76)Tinted background
2#160e05oklch(0.171 0.023 72)Subtle tinted bg
3#281601oklch(0.220 0.046 69)Component bg
4#382001oklch(0.269 0.057 69)Hovered component
5#492b00oklch(0.319 0.070 69)Active component
6#5e3900oklch(0.380 0.083 70)Subtle border
7#774500oklch(0.440 0.099 65)Default border
8#955500oklch(0.513 0.117 63)Active state
9#F59E0Boklch(0.769 0.165 70)Anchor
10#cc9147oklch(0.700 0.115 70)Hover solid
11#ddb689oklch(0.800 0.075 70)Low-contrast text
12#f1e6daoklch(0.930 0.020 70)High-contrast text

Brain (Cyan) — Knowledge Protocol

Cyan signals intelligence and analytical clarity.

StepHexOKLCHPurpose
1#040a0coklch(0.138 0.013 216)Tinted background
2#061114oklch(0.168 0.018 216)Subtle tinted bg
3#031f25oklch(0.221 0.035 214)Component bg
4#052c34oklch(0.271 0.044 215)Hovered component
5#063944oklch(0.319 0.053 217)Active component
6#0a4b57oklch(0.381 0.063 214)Subtle border
7#005d6foklch(0.441 0.079 217)Default border
8#00748aoklch(0.515 0.092 217)Active state
9#06B6D4oklch(0.715 0.126 215)Anchor
10#56acc1oklch(0.699 0.088 216)Hover solid
11#94c8d5oklch(0.801 0.057 215)Low-contrast text
12#ddebeeoklch(0.930 0.016 212)High-contrast text

Glacis (Emerald) — Bridge Protocol

Emerald represents growth and cross-chain connectivity.

StepHexOKLCHPurpose
1#040b07oklch(0.139 0.016 161)Tinted background
2#07120doklch(0.169 0.020 164)Subtle tinted bg
3#042115oklch(0.222 0.043 163)Component bg
4#072e1foklch(0.270 0.052 163)Hovered component
5#0a3d29oklch(0.321 0.064 162)Active component
6#0f4e37oklch(0.379 0.074 164)Subtle border
7#006343oklch(0.442 0.096 163)Default border
8#007a52oklch(0.512 0.113 162)Active state
9#10B981oklch(0.696 0.149 162)Anchor
10#5ab38coklch(0.701 0.105 163)Hover solid
11#96ccb1oklch(0.800 0.068 163)Low-contrast text
12#deece4oklch(0.930 0.018 161)High-contrast text

Setting a Zone

Each app sets its zone via CSS:

:root {
  --vdl-zone-rgb: 139, 92, 246; /* Rempart = Violet */
}

This variable drives the --vdl-glow-zone shadow and zone-specific highlights. The --vdl-zone-rgb value should match step 9 of the zone's scale.

Using Zone Colors

Tailwind Utilities

<!-- Direct scale access -->
<div class="bg-indigo-3 border-indigo-7 text-indigo-11">
  Bastion-tinted card
</div>

<!-- Zone accent (step 9) -->
<button class="bg-zone-rempart text-white">
  Publish
</button>

CSS Custom Properties

.zone-badge {
  background: var(--vdl-violet-3);
  border: 1px solid var(--vdl-violet-7);
  color: var(--vdl-violet-11);
}

.zone-badge-solid {
  background: var(--vdl-violet-9);
  color: white;
}

Zone Favicons

Each zone uses the star fortress mark in its accent color. The mark's V chevron is filled with the zone's step 1 (darkest) for dark contexts, or white for light contexts.