IYU Labs / Design / 02
Graphite, white and cobalt.
Graphite for the first visit. Cool white for light mode. A restrained blue accent marks the next action, with a deeper shade on light backgrounds.
Color follows a role
These values come from the same token source that generates the website styles. The specimen theme is independent of your site theme.
Changes these specimens only.
A product in progress.
Page, text, supporting text and actions working together. These are the website’s real buttons.
--pageThe page background.
#101218--surfaceContained specimens and editable fields.
#191d26--textHeadings and body copy.
#f4f6fa--mutedSupporting text and captions.
#a8b0c0--accentThe primary action fill.
#8eacff--accent-inkLinks and visible focus.
#acc2ff--on-accentText on the primary action.
#101827--lineGrouping and decorative separators.
#303744--fieldInput boundaries.
#77839b--tintProject frames and quiet highlights.
#222d48--dangerValidation and failure text.
#ffb1b8Check a color pair
This is body text in the selected color pair.
Passes AA for body text.
Also passes AAA for body text.
WCAG contrast for opaque sRGB colors. Large text means at least 24px regular or approximately 18.7px bold. Borders that identify controls need 3:1; decorative rules do not.
Use the pair, not just the color
Pair accent with on-accent for a filled action. Use accent-ink for links. Use text or muted on page, surface and tint. The line token separates groups; field is the stronger boundary for controls.
A theme before the first paint
The root page starts dark. An inline script reads the explicit choice stored under iyu-theme-v1 before paint. ThemeToggle writes that choice and updates the root data-theme attribute. Blocked browser storage keeps the default usable.
Documentation previews use their own data-theme attribute. Their selectors do not change the website preference. Product screenshots retain the product’s actual colors in either site theme.
/* Existing utility aliases in globals.css map to semantic roles. */
@theme inline {
--color-ink: var(--text);
--color-paper: var(--page);
--color-brass: var(--accent-ink);
--color-brass-soft: var(--tint);
}
/* "brass" is a retained utility name. The current accent is cobalt. */