Skip to main content

Color scope — one core, many hues

Each TED OS surface gets its own accent hue; the foundation stays neutral. The rule keeps the admin's hue out of the foundation and leaves every future surface free to claim its own.

The four scopes

ScopeHueWhere
AdminCianExclusive to the admin — including its dark-mode accent. Never in foundation, brand, or docs.
ConsoleAmber / HalideExclusive to the console (the warm-dark Aurea Ink matiz).
BrandAzafránReserved for the TED brand (brand marks, brand surfaces). Never an everyday working accent.
Foundationneutral@tedos/ui is neutral and icon-agnostic — no Cian, no HugeIcons, no ink.

Before tokenizing a color, ask which surface it belongs to: brand → Azafrán / neutrals · admin → Cian · console → Amber / Halide (on ink) · foundation → neutral.

One accent moment per screen

At most one accent moment per screen — the accent is the single attention magnet (one primary action or one active state per view), never sprinkled.

Status colors live outside the accent family

Status and category colors must use the dedicated status tones — info / success / warning / danger / neutral — never the accent hue. The accent is a surface's hue, not a status color. This is what makes the one-accent budget reviewable: count the surfaces resolving to the accent on a screen; more than one is a review blocker.

AI surfaces

A reserved AI violet (--color-ai) marks AI-generated / AI-assisted surfaces — one isolate per group, never co-occurring with an accent moment in the same group. It is not a second accent.

Why

This avoids baking the admin's hue into the foundation and denying its own hue to future surfaces. "One core, many hues" is the brand principle the color scope enforces. See Foundations.