heraspec 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +188 -119
  3. package/bin/heraspec.js +4800 -1126
  4. package/bin/heraspec.js.map +4 -4
  5. package/dist/core/templates/skills/CHANGELOG.md +117 -117
  6. package/dist/core/templates/skills/README-template.md +58 -58
  7. package/dist/core/templates/skills/README.md +38 -38
  8. package/dist/core/templates/skills/content-optimization-skill.md +104 -104
  9. package/dist/core/templates/skills/data/design-systems.csv +54 -0
  10. package/dist/core/templates/skills/data/pages-proposed.csv +21 -21
  11. package/dist/core/templates/skills/data/pages.csv +9 -9
  12. package/dist/core/templates/skills/data/typography.csv +57 -57
  13. package/dist/core/templates/skills/deploy-documentation-skill.md +408 -0
  14. package/dist/core/templates/skills/design-system-skill.md +176 -0
  15. package/dist/core/templates/skills/documents/templates/documentation-landing-page.html +63 -63
  16. package/dist/core/templates/skills/documents/templates/documentation.html +49 -49
  17. package/dist/core/templates/skills/documents/templates/landing-script.js +38 -38
  18. package/dist/core/templates/skills/documents/templates/landing-style.css +158 -158
  19. package/dist/core/templates/skills/documents/templates/script.js +56 -56
  20. package/dist/core/templates/skills/documents/templates/style.css +155 -155
  21. package/dist/core/templates/skills/documents/templates/technical-doc-template.md +16 -16
  22. package/dist/core/templates/skills/documents/templates/user-guide-template.md +16 -16
  23. package/dist/core/templates/skills/documents-skill.md +104 -104
  24. package/dist/core/templates/skills/e2e-test-skill.md +119 -119
  25. package/dist/core/templates/skills/git-embed-skill.md +57 -0
  26. package/dist/core/templates/skills/integration-test-skill.md +118 -118
  27. package/dist/core/templates/skills/knowledge/README.md +63 -0
  28. package/dist/core/templates/skills/knowledge/design-systems/airbnb/DESIGN.md +246 -0
  29. package/dist/core/templates/skills/knowledge/design-systems/airtable/DESIGN.md +89 -0
  30. package/dist/core/templates/skills/knowledge/design-systems/apple/DESIGN.md +313 -0
  31. package/dist/core/templates/skills/knowledge/design-systems/bmw/DESIGN.md +180 -0
  32. package/dist/core/templates/skills/knowledge/design-systems/cal/DESIGN.md +259 -0
  33. package/dist/core/templates/skills/knowledge/design-systems/claude/DESIGN.md +312 -0
  34. package/dist/core/templates/skills/knowledge/design-systems/clay/DESIGN.md +304 -0
  35. package/dist/core/templates/skills/knowledge/design-systems/clickhouse/DESIGN.md +281 -0
  36. package/dist/core/templates/skills/knowledge/design-systems/cohere/DESIGN.md +266 -0
  37. package/dist/core/templates/skills/knowledge/design-systems/coinbase/DESIGN.md +129 -0
  38. package/dist/core/templates/skills/knowledge/design-systems/composio/DESIGN.md +307 -0
  39. package/dist/core/templates/skills/knowledge/design-systems/cursor/DESIGN.md +309 -0
  40. package/dist/core/templates/skills/knowledge/design-systems/elevenlabs/DESIGN.md +265 -0
  41. package/dist/core/templates/skills/knowledge/design-systems/expo/DESIGN.md +281 -0
  42. package/dist/core/templates/skills/knowledge/design-systems/figma/DESIGN.md +220 -0
  43. package/dist/core/templates/skills/knowledge/design-systems/framer/DESIGN.md +246 -0
  44. package/dist/core/templates/skills/knowledge/design-systems/hashicorp/DESIGN.md +278 -0
  45. package/dist/core/templates/skills/knowledge/design-systems/ibm/DESIGN.md +332 -0
  46. package/dist/core/templates/skills/knowledge/design-systems/index.json +72 -0
  47. package/dist/core/templates/skills/knowledge/design-systems/intercom/DESIGN.md +146 -0
  48. package/dist/core/templates/skills/knowledge/design-systems/kraken/DESIGN.md +125 -0
  49. package/dist/core/templates/skills/knowledge/design-systems/linear.app/DESIGN.md +367 -0
  50. package/dist/core/templates/skills/knowledge/design-systems/lovable/DESIGN.md +298 -0
  51. package/dist/core/templates/skills/knowledge/design-systems/minimax/DESIGN.md +257 -0
  52. package/dist/core/templates/skills/knowledge/design-systems/mintlify/DESIGN.md +326 -0
  53. package/dist/core/templates/skills/knowledge/design-systems/miro/DESIGN.md +108 -0
  54. package/dist/core/templates/skills/knowledge/design-systems/mistral.ai/DESIGN.md +261 -0
  55. package/dist/core/templates/skills/knowledge/design-systems/mongodb/DESIGN.md +266 -0
  56. package/dist/core/templates/skills/knowledge/design-systems/notion/DESIGN.md +309 -0
  57. package/dist/core/templates/skills/knowledge/design-systems/nvidia/DESIGN.md +293 -0
  58. package/dist/core/templates/skills/knowledge/design-systems/ollama/DESIGN.md +267 -0
  59. package/dist/core/templates/skills/knowledge/design-systems/opencode.ai/DESIGN.md +281 -0
  60. package/dist/core/templates/skills/knowledge/design-systems/pinterest/DESIGN.md +230 -0
  61. package/dist/core/templates/skills/knowledge/design-systems/posthog/DESIGN.md +256 -0
  62. package/dist/core/templates/skills/knowledge/design-systems/raycast/DESIGN.md +268 -0
  63. package/dist/core/templates/skills/knowledge/design-systems/replicate/DESIGN.md +261 -0
  64. package/dist/core/templates/skills/knowledge/design-systems/resend/DESIGN.md +303 -0
  65. package/dist/core/templates/skills/knowledge/design-systems/revolut/DESIGN.md +185 -0
  66. package/dist/core/templates/skills/knowledge/design-systems/runwayml/DESIGN.md +244 -0
  67. package/dist/core/templates/skills/knowledge/design-systems/sanity/DESIGN.md +357 -0
  68. package/dist/core/templates/skills/knowledge/design-systems/sentry/DESIGN.md +262 -0
  69. package/dist/core/templates/skills/knowledge/design-systems/spacex/DESIGN.md +194 -0
  70. package/dist/core/templates/skills/knowledge/design-systems/spotify/DESIGN.md +246 -0
  71. package/dist/core/templates/skills/knowledge/design-systems/stripe/DESIGN.md +322 -0
  72. package/dist/core/templates/skills/knowledge/design-systems/supabase/DESIGN.md +255 -0
  73. package/dist/core/templates/skills/knowledge/design-systems/superhuman/DESIGN.md +252 -0
  74. package/dist/core/templates/skills/knowledge/design-systems/together.ai/DESIGN.md +263 -0
  75. package/dist/core/templates/skills/knowledge/design-systems/uber/DESIGN.md +295 -0
  76. package/dist/core/templates/skills/knowledge/design-systems/vercel/DESIGN.md +310 -0
  77. package/dist/core/templates/skills/knowledge/design-systems/voltagent/DESIGN.md +323 -0
  78. package/dist/core/templates/skills/knowledge/design-systems/warp/DESIGN.md +253 -0
  79. package/dist/core/templates/skills/knowledge/design-systems/webflow/DESIGN.md +92 -0
  80. package/dist/core/templates/skills/knowledge/design-systems/wise/DESIGN.md +173 -0
  81. package/dist/core/templates/skills/knowledge/design-systems/x.ai/DESIGN.md +257 -0
  82. package/dist/core/templates/skills/knowledge/design-systems/zapier/DESIGN.md +328 -0
  83. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/profile.json +27 -0
  84. package/dist/core/templates/skills/knowledge/frameworks/php/codeigniter/rise-cms/structure.md +137 -0
  85. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/profile.json +39 -0
  86. package/dist/core/templates/skills/knowledge/frameworks/php/laravel/botble/structure.md +208 -0
  87. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/profile.json +51 -0
  88. package/dist/core/templates/skills/knowledge/frameworks/php/wordpress/core/structure.md +369 -0
  89. package/dist/core/templates/skills/knowledge/index.json +65 -0
  90. package/dist/core/templates/skills/module-codebase-skill.md +110 -110
  91. package/dist/core/templates/skills/plugin-directory-skill.md +396 -396
  92. package/dist/core/templates/skills/project-memory-skill.md +222 -0
  93. package/dist/core/templates/skills/project-memory-skill.vi.md +223 -0
  94. package/dist/core/templates/skills/scripts/CODE_EXPLANATION.md +394 -394
  95. package/dist/core/templates/skills/scripts/SEARCH_ALGORITHMS_COMPARISON.md +421 -421
  96. package/dist/core/templates/skills/scripts/SEARCH_MODES_GUIDE.md +238 -238
  97. package/dist/core/templates/skills/scripts/__pycache__/core.cpython-311.pyc +0 -0
  98. package/dist/core/templates/skills/scripts/core.py +391 -385
  99. package/dist/core/templates/skills/scripts/search.py +1 -1
  100. package/dist/core/templates/skills/smart-explore-skill.md +141 -0
  101. package/dist/core/templates/skills/sourcecode-analyzer-skill.md +210 -0
  102. package/dist/core/templates/skills/sourcecode-analyzer-skill.vi.md +210 -0
  103. package/dist/core/templates/skills/suggestion-skill.md +118 -118
  104. package/dist/core/templates/skills/templates/accessibility-checklist.md +40 -40
  105. package/dist/core/templates/skills/templates/example-prompt-full-theme.md +333 -333
  106. package/dist/core/templates/skills/templates/page-types-guide.md +338 -338
  107. package/dist/core/templates/skills/templates/pages-proposed-summary.md +273 -273
  108. package/dist/core/templates/skills/templates/pre-delivery-checklist.md +42 -42
  109. package/dist/core/templates/skills/templates/prompt-template-full-theme.md +313 -313
  110. package/dist/core/templates/skills/templates/responsive-design.md +40 -40
  111. package/dist/core/templates/skills/ui-ux-skill.md +595 -584
  112. package/dist/core/templates/skills/unit-test-skill.md +111 -111
  113. package/dist/core/templates/skills/ux-element/templates/Controller.php +50 -50
  114. package/dist/core/templates/skills/ux-element/templates/Shortcode.php +23 -23
  115. package/dist/core/templates/skills/ux-element/templates/Template.html +20 -20
  116. package/dist/core/templates/skills/ux-element/templates/Thumbnail.svg +8 -8
  117. package/dist/core/templates/skills/ux-element/templates/View.php +21 -21
  118. package/dist/core/templates/skills/ux-element-skill.md +83 -83
  119. package/dist/core/templates/skills/wordpress-plugin-check-skill.md +151 -151
  120. package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-dashboard.php +47 -47
  121. package/dist/core/templates/skills/wordpress-plugin-standard/templates/admin-settings.php +60 -60
  122. package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-css.css +22 -22
  123. package/dist/core/templates/skills/wordpress-plugin-standard/templates/assets/admin-js.js +15 -15
  124. package/dist/core/templates/skills/wordpress-plugin-standard/templates/plugin-main.php +169 -169
  125. package/dist/core/templates/skills/wordpress-plugin-standard/templates/readme.txt +41 -41
  126. package/dist/core/templates/skills/wordpress-plugin-standard/templates/uninstall.php +21 -21
  127. package/dist/core/templates/skills/wordpress-plugin-standard-skill.md +100 -100
  128. package/dist/index.js +4068 -278
  129. package/package.json +75 -72
@@ -0,0 +1,265 @@
1
+ # Design System: ElevenLabs
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ ElevenLabs' website is a study in restrained elegance — a near-white canvas (`#ffffff`, `#f5f5f5`) where typography and subtle shadows do all the heavy lifting. The design feels like a premium audio product brochure: clean, spacious, and confident enough to let the content speak (literally, given ElevenLabs makes voice AI). There's an almost Apple-like quality to the whitespace strategy, but warmer — the occasional warm stone tint (`#f5f2ef`, `#777169`) prevents the purity from feeling clinical.
6
+
7
+ The typography system is built on a fascinating duality: Waldenburg at weight 300 (light) for display headings creates ethereal, whisper-thin titles that feel like sound waves rendered in type — delicate, precise, and surprisingly impactful at large sizes. This light-weight display approach is the design's signature — where most sites use bold headings to grab attention, ElevenLabs uses lightness to create intrigue. Inter handles all body and UI text with workmanlike reliability, using slight positive letter-spacing (0.14px–0.18px) that gives body text an airy, well-spaced quality. WaldenburgFH appears as a bold uppercase variant for specific button labels.
8
+
9
+ What makes ElevenLabs distinctive is its multi-layered shadow system. Rather than simple box-shadows, elements use complex stacks: inset border-shadows (`rgba(0,0,0,0.075) 0px 0px 0px 0.5px inset`), outline shadows (`rgba(0,0,0,0.06) 0px 0px 0px 1px`), and soft elevation shadows (`rgba(0,0,0,0.04) 0px 4px 4px`) — all at remarkably low opacities. The result is a design where surfaces seem to barely exist, floating just above the page with the lightest possible touch. Pill-shaped buttons (9999px) with warm-tinted backgrounds (`rgba(245,242,239,0.8)`) and warm shadows (`rgba(78,50,23,0.04)`) add a tactile, physical quality.
10
+
11
+ **Key Characteristics:**
12
+ - Near-white canvas with warm undertones (`#f5f5f5`, `#f5f2ef`)
13
+ - Waldenburg weight 300 (light) for display — ethereal, whisper-thin headings
14
+ - Inter with positive letter-spacing (0.14–0.18px) for body — airy readability
15
+ - Multi-layered shadow stacks at sub-0.1 opacity — surfaces barely exist
16
+ - Pill buttons (9999px) with warm stone-tinted backgrounds
17
+ - WaldenburgFH bold uppercase for specific CTA labels
18
+ - Warm shadow tints: `rgba(78, 50, 23, 0.04)` — shadows have color, not just darkness
19
+ - Geist Mono / ui-monospace for code snippets
20
+
21
+ ## 2. Color Palette & Roles
22
+
23
+ ### Primary
24
+ - **Pure White** (`#ffffff`): Primary background, card surfaces, button backgrounds
25
+ - **Light Gray** (`#f5f5f5`): Secondary surface, subtle section differentiation
26
+ - **Warm Stone** (`#f5f2ef`): Button background (at 80% opacity) — the warm signature
27
+ - **Black** (`#000000`): Primary text, headings, dark buttons
28
+
29
+ ### Neutral Scale
30
+ - **Dark Gray** (`#4e4e4e`): Secondary text, descriptions
31
+ - **Warm Gray** (`#777169`): Tertiary text, muted links, decorative underlines
32
+ - **Near White** (`#f6f6f6`): Alternate light surface
33
+
34
+ ### Interactive
35
+ - **Grid Cyan** (`#7fffff`): `--grid-column-bg`, at 25% opacity — decorative grid overlay
36
+ - **Ring Blue** (`rgb(147 197 253 / 0.5)`): `--tw-ring-color`, focus ring
37
+ - **Border Light** (`#e5e5e5`): Explicit borders
38
+ - **Border Subtle** (`rgba(0, 0, 0, 0.05)`): Ultra-subtle bottom borders
39
+
40
+ ### Shadows
41
+ - **Inset Border** (`rgba(0,0,0,0.075) 0px 0px 0px 0.5px inset`): Internal edge definition
42
+ - **Inset Dark** (`rgba(0,0,0,0.1) 0px 0px 0px 0.5px inset`): Stronger inset variant
43
+ - **Outline Ring** (`rgba(0,0,0,0.06) 0px 0px 0px 1px`): Shadow-as-border
44
+ - **Soft Elevation** (`rgba(0,0,0,0.04) 0px 4px 4px`): Gentle lift
45
+ - **Card Shadow** (`rgba(0,0,0,0.4) 0px 0px 1px, rgba(0,0,0,0.04) 0px 4px 4px`): Button/card elevation
46
+ - **Warm Shadow** (`rgba(78,50,23,0.04) 0px 6px 16px`): Warm-tinted button shadow
47
+ - **Edge Shadow** (`rgba(0,0,0,0.08) 0px 0px 0px 0.5px`): Subtle edge definition
48
+ - **Inset Ring** (`rgba(0,0,0,0.1) 0px 0px 0px 1px inset`): Strong inset border
49
+
50
+ ## 3. Typography Rules
51
+
52
+ ### Font Families
53
+ - **Display**: `Waldenburg`, fallback: `Waldenburg Fallback`
54
+ - **Display Bold**: `WaldenburgFH`, fallback: `WaldenburgFH Fallback`
55
+ - **Body / UI**: `Inter`, fallback: `Inter Fallback`
56
+ - **Monospace**: `Geist Mono` or `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas`
57
+
58
+ ### Hierarchy
59
+
60
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
61
+ |------|------|------|--------|-------------|----------------|-------|
62
+ | Display Hero | Waldenburg | 48px (3.00rem) | 300 | 1.08 (tight) | -0.96px | Whisper-thin, ethereal |
63
+ | Section Heading | Waldenburg | 36px (2.25rem) | 300 | 1.17 (tight) | normal | Light display |
64
+ | Card Heading | Waldenburg | 32px (2.00rem) | 300 | 1.13 (tight) | normal | Light card titles |
65
+ | Body Large | Inter | 20px (1.25rem) | 400 | 1.35 | normal | Introductions |
66
+ | Body | Inter | 18px (1.13rem) | 400 | 1.44–1.60 | 0.18px | Standard reading text |
67
+ | Body Standard | Inter | 16px (1.00rem) | 400 | 1.50 | 0.16px | UI text |
68
+ | Body Medium | Inter | 16px (1.00rem) | 500 | 1.50 | 0.16px | Emphasized body |
69
+ | Nav / UI | Inter | 15px (0.94rem) | 500 | 1.33–1.47 | 0.15px | Navigation links |
70
+ | Button | Inter | 15px (0.94rem) | 500 | 1.47 | normal | Button labels |
71
+ | Button Uppercase | WaldenburgFH | 14px (0.88rem) | 700 | 1.10 (tight) | 0.7px | `text-transform: uppercase` |
72
+ | Caption | Inter | 14px (0.88rem) | 400–500 | 1.43–1.50 | 0.14px | Metadata |
73
+ | Small | Inter | 13px (0.81rem) | 500 | 1.38 | normal | Tags, badges |
74
+ | Code | Geist Mono | 13px (0.81rem) | 400 | 1.85 (relaxed) | normal | Code blocks |
75
+ | Micro | Inter | 12px (0.75rem) | 500 | 1.33 | normal | Tiny labels |
76
+ | Tiny | Inter | 10px (0.63rem) | 400 | 1.60 (relaxed) | normal | Fine print |
77
+
78
+ ### Principles
79
+ - **Light as the hero weight**: Waldenburg at 300 is the defining typographic choice. Where other design systems use bold for impact, ElevenLabs uses lightness — thin strokes that feel like audio waveforms, creating intrigue through restraint.
80
+ - **Positive letter-spacing on body**: Inter uses +0.14px to +0.18px tracking across body text, creating an airy, well-spaced reading rhythm that contrasts with the tight display tracking (-0.96px).
81
+ - **WaldenburgFH for emphasis**: A bold (700) uppercase variant of Waldenburg appears only in specific CTA button labels with 0.7px letter-spacing — the one place where the type system gets loud.
82
+ - **Monospace as ambient**: Geist Mono at relaxed line-height (1.85) for code blocks feels unhurried and readable.
83
+
84
+ ## 4. Component Stylings
85
+
86
+ ### Buttons
87
+
88
+ **Primary Black Pill**
89
+ - Background: `#000000`
90
+ - Text: `#ffffff`
91
+ - Padding: 0px 14px
92
+ - Radius: 9999px (full pill)
93
+ - Use: Primary CTA
94
+
95
+ **White Pill (Shadow-bordered)**
96
+ - Background: `#ffffff`
97
+ - Text: `#000000`
98
+ - Radius: 9999px
99
+ - Shadow: `rgba(0,0,0,0.4) 0px 0px 1px, rgba(0,0,0,0.04) 0px 4px 4px`
100
+ - Use: Secondary CTA on white
101
+
102
+ **Warm Stone Pill**
103
+ - Background: `rgba(245, 242, 239, 0.8)` (warm translucent)
104
+ - Text: `#000000`
105
+ - Padding: 12px 20px 12px 14px (asymmetric)
106
+ - Radius: 30px
107
+ - Shadow: `rgba(78, 50, 23, 0.04) 0px 6px 16px` (warm-tinted)
108
+ - Use: Featured CTA, hero action — the signature warm button
109
+
110
+ **Uppercase Waldenburg Button**
111
+ - Font: WaldenburgFH 14px weight 700
112
+ - Text-transform: uppercase
113
+ - Letter-spacing: 0.7px
114
+ - Use: Specific bold CTA labels
115
+
116
+ ### Cards & Containers
117
+ - Background: `#ffffff`
118
+ - Border: `1px solid #e5e5e5` or shadow-as-border
119
+ - Radius: 16px–24px
120
+ - Shadow: multi-layer stack (inset + outline + elevation)
121
+ - Content: product screenshots, code examples, audio waveform previews
122
+
123
+ ### Inputs & Forms
124
+ - Textarea: padding 12px 20px, transparent text at default
125
+ - Select: white background, standard styling
126
+ - Radio: standard with tw-ring focus
127
+ - Focus: `var(--tw-ring-offset-shadow)` ring system
128
+
129
+ ### Navigation
130
+ - Clean white sticky header
131
+ - Inter 15px weight 500 for nav links
132
+ - Pill CTAs right-aligned (black primary, white secondary)
133
+ - Mobile: hamburger collapse at 1024px
134
+
135
+ ### Image Treatment
136
+ - Product screenshots and audio waveform visualizations
137
+ - Warm gradient backgrounds in feature sections
138
+ - 20px–24px radius on image containers
139
+ - Full-width sections alternating white and light gray
140
+
141
+ ### Distinctive Components
142
+
143
+ **Audio Waveform Sections**
144
+ - Colorful gradient backgrounds showcasing voice AI capabilities
145
+ - Warm amber, blue, and green gradients behind product demos
146
+ - Screenshots of the ElevenLabs product interface
147
+
148
+ **Warm Stone CTA Block**
149
+ - `rgba(245,242,239,0.8)` background with warm shadow
150
+ - Asymmetric padding (more right padding)
151
+ - Creates a physical, tactile quality unique to ElevenLabs
152
+
153
+ ## 5. Layout Principles
154
+
155
+ ### Spacing System
156
+ - Base unit: 8px
157
+ - Scale: 1px, 3px, 4px, 8px, 9px, 10px, 11px, 12px, 16px, 18px, 20px, 24px, 28px, 32px, 40px
158
+
159
+ ### Grid & Container
160
+ - Centered content with generous max-width
161
+ - Single-column hero, expanding to feature grids
162
+ - Full-width gradient sections for product showcases
163
+ - White card grids on light gray backgrounds
164
+
165
+ ### Whitespace Philosophy
166
+ - **Apple-like generosity**: Massive vertical spacing between sections creates a premium, unhurried pace. Each section is an exhibit.
167
+ - **Warm emptiness**: The whitespace isn't cold — the warm stone undertones and warm shadows give empty space a tactile, physical quality.
168
+ - **Typography-led rhythm**: The light-weight Waldenburg headings create visual "whispers" that draw the eye through vast white space.
169
+
170
+ ### Border Radius Scale
171
+ - Minimal (2px): Small links, inline elements
172
+ - Subtle (4px): Nav items, tab panels, tags
173
+ - Standard (8px): Small containers
174
+ - Comfortable (10px–12px): Medium cards, dropdowns
175
+ - Card (16px): Standard cards, articles
176
+ - Large (18px–20px): Featured cards, code panels
177
+ - Section (24px): Large panels, section containers
178
+ - Warm Button (30px): Warm stone CTA
179
+ - Pill (9999px): Primary buttons, navigation pills
180
+
181
+ ## 6. Depth & Elevation
182
+
183
+ | Level | Treatment | Use |
184
+ |-------|-----------|-----|
185
+ | Flat (Level 0) | No shadow | Page background, text blocks |
186
+ | Inset Edge (Level 0.5) | `rgba(0,0,0,0.075) 0px 0px 0px 0.5px inset, #fff 0px 0px 0px 0px inset` | Internal border definition |
187
+ | Outline Ring (Level 1) | `rgba(0,0,0,0.06) 0px 0px 0px 1px` + `rgba(0,0,0,0.04) 0px 1px 2px` + `rgba(0,0,0,0.04) 0px 2px 4px` | Shadow-as-border for cards |
188
+ | Card (Level 2) | `rgba(0,0,0,0.4) 0px 0px 1px, rgba(0,0,0,0.04) 0px 4px 4px` | Button elevation, prominent cards |
189
+ | Warm Lift (Level 3) | `rgba(78,50,23,0.04) 0px 6px 16px` | Featured CTAs — warm-tinted |
190
+ | Focus (Accessibility) | `var(--tw-ring-offset-shadow)` blue ring | Keyboard focus |
191
+
192
+ **Shadow Philosophy**: ElevenLabs uses the most refined shadow system of any design system analyzed. Every shadow is at sub-0.1 opacity, many include both outward cast AND inward inset components, and the warm CTA shadows use an actual warm color (`rgba(78,50,23,...)`) rather than neutral black. The inset half-pixel borders (`0px 0px 0px 0.5px inset`) create edges so subtle they're felt rather than seen — surfaces define themselves through the lightest possible touch.
193
+
194
+ ## 7. Do's and Don'ts
195
+
196
+ ### Do
197
+ - Use Waldenburg weight 300 for all display headings — the lightness IS the brand
198
+ - Apply multi-layer shadows (inset + outline + elevation) at sub-0.1 opacity
199
+ - Use warm stone tints (`#f5f2ef`, `rgba(245,242,239,0.8)`) for featured elements
200
+ - Apply positive letter-spacing (+0.14px to +0.18px) on Inter body text
201
+ - Use 9999px radius for primary buttons — pill shape is standard
202
+ - Use warm-tinted shadows (`rgba(78,50,23,0.04)`) on featured CTAs
203
+ - Keep the page predominantly white with subtle gray section differentiation
204
+ - Use WaldenburgFH bold uppercase ONLY for specific CTA button labels
205
+
206
+ ### Don't
207
+ - Don't use bold (700) Waldenburg for headings — weight 300 is non-negotiable
208
+ - Don't use heavy shadows (>0.1 opacity) — the ethereal quality requires whisper-level depth
209
+ - Don't use cool gray borders — the system is warm-tinted throughout
210
+ - Don't skip the inset shadow component — half-pixel inset borders define edges
211
+ - Don't apply negative letter-spacing to body text — Inter uses positive tracking
212
+ - Don't use sharp corners (<8px) on cards — the generous radius is structural
213
+ - Don't introduce brand colors — the palette is intentionally achromatic with warm undertones
214
+ - Don't make buttons opaque and heavy — the warm translucent stone treatment is the signature
215
+
216
+ ## 8. Responsive Behavior
217
+
218
+ ### Breakpoints
219
+ | Name | Width | Key Changes |
220
+ |------|-------|-------------|
221
+ | Mobile | <1024px | Single column, hamburger nav, stacked sections |
222
+ | Desktop | >1024px | Full layout, horizontal nav, multi-column grids |
223
+
224
+ ### Touch Targets
225
+ - Pill buttons with generous padding (12px–20px)
226
+ - Navigation links at 15px with adequate spacing
227
+ - Select dropdowns maintain comfortable sizing
228
+
229
+ ### Collapsing Strategy
230
+ - Navigation: horizontal → hamburger at 1024px
231
+ - Feature grids: multi-column → stacked
232
+ - Hero: maintains centered layout, font scales proportionally
233
+ - Gradient sections: full-width maintained, content stacks
234
+ - Spacing compresses proportionally
235
+
236
+ ### Image Behavior
237
+ - Product screenshots scale responsively
238
+ - Gradient backgrounds simplify on mobile
239
+ - Audio waveform previews maintain aspect ratio
240
+ - Rounded corners maintained across breakpoints
241
+
242
+ ## 9. Agent Prompt Guide
243
+
244
+ ### Quick Color Reference
245
+ - Background: Pure White (`#ffffff`) or Light Gray (`#f5f5f5`)
246
+ - Text: Black (`#000000`)
247
+ - Secondary text: Dark Gray (`#4e4e4e`)
248
+ - Muted text: Warm Gray (`#777169`)
249
+ - Warm surface: Warm Stone (`rgba(245, 242, 239, 0.8)`)
250
+ - Border: `#e5e5e5` or `rgba(0,0,0,0.05)`
251
+
252
+ ### Example Component Prompts
253
+ - "Create a hero on white background. Headline at 48px Waldenburg weight 300, line-height 1.08, letter-spacing -0.96px, black text. Subtitle at 18px Inter weight 400, line-height 1.60, letter-spacing 0.18px, #4e4e4e text. Two pill buttons: black (9999px, 0px 14px padding) and warm stone (rgba(245,242,239,0.8), 30px radius, 12px 20px padding, warm shadow rgba(78,50,23,0.04) 0px 6px 16px)."
254
+ - "Design a card: white background, 20px radius. Shadow: rgba(0,0,0,0.06) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 1px 2px, rgba(0,0,0,0.04) 0px 2px 4px. Title at 32px Waldenburg weight 300, body at 16px Inter weight 400 letter-spacing 0.16px, #4e4e4e."
255
+ - "Build a white pill button: white bg, 9999px radius. Shadow: rgba(0,0,0,0.4) 0px 0px 1px, rgba(0,0,0,0.04) 0px 4px 4px. Text at 15px Inter weight 500."
256
+ - "Create an uppercase CTA label: 14px WaldenburgFH weight 700, text-transform uppercase, letter-spacing 0.7px."
257
+ - "Design navigation: white sticky header. Inter 15px weight 500. Black pill CTA right-aligned. Border-bottom: rgba(0,0,0,0.05)."
258
+
259
+ ### Iteration Guide
260
+ 1. Start with white — the warm undertone comes from shadows and stone surfaces, not backgrounds
261
+ 2. Waldenburg 300 for headings — never bold, the lightness is the identity
262
+ 3. Multi-layer shadows: always include inset + outline + elevation at sub-0.1 opacity
263
+ 4. Positive letter-spacing on Inter body (+0.14px to +0.18px) — the airy reading quality
264
+ 5. Warm stone CTA is the signature — `rgba(245,242,239,0.8)` with `rgba(78,50,23,0.04)` shadow
265
+ 6. Pill (9999px) for buttons, generous radius (16px–24px) for cards
@@ -0,0 +1,281 @@
1
+ # Design System: Expo
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Expo's interface is a luminous, confidence-radiating developer platform built on the premise that tools for building apps should feel as polished as the apps themselves. The entire experience lives on a bright, airy canvas — a cool-tinted off-white (`#f0f0f3`) that gives the page a subtle technological coolness without the starkness of pure white. This is a site that breathes: enormous vertical spacing between sections creates a gallery-like pace where each feature gets its own "room."
6
+
7
+ The design language is decisively monochromatic — pure black (`#000000`) headlines against the lightest possible backgrounds, with a spectrum of cool blue-grays (`#60646c`, `#b0b4ba`, `#555860`) handling all secondary communication. Color is almost entirely absent from the interface itself; when it appears, it's reserved for product screenshots, app icons, and the React universe illustration — making the actual content burst with life against the neutral canvas.
8
+
9
+ What makes Expo distinctive is its pill-shaped geometry. Buttons, tabs, video containers, and even images use generously rounded or fully pill-shaped corners (24px–9999px), creating an organic, approachable feel that contradicts the typical sharp-edged developer tool aesthetic. Combined with tight letter-spacing on massive headlines (-1.6px to -3px at 64px), the result is a design that's simultaneously premium and friendly — like an Apple product page reimagined for developers.
10
+
11
+ **Key Characteristics:**
12
+ - Luminous cool-white canvas (`#f0f0f3`) with gallery-like vertical spacing
13
+ - Strictly monochromatic: pure black headlines, cool blue-gray body text, no decorative color
14
+ - Pill-shaped geometry everywhere — buttons, tabs, containers, images (24px–9999px radius)
15
+ - Massive display headlines (64px) with extreme negative letter-spacing (-1.6px to -3px)
16
+ - Inter as the sole typeface, used at weights 400–900 for full expressive range
17
+ - Whisper-soft shadows that barely lift elements from the surface
18
+ - Product screenshots as the only source of color in the interface
19
+
20
+ ## 2. Color Palette & Roles
21
+
22
+ ### Primary
23
+ - **Expo Black** (`#000000`): The absolute anchor — used for primary headlines, CTA buttons, and the brand identity. Pure black on cool white creates maximum contrast without feeling aggressive.
24
+ - **Near Black** (`#1c2024`): The primary text color for body content — a barely perceptible blue-black that's softer than pure #000 for extended reading.
25
+
26
+ ### Secondary & Accent
27
+ - **Link Cobalt** (`#0d74ce`): The standard link color — a trustworthy, saturated blue that signals interactivity without competing with the monochrome hierarchy.
28
+ - **Legal Blue** (`#476cff`): A brighter, more saturated blue for legal/footer links — slightly more attention-grabbing than Link Cobalt.
29
+ - **Widget Sky** (`#47c2ff`): A light, friendly cyan-blue for widget branding elements — the brightest accent in the system.
30
+ - **Preview Purple** (`#8145b5`): A rich violet used for "preview" or beta feature indicators — creating clear visual distinction from standard content.
31
+
32
+ ### Surface & Background
33
+ - **Cloud Gray** (`#f0f0f3`): The primary page background — a cool off-white with the faintest blue-violet tint. Not warm, not sterile — precisely technological.
34
+ - **Pure White** (`#ffffff`): Card surfaces, button backgrounds, and elevated content containers. Creates a clear "lifted" distinction from Cloud Gray.
35
+ - **Widget Dark** (`#1a1a1a`): Dark surface for dark-theme widgets and overlay elements.
36
+ - **Banner Dark** (`#171717`): The darkest surface variant, used for promotional banners and high-contrast containers.
37
+
38
+ ### Neutrals & Text
39
+ - **Slate Gray** (`#60646c`): The workhorse secondary text color (305 instances). A cool blue-gray that's authoritative without being heavy.
40
+ - **Mid Slate** (`#555860`): Slightly darker than Slate, used for emphasized secondary text.
41
+ - **Silver** (`#b0b4ba`): Tertiary text, placeholders, and de-emphasized metadata. Comfortably readable but clearly receded.
42
+ - **Pewter** (`#999999`): Accordion icons and deeply de-emphasized UI elements in dark contexts.
43
+ - **Light Silver** (`#cccccc`): Arrow icons and decorative elements in dark contexts.
44
+ - **Dark Slate** (`#363a3f`): Borders on dark surfaces, switch tracks, and emphasized containment.
45
+ - **Charcoal** (`#333333`): Dark mode switch backgrounds and deep secondary surfaces.
46
+
47
+ ### Semantic & Accent
48
+ - **Warning Amber** (`#ab6400`): A warm, deep amber for warning states — deliberately not bright yellow, conveying seriousness.
49
+ - **Destructive Rose** (`#eb8e90`): A soft pink-coral for disabled destructive actions — gentler than typical red, reducing alarm fatigue.
50
+ - **Border Lavender** (`#e0e1e6`): Standard card/container borders — a cool lavender-gray that's visible without being heavy.
51
+ - **Input Border** (`#d9d9e0`): Button and form element borders — slightly warmer/darker than card borders for interactive elements.
52
+ - **Dark Focus Ring** (`#2547d0`): Deep blue for keyboard focus indicators in dark theme contexts.
53
+
54
+ ### Gradient System
55
+ - The design is notably **gradient-free** in the interface layer. Visual richness comes from product screenshots, the React universe illustration, and careful shadow layering rather than color gradients. This absence IS the design decision — gradients would undermine the clinical precision.
56
+
57
+ ## 3. Typography Rules
58
+
59
+ ### Font Family
60
+ - **Primary**: `Inter`, with fallbacks: `-apple-system, system-ui`
61
+ - **Monospace**: `JetBrains Mono`, with fallback: `ui-monospace`
62
+ - **System Fallback**: `system-ui, Segoe UI, Roboto, Helvetica, Arial, Apple Color Emoji, Segoe UI Emoji`
63
+
64
+ ### Hierarchy
65
+
66
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
67
+ |------|------|------|--------|-------------|----------------|-------|
68
+ | Display / Hero | Inter | 64px (4rem) | 700–900 | 1.10 (tight) | -1.6px to -3px | Maximum impact, extreme tracking |
69
+ | Section Heading | Inter | 48px (3rem) | 600 | 1.10 (tight) | -2px | Feature section anchors |
70
+ | Sub-heading | Inter | 20px (1.25rem) | 600 | 1.20 (tight) | -0.25px | Card titles, feature names |
71
+ | Body Large | Inter | 18px (1.13rem) | 400–500 | 1.40 | normal | Intro paragraphs, section descriptions |
72
+ | Body / Button | Inter | 16px (1rem) | 400–700 | 1.25–1.40 | normal | Standard text, nav links, buttons |
73
+ | Caption / Label | Inter | 14px (0.88rem) | 400–600 | 1.00–1.40 | normal | Descriptions, metadata, badge text |
74
+ | Tag / Small | Inter | 12px (0.75rem) | 500 | 1.00–1.60 | normal | Smallest sans-serif text, badges |
75
+ | Code Body | JetBrains Mono | 16px (1rem) | 400–600 | 1.40 | normal | Inline code, terminal commands |
76
+ | Code Caption | JetBrains Mono | 14px (0.88rem) | 400–600 | 1.40 | normal | Code snippets, technical labels |
77
+ | Code Small | JetBrains Mono | 12px (0.75rem) | 400 | 1.60 | normal | Uppercase tech tags |
78
+
79
+ ### Principles
80
+ - **One typeface, full expression**: Inter is the only sans-serif, used from weight 400 (regular) through 900 (black). This gives the design a unified voice while still achieving dramatic contrast between whisper-light body text and thundering display headlines.
81
+ - **Extreme negative tracking at scale**: Headlines at 64px use -1.6px to -3px letter-spacing, creating ultra-dense text blocks that feel like logotypes. This aggressive compression is the signature typographic move.
82
+ - **Weight as hierarchy**: 700–900 for display, 600 for headings, 500 for emphasis, 400 for body. The jumps are decisive — no ambiguous in-between weights.
83
+ - **Consistent 1.40 body line-height**: Nearly all body and UI text shares 1.40 line-height, creating a rhythmic vertical consistency.
84
+
85
+ ## 4. Component Stylings
86
+
87
+ ### Buttons
88
+
89
+ **Primary (White on border)**
90
+ - Background: Pure White (`#ffffff`)
91
+ - Text: Near Black (`#1c2024`)
92
+ - Padding: 0px 12px (compact, content-driven height)
93
+ - Border: thin solid Input Border (`1px solid #d9d9e0`)
94
+ - Radius: subtly rounded (6px)
95
+ - Shadow: subtle combined shadow on hover
96
+ - The understated default — clean, professional, unheroic
97
+
98
+ **Primary Pill**
99
+ - Same as Primary but with pill-shaped radius (9999px)
100
+ - Used for hero CTAs and high-emphasis actions
101
+ - The extra roundness signals "start here"
102
+
103
+ **Dark Primary**
104
+ - Background: Expo Black (`#000000`)
105
+ - Text: Pure White (`#ffffff`)
106
+ - Pill-shaped (9999px) or generously rounded (32–36px)
107
+ - No border (black IS the border)
108
+ - The maximum-emphasis CTA — reserved for primary conversion actions
109
+
110
+ ### Cards & Containers
111
+ - Background: Pure White (`#ffffff`) — clearly lifted from Cloud Gray page
112
+ - Border: thin solid Border Lavender (`1px solid #e0e1e6`) for standard cards
113
+ - Radius: comfortably rounded (8px) for standard cards; generously rounded (16–24px) for featured containers
114
+ - Shadow Level 1: Whisper (`rgba(0,0,0,0.08) 0px 3px 6px, rgba(0,0,0,0.07) 0px 2px 4px`) — barely perceptible lift
115
+ - Shadow Level 2: Standard (`rgba(0,0,0,0.1) 0px 10px 20px, rgba(0,0,0,0.05) 0px 3px 6px`) — clear floating elevation
116
+ - Hover: likely subtle shadow deepening or background shift
117
+
118
+ ### Inputs & Forms
119
+ - Background: Pure White (`#ffffff`)
120
+ - Text: Near Black (`#1c2024`)
121
+ - Border: thin solid Input Border (`1px solid #d9d9e0`)
122
+ - Padding: 0px 12px (inline with button sizing)
123
+ - Radius: subtly rounded (6px)
124
+ - Focus: blue ring shadow via CSS custom property
125
+
126
+ ### Navigation
127
+ - Sticky top nav on transparent/blurred background
128
+ - Logo: Expo wordmark in black
129
+ - Links: Near Black (`#1c2024`) or Slate Gray (`#60646c`) at 14–16px Inter weight 500
130
+ - CTA: Black pill button ("Sign Up") on the right
131
+ - GitHub star badge as social proof
132
+ - Status indicator ("All Systems Operational") with green dot
133
+
134
+ ### Image Treatment
135
+ - Product screenshots and device mockups are the visual heroes
136
+ - Generously rounded corners (24px) on video and image containers
137
+ - Screenshots shown in realistic device frames
138
+ - Dark UI screenshots provide contrast against the light canvas
139
+ - Full-bleed within rounded containers
140
+
141
+ ### Distinctive Components
142
+
143
+ **Universe React Logo**
144
+ - Animated/illustrated React logo as the visual centerpiece
145
+ - Connects Expo's identity to the React ecosystem
146
+ - The only illustrative element on an otherwise photographic page
147
+
148
+ **Device Preview Grid**
149
+ - Multiple device types (phone, tablet, web) shown simultaneously
150
+ - Demonstrates cross-platform capability visually
151
+ - Each device uses realistic device chrome
152
+
153
+ **Status Badge**
154
+ - "All Systems Operational" pill in the nav
155
+ - Green dot + text — compact trust signal
156
+ - Pill-shaped (36px radius)
157
+
158
+ ## 5. Layout Principles
159
+
160
+ ### Spacing System
161
+ - Base unit: 8px
162
+ - Scale: 1px, 2px, 4px, 8px, 12px, 16px, 24px, 32px, 40px, 48px, 64px, 80px, 96px, 144px
163
+ - Button padding: 0px 12px (unusually compact — height driven by line-height)
164
+ - Card internal padding: approximately 24–32px
165
+ - Section vertical spacing: enormous (estimated 96–144px between major sections)
166
+ - Component gap: 16–24px between sibling elements
167
+
168
+ ### Grid & Container
169
+ - Max container width: approximately 1200–1400px, centered
170
+ - Hero: centered single-column with massive breathing room
171
+ - Feature sections: alternating layouts (image left/right, full-width showcases)
172
+ - Card grids: 2–3 column for feature highlights
173
+ - Full-width sections with contained inner content
174
+
175
+ ### Whitespace Philosophy
176
+ - **Gallery-like pacing**: Each section feels like its own exhibit, surrounded by vast empty space. This creates a premium, unhurried browsing experience.
177
+ - **Breathing room is the design**: The generous whitespace IS the primary design element — it communicates confidence, quality, and that each feature deserves individual attention.
178
+ - **Content islands**: Sections float as isolated "islands" in the white space, connected by scrolling rather than visual continuation.
179
+
180
+ ### Border Radius Scale
181
+ - Nearly squared (4px): Small inline elements, tags
182
+ - Subtly rounded (6px): Buttons, form inputs, combo boxes — the functional interactive radius
183
+ - Comfortably rounded (8px): Standard content cards, containers
184
+ - Generously rounded (16px): Feature tabs, content panels
185
+ - Very rounded (24px): Buttons, video/image containers, tabpanels — the signature softness
186
+ - Highly rounded (32–36px): Hero CTAs, status badges, nav buttons
187
+ - Pill-shaped (9999px): Primary action buttons, tags, avatars — maximum friendliness
188
+
189
+ ## 6. Depth & Elevation
190
+
191
+ | Level | Treatment | Use |
192
+ |-------|-----------|-----|
193
+ | Flat (Level 0) | No shadow | Cloud Gray page background, inline text |
194
+ | Surface (Level 1) | White bg, no shadow | Standard white cards on Cloud Gray |
195
+ | Whisper (Level 2) | `rgba(0,0,0,0.08) 0px 3px 6px` + `rgba(0,0,0,0.07) 0px 2px 4px` | Subtle card lift, hover states |
196
+ | Elevated (Level 3) | `rgba(0,0,0,0.1) 0px 10px 20px` + `rgba(0,0,0,0.05) 0px 3px 6px` | Feature showcases, product screenshots |
197
+ | Modal (Level 4) | Dark overlay (`--dialog-overlay-background-color`) + heavy shadow | Dialogs, overlays |
198
+
199
+ **Shadow Philosophy**: Expo uses shadows as gentle whispers rather than architectural statements. The primary depth mechanism is **background color contrast** — white cards floating on Cloud Gray — rather than shadow casting. When shadows appear, they're soft, diffused, and directional (downward), creating the feeling of paper hovering millimeters above a desk.
200
+
201
+ ## 7. Do's and Don'ts
202
+
203
+ ### Do
204
+ - Use Cloud Gray (`#f0f0f3`) as the page background and Pure White (`#ffffff`) for elevated cards — the two-tone light system is essential
205
+ - Keep display headlines at extreme negative letter-spacing (-1.6px to -3px at 64px) for the signature compressed look
206
+ - Use pill-shaped (9999px) radius for primary CTA buttons — the organic shape is core to the identity
207
+ - Reserve black (`#000000`) for headlines and primary CTAs — it carries maximum authority on the light canvas
208
+ - Use Slate Gray (`#60646c`) for secondary text — it's the precise balance between readable and receded
209
+ - Maintain enormous vertical spacing between sections (96px+) — the gallery pacing defines the premium feel
210
+ - Use product screenshots as the primary visual content — the interface stays monochrome, the products bring color
211
+ - Apply Inter at the full weight range (400–900) — weight contrast IS the hierarchy
212
+
213
+ ### Don't
214
+ - Don't introduce decorative colors into the interface chrome — the monochromatic palette is intentional
215
+ - Don't use sharp corners (border-radius < 6px) on interactive elements — the pill/rounded geometry is the signature
216
+ - Don't reduce section spacing below 64px — the breathing room is the design
217
+ - Don't use heavy drop shadows — depth comes from background contrast and whisper-soft shadows
218
+ - Don't mix in additional typefaces — Inter handles everything from display to caption
219
+ - Don't use letter-spacing wider than -0.25px on body text — extreme tracking is reserved for display only
220
+ - Don't use borders heavier than 2px — containment is subtle, achieved through background color and gentle borders
221
+ - Don't add gradients to the interface — visual richness comes from content, not decoration
222
+ - Don't use saturated colors outside of semantic contexts — the palette is strictly grayscale + functional blue
223
+
224
+ ## 8. Responsive Behavior
225
+
226
+ ### Breakpoints
227
+ | Name | Width | Key Changes |
228
+ |------|-------|-------------|
229
+ | Mobile | <640px | Single column, hamburger nav, stacked cards, hero text scales to ~36px |
230
+ | Tablet | 640–1024px | 2-column grids, condensed nav, medium hero text |
231
+ | Desktop | >1024px | Full multi-column layout, expanded nav, massive hero (64px) |
232
+
233
+ *Only one explicit breakpoint detected (640px), suggesting a fluid, container-query or min()/clamp()-based responsive system rather than fixed breakpoint snapping.*
234
+
235
+ ### Touch Targets
236
+ - Buttons use generous radius (24–36px) creating large, finger-friendly surfaces
237
+ - Navigation links spaced with adequate gap
238
+ - Status badge sized for touch (36px radius)
239
+ - Minimum recommended: 44x44px
240
+
241
+ ### Collapsing Strategy
242
+ - **Navigation**: Full horizontal nav with CTA collapses to hamburger on mobile
243
+ - **Feature sections**: Multi-column → stacked single column
244
+ - **Hero text**: 64px → ~36px progressive scaling
245
+ - **Device previews**: Grid → stacked/carousel
246
+ - **Cards**: Side-by-side → vertical stacking
247
+ - **Spacing**: Reduces proportionally but maintains generous rhythm
248
+
249
+ ### Image Behavior
250
+ - Product screenshots scale proportionally
251
+ - Device mockups may simplify or show fewer devices on mobile
252
+ - Rounded corners maintained at all sizes
253
+ - Lazy loading for below-fold content
254
+
255
+ ## 9. Agent Prompt Guide
256
+
257
+ ### Quick Color Reference
258
+ - Primary CTA / Headlines: "Expo Black (#000000)"
259
+ - Page Background: "Cloud Gray (#f0f0f3)"
260
+ - Card Surface: "Pure White (#ffffff)"
261
+ - Body Text: "Near Black (#1c2024)"
262
+ - Secondary Text: "Slate Gray (#60646c)"
263
+ - Borders: "Border Lavender (#e0e1e6)"
264
+ - Links: "Link Cobalt (#0d74ce)"
265
+ - Tertiary Text: "Silver (#b0b4ba)"
266
+
267
+ ### Example Component Prompts
268
+ - "Create a hero section on Cloud Gray (#f0f0f3) with a massive headline at 64px Inter weight 700, line-height 1.10, letter-spacing -3px. Text in Expo Black (#000000). Below, add a subtitle in Slate Gray (#60646c) at 18px. Place a black pill-shaped CTA button (9999px radius) beneath."
269
+ - "Design a feature card on Pure White (#ffffff) with a 1px solid Border Lavender (#e0e1e6) border and comfortably rounded corners (8px). Title in Near Black (#1c2024) at 20px Inter weight 600, description in Slate Gray (#60646c) at 16px. Add a whisper shadow (rgba(0,0,0,0.08) 0px 3px 6px)."
270
+ - "Build a navigation bar with Expo logo on the left, text links in Near Black (#1c2024) at 14px Inter weight 500, and a black pill CTA button on the right. Background: transparent with blur backdrop. Bottom border: 1px solid Border Lavender (#e0e1e6)."
271
+ - "Create a code block using JetBrains Mono at 14px on a Pure White surface with Border Lavender border and 8px radius. Code in Near Black, keywords in Link Cobalt (#0d74ce)."
272
+ - "Design a status badge pill (9999px radius) with a green dot and 'All Systems Operational' text in Inter 12px weight 500. Background: Pure White, border: 1px solid Input Border (#d9d9e0)."
273
+
274
+ ### Iteration Guide
275
+ 1. Focus on ONE component at a time
276
+ 2. Reference specific color names and hex codes — "use Slate Gray (#60646c)" not "make it gray"
277
+ 3. Use radius values deliberately — 6px for buttons, 8px for cards, 24px for images, 9999px for pills
278
+ 4. Describe the "feel" alongside measurements — "enormous breathing room with 96px section spacing"
279
+ 5. Always specify Inter and the exact weight — weight contrast IS the hierarchy
280
+ 6. For shadows, specify "whisper shadow" or "standard elevation" from the elevation table
281
+ 7. Keep the interface monochrome — let product content be the color