/ design-system.md
design-system.md
  1  ---
  2  layout: page
  3  title: "#B4mad Design System"
  4  description: "Corporate design system for all #B4mad Industries web properties"
  5  ---
  6  
  7  # #B4mad Design System
  8  
  9  The canonical visual identity for all **#B4mad Industries** web properties. This system defines colors, typography, spacing, and component patterns used across our sites and documentation.
 10  
 11  ---
 12  
 13  ## Color Palette
 14  
 15  ### Primary
 16  
 17  | Role | Name | Hex | Usage |
 18  |------|------|-----|-------|
 19  | **Accent** | DarkSeaGreen4 | `#458B74` | Brand color, links, highlights, borders |
 20  | **Accent Light** | — | `#5AAD92` | Hover states, headings, inline code |
 21  | **Accent Dark** | — | `#346B59` | Pressed states, scrollbar hover |
 22  | **Accent Glow** | — | `rgba(69, 139, 116, 0.4)` | Glows, text-shadow, pulse animations |
 23  
 24  ### Backgrounds (Dark Mode — Default)
 25  
 26  | Role | Hex | Usage |
 27  |------|-----|-------|
 28  | **Primary** | `#0A0E14` | Page background |
 29  | **Secondary** | `#111820` | Code blocks, pre elements |
 30  | **Card** | `#151C25` | Card backgrounds |
 31  | **Card Hover** | `#1A2330` | Card hover state |
 32  
 33  ### Text
 34  
 35  | Role | Hex | Usage |
 36  |------|-----|-------|
 37  | **Primary** | `#E0E6ED` | Headings, body text |
 38  | **Secondary** | `#8899AA` | Paragraphs, descriptions |
 39  | **Muted** | `#556677` | Footer, meta text, agent roles |
 40  
 41  ### Borders
 42  
 43  | Role | Value | Usage |
 44  |------|-------|-------|
 45  | **Default** | `#1E2A36` | Cards, dividers, table borders |
 46  | **Accent** | `rgba(69, 139, 116, 0.3)` | Active/hover borders, section lines |
 47  
 48  ### Semantic
 49  
 50  | Role | Hex | Usage |
 51  |------|-----|-------|
 52  | **Danger** | `#E74C3C` | Errors, destructive actions |
 53  | **Warning** | `#F39C12` | Caution, alerts |
 54  | **Info** | `#3498DB` | Informational highlights |
 55  
 56  ---
 57  
 58  ## Typography
 59  
 60  ### Font Stack
 61  
 62  | Role | Font | Fallbacks |
 63  |------|------|-----------|
 64  | **Body** | Inter | -apple-system, BlinkMacSystemFont, sans-serif |
 65  | **Code** | JetBrains Mono | monospace |
 66  
 67  Both loaded via Google Fonts:
 68  ```
 69  Inter: 300, 400, 600, 700, 900
 70  JetBrains Mono: 400, 700
 71  ```
 72  
 73  ### Heading Hierarchy
 74  
 75  | Level | Size | Weight | Notes |
 76  |-------|------|--------|-------|
 77  | **H1** (hero) | 3.5rem | 900 | Letter-spacing: -0.03em |
 78  | **H1** (page) | 2.5rem | 900 | Gradient fill (text → accent-light) |
 79  | **H2** | 1.5rem | 700 | Bottom border, 2.5rem top margin |
 80  | **H3** | 1.2rem | 600 | Accent-light color |
 81  | **Body** | 1rem (16px) | 400 | Line-height: 1.7 |
 82  | **Small/Meta** | 0.85rem | — | Used for card text, nav items |
 83  | **Section Label** | 0.75rem | 700 | Uppercase, 0.15em letter-spacing |
 84  
 85  ---
 86  
 87  ## Spacing & Layout
 88  
 89  ### Border Radius
 90  
 91  | Token | Value | Usage |
 92  |-------|-------|-------|
 93  | `--radius` | 8px | Cards, buttons, code blocks |
 94  | `--radius-lg` | 16px | Hero cards, large containers |
 95  | Pill | 999px | Tags, status badges, nav pills |
 96  
 97  ### Container
 98  
 99  - **Max width:** 1200px
100  - **Content max width:** 800px (page-content)
101  - **Padding:** 2rem (desktop), 1rem (mobile)
102  
103  ### Grid
104  
105  - **Card grid:** `repeat(auto-fill, minmax(320px, 1fr))`, gap 1.25rem
106  - **Agent grid:** `repeat(auto-fill, minmax(200px, 1fr))`, gap 1rem
107  
108  ---
109  
110  ## Components
111  
112  ### Cards
113  
114  - Background: `--bg-card` → `--bg-card-hover` on hover
115  - Border: `--border` → `--border-accent` on hover
116  - Top accent line (2px gradient) appears on hover
117  - Lift effect: `translateY(-2px)` + box-shadow on hover
118  - Transition: 0.3s ease
119  
120  ### Navigation
121  
122  - Sticky header with blur backdrop (`blur(20px)`)
123  - Semi-transparent background: `rgba(10, 14, 20, 0.85)`
124  - Nav links: pill-shaped hover with accent background
125  - Mobile: hamburger toggle → vertical dropdown
126  
127  ### Code Blocks
128  
129  - **Inline:** accent-light color, card background, 1px border, 4px radius
130  - **Block:** secondary background, border, 8px radius, 1.25rem padding
131  
132  ### Status Badge
133  
134  - Pill shape (999px radius)
135  - JetBrains Mono font
136  - Accent border, card background
137  - Blinking cursor animation
138  
139  ### Page List
140  
141  - Full-width link cards
142  - Slide-right effect on hover (`translateX(4px)`)
143  - Title + description layout
144  
145  ---
146  
147  ## Effects & Animation
148  
149  | Effect | Details |
150  |--------|---------|
151  | **Background grid** | Subtle 60px grid lines at 3% opacity |
152  | **Glow orb** | Radial gradient, 20s drift animation |
153  | **Scanline** | 2px horizontal line, 8s vertical sweep |
154  | **Pulse dot** | Status indicator, 2s ease-in-out |
155  | **Card hover** | 2px lift + shadow + top accent line |
156  | **Link glow** | text-shadow on hover |
157  
158  ---
159  
160  ## Responsive Breakpoints
161  
162  | Breakpoint | Changes |
163  |------------|---------|
164  | **≤ 768px** | Hero text shrinks, card grid → 1 col, hamburger nav, agent grid → 2 col |
165  | **≤ 480px** | Hero text smaller, agent grid → 1 col |
166  
167  ---
168  
169  ## Logo Usage
170  
171  The #B4mad wordmark uses:
172  - **Font:** Inter, weight 900
173  - **Hash symbol:** Accent color (`#458B74`) with glow (`text-shadow: 0 0 12px`)
174  - **Status dot:** 8px accent circle with pulse animation
175  - Minimum clear space: 0.5rem around the mark
176  
177  No standalone logo asset yet — the wordmark **is** the logo.
178  
179  ---
180  
181  ## Dark / Light Mode
182  
183  Currently **dark mode only**. All CSS custom properties are defined for the dark theme. Light mode support is planned but not yet implemented.
184  
185  ---
186  
187  ## Implementation
188  
189  The canonical CSS lives at:
190  ```
191  assets/css/style.css
192  ```
193  
194  All values use CSS custom properties (`:root` vars) for consistency. When building new pages or components, always reference the design tokens rather than hard-coding values.
195  
196  ### CSS Custom Properties Reference
197  
198  ```css
199  :root {
200    --accent: #458B74;
201    --accent-light: #5aad92;
202    --accent-dark: #346b59;
203    --accent-glow: rgba(69, 139, 116, 0.4);
204    --bg-primary: #0a0e14;
205    --bg-secondary: #111820;
206    --bg-card: #151c25;
207    --bg-card-hover: #1a2330;
208    --text-primary: #e0e6ed;
209    --text-secondary: #8899aa;
210    --text-muted: #556677;
211    --border: #1e2a36;
212    --border-accent: rgba(69, 139, 116, 0.3);
213    --danger: #e74c3c;
214    --warning: #f39c12;
215    --info: #3498db;
216    --radius: 8px;
217    --radius-lg: 16px;
218  }
219  ```