Files
workbuddy_skills/open-design/design-systems/spacex/tokens.css
T

154 lines
9.8 KiB
CSS
Raw Normal View History

/* ─────────────────────────────────────────────────────────────────────────
* 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;
}