mirror of
https://github.com/nexu-io/open-design.git
synced 2026-05-31 19:04:39 +07:00
Adds the schema-compliant token + fixture pair for the next 10 brands in Tier E (consumer / hardware / global-cultural surfaces): - pinterest, airtable (visual discovery + no-code product) - bmw, tesla (automotive: German precision vs. EV minimalism) - spacex (aerospace cosmic minimalism, zero-shadow) - nike (sportswear, monochrome editorial) - playstation (gaming console, dark-first cobalt) - starbucks (warm cream + Siren Green) - wechat, xiaohongshu (CJK-primary consumer apps, bilingual stacks) Each pair declares all 56 shared tokens (26 A1 + 26 A2 + 4 B-slot) in :root with brand-rationale comments in tokens.css and a comment-free byte-equivalent :root in components.html. No C-extensions were needed. Validation: - pnpm guard: passed (66 brand pairs aligned, 3714 declarations, 66 brands declare all A1/A2/B-slot tokens, A2 defaults parity intact, flag parity unchanged) Co-authored-by: chaoxiaoche <chaoxiaoche@chaoxiaochedeMacBook-Pro.local> Co-authored-by: Cursor <cursoragent@cursor.com>
154 lines
9.8 KiB
CSS
154 lines
9.8 KiB
CSS
/* ─────────────────────────────────────────────────────────────────────────
|
||
* design-systems/spacex/tokens.css
|
||
*
|
||
* Structured token bindings for "Design System Inspired by SpaceX".
|
||
* Cinematic aerospace minimalism: pure black canvas, full-viewport
|
||
* photography, D-DIN industrial type, universal uppercase + positive
|
||
* tracking, zero shadows / cards / decoration. The interface disappears
|
||
* behind the imagery — only type, photography, and a single ghost button.
|
||
*
|
||
* Key brand decisions encoded here:
|
||
* - Pure Space Black (#000000) — the void of space; never a soft black
|
||
* - Spectral White (#f0f0fa) — slight blue-violet tint that mimics starlight
|
||
* - --surface aliases to --bg — SpaceX has NO cards, panels, or containers
|
||
* - Ghost border (rgba(240,240,250,0.35)) — only visible interactive edge
|
||
* - D-DIN industrial typeface — DIN heritage, stenciled aerospace voice
|
||
* - Display tracking 0.02em (= 0.96px at 48px) — DESIGN.md §3 verbatim
|
||
* - Tight leading 1.0 — compressed mission-briefing rhythm
|
||
* - --elev-raised: none — zero shadows; depth comes from photography
|
||
* - --radius-pill: 32px — the ghost button is the SOLE rounded element
|
||
* ─────────────────────────────────────────────────────────────────── */
|
||
|
||
:root {
|
||
/* ─── Surface ─────────────────────────────────────────────────────
|
||
* The void of space. There is no card tier, no warm tier — every
|
||
* SpaceX section is text-on-photograph, not text-on-surface. We
|
||
* still declare --surface so cross-brand components that paint a
|
||
* card still resolve, but it deliberately matches --bg. */
|
||
--bg: #000000; /* Space Black — pure void, the foundation canvas */
|
||
--surface: #000000; /* No card surfaces — content sits directly on the void */
|
||
--surface-warm: var(--surface); /* alias — no warm tier in an achromatic system */
|
||
|
||
/* ─── Foreground ──────────────────────────────────────────────────
|
||
* Spectral White, never pure white. The slight blue-violet tint
|
||
* mimics starlight on a spacecraft hull and prevents the clinical
|
||
* feel of #ffffff against pure black. */
|
||
--fg: #f0f0fa; /* Spectral White — primary text, mission-critical signal */
|
||
--fg-2: var(--fg); /* alias — single text weight throughout the system */
|
||
--muted: rgba(240, 240, 250, 0.7); /* Dimmed spectral — captions, secondary labels */
|
||
--meta: var(--muted); /* alias — tertiary FG identical to muted on dark canvas */
|
||
|
||
/* ─── Border ──────────────────────────────────────────────────────
|
||
* The Ghost Border (35% spectral) is the only edge that ever
|
||
* appears — on the lone ghost CTA button. Inner separators borrow
|
||
* the 10% spectral surface tint so they barely register. */
|
||
--border: rgba(240, 240, 250, 0.35); /* Ghost Border — DESIGN.md §2 verbatim */
|
||
--border-soft: rgba(240, 240, 250, 0.1); /* Inner separators / barely-visible dividers */
|
||
|
||
/* ─── Accent ──────────────────────────────────────────────────────
|
||
* SpaceX has no chromatic accent — Spectral White IS the accent.
|
||
* Hover lifts to pure white (Hover White / --white-100 in DESIGN.md);
|
||
* active gently dims. The full ghost-button affordance is
|
||
* implemented in components, not in the accent token. */
|
||
--accent: #f0f0fa; /* Spectral White stands in for any brand accent */
|
||
--accent-on: #000000; /* Black text when accent is the bg */
|
||
--accent-hover: #ffffff; /* Hover White — pure white per DESIGN.md §2 */
|
||
--accent-active: #d8d8e6; /* Dimmed spectral — pressed state */
|
||
|
||
/* ─── Semantic ────────────────────────────────────────────────────
|
||
* Schema defaults preserved. SpaceX's homepage is purely
|
||
* presentational and almost never surfaces semantic state, but the
|
||
* tokens must resolve when shared components reference them. */
|
||
--success: #16a34a;
|
||
--warn: #eab308;
|
||
--danger: #dc2626;
|
||
|
||
/* ─── Typography ──────────────────────────────────────────────────
|
||
* D-DIN — industrial geometric, German DIN heritage. Two weights
|
||
* only: 700 (Bold) for display + nav emphasis, 400 for body.
|
||
* Fallbacks per DESIGN.md §3: Arial, Verdana. */
|
||
--font-display: "D-DIN-Bold", "D-DIN", "DIN Alternate", "Helvetica Neue", Arial, Verdana, sans-serif;
|
||
--font-body: "D-DIN", "DIN Alternate", "Helvetica Neue", Arial, Verdana, sans-serif;
|
||
--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
|
||
|
||
/* Type scale — DESIGN.md §3 anchors: 10px (Micro), 12px (Caption /
|
||
* Nav), 16px (Body), 48px (Display Hero). Intermediate tiers
|
||
* (20/24/32/40) are interpolated for the few moments a SpaceX-style
|
||
* layout needs them; the actual brand uses very few sizes. */
|
||
--text-xs: 10px; /* Micro — uppercase ghost labels */
|
||
--text-sm: 12px; /* Caption / Nav Link — uppercase */
|
||
--text-base: 16px; /* Body — standard reading text */
|
||
--text-lg: 20px;
|
||
--text-xl: 24px;
|
||
--text-2xl: 32px;
|
||
--text-3xl: 40px;
|
||
--text-4xl: 48px; /* Display Hero — D-DIN-Bold uppercase, "MISSION" weight */
|
||
|
||
--leading-body: 1.5; /* DESIGN.md says 1.5–1.7 for reading body */
|
||
--leading-tight: 1.0; /* Display / mission-briefing rhythm */
|
||
--tracking-display: 0.02em; /* = 0.96px at 48px — DESIGN.md §3 hero spec verbatim */
|
||
|
||
/* ─── Spacing ─────────────────────────────────────────────────────
|
||
* 8px base unit per DESIGN.md §5. Schema-default scale preserved —
|
||
* SpaceX's irregular published scale (3/5/12/15/18/20/24/30) is a
|
||
* brand-specific rhythm; cross-brand components paint at 4/8/12/16. */
|
||
--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 rhythm ──────────────────────────────────────────────
|
||
* DESIGN.md §5: each section is one full viewport. We can't bind
|
||
* "100vh" to padding (it would collapse on short content), so
|
||
* section-y is generous to evoke the cinematic single-viewport
|
||
* rhythm in fixture renderings. */
|
||
--section-y-desktop: 120px;
|
||
--section-y-tablet: 80px;
|
||
--section-y-phone: 56px;
|
||
|
||
/* ─── Radius ──────────────────────────────────────────────────────
|
||
* Sharp 4px on dividers / utility — DESIGN.md §5 "Sharp (4px)".
|
||
* --radius-pill rebound to 32px because SpaceX's ghost button IS
|
||
* the only rounded element in the system, and "pill" semantically
|
||
* maps to that lone interactive surface. */
|
||
--radius-sm: 4px;
|
||
--radius-md: 4px; /* No medium tier exists — same as sm */
|
||
--radius-lg: 4px; /* No large tier exists — same as sm */
|
||
--radius-pill: 32px; /* Ghost button radius — the only rounded element */
|
||
|
||
/* ─── Elevation (ZERO shadows) ────────────────────────────────────
|
||
* DESIGN.md §6: "SpaceX uses ZERO shadows." Every surface is
|
||
* already a photograph with natural lighting; CSS shadows would
|
||
* compete with the cinematic content. --elev-raised resolves to
|
||
* `none` so any shared component requesting a raised surface
|
||
* silently flattens instead of painting a synthetic drop shadow. */
|
||
--elev-flat: none;
|
||
--elev-ring: 0 0 0 1px var(--border); /* Hairline spectral ring — ghost-button edge */
|
||
--elev-raised: none; /* Zero shadows — photography carries depth */
|
||
|
||
/* ─── Focus ring ──────────────────────────────────────────────────
|
||
* Solid 2px spectral ring — high contrast on black canvas. No
|
||
* blurred glow (consistent with the zero-shadow philosophy). */
|
||
--focus-ring: 0 0 0 2px var(--accent);
|
||
|
||
/* ─── Motion ──────────────────────────────────────────────────────
|
||
* Standard schema durations. SpaceX's drama is in the photography
|
||
* and type, not in animated state changes. */
|
||
--motion-fast: 150ms;
|
||
--motion-base: 200ms;
|
||
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
||
|
||
/* ─── Layout ──────────────────────────────────────────────────────
|
||
* 1440px container — wide-format layouts honour the cinematic
|
||
* full-bleed feel without letting hero copy stretch beyond
|
||
* readable on ultra-wide displays. Generous gutters keep the
|
||
* "edge-to-edge imagery" feel even at smaller breakpoints. */
|
||
--container-max: 1440px;
|
||
--container-gutter-desktop: 24px;
|
||
--container-gutter-tablet: 20px;
|
||
--container-gutter-phone: 18px;
|
||
}
|