heraspec 0.1.12 → 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 -103
  3. package/bin/heraspec.js +4805 -1122
  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 -76
  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,263 @@
1
+ # Design System: Together AI
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Together AI's interface is a pastel-gradient dreamscape built for enterprise AI infrastructure — a design that somehow makes GPU clusters and model inference feel light, airy, and optimistic. The hero section blooms with soft pink-blue-lavender gradients and abstract, painterly illustrations that evoke clouds and flight, establishing a visual metaphor for the "AI-Native Cloud" proposition. Against this softness, the typography cuts through with precision: "The Future" display font at 64px with aggressive negative tracking (-1.92px) creates dense, authoritative headline blocks.
6
+
7
+ The design straddles two worlds: a bright, white-canvas light side where pastel gradients and stats cards create an approachable platform overview, and a dark navy universe (`#010120` — not gray-black but a deep midnight blue) where research papers and technical content live. This dual-world approach elegantly separates the "business" messaging (light, friendly, stat-driven) from the "research" messaging (dark, serious, academic).
8
+
9
+ What makes Together AI distinctive is its type system. "The Future" handles all display and body text with a geometric modernist aesthetic, while "PP Neue Montreal Mono" provides uppercase labels with meticulous letter-spacing — creating a "technical infrastructure company with taste" personality. The brand accents — magenta (`#ef2cc1`) and orange (`#fc4c02`) — appear sparingly in the gradient and illustrations, never polluting the clean UI.
10
+
11
+ **Key Characteristics:**
12
+ - Soft pastel gradients (pink, blue, lavender) against pure white canvas
13
+ - Deep midnight blue (`#010120`) for dark/research sections — not gray-black
14
+ - Custom "The Future" font with aggressive negative letter-spacing throughout
15
+ - PP Neue Montreal Mono for uppercase technical labels
16
+ - Sharp geometry (4px, 8px radius) — not rounded, not pill
17
+ - Magenta (#ef2cc1) + orange (#fc4c02) brand accents in illustrations only
18
+ - Lavender (#bdbbff) as a soft secondary accent
19
+ - Enterprise stats prominently displayed (2x, 60%, 90%)
20
+ - Dark-blue-tinted shadows (rgba(1, 1, 32, 0.1))
21
+
22
+ ## 2. Color Palette & Roles
23
+
24
+ ### Primary
25
+ - **Brand Magenta** (`#ef2cc1`): The primary brand accent — a vivid pink-magenta used in gradient illustrations and the highest-signal brand moments. Never used as UI chrome.
26
+ - **Brand Orange** (`#fc4c02`): The secondary brand accent — a vivid orange for gradient endpoints and warm accent moments.
27
+ - **Dark Blue** (`#010120`): The primary dark surface — a deep midnight blue-black used for research sections, footer, and dark containers. Not gray, not black — distinctly blue.
28
+
29
+ ### Secondary & Accent
30
+ - **Soft Lavender** (`#bdbbff`): A gentle blue-violet used for subtle accents, secondary indicators, and soft UI highlights.
31
+ - **Black 40** (`#00000066`): Semi-transparent black for de-emphasized overlays and secondary text.
32
+
33
+ ### Surface & Background
34
+ - **Pure White** (`#ffffff`): The primary light-section page background.
35
+ - **Dark Blue** (`#010120`): Dark-section backgrounds — research, footer, technical content.
36
+ - **Glass Light** (`rgba(255, 255, 255, 0.12)`): Frosted glass button backgrounds on dark sections.
37
+ - **Glass Dark** (`rgba(0, 0, 0, 0.08)`): Subtle tinted surfaces on light sections.
38
+
39
+ ### Neutrals & Text
40
+ - **Pure Black** (`#000000`): Primary text on light surfaces.
41
+ - **Pure White** (`#ffffff`): Primary text on dark surfaces.
42
+ - **Black 8%** (`rgba(0, 0, 0, 0.08)`): Borders and subtle containment on light surfaces.
43
+ - **White 12%** (`rgba(255, 255, 255, 0.12)`): Borders and containment on dark surfaces.
44
+
45
+ ### Gradient System
46
+ - **Pastel Cloud Gradient**: Soft pink → lavender → soft blue gradients in hero illustrations. These appear in abstract, painterly forms — clouds, feathers, flowing shapes — that create visual warmth without literal meaning.
47
+ - **Hero Gradient**: The hero background uses soft pastel tints layered over white, creating a dawn-like atmospheric effect.
48
+
49
+ ## 3. Typography Rules
50
+
51
+ ### Font Family
52
+ - **Primary**: `The Future`, with fallback: `Arial`
53
+ - **Monospace / Labels**: `PP Neue Montreal Mono`, with fallback: `Georgia`
54
+
55
+ ### Hierarchy
56
+
57
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
58
+ |------|------|------|--------|-------------|----------------|-------|
59
+ | Display / Hero | The Future | 64px (4rem) | 400–500 | 1.00–1.10 (tight) | -1.92px | Maximum impact, dense blocks |
60
+ | Section Heading | The Future | 40px (2.5rem) | 500 | 1.20 (tight) | -0.8px | Feature section titles |
61
+ | Sub-heading | The Future | 28px (1.75rem) | 500 | 1.15 (tight) | -0.42px | Card headings |
62
+ | Feature Title | The Future | 22px (1.38rem) | 500 | 1.15 (tight) | -0.22px | Small feature headings |
63
+ | Body Large | The Future | 18px (1.13rem) | 400–500 | 1.30 (tight) | -0.18px | Descriptions, sections |
64
+ | Body / Button | The Future | 16px (1rem) | 400–500 | 1.25–1.30 | -0.16px | Standard body, nav, buttons |
65
+ | Caption | The Future | 14px (0.88rem) | 400–500 | 1.40 | normal | Metadata, descriptions |
66
+ | Mono Label | PP Neue Montreal Mono | 16px (1rem) | 500 | 1.00 (tight) | 0.08px | Uppercase section labels |
67
+ | Mono Small | PP Neue Montreal Mono | 11px (0.69rem) | 500 | 1.00–1.40 | 0.055–0.08px | Small uppercase tags |
68
+ | Mono Micro | PP Neue Montreal Mono | 10px (0.63rem) | 400 | 1.40 | 0.05px | Smallest uppercase labels |
69
+
70
+ ### Principles
71
+ - **Negative tracking everywhere**: Every size of "The Future" uses negative letter-spacing (-0.16px to -1.92px), creating consistently tight, modern text.
72
+ - **Mono for structure**: PP Neue Montreal Mono in uppercase with positive letter-spacing creates technical "label" moments that structure the page without competing with display text.
73
+ - **Weight 500 as emphasis**: The system uses 400 (regular) and 500 (medium) — no bold. Medium weight marks headings and emphasis.
74
+ - **Tight line-heights throughout**: Even body text uses 1.25–1.30 line-height — tighter than typical, creating a dense, information-rich feel.
75
+
76
+ ## 4. Component Stylings
77
+
78
+ ### Buttons
79
+
80
+ **Glass on Dark**
81
+ - Background: `rgba(255, 255, 255, 0.12)` (frosted glass)
82
+ - Text: Pure White (`#ffffff`)
83
+ - Radius: sharp (4px)
84
+ - Opacity: 0.5
85
+ - Hover: transparent dark overlay
86
+ - Used on dark sections — subtle, glass-like
87
+
88
+ **Dark Solid**
89
+ - Background: Dark Blue (`#010120`) or Pure Black
90
+ - Text: Pure White
91
+ - Radius: sharp (4px)
92
+ - The primary CTA on light surfaces
93
+
94
+ **Outlined Light**
95
+ - Border: `1px solid rgba(0, 0, 0, 0.08)`
96
+ - Background: transparent or subtle glass
97
+ - Text: Pure Black
98
+ - Radius: sharp (4px)
99
+ - Secondary actions on light surfaces
100
+
101
+ ### Cards & Containers
102
+ - Background: Pure White or subtle glass tint
103
+ - Border: `1px solid rgba(0, 0, 0, 0.08)` on light; `1px solid rgba(255, 255, 255, 0.12)` on dark
104
+ - Radius: sharp (4px) for badges and small elements; comfortable (8px) for larger containers
105
+ - Shadow: dark-blue-tinted (`rgba(1, 1, 32, 0.1) 0px 4px 10px`) — warm and subtle
106
+ - Stats cards with large numbers prominently displayed
107
+
108
+ ### Badges / Tags
109
+ - Background: `rgba(0, 0, 0, 0.04)` (light) or `rgba(255, 255, 255, 0.12)` (dark)
110
+ - Text: Black (light) or White (dark)
111
+ - Padding: 2px 8px (compact)
112
+ - Radius: sharp (4px)
113
+ - Border: `1px solid rgba(0, 0, 0, 0.08)`
114
+ - PP Neue Montreal Mono, uppercase, 16px
115
+
116
+ ### Navigation
117
+ - Clean horizontal nav on white/transparent
118
+ - Logo: Together AI wordmark
119
+ - Links: The Future at 16px, weight 400
120
+ - CTA: Dark solid button
121
+ - Hover: no text-decoration
122
+
123
+ ### Image Treatment
124
+ - Abstract pastel gradient illustrations (cloud/feather forms)
125
+ - Product UI screenshots on dark/light surfaces
126
+ - Team photos in editorial style
127
+ - Research paper cards with dark backgrounds
128
+
129
+ ### Distinctive Components
130
+
131
+ **Stats Bar**
132
+ - Large performance metrics (2x, 60%, 90%)
133
+ - Bold display numbers
134
+ - Short descriptive captions beneath
135
+ - Clean horizontal layout
136
+
137
+ **Mono Section Labels**
138
+ - PP Neue Montreal Mono, uppercase, 11px, letter-spacing 0.055px
139
+ - Used as navigational signposts throughout the page
140
+ - Technical, structured feel
141
+
142
+ **Research Section**
143
+ - Dark Blue (#010120) background
144
+ - White text, research paper thumbnails
145
+ - Creates a distinct "academic" zone
146
+
147
+ **Large Footer Logo**
148
+ - "together" wordmark rendered at massive scale in the dark footer
149
+ - Creates a brand-statement closing moment
150
+
151
+ ## 5. Layout Principles
152
+
153
+ ### Spacing System
154
+ - Base unit: 8px
155
+ - Scale: 1px, 2px, 4px, 8px, 10px, 12px, 16px, 20px, 24px, 32px, 44px, 48px, 80px, 100px, 120px
156
+ - Button/badge padding: 2px 8px (compact)
157
+ - Card internal padding: approximately 24–32px
158
+ - Section vertical spacing: generous (80–120px)
159
+
160
+ ### Grid & Container
161
+ - Max container width: approximately 1200px, centered
162
+ - Hero: centered with pastel gradient background
163
+ - Feature sections: multi-column card grids
164
+ - Stats: horizontal row of metric cards
165
+ - Research: dark full-width section
166
+
167
+ ### Whitespace Philosophy
168
+ - **Optimistic breathing room**: Generous spacing between sections creates an open, inviting feel that makes enterprise AI infrastructure feel accessible.
169
+ - **Dual atmosphere**: Light sections breathe with whitespace; dark sections are denser with content.
170
+ - **Stats as visual anchors**: Large numbers with small captions create natural focal points.
171
+
172
+ ### Border Radius Scale
173
+ - Sharp (4px): Buttons, badges, tags, small interactive elements — the primary radius
174
+ - Comfortable (8px): Larger containers, feature cards
175
+
176
+ *This is a deliberately restrained radius system — no pills, no generous rounding. The sharp geometry contrasts with the soft pastel gradients.*
177
+
178
+ ## 6. Depth & Elevation
179
+
180
+ | Level | Treatment | Use |
181
+ |-------|-----------|-----|
182
+ | Flat (Level 0) | No shadow, no border | Page background, text blocks |
183
+ | Contained (Level 1) | `1px solid rgba(0,0,0,0.08)` (light) or `rgba(255,255,255,0.12)` (dark) | Cards, badges, containers |
184
+ | Elevated (Level 2) | `rgba(1, 1, 32, 0.1) 0px 4px 10px` | Feature cards, hover states |
185
+ | Dark Zone (Level 3) | Dark Blue (#010120) full-width background | Research, footer, technical sections |
186
+
187
+ **Shadow Philosophy**: Together AI uses a single, distinctive shadow — tinted with Dark Blue (`rgba(1, 1, 32, 0.1)`) rather than generic black. This gives elevated elements a subtle blue-ish cast that ties them to the brand's midnight-blue dark mode. The shadow is soft (10px blur, 4px offset) and always downward — creating gentle paper-hover elevation.
188
+
189
+ ## 7. Do's and Don'ts
190
+
191
+ ### Do
192
+ - Use pastel gradients (pink/blue/lavender) for hero illustrations and decorative backgrounds
193
+ - Use Dark Blue (#010120) for dark sections — never generic gray-black
194
+ - Apply negative letter-spacing on all "The Future" text (scaled by size)
195
+ - Use PP Neue Montreal Mono in uppercase for section labels and technical markers
196
+ - Keep border-radius sharp (4px) for badges and interactive elements
197
+ - Use the dark-blue-tinted shadow for elevation
198
+ - Maintain the light/dark section duality — business (light) vs research (dark)
199
+ - Show enterprise stats prominently with large display numbers
200
+
201
+ ### Don't
202
+ - Don't use Brand Magenta (#ef2cc1) or Brand Orange (#fc4c02) as UI colors — they're for illustrations only
203
+ - Don't use pill-shaped or generously rounded corners — the geometry is sharp
204
+ - Don't use generic gray-black for dark sections — always Dark Blue (#010120)
205
+ - Don't use positive letter-spacing on "The Future" — it's always negative
206
+ - Don't use bold (700+) weight — 400–500 is the full range
207
+ - Don't use warm-toned shadows — always dark-blue-tinted
208
+ - Don't reduce section spacing below 48px — the open feeling is core
209
+ - Don't mix in additional typefaces — "The Future" + PP Neue Montreal Mono is the pair
210
+
211
+ ## 8. Responsive Behavior
212
+
213
+ ### Breakpoints
214
+ | Name | Width | Key Changes |
215
+ |------|-------|-------------|
216
+ | Mobile | <479px | Compact layout, stacked everything |
217
+ | Large Mobile | 479–767px | Single column, hamburger nav |
218
+ | Tablet | 768–991px | 2-column grids begin |
219
+ | Desktop | 992px+ | Full multi-column layout |
220
+
221
+ ### Touch Targets
222
+ - Buttons with adequate padding
223
+ - Card surfaces as touch targets
224
+ - Navigation links at comfortable 16px
225
+
226
+ ### Collapsing Strategy
227
+ - **Navigation**: Collapses to hamburger on mobile
228
+ - **Hero text**: 64px → 40px → 28px progressive scaling
229
+ - **Stats bar**: Horizontal → stacked vertical
230
+ - **Feature grids**: Multi-column → single column
231
+ - **Research section**: Cards stack vertically
232
+
233
+ ### Image Behavior
234
+ - Pastel illustrations scale proportionally
235
+ - Product screenshots maintain aspect ratio
236
+ - Team photos scale within containers
237
+
238
+ ## 9. Agent Prompt Guide
239
+
240
+ ### Quick Color Reference
241
+ - Primary Text (light): "Pure Black (#000000)"
242
+ - Primary Text (dark): "Pure White (#ffffff)"
243
+ - Page Background: "Pure White (#ffffff)"
244
+ - Dark Surface: "Dark Blue (#010120)"
245
+ - Brand Accent 1: "Brand Magenta (#ef2cc1)"
246
+ - Brand Accent 2: "Brand Orange (#fc4c02)"
247
+ - Soft Accent: "Soft Lavender (#bdbbff)"
248
+ - Border (light): "rgba(0, 0, 0, 0.08)"
249
+
250
+ ### Example Component Prompts
251
+ - "Create a hero section on white with soft pastel gradients (pink → lavender → blue) as background. Headline at 64px 'The Future' weight 500, line-height 1.10, letter-spacing -1.92px. Pure Black text. Include a dark blue CTA button (#010120, 4px radius)."
252
+ - "Design a stats card: large display number (64px, weight 500) with a small caption below (14px). White background, 8px radius, dark-blue-tinted shadow (rgba(1, 1, 32, 0.1) 0px 4px 10px)."
253
+ - "Build a section label: PP Neue Montreal Mono, 11px, weight 500, uppercase, letter-spacing 0.055px. Black text on light, white on dark."
254
+ - "Create a dark research section: Dark Blue (#010120) background. White text, section heading at 40px 'The Future' weight 500, letter-spacing -0.8px. Cards with rgba(255, 255, 255, 0.12) border."
255
+ - "Design a badge: 4px radius, rgba(0, 0, 0, 0.04) background, 1px solid rgba(0, 0, 0, 0.08) border, 'The Future' 16px text. Padding: 2px 8px."
256
+
257
+ ### Iteration Guide
258
+ 1. Always specify negative letter-spacing for "The Future" — it's scaled by size
259
+ 2. Dark sections use #010120 (midnight blue), never generic black
260
+ 3. Shadows are always dark-blue-tinted: rgba(1, 1, 32, 0.1)
261
+ 4. Mono labels are always uppercase with positive letter-spacing
262
+ 5. Keep radius sharp (4px or 8px) — no pills, no generous rounding
263
+ 6. Pastel gradients are for decoration, not UI chrome
@@ -0,0 +1,295 @@
1
+ # Design System: Uber
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Uber's design language is a masterclass in confident minimalism -- a black-and-white universe where every pixel serves a purpose and nothing decorates without earning its place. The entire experience is built on a stark duality: jet black (`#000000`) and pure white (`#ffffff`), with virtually no mid-tone grays diluting the message. This isn't the sterile minimalism of a startup that hasn't finished designing -- it's the deliberate restraint of a brand so established it can afford to whisper.
6
+
7
+ The signature typeface, UberMove, is a proprietary geometric sans-serif with a distinctly square, engineered quality. Headlines in UberMove Bold at 52px carry the weight of a billboard -- authoritative, direct, unapologetic. The companion face UberMoveText handles body copy and buttons with a slightly softer, more readable character at medium weight (500). Together, they create a typographic system that feels like a transit map: clear, efficient, built for scanning at speed.
8
+
9
+ What makes Uber's design truly distinctive is its use of full-bleed photography and illustration paired with pill-shaped interactive elements (999px border-radius). Navigation chips, CTA buttons, and category selectors all share this capsule shape, creating a tactile, thumb-friendly interface language that's unmistakably Uber. The illustrations -- warm, slightly stylized scenes of drivers, riders, and cityscapes -- inject humanity into what could otherwise be a cold, monochrome system. The site alternates between white content sections and a full-black footer, with card-based layouts using the gentlest possible shadows (rgba(0,0,0,0.12-0.16)) to create subtle lift without breaking the flat aesthetic.
10
+
11
+ **Key Characteristics:**
12
+ - Pure black-and-white foundation with virtually no mid-tone grays in the UI chrome
13
+ - UberMove (headlines) + UberMoveText (body/UI) -- proprietary geometric sans-serif family
14
+ - Pill-shaped everything: buttons, chips, nav items all use 999px border-radius
15
+ - Warm, human illustrations contrasting the stark monochrome interface
16
+ - Card-based layout with whisper-soft shadows (0.12-0.16 opacity)
17
+ - 8px spacing grid with compact, information-dense layouts
18
+ - Bold photography integrated as full-bleed hero backgrounds
19
+ - Black footer anchoring the page with a dark, high-contrast environment
20
+
21
+ ## 2. Color Palette & Roles
22
+
23
+ ### Primary
24
+ - **Uber Black** (`#000000`): The defining brand color -- used for primary buttons, headlines, navigation text, and the footer. Not "near-black" or "off-black," but true, uncompromising black.
25
+ - **Pure White** (`#ffffff`): The primary surface color and inverse text. Used for page backgrounds, card surfaces, and text on black elements.
26
+
27
+ ### Interactive & Button States
28
+ - **Hover Gray** (`#e2e2e2`): White button hover state -- a clean, cool light gray that provides clear feedback without warmth.
29
+ - **Hover Light** (`#f3f3f3`): Subtle hover for elevated white buttons -- barely-there gray for gentle interaction feedback.
30
+ - **Chip Gray** (`#efefef`): Background for secondary/filter buttons and navigation chips -- a neutral, ultra-light gray.
31
+
32
+ ### Text & Content
33
+ - **Body Gray** (`#4b4b4b`): Secondary text and footer links -- a true mid-gray with no warm or cool bias.
34
+ - **Muted Gray** (`#afafaf`): Tertiary text, de-emphasized footer links, and placeholder content.
35
+
36
+ ### Borders & Separation
37
+ - **Border Black** (`#000000`): Thin 1px borders for structural containment -- used sparingly on dividers and form containers.
38
+
39
+ ### Shadows & Depth
40
+ - **Shadow Light** (`rgba(0, 0, 0, 0.12)`): Standard card elevation -- a featherweight lift for content cards.
41
+ - **Shadow Medium** (`rgba(0, 0, 0, 0.16)`): Slightly stronger elevation for floating action buttons and overlays.
42
+ - **Button Press** (`rgba(0, 0, 0, 0.08)`): Inset shadow for active/pressed states on secondary buttons.
43
+
44
+ ### Link States
45
+ - **Default Link Blue** (`#0000ee`): Standard browser blue for text links with underline -- used in body content.
46
+ - **Link White** (`#ffffff`): Links on dark surfaces -- used in footer and dark sections.
47
+ - **Link Black** (`#000000`): Links on light surfaces with underline decoration.
48
+
49
+ ### Gradient System
50
+ - Uber's design is **entirely gradient-free**. The black/white duality and flat color blocks create all visual hierarchy. No gradients appear anywhere in the system -- every surface is a solid color, every transition is a hard edge or a shadow.
51
+
52
+ ## 3. Typography Rules
53
+
54
+ ### Font Family
55
+ - **Headline / Display**: `UberMove`, with fallbacks: `UberMoveText, system-ui, Helvetica Neue, Helvetica, Arial, sans-serif`
56
+ - **Body / UI**: `UberMoveText`, with fallbacks: `system-ui, Helvetica Neue, Helvetica, Arial, sans-serif`
57
+
58
+ *Note: UberMove and UberMoveText are proprietary typefaces. For external implementations, use `system-ui` or Inter as the closest available substitute. The geometric, square-proportioned character of UberMove can be approximated with Inter or DM Sans.*
59
+
60
+ ### Hierarchy
61
+
62
+ | Role | Font | Size | Weight | Line Height | Notes |
63
+ |------|------|------|--------|-------------|-------|
64
+ | Display / Hero | UberMove | 52px (3.25rem) | 700 | 1.23 (tight) | Maximum impact, billboard presence |
65
+ | Section Heading | UberMove | 36px (2.25rem) | 700 | 1.22 (tight) | Major section anchors |
66
+ | Card Title | UberMove | 32px (2rem) | 700 | 1.25 (tight) | Card and feature headings |
67
+ | Sub-heading | UberMove | 24px (1.5rem) | 700 | 1.33 | Secondary section headers |
68
+ | Small Heading | UberMove | 20px (1.25rem) | 700 | 1.40 | Compact headings, list titles |
69
+ | Nav / UI Large | UberMoveText | 18px (1.13rem) | 500 | 1.33 | Navigation links, prominent UI text |
70
+ | Body / Button | UberMoveText | 16px (1rem) | 400-500 | 1.25-1.50 | Standard body text, button labels |
71
+ | Caption | UberMoveText | 14px (0.88rem) | 400-500 | 1.14-1.43 | Metadata, descriptions, small links |
72
+ | Micro | UberMoveText | 12px (0.75rem) | 400 | 1.67 (relaxed) | Fine print, legal text |
73
+
74
+ ### Principles
75
+ - **Bold headlines, medium body**: UberMove headings are exclusively weight 700 (bold) -- every headline hits with billboard force. UberMoveText body and UI text uses 400-500, creating a clear visual hierarchy through weight contrast.
76
+ - **Tight heading line-heights**: All headlines use line-heights between 1.22-1.40 -- compact and punchy, designed for scanning rather than reading.
77
+ - **Functional typography**: There is no decorative type treatment anywhere. No letter-spacing, no text-transform, no ornamental sizing. Every text element serves a direct communication purpose.
78
+ - **Two fonts, strict roles**: UberMove is exclusively for headings. UberMoveText is exclusively for body, buttons, links, and UI. The boundary is never crossed.
79
+
80
+ ## 4. Component Stylings
81
+
82
+ ### Buttons
83
+
84
+ **Primary Black (CTA)**
85
+ - Background: Uber Black (`#000000`)
86
+ - Text: Pure White (`#ffffff`)
87
+ - Padding: 10px 12px
88
+ - Radius: 999px (full pill)
89
+ - Outline: none
90
+ - Focus: inset ring `rgb(255,255,255) 0px 0px 0px 2px`
91
+ - The primary action button -- bold, high-contrast, unmissable
92
+
93
+ **Secondary White**
94
+ - Background: Pure White (`#ffffff`)
95
+ - Text: Uber Black (`#000000`)
96
+ - Padding: 10px 12px
97
+ - Radius: 999px (full pill)
98
+ - Hover: background shifts to Hover Gray (`#e2e2e2`)
99
+ - Focus: background shifts to Hover Gray, inset ring appears
100
+ - Used on dark surfaces or as a secondary action alongside Primary Black
101
+
102
+ **Chip / Filter**
103
+ - Background: Chip Gray (`#efefef`)
104
+ - Text: Uber Black (`#000000`)
105
+ - Padding: 14px 16px
106
+ - Radius: 999px (full pill)
107
+ - Active: inset shadow `rgba(0,0,0,0.08)`
108
+ - Navigation chips, category selectors, filter toggles
109
+
110
+ **Floating Action**
111
+ - Background: Pure White (`#ffffff`)
112
+ - Text: Uber Black (`#000000`)
113
+ - Padding: 14px
114
+ - Radius: 999px (full pill)
115
+ - Shadow: `rgba(0,0,0,0.16) 0px 2px 8px 0px`
116
+ - Transform: `translateY(2px)` slight offset
117
+ - Hover: background shifts to `#f3f3f3`
118
+ - Map controls, scroll-to-top, floating CTAs
119
+
120
+ ### Cards & Containers
121
+ - Background: Pure White (`#ffffff`) on white pages; no distinct card background differentiation
122
+ - Border: none by default -- cards are defined by shadow, not stroke
123
+ - Radius: 8px for standard content cards; 12px for featured/promoted cards
124
+ - Shadow: `rgba(0,0,0,0.12) 0px 4px 16px 0px` for standard lift
125
+ - Cards are content-dense with minimal internal padding
126
+ - Image-led cards use full-bleed imagery with text overlay or below
127
+
128
+ ### Inputs & Forms
129
+ - Text: Uber Black (`#000000`)
130
+ - Background: Pure White (`#ffffff`)
131
+ - Border: 1px solid Black (`#000000`) -- the only place visible borders appear prominently
132
+ - Radius: 8px
133
+ - Padding: standard comfortable spacing
134
+ - Focus: no extracted custom focus state -- relies on standard browser focus ring
135
+
136
+ ### Navigation
137
+ - Sticky top navigation with white background
138
+ - Logo: Uber wordmark/icon at 24x24px in black
139
+ - Links: UberMoveText at 14-18px, weight 500, in Uber Black
140
+ - Pill-shaped nav chips with Chip Gray (`#efefef`) background for category navigation ("Ride", "Drive", "Business", "Uber Eats")
141
+ - Menu toggle: circular button with 50% border-radius
142
+ - Mobile: hamburger menu pattern
143
+
144
+ ### Image Treatment
145
+ - Warm, hand-illustrated scenes (not photographs for feature sections)
146
+ - Illustration style: slightly stylized people, warm color palette within illustrations, contemporary vibe
147
+ - Hero sections use bold photography or illustration as full-width backgrounds
148
+ - QR codes for app download CTAs
149
+ - All imagery uses standard 8px or 12px border-radius when contained in cards
150
+
151
+ ### Distinctive Components
152
+
153
+ **Category Pill Navigation**
154
+ - Horizontal row of pill-shaped buttons for top-level navigation ("Ride", "Drive", "Business", "Uber Eats", "About")
155
+ - Each pill: Chip Gray background, black text, 999px radius
156
+ - Active state indicated by black background with white text (inversion)
157
+
158
+ **Hero with Dual Action**
159
+ - Split hero: text/CTA on left, map/illustration on right
160
+ - Two input fields side by side for pickup/destination
161
+ - "See prices" CTA button in black pill
162
+
163
+ **Plan-Ahead Cards**
164
+ - Cards promoting features like "Uber Reserve" and trip planning
165
+ - Illustration-heavy with warm, human-centric imagery
166
+ - Black CTA buttons with white text at bottom
167
+
168
+ ## 5. Layout Principles
169
+
170
+ ### Spacing System
171
+ - Base unit: 8px
172
+ - Scale: 4px, 6px, 8px, 10px, 12px, 14px, 16px, 18px, 20px, 24px, 32px
173
+ - Button padding: 10px 12px (compact) or 14px 16px (comfortable)
174
+ - Card internal padding: approximately 24-32px
175
+ - Section vertical spacing: generous but efficient -- approximately 64-96px between major sections
176
+
177
+ ### Grid & Container
178
+ - Max container width: approximately 1136px, centered
179
+ - Hero: split layout with text left, visual right
180
+ - Feature sections: 2-column card grids or full-width single-column
181
+ - Footer: multi-column link grid on black background
182
+ - Full-width sections extending to viewport edges
183
+
184
+ ### Whitespace Philosophy
185
+ - **Efficient, not airy**: Uber's whitespace is functional -- enough to separate, never enough to feel empty. This is transit-system spacing: compact, clear, purpose-driven.
186
+ - **Content-dense cards**: Cards pack information tightly with minimal internal spacing, relying on shadow and radius to define boundaries.
187
+ - **Section breathing room**: Major sections get generous vertical spacing, but within sections, elements are closely grouped.
188
+
189
+ ### Border Radius Scale
190
+ - Sharp (0px): No square corners used in interactive elements
191
+ - Standard (8px): Content cards, input fields, listboxes
192
+ - Comfortable (12px): Featured cards, larger containers, link cards
193
+ - Full Pill (999px): All buttons, chips, navigation items, pills
194
+ - Circle (50%): Avatar images, icon containers, circular controls
195
+
196
+ ## 6. Depth & Elevation
197
+
198
+ | Level | Treatment | Use |
199
+ |-------|-----------|-----|
200
+ | Flat (Level 0) | No shadow, solid background | Page background, inline content, text sections |
201
+ | Subtle (Level 1) | `rgba(0,0,0,0.12) 0px 4px 16px` | Standard content cards, feature blocks |
202
+ | Medium (Level 2) | `rgba(0,0,0,0.16) 0px 4px 16px` | Elevated cards, overlay elements |
203
+ | Floating (Level 3) | `rgba(0,0,0,0.16) 0px 2px 8px` + translateY(2px) | Floating action buttons, map controls |
204
+ | Pressed (Level 4) | `rgba(0,0,0,0.08) inset` (999px spread) | Active/pressed button states |
205
+ | Focus Ring | `rgb(255,255,255) 0px 0px 0px 2px inset` | Keyboard focus indicators |
206
+
207
+ **Shadow Philosophy**: Uber uses shadow purely as a structural tool, never decoratively. Shadows are always black at very low opacity (0.08-0.16), creating the bare minimum lift needed to separate content layers. The blur radii are moderate (8-16px) -- enough to feel natural but never dramatic. There are no colored shadows, no layered shadow stacks, and no ambient glow effects. Depth is communicated more through the black/white section contrast than through shadow elevation.
208
+
209
+ ## 7. Do's and Don'ts
210
+
211
+ ### Do
212
+ - Use true black (`#000000`) and pure white (`#ffffff`) as the primary palette -- the stark contrast IS Uber
213
+ - Use 999px border-radius for all buttons, chips, and pill-shaped navigation elements
214
+ - Keep all headings in UberMove Bold (700) for billboard-level impact
215
+ - Use whisper-soft shadows (0.12-0.16 opacity) for card elevation -- barely visible
216
+ - Maintain the compact, information-dense layout style -- Uber prioritizes efficiency over airiness
217
+ - Use warm, human-centric illustrations to soften the monochrome interface
218
+ - Apply 8px radius for content cards and 12px for featured containers
219
+ - Use UberMoveText at weight 500 for navigation and prominent UI text
220
+ - Pair black primary buttons with white secondary buttons for dual-action layouts
221
+
222
+ ### Don't
223
+ - Don't introduce color into the UI chrome -- Uber's interface is strictly black, white, and gray
224
+ - Don't use rounded corners less than 999px on buttons -- the full-pill shape is a core identity element
225
+ - Don't apply heavy shadows or drop shadows with high opacity -- depth is whisper-subtle
226
+ - Don't use serif fonts anywhere -- Uber's typography is exclusively geometric sans-serif
227
+ - Don't create airy, spacious layouts with excessive whitespace -- Uber's density is intentional
228
+ - Don't use gradients or color overlays -- every surface is a flat, solid color
229
+ - Don't mix UberMove into body text or UberMoveText into headlines -- the hierarchy is strict
230
+ - Don't use decorative borders -- borders are functional (inputs, dividers) or absent entirely
231
+ - Don't soften the black/white contrast with off-whites or near-blacks -- the duality is deliberate
232
+
233
+ ## 8. Responsive Behavior
234
+
235
+ ### Breakpoints
236
+ | Name | Width | Key Changes |
237
+ |------|-------|-------------|
238
+ | Mobile Small | 320px | Minimum layout, single column, stacked inputs, compact typography |
239
+ | Mobile | 600px | Standard mobile, stacked layout, hamburger nav |
240
+ | Tablet Small | 768px | Two-column grids begin, expanded card layouts |
241
+ | Tablet | 1119px | Full tablet layout, side-by-side hero content |
242
+ | Desktop Small | 1120px | Desktop grid activates, horizontal nav pills |
243
+ | Desktop | 1136px | Full desktop layout, maximum container width, split hero |
244
+
245
+ ### Touch Targets
246
+ - All pill buttons: minimum 44px height (10-14px vertical padding + line-height)
247
+ - Navigation chips: generous 14px 16px padding for comfortable thumb tapping
248
+ - Circular controls (menu, close): 50% radius ensures large, easy-to-hit targets
249
+ - Card surfaces serve as full-area touch targets on mobile
250
+
251
+ ### Collapsing Strategy
252
+ - **Navigation**: Horizontal pill nav collapses to hamburger menu with circular toggle
253
+ - **Hero**: Split layout (text + map/visual) stacks to single column -- text above, visual below
254
+ - **Input fields**: Side-by-side pickup/destination inputs stack vertically
255
+ - **Feature cards**: 2-column grid collapses to full-width stacked cards
256
+ - **Headings**: 52px display scales down through 36px, 32px, 24px, 20px
257
+ - **Footer**: Multi-column link grid collapses to accordion or stacked single column
258
+ - **Category pills**: Horizontal scroll with overflow on smaller screens
259
+
260
+ ### Image Behavior
261
+ - Illustrations scale proportionally within their containers
262
+ - Hero imagery maintains aspect ratio, may crop on smaller screens
263
+ - QR code sections hide on mobile (app download shifts to direct store links)
264
+ - Card imagery maintains 8-12px border radius at all sizes
265
+
266
+ ## 9. Agent Prompt Guide
267
+
268
+ ### Quick Color Reference
269
+ - Primary Button: "Uber Black (#000000)"
270
+ - Page Background: "Pure White (#ffffff)"
271
+ - Button Text (on black): "Pure White (#ffffff)"
272
+ - Button Text (on white): "Uber Black (#000000)"
273
+ - Secondary Text: "Body Gray (#4b4b4b)"
274
+ - Tertiary Text: "Muted Gray (#afafaf)"
275
+ - Chip Background: "Chip Gray (#efefef)"
276
+ - Hover State: "Hover Gray (#e2e2e2)"
277
+ - Card Shadow: "rgba(0,0,0,0.12) 0px 4px 16px"
278
+ - Footer Background: "Uber Black (#000000)"
279
+
280
+ ### Example Component Prompts
281
+ - "Create a hero section on Pure White (#ffffff) with a headline at 52px UberMove Bold (700), line-height 1.23. Use Uber Black (#000000) text. Add a subtitle in Body Gray (#4b4b4b) at 16px UberMoveText weight 400 with 1.50 line-height. Place an Uber Black (#000000) pill CTA button with Pure White text, 999px radius, padding 10px 12px."
282
+ - "Design a category navigation bar with horizontal pill buttons. Each pill: Chip Gray (#efefef) background, Uber Black (#000000) text, 14px 16px padding, 999px border-radius. Active pill inverts to Uber Black background with Pure White text. Use UberMoveText at 14px weight 500."
283
+ - "Build a feature card on Pure White (#ffffff) with 8px border-radius and shadow rgba(0,0,0,0.12) 0px 4px 16px. Title in UberMove at 24px weight 700, description in Body Gray (#4b4b4b) at 16px UberMoveText. Add a black pill CTA button at the bottom."
284
+ - "Create a dark footer on Uber Black (#000000) with Pure White (#ffffff) heading text in UberMove at 20px weight 700. Footer links in Muted Gray (#afafaf) at 14px UberMoveText. Links hover to Pure White. Multi-column grid layout."
285
+ - "Design a floating action button with Pure White (#ffffff) background, 999px radius, 14px padding, and shadow rgba(0,0,0,0.16) 0px 2px 8px. Hover shifts background to #f3f3f3. Use for scroll-to-top or map controls."
286
+
287
+ ### Iteration Guide
288
+ 1. Focus on ONE component at a time
289
+ 2. Reference the strict black/white palette -- "use Uber Black (#000000)" not "make it dark"
290
+ 3. Always specify 999px radius for buttons and pills -- this is non-negotiable for the Uber identity
291
+ 4. Describe the font family explicitly -- "UberMove Bold for the heading, UberMoveText Medium for the label"
292
+ 5. For shadows, use "whisper shadow (rgba(0,0,0,0.12) 0px 4px 16px)" -- never heavy drop shadows
293
+ 6. Keep layouts compact and information-dense -- Uber is efficient, not airy
294
+ 7. Illustrations should be warm and human -- describe "stylized people in warm tones" not abstract shapes
295
+ 8. Pair black CTAs with white secondaries for balanced dual-action layouts