s3://rustfs-brand/color/Guidelines · Color
Color色彩
Signal carries the data, Oxide marks parity, neutrals carry the rest.
Brand Signal #0062FFParity Oxide #FF5E14Scales 3 × 11–15Standard WCAG 2.2 AA
Brand coloursBrand colours
Click a value to copy it; confirm CMYK on a proof.
The primary colour and only brand blue.
- RGB
- 0 98 255
- OKLCH
- oklch(55.6% 0.245 261.3)
- CMYK
- C90 M60 Y0 K0
Parity, about 10%; never for errors.
- RGB
- 255 94 20
- OKLCH
- oklch(68.7% 0.209 39.9)
- CMYK
- C0 M70 Y95 K0
Dark surface and text.
- RGB
- 11 14 20
- OKLCH
- oklch(16.3% 0.014 264.1)
- CMYK
- C60 M40 Y20 K100
Light surface.
- RGB
- 244 246 249
- OKLCH
- oklch(97.2% 0.005 258.3)
- CMYK
- —
ProportionProportion
Neutral 60% · Signal 30% · Oxide ≤ 10%, one Oxide focal point.
Neutral 60%Signal 30%Oxide 10%
Release · 2026-101.0.1
Release · 2026-101.0.1
Release · 2026-101.0.1
ScalesScales
Pairs marked AA are safe for body text.
Signal Blue
500 is the logo colour; small text uses 600 on light, 400 on dark.Oxide
500 never for small text; text uses 700 on light, 400 on dark.Neutral
950 is Ink, 50 is Paper; supporting text no lighter than 600.StatusStatus colours
State always pairs a label with a square marker.
Online
Drive or node healthy
- Fill
- #02A855
- Text · light
- #037E3F
- Text · dark
- #02A855
Healing
Rebuilding from parity
- Fill
- #0062FF
- Text · light
- #014FDD
- Text · dark
- #5C99FF
Degraded
Redundancy below configuration
- Fill
- #F7AE0C
- Text · light
- #A06604
- Text · dark
- #F7AE0C
Offline
Unavailable, needs action
- Fill
- #E42E41
- Text · light
- #C51B32
- Text · dark
- #FF6B78
Parity · Preview
Parity; preview feature marker
- Fill
- #FF5E14
- Text · light
- #B33A10
- Text · dark
- #FE8F5D
Oxide never signals errors or warnings.
Semantic tokensSemantic colours
Interfaces use semantic roles, named like shadcn/ui.
| Role | Light | Dark | Use |
|---|---|---|---|
--background | #FFFFFFneutral.0 | #0B0E14neutral.950 | Page background |
--foreground | #0B0E14neutral.950 | #F4F6F9neutral.50 | Body text and headings |
--card | #FFFFFFneutral.0 | #13171Eneutral.900 | Cards and panels |
--popover | #FFFFFFneutral.0 | #13171Eneutral.900 | Overlays |
--primary | #0062FFblue.500 | #0062FFblue.500 | Primary actions (Signal Blue) |
--secondary | #EAEDF2neutral.100 | #1E232Bneutral.850 | Secondary buttons |
--muted | #F4F6F9neutral.50 | #13171Eneutral.900 | Muted areas |
--muted-foreground | #5A616Dneutral.600 | #9AA0ACneutral.400 | Supporting text (≥ 4.5:1) |
--accent | #EAEDF2neutral.100 | #1E232Bneutral.850 | Hover and selected states |
--destructive | #C51B32red.700 | #FF6B78red.400 | Destructive actions and errors |
--border | #DCE0E6neutral.200 | #2B313Aneutral.800 | Rules and borders |
--input | #C4C9D2neutral.300 | #424853neutral.700 | Input borders |
--ring | #0062FFblue.500 | #5C99FFblue.400 | Focus ring |
--brand | #0062FFblue.500 | #0062FFblue.500 | Brand fills and graphics |
--link | #014FDDblue.600 | #5C99FFblue.400 | Inline links |
--parity | #FF5E14oxide.500 | #FF5E14oxide.500 | Parity and the single focal point |
--parity-text | #B33A10oxide.700 | #FE8F5Doxide.400 | Oxide text (≥ 4.5:1) |
--subtle | #424853neutral.700 | #C4C9D2neutral.300 | Secondary body text |
--faint | #757C88neutral.500 | #757C88neutral.500 | Placeholders and disabled (non-essential) |
--strong | #C4C9D2neutral.300 | #424853neutral.700 | Strong borders |
--surface | #F4F6F9neutral.50 | #13171Eneutral.900 | Section surface |
--surface-2 | #EAEDF2neutral.100 | #1E232Bneutral.850 | Second surface |
--success | #037E3Fgreen.700 | #02A855green.500 | Online · healthy |
--warning | #A06604amber.700 | #F7AE0Camber.500 | Degraded |
--danger | #C51B32red.700 | #FF6B78red.400 | Offline · error |
--info | #014FDDblue.600 | #5C99FFblue.400 | Info · healing |
--stage | #0B0E14neutral.950 | #06070Bneutral.1000 | Dark stage (dark in both themes) |
--selection | #E0ECFEblue.100 | #0062FF59 | Text selection |
Full list on Design tokens.
ContrastContrast
Body ≥ 4.5 : 1, large text ≥ 3 : 1.
| Text \ ground | White | Paper | Ink | Signal |
|---|---|---|---|---|
| Ink | 19.32AAA | 17.84AAA | 1.00— | 3.86Large |
| Neutral 700 | 9.20AAA | 8.49AAA | 2.10— | 1.84— |
| Neutral 600 | 6.24AA | 5.76AA | 3.10Large | 1.25— |
| Neutral 500 | 4.20Large | 3.88Large | 4.59AA | 1.19— |
| Neutral 400 | 2.63— | 2.43— | 7.36AAA | 1.91— |
| Neutral 300 | 1.66— | 1.54— | 11.62AAA | 3.01Large |
| White | 1.00— | 1.08— | 19.32AAA | 5.01AA |
| Blue 600 | 6.64AA | 6.13AA | 2.91— | 1.32— |
| Blue 500 | 5.01AA | 4.63AA | 3.86Large | 1.00— |
| Blue 400 | 2.82— | 2.60— | 6.86AA | 1.78— |
| Oxide 700 | 5.95AA | 5.50AA | 3.25Large | 1.19— |
| Oxide 500 | 3.06Large | 2.83— | 6.31AA | 1.64— |
| Oxide 400 | 2.26— | 2.09— | 8.56AAA | 2.22— |
Data coloursData colours
RustFS is always series 1.
SyntaxSyntax colours
Code sits on Ink; every role ≥ 4.5 : 1.
Do & Don'tColour rules
EC 4+2
RustFS
Drive 07 offline
Drive 07 offline