The palette is a foundation, not a limitation. When a design needs a color that isn't in the system, derive it from one that is — new hues inherit Kiduna's lightness and chroma, so they land warm and dark-UI native instead of neon. Name additions `--kid-*` and keep them with the design.

###### 1 · Spin a hue — keep Kiduna's l + c

violet (source)
hue 200
hue 20
hue 340
oklch(from var(--kid-violet) l c <hue>)

###### 2 · Build the ramp — mix toward espresso and cream white

deep · 55% + espresso
core
bright · 62% + cream
tint · 30% + cream
color-mix(in oklch, <hue> N%, var(--kin-espresso) | var(--kin-cream-white))

###### 3 · Soft fills — the badge / chip recipe

sky 14%
gold 14%
new hue 14%
mint 14%
color-mix(in srgb, <hue> 14%, transparent) — pair with the full-strength hue as text

Rules of derivation: anchor lightness/chroma to an existing ramp step (never crank chroma past the brand's); check cream-white text contrast on any new surface tone; avoid drifting cold — if a new hue reads icy, mix 4–8% camel in. Hierarchy is prominence, not permission: derived colors are as legitimate as the originals, for any purpose.