Design System
Internal UI playground documenting design tokens and reusable components
This page showcases the design system powering this website. Explore design tokens, component APIs, accessibility features, and code examples.
Color Tokens
Semantic Colors
Theme-aware color tokens that adapt to light/dark mode
Main background color
Primary text color
Card background color
Card text color
Primary brand color
Text on primary
Secondary color
Text on secondary
Muted background
Muted text
Accent color
Text on accent
Error/destructive actions
Text on destructive
Border color
Input border color
Focus ring color
Color Palette
Extended color palette for additional use cases
Gray
Amber
Spacing Tokens
Spacing Scale
4px base unit spacing system. Use Tailwind classes like p-4, gap-6, space-y-8
Tight spacing
Base unit
Small spacing
Compact spacing
Standard spacing
Medium spacing
Comfortable spacing
Large spacing
Extra large spacing
Section spacing
Major section spacing
Hero spacing
Large section spacing
Visual Comparison
Button Component
Button Variants
Different visual styles for different contexts
Accessibility Notes
- All buttons have visible focus states using the global focus-visible style
- Disabled buttons are properly announced to screen readers
- Button text should be descriptive and indicate the action
Button Sizes
Three size options for different UI contexts
Accessibility Notes
- Size should match visual hierarchy and importance
Button States
Disabled and interactive states
Accessibility Notes
- Disabled buttons have reduced opacity and pointer-events-none
- Interactive buttons maintain keyboard navigation
- Click handlers are properly attached for keyboard activation
Card Component
Card Variants
Different visual styles for cards
Default Card
Basic card with border (non-interactive)
Elevated Card
Card with shadow for emphasis (non-interactive)
Outlined Card
Card with prominent border (non-interactive)
Accessibility Notes
- Cards are semantic containers with proper heading hierarchy
- Non-interactive cards (no link) have no hover effects or pointer cursor
- Interactive cards (with link) are keyboard navigable with proper ARIA labels
- Cards maintain proper focus order in document flow
Card with Link
Cards can be interactive links
Accessibility Notes
- Linked cards have descriptive ARIA labels combining link text and title
- Hover effects are supplemented with keyboard focus states
- External links are clearly indicated to users
Card with Custom Content
Cards support custom children for flexible layouts
Custom Content
Add any content
Additional content can be added here using the children prop.
Accessibility Notes
- Custom content maintains proper semantic structure
- Interactive elements within cards are keyboard accessible
- Content order follows logical reading flow