ZEROlobby
22/22 strict⌘Kvisitor
skip to main
6 skins · ADR-013
skin
——:——:——zcovenant · audit
skin engine· six canonical · derived not picked

one wordmark · six atmospheres

every primitive that consumes the role tokens retints when data-skin changes. the engine writes the skin; the floor wears it. acid leads the brand-canonical surfaces; amber leads the capital-markets parent body. neither is demoted.

02 · posturewhen each skin leads

posture decides the skin

no operator picks a skin. the surface declares its posture and the engine resolves the skin. brand-canonical leads with acid; capital-markets leads with amber; ritual leads ceremony; refusal leads refuse.

plate · 02 · posture · surface · brand-signalcontract
metric
skin_assignments
unit
skins
window
static
agg
identity
source
packages/tokens/skins/<id>.contract.json
fresh
last commit
idposturesurfaces · where it leadsbrand-signal
bloomberginheritance-canonical · amber-led · capital-markets parent bodyfloor · cockpit · journal · foundation · league#e9aa47
ceremonyritual · acid + magenta · drops, signing, settlement/drops/<id> · /replay/<id> · /tier promotions#edf800
midnightoperator-late · cobalt-led · low-light cockpitafter-hours cockpit · long-session · /studio late#7ba9d6
refusehalted · red-led · refusal posturekill-switch · loss-floor · refused entries · /halt#e08770
signaturebrand-canonical · amber-led · the wordmark variantbrand · drops · signing · /tier upgrades#d6a64a
specimenarchive · monochrome · print/specimen-page/v<n> archive · dossier print · spec sheets#ebe5d4
the posture column is the contract; the engine resolves the rest.
03 · ringsfour roles · per skin

brand · data · figure · ground

every skin declares the same four anchor roles. the rest of the palette derives from oklch ramps. inheritance is structural, not stylistic.

branddatafigureground
bloomberg
branddatafigureground
ceremony
branddatafigureground
midnight
branddatafigureground
refuse
branddatafigureground
signature
branddatafigureground
specimen
04 · contractthe file shape

six files · one schema

every skin lives at packages/tokens/skins/<id>.contract.json. the schema is identical: id, label, posture, eight role oklch triples, derived ramps. the harmony gate validates each on every commit.

rule
adding or modifying a skin requires an ADR. the gateci:skin-harmony checks AAA contrast on body roles, AA on indicator roles, and refuses any contract that slips. the picker above is the only canonical entry point for switching skins; setting data-skin by hand on any element scopes the change.