Design with
intent. Build with
confidence.
A comprehensive design system built for vibe coding with Claude. Everything you need to build beautiful, consistent interfaces — tokens, components, patterns, and prompts.
Explore the System
Navigate through foundations, components, and vibe coding resources.
Vibe Coding with Claude
How to get the best results when building UIs with this design system and Claude as your coding partner.
1. Start with the System Prompt
Always paste the design token block at the start of a new conversation. This primes Claude with your brand.
You are building a UI for Functional Aesthetics. Always use these CSS variables in every component: /* Brand */ --color-primary: #09371D; /* dark forest green */ --color-accent: #CEFC32; /* neon yellow-green */ /* Typography */ font-family: 'Roboto', sans-serif; /* Rules */ - Use semantic CSS variables, never raw hex values in components - Border radius: 4px (md), 8px (lg), 12px (xl) - All interactive states: hover, focus, active, disabled - WCAG AA contrast compliance required
2. Golden Prompt Rules
-
Token
Reference tokens by name: "use
--color-primary" - State Specify all states: "with hover, focus, disabled"
- Size Define sizes: "sm (32px), md (40px), lg (48px)"
- A11y Ask for ARIA labels and keyboard navigation
- Color Hardcoding hex values inside component styles
- Vague "Make it look nice" — be specific about intent
- Style Inline styles for repeated patterns
- Magic Magic numbers — always map to spacing tokens
3. Component Request Template
Create a [COMPONENT NAME] component: /* Variants */ - Variants: [list variants] - Sizes: sm | md | lg - States: default, hover, focus, active, disabled /* Design */ - Use CSS variables from the design system - Border-radius: var(--radius-md) - Font: var(--font-family), var(--font-size-base) - Transitions: var(--transition-fast) /* Output */ - Pure HTML + CSS (no frameworks) - Include usage example - Add ARIA attributes for accessibility
Color
A purposeful palette built around deep forest green and neon accent, designed for clarity and brand expression.
Brand Palette
Semantic Colors
Color Usage Rules
Typography
Roboto as our single typeface — versatile, legible, and professional across all weights and sizes.
Type Scale
Spacing
A consistent 4px base unit system that creates visual harmony across all components and layouts.
Spacing Scale
Grid & Layout
A 12-column grid system with responsive breakpoints and container widths.
Breakpoints
12-Column Grid
Elevation & Shape
Shadow and radius tokens that create depth hierarchy and consistent rounding across all components.
Shadow Scale
Border Radius
Motion
Purposeful transitions that guide attention and communicate state changes without distraction.
Transition Tokens
Hover the buttons to see transitions in action:
Design Tokens
All CSS custom properties — copy the root block and paste it into any project.
Complete Token Reference
:root { /* ── Brand ─────────────────────── */ --color-primary: #09371D; --color-primary-50: #F0F7F3; --color-primary-100: #D4EBE0; --color-primary-200: #A6D4BC; --color-primary-300: #72BB97; --color-primary-400: #3D9E6E; --color-primary-500: #1A7047; --color-primary-600: #09371D; --color-primary-700: #072E17; --color-primary-800: #052310; --color-primary-900: #031709; --color-accent: #CEFC32; --color-accent-50: #F9FFD6; --color-accent-100: #EFFE99; --color-accent-200: #E4FD64; --color-accent-300: #CEFC32; --color-accent-400: #B0DE1A; --color-accent-500: #8CB50E; --color-accent-600: #678906; --color-accent-700: #456003; --color-accent-800: #2A3B01; --color-accent-900: #141E00; /* ── Semantic ───────────────────── */ --color-success: #168500; --color-success-light: #D6F5CE; --color-error: #DE2417; --color-error-light: #FCD1D0; --color-warning: #B57300; --color-warning-light: #FDEEC0; /* ── Backgrounds ────────────────── */ --bg-page: #F7F7F5; --bg-surface: #FFFFFF; --bg-surface-secondary: #F0F0EC; --bg-surface-tertiary: #E8E8E3; --bg-inverse: #111110; /* ── Text ───────────────────────── */ --text-primary: #111110; --text-secondary: #555550; --text-tertiary: #96968E; --text-disabled: #B8B8B1; --text-inverse: #FFFFFF; --text-link: #09371D; /* ── Typography ─────────────────── */ --font-family: 'Roboto', sans-serif; --font-size-xs: 0.6875rem; --font-size-sm: 0.75rem; --font-size-base: 0.875rem; --font-size-md: 1rem; --font-size-lg: 1.125rem; --font-size-xl: 1.25rem; --font-size-2xl: 1.5rem; --font-size-3xl: 2rem; --font-size-4xl: 2.5rem; --font-weight-light: 300; --font-weight-regular: 400; --font-weight-medium: 500; --font-weight-bold: 700; --line-height-tight: 1.25; --line-height-normal: 1.5; --line-height-relaxed: 1.75; /* ── Spacing ────────────────────── */ --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem; /* ── Border Radius ──────────────── */ --radius-none: 0; --radius-sm: 0.125rem; --radius-md: 0.25rem; --radius-lg: 0.5rem; --radius-xl: 0.75rem; --radius-2xl: 1rem; --radius-full: 9999px; /* ── Shadows ────────────────────── */ --shadow-xs: 0 1px 2px rgba(0,0,0,0.05); --shadow-sm: 0 1px 4px rgba(0,0,0,0.08); --shadow-md: 0 4px 12px rgba(0,0,0,0.10); --shadow-lg: 0 8px 24px rgba(0,0,0,0.12); --shadow-xl: 0 16px 40px rgba(0,0,0,0.14); /* ── Transitions ────────────────── */ --transition-fast: 100ms ease; --transition-normal: 200ms ease; --transition-slow: 300ms ease; }
Actions
Buttons, links, and interactive controls that trigger operations and navigate users.
Button Variants
<button class="fa-btn fa-btn-primary">Primary</button> <button class="fa-btn fa-btn-accent">Accent</button> <button class="fa-btn fa-btn-secondary">Secondary</button> <button class="fa-btn fa-btn-ghost">Ghost</button> <button class="fa-btn fa-btn-danger">Danger</button>
Button Sizes
Chips
<div class="fa-chip">Filter A</div> <div class="fa-chip selected">Active Filter</div>
Forms
Input controls, selects, and form patterns for capturing user data.
Text Input
<div class="fa-field"> <label class="fa-label fa-label-required">Email</label> <input class="fa-input" type="email" placeholder="you@example.com"> <span class="fa-helper">Helper text</span> </div>
Select & Textarea
Toggle, Checkbox & Radio
Feedback
Badges, toasts, tooltips, and other feedback components that communicate system status.
Badges
<span class="fa-badge fa-badge-success fa-badge-dot">Active</span>
Toast Notifications
Tooltip
Progress Bar
Content & Data
Cards, tables, avatars, and components for displaying structured information.
Card
A comprehensive redesign of the user onboarding experience with improved conversion goals.
Media Cards
Data Table
| User | Role | Status | Last Active | Actions |
|---|---|---|---|---|
MR Maya Rodriguez maya@example.com |
Admin | Active | 2 min ago | |
TK Thomas Klein t.klein@example.com |
Editor | Away | 1 hour ago | |
SJ Sarah Johnson sarah@example.com |
Viewer | Offline | 3 days ago |
Avatars
Skeleton Loading
Overlays
Modal dialogs for focused interactions and confirmations.
Modal
Are you sure you want to delete Project Alpha? This action cannot be undone and all associated data will be permanently removed.
Loading & Status
Spinners, progress bars, and skeleton states for communicating system activity.
Loading Spinners
Prompt Library
Ready-to-use Claude prompts, optimized for this design system. Copy, customize, and ship.
UI Patterns
Common interaction patterns and page layouts — assembled from system components.
Login Form Pattern
Accessibility
WCAG 2.1 AA compliance guidelines and accessible component patterns.
Color Contrast Ratios
Claude Accessibility Prompt
Principles
The core values that guide every design and development decision in this system.
Every component communicates its purpose immediately. Ambiguity is eliminated through consistent patterns and clear visual hierarchy.
Never hardcode values. Every color, spacing, and radius decision maps to a named token, enabling global changes with a single update.
Components are atomic building blocks. Complex interfaces emerge from composing simple, well-defined primitives — not from one-off custom styles.
WCAG 2.1 AA compliance is not an afterthought — it is embedded in every component through color contrast, keyboard navigation, and ARIA patterns.