Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

Design

What every surface of this tool is rendered with, from the one declaration this executable carries.

One declaration, every surface

comparing the stylesheet with the executable
22rolesthe declaration
5statusesthe declaration
110state wordsthe declaration
4type stepsthe declaration
29site synonymsthe declaration
66palette entriesthe declaration
Source
share/design/tokens.yaml
Fingerprint
944a896b2646060d5dc100adcc36737fd5d8086e2f53d43d6858ac6fdad39540
On every page
--mj-design: "944a896b2646"
Dark means
.dark
Choice stored under
color-theme
Audited at
320px390px1024px1280px1600px

The site published to GitHub Pages, this Cockpit, the pages the executable renders itself and the Swagger shell are projections of the one file named above. A value changed there and regenerated reaches every surface; a value chosen anywhere else fails the design gate.

Roles

rolelightdarkthe site's namesfor
--mj-bg white gray-950--color-neutral-primarythe page
--mj-raised white gray-900--color-neutral-primary-soft--color-neutral-primary-medium--color-neutral-primary-stronga card, a panel, a header bar that sits on the page
--mj-sunken gray-50 gray-800--color-neutral-secondary--color-neutral-secondary-soft--color-neutral-secondary-medium--color-neutral-secondary-stronga well, a table stripe, a code block, a header cell
--mj-line gray-200 gray-800--color-default--color-default-subtle--color-default-medium--color-default-strongevery border and rule
--mj-fg gray-900 white--color-headingheadings, identifiers, values; the text that carries the page
--mj-body gray-600 gray-400--color-bodyreading text
--mj-muted gray-500 gray-400--color-body-subtlesecondary text; labels, captions, provenance
--mj-faint gray-500 gray-400the quietest text; placeholders, disabled text, a navigation group's heading. Measured, not chosen - gray-400 read 2.60:1 on the page and gray-500 4.16:1 on the dark page, so it carries muted's values until the palette holds a Tailwind step between them.
--mj-accent blue-700 blue-400--color-fg-brandlinks, the focus ring, the one colour that means interactive
--mj-accent-strong blue-900 blue-400--color-fg-brand-strongthe accent where it must read as text on the accent's soft ground
--mj-accent-soft blue-50 blue-950--color-brand-softerthe accent as a ground; a selected row, the current navigation entry
--mj-accent-line blue-200 blue-900--color-brand-subtlethe accent as a border around its soft ground
--mj-accent-fill blue-700 blue-600--color-branda primary action's background; always carries on-accent text
--mj-on-accent white whitetext on a primary action
--mj-series-1 blue-600 blue-400the first colour of the categorical series; a vocabulary a drawing cannot know in advance
--mj-series-2 orange-600 orange-400the second colour of the categorical series
--mj-series-3 emerald-600 emerald-400the third colour of the categorical series
--mj-series-4 violet-600 violet-400the fourth colour of the categorical series
--mj-series-5 cyan-600 cyan-400the fifth colour of the categorical series
--mj-series-6 rose-600 rose-400the sixth colour of the categorical series
--mj-series-7 lime-600 lime-400the seventh colour of the categorical series
--mj-series-8 fuchsia-600 fuchsia-400the eighth colour of the categorical series

Status

statusas a badgetextgroundborderthe words filed under it
okok emerald-900 emerald-50 emerald-200okpasspassedsucceededcompleteddonecurrentdeclaredcoveredhealthylivepresentsyncedstableread-onlyconnectedacceptedenforcedwiredbehaviorally-verifiedvalidcleanmergeddocumentedproven
warnwarn orange-900 orange-50 orange-200warnwarningstalepartialadvisorycancelledcancellingnot-generatedreconnectingverifyexecutableaheadbehinddirtyproposeddeprecateddegradedexperimentalephemeral
badbad rose-900 rose-50 rose-200badfailfailederrormissingblockedrejectedblockingrefuseddisconnectedofflineloststderrsupersededunwiredunsupportedowedforeignmisplacedfailingunrunnable
infoinfo blue-900 blue-50 blue-200inforunningqueuedactiveverifiedgeneratedcachedruntimeresourcependingloadingstreamingimplementedfeaturedexemptinheritedunmergeddetachedinputs-unchanged
neutralneutral fg sunken lineneutralunknownguaranteedexternalplanneddescribeddraftreadyinactivestoppedidlequerycommandbuiltindeclarativevendoredhighmediumlowsetupbeginworkinspectconcludenot-runno-test

Type

stepas itselfsize / leadingutilityfor
--text-metaThe quick brown fox jumps over the lazy dog10px/1.4text-metathe smallest legible step; counts, provenance, table headers
--text-labelThe quick brown fox jumps over the lazy dog11px/1.4text-labellabels, badges, breadcrumbs, keys of a fact list
--text-smallThe quick brown fox jumps over the lazy dog12px/1.5text-smallsecondary text at density; notes, log lines, monospace inline
--text-denseThe quick brown fox jumps over the lazy dog13.5px/1.6text-densethe body text of a control plane

Type stacks, layout, radius, motion

tokenkindvaluefor
--font-sansfontui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"the system stack every surface reads in
--font-monofontui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospacethe monospace stack for code, identifiers and logs
--tracking-capstracking0.12emthe letter-spacing of an uppercase label
--tracking-kickertracking0.24emthe letter-spacing of the uppercase line that names a page's section above its headline
--mj-measurelayout62remthe widest a reading column gets
--mj-cockpitlayout1600pxthe widest the Cockpit's layout gets before it centres
--mj-topbarlayout2.75remthe Cockpit's top bar; the sidebar and a sticky header sit under it
--radius-smradius0.25rema badge, a chip, an input
--radius-mdradius0.375rema button, a code block
--radius-lgradius0.5rema card, a panel
--mj-motion-fastmotion150msa progress bar, a hover; anything a state change animates

Projections

projectionread by
share/design/theme.cssboth Tailwind builds: the site's and the Cockpit's
share/design/surface.cssboth Tailwind builds: the site's and the Cockpit's
share/design/status.cssboth Tailwind builds: the site's and the Cockpit's
apps/majordomus-cli/src/web/tokens.cssthe pages the executable renders itself, and the Swagger shell
apps/majordomus-cli/src/design/tokens.yamlthis executable: the design capabilities and the Cockpit
apps/majordomus-cli/src/cockpit/logo-mark.svgthe Cockpit's shell
site/data/registry/design.jsonthe site's templates and the browser probes
docs/generated/design.jsona reader
docs/generated/design.yamla reader
docs/generated/design.mda reader