| name | CorridorKey | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| description | Visual contract for the CorridorKey Tauri GUI and browser POC. Tokens extracted from src/gui/src/index.css (Tailwind v4 `@theme`). Components share zinc-near-black surfaces with a sky-blue accent and Apple-system typography. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tokens |
|
Source of truth for the visual surface. Tokens above are the only values the
GUI may reference. Token source file: src/gui/src/index.css.
If a category is not declared here, it does not exist in the design system
yet - do not invent it in code.
CorridorKey's brand is sky-blue on zinc-near-black, not yellow-on-warm-black.
The core identity colors are brand, surface, and text; UI role aliases
map existing components to that same zinc/sky-blue system.
brand(#0ea5e9) is reserved for primary action, focus, and the wordmark. Do not use it for body text or background.surface(#09090b) is the page background. All overlays sit on top of it.text(#fafafa) is the only default foreground. Disabled and muted variants derive from the zinc role aliases.background,foreground,card,muted-foreground,accent,primary,secondary,destructive, andringare semantic utility aliases used by existing React components. They do not create a second brand palette; they bind component roles to zinc, sky-blue, and error red.
The raw Tailwind palette (zinc-*, sky-*) is available through Tailwind's
default theme. Prefer the semantic tokens above for any role-bearing color;
reach for raw scale values only inside Tailwind utility classes.
A single font stack: -apple-system, system-ui, sans-serif. No web fonts are
loaded - shipping a native-feeling Tauri desktop and a fast browser POC both
benefit from the platform-provided UI font. A typographic scale (sizes,
weights, line-heights) is not declared; until then, rely on Tailwind's default
type ramp.
Three border radii, increasing with surface size:
radius.md(8px) for small interactive controls.radius.lg(12px) for buttons and inline panels.radius.xl(16px) for cards, modals, and full-bleed panels.
Sharp corners (0px) are not part of the system. Pill-shapes (9999px) are
not part of the system.
One shadow token: shadow.apple. It models the soft, near-black-on-near-black
elevation used in macOS-style desktop UIs and survives on zinc-950 because it
is colored, not just opaque. There is intentionally no shadow ramp; the
single elevation matches the flat, native-feeling surface.
The GUI may define named utility classes when a visual is a reusable composition of existing tokens rather than a new token value.
ck-preview-emptyis the empty media viewer background. It derives fromcardandbackground.ck-preview-checkerboardis the transparent-preview checkerboard. It derives fromcardandbackground.ck-wipe-divideris the comparison divider glow. It derives frombrand.ck-wipe-handleis the Auto Compare draggable handle. It derives frombrand,background,radius.md, andshadow.apple.
Spacing scale is not declared; use Tailwind's default spacing utilities until project-specific tokens are pinned.
Easings and durations are not declared; use Tailwind's default transition
utilities (transition, duration-150, ease-in-out) until a motion contract
is pinned.
- Do reference tokens through Tailwind v4
@theme(var(--color-brand),--radius-lg) or the matching utility classes. - Do keep new visual decisions in token form; if a value would be repeated more than once across the GUI, it should land here first.
- Don't introduce a second accent color. Sky-blue is the only accent; warm tones break the brand split documented in product memory.
- Don't add new shadows or radii ad hoc. Extend the token set in
src/gui/src/index.cssand re-run the audit in the same change. - Don't load external fonts. The Apple-system stack is the design choice.