Color
A neutral surface, one accent, and a reserved set of colors that each carry one meaning.
On this page
Color anatomy
There are three groups of color, each with its own job.
Neutrals
Surfaces, hairlines and text. Switch themes to see the same roles in each palette.
--bgPage surface --surfaceRecessed --surface-elevatedRaised, active --borderHairline --border-brightStrong hairline --textPrimary text --text-dimSecondary text --text-faintLabels, sources Accent
--accentNow, active, primary --accent-dimAccent tint Instruments
The OpenBridge instruments draw a value at one of two priorities. A regular value is neutral grey. An enhanced value, the one that matters now, is the accent: in Day and Bright it is the accent's darker step, because an instrument writes values in it and the accent reads under 4.5:1 as text on a light dial. Selection and focus in the instruments' controls are the accent, as in every other control. Night's accent is amber and red marks only the alarm, so Night draws both instrument priorities in amber: an enhanced value is a brighter amber than a regular one, at least 1.3 times its luminance, so the two priorities differ in brightness and not in hue. Focus rings and the icon of a selected control take the same brighter amber. Every color a Night instrument draws its values, marks and controls in is amber or grey, which keeps the crew's dark adaptation; the one exception is the starboard green of the rate of turn and the thrust arrows, the sidelight convention they are read by. Night's tank media are amber and grey too: a medium whose ISO 14726 color is green, cyan or blue takes a shade of its own, and the tank's label names it. The one blue on an instrument is the water under the keel on the depth instrument, outside Night.
--element-neutral-colorRegular value --element-neutral-enhanced-colorEnhanced value --instrument-frame-primary-colorInstrument face --selected-enabled-background-colorSelected control Severity and integrity
These come from OpenBridge's alert roles, and they mean the same thing on every surface.
--alert-alarm-colorAlarm --alert-warning-colorWarning --alert-caution-colorCaution --alert-low-integrity-border-colorStale or low-integrity reading --alert-invalid-border-colorInvalid reading --alert-invalid-background-colorInvalid reading, background Roles in every theme
| Token | Night | Dusk | Day | Bright |
|---|---|---|---|---|
--textPrimary text | #EAA75E10.2:1 | #E7E9EC16.1:1 | #17181C16.0:1 | #0B0C0F19.6:1 |
--text-dimSecondary text | #8F61303.9:1 | #8B8F986.0:1 | #5B60685.7:1 | #4B50588.1:1 |
--accentAccent | #FFC87813.8:1 | #14B8A67.9:1 | #0D94883.4:1 | #0D94883.7:1 |
--alert-alarm-colorAlarm | #E90F204.6:1 | #E1000E3.9:1 | #E300194.4:1 | #EB00144.6:1 |
--alert-warning-colorWarning | #BA5A004.6:1 | #FA7D007.4:1 | #FE94132.0:1 | #FE94132.2:1 |
--alert-caution-colorCaution | #8973004.5:1 | #FFCC1612.9:1 | #FFDB421.2:1 | #FFDB421.4:1 |
Using color
Start anchor watch
Editorial and diagram color
Operational alert roles retain their meaning when a report includes an alert example. Ordinary report categories, series and process stages use the categorical data palette with written labels. A blue technical-report panel describes a subject; it does not establish a publication state or data quality.
--data-categorical-operational-01Series 1 --data-categorical-operational-02Series 2 --data-categorical-operational-03Series 3 --data-categorical-operational-04Series 4 --data-categorical-operational-05Series 5 --data-categorical-operational-06Series 6 --data-categorical-operational-07Series 7 --data-categorical-operational-08Series 8 --data-categorical-operational-09Series 9 The analytical charts take their own series palette, --data-categorical-analytical-01 to -09, from
charts.css.
Mermaid uses the --bk-diagram-* roles for canvas, neutral nodes, grouped systems, services and connections.
A dataflow connection also needs a name or pattern so it remains understandable in Night and in print. Local
PresentationScope themes resolve these roles independently. Explicit colors in authored Mermaid source can
override the shared theme, and need their own review.
Evaluate the actual pair of foreground and background, including transparent tints and nested panels. Palette membership alone does not make a fill suitable for small text. See Design tokens for the diagram matrix and the distinction between appearance and evidence.
Contrast
Text and values must reach at least 4.5:1 against the surface they sit on, in every theme. The matrix above computes each ratio from the token values, so a change that breaks contrast shows up here. Night is the one exception: its dim and faint text is held at 3.9:1 on black to keep the crew's dark adaptation, and it carries labels, never values.
Color as text
The OpenBridge alert colors are fills: in Day and Bright the warning and caution colors, and in Dusk and Day the alarm, fall under 4.5:1 as text. A word or a number in an alert's color takes its text step instead, and so does text in the red, amber, orange or yellow of a status. Shapes, borders, fills and icons keep the colors themselves. Each step reads at 4.5:1 on every surface in every theme, which the kit's contrast test holds.
| Token | Night | Dusk | Day | Bright |
|---|---|---|---|---|
--bk-alert-alarm-textAlarm, as text | #FF6B5A7.5:1 | #F871717.1:1 | #B91C1C5.8:1 | #991B1B8.3:1 |
--bk-alert-warning-textWarning, as text | #D4700F6.1:1 | #F973167.0:1 | #B4410C5.1:1 | #9A34127.3:1 |
--bk-alert-caution-textCaution, as text | #A68B006.3:1 | #FACC1512.8:1 | #665C006.1:1 | #615A007.1:1 |
--red-textRed status, as text | #FF6B5A7.5:1 | #F871717.1:1 | #B91C1C5.8:1 | #991B1B8.3:1 |
--amber-textAmber status, as text | #EAA75E10.2:1 | #F59E0B9.1:1 | #92400E6.4:1 | #92400E7.1:1 |
--orange-textOrange status, as text | #D4700F6.1:1 | #F973167.0:1 | #B4410C5.1:1 | #9A34127.3:1 |
--yellow-textYellow status, as text | #A68B006.3:1 | #FACC1512.8:1 | #665C006.1:1 | #615A007.1:1 |
Related
- Themes — the four palettes these tokens take their values from.
- Tokens — the names, the values and how they are read.
- Alarms and severity — the reserved colors, and what each one means.
- Accessibility — the contrast floor every text role is held to.