Bullion Design System Reference
Bullion is a cryptocurrency exchange platform with a dual-theme design — white marketing site with Bullion Blue (#0052FF) accents, and a dark trading dashboard. 5 proprietary font families, styled-components, and atomic CSS.
Marketing Website
White canvas with Bullion Blue (#0052FF) accents. Built with CDS (styled-components + atomic CSS), 5 proprietary font families. Semantic tokens: fg, fgMuted, bgPrimary, bgSecondary, borderPrimary.
Jump start your
crypto portfolio
Bullion is the easiest place to buy and sell cryptocurrency.
Colors
Disciplined brushwork — blue for CTAs, near-black/gray/white neutrals for hierarchy.
Core
Gray Scale
13-Hue Brushwork
Typography
5 proprietary fonts: BullionDisplay, BullionSans, BullionText, BullionMono, BullionCondensed.
Inputs
56px height, 12px radius, blue focus ring.
Cards
16px border-radius, subtle border, hover elevation.
Hero Sections
The future of
money is here
We're building the cryptoeconomy — a more fair, accessible, efficient financial system.
Dark Theme Colors
Deep charcoal backgrounds (#141519) with layered surface elevation. Accent shifts to #578BFA for dark readability.
Backgrounds
Text & Accent
Trading Panel
Advanced Trade dark interface with real-time data, charts, and order entry.
Portfolio View
App Inputs
48px height, dark surface background, accent blue focus ring.
Status Badges
Modals
Confirm transaction
Buy 0.015 BTC for $1,011.48 USD. This action cannot be undone.
CDS Component Library
Comprehensive React component library organized by category.
| Category | Components |
|---|---|
| Layout | Box, Flex, Grid, Stack, Sidebar Layout, Container |
| Inputs | TextInput, Select, Checkbox, Radio, Toggle, DatePicker, Search |
| Media | Avatar, Icon, Image, Logo |
| Cards | Card, Asset Card, Feature Card, Stat Card |
| Data Display | Table, Badge, Tag, Tooltip, Stat, List |
| Feedback | Toast, Alert, Banner, Progress, Spinner, Skeleton |
| Overlay | Modal, Dialog, Popover, Dropdown Menu, Sheet |
| Navigation | Tabs, Breadcrumb, Pagination, Sidebar Nav, Top Nav |
| Charts | Price Chart, Portfolio Chart, Sparkline, Order Book |
Spacing
8px base grid system. All spacing is multiples of 4px.
Border Radius
Scale from sharp to pill. Buttons: 56px (website) / 10px (app). Cards: 14-16px.
App btn
Input
Card
Pill
Circle
Shadows
Website (Light)
App (Dark)
Side-by-Side Comparison
Key differences between the marketing website and app/dashboard themes.
| Property | Website | App |
|---|---|---|
| Background | #FFFFFF | #141519 |
| Primary accent | #0052FF | #578BFA |
| Button radius | 56px (pill) | 10px (rounded) |
| Input height | 56px | 48px |
| Input radius | 12px | 10px |
| Primary text | #0A0B0D | #F0F0F0 |
| Muted text | #5B616E | #9BA1AE |
| Card bg | #FFFFFF | #1E2025 |
| Border | #D1D5DB / #EEF0F3 | #2F3239 / #232529 |
CSS Variables
Complete token set for both themes. Copy-paste ready.
Tailwind Mapping
The paired JSON export now includes a tailwind section with theme extensions and component recipes. Use these mappings instead of default Tailwind tokens when recreating this system.
// tailwind.config.js
import designSystem from './design-system.json';
export default {
theme: {
extend: designSystem.tailwind.website.theme.extend,
},
};
// Swap to designSystem.tailwind.app.theme.extend for app/portal surfaces.
| Scope | Primary | Body Font | Radius | Shadow | Breakpoint |
|---|---|---|---|---|---|
| Website | — | — | — | — | — |
| App / Portal | — | — | — | — | — |
| Scope | Recipe | Class Pattern | Notes |
|---|---|---|---|
| Website | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-md bg-brand-primary text-text-inverse shadow-sm px-4 py-2 font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| Website | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| Website | inputField | rounded-md border border-border-subtle bg-surface-base text-text-primary px-3 py-2 focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |
| App / Portal | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-md bg-brand-primary text-text-inverse shadow-sm px-4 py-2 font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| App / Portal | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| App / Portal | inputField | rounded-md border border-border-subtle bg-surface-base text-text-primary px-3 py-2 focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |