Design with
intent. Build with
confidence.
A comprehensive design system built for vibe coding. Everything you need to build beautiful, consistent interfaces — tokens, components, patterns, and prompts.
Explore the System
Navigate through foundations, components, and vibe coding resources.
Quick Start
Von null zu einem funktionierenden Interface in drei Schritten. Tokens einbinden, Komponenten kopieren, loslegen.
tokens.css als erste Datei in deinem Projekt. Alle Farben, Abstände, Radien und Typografie stehen dann als CSS-Variablen zur Verfügung.<!-- Option A: Direkt in HTML --> <link rel="stylesheet" href="tokens.css"> <!-- Option B: In CSS importieren --> @import './tokens.css'; <!-- Option C: Direkt in :root einfügen --> <!-- Gehe zu Foundations → Design Tokens -->
<link rel="preconnect" href="https://fonts.googleapis.com"> <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
<button class="fa-btn fa-btn-primary">Loslegen</button> <button class="fa-btn fa-btn-accent">Accent</button> <button class="fa-btn fa-btn-secondary">Secondary</button>
Workflow mit Claude
Das System ist für Vibe Coding optimiert. So arbeitest du am effektivsten.
- Tokens kopieren (diese Seite → Schritt 1)
- Komponenten-Prompt von der Prompt Library kopieren
- Beides in Claude einfügen + Anforderungen beschreiben
- Generierten Code direkt nutzen — Tokens sind schon drin
- Komponente unter Components suchen
- "Copy HTML" + "Copy CSS" klicken
- Code in Claude einfügen + Änderungen beschreiben
- "Behalte alle CSS-Variablen und Klassennamen"
Dateistruktur
Empfohlene Struktur für ein neues Projekt mit diesem System.
my-project/ ├── styles/ │ ├── tokens.css ← Design Tokens (dieses System) │ ├── components.css ← Kopierte Komponenten-Styles │ └── app.css ← Deine eigenen Styles ├── components/ │ ├── Button.html ← Aus dem Design System kopiert │ └── Card.html └── index.html ↳ <link rel="stylesheet" href="styles/tokens.css"> <link rel="stylesheet" href="styles/components.css">
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.
Corporate Colors
Klicke auf eine Farbe um den Hex-Wert zu kopieren.
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
Immer kursiv, keine runden Ecken. Primary und Accent tauschen beim Hover die Farben.
<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 Größen
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.
Importing from Figma
Connect your Figma workspace to pull components, tokens, and styles directly into the design system — and keep everything in sync as designs evolve.
How it works
The Figma integration works in two directions: importing new components for the first time, and updating existing ones when designs change. Both flows use the Figma REST API with a personal access token.
Enter your Figma personal access token and the file URL. Claude reads the component structure via the Figma REST API.
Choose which components, color styles, or text styles to import. Preview the mapping before generating any code.
Claude converts Figma nodes into production-ready HTML/CSS components using the design system tokens.
Import a component
Paste a Figma file URL and select a component node to generate a matching HTML/CSS component.
Update an existing component
When a design changes in Figma, regenerate the component code while keeping the class names and token references intact.
/* 1. Fetch the updated Figma node */ GET https://api.figma.com/v1/files/{fileKey}/nodes?ids={nodeId} Authorization: Bearer {personalAccessToken} /* 2. Send to Claude with the existing component code */ "The Figma node has been updated (data below). Regenerate the component, keeping class names and CSS variables. Only output changed sections." /* 3. Diff & review */ git diff src/components/ComponentName.html