getrelay 0.1.0

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 (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -0
  3. package/bin/relay.js +362 -0
  4. package/design-md/airbnb/DESIGN.md +545 -0
  5. package/design-md/airbnb/README.md +5 -0
  6. package/design-md/airtable/DESIGN.md +554 -0
  7. package/design-md/airtable/README.md +5 -0
  8. package/design-md/apple/DESIGN.md +562 -0
  9. package/design-md/apple/README.md +5 -0
  10. package/design-md/binance/DESIGN.md +634 -0
  11. package/design-md/binance/README.md +5 -0
  12. package/design-md/bmw/DESIGN.md +544 -0
  13. package/design-md/bmw/README.md +5 -0
  14. package/design-md/bmw-m/DESIGN.md +503 -0
  15. package/design-md/bmw-m/README.md +5 -0
  16. package/design-md/bugatti/DESIGN.md +454 -0
  17. package/design-md/bugatti/README.md +5 -0
  18. package/design-md/cal/DESIGN.md +542 -0
  19. package/design-md/cal/README.md +5 -0
  20. package/design-md/claude/DESIGN.md +589 -0
  21. package/design-md/claude/README.md +5 -0
  22. package/design-md/clay/DESIGN.md +541 -0
  23. package/design-md/clay/README.md +5 -0
  24. package/design-md/clickhouse/DESIGN.md +544 -0
  25. package/design-md/clickhouse/README.md +5 -0
  26. package/design-md/cohere/DESIGN.md +451 -0
  27. package/design-md/cohere/README.md +5 -0
  28. package/design-md/coinbase/DESIGN.md +570 -0
  29. package/design-md/coinbase/README.md +5 -0
  30. package/design-md/composio/DESIGN.md +506 -0
  31. package/design-md/composio/README.md +5 -0
  32. package/design-md/cursor/DESIGN.md +537 -0
  33. package/design-md/cursor/README.md +5 -0
  34. package/design-md/elevenlabs/DESIGN.md +504 -0
  35. package/design-md/elevenlabs/README.md +5 -0
  36. package/design-md/expo/DESIGN.md +526 -0
  37. package/design-md/expo/README.md +5 -0
  38. package/design-md/ferrari/DESIGN.md +531 -0
  39. package/design-md/ferrari/README.md +5 -0
  40. package/design-md/figma/DESIGN.md +578 -0
  41. package/design-md/figma/README.md +5 -0
  42. package/design-md/framer/DESIGN.md +544 -0
  43. package/design-md/framer/README.md +5 -0
  44. package/design-md/hashicorp/DESIGN.md +575 -0
  45. package/design-md/hashicorp/README.md +5 -0
  46. package/design-md/ibm/DESIGN.md +550 -0
  47. package/design-md/ibm/README.md +5 -0
  48. package/design-md/intercom/DESIGN.md +546 -0
  49. package/design-md/intercom/README.md +5 -0
  50. package/design-md/kraken/DESIGN.md +125 -0
  51. package/design-md/kraken/README.md +5 -0
  52. package/design-md/lamborghini/DESIGN.md +288 -0
  53. package/design-md/lamborghini/README.md +5 -0
  54. package/design-md/linear.app/DESIGN.md +548 -0
  55. package/design-md/linear.app/README.md +5 -0
  56. package/design-md/lovable/DESIGN.md +298 -0
  57. package/design-md/lovable/README.md +5 -0
  58. package/design-md/mastercard/DESIGN.md +365 -0
  59. package/design-md/mastercard/README.md +5 -0
  60. package/design-md/meta/DESIGN.md +683 -0
  61. package/design-md/meta/README.md +5 -0
  62. package/design-md/minimax/DESIGN.md +746 -0
  63. package/design-md/minimax/README.md +5 -0
  64. package/design-md/mintlify/DESIGN.md +852 -0
  65. package/design-md/mintlify/README.md +5 -0
  66. package/design-md/miro/DESIGN.md +825 -0
  67. package/design-md/miro/README.md +5 -0
  68. package/design-md/mistral.ai/DESIGN.md +773 -0
  69. package/design-md/mistral.ai/README.md +5 -0
  70. package/design-md/mongodb/DESIGN.md +767 -0
  71. package/design-md/mongodb/README.md +5 -0
  72. package/design-md/nike/DESIGN.md +575 -0
  73. package/design-md/nike/README.md +5 -0
  74. package/design-md/notion/DESIGN.md +821 -0
  75. package/design-md/notion/README.md +5 -0
  76. package/design-md/nvidia/DESIGN.md +640 -0
  77. package/design-md/nvidia/README.md +5 -0
  78. package/design-md/ollama/DESIGN.md +539 -0
  79. package/design-md/ollama/README.md +5 -0
  80. package/design-md/opencode.ai/DESIGN.md +521 -0
  81. package/design-md/opencode.ai/README.md +5 -0
  82. package/design-md/pinterest/DESIGN.md +597 -0
  83. package/design-md/pinterest/README.md +5 -0
  84. package/design-md/playstation/DESIGN.md +661 -0
  85. package/design-md/playstation/README.md +5 -0
  86. package/design-md/posthog/DESIGN.md +690 -0
  87. package/design-md/posthog/README.md +5 -0
  88. package/design-md/raycast/DESIGN.md +669 -0
  89. package/design-md/raycast/README.md +5 -0
  90. package/design-md/renault/DESIGN.md +589 -0
  91. package/design-md/renault/README.md +5 -0
  92. package/design-md/replicate/DESIGN.md +616 -0
  93. package/design-md/replicate/README.md +5 -0
  94. package/design-md/resend/DESIGN.md +585 -0
  95. package/design-md/resend/README.md +5 -0
  96. package/design-md/revolut/DESIGN.md +636 -0
  97. package/design-md/revolut/README.md +5 -0
  98. package/design-md/runwayml/DESIGN.md +244 -0
  99. package/design-md/runwayml/README.md +5 -0
  100. package/design-md/sanity/DESIGN.md +357 -0
  101. package/design-md/sanity/README.md +5 -0
  102. package/design-md/sentry/DESIGN.md +551 -0
  103. package/design-md/sentry/README.md +5 -0
  104. package/design-md/shopify/DESIGN.md +516 -0
  105. package/design-md/shopify/README.md +5 -0
  106. package/design-md/slack/DESIGN.md +482 -0
  107. package/design-md/spacex/DESIGN.md +363 -0
  108. package/design-md/spacex/README.md +5 -0
  109. package/design-md/spotify/DESIGN.md +246 -0
  110. package/design-md/spotify/README.md +5 -0
  111. package/design-md/starbucks/DESIGN.md +580 -0
  112. package/design-md/starbucks/README.md +5 -0
  113. package/design-md/stripe/DESIGN.md +487 -0
  114. package/design-md/stripe/README.md +5 -0
  115. package/design-md/supabase/DESIGN.md +462 -0
  116. package/design-md/supabase/README.md +5 -0
  117. package/design-md/superhuman/DESIGN.md +448 -0
  118. package/design-md/superhuman/README.md +5 -0
  119. package/design-md/tesla/DESIGN.md +286 -0
  120. package/design-md/tesla/README.md +5 -0
  121. package/design-md/theverge/DESIGN.md +339 -0
  122. package/design-md/theverge/README.md +5 -0
  123. package/design-md/together.ai/DESIGN.md +633 -0
  124. package/design-md/together.ai/README.md +5 -0
  125. package/design-md/uber/DESIGN.md +636 -0
  126. package/design-md/uber/README.md +5 -0
  127. package/design-md/vercel/DESIGN.md +736 -0
  128. package/design-md/vercel/README.md +5 -0
  129. package/design-md/vodafone/DESIGN.md +538 -0
  130. package/design-md/vodafone/README.md +5 -0
  131. package/design-md/voltagent/DESIGN.md +521 -0
  132. package/design-md/voltagent/README.md +5 -0
  133. package/design-md/warp/DESIGN.md +526 -0
  134. package/design-md/warp/README.md +5 -0
  135. package/design-md/webflow/DESIGN.md +588 -0
  136. package/design-md/webflow/README.md +5 -0
  137. package/design-md/wired/DESIGN.md +497 -0
  138. package/design-md/wired/README.md +5 -0
  139. package/design-md/wise/DESIGN.md +544 -0
  140. package/design-md/wise/README.md +5 -0
  141. package/design-md/x.ai/DESIGN.md +465 -0
  142. package/design-md/x.ai/README.md +5 -0
  143. package/design-md/zapier/DESIGN.md +537 -0
  144. package/design-md/zapier/README.md +5 -0
  145. package/package.json +31 -0
@@ -0,0 +1,298 @@
1
+ # Design System Inspired by Lovable
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Lovable's website radiates warmth through restraint. The entire page sits on a creamy, parchment-toned background (`#f7f4ed`) that immediately separates it from the cold-white conventions of most developer tool sites. This isn't minimalism for minimalism's sake — it's a deliberate choice to feel approachable, almost analog, like a well-crafted notebook. The near-black text (`#1c1c1c`) against this warm cream creates a contrast ratio that's easy on the eyes while maintaining sharp readability.
6
+
7
+ The custom Camera Plain Variable typeface is the system's secret weapon. Unlike geometric sans-serifs that signal "tech company," Camera Plain has a humanist warmth — slightly rounded terminals, organic curves, and a comfortable reading rhythm. At display sizes (48px–60px), weight 600 with aggressive negative letter-spacing (-0.9px to -1.5px) compresses headlines into confident, editorial statements. The font uses `ui-sans-serif, system-ui` as fallbacks, acknowledging that the custom typeface carries the brand personality.
8
+
9
+ What makes Lovable's visual system distinctive is its opacity-driven depth model. Rather than using a traditional gray scale, the system modulates `#1c1c1c` at varying opacities (0.03, 0.04, 0.4, 0.82–0.83) to create a unified tonal range. Every shade of gray on the page is technically the same hue — just more or less transparent. This creates a visual coherence that's nearly impossible to achieve with arbitrary hex values. The border system follows suit: `1px solid #eceae4` for light divisions and `1px solid rgba(28, 28, 28, 0.4)` for stronger interactive boundaries.
10
+
11
+ **Key Characteristics:**
12
+ - Warm parchment background (`#f7f4ed`) — not white, not beige, a deliberate cream that feels hand-selected
13
+ - Camera Plain Variable typeface with humanist warmth and editorial letter-spacing at display sizes
14
+ - Opacity-driven color system: all grays derived from `#1c1c1c` at varying transparency levels
15
+ - Inset shadow technique on buttons: `rgba(255,255,255,0.2) 0px 0.5px 0px 0px inset, rgba(0,0,0,0.2) 0px 0px 0px 0.5px inset`
16
+ - Warm neutral border palette: `#eceae4` for subtle, `rgba(28,28,28,0.4)` for interactive elements
17
+ - Full-pill radius (`9999px`) used extensively for action buttons and icon containers
18
+ - Focus state uses `rgba(0,0,0,0.1) 0px 4px 12px` shadow for soft, warm emphasis
19
+ - shadcn/ui + Radix UI component primitives with Tailwind CSS utility styling
20
+
21
+ ## 2. Color Palette & Roles
22
+
23
+ ### Primary
24
+ - **Cream** (`#f7f4ed`): Page background, card surfaces, button surfaces. The foundation — warm, paper-like, human.
25
+ - **Charcoal** (`#1c1c1c`): Primary text, headings, dark button backgrounds. Not pure black — organic warmth.
26
+ - **Off-White** (`#fcfbf8`): Button text on dark backgrounds, subtle highlight. Barely distinguishable from pure white.
27
+
28
+ ### Neutral Scale (Opacity-Based)
29
+ - **Charcoal 100%** (`#1c1c1c`): Primary text, headings, dark surfaces.
30
+ - **Charcoal 83%** (`rgba(28,28,28,0.83)`): Strong secondary text.
31
+ - **Charcoal 82%** (`rgba(28,28,28,0.82)`): Body copy.
32
+ - **Muted Gray** (`#5f5f5d`): Secondary text, descriptions, captions.
33
+ - **Charcoal 40%** (`rgba(28,28,28,0.4)`): Interactive borders, button outlines.
34
+ - **Charcoal 4%** (`rgba(28,28,28,0.04)`): Subtle hover backgrounds, micro-tints.
35
+ - **Charcoal 3%** (`rgba(28,28,28,0.03)`): Barely-visible overlays, background depth.
36
+
37
+ ### Surface & Border
38
+ - **Light Cream** (`#eceae4`): Card borders, dividers, image outlines. The warm divider line.
39
+ - **Cream Surface** (`#f7f4ed`): Card backgrounds, section fills — same as page background for seamless integration.
40
+
41
+ ### Interactive
42
+ - **Ring Blue** (`#3b82f6` at 50% opacity): `--tw-ring-color`, Tailwind focus ring.
43
+ - **Focus Shadow** (`rgba(0,0,0,0.1) 0px 4px 12px`): Focus and active state shadow — soft, warm, diffused.
44
+
45
+ ### Inset Shadows
46
+ - **Button Inset** (`rgba(255,255,255,0.2) 0px 0.5px 0px 0px inset, rgba(0,0,0,0.2) 0px 0px 0px 0.5px inset, rgba(0,0,0,0.05) 0px 1px 2px 0px`): The signature multi-layer inset shadow on dark buttons.
47
+
48
+ ## 3. Typography Rules
49
+
50
+ ### Font Family
51
+ - **Primary**: `Camera Plain Variable`, with fallbacks: `ui-sans-serif, system-ui`
52
+ - **Weight range**: 400 (body/reading), 480 (special display), 600 (headings/emphasis)
53
+ - **Feature**: Variable font with continuous weight axis — allows fine-tuned intermediary weights like 480.
54
+
55
+ ### Hierarchy
56
+
57
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
58
+ |------|------|------|--------|-------------|----------------|-------|
59
+ | Display Hero | Camera Plain Variable | 60px (3.75rem) | 600 | 1.00–1.10 (tight) | -1.5px | Maximum impact, editorial |
60
+ | Display Alt | Camera Plain Variable | 60px (3.75rem) | 480 | 1.00 (tight) | normal | Lighter hero variant |
61
+ | Section Heading | Camera Plain Variable | 48px (3.00rem) | 600 | 1.00 (tight) | -1.2px | Feature section titles |
62
+ | Sub-heading | Camera Plain Variable | 36px (2.25rem) | 600 | 1.10 (tight) | -0.9px | Sub-sections |
63
+ | Card Title | Camera Plain Variable | 20px (1.25rem) | 400 | 1.25 (tight) | normal | Card headings |
64
+ | Body Large | Camera Plain Variable | 18px (1.13rem) | 400 | 1.38 | normal | Introductions |
65
+ | Body | Camera Plain Variable | 16px (1.00rem) | 400 | 1.50 | normal | Standard reading text |
66
+ | Button | Camera Plain Variable | 16px (1.00rem) | 400 | 1.50 | normal | Button labels |
67
+ | Button Small | Camera Plain Variable | 14px (0.88rem) | 400 | 1.50 | normal | Compact buttons |
68
+ | Link | Camera Plain Variable | 16px (1.00rem) | 400 | 1.50 | normal | Underline decoration |
69
+ | Link Small | Camera Plain Variable | 14px (0.88rem) | 400 | 1.50 | normal | Footer links |
70
+ | Caption | Camera Plain Variable | 14px (0.88rem) | 400 | 1.50 | normal | Metadata, small text |
71
+
72
+ ### Principles
73
+ - **Warm humanist voice**: Camera Plain Variable gives Lovable its approachable personality. The slightly rounded terminals and organic curves contrast with the sharp geometric sans-serifs used by most developer tools.
74
+ - **Variable weight as design tool**: The font supports continuous weight values (e.g., 480), enabling nuanced hierarchy beyond standard weight stops. Weight 480 at 60px creates a display style that feels lighter than semibold but stronger than regular.
75
+ - **Compression at scale**: Headlines use negative letter-spacing (-0.9px to -1.5px) for editorial impact. Body text stays at normal tracking for comfortable reading.
76
+ - **Two weights, clear roles**: 400 (body/UI/links/buttons) and 600 (headings/emphasis). The narrow weight range creates hierarchy through size and spacing, not weight variation.
77
+
78
+ ## 4. Component Stylings
79
+
80
+ ### Buttons
81
+
82
+ **Primary Dark (Inset Shadow)**
83
+ - Background: `#1c1c1c`
84
+ - Text: `#fcfbf8`
85
+ - Padding: 8px 16px
86
+ - Radius: 6px
87
+ - Shadow: `rgba(0,0,0,0) 0px 0px 0px 0px, rgba(0,0,0,0) 0px 0px 0px 0px, rgba(255,255,255,0.2) 0px 0.5px 0px 0px inset, rgba(0,0,0,0.2) 0px 0px 0px 0.5px inset, rgba(0,0,0,0.05) 0px 1px 2px 0px`
88
+ - Active: opacity 0.8
89
+ - Focus: `rgba(0,0,0,0.1) 0px 4px 12px` shadow
90
+ - Use: Primary CTA ("Start Building", "Get Started")
91
+
92
+ **Ghost / Outline**
93
+ - Background: transparent
94
+ - Text: `#1c1c1c`
95
+ - Padding: 8px 16px
96
+ - Radius: 6px
97
+ - Border: `1px solid rgba(28,28,28,0.4)`
98
+ - Active: opacity 0.8
99
+ - Focus: `rgba(0,0,0,0.1) 0px 4px 12px` shadow
100
+ - Use: Secondary actions ("Log In", "Documentation")
101
+
102
+ **Cream Surface**
103
+ - Background: `#f7f4ed`
104
+ - Text: `#1c1c1c`
105
+ - Padding: 8px 16px
106
+ - Radius: 6px
107
+ - No border
108
+ - Active: opacity 0.8
109
+ - Use: Tertiary actions, toolbar buttons
110
+
111
+ **Pill / Icon Button**
112
+ - Background: `#f7f4ed`
113
+ - Text: `#1c1c1c`
114
+ - Radius: 9999px (full pill)
115
+ - Shadow: same inset pattern as primary dark
116
+ - Opacity: 0.5 (default), 0.8 (active)
117
+ - Use: Additional actions, plan mode toggle, voice recording
118
+
119
+ ### Cards & Containers
120
+ - Background: `#f7f4ed` (matches page)
121
+ - Border: `1px solid #eceae4`
122
+ - Radius: 12px (standard), 16px (featured), 8px (compact)
123
+ - No box-shadow by default — borders define boundaries
124
+ - Image cards: `1px solid #eceae4` with 12px radius
125
+
126
+ ### Inputs & Forms
127
+ - Background: `#f7f4ed`
128
+ - Text: `#1c1c1c`
129
+ - Border: `1px solid #eceae4`
130
+ - Radius: 6px
131
+ - Focus: ring blue (`rgba(59,130,246,0.5)`) outline
132
+ - Placeholder: `#5f5f5d`
133
+
134
+ ### Navigation
135
+ - Clean horizontal nav on cream background, fixed
136
+ - Logo/wordmark left-aligned (128.75 x 22px)
137
+ - Links: Camera Plain 14–16px weight 400, `#1c1c1c` text
138
+ - CTA: dark button with inset shadow, 6px radius
139
+ - Mobile: hamburger menu with 6px radius button
140
+ - Subtle border or no border on scroll
141
+
142
+ ### Links
143
+ - Color: `#1c1c1c`
144
+ - Decoration: underline (default)
145
+ - Hover: primary accent (via CSS variable `hsl(var(--primary))`)
146
+ - No color change on hover — decoration carries the interactive signal
147
+
148
+ ### Image Treatment
149
+ - Showcase/portfolio images with `1px solid #eceae4` border
150
+ - Consistent 12px border radius on all image containers
151
+ - Soft gradient backgrounds behind hero content (warm multi-color wash)
152
+ - Gallery-style presentation for template/project showcases
153
+
154
+ ### Distinctive Components
155
+
156
+ **AI Chat Input**
157
+ - Large prompt input area with soft borders
158
+ - Suggestion pills with `#eceae4` borders
159
+ - Voice recording / plan mode toggle buttons as pill shapes (9999px)
160
+ - Warm, inviting input area — not clinical
161
+
162
+ **Template Gallery**
163
+ - Card grid showing project templates
164
+ - Each card: image + title, `1px solid #eceae4` border, 12px radius
165
+ - Hover: subtle shadow or border darkening
166
+ - Category labels as text links
167
+
168
+ **Stats Bar**
169
+ - Large metrics: "0M+" pattern in 48px+ weight 600
170
+ - Descriptive text below in muted gray
171
+ - Horizontal layout with generous spacing
172
+
173
+ ## 5. Layout Principles
174
+
175
+ ### Spacing System
176
+ - Base unit: 8px
177
+ - Scale: 8px, 10px, 12px, 16px, 24px, 32px, 40px, 56px, 80px, 96px, 128px, 176px, 192px, 208px
178
+ - The scale expands generously at the top end — sections use 80px–208px vertical spacing for editorial breathing room
179
+
180
+ ### Grid & Container
181
+ - Max content width: approximately 1200px (centered)
182
+ - Hero: centered single-column with massive vertical padding (96px+)
183
+ - Feature sections: 2–3 column grids
184
+ - Full-width footer with multi-column link layout
185
+ - Showcase sections with centered card grids
186
+
187
+ ### Whitespace Philosophy
188
+ - **Editorial generosity**: Lovable's spacing is lavish at section boundaries (80px–208px). The warm cream background makes these expanses feel cozy rather than empty.
189
+ - **Content-driven rhythm**: Tight internal spacing within cards (12–24px) contrasts with wide section gaps, creating a reading rhythm that alternates between focused content and visual rest.
190
+ - **Section separation**: Footer uses `1px solid #eceae4` border and 16px radius container. Sections defined by generous spacing rather than border lines.
191
+
192
+ ### Border Radius Scale
193
+ - Micro (4px): Small buttons, interactive elements
194
+ - Standard (6px): Buttons, inputs, navigation menu
195
+ - Comfortable (8px): Compact cards, divs
196
+ - Card (12px): Standard cards, image containers, templates
197
+ - Container (16px): Large containers, footer sections
198
+ - Full Pill (9999px): Action pills, icon buttons, toggles
199
+
200
+ ## 6. Depth & Elevation
201
+
202
+ | Level | Treatment | Use |
203
+ |-------|-----------|-----|
204
+ | Flat (Level 0) | No shadow, cream background | Page surface, most content |
205
+ | Bordered (Level 1) | `1px solid #eceae4` | Cards, images, dividers |
206
+ | Inset (Level 2) | `rgba(255,255,255,0.2) 0px 0.5px 0px inset, rgba(0,0,0,0.2) 0px 0px 0px 0.5px inset, rgba(0,0,0,0.05) 0px 1px 2px` | Dark buttons, primary actions |
207
+ | Focus (Level 3) | `rgba(0,0,0,0.1) 0px 4px 12px` | Active/focus states |
208
+ | Ring (Accessibility) | `rgba(59,130,246,0.5)` 2px ring | Keyboard focus on inputs |
209
+
210
+ **Shadow Philosophy**: Lovable's depth system is intentionally shallow. Instead of floating cards with dramatic drop-shadows, the system relies on warm borders (`#eceae4`) against the cream surface to create gentle containment. The only notable shadow pattern is the inset shadow on dark buttons — a subtle multi-layer technique where a white highlight line sits at the top edge while a dark ring and soft drop handle the bottom. This creates a tactile, pressed-into-surface feeling rather than a hovering-above-surface feeling. The warm focus shadow (`rgba(0,0,0,0.1) 0px 4px 12px`) is deliberately diffused and large, creating a soft glow rather than a sharp outline.
211
+
212
+ ### Decorative Depth
213
+ - Hero: soft, warm multi-color gradient wash (pinks, oranges, blues) behind hero — atmospheric, barely visible
214
+ - Footer: gradient background with warm tones transitioning to the bottom
215
+ - No harsh section dividers — spacing and background warmth handle transitions
216
+
217
+ ## 7. Do's and Don'ts
218
+
219
+ ### Do
220
+ - Use the warm cream background (`#f7f4ed`) as the page foundation — it's the brand's signature warmth
221
+ - Use Camera Plain Variable at display sizes with negative letter-spacing (-0.9px to -1.5px)
222
+ - Derive all grays from `#1c1c1c` at varying opacity levels for tonal unity
223
+ - Use the inset shadow technique on dark buttons for tactile depth
224
+ - Use `#eceae4` borders instead of shadows for card containment
225
+ - Keep the weight system narrow: 400 for body/UI, 600 for headings
226
+ - Use full-pill radius (9999px) only for action pills and icon buttons
227
+ - Apply opacity 0.8 on active states for responsive tactile feedback
228
+
229
+ ### Don't
230
+ - Don't use pure white (`#ffffff`) as a page background — the cream is intentional
231
+ - Don't use heavy box-shadows for cards — borders are the containment mechanism
232
+ - Don't introduce saturated accent colors — the palette is intentionally warm-neutral
233
+ - Don't use weight 700 (bold) — 600 is the maximum weight in the system
234
+ - Don't apply 9999px radius on rectangular buttons — pills are for icon/action toggles
235
+ - Don't use sharp focus outlines — the system uses soft shadow-based focus indicators
236
+ - Don't mix border styles — `#eceae4` for passive, `rgba(28,28,28,0.4)` for interactive
237
+ - Don't increase letter-spacing on headings — Camera Plain is designed to run tight at scale
238
+
239
+ ## 8. Responsive Behavior
240
+
241
+ ### Breakpoints
242
+ | Name | Width | Key Changes |
243
+ |------|-------|-------------|
244
+ | Mobile Small | <600px | Tight single column, reduced padding |
245
+ | Mobile | 600–640px | Standard mobile layout |
246
+ | Tablet Small | 640–700px | 2-column grids begin |
247
+ | Tablet | 700–768px | Card grids expand |
248
+ | Desktop Small | 768–1024px | Multi-column layouts |
249
+ | Desktop | 1024–1280px | Full feature layout |
250
+ | Large Desktop | 1280–1536px | Maximum content width, generous margins |
251
+
252
+ ### Touch Targets
253
+ - Buttons: 8px 16px padding (comfortable touch)
254
+ - Navigation: adequate spacing between items
255
+ - Pill buttons: 9999px radius creates large tap-friendly targets
256
+ - Menu toggle: 6px radius button with adequate sizing
257
+
258
+ ### Collapsing Strategy
259
+ - Hero: 60px → 48px → 36px headline scaling with proportional letter-spacing
260
+ - Navigation: horizontal links → hamburger menu at 768px
261
+ - Feature cards: 3-column → 2-column → single column stacked
262
+ - Template gallery: grid → stacked vertical cards
263
+ - Stats bar: horizontal → stacked vertical
264
+ - Footer: multi-column → stacked single column
265
+ - Section spacing: 128px+ → 64px on mobile
266
+
267
+ ### Image Behavior
268
+ - Template screenshots maintain `1px solid #eceae4` border at all sizes
269
+ - 12px border radius preserved across breakpoints
270
+ - Gallery images responsive with consistent aspect ratios
271
+ - Hero gradient softens/simplifies on mobile
272
+
273
+ ## 9. Agent Prompt Guide
274
+
275
+ ### Quick Color Reference
276
+ - Primary CTA: Charcoal (`#1c1c1c`)
277
+ - Background: Cream (`#f7f4ed`)
278
+ - Heading text: Charcoal (`#1c1c1c`)
279
+ - Body text: Muted Gray (`#5f5f5d`)
280
+ - Border: `#eceae4` (passive), `rgba(28,28,28,0.4)` (interactive)
281
+ - Focus: `rgba(0,0,0,0.1) 0px 4px 12px`
282
+ - Button text on dark: `#fcfbf8`
283
+
284
+ ### Example Component Prompts
285
+ - "Create a hero section on cream background (#f7f4ed). Headline at 60px Camera Plain Variable weight 600, line-height 1.10, letter-spacing -1.5px, color #1c1c1c. Subtitle at 18px weight 400, line-height 1.38, color #5f5f5d. Dark CTA button (#1c1c1c bg, #fcfbf8 text, 6px radius, 8px 16px padding, inset shadow) and ghost button (transparent bg, 1px solid rgba(28,28,28,0.4) border, 6px radius)."
286
+ - "Design a card on cream (#f7f4ed) background. Border: 1px solid #eceae4. Radius 12px. No box-shadow. Title at 20px Camera Plain Variable weight 400, line-height 1.25, color #1c1c1c. Body at 14px weight 400, color #5f5f5d."
287
+ - "Build a template gallery: grid of cards with 12px radius, 1px solid #eceae4 border, cream backgrounds. Each card: image with 12px top radius, title below. Hover: subtle border darkening."
288
+ - "Create navigation: sticky on cream (#f7f4ed). Camera Plain 16px weight 400 for links, #1c1c1c text. Dark CTA button right-aligned with inset shadow. Mobile: hamburger menu with 6px radius."
289
+ - "Design a stats section: large numbers at 48px Camera Plain weight 600, letter-spacing -1.2px, #1c1c1c. Labels below at 16px weight 400, #5f5f5d. Horizontal layout with 32px gap."
290
+
291
+ ### Iteration Guide
292
+ 1. Always use cream (`#f7f4ed`) as the base — never pure white
293
+ 2. Derive grays from `#1c1c1c` at opacity levels rather than using distinct hex values
294
+ 3. Use `#eceae4` borders for containment, not shadows
295
+ 4. Letter-spacing scales with size: -1.5px at 60px, -1.2px at 48px, -0.9px at 36px, normal at 16px
296
+ 5. Two weights: 400 (everything except headings) and 600 (headings)
297
+ 6. The inset shadow on dark buttons is the signature detail — don't skip it
298
+ 7. Camera Plain Variable at weight 480 is for special display moments only
@@ -0,0 +1,5 @@
1
+ # Lovable Inspired Design System
2
+
3
+ Design system details have been moved to: https://getdesign.md/lovable/design-md
4
+
5
+ You can also view previews, dark mode examples, and download options on getdesign.md.