open-design/design-systems/mongodb/tokens.css
chaoxiaoche b603a4ec54
feat(design-systems): add tokens.css + components.html for 10 devtool / fintech / docs brands (#2029)
Brands added (each with full 56-token :root + self-contained fixture):
- Devtools / data infra: clickhouse, hashicorp, mongodb, mintlify, sentry-adjacent (lovable, superhuman)
- AI-app builder / messaging: intercom, lovable, superhuman
- Fintech / crypto: coinbase, binance, wise

All 10 declare the complete shared schema (26 A1 + 26 A2 + 4 B-slot) with no
C-extensions; pnpm guard reports all 6 contract checks passing.

Co-authored-by: chaoxiaoche <chaoxiaoche@chaoxiaochedeMacBook-Pro.local>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 14:03:01 +08:00

176 lines
11 KiB
CSS
Raw 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/mongodb/tokens.css
*
* Structured token bindings for "Design System Inspired by MongoDB".
* Forest-dark database aesthetic: a near-black teal canvas (#001e2b) lit
* by a single bioluminescent neon green (#00ed64), serif authority at
* hero scale, and shadows that carry the brand color into elevation.
*
* Key brand decisions encoded here:
* - Forest Black (#001e2b) as the primary canvas — never pure black;
* the teal undertone is what keeps the dark mode feeling alive
* rather than void
* - MongoDB Green (#00ed64) as the singular electric accent — used
* for highlights, underlines, and one CTA per screen
* - MongoDB Value Serif for display sizes — editorial authority at
* database-company scale; Euclid Circular A for everything else
* - Source Code Pro as the mono voice — wide-tracked uppercase
* labels are the "database field" identity
* - Teal-tinted shadows (rgba(0,30,43,0.12)) — depth that belongs to
* the MongoDB color world, not generic neutral black
* - Full 4-tier fg/border ramps — MongoDB genuinely uses #ffffff →
* #e8edeb → #b8c4c2 → #5c6c75 for cascading text hierarchies and
* #3d4f58 for dark-surface edges
* ─────────────────────────────────────────────────────────────────── */
:root {
/* ─── Surface ─────────────────────────────────────────────────────
* Forest-dark canvas: the page is the deepest teal-black; cards lift
* on a slightly warmer deep-teal panel. No warm tier — MongoDB's
* palette is strictly cool (teal, green, blue) and surface-warm
* aliases to the dark surface rather than introducing an amber tint
* that would break the forest atmosphere. */
--bg: #001e2b; /* Forest Black — the deepest teal-black canvas */
--surface: #1c2d38; /* Deep Teal — lifted cards / secondary dark panels */
--surface-warm: var(--surface); /* alias — MongoDB has no warm tier */
/* ─── Foreground ──────────────────────────────────────────────────
* Four-tier ramp matches MongoDB's real usage on dark surfaces:
* pure white for headings, light-input for body, silver-teal for
* captions, cool-gray for metadata. Independently bound (not
* aliased) because the brand actually paints each tier somewhere. */
--fg: #ffffff; /* Pure White — primary text on dark */
--fg-2: #e8edeb; /* Light Input — body text, secondary headings */
--muted: #b8c4c2; /* Silver Teal — captions, supporting text */
--meta: #5c6c75; /* Cool Gray — metadata, tertiary labels */
/* ─── Border ──────────────────────────────────────────────────────
* Teal Gray edges on dark surfaces — the cool border tone that
* belongs to the forest palette. border-soft aliases because
* MongoDB does not draw an inner-separator tier distinct from the
* card edge on dark mode. */
--border: #3d4f58; /* Teal Gray — dark-surface card edge */
--border-soft: var(--border); /* alias — no inner separator tier on dark */
/* ─── Accent ──────────────────────────────────────────────────────
* MongoDB Green — neon, electric, bioluminescent. Used sparingly
* (≤2 per screen) for headline highlights, accent underlines, and
* one CTA per section. accent-on is Forest Black (not white)
* because neon green is luminous enough that dark text reads with
* far more contrast than white. accent-hover is the functional
* muted Dark Green (#00684a) from DESIGN.md §2 — the brand's own
* darker green variant, not a synthesized darken. */
--accent: #00ed64;
--accent-on: #001e2b; /* Forest Black text on neon green CTAs */
--accent-hover: #00684a; /* Dark Green — MongoDB's own muted variant */
--accent-active: color-mix(in oklab, var(--accent-hover), black 12%);
/* ─── Semantic ────────────────────────────────────────────────────
* Standard semantic palette. MongoDB's brand green is already the
* accent; success keeps the schema default so it does not collide
* with the neon brand voice. */
--success: #16a34a;
--warn: #eab308;
--danger: #dc2626;
/* ─── Typography ──────────────────────────────────────────────────
* Three voices, three roles:
* --font-display: MongoDB Value Serif for editorial hero headlines
* --font-body: Euclid Circular A for geometric body / UI
* --font-mono: Source Code Pro for code and wide-tracked labels
* The serif-at-hero choice is the typographic signature; component
* CSS should never substitute the body face for display sizes. */
--font-display: "MongoDB Value Serif", "Times New Roman", Times, ui-serif, Georgia, serif;
--font-body: "Euclid Circular A", "Akzidenz-Grotesk Std", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
--font-mono: "Source Code Pro", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
/* Type scale — distilled from DESIGN.md §3 hierarchy table.
* 96px hero (MongoDB Value Serif) and 64px sub-hero are the
* editorial moves; the rest follows Euclid Circular A from 11px
* small to 36px section heading. Weight 300 body is encoded in
* component CSS (the schema does not carry weight tokens). */
--text-xs: 11px; /* Small — tags, annotations */
--text-sm: 14px; /* Caption, Code Label */
--text-base: 16px; /* Body Light, Nav, Code Body */
--text-lg: 20px; /* Body Large — introductions */
--text-xl: 24px; /* Sub-heading — feature titles */
--text-2xl: 36px; /* Section Heading */
--text-3xl: 64px; /* Display Secondary — serif sub-hero */
--text-4xl: 96px; /* Display Hero — serif at editorial scale */
/* Leading + tracking — DESIGN.md §3.
* Body Light uses 1.52.0; we sit at 1.5 so paragraphs breathe
* without losing rhythm. Hero display uses 1.20 (tight). Display
* letter-spacing is `normal` — MongoDB Value Serif at 96px does
* not compress like Geist or industrial sans; the serif drawing
* carries the authority without negative tracking. */
--leading-body: 1.5;
--leading-tight: 1.2;
--tracking-display: normal;
/* ─── Spacing ─────────────────────────────────────────────────────
* 8px-rooted scale; MongoDB's documented spacing (1/4/7/8/10/12/
* 14/15/16/18/20/24/32) includes odd sub-tiers (7, 14, 15, 18)
* for fine-grained type alignment that stay component-internal.
* The schema's 4/8/12/16/20/24/32/48 covers the structural rhythm. */
--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 Whitespace Philosophy: dark hero
* sections use extra vertical padding (80px+) to let the forest-
* dark background breathe. 96px desktop sits at the generous end
* of MongoDB's documented range. */
--section-y-desktop: 96px;
--section-y-tablet: 64px;
--section-y-phone: 40px;
/* ─── Radius ──────────────────────────────────────────────────────
* DESIGN.md §5 radius scale: 1/2/4/8/16/20/24/30/32/48/100/9999.
* Schema slots bind to: 4 (input subtle), 8 (standard card / link),
* 16 (card), 9999 (pill button). The 3032px image radius and
* 48px hero radius live as inline overrides in components.html
* where they apply — they are surface-specific, not scale-wide. */
--radius-sm: 4px; /* inputs, small buttons */
--radius-md: 8px; /* standard cards, links */
--radius-lg: 16px; /* feature cards, containers */
--radius-pill: 9999px; /* pill buttons, badges */
/* ─── Elevation ───────────────────────────────────────────────────
* Forest-tinted shadow signature. DESIGN.md §6: the primary card
* elevation uses rgba(0, 30, 43, 0.12) — a teal-tinted shadow that
* carries the forest-dark brand color into the depth system. Even
* on light surfaces, shadows feel like they belong to the MongoDB
* color world rather than being generic neutral black. */
--elev-flat: none;
--elev-ring: 0 0 0 1px var(--border);
--elev-raised:
0 26px 44px rgba(0, 30, 43, 0.12),
0 7px 13px rgba(0, 0, 0, 0.13);
/* ─── Focus ring ──────────────────────────────────────────────────
* Neon-green-tinted halo at 30% alpha — uses the brand accent so
* keyboard focus reads as part of the MongoDB color world rather
* than a generic blue ring. */
--focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 70%);
/* ─── Motion ──────────────────────────────────────────────────────
* Standard durations — MongoDB's identity lives in color, type,
* and shadow; animation is purposeful, not choreographed. */
--motion-fast: 150ms;
--motion-base: 200ms;
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
/* ─── Layout ──────────────────────────────────────────────────────
* 1200px max content width — contained editorial layouts within
* generous full-bleed dark sections. */
--container-max: 1200px;
--container-gutter-desktop: 24px;
--container-gutter-tablet: 16px;
--container-gutter-phone: 12px;
}