WootBuild.

Studio/docade/Style guide

Identity · identity/README.md

Neon Cyan
#22E6F2
Lime
#A8F063
Teal
#00D1B2
Deep Navy
#0B0F1A
Slate
#1C2230
Light
#F5F7FB

docade identity — a held copy, not a source

These are the client's files. The source of truth is ~/Projects/docade/assets/identity/, which is generated by their npm run assets:identity:package. Never hand-edit anything here, and never edit it there either — edit their scripts/build-identity.mjs.

Copied 2026-08-19 from their approved package so that the WootBuild console can render a client's own mark. The console builds in CI, where the client repo does not exist, so the bundle cannot read across to it — the alternative to holding a copy is a dashboard that shows a broken image on every deploy.

Held hereUsed for
wordmark.svgThe client page header. Full colour, for dark grounds
wordmark-mono.svgcurrentColor — kept for tinted or light grounds
mark.svgThe client card on the studio page, and anywhere under 96px
favicon.svgHeld for completeness; nothing renders it yet

Their rules, which the console obeys

From their assets/identity/README.md, and these are the ones a rendering surface can actually break:

  1. Never remove the chequered flag. Below 96px the lockup is not used at all — the console switches to mark.svg, and their minimum for that is 24px.
  2. Clear space is one counter — half the height of the o — on all sides.
  3. Never on a gradient, a mid-tone, or a busy ground. The console's ground is #0f1115, flat, which is close to their own #0B0F1A.
  4. On a light ground cade is near-black, never grey and never brand colour: no colour in their palette passes WCAG AA on light — cyan reaches 1.49, lime 1.33, teal 1.89. That is why wordmark-mono.svg is held too.

Colour — identity surfaces only

Brand colours own identity surfaces: splash, store icon, og-image, email, favicon, admin header. In-app colour is a separate, fixed system and is not ours to change — tickets, tokens, streaks and completion states carry meanings the product depends on.

NameHex
Neon Cyan#22E6F2
Lime#A8F063
Teal#00D1B2
Deep Navy#0B0F1A
Slate#1C2230
Light#F5F7FB

The gradient runs left to right across each element separately. One ramp stretched over a whole lockup leaves the mark in the cyan end and the lime never appears at all.

⚠ No colour in this palette passes WCAG AA on a light ground — cyan reaches 1.49, lime 1.33, teal 1.89. On light, cade is near-black. That is what wordmark-mono.svg is for.

The one thing the console changes

Their gradients are declared with the ids docadeBrand and docadeBrandWord. An inlined SVG's ids are global to the HTML document, so two clients' marks on one page would collide and every mark after the first would render in the first one's gradient. site/build-data.mjs namespaces every id per client at build time. Nothing about the artwork changes.

Refreshing

Re-copy from the client repo when they regenerate. There is no automation for it on purpose: their package is theirs, and a sync that ran unattended could pull a half-finished revision onto our dashboard the moment they saved.