ai-spector 0.4.0 → 0.4.2
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.
- package/README.md +10 -2
- package/assets/themes/airbnb/preview.html +281 -0
- package/assets/themes/airtable/preview.html +209 -0
- package/assets/themes/apple/preview.html +461 -0
- package/assets/themes/binance/preview.html +1013 -0
- package/assets/themes/bmw/preview.html +255 -0
- package/assets/themes/bugatti/preview.html +879 -0
- package/assets/themes/cal/preview.html +620 -0
- package/assets/themes/claude/preview.html +873 -0
- package/assets/themes/clay/preview.html +360 -0
- package/assets/themes/clickhouse/preview.html +833 -0
- package/assets/themes/cohere/preview.html +854 -0
- package/assets/themes/coinbase/preview.html +208 -0
- package/assets/themes/composio/preview.html +980 -0
- package/assets/themes/cursor/preview.html +428 -0
- package/assets/themes/elevenlabs/preview.html +296 -0
- package/assets/themes/expo/preview.html +580 -0
- package/assets/themes/ferrari/preview.html +1168 -0
- package/assets/themes/framer/preview.html +930 -0
- package/assets/themes/hashicorp/preview.html +1238 -0
- package/assets/themes/ibm/preview.html +473 -0
- package/assets/themes/intercom/preview.html +229 -0
- package/assets/themes/kraken/preview.html +213 -0
- package/assets/themes/lamborghini/preview.html +428 -0
- package/assets/themes/linear.app/preview.html +418 -0
- package/assets/themes/lovable/preview.html +393 -0
- package/assets/themes/meta/preview.html +656 -0
- package/assets/themes/minimax/preview.html +1293 -0
- package/assets/themes/mintlify/preview.html +443 -0
- package/assets/themes/miro/preview.html +218 -0
- package/assets/themes/mistral.ai/preview.html +850 -0
- package/assets/themes/mongodb/preview.html +304 -0
- package/assets/themes/nike/preview.html +1182 -0
- package/assets/themes/notion/preview.html +409 -0
- package/assets/themes/nvidia/preview.html +411 -0
- package/assets/themes/ollama/preview.html +725 -0
- package/assets/themes/opencode.ai/preview.html +402 -0
- package/assets/themes/pinterest/preview.html +277 -0
- package/assets/themes/playstation/preview.html +1125 -0
- package/assets/themes/posthog/preview.html +794 -0
- package/assets/themes/raycast/preview.html +735 -0
- package/assets/themes/renault/preview.html +652 -0
- package/assets/themes/replicate/preview.html +878 -0
- package/assets/themes/resend/preview.html +399 -0
- package/assets/themes/revolut/preview.html +278 -0
- package/assets/themes/runwayml/preview.html +712 -0
- package/assets/themes/sanity/preview.html +1180 -0
- package/assets/themes/sentry/preview.html +996 -0
- package/assets/themes/shopify/preview.html +611 -0
- package/assets/themes/spacex/preview.html +265 -0
- package/assets/themes/spotify/preview.html +275 -0
- package/assets/themes/stripe/preview.html +464 -0
- package/assets/themes/supabase/preview.html +1002 -0
- package/assets/themes/superhuman/preview.html +996 -0
- package/assets/themes/tesla/preview.html +971 -0
- package/assets/themes/theverge/preview.html +1143 -0
- package/assets/themes/together.ai/preview.html +944 -0
- package/assets/themes/uber/preview.html +1164 -0
- package/assets/themes/vercel/preview.html +412 -0
- package/assets/themes/voltagent/preview.html +813 -0
- package/assets/themes/warp/preview.html +580 -0
- package/assets/themes/webflow/preview.html +191 -0
- package/assets/themes/wired/preview.html +1049 -0
- package/assets/themes/wise/preview.html +274 -0
- package/assets/themes/x.ai/preview.html +452 -0
- package/assets/themes/zapier/preview.html +417 -0
- package/dist/cli.js +37 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/graph-visualize.d.ts.map +1 -1
- package/dist/commands/graph-visualize.js +1 -22
- package/dist/commands/graph-visualize.js.map +1 -1
- package/dist/commands/prototype.d.ts +19 -0
- package/dist/commands/prototype.d.ts.map +1 -1
- package/dist/commands/prototype.js +78 -3
- package/dist/commands/prototype.js.map +1 -1
- package/dist/prototype/config.d.ts +9 -1
- package/dist/prototype/config.d.ts.map +1 -1
- package/dist/prototype/config.js +29 -0
- package/dist/prototype/config.js.map +1 -1
- package/dist/prototype/htpasswd.d.ts +5 -0
- package/dist/prototype/htpasswd.d.ts.map +1 -0
- package/dist/prototype/htpasswd.js +33 -0
- package/dist/prototype/htpasswd.js.map +1 -0
- package/dist/prototype/theme-preview.d.ts +17 -0
- package/dist/prototype/theme-preview.d.ts.map +1 -0
- package/dist/prototype/theme-preview.js +73 -0
- package/dist/prototype/theme-preview.js.map +1 -0
- package/dist/prototype/types.d.ts +8 -0
- package/dist/prototype/types.d.ts.map +1 -1
- package/dist/prototype/validate.d.ts.map +1 -1
- package/dist/prototype/validate.js +19 -0
- package/dist/prototype/validate.js.map +1 -1
- package/dist/util/open-browser.d.ts +3 -0
- package/dist/util/open-browser.d.ts.map +1 -0
- package/dist/util/open-browser.js +24 -0
- package/dist/util/open-browser.js.map +1 -0
- package/package.json +4 -2
- package/scaffold/.ai-spector/.docflow/config/language.json +4 -0
- package/scaffold/cursor/WORKFLOW.md +2 -1
- package/scaffold/cursor/skills/_skill-router.md +1 -1
- package/scaffold/cursor/skills/ai-spector/references/generate-workflow.md +8 -0
- package/scaffold/cursor/skills/ai-spector/references/language-picker.md +70 -0
- package/scaffold/cursor/skills/ai-spector/references/project-conventions.md +13 -4
- package/scaffold/cursor/skills/ai-spector-generate-basic-design/SKILL.md +1 -0
- package/scaffold/cursor/skills/ai-spector-generate-detail-design/SKILL.md +1 -0
- package/scaffold/cursor/skills/ai-spector-generate-prototype/SKILL.md +13 -5
- package/scaffold/cursor/skills/ai-spector-generate-prototype/references/auth-picker.md +61 -0
- package/scaffold/cursor/skills/ai-spector-generate-prototype/references/runbook.md +32 -10
- package/scaffold/cursor/skills/ai-spector-generate-prototype/references/theme-picker.md +118 -0
- package/scaffold/cursor/skills/ai-spector-generate-srs/SKILL.md +1 -0
- package/scaffold/prototype/README.md +24 -3
|
@@ -0,0 +1,879 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Design System Inspiration of Bugatti</title>
|
|
7
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
|
+
<link href="https://fonts.googleapis.com/css2?family=Unbounded:wght@300;400;500;700&family=Space+Mono:wght@400;700&family=Inter:wght@400;500&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--velvet-black: #000000;
|
|
13
|
+
--showroom-white: #ffffff;
|
|
14
|
+
--silver-mist: #999999;
|
|
15
|
+
|
|
16
|
+
--canvas: #ffffff;
|
|
17
|
+
--canvas-inverted: #000000;
|
|
18
|
+
--primary-text: #000000;
|
|
19
|
+
--secondary-text: #4a4a4a;
|
|
20
|
+
--tertiary-text: #999999;
|
|
21
|
+
--hairline: #e8e8e8;
|
|
22
|
+
--hairline-strong: #999999;
|
|
23
|
+
|
|
24
|
+
--font-display: 'Unbounded', 'Bugatti Display', ui-sans-serif, system-ui, sans-serif;
|
|
25
|
+
--font-mono: 'Space Mono', 'Bugatti Monospace', ui-sans-serif, system-ui, monospace;
|
|
26
|
+
--font-text: 'Inter', 'Bugatti Text Regular', ui-sans-serif, system-ui, sans-serif;
|
|
27
|
+
}
|
|
28
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
29
|
+
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
|
|
30
|
+
body {
|
|
31
|
+
background: var(--canvas);
|
|
32
|
+
color: var(--primary-text);
|
|
33
|
+
font-family: var(--font-text);
|
|
34
|
+
font-size: 16px;
|
|
35
|
+
font-weight: 400;
|
|
36
|
+
line-height: 1.50;
|
|
37
|
+
}
|
|
38
|
+
a { color: inherit; text-decoration: none; transition: opacity 250ms ease; }
|
|
39
|
+
a:hover { opacity: 0.6; }
|
|
40
|
+
button { font-family: inherit; cursor: pointer; border: none; background: none; }
|
|
41
|
+
|
|
42
|
+
/* NAV */
|
|
43
|
+
.nav {
|
|
44
|
+
position: sticky; top: 0; z-index: 100;
|
|
45
|
+
padding: 18px 48px;
|
|
46
|
+
background: var(--canvas);
|
|
47
|
+
border-bottom: 1px solid var(--hairline);
|
|
48
|
+
}
|
|
49
|
+
.nav-brand {
|
|
50
|
+
font-family: var(--font-display);
|
|
51
|
+
font-size: 18px;
|
|
52
|
+
font-weight: 500;
|
|
53
|
+
color: var(--primary-text);
|
|
54
|
+
letter-spacing: 1.4px;
|
|
55
|
+
text-transform: uppercase;
|
|
56
|
+
}
|
|
57
|
+
.nav-links {
|
|
58
|
+
display: flex; gap: 32px; list-style: none; align-items: center;
|
|
59
|
+
}
|
|
60
|
+
.nav-links a {
|
|
61
|
+
font-family: var(--font-mono);
|
|
62
|
+
font-size: 12px;
|
|
63
|
+
font-weight: 400;
|
|
64
|
+
color: var(--primary-text);
|
|
65
|
+
text-transform: uppercase;
|
|
66
|
+
letter-spacing: 1.2px;
|
|
67
|
+
}
|
|
68
|
+
.nav-cta {
|
|
69
|
+
display: inline-block;
|
|
70
|
+
background: transparent;
|
|
71
|
+
color: var(--primary-text);
|
|
72
|
+
padding: 10px 20px;
|
|
73
|
+
border: 1px solid var(--primary-text);
|
|
74
|
+
border-radius: 9999px;
|
|
75
|
+
font-family: var(--font-mono);
|
|
76
|
+
font-size: 12px;
|
|
77
|
+
font-weight: 400;
|
|
78
|
+
letter-spacing: 1.2px;
|
|
79
|
+
text-transform: uppercase;
|
|
80
|
+
transition: background 250ms ease, color 250ms ease;
|
|
81
|
+
}
|
|
82
|
+
.nav-cta:hover {
|
|
83
|
+
background: var(--primary-text);
|
|
84
|
+
color: var(--canvas);
|
|
85
|
+
opacity: 1;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* HERO */
|
|
89
|
+
.hero {
|
|
90
|
+
padding: 96px 48px 96px;
|
|
91
|
+
background: var(--canvas);
|
|
92
|
+
position: relative;
|
|
93
|
+
overflow: hidden;
|
|
94
|
+
}
|
|
95
|
+
.hero-eyebrow {
|
|
96
|
+
display: block;
|
|
97
|
+
font-family: var(--font-mono);
|
|
98
|
+
font-size: 12px;
|
|
99
|
+
font-weight: 400;
|
|
100
|
+
color: var(--primary-text);
|
|
101
|
+
text-transform: uppercase;
|
|
102
|
+
letter-spacing: 1.4px;
|
|
103
|
+
margin-bottom: 36px;
|
|
104
|
+
}
|
|
105
|
+
.hero h1 {
|
|
106
|
+
font-family: var(--font-display);
|
|
107
|
+
font-size: clamp(48px, 7vw, 104px);
|
|
108
|
+
font-weight: 400;
|
|
109
|
+
line-height: 1.05;
|
|
110
|
+
letter-spacing: -0.5px;
|
|
111
|
+
color: var(--primary-text);
|
|
112
|
+
margin-bottom: 48px;
|
|
113
|
+
text-transform: uppercase;
|
|
114
|
+
max-width: 1200px;
|
|
115
|
+
}
|
|
116
|
+
.hero p {
|
|
117
|
+
font-family: var(--font-text);
|
|
118
|
+
font-size: 16px;
|
|
119
|
+
font-weight: 400;
|
|
120
|
+
line-height: 1.50;
|
|
121
|
+
color: var(--secondary-text);
|
|
122
|
+
max-width: 580px;
|
|
123
|
+
margin-bottom: 48px;
|
|
124
|
+
}
|
|
125
|
+
.hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; }
|
|
126
|
+
|
|
127
|
+
/* BUTTONS */
|
|
128
|
+
.btn-primary {
|
|
129
|
+
display: inline-block;
|
|
130
|
+
background: transparent;
|
|
131
|
+
color: var(--primary-text);
|
|
132
|
+
padding: 12px 24px;
|
|
133
|
+
border: 1px solid var(--primary-text);
|
|
134
|
+
border-radius: 9999px;
|
|
135
|
+
font-family: var(--font-mono);
|
|
136
|
+
font-size: 14px;
|
|
137
|
+
font-weight: 400;
|
|
138
|
+
letter-spacing: 1.4px;
|
|
139
|
+
text-transform: uppercase;
|
|
140
|
+
transition: background 250ms ease, color 250ms ease;
|
|
141
|
+
}
|
|
142
|
+
.btn-primary:hover {
|
|
143
|
+
background: var(--primary-text);
|
|
144
|
+
color: var(--canvas);
|
|
145
|
+
opacity: 1;
|
|
146
|
+
}
|
|
147
|
+
.btn-inverted {
|
|
148
|
+
display: inline-block;
|
|
149
|
+
background: var(--primary-text);
|
|
150
|
+
color: var(--canvas);
|
|
151
|
+
padding: 12px 24px;
|
|
152
|
+
border: 1px solid var(--primary-text);
|
|
153
|
+
border-radius: 9999px;
|
|
154
|
+
font-family: var(--font-mono);
|
|
155
|
+
font-size: 14px;
|
|
156
|
+
font-weight: 400;
|
|
157
|
+
letter-spacing: 1.4px;
|
|
158
|
+
text-transform: uppercase;
|
|
159
|
+
transition: background 250ms ease, color 250ms ease;
|
|
160
|
+
}
|
|
161
|
+
.btn-inverted:hover {
|
|
162
|
+
background: transparent;
|
|
163
|
+
color: var(--primary-text);
|
|
164
|
+
opacity: 1;
|
|
165
|
+
}
|
|
166
|
+
.btn-secondary {
|
|
167
|
+
display: inline-block;
|
|
168
|
+
background: transparent;
|
|
169
|
+
color: var(--primary-text);
|
|
170
|
+
padding: 6px 12px;
|
|
171
|
+
border: 1px solid var(--silver-mist);
|
|
172
|
+
border-radius: 6px;
|
|
173
|
+
font-family: var(--font-mono);
|
|
174
|
+
font-size: 12px;
|
|
175
|
+
font-weight: 400;
|
|
176
|
+
letter-spacing: 1.2px;
|
|
177
|
+
text-transform: uppercase;
|
|
178
|
+
transition: border-color 250ms ease;
|
|
179
|
+
}
|
|
180
|
+
.btn-secondary:hover {
|
|
181
|
+
border-color: var(--primary-text);
|
|
182
|
+
opacity: 1;
|
|
183
|
+
}
|
|
184
|
+
.btn-ghost {
|
|
185
|
+
display: inline-block;
|
|
186
|
+
background: transparent;
|
|
187
|
+
color: var(--primary-text);
|
|
188
|
+
padding: 0;
|
|
189
|
+
border: none;
|
|
190
|
+
font-family: var(--font-mono);
|
|
191
|
+
font-size: 12px;
|
|
192
|
+
font-weight: 400;
|
|
193
|
+
letter-spacing: 1.2px;
|
|
194
|
+
text-transform: uppercase;
|
|
195
|
+
transition: opacity 250ms ease;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/* SECTION FRAME */
|
|
199
|
+
section.preview-section {
|
|
200
|
+
padding: 120px 48px;
|
|
201
|
+
background: var(--canvas);
|
|
202
|
+
border-top: 1px solid var(--hairline);
|
|
203
|
+
}
|
|
204
|
+
section.preview-section.inverted {
|
|
205
|
+
background: var(--canvas-inverted);
|
|
206
|
+
color: var(--canvas);
|
|
207
|
+
}
|
|
208
|
+
section.preview-section.inverted .section-eyebrow,
|
|
209
|
+
section.preview-section.inverted .section-title,
|
|
210
|
+
section.preview-section.inverted .section-subtitle { color: var(--canvas); }
|
|
211
|
+
.section-eyebrow {
|
|
212
|
+
display: block;
|
|
213
|
+
font-family: var(--font-mono);
|
|
214
|
+
font-size: 12px;
|
|
215
|
+
font-weight: 400;
|
|
216
|
+
color: var(--primary-text);
|
|
217
|
+
text-transform: uppercase;
|
|
218
|
+
letter-spacing: 1.4px;
|
|
219
|
+
margin-bottom: 24px;
|
|
220
|
+
}
|
|
221
|
+
.section-title {
|
|
222
|
+
font-family: var(--font-display);
|
|
223
|
+
font-size: clamp(36px, 6vw, 96px);
|
|
224
|
+
font-weight: 400;
|
|
225
|
+
line-height: 1.00;
|
|
226
|
+
letter-spacing: -0.5px;
|
|
227
|
+
color: var(--primary-text);
|
|
228
|
+
text-transform: uppercase;
|
|
229
|
+
margin-bottom: 20px;
|
|
230
|
+
}
|
|
231
|
+
.section-subtitle {
|
|
232
|
+
font-family: var(--font-text);
|
|
233
|
+
font-size: 16px;
|
|
234
|
+
font-weight: 400;
|
|
235
|
+
line-height: 1.50;
|
|
236
|
+
color: var(--secondary-text);
|
|
237
|
+
margin-bottom: 64px;
|
|
238
|
+
max-width: 620px;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/* COLOR PALETTE */
|
|
242
|
+
.color-group { margin-bottom: 48px; }
|
|
243
|
+
.color-group-label {
|
|
244
|
+
font-family: var(--font-mono);
|
|
245
|
+
font-size: 12px;
|
|
246
|
+
font-weight: 400;
|
|
247
|
+
text-transform: uppercase;
|
|
248
|
+
letter-spacing: 1.4px;
|
|
249
|
+
color: var(--primary-text);
|
|
250
|
+
padding-bottom: 16px;
|
|
251
|
+
margin-bottom: 28px;
|
|
252
|
+
border-bottom: 1px solid var(--hairline);
|
|
253
|
+
}
|
|
254
|
+
.color-grid {
|
|
255
|
+
display: grid;
|
|
256
|
+
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
|
|
257
|
+
gap: 28px;
|
|
258
|
+
}
|
|
259
|
+
.color-swatch {
|
|
260
|
+
background: var(--canvas);
|
|
261
|
+
border: 1px solid var(--hairline);
|
|
262
|
+
padding: 0;
|
|
263
|
+
overflow: hidden;
|
|
264
|
+
}
|
|
265
|
+
.color-block { height: 180px; }
|
|
266
|
+
.color-meta { padding: 24px 26px 28px; }
|
|
267
|
+
.color-name {
|
|
268
|
+
font-family: var(--font-display);
|
|
269
|
+
font-size: 22px;
|
|
270
|
+
font-weight: 400;
|
|
271
|
+
line-height: 1.10;
|
|
272
|
+
color: var(--primary-text);
|
|
273
|
+
letter-spacing: 0.3px;
|
|
274
|
+
margin-bottom: 10px;
|
|
275
|
+
text-transform: uppercase;
|
|
276
|
+
}
|
|
277
|
+
.color-hex {
|
|
278
|
+
font-family: var(--font-mono);
|
|
279
|
+
font-size: 11px;
|
|
280
|
+
font-weight: 400;
|
|
281
|
+
text-transform: uppercase;
|
|
282
|
+
letter-spacing: 1.2px;
|
|
283
|
+
color: var(--tertiary-text);
|
|
284
|
+
margin-bottom: 14px;
|
|
285
|
+
}
|
|
286
|
+
.color-role {
|
|
287
|
+
font-family: var(--font-text);
|
|
288
|
+
font-size: 13px;
|
|
289
|
+
font-weight: 400;
|
|
290
|
+
line-height: 1.50;
|
|
291
|
+
color: var(--secondary-text);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/* TYPOGRAPHY */
|
|
295
|
+
.type-row {
|
|
296
|
+
display: grid;
|
|
297
|
+
grid-template-columns: 260px 1fr;
|
|
298
|
+
gap: 48px;
|
|
299
|
+
padding: 48px 0;
|
|
300
|
+
border-bottom: 1px solid var(--hairline);
|
|
301
|
+
align-items: baseline;
|
|
302
|
+
}
|
|
303
|
+
.type-row:last-child { border-bottom: none; }
|
|
304
|
+
.type-meta {
|
|
305
|
+
font-family: var(--font-mono);
|
|
306
|
+
font-size: 11px;
|
|
307
|
+
font-weight: 400;
|
|
308
|
+
text-transform: uppercase;
|
|
309
|
+
letter-spacing: 1.2px;
|
|
310
|
+
color: var(--tertiary-text);
|
|
311
|
+
line-height: 1.7;
|
|
312
|
+
}
|
|
313
|
+
.type-meta strong {
|
|
314
|
+
display: block;
|
|
315
|
+
color: var(--primary-text);
|
|
316
|
+
font-weight: 700;
|
|
317
|
+
margin-bottom: 8px;
|
|
318
|
+
font-size: 12px;
|
|
319
|
+
}
|
|
320
|
+
.type-sample { color: var(--primary-text); overflow-wrap: break-word; }
|
|
321
|
+
|
|
322
|
+
/* BUTTONS GRID */
|
|
323
|
+
.button-grid {
|
|
324
|
+
display: grid;
|
|
325
|
+
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
|
326
|
+
gap: 24px;
|
|
327
|
+
}
|
|
328
|
+
.button-cell {
|
|
329
|
+
padding: 48px 36px;
|
|
330
|
+
border: 1px solid var(--hairline);
|
|
331
|
+
background: var(--canvas);
|
|
332
|
+
display: flex;
|
|
333
|
+
flex-direction: column;
|
|
334
|
+
gap: 28px;
|
|
335
|
+
}
|
|
336
|
+
.button-cell .label {
|
|
337
|
+
font-family: var(--font-mono);
|
|
338
|
+
font-size: 11px;
|
|
339
|
+
font-weight: 400;
|
|
340
|
+
text-transform: uppercase;
|
|
341
|
+
letter-spacing: 1.4px;
|
|
342
|
+
color: var(--tertiary-text);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/* MEDIA BLOCK (film chapter) */
|
|
346
|
+
.media-grid {
|
|
347
|
+
display: grid;
|
|
348
|
+
grid-template-columns: 1fr;
|
|
349
|
+
gap: 64px;
|
|
350
|
+
}
|
|
351
|
+
.media-block {
|
|
352
|
+
position: relative;
|
|
353
|
+
aspect-ratio: 21 / 9;
|
|
354
|
+
background: linear-gradient(135deg, #1a1a1a 0%, #000000 100%);
|
|
355
|
+
overflow: hidden;
|
|
356
|
+
display: flex;
|
|
357
|
+
flex-direction: column;
|
|
358
|
+
justify-content: flex-end;
|
|
359
|
+
padding: 64px;
|
|
360
|
+
color: var(--canvas);
|
|
361
|
+
}
|
|
362
|
+
.media-block::after {
|
|
363
|
+
content: '';
|
|
364
|
+
position: absolute; inset: 0;
|
|
365
|
+
background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.6) 100%);
|
|
366
|
+
pointer-events: none;
|
|
367
|
+
}
|
|
368
|
+
.media-block > * { position: relative; z-index: 1; }
|
|
369
|
+
.media-eyebrow {
|
|
370
|
+
font-family: var(--font-mono);
|
|
371
|
+
font-size: 12px;
|
|
372
|
+
text-transform: uppercase;
|
|
373
|
+
letter-spacing: 1.4px;
|
|
374
|
+
margin-bottom: 20px;
|
|
375
|
+
opacity: 0.85;
|
|
376
|
+
}
|
|
377
|
+
.media-headline {
|
|
378
|
+
font-family: var(--font-display);
|
|
379
|
+
font-size: clamp(48px, 8vw, 120px);
|
|
380
|
+
font-weight: 400;
|
|
381
|
+
line-height: 1.00;
|
|
382
|
+
text-transform: uppercase;
|
|
383
|
+
letter-spacing: -0.5px;
|
|
384
|
+
margin-bottom: 28px;
|
|
385
|
+
max-width: 900px;
|
|
386
|
+
}
|
|
387
|
+
.media-cta {
|
|
388
|
+
display: inline-block;
|
|
389
|
+
background: transparent;
|
|
390
|
+
color: var(--canvas);
|
|
391
|
+
padding: 12px 24px;
|
|
392
|
+
border: 1px solid var(--canvas);
|
|
393
|
+
border-radius: 9999px;
|
|
394
|
+
font-family: var(--font-mono);
|
|
395
|
+
font-size: 14px;
|
|
396
|
+
font-weight: 400;
|
|
397
|
+
letter-spacing: 1.4px;
|
|
398
|
+
text-transform: uppercase;
|
|
399
|
+
align-self: flex-start;
|
|
400
|
+
transition: background 250ms ease, color 250ms ease;
|
|
401
|
+
}
|
|
402
|
+
.media-cta:hover {
|
|
403
|
+
background: var(--canvas);
|
|
404
|
+
color: var(--primary-text);
|
|
405
|
+
opacity: 1;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/* FORMS */
|
|
409
|
+
.form-stack {
|
|
410
|
+
display: grid;
|
|
411
|
+
grid-template-columns: 1fr 1fr;
|
|
412
|
+
gap: 36px;
|
|
413
|
+
max-width: 920px;
|
|
414
|
+
}
|
|
415
|
+
.form-field { display: flex; flex-direction: column; gap: 14px; }
|
|
416
|
+
.form-label {
|
|
417
|
+
font-family: var(--font-mono);
|
|
418
|
+
font-size: 11px;
|
|
419
|
+
font-weight: 400;
|
|
420
|
+
text-transform: uppercase;
|
|
421
|
+
letter-spacing: 1.4px;
|
|
422
|
+
color: var(--primary-text);
|
|
423
|
+
}
|
|
424
|
+
.form-input {
|
|
425
|
+
background: var(--canvas);
|
|
426
|
+
border: 1px solid var(--silver-mist);
|
|
427
|
+
border-radius: 6px;
|
|
428
|
+
padding: 16px 18px;
|
|
429
|
+
font-family: var(--font-text);
|
|
430
|
+
font-size: 16px;
|
|
431
|
+
font-weight: 400;
|
|
432
|
+
color: var(--primary-text);
|
|
433
|
+
outline: none;
|
|
434
|
+
transition: border-color 250ms ease;
|
|
435
|
+
}
|
|
436
|
+
.form-input::placeholder { color: var(--tertiary-text); }
|
|
437
|
+
.form-input.focus { border-color: var(--primary-text); }
|
|
438
|
+
.form-input.error { border-color: var(--silver-mist); color: var(--primary-text); }
|
|
439
|
+
.form-error {
|
|
440
|
+
font-family: var(--font-mono);
|
|
441
|
+
font-size: 11px;
|
|
442
|
+
font-weight: 400;
|
|
443
|
+
text-transform: uppercase;
|
|
444
|
+
letter-spacing: 1.2px;
|
|
445
|
+
color: var(--tertiary-text);
|
|
446
|
+
}
|
|
447
|
+
.form-textarea {
|
|
448
|
+
min-height: 120px;
|
|
449
|
+
resize: vertical;
|
|
450
|
+
line-height: 1.5;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/* SPACING */
|
|
454
|
+
.spacing-row {
|
|
455
|
+
display: flex;
|
|
456
|
+
align-items: flex-end;
|
|
457
|
+
gap: 32px;
|
|
458
|
+
flex-wrap: wrap;
|
|
459
|
+
}
|
|
460
|
+
.spacing-item { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
|
|
461
|
+
.spacing-block {
|
|
462
|
+
background: var(--primary-text);
|
|
463
|
+
height: 80px;
|
|
464
|
+
}
|
|
465
|
+
.spacing-label {
|
|
466
|
+
font-family: var(--font-mono);
|
|
467
|
+
font-size: 11px;
|
|
468
|
+
font-weight: 400;
|
|
469
|
+
text-transform: uppercase;
|
|
470
|
+
letter-spacing: 1.2px;
|
|
471
|
+
color: var(--primary-text);
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/* RADIUS */
|
|
475
|
+
.radius-row {
|
|
476
|
+
display: flex;
|
|
477
|
+
gap: 48px;
|
|
478
|
+
flex-wrap: wrap;
|
|
479
|
+
align-items: flex-end;
|
|
480
|
+
}
|
|
481
|
+
.radius-item { display: flex; flex-direction: column; gap: 18px; align-items: center; }
|
|
482
|
+
.radius-block {
|
|
483
|
+
width: 130px;
|
|
484
|
+
height: 130px;
|
|
485
|
+
background: transparent;
|
|
486
|
+
border: 1px solid var(--primary-text);
|
|
487
|
+
}
|
|
488
|
+
.radius-block.r0 { border-radius: 0; }
|
|
489
|
+
.radius-block.r6 { border-radius: 6px; }
|
|
490
|
+
.radius-block.r9999 { border-radius: 9999px; width: 180px; height: 56px; }
|
|
491
|
+
.radius-label {
|
|
492
|
+
font-family: var(--font-mono);
|
|
493
|
+
font-size: 11px;
|
|
494
|
+
font-weight: 400;
|
|
495
|
+
text-transform: uppercase;
|
|
496
|
+
letter-spacing: 1.2px;
|
|
497
|
+
color: var(--primary-text);
|
|
498
|
+
text-align: center;
|
|
499
|
+
}
|
|
500
|
+
.radius-label small { display: block; color: var(--tertiary-text); margin-top: 6px; font-weight: 400; font-size: 10px; letter-spacing: 1px; }
|
|
501
|
+
|
|
502
|
+
/* ELEVATION */
|
|
503
|
+
.elevation-grid {
|
|
504
|
+
display: grid;
|
|
505
|
+
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
|
|
506
|
+
gap: 28px;
|
|
507
|
+
}
|
|
508
|
+
.elevation-cell {
|
|
509
|
+
padding: 52px 32px;
|
|
510
|
+
background: var(--canvas);
|
|
511
|
+
text-align: center;
|
|
512
|
+
min-height: 200px;
|
|
513
|
+
display: flex;
|
|
514
|
+
flex-direction: column;
|
|
515
|
+
justify-content: center;
|
|
516
|
+
align-items: center;
|
|
517
|
+
gap: 18px;
|
|
518
|
+
}
|
|
519
|
+
.elevation-cell.lvl-0 { border: none; }
|
|
520
|
+
.elevation-cell.lvl-1 { border: 1px solid var(--silver-mist); }
|
|
521
|
+
.elevation-cell.lvl-2 { border: 1px solid var(--primary-text); }
|
|
522
|
+
.elevation-cell.lvl-3 {
|
|
523
|
+
background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, rgba(0, 0, 0, 0.2) 100%);
|
|
524
|
+
position: relative;
|
|
525
|
+
}
|
|
526
|
+
.elevation-cell .label {
|
|
527
|
+
font-family: var(--font-mono);
|
|
528
|
+
font-size: 11px;
|
|
529
|
+
font-weight: 400;
|
|
530
|
+
text-transform: uppercase;
|
|
531
|
+
letter-spacing: 1.4px;
|
|
532
|
+
color: var(--primary-text);
|
|
533
|
+
}
|
|
534
|
+
.elevation-cell .desc {
|
|
535
|
+
font-family: var(--font-text);
|
|
536
|
+
font-size: 13px;
|
|
537
|
+
line-height: 1.50;
|
|
538
|
+
color: var(--secondary-text);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
/* FOOTER */
|
|
542
|
+
.footer {
|
|
543
|
+
background: var(--primary-text);
|
|
544
|
+
color: var(--canvas);
|
|
545
|
+
padding: 56px 48px;
|
|
546
|
+
font-family: var(--font-mono);
|
|
547
|
+
font-size: 11px;
|
|
548
|
+
font-weight: 400;
|
|
549
|
+
text-transform: uppercase;
|
|
550
|
+
letter-spacing: 1.4px;
|
|
551
|
+
text-align: center;
|
|
552
|
+
}
|
|
553
|
+
.footer a { color: var(--canvas); }
|
|
554
|
+
|
|
555
|
+
/* RESPONSIVE */
|
|
556
|
+
@media (max-width: 900px) {
|
|
557
|
+
.hero { padding: 72px 24px 72px; }
|
|
558
|
+
.hero h1 { font-size: clamp(48px, 12vw, 96px); }
|
|
559
|
+
.section-title { font-size: clamp(36px, 9vw, 60px); }
|
|
560
|
+
section.preview-section { padding: 80px 24px; }
|
|
561
|
+
.form-stack { grid-template-columns: 1fr; }
|
|
562
|
+
.type-row { grid-template-columns: 1fr; gap: 20px; }
|
|
563
|
+
.nav { padding: 14px 20px; }
|
|
564
|
+
.nav-links { display: none; }
|
|
565
|
+
.media-block { padding: 36px 28px; aspect-ratio: 4/3; }
|
|
566
|
+
.media-headline { font-size: 44px; }
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
/* getdesign.md nav additions */
|
|
570
|
+
.nav-left { display: flex; align-items: center; gap: 20px; }
|
|
571
|
+
.nav-brand-link,
|
|
572
|
+
.nav-brand-link:link,
|
|
573
|
+
.nav-brand-link:visited,
|
|
574
|
+
.nav-brand-link:hover,
|
|
575
|
+
.nav-brand-link:active { text-decoration: none; color: inherit; }
|
|
576
|
+
.nav-github,
|
|
577
|
+
.nav-github:link,
|
|
578
|
+
.nav-github:visited,
|
|
579
|
+
.nav-github:hover,
|
|
580
|
+
.nav-github:active {
|
|
581
|
+
display: inline-flex;
|
|
582
|
+
align-items: center;
|
|
583
|
+
gap: 6px;
|
|
584
|
+
font-size: 12px;
|
|
585
|
+
font-weight: 600;
|
|
586
|
+
color: inherit;
|
|
587
|
+
text-decoration: none;
|
|
588
|
+
padding: 5px 10px;
|
|
589
|
+
border: 1px solid rgba(128, 128, 128, 0.3);
|
|
590
|
+
border-radius: 6px;
|
|
591
|
+
opacity: 0.75;
|
|
592
|
+
transition: opacity 200ms ease, border-color 200ms ease;
|
|
593
|
+
font-family: inherit;
|
|
594
|
+
line-height: 1;
|
|
595
|
+
white-space: nowrap;
|
|
596
|
+
}
|
|
597
|
+
.nav-github:hover { opacity: 1; border-color: rgba(128, 128, 128, 0.55); }
|
|
598
|
+
.nav-github svg { display: block; flex-shrink: 0; }
|
|
599
|
+
|
|
600
|
+
/* getdesign.md nav centering */
|
|
601
|
+
.nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
|
|
602
|
+
.nav > .nav-left { justify-self: start; }
|
|
603
|
+
.nav > .nav-links { justify-self: center; }
|
|
604
|
+
.nav > :last-child { justify-self: end; }
|
|
605
|
+
</style>
|
|
606
|
+
</head>
|
|
607
|
+
<body>
|
|
608
|
+
|
|
609
|
+
<nav class="nav">
|
|
610
|
+
<div class="nav-left">
|
|
611
|
+
<a href="https://getdesign.md/" target="_blank" rel="noopener noreferrer" class="nav-brand-link">
|
|
612
|
+
<span class="nav-brand">getdesign.md</span>
|
|
613
|
+
</a>
|
|
614
|
+
<a class="nav-github" href="https://github.com/VoltAgent/awesome-design-md" target="_blank" rel="noopener noreferrer" aria-label="awesome-design-md on GitHub">
|
|
615
|
+
<svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2 .37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
|
|
616
|
+
awesome-design-md
|
|
617
|
+
</a>
|
|
618
|
+
</div>
|
|
619
|
+
|
|
620
|
+
<ul class="nav-links">
|
|
621
|
+
<li><a href="#palette">Palette</a></li>
|
|
622
|
+
<li><a href="#typography">Type</a></li>
|
|
623
|
+
<li><a href="#components">Components</a></li>
|
|
624
|
+
<li><a href="#layout">Layout</a></li>
|
|
625
|
+
</ul>
|
|
626
|
+
|
|
627
|
+
<button class="nav-cta">Store</button>
|
|
628
|
+
</nav>
|
|
629
|
+
|
|
630
|
+
<section class="hero">
|
|
631
|
+
<span class="hero-eyebrow">Design System / Couture Automotive</span>
|
|
632
|
+
<h1>Design System Inspiration of Bugatti</h1>
|
|
633
|
+
<p>Cinematic negative space, monumental display typography, and a monochrome palette that refuses to compete with the product. Generated from DESIGN.md.</p>
|
|
634
|
+
<div class="hero-buttons">
|
|
635
|
+
<button class="btn-primary">Explore the System</button>
|
|
636
|
+
<button class="btn-inverted">Read the Dossier</button>
|
|
637
|
+
</div>
|
|
638
|
+
</section>
|
|
639
|
+
|
|
640
|
+
<!-- 1. PALETTE -->
|
|
641
|
+
<section class="preview-section" id="palette">
|
|
642
|
+
<span class="section-eyebrow">Section 01 / Palette</span>
|
|
643
|
+
<h2 class="section-title">Color Palette</h2>
|
|
644
|
+
<p class="section-subtitle">Velvet black canvas, showroom white type, one gray for the quiet moments. No accents. The product provides the color.</p>
|
|
645
|
+
|
|
646
|
+
<div class="color-group">
|
|
647
|
+
<div class="color-group-label">Primary</div>
|
|
648
|
+
<div class="color-grid">
|
|
649
|
+
<div class="color-swatch">
|
|
650
|
+
<div class="color-block" style="background: #000000;"></div>
|
|
651
|
+
<div class="color-meta">
|
|
652
|
+
<div class="color-name">Velvet Black</div>
|
|
653
|
+
<div class="color-hex">#000000</div>
|
|
654
|
+
<div class="color-role">The entire canvas. A display-stand surface â the way a jewelry brand treats black velvet.</div>
|
|
655
|
+
</div>
|
|
656
|
+
</div>
|
|
657
|
+
<div class="color-swatch">
|
|
658
|
+
<div class="color-block" style="background: #ffffff; border-bottom: 1px solid #e8e8e8;"></div>
|
|
659
|
+
<div class="color-meta">
|
|
660
|
+
<div class="color-name">Showroom White</div>
|
|
661
|
+
<div class="color-hex">#FFFFFF</div>
|
|
662
|
+
<div class="color-role">All text, all borders, all CTAs. The only color at rest on the chrome.</div>
|
|
663
|
+
</div>
|
|
664
|
+
</div>
|
|
665
|
+
</div>
|
|
666
|
+
</div>
|
|
667
|
+
|
|
668
|
+
<div class="color-group">
|
|
669
|
+
<div class="color-group-label">Secondary</div>
|
|
670
|
+
<div class="color-grid">
|
|
671
|
+
<div class="color-swatch">
|
|
672
|
+
<div class="color-block" style="background: #999999;"></div>
|
|
673
|
+
<div class="color-meta">
|
|
674
|
+
<div class="color-name">Silver Mist</div>
|
|
675
|
+
<div class="color-hex">#999999</div>
|
|
676
|
+
<div class="color-role">The one gray. Tertiary text, disabled states, secondary button borders. Never a color â just quieter white.</div>
|
|
677
|
+
</div>
|
|
678
|
+
</div>
|
|
679
|
+
</div>
|
|
680
|
+
</div>
|
|
681
|
+
|
|
682
|
+
<div class="color-group">
|
|
683
|
+
<div class="color-group-label">Accent</div>
|
|
684
|
+
<div class="color-grid">
|
|
685
|
+
<div class="color-swatch">
|
|
686
|
+
<div class="color-block" style="background: repeating-linear-gradient(45deg, #f5f5f5, #f5f5f5 12px, #ffffff 12px, #ffffff 24px);"></div>
|
|
687
|
+
<div class="color-meta">
|
|
688
|
+
<div class="color-name">None</div>
|
|
689
|
+
<div class="color-hex">â</div>
|
|
690
|
+
<div class="color-role">Bugatti does not use accent colors. The car paint is the accent. The chrome stays silent.</div>
|
|
691
|
+
</div>
|
|
692
|
+
</div>
|
|
693
|
+
</div>
|
|
694
|
+
</div>
|
|
695
|
+
</section>
|
|
696
|
+
|
|
697
|
+
<!-- 2. TYPOGRAPHY -->
|
|
698
|
+
<section class="preview-section" id="typography">
|
|
699
|
+
<span class="section-eyebrow">Section 02 / Typography</span>
|
|
700
|
+
<h2 class="section-title">Typographic Hierarchy</h2>
|
|
701
|
+
<p class="section-subtitle">Bugatti Display for monumental headlines. Bugatti Monospace for every UI label. Bugatti Text Regular for body. No bold, only scale.</p>
|
|
702
|
+
|
|
703
|
+
<div class="type-row">
|
|
704
|
+
<div class="type-meta"><strong>Monumental Hero</strong>Bugatti Display · 288px / 400 / 1.00</div>
|
|
705
|
+
<div class="type-sample" style="font-family: var(--font-display); font-size: clamp(72px, 14vw, 200px); font-weight: 400; line-height: 1.00; letter-spacing: -1px; text-transform: uppercase;">BUGATTI</div>
|
|
706
|
+
</div>
|
|
707
|
+
<div class="type-row">
|
|
708
|
+
<div class="type-meta"><strong>Mid Display</strong>Bugatti Display · 60px / 400 / 1.00 / 1.4px</div>
|
|
709
|
+
<div class="type-sample" style="font-family: var(--font-display); font-size: 60px; font-weight: 400; line-height: 1.00; letter-spacing: 1.4px; text-transform: uppercase;">The F.K.P. Hommage</div>
|
|
710
|
+
</div>
|
|
711
|
+
<div class="type-row">
|
|
712
|
+
<div class="type-meta"><strong>Section Heading</strong>Bugatti Display · 36px / 400 / 1.11</div>
|
|
713
|
+
<div class="type-sample" style="font-family: var(--font-display); font-size: 36px; font-weight: 400; line-height: 1.11;">A tribute to visionary creation</div>
|
|
714
|
+
</div>
|
|
715
|
+
<div class="type-row">
|
|
716
|
+
<div class="type-meta"><strong>Monumental Mono</strong>Bugatti Monospace · 60px / 400 / 1.00</div>
|
|
717
|
+
<div class="type-sample" style="font-family: var(--font-mono); font-size: 60px; font-weight: 400; line-height: 1.00; text-transform: uppercase;">W16 / 1600HP</div>
|
|
718
|
+
</div>
|
|
719
|
+
<div class="type-row">
|
|
720
|
+
<div class="type-meta"><strong>Lead Body</strong>Bugatti Text Regular · 20px / 400 / 1.40</div>
|
|
721
|
+
<div class="type-sample" style="font-family: var(--font-text); font-size: 20px; font-weight: 400; line-height: 1.40;">Honoring the vision and the visionary creator, this chapter of Bugatti's history is dedicated to the founding spirit of the marque.</div>
|
|
722
|
+
</div>
|
|
723
|
+
<div class="type-row">
|
|
724
|
+
<div class="type-meta"><strong>Body Regular</strong>Bugatti Text Regular · 16px / 400 / 1.50</div>
|
|
725
|
+
<div class="type-sample" style="font-family: var(--font-text); font-size: 16px; font-weight: 400; line-height: 1.50;">Standard reading body copy for the rare paragraph moments where narrative context supports the imagery.</div>
|
|
726
|
+
</div>
|
|
727
|
+
<div class="type-row">
|
|
728
|
+
<div class="type-meta"><strong>UI Link / Button</strong>Bugatti Monospace · 14px / 400 / 1.43 / 1.4px / UPPER</div>
|
|
729
|
+
<div class="type-sample" style="font-family: var(--font-mono); font-size: 14px; font-weight: 400; line-height: 1.43; letter-spacing: 1.4px; text-transform: uppercase;">Explore our opportunities</div>
|
|
730
|
+
</div>
|
|
731
|
+
<div class="type-row">
|
|
732
|
+
<div class="type-meta"><strong>Compact Button</strong>Bugatti Monospace · 12px / 400 / 1.33 / 1.2px / UPPER</div>
|
|
733
|
+
<div class="type-sample" style="font-family: var(--font-mono); font-size: 12px; font-weight: 400; line-height: 1.33; letter-spacing: 1.2px; text-transform: uppercase;">Menu</div>
|
|
734
|
+
</div>
|
|
735
|
+
<div class="type-row">
|
|
736
|
+
<div class="type-meta"><strong>Caption Wide</strong>Bugatti Monospace · 14px / 400 / 1.43 / 1.4px</div>
|
|
737
|
+
<div class="type-sample" style="font-family: var(--font-mono); font-size: 14px; font-weight: 400; line-height: 1.43; letter-spacing: 1.4px;">Molsheim, France · 2026</div>
|
|
738
|
+
</div>
|
|
739
|
+
<div class="type-row">
|
|
740
|
+
<div class="type-meta"><strong>Caption Micro</strong>Bugatti Monospace · 12px / 400 / 1.33</div>
|
|
741
|
+
<div class="type-sample" style="font-family: var(--font-mono); font-size: 12px; font-weight: 400; line-height: 1.33;">Photography by the Bugatti Atelier</div>
|
|
742
|
+
</div>
|
|
743
|
+
</section>
|
|
744
|
+
|
|
745
|
+
<!-- 3. BUTTONS -->
|
|
746
|
+
<section class="preview-section" id="components">
|
|
747
|
+
<span class="section-eyebrow">Section 03 / Buttons</span>
|
|
748
|
+
<h2 class="section-title">Button Variants</h2>
|
|
749
|
+
<p class="section-subtitle">Full-pill or slightly-rounded utility. Transparent fills with 1px borders. Mono caps labels only.</p>
|
|
750
|
+
<div class="button-grid">
|
|
751
|
+
<div class="button-cell">
|
|
752
|
+
<span class="label">Primary â Outlined Pill</span>
|
|
753
|
+
<div><button class="btn-primary">Explore Models</button></div>
|
|
754
|
+
</div>
|
|
755
|
+
<div class="button-cell">
|
|
756
|
+
<span class="label">Inverted â Filled Pill</span>
|
|
757
|
+
<div><button class="btn-inverted">Configure</button></div>
|
|
758
|
+
</div>
|
|
759
|
+
<div class="button-cell">
|
|
760
|
+
<span class="label">Secondary â 6px Utility</span>
|
|
761
|
+
<div><button class="btn-secondary">Close</button></div>
|
|
762
|
+
</div>
|
|
763
|
+
<div class="button-cell">
|
|
764
|
+
<span class="label">Ghost â Unbordered</span>
|
|
765
|
+
<div><button class="btn-ghost">Learn More â</button></div>
|
|
766
|
+
</div>
|
|
767
|
+
</div>
|
|
768
|
+
</section>
|
|
769
|
+
|
|
770
|
+
<!-- 4. MEDIA BLOCKS (film chapters) -->
|
|
771
|
+
<section class="preview-section">
|
|
772
|
+
<span class="section-eyebrow">Section 04 / Media Chapters</span>
|
|
773
|
+
<h2 class="section-title">Film Chapters</h2>
|
|
774
|
+
<p class="section-subtitle">Bugatti has no cards. It has cinematic chapters â full-bleed media with an overlaid headline and single CTA.</p>
|
|
775
|
+
<div class="media-grid">
|
|
776
|
+
<div class="media-block">
|
|
777
|
+
<span class="media-eyebrow">Chapter 01 · Molsheim</span>
|
|
778
|
+
<h3 class="media-headline">Handcrafted in the atelier</h3>
|
|
779
|
+
<a class="media-cta">Read the Story</a>
|
|
780
|
+
</div>
|
|
781
|
+
<div class="media-block" style="background: linear-gradient(135deg, #3a2a1a 0%, #000000 100%);">
|
|
782
|
+
<span class="media-eyebrow">Chapter 02 · Engineering</span>
|
|
783
|
+
<h3 class="media-headline">1600 horsepower of quiet ambition</h3>
|
|
784
|
+
<a class="media-cta">Discover the W16</a>
|
|
785
|
+
</div>
|
|
786
|
+
</div>
|
|
787
|
+
</section>
|
|
788
|
+
|
|
789
|
+
<!-- 5. FORMS -->
|
|
790
|
+
<section class="preview-section">
|
|
791
|
+
<span class="section-eyebrow">Section 05 / Forms</span>
|
|
792
|
+
<h2 class="section-title">Inputs</h2>
|
|
793
|
+
<p class="section-subtitle">The homepage has no forms. When they appear on deeper pages, they follow the same restraint: 6px radius, Silver Mist border, no color accents.</p>
|
|
794
|
+
<div class="form-stack">
|
|
795
|
+
<div class="form-field">
|
|
796
|
+
<label class="form-label">Email â Default</label>
|
|
797
|
+
<input class="form-input" type="email" placeholder="atelier@bugatti.com">
|
|
798
|
+
</div>
|
|
799
|
+
<div class="form-field">
|
|
800
|
+
<label class="form-label">Email â Focus</label>
|
|
801
|
+
<input class="form-input focus" type="email" placeholder="atelier@bugatti.com">
|
|
802
|
+
</div>
|
|
803
|
+
<div class="form-field">
|
|
804
|
+
<label class="form-label">Email â Error</label>
|
|
805
|
+
<input class="form-input error" type="email" value="not-an-email">
|
|
806
|
+
<span class="form-error">Please enter a valid address</span>
|
|
807
|
+
</div>
|
|
808
|
+
<div class="form-field">
|
|
809
|
+
<label class="form-label">Message â Textarea</label>
|
|
810
|
+
<textarea class="form-input form-textarea" placeholder="Your inquiry..."></textarea>
|
|
811
|
+
</div>
|
|
812
|
+
</div>
|
|
813
|
+
</section>
|
|
814
|
+
|
|
815
|
+
<!-- 6. SPACING -->
|
|
816
|
+
<section class="preview-section" id="layout">
|
|
817
|
+
<span class="section-eyebrow">Section 06 / Spacing</span>
|
|
818
|
+
<h2 class="section-title">Spacing Scale</h2>
|
|
819
|
+
<p class="section-subtitle">Six discrete values â one of the smallest spacing scales in this catalog. Bugatti refuses to invent in-between gaps.</p>
|
|
820
|
+
<div class="spacing-row">
|
|
821
|
+
<div class="spacing-item"><div class="spacing-block" style="width: 4px;"></div><span class="spacing-label">4px</span></div>
|
|
822
|
+
<div class="spacing-item"><div class="spacing-block" style="width: 6px;"></div><span class="spacing-label">6px</span></div>
|
|
823
|
+
<div class="spacing-item"><div class="spacing-block" style="width: 12px;"></div><span class="spacing-label">12px</span></div>
|
|
824
|
+
<div class="spacing-item"><div class="spacing-block" style="width: 36px;"></div><span class="spacing-label">36px</span></div>
|
|
825
|
+
<div class="spacing-item"><div class="spacing-block" style="width: 48px;"></div><span class="spacing-label">48px</span></div>
|
|
826
|
+
<div class="spacing-item"><div class="spacing-block" style="width: 64px;"></div><span class="spacing-label">64px</span></div>
|
|
827
|
+
</div>
|
|
828
|
+
</section>
|
|
829
|
+
|
|
830
|
+
<!-- 7. RADIUS -->
|
|
831
|
+
<section class="preview-section">
|
|
832
|
+
<span class="section-eyebrow">Section 07 / Radius</span>
|
|
833
|
+
<h2 class="section-title">Border Radius Scale</h2>
|
|
834
|
+
<p class="section-subtitle">Three values. Rectangle, slightly-rounded utility, or full pill. Nothing in between.</p>
|
|
835
|
+
<div class="radius-row">
|
|
836
|
+
<div class="radius-item">
|
|
837
|
+
<div class="radius-block r0"></div>
|
|
838
|
+
<span class="radius-label">0<small>Default â media, hero</small></span>
|
|
839
|
+
</div>
|
|
840
|
+
<div class="radius-item">
|
|
841
|
+
<div class="radius-block r6"></div>
|
|
842
|
+
<span class="radius-label">6px<small>Utility, small frames</small></span>
|
|
843
|
+
</div>
|
|
844
|
+
<div class="radius-item">
|
|
845
|
+
<div class="radius-block r9999"></div>
|
|
846
|
+
<span class="radius-label">9999px<small>Primary pill buttons</small></span>
|
|
847
|
+
</div>
|
|
848
|
+
</div>
|
|
849
|
+
</section>
|
|
850
|
+
|
|
851
|
+
<!-- 8. ELEVATION -->
|
|
852
|
+
<section class="preview-section">
|
|
853
|
+
<span class="section-eyebrow">Section 08 / Elevation</span>
|
|
854
|
+
<h2 class="section-title">Depth & Elevation</h2>
|
|
855
|
+
<p class="section-subtitle">Hairline borders only. No drop shadows anywhere. The only gradient is a vignette over video for text legibility.</p>
|
|
856
|
+
<div class="elevation-grid">
|
|
857
|
+
<div class="elevation-cell lvl-0">
|
|
858
|
+
<span class="label">Level 0</span>
|
|
859
|
+
<div class="desc">No shadow, no border â plain canvas</div>
|
|
860
|
+
</div>
|
|
861
|
+
<div class="elevation-cell lvl-1">
|
|
862
|
+
<span class="label">Level 1</span>
|
|
863
|
+
<div class="desc">1px solid Silver Mist â secondary containers</div>
|
|
864
|
+
</div>
|
|
865
|
+
<div class="elevation-cell lvl-2">
|
|
866
|
+
<span class="label">Level 2</span>
|
|
867
|
+
<div class="desc">1px solid Showroom White â primary state</div>
|
|
868
|
+
</div>
|
|
869
|
+
<div class="elevation-cell lvl-3">
|
|
870
|
+
<span class="label">Level 3</span>
|
|
871
|
+
<div class="desc">Bottom vignette â text legibility over media</div>
|
|
872
|
+
</div>
|
|
873
|
+
</div>
|
|
874
|
+
</section>
|
|
875
|
+
|
|
876
|
+
<footer class="footer">Maintained by <a href="https://github.com/VoltAgent/voltagent" target="_blank" rel="noopener noreferrer" style="text-decoration:none;"><img src="https://github.com/VoltAgent.png?size=32" alt="VoltAgent" width="14" height="14" style="border-radius:3px;vertical-align:-2px;margin-right:3px;">VoltAgent</a> team</footer>
|
|
877
|
+
|
|
878
|
+
</body>
|
|
879
|
+
</html>
|