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