Files
Paul Roberts 6593bdf689 feat: design system v1.0.0 — reconcile tokens from cross-repo audit
Extracted real production usage from 8 KDC repos and consolidated the
consensus (kdcsurveyadd / kdcvault / kdc_void_planner) into the canonical
design.md + tokens.

Highlights:
- brand.ink #000000 -> #1A1530 (purple-tinted, matches real usage)
- brand.canvas #F5F4F0 -> #F7F4ED (warm)
- neutral ramp rebuilt around ink (purple-tinted, not cold slate)
- semantic palette retuned for warm canvas + soft tints
- elevation shadows retinted with brand-ink rgb
- new accent.gold (product) and accent.mint (marketing) tokens
- real themes/light, themes/dark, themes/high-contrast
- fleshed out every component + foundation README
- docs/consolidation-2026-05.md captures the full audit + drift inventory

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 17:51:39 +00:00

44 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Foundations · Motion
Motion is functional, not decorative — it provides feedback (state change), continuity (route / modal transitions), and confirmation (success / commit).
## Durations
| Token | ms | Use |
|-------|-----|-----|
| `instant` | 0 | Reset / disable |
| `fast` | 120 | Hover, focus, control state |
| `base` | 200 | Tooltips, dropdowns |
| `slow` | 320 | Modals, sheets, route transitions |
| `slower` | 480 | Hero animations, marketing |
## Easing
| Token | Curve | Use |
|-------|-------|-----|
| `standard` | `cubic-bezier(0.2, 0, 0, 1)` | Default — most state changes |
| `enter` | `cubic-bezier(0, 0, 0.2, 1)` | Enter-only (decelerate to rest) |
| `exit` | `cubic-bezier(0.4, 0, 1, 1)` | Exit-only (accelerate away) |
| `emphasis` | `cubic-bezier(0.2, 0, 0, 1.2)` | Overshoot — success, commit, attention |
## Signature animation
`kdc-fade-up` — used on the product family for content reveal:
```css
@keyframes kdc-fade-up {
from { opacity: 0; transform: translateY(6px); }
to { opacity: 1; transform: translateY(0); }
}
.kdc-fade-up { animation: kdc-fade-up 360ms cubic-bezier(0.2, 0, 0, 1) both; }
```
Stagger children at 4060ms intervals.
## Rules
- ✅ Respect `prefers-reduced-motion: reduce` — collapse all transitions to ≤ 10ms.
- ✅ Use `fast` for state, `base` for surfaces, `slow` for layout shifts.
- ❌ Don't animate `width` / `height` — animate `transform` and `opacity`.
- ❌ Don't bounce or spin without reason. Loading spinners are the only exception.