open-design/design-systems/claude/tokens.css
chaoxiaoche b68e4d3252
feat(design-systems): add tokens.css + components.html for 9 AI product brands (#1841)
* feat(design-systems): add tokens.css + components.html for 9 AI product brands

Compiles DESIGN.md prose into machine-consumable agent artifacts for
claude, cohere, elevenlabs, huggingface, mistral-ai, nvidia, opencode-ai,
replicate, and together-ai.

Each brand adds:
- tokens.css  — :root block of CSS custom properties derived from the brand's
                DESIGN.md; agents paste this directly into generated HTML <style> tags
- components.html — reference fixture embedding the token block inline and
                    demonstrating buttons, inputs, cards, and badges styled
                    with var(--token-name) calls

Key brand decisions encoded:
- claude: warm parchment canvas, terracotta accent, Anthropic Serif display
- cohere: pure white, 22px signature radius, CohereText + Unica77
- elevenlabs: achromatic + warm stone, Waldenburg weight 300, pill-shaped
- huggingface: IBM Plex Mono headings/tags, HF Yellow (#ffd21e), 4-6px radius
- mistral-ai: golden amber palette, Arial weight 400, near-zero radius
- nvidia: true black, NVIDIA Green as border/outline signal only, teal hover
- opencode-ai: Berkeley Mono sole typeface, flat depth (ring-only elevation)
- replicate: pill-shaped everything (9999px), rb-freigeist-neue heavy
- together-ai: "The Future" font, -0.03em tracking, white/midnight dual world

openai tokens.css + components.html were merged to main separately.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(design-systems): sync :root token blocks with tokens.css for opencode-ai and together-ai

opencode-ai: add missing "Liberation Mono" to all three font-stack fallbacks.
together-ai: remove --lavender declaration absent from tokens.css (guard requires byte-identical :root blocks).
Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: chaoxiaoche <chaoxiaoche@chaoxiaochedeMacBook-Pro.local>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 11:54:50 +08:00

130 lines
8.2 KiB
CSS
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.

/* ─────────────────────────────────────────────────────────────────────────
* design-systems/claude/tokens.css
*
* Structured token bindings for "Design System Inspired by Claude (Anthropic)".
* Literary salon aesthetic: warm parchment canvas, terracotta accent,
* exclusive warm-toned neutrals, Anthropic Serif for all headlines.
*
* Key brand decisions encoded here:
* - Parchment (#f5f4ed) as page canvas — never pure white
* - Ivory (#faf9f5) for elevated card surfaces
* - Terracotta (#c96442) as the single brand accent — earthy, un-tech
* - All grays carry a yellow-brown undertone — no cool blue-grays
* - Serif for headings, sans for UI — the typographic identity split
* - Ring-based depth (0 0 0 1px) instead of traditional drop shadows
* - Generous body line-height (1.60) for a literary reading experience
* - Focus blue (#3898ec) is the only cool color — accessibility only
* ─────────────────────────────────────────────────────────────────── */
:root {
/* ─── Surface (3 levels) ─────────────────────────────────────────
* Parchment (bg) → Ivory (surface) → Warm Sand (surface-warm).
* Never use pure white as a page background — the warm cream IS
* the Claude personality. */
--bg: #f5f4ed;
--surface: #faf9f5;
--surface-warm: #e8e6dc; /* Warm Sand — button bg, prominent interactive surfaces */
/* ─── Foreground ramp (4 levels) ────────────────────────────────
* Every gray carries a yellow-brown undertone. No cool blue-grays. */
--fg: #141413; /* Anthropic Near Black — warmest "black" in any major tech brand */
--fg-2: #3d3d3a; /* Dark Warm — dark text links, emphasized secondary text */
--muted: #5e5d59; /* Olive Gray — secondary body text */
--meta: #87867f; /* Stone Gray — tertiary text, footnotes, metadata */
/* ─── Border (2 levels) ──────────────────────────────────────────
* Cream-tinted borders — the gentlest possible containment. */
--border: #f0eee6; /* Border Cream — standard light-theme border */
--border-soft: #e8e6dc; /* Border Warm — section dividers, emphasized containment */
/* ─── Accent ──────────────────────────────────────────────────────
* Terracotta Brand — the only chromatic element on most screens.
* Used for primary CTA buttons and highest-signal brand moments only. */
--accent: #c96442;
--accent-on: #faf9f5; /* Ivory — fg when terracotta is the bg */
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
--accent-active: color-mix(in oklab, var(--accent), black 14%);
/* ─── Semantic ────────────────────────────────────────────────────
* Error Crimson is a warm, deep red — serious without alarming.
* Focus Blue (#3898ec) is the sole cool color in the system,
* reserved for accessibility (input focus rings). */
--success: #17a34a;
--warn: #eab308;
--danger: #b53333; /* Error Crimson — warm red, not standard danger red */
/* ─── Typography ──────────────────────────────────────────────────
* Anthropic Serif (Georgia fallback) for all headlines — the single
* weight (500) gives every heading the gravitas of a published title.
* Anthropic Sans for all UI/body — quiet functional efficiency. */
--font-display: "Anthropic Serif", Georgia, "Times New Roman", serif;
--font-body: "Anthropic Sans", "Arial", system-ui, -apple-system, sans-serif;
--font-mono: "Anthropic Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
/* Type scale — DESIGN.md §3 Typography Rules.
* 64px hero → 52px section → 36px sub → 32px card → 25px small */
--text-xs: 10px; /* Overline — uppercase labels at smallest scale */
--text-sm: 14px; /* Caption — metadata, descriptions */
--text-base: 16px; /* Body Standard */
--text-lg: 20px; /* Body Large — intro paragraphs */
--text-xl: 25px; /* Sub-heading Small */
--text-2xl: 32px; /* Sub-heading — card titles, feature names */
--text-3xl: 52px; /* Section Heading */
--text-4xl: 64px; /* Display / Hero — maximum impact, book-title presence */
--leading-body: 1.6; /* Relaxed — closer to a book than a dashboard */
--leading-tight: 1.1; /* Tight headings — serif letterforms breathe naturally */
--tracking-display: 0em; /* Serif faces carry authority; no compression needed */
/* ─── Spacing ─────────────────────────────────────────────────────
* 8px base unit per DESIGN.md §5. Card internal padding ~2432px. */
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-5: 20px;
--space-6: 24px;
--space-8: 32px;
--space-12: 48px;
--section-y-desktop: 96px; /* Editorial pacing — generous like a magazine spread */
--section-y-tablet: 64px;
--section-y-phone: 48px;
/* ─── Radius ──────────────────────────────────────────────────────
* Claude's softness: comfortably rounded (8px) for standard,
* generously rounded (12px) for primary, very rounded (16px) for
* featured containers. No sharp corners — softness is core identity. */
--radius-sm: 8px; /* Comfortably rounded — standard buttons, cards */
--radius-md: 12px; /* Generously rounded — primary buttons, inputs, nav */
--radius-lg: 16px; /* Very rounded — featured containers, video players */
--radius-pill: 9999px; /* Chip-like elements (use sparingly) */
/* ─── Elevation ───────────────────────────────────────────────────
* Ring shadows (0px 0px 0px 1px) instead of drop shadows.
* The signature is a border-like halo — shadow pretending to be
* a border. Drop shadows only at 0.05 opacity when truly needed. */
--elev-flat: none;
--elev-ring: 0 0 0 1px var(--border); /* Border-like halo */
--elev-raised: rgba(0, 0, 0, 0.05) 0px 4px 24px; /* Whisper soft — barely visible lift */
/* ─── Focus ring ──────────────────────────────────────────────────
* Focus Blue (#3898ec) is the ONLY cool color in the Claude system.
* Reserved exclusively for accessibility / keyboard focus. */
--focus-ring: 0 0 0 3px rgba(56, 152, 236, 0.3);
/* ─── Motion ──────────────────────────────────────────────────────
* Short, purposeful transitions. The editorial warmth doesn't need
* animation energy — interactions should feel calm. */
--motion-fast: 150ms;
--motion-base: 200ms;
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
/* ─── Layout ──────────────────────────────────────────────────────
* 1200px container, editorial layout. Hero is centered, feature
* sections use 23 column card grids. */
--container-max: 1200px;
--container-gutter-desktop: 24px;
--container-gutter-tablet: 16px;
--container-gutter-phone: 12px;
}