oh-my-design-cli 0.1.1 → 0.1.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.
Files changed (197) hide show
  1. package/README.ko.md +3 -2
  2. package/README.md +3 -2
  3. package/package.json +3 -3
  4. package/references/Claude-Design-Sys-Prompt.txt +0 -421
  5. package/references/airbnb/README.md +0 -23
  6. package/references/airbnb/preview-dark.html +0 -234
  7. package/references/airbnb/preview.html +0 -233
  8. package/references/airtable/README.md +0 -23
  9. package/references/airtable/preview-dark.html +0 -165
  10. package/references/airtable/preview.html +0 -164
  11. package/references/apple/README.md +0 -24
  12. package/references/apple/preview-dark.html +0 -420
  13. package/references/apple/preview.html +0 -414
  14. package/references/baemin/README.md +0 -19
  15. package/references/bmw/README.md +0 -23
  16. package/references/bmw/preview-dark.html +0 -211
  17. package/references/bmw/preview.html +0 -210
  18. package/references/cal/README.md +0 -23
  19. package/references/cal/preview-dark.html +0 -449
  20. package/references/cal/preview.html +0 -575
  21. package/references/claude/README.md +0 -24
  22. package/references/claude/preview-dark.html +0 -803
  23. package/references/claude/preview.html +0 -826
  24. package/references/clay/README.md +0 -23
  25. package/references/clay/preview-dark.html +0 -316
  26. package/references/clay/preview.html +0 -315
  27. package/references/clickhouse/README.md +0 -24
  28. package/references/clickhouse/preview-dark.html +0 -834
  29. package/references/clickhouse/preview.html +0 -786
  30. package/references/cohere/README.md +0 -24
  31. package/references/cohere/preview-dark.html +0 -803
  32. package/references/cohere/preview.html +0 -807
  33. package/references/coinbase/README.md +0 -23
  34. package/references/coinbase/preview-dark.html +0 -164
  35. package/references/coinbase/preview.html +0 -163
  36. package/references/composio/README.md +0 -24
  37. package/references/composio/preview-dark.html +0 -958
  38. package/references/composio/preview.html +0 -933
  39. package/references/cursor/README.md +0 -24
  40. package/references/cursor/preview-dark.html +0 -393
  41. package/references/cursor/preview.html +0 -383
  42. package/references/dcard/README.md +0 -12
  43. package/references/dcard/_research/forum-1440px.png +0 -0
  44. package/references/dcard/_research.md +0 -77
  45. package/references/elevenlabs/README.md +0 -23
  46. package/references/elevenlabs/preview-dark.html +0 -252
  47. package/references/elevenlabs/preview.html +0 -251
  48. package/references/expo/README.md +0 -24
  49. package/references/expo/preview-dark.html +0 -533
  50. package/references/expo/preview.html +0 -533
  51. package/references/ferrari/README.md +0 -23
  52. package/references/ferrari/preview-dark.html +0 -1162
  53. package/references/ferrari/preview.html +0 -1122
  54. package/references/figma/README.md +0 -24
  55. package/references/figma/preview-dark.html +0 -822
  56. package/references/figma/preview.html +0 -832
  57. package/references/framer/README.md +0 -23
  58. package/references/framer/preview-dark.html +0 -902
  59. package/references/framer/preview.html +0 -883
  60. package/references/freee/README.md +0 -12
  61. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  62. package/references/freee/_research.md +0 -77
  63. package/references/hashicorp/README.md +0 -24
  64. package/references/hashicorp/preview-dark.html +0 -1202
  65. package/references/hashicorp/preview.html +0 -1193
  66. package/references/ibm/README.md +0 -24
  67. package/references/ibm/preview-dark.html +0 -443
  68. package/references/ibm/preview.html +0 -428
  69. package/references/intercom/README.md +0 -23
  70. package/references/intercom/preview-dark.html +0 -185
  71. package/references/intercom/preview.html +0 -184
  72. package/references/kakao/README.md +0 -18
  73. package/references/karrot/README.md +0 -18
  74. package/references/kraken/README.md +0 -23
  75. package/references/kraken/preview-dark.html +0 -169
  76. package/references/kraken/preview.html +0 -168
  77. package/references/lamborghini/README.md +0 -23
  78. package/references/lamborghini/preview-dark.html +0 -303
  79. package/references/lamborghini/preview.html +0 -381
  80. package/references/line/README.md +0 -12
  81. package/references/line/_research/home-1440px.png +0 -0
  82. package/references/line/_research.md +0 -65
  83. package/references/linear.app/README.md +0 -24
  84. package/references/linear.app/preview-dark.html +0 -383
  85. package/references/linear.app/preview.html +0 -373
  86. package/references/lovable/README.md +0 -24
  87. package/references/lovable/preview-dark.html +0 -349
  88. package/references/lovable/preview.html +0 -348
  89. package/references/mercari/README.md +0 -12
  90. package/references/mercari/_research/home-1440px.png +0 -0
  91. package/references/mercari/_research.md +0 -77
  92. package/references/minimax/README.md +0 -24
  93. package/references/minimax/preview-dark.html +0 -1262
  94. package/references/minimax/preview.html +0 -1248
  95. package/references/mintlify/README.md +0 -24
  96. package/references/mintlify/preview-dark.html +0 -409
  97. package/references/mintlify/preview.html +0 -398
  98. package/references/miro/README.md +0 -23
  99. package/references/miro/preview-dark.html +0 -174
  100. package/references/miro/preview.html +0 -173
  101. package/references/mistral.ai/README.md +0 -24
  102. package/references/mistral.ai/preview-dark.html +0 -806
  103. package/references/mistral.ai/preview.html +0 -805
  104. package/references/mongodb/README.md +0 -23
  105. package/references/mongodb/preview-dark.html +0 -260
  106. package/references/mongodb/preview.html +0 -259
  107. package/references/notion/README.md +0 -24
  108. package/references/notion/preview-dark.html +0 -372
  109. package/references/notion/preview.html +0 -364
  110. package/references/nvidia/README.md +0 -24
  111. package/references/nvidia/preview-dark.html +0 -374
  112. package/references/nvidia/preview.html +0 -366
  113. package/references/ollama/README.md +0 -24
  114. package/references/ollama/preview-dark.html +0 -678
  115. package/references/ollama/preview.html +0 -678
  116. package/references/opencode.ai/README.md +0 -24
  117. package/references/opencode.ai/preview-dark.html +0 -366
  118. package/references/opencode.ai/preview.html +0 -357
  119. package/references/pinkoi/README.md +0 -12
  120. package/references/pinkoi/_research/browse-1440px.png +0 -0
  121. package/references/pinkoi/_research.md +0 -115
  122. package/references/pinterest/README.md +0 -23
  123. package/references/pinterest/preview-dark.html +0 -233
  124. package/references/pinterest/preview.html +0 -232
  125. package/references/posthog/README.md +0 -23
  126. package/references/posthog/preview-dark.html +0 -699
  127. package/references/posthog/preview.html +0 -749
  128. package/references/raycast/README.md +0 -23
  129. package/references/raycast/preview-dark.html +0 -606
  130. package/references/raycast/preview.html +0 -688
  131. package/references/renault/README.md +0 -23
  132. package/references/renault/preview-dark.html +0 -406
  133. package/references/renault/preview.html +0 -606
  134. package/references/replicate/README.md +0 -24
  135. package/references/replicate/preview-dark.html +0 -828
  136. package/references/replicate/preview.html +0 -831
  137. package/references/resend/README.md +0 -23
  138. package/references/resend/preview-dark.html +0 -355
  139. package/references/resend/preview.html +0 -354
  140. package/references/revolut/README.md +0 -23
  141. package/references/revolut/preview-dark.html +0 -234
  142. package/references/revolut/preview.html +0 -233
  143. package/references/runwayml/README.md +0 -24
  144. package/references/runwayml/preview-dark.html +0 -664
  145. package/references/runwayml/preview.html +0 -665
  146. package/references/sanity/README.md +0 -24
  147. package/references/sanity/preview-dark.html +0 -990
  148. package/references/sanity/preview.html +0 -1135
  149. package/references/sentry/README.md +0 -24
  150. package/references/sentry/preview-dark.html +0 -626
  151. package/references/sentry/preview.html +0 -951
  152. package/references/spacex/README.md +0 -23
  153. package/references/spacex/preview-dark.html +0 -221
  154. package/references/spacex/preview.html +0 -220
  155. package/references/spotify/README.md +0 -23
  156. package/references/spotify/preview-dark.html +0 -231
  157. package/references/spotify/preview.html +0 -230
  158. package/references/stripe/README.md +0 -24
  159. package/references/stripe/preview-dark.html +0 -428
  160. package/references/stripe/preview.html +0 -419
  161. package/references/supabase/README.md +0 -24
  162. package/references/supabase/preview-dark.html +0 -977
  163. package/references/supabase/preview.html +0 -955
  164. package/references/superhuman/README.md +0 -23
  165. package/references/superhuman/preview-dark.html +0 -973
  166. package/references/superhuman/preview.html +0 -951
  167. package/references/tesla/README.md +0 -23
  168. package/references/tesla/preview-dark.html +0 -947
  169. package/references/tesla/preview.html +0 -925
  170. package/references/together.ai/README.md +0 -24
  171. package/references/together.ai/preview-dark.html +0 -892
  172. package/references/together.ai/preview.html +0 -897
  173. package/references/toss/README.md +0 -19
  174. package/references/uber/README.md +0 -24
  175. package/references/uber/preview-dark.html +0 -1120
  176. package/references/uber/preview.html +0 -1119
  177. package/references/vercel/README.md +0 -24
  178. package/references/vercel/preview-dark.html +0 -368
  179. package/references/vercel/preview.html +0 -367
  180. package/references/voltagent/README.md +0 -24
  181. package/references/voltagent/preview-dark.html +0 -487
  182. package/references/voltagent/preview.html +0 -766
  183. package/references/warp/README.md +0 -23
  184. package/references/warp/preview-dark.html +0 -500
  185. package/references/warp/preview.html +0 -533
  186. package/references/webflow/README.md +0 -23
  187. package/references/webflow/preview-dark.html +0 -147
  188. package/references/webflow/preview.html +0 -146
  189. package/references/wise/README.md +0 -23
  190. package/references/wise/preview-dark.html +0 -230
  191. package/references/wise/preview.html +0 -229
  192. package/references/x.ai/README.md +0 -24
  193. package/references/x.ai/preview-dark.html +0 -356
  194. package/references/x.ai/preview.html +0 -407
  195. package/references/zapier/README.md +0 -24
  196. package/references/zapier/preview-dark.html +0 -380
  197. package/references/zapier/preview.html +0 -372
@@ -1,1162 +0,0 @@
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 Inspired by Ferrari</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=DM+Sans:wght@400;500;600;700&family=Barlow+Condensed:wght@400;500;600;700&display=swap" rel="stylesheet">
10
- <style>
11
- :root {
12
- --ferrari-red: #DA291C;
13
- --dark-red: #B01E0A;
14
- --deep-red: #9D2211;
15
- --pure-white: #FFFFFF;
16
- --absolute-black: #000000;
17
- --dark-surface: #303030;
18
- --dark-surface-lighter: #3A3A3A;
19
- --light-gray-surface: #D2D2D2;
20
- --near-black: #181818;
21
- --dark-gray: #666666;
22
- --mid-gray: #8F8F8F;
23
- --silver-gray: #969696;
24
- --border-gray: #CCCCCC;
25
- --border-dark: #444444;
26
- --border-mid: #909090;
27
- --warning-red: #F13A2C;
28
- --success-green: #03904A;
29
- --info-blue: #4C98B9;
30
- --link-blue: #3860BE;
31
- --teal-hover: #1EAEDB;
32
- --racing-yellow: #FFF200;
33
- --modena-yellow: #F6E500;
34
- --overlay-dark: hsla(0, 0%, 7%, 0.8);
35
- --font-heading: 'DM Sans', Arial, Helvetica, sans-serif;
36
- --font-body: 'Barlow Condensed', Arial, Helvetica, sans-serif;
37
-
38
- /* Dark mode overrides */
39
- --page-bg: var(--near-black);
40
- --card-bg: var(--dark-surface);
41
- --card-border: var(--border-dark);
42
- --text-primary: var(--pure-white);
43
- --text-secondary: var(--light-gray-surface);
44
- --text-tertiary: var(--silver-gray);
45
- --text-muted: var(--mid-gray);
46
- --divider: var(--border-dark);
47
- }
48
-
49
- * { margin: 0; padding: 0; box-sizing: border-box; }
50
-
51
- body {
52
- font-family: var(--font-heading);
53
- background: var(--page-bg);
54
- color: var(--text-secondary);
55
- font-size: 13px;
56
- font-weight: 400;
57
- line-height: 1.50;
58
- -webkit-font-smoothing: antialiased;
59
- }
60
-
61
- /* DARK MODE BADGE */
62
- .dark-badge {
63
- position: fixed;
64
- top: 16px;
65
- right: 16px;
66
- z-index: 200;
67
- background: var(--pure-white);
68
- color: var(--absolute-black);
69
- font-family: var(--font-body);
70
- font-size: 11px;
71
- font-weight: 600;
72
- letter-spacing: 1px;
73
- text-transform: uppercase;
74
- padding: 6px 14px;
75
- border-radius: 2px;
76
- }
77
-
78
- /* NAV */
79
- nav {
80
- position: sticky;
81
- top: 0;
82
- z-index: 100;
83
- display: flex;
84
- align-items: center;
85
- justify-content: space-between;
86
- padding: 14px 40px;
87
- background: var(--absolute-black);
88
- min-height: 52px;
89
- border-bottom: 1px solid var(--border-dark);
90
- }
91
- .nav-brand {
92
- font-family: var(--font-heading);
93
- font-size: 13px;
94
- font-weight: 600;
95
- color: var(--pure-white);
96
- text-decoration: none;
97
- letter-spacing: 0.13px;
98
- }
99
- .nav-links {
100
- display: flex;
101
- align-items: center;
102
- gap: 4px;
103
- list-style: none;
104
- }
105
- .nav-links a {
106
- font-family: var(--font-heading);
107
- font-size: 13px;
108
- font-weight: 600;
109
- color: var(--silver-gray);
110
- text-decoration: none;
111
- padding: 6px 14px;
112
- border-radius: 2px;
113
- display: inline-flex;
114
- align-items: center;
115
- transition: color 0.3s;
116
- }
117
- .nav-links a:hover { color: var(--pure-white); }
118
- .nav-cta {
119
- background: var(--ferrari-red);
120
- color: var(--pure-white) !important;
121
- padding: 8px 20px;
122
- border-radius: 2px;
123
- font-family: var(--font-heading);
124
- font-size: 13px;
125
- font-weight: 600;
126
- text-decoration: none;
127
- transition: background-color 0.3s;
128
- display: inline-flex;
129
- align-items: center;
130
- border: none;
131
- cursor: pointer;
132
- }
133
- .nav-cta:hover { background: var(--dark-red); }
134
-
135
- /* HERO */
136
- .hero {
137
- position: relative;
138
- min-height: 90vh;
139
- display: flex;
140
- flex-direction: column;
141
- align-items: center;
142
- justify-content: center;
143
- padding: 100px 40px 80px;
144
- background: var(--absolute-black);
145
- text-align: center;
146
- overflow: hidden;
147
- }
148
- .hero::before {
149
- content: '';
150
- position: absolute;
151
- top: 50%;
152
- left: 50%;
153
- transform: translate(-50%, -50%);
154
- width: 700px;
155
- height: 700px;
156
- background: radial-gradient(circle, rgba(218,41,28,0.08) 0%, transparent 65%);
157
- pointer-events: none;
158
- }
159
- .hero::after {
160
- content: '';
161
- position: absolute;
162
- bottom: 0;
163
- left: 0;
164
- right: 0;
165
- height: 1px;
166
- background: var(--border-dark);
167
- }
168
- .hero h1 {
169
- font-family: var(--font-heading);
170
- font-size: 42px;
171
- font-weight: 500;
172
- line-height: 1.20;
173
- letter-spacing: normal;
174
- color: var(--pure-white);
175
- margin-bottom: 16px;
176
- position: relative;
177
- }
178
- .hero .subtitle {
179
- font-family: var(--font-heading);
180
- font-size: 16px;
181
- font-weight: 400;
182
- color: var(--silver-gray);
183
- margin-bottom: 12px;
184
- line-height: 1.50;
185
- position: relative;
186
- }
187
- .hero .label-tag {
188
- font-family: var(--font-body);
189
- font-size: 12px;
190
- font-weight: 400;
191
- color: var(--mid-gray);
192
- letter-spacing: 1px;
193
- text-transform: uppercase;
194
- margin-bottom: 40px;
195
- position: relative;
196
- }
197
- .hero-buttons {
198
- display: flex;
199
- gap: 16px;
200
- position: relative;
201
- }
202
- .btn-primary-red {
203
- background: var(--ferrari-red);
204
- color: var(--pure-white);
205
- border: none;
206
- border-radius: 2px;
207
- padding: 12px 28px;
208
- font-family: var(--font-heading);
209
- font-size: 16px;
210
- font-weight: 400;
211
- letter-spacing: 1.28px;
212
- cursor: pointer;
213
- transition: background-color 0.3s;
214
- text-decoration: none;
215
- display: inline-flex;
216
- align-items: center;
217
- justify-content: center;
218
- }
219
- .btn-primary-red:hover { background: var(--dark-red); }
220
- .btn-ghost {
221
- background: transparent;
222
- color: var(--pure-white);
223
- border: 1px solid var(--pure-white);
224
- border-radius: 2px;
225
- padding: 12px 28px;
226
- font-family: var(--font-heading);
227
- font-size: 16px;
228
- font-weight: 400;
229
- letter-spacing: 1.28px;
230
- cursor: pointer;
231
- transition: background-color 0.3s, color 0.3s;
232
- text-decoration: none;
233
- display: inline-flex;
234
- align-items: center;
235
- justify-content: center;
236
- }
237
- .btn-ghost:hover { background: var(--teal-hover); border-color: var(--teal-hover); }
238
-
239
- /* SECTIONS */
240
- .section {
241
- padding: 80px 40px;
242
- max-width: 1200px;
243
- margin: 0 auto;
244
- }
245
- .section-title {
246
- font-family: var(--font-heading);
247
- font-size: 26px;
248
- font-weight: 500;
249
- color: var(--text-primary);
250
- margin-bottom: 8px;
251
- line-height: 1.20;
252
- }
253
- .section-desc {
254
- font-family: var(--font-heading);
255
- font-size: 13px;
256
- color: var(--text-muted);
257
- margin-bottom: 40px;
258
- line-height: 1.50;
259
- letter-spacing: 0.195px;
260
- }
261
- .section-divider {
262
- border: none;
263
- border-top: 1px solid var(--divider);
264
- margin: 0 40px;
265
- max-width: 1200px;
266
- margin-left: auto;
267
- margin-right: auto;
268
- }
269
-
270
- /* 1. COLOR PALETTE */
271
- .color-group-label {
272
- font-family: var(--font-body);
273
- font-size: 12px;
274
- font-weight: 400;
275
- color: var(--text-muted);
276
- letter-spacing: 1px;
277
- text-transform: uppercase;
278
- margin-bottom: 16px;
279
- margin-top: 32px;
280
- }
281
- .color-grid {
282
- display: grid;
283
- grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
284
- gap: 16px;
285
- margin-bottom: 32px;
286
- }
287
- .color-swatch {
288
- border-radius: 2px;
289
- overflow: hidden;
290
- }
291
- .color-swatch .swatch-block {
292
- height: 80px;
293
- border-radius: 2px 2px 0 0;
294
- }
295
- .color-swatch .swatch-info {
296
- padding: 12px;
297
- background: var(--card-bg);
298
- border: 1px solid var(--card-border);
299
- border-top: none;
300
- border-radius: 0 0 2px 2px;
301
- }
302
- .color-swatch .swatch-name {
303
- font-size: 13px;
304
- font-weight: 500;
305
- color: var(--text-primary);
306
- margin-bottom: 2px;
307
- }
308
- .color-swatch .swatch-hex {
309
- font-size: 12px;
310
- color: var(--text-tertiary);
311
- margin-bottom: 4px;
312
- font-family: monospace;
313
- }
314
- .color-swatch .swatch-role {
315
- font-size: 11px;
316
- color: var(--text-muted);
317
- line-height: 1.3;
318
- }
319
-
320
- /* 2. TYPOGRAPHY */
321
- .type-sample {
322
- margin-bottom: 32px;
323
- padding-bottom: 24px;
324
- border-bottom: 1px solid var(--divider);
325
- }
326
- .type-sample:last-child { border-bottom: none; }
327
- .type-label {
328
- font-family: var(--font-body);
329
- font-size: 11px;
330
- font-weight: 400;
331
- color: var(--text-muted);
332
- margin-top: 8px;
333
- letter-spacing: 1px;
334
- text-transform: uppercase;
335
- line-height: 1.27;
336
- }
337
-
338
- /* 3. BUTTONS */
339
- .button-row {
340
- display: flex;
341
- flex-wrap: wrap;
342
- gap: 20px;
343
- align-items: flex-end;
344
- margin-bottom: 24px;
345
- }
346
- .button-item {
347
- display: flex;
348
- flex-direction: column;
349
- gap: 8px;
350
- }
351
- .button-item .btn-label {
352
- font-family: var(--font-body);
353
- font-size: 11px;
354
- color: var(--text-muted);
355
- letter-spacing: 1px;
356
- text-transform: uppercase;
357
- line-height: 1.27;
358
- }
359
- .btn-white-cta {
360
- background: var(--pure-white);
361
- color: var(--absolute-black);
362
- border: 1px solid var(--absolute-black);
363
- border-radius: 2px;
364
- padding: 12px 10px;
365
- font-family: var(--font-heading);
366
- font-size: 16px;
367
- font-weight: 400;
368
- letter-spacing: 1.28px;
369
- cursor: pointer;
370
- transition: background-color 0.3s, color 0.3s;
371
- min-width: 160px;
372
- text-align: center;
373
- }
374
- .btn-white-cta:hover { background: var(--teal-hover); color: var(--pure-white); border-color: var(--teal-hover); }
375
- .btn-red-cta {
376
- background: var(--ferrari-red);
377
- color: var(--pure-white);
378
- border: 1px solid var(--ferrari-red);
379
- border-radius: 2px;
380
- padding: 12px 10px;
381
- font-family: var(--font-heading);
382
- font-size: 16px;
383
- font-weight: 400;
384
- letter-spacing: 1.28px;
385
- cursor: pointer;
386
- transition: background-color 0.3s;
387
- min-width: 160px;
388
- text-align: center;
389
- }
390
- .btn-red-cta:hover { background: var(--dark-red); border-color: var(--dark-red); }
391
- .btn-ghost-dark {
392
- background: transparent;
393
- color: var(--pure-white);
394
- border: 1px solid var(--pure-white);
395
- border-radius: 2px;
396
- padding: 12px 10px;
397
- font-family: var(--font-heading);
398
- font-size: 16px;
399
- font-weight: 400;
400
- letter-spacing: 1.28px;
401
- cursor: pointer;
402
- transition: background-color 0.3s, color 0.3s;
403
- min-width: 160px;
404
- text-align: center;
405
- }
406
- .btn-ghost-dark:hover { background: var(--teal-hover); border-color: var(--teal-hover); }
407
- .btn-text-link {
408
- background: none;
409
- border: none;
410
- color: var(--text-secondary);
411
- font-family: var(--font-heading);
412
- font-size: 13px;
413
- font-weight: 400;
414
- letter-spacing: 0.195px;
415
- cursor: pointer;
416
- text-decoration: none;
417
- transition: color 0.3s;
418
- padding: 0;
419
- }
420
- .btn-text-link:hover { color: var(--link-blue); }
421
- .dark-btn-row {
422
- background: var(--absolute-black);
423
- padding: 24px;
424
- border-radius: 2px;
425
- border: 1px solid var(--card-border);
426
- display: flex;
427
- flex-wrap: wrap;
428
- gap: 20px;
429
- align-items: flex-end;
430
- }
431
-
432
- /* 4. CARDS */
433
- .card-grid {
434
- display: grid;
435
- grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
436
- gap: 24px;
437
- }
438
- .card {
439
- background: var(--card-bg);
440
- border: 1px solid var(--card-border);
441
- border-radius: 0;
442
- overflow: hidden;
443
- }
444
- .card-img {
445
- width: 100%;
446
- height: 200px;
447
- object-fit: cover;
448
- display: block;
449
- background: var(--dark-surface-lighter);
450
- }
451
- .card-body { padding: 20px; }
452
- .card-heading {
453
- font-family: var(--font-heading);
454
- font-size: 16px;
455
- font-weight: 700;
456
- color: var(--text-primary);
457
- line-height: 1.30;
458
- margin-bottom: 8px;
459
- }
460
- .card-caption {
461
- font-family: var(--font-body);
462
- font-size: 12px;
463
- font-weight: 400;
464
- color: var(--text-muted);
465
- letter-spacing: 1px;
466
- text-transform: uppercase;
467
- line-height: 1.27;
468
- margin-bottom: 8px;
469
- }
470
- .card-text {
471
- font-family: var(--font-heading);
472
- font-size: 13px;
473
- color: var(--text-tertiary);
474
- line-height: 1.50;
475
- }
476
- .card-dark {
477
- background: var(--absolute-black);
478
- border: 1px solid var(--card-border);
479
- border-radius: 0;
480
- overflow: hidden;
481
- }
482
- .card-dark .card-img { background: #1a1a1a; }
483
- .card-dark .card-body { padding: 20px; }
484
- .card-dark .card-heading { color: var(--pure-white); }
485
- .card-dark .card-caption { color: var(--text-muted); }
486
- .card-dark .card-text { color: var(--text-tertiary); }
487
- .card-hover { transition: transform 0.3s; }
488
- .card-hover:hover { transform: translateY(-2px); }
489
-
490
- /* 5. FORMS */
491
- .form-grid {
492
- display: grid;
493
- grid-template-columns: 1fr 1fr;
494
- gap: 24px;
495
- max-width: 700px;
496
- }
497
- .form-group { display: flex; flex-direction: column; gap: 6px; }
498
- .form-group.full { grid-column: 1 / -1; }
499
- .form-label {
500
- font-family: var(--font-body);
501
- font-size: 12px;
502
- font-weight: 400;
503
- color: var(--text-muted);
504
- letter-spacing: 1px;
505
- text-transform: uppercase;
506
- line-height: 1.27;
507
- }
508
- .form-input {
509
- font-family: var(--font-heading);
510
- font-size: 13px;
511
- color: var(--text-primary);
512
- background: transparent;
513
- border: 1px solid var(--card-border);
514
- border-radius: 2px;
515
- padding: 12px 10px;
516
- outline: none;
517
- transition: border-color 0.3s;
518
- line-height: 1.50;
519
- letter-spacing: 0.195px;
520
- }
521
- .form-input::placeholder { color: var(--text-muted); }
522
- .form-input:focus { border-color: var(--ferrari-red); }
523
- .form-input-error { border-color: var(--warning-red); }
524
- .form-error-text {
525
- font-size: 11px;
526
- color: var(--warning-red);
527
- font-family: var(--font-heading);
528
- }
529
- textarea.form-input {
530
- resize: vertical;
531
- min-height: 100px;
532
- }
533
-
534
- /* 6. SPACING */
535
- .spacing-row {
536
- display: flex;
537
- flex-wrap: wrap;
538
- gap: 12px;
539
- align-items: flex-end;
540
- }
541
- .spacing-item {
542
- display: flex;
543
- flex-direction: column;
544
- align-items: center;
545
- gap: 6px;
546
- }
547
- .spacing-box {
548
- background: var(--ferrari-red);
549
- border-radius: 1px;
550
- opacity: 0.8;
551
- height: 40px;
552
- }
553
- .spacing-label {
554
- font-family: monospace;
555
- font-size: 10px;
556
- color: var(--text-muted);
557
- white-space: nowrap;
558
- }
559
-
560
- /* 7. RADIUS */
561
- .radius-row {
562
- display: flex;
563
- flex-wrap: wrap;
564
- gap: 24px;
565
- align-items: flex-end;
566
- }
567
- .radius-item {
568
- display: flex;
569
- flex-direction: column;
570
- align-items: center;
571
- gap: 8px;
572
- }
573
- .radius-box {
574
- width: 80px;
575
- height: 80px;
576
- background: var(--dark-surface-lighter);
577
- border: 1px solid var(--card-border);
578
- }
579
- .radius-label {
580
- font-family: monospace;
581
- font-size: 11px;
582
- color: var(--text-tertiary);
583
- text-align: center;
584
- line-height: 1.3;
585
- }
586
- .radius-context {
587
- font-family: var(--font-body);
588
- font-size: 11px;
589
- color: var(--text-muted);
590
- text-align: center;
591
- letter-spacing: 1px;
592
- text-transform: uppercase;
593
- line-height: 1.27;
594
- }
595
-
596
- /* 8. ELEVATION */
597
- .elevation-grid {
598
- display: grid;
599
- grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
600
- gap: 24px;
601
- padding: 40px;
602
- background: var(--absolute-black);
603
- border-radius: 2px;
604
- border: 1px solid var(--card-border);
605
- }
606
- .elevation-card {
607
- background: var(--card-bg);
608
- padding: 24px;
609
- min-height: 120px;
610
- display: flex;
611
- flex-direction: column;
612
- justify-content: flex-end;
613
- border: 1px solid var(--card-border);
614
- }
615
- .elevation-label {
616
- font-family: var(--font-heading);
617
- font-size: 14px;
618
- font-weight: 500;
619
- color: var(--text-primary);
620
- margin-bottom: 4px;
621
- }
622
- .elevation-desc {
623
- font-family: var(--font-heading);
624
- font-size: 12px;
625
- color: var(--text-muted);
626
- line-height: 1.50;
627
- }
628
-
629
- /* RESPONSIVE */
630
- @media (max-width: 768px) {
631
- nav { padding: 12px 20px; }
632
- .nav-links { display: none; }
633
- .hero { padding: 60px 20px; min-height: 70vh; }
634
- .hero h1 { font-size: 28px; }
635
- .hero-buttons { flex-direction: column; gap: 12px; }
636
- .section { padding: 48px 20px; }
637
- .section-title { font-size: 22px; }
638
- .color-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
639
- .card-grid { grid-template-columns: 1fr; }
640
- .form-grid { grid-template-columns: 1fr; }
641
- .form-group.full { grid-column: auto; }
642
- .button-row, .dark-btn-row { flex-direction: column; align-items: flex-start; }
643
- .elevation-grid { grid-template-columns: 1fr; padding: 20px; }
644
- .dark-badge { top: 8px; right: 8px; font-size: 10px; padding: 4px 10px; }
645
- }
646
- </style>
647
- </head>
648
- <body>
649
-
650
- <!-- DARK MODE BADGE -->
651
- <div class="dark-badge">Dark Mode</div>
652
-
653
- <!-- NAV -->
654
- <nav>
655
- <span class="nav-brand">awesome-design-md</span>
656
- <ul class="nav-links">
657
- <li><a href="#colors">Colors</a></li>
658
- <li><a href="#typography">Typography</a></li>
659
- <li><a href="#buttons">Buttons</a></li>
660
- <li><a href="#cards">Cards</a></li>
661
- <li><a href="#forms">Forms</a></li>
662
- <li><a href="#spacing">Spacing</a></li>
663
- <li><a class="nav-cta" href="#elevation">Explore</a></li>
664
- </ul>
665
- </nav>
666
-
667
- <!-- HERO -->
668
- <section class="hero">
669
- <div class="label-tag">Design System Inspired by Ferrari</div>
670
- <h1>Design System Inspired by Ferrari</h1>
671
- <p class="subtitle">A visual reference generated from DESIGN.md — every color, type rule, and component token documented</p>
672
- <div class="label-tag">Precision Engineering Meets Editorial Design</div>
673
- <div class="hero-buttons">
674
- <a href="#colors" class="btn-primary-red">Subscribe</a>
675
- <a href="#typography" class="btn-ghost">Configure</a>
676
- </div>
677
- </section>
678
-
679
- <!-- 1. COLOR PALETTE -->
680
- <div id="colors" class="section">
681
- <h2 class="section-title">Color Palette</h2>
682
- <p class="section-desc">Every color extracted from Ferrari's design system with semantic names, hex values, and functional roles.</p>
683
-
684
- <div class="color-group-label">Primary</div>
685
- <div class="color-grid">
686
- <div class="color-swatch">
687
- <div class="swatch-block" style="background:#DA291C;"></div>
688
- <div class="swatch-info">
689
- <div class="swatch-name">Ferrari Red</div>
690
- <div class="swatch-hex">#DA291C</div>
691
- <div class="swatch-role">Primary CTA and brand accent (--f-color-accent-100)</div>
692
- </div>
693
- </div>
694
- <div class="color-swatch">
695
- <div class="swatch-block" style="background:#FFFFFF;"></div>
696
- <div class="swatch-info">
697
- <div class="swatch-name">Pure White</div>
698
- <div class="swatch-hex">#FFFFFF</div>
699
- <div class="swatch-role">Primary surface for editorial panels (--f-color-ui-0)</div>
700
- </div>
701
- </div>
702
- </div>
703
-
704
- <div class="color-group-label">Secondary &amp; Accent</div>
705
- <div class="color-grid">
706
- <div class="color-swatch">
707
- <div class="swatch-block" style="background:#B01E0A;"></div>
708
- <div class="swatch-info">
709
- <div class="swatch-name">Dark Red</div>
710
- <div class="swatch-hex">#B01E0A</div>
711
- <div class="swatch-role">Hover/pressed states (--f-color-accent-90)</div>
712
- </div>
713
- </div>
714
- <div class="color-swatch">
715
- <div class="swatch-block" style="background:#9D2211;"></div>
716
- <div class="swatch-info">
717
- <div class="swatch-name">Deep Red</div>
718
- <div class="swatch-hex">#9D2211</div>
719
- <div class="swatch-role">Active states, extra emphasis (--f-color-accent-80)</div>
720
- </div>
721
- </div>
722
- <div class="color-swatch">
723
- <div class="swatch-block" style="background:#FFF200;"></div>
724
- <div class="swatch-info">
725
- <div class="swatch-name">Racing Yellow</div>
726
- <div class="swatch-hex">#FFF200</div>
727
- <div class="swatch-role">Heritage racing accent (--f-color-yellow-hypersail)</div>
728
- </div>
729
- </div>
730
- <div class="color-swatch">
731
- <div class="swatch-block" style="background:#F6E500;"></div>
732
- <div class="swatch-info">
733
- <div class="swatch-name">Modena Yellow</div>
734
- <div class="swatch-hex">#F6E500</div>
735
- <div class="swatch-role">Secondary heritage accent (--f-color-yellow)</div>
736
- </div>
737
- </div>
738
- </div>
739
-
740
- <div class="color-group-label">Surface &amp; Background</div>
741
- <div class="color-grid">
742
- <div class="color-swatch">
743
- <div class="swatch-block" style="background:#000000;"></div>
744
- <div class="swatch-info">
745
- <div class="swatch-name">Absolute Black</div>
746
- <div class="swatch-hex">#000000</div>
747
- <div class="swatch-role">Hero sections, cinematic backgrounds</div>
748
- </div>
749
- </div>
750
- <div class="color-swatch">
751
- <div class="swatch-block" style="background:#303030;"></div>
752
- <div class="swatch-info">
753
- <div class="swatch-name">Dark Surface</div>
754
- <div class="swatch-hex">#303030</div>
755
- <div class="swatch-role">Footer, newsletter sections (--f-color-ui-90)</div>
756
- </div>
757
- </div>
758
- <div class="color-swatch">
759
- <div class="swatch-block" style="background:#D2D2D2;"></div>
760
- <div class="swatch-info">
761
- <div class="swatch-name">Light Gray Surface</div>
762
- <div class="swatch-hex">#D2D2D2</div>
763
- <div class="swatch-role">Dividers, border treatments (--f-color-ui-20)</div>
764
- </div>
765
- </div>
766
- </div>
767
-
768
- <div class="color-group-label">Neutrals &amp; Text</div>
769
- <div class="color-grid">
770
- <div class="color-swatch">
771
- <div class="swatch-block" style="background:#181818;"></div>
772
- <div class="swatch-info">
773
- <div class="swatch-name">Near Black</div>
774
- <div class="swatch-hex">#181818</div>
775
- <div class="swatch-role">Primary body text on light surfaces</div>
776
- </div>
777
- </div>
778
- <div class="color-swatch">
779
- <div class="swatch-block" style="background:#666666;"></div>
780
- <div class="swatch-info">
781
- <div class="swatch-name">Dark Gray</div>
782
- <div class="swatch-hex">#666666</div>
783
- <div class="swatch-role">Secondary text, subdued labels (--f-color-black-60)</div>
784
- </div>
785
- </div>
786
- <div class="color-swatch">
787
- <div class="swatch-block" style="background:#8F8F8F;"></div>
788
- <div class="swatch-info">
789
- <div class="swatch-name">Mid Gray</div>
790
- <div class="swatch-hex">#8F8F8F</div>
791
- <div class="swatch-role">Tertiary text, metadata (--f-color-black-50)</div>
792
- </div>
793
- </div>
794
- <div class="color-swatch">
795
- <div class="swatch-block" style="background:#969696;"></div>
796
- <div class="swatch-info">
797
- <div class="swatch-name">Silver Gray</div>
798
- <div class="swatch-hex">#969696</div>
799
- <div class="swatch-role">Placeholder, disabled states (--f-color-black-55)</div>
800
- </div>
801
- </div>
802
- <div class="color-swatch">
803
- <div class="swatch-block" style="background:#CCCCCC;"></div>
804
- <div class="swatch-info">
805
- <div class="swatch-name">Border Gray</div>
806
- <div class="swatch-hex">#CCCCCC</div>
807
- <div class="swatch-role">Input borders, form containers</div>
808
- </div>
809
- </div>
810
- </div>
811
-
812
- <div class="color-group-label">Semantic</div>
813
- <div class="color-grid">
814
- <div class="color-swatch">
815
- <div class="swatch-block" style="background:#F13A2C;"></div>
816
- <div class="swatch-info">
817
- <div class="swatch-name">Warning Red</div>
818
- <div class="swatch-hex">#F13A2C</div>
819
- <div class="swatch-role">Accessible warning state (--f-color-accessible-warning)</div>
820
- </div>
821
- </div>
822
- <div class="color-swatch">
823
- <div class="swatch-block" style="background:#03904A;"></div>
824
- <div class="swatch-info">
825
- <div class="swatch-name">Success Green</div>
826
- <div class="swatch-hex">#03904A</div>
827
- <div class="swatch-role">Positive status (--f-color-accessible-success)</div>
828
- </div>
829
- </div>
830
- <div class="color-swatch">
831
- <div class="swatch-block" style="background:#4C98B9;"></div>
832
- <div class="swatch-info">
833
- <div class="swatch-name">Info Blue</div>
834
- <div class="swatch-hex">#4C98B9</div>
835
- <div class="swatch-role">Informational callouts (--f-color-accessible-info)</div>
836
- </div>
837
- </div>
838
- <div class="color-swatch">
839
- <div class="swatch-block" style="background:#3860BE;"></div>
840
- <div class="swatch-info">
841
- <div class="swatch-name">Link Hover Blue</div>
842
- <div class="swatch-hex">#3860BE</div>
843
- <div class="swatch-role">Interactive hover state for text links</div>
844
- </div>
845
- </div>
846
- <div class="color-swatch">
847
- <div class="swatch-block" style="background:#1EAEDB;"></div>
848
- <div class="swatch-info">
849
- <div class="swatch-name">Teal</div>
850
- <div class="swatch-hex">#1EAEDB</div>
851
- <div class="swatch-role">Button hover state</div>
852
- </div>
853
- </div>
854
- </div>
855
- </div>
856
-
857
- <hr class="section-divider">
858
-
859
- <!-- 2. TYPOGRAPHY -->
860
- <div id="typography" class="section">
861
- <h2 class="section-title">Typography Scale</h2>
862
- <p class="section-desc">FerrariSans for headings and editorial content, Body-Font for labels and captions. Rendered with DM Sans and Barlow Condensed as Google Font substitutes.</p>
863
-
864
- <div class="type-sample">
865
- <div style="font-family:var(--font-heading);font-size:26px;font-weight:500;line-height:1.20;color:var(--text-primary);">Section Title — The Art of Engineering</div>
866
- <div class="type-label">Section Title — 26px / 500 / 1.20 LH / normal — FerrariSans</div>
867
- </div>
868
-
869
- <div class="type-sample">
870
- <div style="font-family:var(--font-heading);font-size:24px;font-weight:400;line-height:normal;color:var(--text-primary);">Card Heading — Concept Revealed</div>
871
- <div class="type-label">Card Heading — 24px / 400 / normal LH / normal — FerrariSans</div>
872
- </div>
873
-
874
- <div class="type-sample">
875
- <div style="font-family:var(--font-heading);font-size:18px;font-weight:700;line-height:1.20;color:var(--text-primary);">Subheading — Maranello Edition</div>
876
- <div class="type-label">Subheading — 18px / 700 / 1.20 LH / normal — FerrariSans</div>
877
- </div>
878
-
879
- <div class="type-sample">
880
- <div style="font-family:var(--font-heading);font-size:16px;font-weight:500;line-height:1.40;letter-spacing:0.08px;color:var(--text-primary);">UI Heading — Vehicle Configuration</div>
881
- <div class="type-label">UI Heading — 16px / 500 / 1.40 LH / 0.08px — FerrariSans</div>
882
- </div>
883
-
884
- <div class="type-sample">
885
- <div style="font-family:var(--font-heading);font-size:16px;font-weight:700;line-height:1.30;color:var(--text-primary);">Body Bold — Performance Specifications</div>
886
- <div class="type-label">Body Bold — 16px / 700 / 1.30 LH / normal — FerrariSans</div>
887
- </div>
888
-
889
- <div class="type-sample">
890
- <div style="font-family:var(--font-heading);font-size:16px;font-weight:400;line-height:normal;letter-spacing:1.28px;color:var(--text-primary);">Button Label — Configure</div>
891
- <div class="type-label">Button Label — 16px / 400 / normal LH / 1.28px — FerrariSans</div>
892
- </div>
893
-
894
- <div class="type-sample">
895
- <div style="font-family:var(--font-heading);font-size:14.4px;font-weight:700;line-height:1.00;color:var(--text-primary);">Small Button — Discover More</div>
896
- <div class="type-label">Small Button — 14.4px / 700 / 1.00 LH / normal — FerrariSans</div>
897
- </div>
898
-
899
- <div class="type-sample">
900
- <div style="font-family:var(--font-heading);font-size:13px;font-weight:600;line-height:1.20;letter-spacing:0.13px;color:var(--text-primary);">Nav Link — Models &amp; Range</div>
901
- <div class="type-label">Nav Link — 13px / 600 / 1.20 LH / 0.13px — FerrariSans</div>
902
- </div>
903
-
904
- <div class="type-sample">
905
- <div style="font-family:var(--font-heading);font-size:13px;font-weight:400;line-height:1.50;letter-spacing:0.195px;color:var(--text-tertiary);">Caption — Photographed at the Fiorano test circuit during the annual event, showcasing the latest innovations in motorsport technology.</div>
906
- <div class="type-label">Caption — 13px / 400 / 1.50 LH / 0.195px — FerrariSans/Body-Font</div>
907
- </div>
908
-
909
- <div class="type-sample">
910
- <div style="font-family:var(--font-heading);font-size:12px;font-weight:700;line-height:1.00;letter-spacing:0.96px;color:var(--text-primary);">Micro Button</div>
911
- <div class="type-label">Micro Button — 12px / 700 / 1.00 LH / 0.96px — FerrariSans</div>
912
- </div>
913
-
914
- <div class="type-sample">
915
- <div style="font-family:var(--font-body);font-size:12px;font-weight:400;line-height:1.27;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);">Label Upper — Motorsport Heritage</div>
916
- <div class="type-label">Label Upper — 12px / 400 / 1.27 LH / 1px / uppercase — Body-Font</div>
917
- </div>
918
-
919
- <div class="type-sample">
920
- <div style="font-family:var(--font-body);font-size:11px;font-weight:400;line-height:1.27;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);">Micro Label — Racing Division</div>
921
- <div class="type-label">Micro Label — 11px / 400 / 1.27 LH / 1px / uppercase — Body-Font</div>
922
- </div>
923
- </div>
924
-
925
- <hr class="section-divider">
926
-
927
- <!-- 3. BUTTONS -->
928
- <div id="buttons" class="section">
929
- <h2 class="section-title">Button Variants</h2>
930
- <p class="section-desc">All button variants from the design system. Ferrari's CTA philosophy: architecture, not decoration.</p>
931
-
932
- <div class="button-row" style="margin-bottom:32px;">
933
- <div class="button-item">
934
- <span class="btn-label">Primary CTA (White)</span>
935
- <button class="btn-white-cta">Configure</button>
936
- </div>
937
- <div class="button-item">
938
- <span class="btn-label">Subscribe CTA (Red)</span>
939
- <button class="btn-red-cta">Subscribe</button>
940
- </div>
941
- <div class="button-item">
942
- <span class="btn-label">Text Link</span>
943
- <a href="#" class="btn-text-link">View Details</a>
944
- </div>
945
- </div>
946
-
947
- <div class="color-group-label">On Dark Background</div>
948
- <div class="dark-btn-row">
949
- <div class="button-item">
950
- <span class="btn-label" style="color:var(--text-muted);">Ghost Button (White Border)</span>
951
- <button class="btn-ghost-dark">Explore</button>
952
- </div>
953
- <div class="button-item">
954
- <span class="btn-label" style="color:var(--text-muted);">Subscribe CTA (Red)</span>
955
- <button class="btn-red-cta">Subscribe</button>
956
- </div>
957
- <div class="button-item">
958
- <span class="btn-label" style="color:var(--text-muted);">Text Link (White)</span>
959
- <a href="#" style="color:var(--pure-white);font-size:13px;font-family:var(--font-heading);text-decoration:underline;transition:color 0.3s;">View All</a>
960
- </div>
961
- </div>
962
- </div>
963
-
964
- <hr class="section-divider">
965
-
966
- <!-- 4. CARDS -->
967
- <div id="cards" class="section">
968
- <h2 class="section-title">Card Examples</h2>
969
- <p class="section-desc">Editorial cards and dark cinematic cards — the two primary container treatments.</p>
970
-
971
- <div class="card-grid">
972
- <div class="card card-hover">
973
- <div class="card-img" style="background:linear-gradient(135deg, #444 0%, #303030 100%);"></div>
974
- <div class="card-body">
975
- <div class="card-caption">Motorsport</div>
976
- <div class="card-heading">Championship Season Highlights</div>
977
- <div class="card-text">A curated look back at the defining moments from this season's racing campaign across Formula 1 and endurance events.</div>
978
- </div>
979
- </div>
980
-
981
- <div class="card-dark card-hover">
982
- <div class="card-img" style="background:linear-gradient(135deg, #000000 0%, #1a1a1a 100%);"></div>
983
- <div class="card-body">
984
- <div class="card-caption">Concept</div>
985
- <div class="card-heading">Vision GT Unveiled</div>
986
- <div class="card-text">The latest concept from the Maranello design studio merges aerodynamic precision with sculptural beauty.</div>
987
- </div>
988
- </div>
989
-
990
- <div class="card card-hover">
991
- <div class="card-img" style="background:linear-gradient(135deg, #DA291C 0%, #9D2211 100%);"></div>
992
- <div class="card-body">
993
- <div class="card-caption">Heritage</div>
994
- <div class="card-heading">Celebrating 75 Years of Excellence</div>
995
- <div class="card-text">From the 125 S to the SF-23 — tracing the evolution of engineering artistry that defines the Prancing Horse.</div>
996
- </div>
997
- </div>
998
- </div>
999
- </div>
1000
-
1001
- <hr class="section-divider">
1002
-
1003
- <!-- 5. FORMS -->
1004
- <div id="forms" class="section">
1005
- <h2 class="section-title">Form Elements</h2>
1006
- <p class="section-desc">Input fields, labels, and states — following Ferrari's transparent-background input treatment with precise 2px radius.</p>
1007
-
1008
- <div class="form-grid">
1009
- <div class="form-group">
1010
- <label class="form-label">First Name</label>
1011
- <input type="text" class="form-input" placeholder="Enter first name">
1012
- </div>
1013
- <div class="form-group">
1014
- <label class="form-label">Last Name</label>
1015
- <input type="text" class="form-input" placeholder="Enter last name">
1016
- </div>
1017
- <div class="form-group">
1018
- <label class="form-label">Email (Focus State)</label>
1019
- <input type="email" class="form-input" placeholder="email@example.com" style="border-color:#DA291C;">
1020
- </div>
1021
- <div class="form-group">
1022
- <label class="form-label">Phone (Error State)</label>
1023
- <input type="tel" class="form-input form-input-error" placeholder="Invalid number" value="+1 555" style="color:var(--text-primary);">
1024
- <span class="form-error-text">Please enter a valid phone number</span>
1025
- </div>
1026
- <div class="form-group full">
1027
- <label class="form-label">Message</label>
1028
- <textarea class="form-input" placeholder="Write your message here..."></textarea>
1029
- </div>
1030
- </div>
1031
- </div>
1032
-
1033
- <hr class="section-divider">
1034
-
1035
- <!-- 6. SPACING -->
1036
- <div id="spacing" class="section">
1037
- <h2 class="section-title">Spacing Scale</h2>
1038
- <p class="section-desc">Base unit: 8px. The full spacing scale extracted from Ferrari's design tokens.</p>
1039
-
1040
- <div class="spacing-row">
1041
- <div class="spacing-item">
1042
- <div class="spacing-box" style="width:1px;"></div>
1043
- <span class="spacing-label">1px</span>
1044
- </div>
1045
- <div class="spacing-item">
1046
- <div class="spacing-box" style="width:2px;"></div>
1047
- <span class="spacing-label">2px</span>
1048
- </div>
1049
- <div class="spacing-item">
1050
- <div class="spacing-box" style="width:4px;"></div>
1051
- <span class="spacing-label">4px</span>
1052
- </div>
1053
- <div class="spacing-item">
1054
- <div class="spacing-box" style="width:5px;"></div>
1055
- <span class="spacing-label">5px</span>
1056
- </div>
1057
- <div class="spacing-item">
1058
- <div class="spacing-box" style="width:6px;"></div>
1059
- <span class="spacing-label">6px</span>
1060
- </div>
1061
- <div class="spacing-item">
1062
- <div class="spacing-box" style="width:9px;"></div>
1063
- <span class="spacing-label">9px</span>
1064
- </div>
1065
- <div class="spacing-item">
1066
- <div class="spacing-box" style="width:10px;"></div>
1067
- <span class="spacing-label">10px</span>
1068
- </div>
1069
- <div class="spacing-item">
1070
- <div class="spacing-box" style="width:12px;"></div>
1071
- <span class="spacing-label">12px</span>
1072
- </div>
1073
- <div class="spacing-item">
1074
- <div class="spacing-box" style="width:13px;"></div>
1075
- <span class="spacing-label">13px</span>
1076
- </div>
1077
- <div class="spacing-item">
1078
- <div class="spacing-box" style="width:15px;"></div>
1079
- <span class="spacing-label">15px</span>
1080
- </div>
1081
- <div class="spacing-item">
1082
- <div class="spacing-box" style="width:16px;"></div>
1083
- <span class="spacing-label">16px</span>
1084
- </div>
1085
- <div class="spacing-item">
1086
- <div class="spacing-box" style="width:19px;"></div>
1087
- <span class="spacing-label">19px</span>
1088
- </div>
1089
- <div class="spacing-item">
1090
- <div class="spacing-box" style="width:20px;"></div>
1091
- <span class="spacing-label">20px</span>
1092
- </div>
1093
- <div class="spacing-item">
1094
- <div class="spacing-box" style="width:25px;"></div>
1095
- <span class="spacing-label">25px</span>
1096
- </div>
1097
- </div>
1098
- </div>
1099
-
1100
- <hr class="section-divider">
1101
-
1102
- <!-- 7. BORDER RADIUS -->
1103
- <div id="radius" class="section">
1104
- <h2 class="section-title">Border Radius Scale</h2>
1105
- <p class="section-desc">Ferrari's precision engineering aesthetic demands near-zero border-radius. The 2px default is razor-sharp.</p>
1106
-
1107
- <div class="radius-row">
1108
- <div class="radius-item">
1109
- <div class="radius-box" style="border-radius:1px;"></div>
1110
- <span class="radius-label">1px</span>
1111
- <span class="radius-context">Inline Elements</span>
1112
- </div>
1113
- <div class="radius-item">
1114
- <div class="radius-box" style="border-radius:2px;"></div>
1115
- <span class="radius-label">2px</span>
1116
- <span class="radius-context">Buttons, Inputs</span>
1117
- </div>
1118
- <div class="radius-item">
1119
- <div class="radius-box" style="border-radius:8px;"></div>
1120
- <span class="radius-label">8px</span>
1121
- <span class="radius-context">Dialogs, Modals</span>
1122
- </div>
1123
- <div class="radius-item">
1124
- <div class="radius-box" style="border-radius:50%;"></div>
1125
- <span class="radius-label">50%</span>
1126
- <span class="radius-context">Dots, Avatars</span>
1127
- </div>
1128
- </div>
1129
- </div>
1130
-
1131
- <hr class="section-divider">
1132
-
1133
- <!-- 8. ELEVATION -->
1134
- <div id="elevation" class="section">
1135
- <h2 class="section-title">Elevation &amp; Depth</h2>
1136
- <p class="section-desc">Ferrari communicates hierarchy through surface color contrast and photography, not shadows. The single shadow token is a 1-pixel whisper.</p>
1137
-
1138
- <div class="elevation-grid">
1139
- <div class="elevation-card" style="box-shadow:none;">
1140
- <div class="elevation-label">Level 0 — Flat</div>
1141
- <div class="elevation-desc">No shadow, no border. Default for all content sections and cards.</div>
1142
- </div>
1143
- <div class="elevation-card" style="box-shadow:rgb(153,153,153) 1px 1px 1px 0px;">
1144
- <div class="elevation-label">Level 1 — Subtle</div>
1145
- <div class="elevation-desc">1px whisper shadow. Rare — cookie consent dialogs and dropdown menus.</div>
1146
- </div>
1147
- <div class="elevation-card" style="background:rgba(18,18,18,0.95); border-color:transparent;">
1148
- <div class="elevation-label" style="color:var(--pure-white);">Level 2 — Overlay</div>
1149
- <div class="elevation-desc" style="color:var(--text-muted);">hsla(0,0%,7%,0.8) backdrop. Modal overlays and image captions.</div>
1150
- </div>
1151
- <div class="elevation-card" style="box-shadow:none; border:1px solid #666;">
1152
- <div class="elevation-label">Level 3 — Border</div>
1153
- <div class="elevation-desc">1px solid border. Input fields and form containers — depth through delineation.</div>
1154
- </div>
1155
- </div>
1156
- </div>
1157
-
1158
- <!-- FOOTER -->
1159
- <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>
1160
-
1161
- </body>
1162
- </html>