awesome-design-md 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +172 -0
- package/bin/cli.mjs +126 -0
- package/design-md/airbnb/DESIGN.md +246 -0
- package/design-md/airbnb/README.md +23 -0
- package/design-md/airbnb/preview-dark.html +234 -0
- package/design-md/airbnb/preview.html +233 -0
- package/design-md/airtable/DESIGN.md +89 -0
- package/design-md/airtable/README.md +23 -0
- package/design-md/airtable/preview-dark.html +165 -0
- package/design-md/airtable/preview.html +164 -0
- package/design-md/apple/DESIGN.md +313 -0
- package/design-md/apple/README.md +24 -0
- package/design-md/apple/preview-dark.html +422 -0
- package/design-md/apple/preview.html +416 -0
- package/design-md/bmw/DESIGN.md +180 -0
- package/design-md/bmw/README.md +23 -0
- package/design-md/bmw/preview-dark.html +211 -0
- package/design-md/bmw/preview.html +210 -0
- package/design-md/cal/DESIGN.md +259 -0
- package/design-md/cal/README.md +23 -0
- package/design-md/cal/preview-dark.html +449 -0
- package/design-md/cal/preview.html +575 -0
- package/design-md/claude/DESIGN.md +312 -0
- package/design-md/claude/README.md +24 -0
- package/design-md/claude/preview-dark.html +803 -0
- package/design-md/claude/preview.html +826 -0
- package/design-md/clay/DESIGN.md +304 -0
- package/design-md/clay/README.md +23 -0
- package/design-md/clay/preview-dark.html +318 -0
- package/design-md/clay/preview.html +317 -0
- package/design-md/clickhouse/DESIGN.md +281 -0
- package/design-md/clickhouse/README.md +24 -0
- package/design-md/clickhouse/preview-dark.html +834 -0
- package/design-md/clickhouse/preview.html +786 -0
- package/design-md/cohere/DESIGN.md +266 -0
- package/design-md/cohere/README.md +24 -0
- package/design-md/cohere/preview-dark.html +810 -0
- package/design-md/cohere/preview.html +814 -0
- package/design-md/coinbase/DESIGN.md +129 -0
- package/design-md/coinbase/README.md +23 -0
- package/design-md/coinbase/preview-dark.html +164 -0
- package/design-md/coinbase/preview.html +163 -0
- package/design-md/composio/DESIGN.md +307 -0
- package/design-md/composio/README.md +24 -0
- package/design-md/composio/preview-dark.html +958 -0
- package/design-md/composio/preview.html +933 -0
- package/design-md/cursor/DESIGN.md +309 -0
- package/design-md/cursor/README.md +24 -0
- package/design-md/cursor/preview-dark.html +395 -0
- package/design-md/cursor/preview.html +385 -0
- package/design-md/elevenlabs/DESIGN.md +265 -0
- package/design-md/elevenlabs/README.md +23 -0
- package/design-md/elevenlabs/preview-dark.html +254 -0
- package/design-md/elevenlabs/preview.html +253 -0
- package/design-md/expo/DESIGN.md +281 -0
- package/design-md/expo/README.md +24 -0
- package/design-md/expo/preview-dark.html +536 -0
- package/design-md/expo/preview.html +536 -0
- package/design-md/figma/DESIGN.md +220 -0
- package/design-md/figma/README.md +24 -0
- package/design-md/figma/preview-dark.html +831 -0
- package/design-md/figma/preview.html +841 -0
- package/design-md/framer/DESIGN.md +246 -0
- package/design-md/framer/README.md +23 -0
- package/design-md/framer/preview-dark.html +904 -0
- package/design-md/framer/preview.html +885 -0
- package/design-md/hashicorp/DESIGN.md +278 -0
- package/design-md/hashicorp/README.md +24 -0
- package/design-md/hashicorp/preview-dark.html +1206 -0
- package/design-md/hashicorp/preview.html +1195 -0
- package/design-md/ibm/DESIGN.md +332 -0
- package/design-md/ibm/README.md +24 -0
- package/design-md/ibm/preview-dark.html +445 -0
- package/design-md/ibm/preview.html +430 -0
- package/design-md/intercom/DESIGN.md +146 -0
- package/design-md/intercom/README.md +23 -0
- package/design-md/intercom/preview-dark.html +185 -0
- package/design-md/intercom/preview.html +184 -0
- package/design-md/kraken/DESIGN.md +125 -0
- package/design-md/kraken/README.md +23 -0
- package/design-md/kraken/preview-dark.html +169 -0
- package/design-md/kraken/preview.html +168 -0
- package/design-md/linear.app/DESIGN.md +367 -0
- package/design-md/linear.app/README.md +24 -0
- package/design-md/linear.app/preview-dark.html +385 -0
- package/design-md/linear.app/preview.html +375 -0
- package/design-md/lovable/DESIGN.md +298 -0
- package/design-md/lovable/README.md +24 -0
- package/design-md/lovable/preview-dark.html +351 -0
- package/design-md/lovable/preview.html +350 -0
- package/design-md/minimax/DESIGN.md +257 -0
- package/design-md/minimax/README.md +24 -0
- package/design-md/minimax/preview-dark.html +1267 -0
- package/design-md/minimax/preview.html +1253 -0
- package/design-md/mintlify/DESIGN.md +326 -0
- package/design-md/mintlify/README.md +24 -0
- package/design-md/mintlify/preview-dark.html +411 -0
- package/design-md/mintlify/preview.html +400 -0
- package/design-md/miro/DESIGN.md +108 -0
- package/design-md/miro/README.md +23 -0
- package/design-md/miro/preview-dark.html +174 -0
- package/design-md/miro/preview.html +173 -0
- package/design-md/mistral.ai/DESIGN.md +261 -0
- package/design-md/mistral.ai/README.md +24 -0
- package/design-md/mistral.ai/preview-dark.html +813 -0
- package/design-md/mistral.ai/preview.html +812 -0
- package/design-md/mongodb/DESIGN.md +266 -0
- package/design-md/mongodb/README.md +23 -0
- package/design-md/mongodb/preview-dark.html +262 -0
- package/design-md/mongodb/preview.html +261 -0
- package/design-md/notion/DESIGN.md +309 -0
- package/design-md/notion/README.md +24 -0
- package/design-md/notion/preview-dark.html +374 -0
- package/design-md/notion/preview.html +366 -0
- package/design-md/nvidia/DESIGN.md +293 -0
- package/design-md/nvidia/README.md +24 -0
- package/design-md/nvidia/preview-dark.html +376 -0
- package/design-md/nvidia/preview.html +368 -0
- package/design-md/ollama/DESIGN.md +267 -0
- package/design-md/ollama/README.md +24 -0
- package/design-md/ollama/preview-dark.html +678 -0
- package/design-md/ollama/preview.html +678 -0
- package/design-md/opencode.ai/DESIGN.md +281 -0
- package/design-md/opencode.ai/README.md +24 -0
- package/design-md/opencode.ai/preview-dark.html +368 -0
- package/design-md/opencode.ai/preview.html +359 -0
- package/design-md/pinterest/DESIGN.md +230 -0
- package/design-md/pinterest/README.md +23 -0
- package/design-md/pinterest/preview-dark.html +233 -0
- package/design-md/pinterest/preview.html +232 -0
- package/design-md/posthog/DESIGN.md +256 -0
- package/design-md/posthog/README.md +23 -0
- package/design-md/posthog/preview-dark.html +701 -0
- package/design-md/posthog/preview.html +751 -0
- package/design-md/raycast/DESIGN.md +268 -0
- package/design-md/raycast/README.md +23 -0
- package/design-md/raycast/preview-dark.html +608 -0
- package/design-md/raycast/preview.html +690 -0
- package/design-md/replicate/DESIGN.md +261 -0
- package/design-md/replicate/README.md +24 -0
- package/design-md/replicate/preview-dark.html +828 -0
- package/design-md/replicate/preview.html +831 -0
- package/design-md/resend/DESIGN.md +303 -0
- package/design-md/resend/README.md +23 -0
- package/design-md/resend/preview-dark.html +357 -0
- package/design-md/resend/preview.html +356 -0
- package/design-md/revolut/DESIGN.md +185 -0
- package/design-md/revolut/README.md +23 -0
- package/design-md/revolut/preview-dark.html +234 -0
- package/design-md/revolut/preview.html +233 -0
- package/design-md/runwayml/DESIGN.md +244 -0
- package/design-md/runwayml/README.md +24 -0
- package/design-md/runwayml/preview-dark.html +664 -0
- package/design-md/runwayml/preview.html +665 -0
- package/design-md/sanity/DESIGN.md +357 -0
- package/design-md/sanity/README.md +24 -0
- package/design-md/sanity/preview-dark.html +995 -0
- package/design-md/sanity/preview.html +1140 -0
- package/design-md/sentry/DESIGN.md +262 -0
- package/design-md/sentry/README.md +24 -0
- package/design-md/sentry/preview-dark.html +628 -0
- package/design-md/sentry/preview.html +953 -0
- package/design-md/spacex/DESIGN.md +194 -0
- package/design-md/spacex/README.md +23 -0
- package/design-md/spacex/preview-dark.html +223 -0
- package/design-md/spacex/preview.html +222 -0
- package/design-md/spotify/DESIGN.md +246 -0
- package/design-md/spotify/README.md +23 -0
- package/design-md/spotify/preview-dark.html +231 -0
- package/design-md/spotify/preview.html +230 -0
- package/design-md/stripe/DESIGN.md +322 -0
- package/design-md/stripe/README.md +24 -0
- package/design-md/stripe/preview-dark.html +430 -0
- package/design-md/stripe/preview.html +421 -0
- package/design-md/supabase/DESIGN.md +255 -0
- package/design-md/supabase/README.md +24 -0
- package/design-md/supabase/preview-dark.html +977 -0
- package/design-md/supabase/preview.html +955 -0
- package/design-md/superhuman/DESIGN.md +252 -0
- package/design-md/superhuman/README.md +23 -0
- package/design-md/superhuman/preview-dark.html +975 -0
- package/design-md/superhuman/preview.html +953 -0
- package/design-md/together.ai/DESIGN.md +263 -0
- package/design-md/together.ai/README.md +24 -0
- package/design-md/together.ai/preview-dark.html +892 -0
- package/design-md/together.ai/preview.html +897 -0
- package/design-md/uber/DESIGN.md +295 -0
- package/design-md/uber/README.md +24 -0
- package/design-md/uber/preview-dark.html +1164 -0
- package/design-md/uber/preview.html +1163 -0
- package/design-md/vercel/DESIGN.md +310 -0
- package/design-md/vercel/README.md +24 -0
- package/design-md/vercel/preview-dark.html +370 -0
- package/design-md/vercel/preview.html +369 -0
- package/design-md/voltagent/DESIGN.md +323 -0
- package/design-md/voltagent/README.md +24 -0
- package/design-md/voltagent/preview-dark.html +487 -0
- package/design-md/voltagent/preview.html +766 -0
- package/design-md/warp/DESIGN.md +253 -0
- package/design-md/warp/README.md +23 -0
- package/design-md/warp/preview-dark.html +502 -0
- package/design-md/warp/preview.html +535 -0
- package/design-md/webflow/DESIGN.md +92 -0
- package/design-md/webflow/README.md +23 -0
- package/design-md/webflow/preview-dark.html +147 -0
- package/design-md/webflow/preview.html +146 -0
- package/design-md/wise/DESIGN.md +173 -0
- package/design-md/wise/README.md +23 -0
- package/design-md/wise/preview-dark.html +230 -0
- package/design-md/wise/preview.html +229 -0
- package/design-md/x.ai/DESIGN.md +257 -0
- package/design-md/x.ai/README.md +24 -0
- package/design-md/x.ai/preview-dark.html +358 -0
- package/design-md/x.ai/preview.html +409 -0
- package/design-md/zapier/DESIGN.md +328 -0
- package/design-md/zapier/README.md +24 -0
- package/design-md/zapier/preview-dark.html +382 -0
- package/design-md/zapier/preview.html +374 -0
- package/package.json +33 -0
|
@@ -0,0 +1,841 @@
|
|
|
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 Preview: Figma (Light)</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=Space+Mono:wght@400;700&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--color-black: #000000;
|
|
13
|
+
--color-white: #ffffff;
|
|
14
|
+
--glass-dark: rgba(0, 0, 0, 0.08);
|
|
15
|
+
--glass-light: rgba(255, 255, 255, 0.16);
|
|
16
|
+
--font-sans: system-ui, -apple-system, 'Segoe UI', 'SF Pro Display', Helvetica, Arial, sans-serif;
|
|
17
|
+
--font-mono: 'Space Mono', 'SF Mono', Menlo, monospace;
|
|
18
|
+
/* Light mode tokens */
|
|
19
|
+
--bg-page: #ffffff;
|
|
20
|
+
--bg-card: #ffffff;
|
|
21
|
+
--bg-nav: rgba(255, 255, 255, 0.92);
|
|
22
|
+
--text-primary: #000000;
|
|
23
|
+
--text-secondary: #000000;
|
|
24
|
+
--text-muted: rgba(0, 0, 0, 0.5);
|
|
25
|
+
--border-color: rgba(0, 0, 0, 0.12);
|
|
26
|
+
--border-subtle: rgba(0, 0, 0, 0.06);
|
|
27
|
+
--section-label-color: #000000;
|
|
28
|
+
--glass-surface: rgba(0, 0, 0, 0.08);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
32
|
+
|
|
33
|
+
body {
|
|
34
|
+
background: var(--bg-page);
|
|
35
|
+
color: var(--text-primary);
|
|
36
|
+
font-family: var(--font-sans);
|
|
37
|
+
font-size: 16px;
|
|
38
|
+
font-weight: 340;
|
|
39
|
+
line-height: 1.45;
|
|
40
|
+
letter-spacing: -0.14px;
|
|
41
|
+
font-feature-settings: "kern" 1;
|
|
42
|
+
-webkit-font-smoothing: antialiased;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* NAV */
|
|
46
|
+
.nav {
|
|
47
|
+
position: sticky;
|
|
48
|
+
top: 0;
|
|
49
|
+
z-index: 100;
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: space-between;
|
|
53
|
+
padding: 16px 40px;
|
|
54
|
+
background: var(--bg-nav);
|
|
55
|
+
backdrop-filter: blur(16px);
|
|
56
|
+
border-bottom: 1px solid var(--border-color);
|
|
57
|
+
}
|
|
58
|
+
.nav-brand {
|
|
59
|
+
font-family: var(--font-sans);
|
|
60
|
+
font-size: 18px;
|
|
61
|
+
font-weight: 700;
|
|
62
|
+
letter-spacing: -0.26px;
|
|
63
|
+
display: flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
gap: 10px;
|
|
66
|
+
}
|
|
67
|
+
.nav-brand svg { width: 24px; height: 24px; }
|
|
68
|
+
.nav-links { display: flex; gap: 32px; align-items: center; }
|
|
69
|
+
.nav-links a {
|
|
70
|
+
color: var(--text-primary);
|
|
71
|
+
text-decoration: none;
|
|
72
|
+
font-size: 16px;
|
|
73
|
+
font-weight: 400;
|
|
74
|
+
letter-spacing: -0.14px;
|
|
75
|
+
transition: opacity 0.2s;
|
|
76
|
+
}
|
|
77
|
+
.nav-links a:hover { opacity: 0.6; }
|
|
78
|
+
.nav-cta {
|
|
79
|
+
background: var(--color-black);
|
|
80
|
+
color: var(--color-white);
|
|
81
|
+
padding: 8px 18px 10px;
|
|
82
|
+
border: none;
|
|
83
|
+
border-radius: 50px;
|
|
84
|
+
font-size: 16px;
|
|
85
|
+
font-family: var(--font-sans);
|
|
86
|
+
font-weight: 480;
|
|
87
|
+
letter-spacing: -0.14px;
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
}
|
|
90
|
+
.nav-cta:focus { outline: 2px dashed var(--color-black); outline-offset: 3px; }
|
|
91
|
+
|
|
92
|
+
/* HERO */
|
|
93
|
+
.hero {
|
|
94
|
+
position: relative;
|
|
95
|
+
text-align: center;
|
|
96
|
+
padding: 120px 40px 100px;
|
|
97
|
+
overflow: hidden;
|
|
98
|
+
background: linear-gradient(135deg, #0acf83 0%, #a259ff 30%, #f24e1e 50%, #ff7262 65%, #1abcfe 80%, #0acf83 100%);
|
|
99
|
+
}
|
|
100
|
+
.hero h1 {
|
|
101
|
+
font-family: var(--font-sans);
|
|
102
|
+
font-size: 86px;
|
|
103
|
+
font-weight: 400;
|
|
104
|
+
line-height: 1.0;
|
|
105
|
+
letter-spacing: -1.72px;
|
|
106
|
+
margin-bottom: 24px;
|
|
107
|
+
color: var(--color-white);
|
|
108
|
+
position: relative;
|
|
109
|
+
}
|
|
110
|
+
.hero p {
|
|
111
|
+
color: rgba(255, 255, 255, 0.85);
|
|
112
|
+
font-size: 20px;
|
|
113
|
+
font-weight: 330;
|
|
114
|
+
line-height: 1.4;
|
|
115
|
+
letter-spacing: -0.14px;
|
|
116
|
+
margin-bottom: 40px;
|
|
117
|
+
position: relative;
|
|
118
|
+
}
|
|
119
|
+
.hero-buttons { display: flex; gap: 16px; justify-content: center; position: relative; }
|
|
120
|
+
.btn-hero-primary {
|
|
121
|
+
background: var(--color-white);
|
|
122
|
+
color: var(--color-black);
|
|
123
|
+
padding: 8px 18px 10px;
|
|
124
|
+
border: none;
|
|
125
|
+
border-radius: 50px;
|
|
126
|
+
font-size: 16px;
|
|
127
|
+
font-family: var(--font-sans);
|
|
128
|
+
font-weight: 480;
|
|
129
|
+
letter-spacing: -0.14px;
|
|
130
|
+
cursor: pointer;
|
|
131
|
+
}
|
|
132
|
+
.btn-hero-primary:focus { outline: 2px dashed var(--color-white); outline-offset: 3px; }
|
|
133
|
+
.btn-hero-glass {
|
|
134
|
+
background: rgba(255, 255, 255, 0.16);
|
|
135
|
+
color: var(--color-white);
|
|
136
|
+
padding: 8px 18px 10px;
|
|
137
|
+
border: none;
|
|
138
|
+
border-radius: 50px;
|
|
139
|
+
font-size: 16px;
|
|
140
|
+
font-family: var(--font-sans);
|
|
141
|
+
font-weight: 480;
|
|
142
|
+
letter-spacing: -0.14px;
|
|
143
|
+
cursor: pointer;
|
|
144
|
+
backdrop-filter: blur(8px);
|
|
145
|
+
}
|
|
146
|
+
.btn-hero-glass:focus { outline: 2px dashed var(--color-white); outline-offset: 3px; }
|
|
147
|
+
|
|
148
|
+
/* PRODUCT TABS */
|
|
149
|
+
.product-tabs {
|
|
150
|
+
display: flex;
|
|
151
|
+
gap: 8px;
|
|
152
|
+
justify-content: center;
|
|
153
|
+
margin-bottom: 40px;
|
|
154
|
+
position: relative;
|
|
155
|
+
}
|
|
156
|
+
.product-tab {
|
|
157
|
+
background: rgba(255, 255, 255, 0.16);
|
|
158
|
+
color: var(--color-white);
|
|
159
|
+
padding: 8px 18px;
|
|
160
|
+
border: none;
|
|
161
|
+
border-radius: 50px;
|
|
162
|
+
font-size: 16px;
|
|
163
|
+
font-family: var(--font-sans);
|
|
164
|
+
font-weight: 480;
|
|
165
|
+
letter-spacing: -0.14px;
|
|
166
|
+
cursor: pointer;
|
|
167
|
+
backdrop-filter: blur(8px);
|
|
168
|
+
transition: background 0.2s;
|
|
169
|
+
}
|
|
170
|
+
.product-tab.active {
|
|
171
|
+
background: var(--color-white);
|
|
172
|
+
color: var(--color-black);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* SECTIONS */
|
|
176
|
+
.section {
|
|
177
|
+
max-width: 1200px;
|
|
178
|
+
margin: 0 auto;
|
|
179
|
+
padding: 80px 40px;
|
|
180
|
+
}
|
|
181
|
+
.section-title {
|
|
182
|
+
font-family: var(--font-mono);
|
|
183
|
+
font-size: 18px;
|
|
184
|
+
font-weight: 400;
|
|
185
|
+
text-transform: uppercase;
|
|
186
|
+
letter-spacing: 0.54px;
|
|
187
|
+
color: var(--text-muted);
|
|
188
|
+
margin-bottom: 12px;
|
|
189
|
+
line-height: 1.3;
|
|
190
|
+
}
|
|
191
|
+
.section-heading {
|
|
192
|
+
font-family: var(--font-sans);
|
|
193
|
+
font-size: 64px;
|
|
194
|
+
font-weight: 400;
|
|
195
|
+
line-height: 1.1;
|
|
196
|
+
letter-spacing: -0.96px;
|
|
197
|
+
margin-bottom: 48px;
|
|
198
|
+
}
|
|
199
|
+
.section-divider {
|
|
200
|
+
border: none;
|
|
201
|
+
border-top: 1px solid var(--border-subtle);
|
|
202
|
+
margin: 0 40px;
|
|
203
|
+
max-width: 1200px;
|
|
204
|
+
margin-left: auto;
|
|
205
|
+
margin-right: auto;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* COLOR PALETTE */
|
|
209
|
+
.color-group { margin-bottom: 40px; }
|
|
210
|
+
.color-group-title {
|
|
211
|
+
font-size: 26px;
|
|
212
|
+
font-weight: 540;
|
|
213
|
+
line-height: 1.35;
|
|
214
|
+
letter-spacing: -0.26px;
|
|
215
|
+
margin-bottom: 20px;
|
|
216
|
+
}
|
|
217
|
+
.color-grid {
|
|
218
|
+
display: grid;
|
|
219
|
+
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
220
|
+
gap: 16px;
|
|
221
|
+
}
|
|
222
|
+
.color-swatch {
|
|
223
|
+
border: 1px solid var(--border-color);
|
|
224
|
+
border-radius: 8px;
|
|
225
|
+
overflow: hidden;
|
|
226
|
+
}
|
|
227
|
+
.color-swatch-block {
|
|
228
|
+
height: 80px;
|
|
229
|
+
position: relative;
|
|
230
|
+
}
|
|
231
|
+
.color-swatch-info {
|
|
232
|
+
padding: 12px;
|
|
233
|
+
background: var(--bg-card);
|
|
234
|
+
}
|
|
235
|
+
.color-swatch-name { font-size: 14px; font-weight: 700; letter-spacing: -0.14px; margin-bottom: 2px; }
|
|
236
|
+
.color-swatch-hex { font-family: var(--font-mono); font-size: 12px; color: var(--text-muted); margin-bottom: 4px; letter-spacing: 0.6px; }
|
|
237
|
+
.color-swatch-role { font-size: 12px; color: var(--text-muted); line-height: 1.4; font-weight: 340; }
|
|
238
|
+
|
|
239
|
+
/* GRADIENT PREVIEW */
|
|
240
|
+
.gradient-preview {
|
|
241
|
+
border-radius: 8px;
|
|
242
|
+
overflow: hidden;
|
|
243
|
+
margin-bottom: 16px;
|
|
244
|
+
}
|
|
245
|
+
.gradient-block {
|
|
246
|
+
height: 120px;
|
|
247
|
+
border-radius: 8px;
|
|
248
|
+
}
|
|
249
|
+
.gradient-label {
|
|
250
|
+
font-family: var(--font-mono);
|
|
251
|
+
font-size: 12px;
|
|
252
|
+
color: var(--text-muted);
|
|
253
|
+
margin-top: 8px;
|
|
254
|
+
letter-spacing: 0.6px;
|
|
255
|
+
text-transform: uppercase;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/* TYPOGRAPHY */
|
|
259
|
+
.type-sample { margin-bottom: 32px; padding-bottom: 32px; border-bottom: 1px solid var(--border-subtle); }
|
|
260
|
+
.type-sample:last-child { border-bottom: none; }
|
|
261
|
+
.type-sample-text { margin-bottom: 8px; font-feature-settings: "kern" 1; }
|
|
262
|
+
.type-sample-label {
|
|
263
|
+
font-family: var(--font-mono);
|
|
264
|
+
font-size: 12px;
|
|
265
|
+
color: var(--text-muted);
|
|
266
|
+
letter-spacing: 0.6px;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/* WEIGHT SPECTRUM */
|
|
270
|
+
.weight-spectrum { display: flex; flex-direction: column; gap: 12px; margin-bottom: 40px; padding: 24px; background: var(--glass-surface); border-radius: 8px; }
|
|
271
|
+
.weight-sample { display: flex; align-items: baseline; gap: 16px; }
|
|
272
|
+
.weight-sample-text { font-family: var(--font-sans); font-size: 24px; letter-spacing: -0.26px; line-height: 1.35; flex: 1; }
|
|
273
|
+
.weight-sample-label { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); letter-spacing: 0.6px; text-transform: uppercase; min-width: 80px; text-align: right; }
|
|
274
|
+
|
|
275
|
+
/* BUTTONS */
|
|
276
|
+
.button-row {
|
|
277
|
+
display: flex;
|
|
278
|
+
flex-wrap: wrap;
|
|
279
|
+
gap: 24px;
|
|
280
|
+
align-items: flex-start;
|
|
281
|
+
}
|
|
282
|
+
.button-demo { text-align: center; }
|
|
283
|
+
.button-demo-label {
|
|
284
|
+
font-family: var(--font-mono);
|
|
285
|
+
font-size: 11px;
|
|
286
|
+
color: var(--text-muted);
|
|
287
|
+
margin-top: 12px;
|
|
288
|
+
text-transform: uppercase;
|
|
289
|
+
letter-spacing: 0.6px;
|
|
290
|
+
}
|
|
291
|
+
.btn-black-pill {
|
|
292
|
+
background: var(--color-black);
|
|
293
|
+
color: var(--color-white);
|
|
294
|
+
padding: 8px 18px 10px;
|
|
295
|
+
border: none;
|
|
296
|
+
border-radius: 50px;
|
|
297
|
+
font-size: 16px;
|
|
298
|
+
font-family: var(--font-sans);
|
|
299
|
+
font-weight: 480;
|
|
300
|
+
letter-spacing: -0.14px;
|
|
301
|
+
cursor: pointer;
|
|
302
|
+
}
|
|
303
|
+
.btn-black-pill:focus { outline: 2px dashed var(--color-black); outline-offset: 3px; }
|
|
304
|
+
.btn-white-pill {
|
|
305
|
+
background: var(--color-white);
|
|
306
|
+
color: var(--color-black);
|
|
307
|
+
padding: 8px 18px 10px;
|
|
308
|
+
border: 1px solid var(--border-color);
|
|
309
|
+
border-radius: 50px;
|
|
310
|
+
font-size: 16px;
|
|
311
|
+
font-family: var(--font-sans);
|
|
312
|
+
font-weight: 480;
|
|
313
|
+
letter-spacing: -0.14px;
|
|
314
|
+
cursor: pointer;
|
|
315
|
+
}
|
|
316
|
+
.btn-white-pill:focus { outline: 2px dashed var(--color-black); outline-offset: 3px; }
|
|
317
|
+
.btn-black-circle {
|
|
318
|
+
background: var(--color-black);
|
|
319
|
+
color: var(--color-white);
|
|
320
|
+
width: 48px;
|
|
321
|
+
height: 48px;
|
|
322
|
+
border: none;
|
|
323
|
+
border-radius: 50%;
|
|
324
|
+
font-size: 20px;
|
|
325
|
+
cursor: pointer;
|
|
326
|
+
display: inline-flex;
|
|
327
|
+
align-items: center;
|
|
328
|
+
justify-content: center;
|
|
329
|
+
}
|
|
330
|
+
.btn-black-circle:focus { outline: 2px dashed var(--color-black); outline-offset: 3px; }
|
|
331
|
+
.btn-glass-dark {
|
|
332
|
+
background: var(--glass-dark);
|
|
333
|
+
color: var(--color-black);
|
|
334
|
+
width: 48px;
|
|
335
|
+
height: 48px;
|
|
336
|
+
border: none;
|
|
337
|
+
border-radius: 50%;
|
|
338
|
+
font-size: 20px;
|
|
339
|
+
cursor: pointer;
|
|
340
|
+
display: inline-flex;
|
|
341
|
+
align-items: center;
|
|
342
|
+
justify-content: center;
|
|
343
|
+
}
|
|
344
|
+
.btn-glass-dark:focus { outline: 2px dashed var(--color-black); outline-offset: 3px; }
|
|
345
|
+
.btn-glass-light-demo {
|
|
346
|
+
background: rgba(255, 255, 255, 0.16);
|
|
347
|
+
color: var(--color-white);
|
|
348
|
+
width: 48px;
|
|
349
|
+
height: 48px;
|
|
350
|
+
border: none;
|
|
351
|
+
border-radius: 50%;
|
|
352
|
+
font-size: 20px;
|
|
353
|
+
cursor: pointer;
|
|
354
|
+
display: inline-flex;
|
|
355
|
+
align-items: center;
|
|
356
|
+
justify-content: center;
|
|
357
|
+
}
|
|
358
|
+
.glass-light-wrapper {
|
|
359
|
+
background: var(--color-black);
|
|
360
|
+
border-radius: 50%;
|
|
361
|
+
padding: 0;
|
|
362
|
+
display: inline-flex;
|
|
363
|
+
align-items: center;
|
|
364
|
+
justify-content: center;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/* FOCUS DEMO */
|
|
368
|
+
.focus-demo-row {
|
|
369
|
+
display: flex;
|
|
370
|
+
flex-wrap: wrap;
|
|
371
|
+
gap: 24px;
|
|
372
|
+
align-items: center;
|
|
373
|
+
margin-top: 40px;
|
|
374
|
+
padding: 24px;
|
|
375
|
+
background: var(--glass-surface);
|
|
376
|
+
border-radius: 8px;
|
|
377
|
+
}
|
|
378
|
+
.focus-demo-label {
|
|
379
|
+
font-family: var(--font-mono);
|
|
380
|
+
font-size: 12px;
|
|
381
|
+
color: var(--text-muted);
|
|
382
|
+
letter-spacing: 0.6px;
|
|
383
|
+
text-transform: uppercase;
|
|
384
|
+
margin-bottom: 8px;
|
|
385
|
+
}
|
|
386
|
+
.btn-focus-visible {
|
|
387
|
+
outline: 2px dashed var(--color-black);
|
|
388
|
+
outline-offset: 3px;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/* CARDS */
|
|
392
|
+
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
|
|
393
|
+
.card {
|
|
394
|
+
background: var(--bg-card);
|
|
395
|
+
border-radius: 8px;
|
|
396
|
+
padding: 28px;
|
|
397
|
+
}
|
|
398
|
+
.card-standard { border: 1px solid var(--border-color); }
|
|
399
|
+
.card-elevated {
|
|
400
|
+
border: none;
|
|
401
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
|
|
402
|
+
}
|
|
403
|
+
.card-glass {
|
|
404
|
+
background: var(--glass-surface);
|
|
405
|
+
border: none;
|
|
406
|
+
}
|
|
407
|
+
.card h3 {
|
|
408
|
+
font-family: var(--font-sans);
|
|
409
|
+
font-size: 24px;
|
|
410
|
+
font-weight: 700;
|
|
411
|
+
line-height: 1.45;
|
|
412
|
+
letter-spacing: normal;
|
|
413
|
+
margin-bottom: 12px;
|
|
414
|
+
}
|
|
415
|
+
.card p { color: var(--text-muted); font-size: 16px; line-height: 1.45; font-weight: 330; letter-spacing: -0.14px; }
|
|
416
|
+
.card-label {
|
|
417
|
+
font-family: var(--font-mono);
|
|
418
|
+
font-size: 12px;
|
|
419
|
+
text-transform: uppercase;
|
|
420
|
+
letter-spacing: 0.6px;
|
|
421
|
+
color: var(--text-muted);
|
|
422
|
+
margin-bottom: 16px;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/* SPACING */
|
|
426
|
+
.spacing-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
|
|
427
|
+
.spacing-item { text-align: center; }
|
|
428
|
+
.spacing-box {
|
|
429
|
+
background: rgba(0, 0, 0, 0.06);
|
|
430
|
+
border: 1px solid rgba(0, 0, 0, 0.12);
|
|
431
|
+
border-radius: 2px;
|
|
432
|
+
margin-bottom: 8px;
|
|
433
|
+
}
|
|
434
|
+
.spacing-label {
|
|
435
|
+
font-family: var(--font-mono);
|
|
436
|
+
font-size: 11px;
|
|
437
|
+
color: var(--text-muted);
|
|
438
|
+
letter-spacing: 0.6px;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
/* RADIUS */
|
|
442
|
+
.radius-row { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
|
|
443
|
+
.radius-item { text-align: center; }
|
|
444
|
+
.radius-box {
|
|
445
|
+
width: 80px;
|
|
446
|
+
height: 80px;
|
|
447
|
+
background: var(--glass-surface);
|
|
448
|
+
border: 1px solid var(--border-color);
|
|
449
|
+
margin-bottom: 8px;
|
|
450
|
+
}
|
|
451
|
+
.radius-label {
|
|
452
|
+
font-family: var(--font-mono);
|
|
453
|
+
font-size: 11px;
|
|
454
|
+
color: var(--text-muted);
|
|
455
|
+
letter-spacing: 0.6px;
|
|
456
|
+
}
|
|
457
|
+
.radius-context {
|
|
458
|
+
font-size: 11px;
|
|
459
|
+
color: var(--text-muted);
|
|
460
|
+
margin-top: 2px;
|
|
461
|
+
font-weight: 340;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/* ELEVATION */
|
|
465
|
+
.elevation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
|
|
466
|
+
.elevation-card {
|
|
467
|
+
background: var(--bg-card);
|
|
468
|
+
border-radius: 8px;
|
|
469
|
+
padding: 24px;
|
|
470
|
+
min-height: 140px;
|
|
471
|
+
display: flex;
|
|
472
|
+
flex-direction: column;
|
|
473
|
+
justify-content: space-between;
|
|
474
|
+
}
|
|
475
|
+
.elevation-flat { border: none; background: var(--bg-page); }
|
|
476
|
+
.elevation-surface { background: var(--bg-card); border: 1px solid var(--border-color); }
|
|
477
|
+
.elevation-elevated { border: none; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08); }
|
|
478
|
+
.elevation-name { font-size: 16px; font-weight: 700; margin-bottom: 8px; letter-spacing: normal; }
|
|
479
|
+
.elevation-desc { font-size: 13px; color: var(--text-muted); line-height: 1.5; font-weight: 340; }
|
|
480
|
+
.elevation-level {
|
|
481
|
+
font-family: var(--font-mono);
|
|
482
|
+
font-size: 11px;
|
|
483
|
+
color: var(--text-muted);
|
|
484
|
+
text-transform: uppercase;
|
|
485
|
+
letter-spacing: 0.6px;
|
|
486
|
+
margin-top: 12px;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
/* RESPONSIVE */
|
|
490
|
+
@media (max-width: 768px) {
|
|
491
|
+
.nav { padding: 12px 20px; }
|
|
492
|
+
.nav-links a:not(.nav-cta-wrapper) { display: none; }
|
|
493
|
+
.hero { padding: 80px 20px 60px; }
|
|
494
|
+
.hero h1 { font-size: 48px; letter-spacing: -0.96px; }
|
|
495
|
+
.section { padding: 60px 20px; }
|
|
496
|
+
.section-heading { font-size: 36px; letter-spacing: -0.72px; }
|
|
497
|
+
.color-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
|
|
498
|
+
.card-grid { grid-template-columns: 1fr; }
|
|
499
|
+
.hero-buttons { flex-direction: column; align-items: center; }
|
|
500
|
+
.button-row { flex-direction: column; align-items: flex-start; }
|
|
501
|
+
.product-tabs { flex-wrap: wrap; }
|
|
502
|
+
}
|
|
503
|
+
</style>
|
|
504
|
+
</head>
|
|
505
|
+
<body>
|
|
506
|
+
|
|
507
|
+
<!-- NAV -->
|
|
508
|
+
<nav class="nav">
|
|
509
|
+
<div class="nav-brand">
|
|
510
|
+
<svg viewBox="0 0 38 57" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
511
|
+
<path d="M19 28.5C19 23.2533 23.2533 19 28.5 19C33.7467 19 38 23.2533 38 28.5C38 33.7467 33.7467 38 28.5 38C23.2533 38 19 33.7467 19 28.5Z" fill="#1ABCFE"/>
|
|
512
|
+
<path d="M0 47.5C0 42.2533 4.25329 38 9.5 38H19V47.5C19 52.7467 14.7467 57 9.5 57C4.25329 57 0 52.7467 0 47.5Z" fill="#0ACF83"/>
|
|
513
|
+
<path d="M19 0V19H28.5C33.7467 19 38 14.7467 38 9.5C38 4.25329 33.7467 0 28.5 0H19Z" fill="#FF7262"/>
|
|
514
|
+
<path d="M0 9.5C0 14.7467 4.25329 19 9.5 19H19V0H9.5C4.25329 0 0 4.25329 0 9.5Z" fill="#F24E1E"/>
|
|
515
|
+
<path d="M0 28.5C0 33.7467 4.25329 38 9.5 38H19V19H9.5C4.25329 19 0 23.2533 0 28.5Z" fill="#A259FF"/>
|
|
516
|
+
</svg>
|
|
517
|
+
Figma
|
|
518
|
+
</div>
|
|
519
|
+
<div class="nav-links">
|
|
520
|
+
<a href="#colors">Colors</a>
|
|
521
|
+
<a href="#typography">Typography</a>
|
|
522
|
+
<a href="#buttons">Buttons</a>
|
|
523
|
+
<a href="#cards">Cards</a>
|
|
524
|
+
<a href="#spacing">Spacing</a>
|
|
525
|
+
<a href="#elevation">Elevation</a>
|
|
526
|
+
<button class="nav-cta">Get started</button>
|
|
527
|
+
</div>
|
|
528
|
+
</nav>
|
|
529
|
+
|
|
530
|
+
<!-- HERO -->
|
|
531
|
+
<section class="hero">
|
|
532
|
+
<div class="product-tabs">
|
|
533
|
+
<button class="product-tab active">Design</button>
|
|
534
|
+
<button class="product-tab">Dev Mode</button>
|
|
535
|
+
<button class="product-tab">Prototyping</button>
|
|
536
|
+
<button class="product-tab">Slides</button>
|
|
537
|
+
</div>
|
|
538
|
+
<h1>Design System Preview:<br>Figma</h1>
|
|
539
|
+
<p>Auto-generated design token catalog from DESIGN.md</p>
|
|
540
|
+
<div class="hero-buttons">
|
|
541
|
+
<button class="btn-hero-primary">Explore Tokens</button>
|
|
542
|
+
<button class="btn-hero-glass">View Source</button>
|
|
543
|
+
</div>
|
|
544
|
+
</section>
|
|
545
|
+
|
|
546
|
+
<hr class="section-divider">
|
|
547
|
+
|
|
548
|
+
<!-- COLORS -->
|
|
549
|
+
<section class="section" id="colors">
|
|
550
|
+
<div class="section-title">01 / COLOR PALETTE</div>
|
|
551
|
+
<h2 class="section-heading">Color Palette & Roles</h2>
|
|
552
|
+
|
|
553
|
+
<div class="color-group">
|
|
554
|
+
<h3 class="color-group-title">Primary</h3>
|
|
555
|
+
<div class="color-grid">
|
|
556
|
+
<div class="color-swatch">
|
|
557
|
+
<div class="color-swatch-block" style="background: #000000;"></div>
|
|
558
|
+
<div class="color-swatch-info">
|
|
559
|
+
<div class="color-swatch-name">Pure Black</div>
|
|
560
|
+
<div class="color-swatch-hex">#000000</div>
|
|
561
|
+
<div class="color-swatch-role">All text, solid buttons, all borders. The sole interface color.</div>
|
|
562
|
+
</div>
|
|
563
|
+
</div>
|
|
564
|
+
<div class="color-swatch">
|
|
565
|
+
<div class="color-swatch-block" style="background: #ffffff; border: 1px solid rgba(0,0,0,0.12);"></div>
|
|
566
|
+
<div class="color-swatch-info">
|
|
567
|
+
<div class="color-swatch-name">Pure White</div>
|
|
568
|
+
<div class="color-swatch-hex">#ffffff</div>
|
|
569
|
+
<div class="color-swatch-role">All backgrounds, white buttons, text on dark surfaces.</div>
|
|
570
|
+
</div>
|
|
571
|
+
</div>
|
|
572
|
+
</div>
|
|
573
|
+
</div>
|
|
574
|
+
|
|
575
|
+
<div class="color-group">
|
|
576
|
+
<h3 class="color-group-title">Surface & Glass</h3>
|
|
577
|
+
<div class="color-grid">
|
|
578
|
+
<div class="color-swatch">
|
|
579
|
+
<div class="color-swatch-block" style="background: rgba(0,0,0,0.08); border: 1px solid rgba(0,0,0,0.12);"></div>
|
|
580
|
+
<div class="color-swatch-info">
|
|
581
|
+
<div class="color-swatch-name">Glass Black</div>
|
|
582
|
+
<div class="color-swatch-hex">rgba(0,0,0,0.08)</div>
|
|
583
|
+
<div class="color-swatch-role">Secondary circular buttons, glass overlays on light surfaces.</div>
|
|
584
|
+
</div>
|
|
585
|
+
</div>
|
|
586
|
+
<div class="color-swatch">
|
|
587
|
+
<div class="color-swatch-block" style="background: rgba(255,255,255,0.16); border: 1px solid rgba(0,0,0,0.12); position: relative;">
|
|
588
|
+
<div style="position: absolute; inset: 0; background: #000; z-index: 0;"></div>
|
|
589
|
+
<div style="position: absolute; inset: 0; background: rgba(255,255,255,0.16); z-index: 1;"></div>
|
|
590
|
+
</div>
|
|
591
|
+
<div class="color-swatch-info">
|
|
592
|
+
<div class="color-swatch-name">Glass White</div>
|
|
593
|
+
<div class="color-swatch-hex">rgba(255,255,255,0.16)</div>
|
|
594
|
+
<div class="color-swatch-role">Frosted glass overlay for buttons on dark or colored surfaces.</div>
|
|
595
|
+
</div>
|
|
596
|
+
</div>
|
|
597
|
+
</div>
|
|
598
|
+
</div>
|
|
599
|
+
|
|
600
|
+
<div class="color-group">
|
|
601
|
+
<h3 class="color-group-title">Gradient System</h3>
|
|
602
|
+
<div class="gradient-preview">
|
|
603
|
+
<div class="gradient-block" style="background: linear-gradient(135deg, #0acf83 0%, #a259ff 30%, #f24e1e 50%, #ff7262 65%, #1abcfe 80%, #0acf83 100%);"></div>
|
|
604
|
+
</div>
|
|
605
|
+
<div class="gradient-label">Hero Gradient -- Electric Green, Purple, Orange, Pink, Cyan</div>
|
|
606
|
+
<p style="color: var(--text-muted); font-size: 14px; margin-top: 8px; font-weight: 340;">Color exists only in hero gradients and product showcases. The interface layer remains strictly monochrome.</p>
|
|
607
|
+
</div>
|
|
608
|
+
</section>
|
|
609
|
+
|
|
610
|
+
<hr class="section-divider">
|
|
611
|
+
|
|
612
|
+
<!-- TYPOGRAPHY -->
|
|
613
|
+
<section class="section" id="typography">
|
|
614
|
+
<div class="section-title">02 / TYPOGRAPHY SCALE</div>
|
|
615
|
+
<h2 class="section-heading">Typography Rules</h2>
|
|
616
|
+
|
|
617
|
+
<div class="weight-spectrum">
|
|
618
|
+
<div style="font-family: var(--font-mono); font-size: 12px; color: var(--text-muted); letter-spacing: 0.6px; text-transform: uppercase; margin-bottom: 8px;">Variable Weight Spectrum</div>
|
|
619
|
+
<div class="weight-sample">
|
|
620
|
+
<span class="weight-sample-text" style="font-weight: 320;">The quick brown fox jumps</span>
|
|
621
|
+
<span class="weight-sample-label">Weight 320</span>
|
|
622
|
+
</div>
|
|
623
|
+
<div class="weight-sample">
|
|
624
|
+
<span class="weight-sample-text" style="font-weight: 330;">The quick brown fox jumps</span>
|
|
625
|
+
<span class="weight-sample-label">Weight 330</span>
|
|
626
|
+
</div>
|
|
627
|
+
<div class="weight-sample">
|
|
628
|
+
<span class="weight-sample-text" style="font-weight: 340;">The quick brown fox jumps</span>
|
|
629
|
+
<span class="weight-sample-label">Weight 340</span>
|
|
630
|
+
</div>
|
|
631
|
+
<div class="weight-sample">
|
|
632
|
+
<span class="weight-sample-text" style="font-weight: 400;">The quick brown fox jumps</span>
|
|
633
|
+
<span class="weight-sample-label">Weight 400</span>
|
|
634
|
+
</div>
|
|
635
|
+
<div class="weight-sample">
|
|
636
|
+
<span class="weight-sample-text" style="font-weight: 450;">The quick brown fox jumps</span>
|
|
637
|
+
<span class="weight-sample-label">Weight 450</span>
|
|
638
|
+
</div>
|
|
639
|
+
<div class="weight-sample">
|
|
640
|
+
<span class="weight-sample-text" style="font-weight: 480;">The quick brown fox jumps</span>
|
|
641
|
+
<span class="weight-sample-label">Weight 480</span>
|
|
642
|
+
</div>
|
|
643
|
+
<div class="weight-sample">
|
|
644
|
+
<span class="weight-sample-text" style="font-weight: 540;">The quick brown fox jumps</span>
|
|
645
|
+
<span class="weight-sample-label">Weight 540</span>
|
|
646
|
+
</div>
|
|
647
|
+
<div class="weight-sample">
|
|
648
|
+
<span class="weight-sample-text" style="font-weight: 700;">The quick brown fox jumps</span>
|
|
649
|
+
<span class="weight-sample-label">Weight 700</span>
|
|
650
|
+
</div>
|
|
651
|
+
</div>
|
|
652
|
+
|
|
653
|
+
<div class="type-sample">
|
|
654
|
+
<div class="type-sample-text" style="font-family: var(--font-sans); font-size: 86px; font-weight: 400; line-height: 1.0; letter-spacing: -1.72px;">Display Hero</div>
|
|
655
|
+
<div class="type-sample-label">Display / Hero -- 86px / wt 400 / lh 1.00 / ls -1.72px -- figmaSans</div>
|
|
656
|
+
</div>
|
|
657
|
+
|
|
658
|
+
<div class="type-sample">
|
|
659
|
+
<div class="type-sample-text" style="font-family: var(--font-sans); font-size: 64px; font-weight: 400; line-height: 1.1; letter-spacing: -0.96px;">Section Heading</div>
|
|
660
|
+
<div class="type-sample-label">Section Heading -- 64px / wt 400 / lh 1.10 / ls -0.96px -- figmaSans</div>
|
|
661
|
+
</div>
|
|
662
|
+
|
|
663
|
+
<div class="type-sample">
|
|
664
|
+
<div class="type-sample-text" style="font-family: var(--font-sans); font-size: 26px; font-weight: 540; line-height: 1.35; letter-spacing: -0.26px;">Sub-heading Medium</div>
|
|
665
|
+
<div class="type-sample-label">Sub-heading -- 26px / wt 540 / lh 1.35 / ls -0.26px -- figmaSans</div>
|
|
666
|
+
</div>
|
|
667
|
+
|
|
668
|
+
<div class="type-sample">
|
|
669
|
+
<div class="type-sample-text" style="font-family: var(--font-sans); font-size: 26px; font-weight: 340; line-height: 1.35; letter-spacing: -0.26px;">Sub-heading Light</div>
|
|
670
|
+
<div class="type-sample-label">Sub-heading Light -- 26px / wt 340 / lh 1.35 / ls -0.26px -- figmaSans</div>
|
|
671
|
+
</div>
|
|
672
|
+
|
|
673
|
+
<div class="type-sample">
|
|
674
|
+
<div class="type-sample-text" style="font-family: var(--font-sans); font-size: 24px; font-weight: 700; line-height: 1.45; letter-spacing: normal;">Feature Title Bold</div>
|
|
675
|
+
<div class="type-sample-label">Feature Title -- 24px / wt 700 / lh 1.45 / ls normal -- figmaSans</div>
|
|
676
|
+
</div>
|
|
677
|
+
|
|
678
|
+
<div class="type-sample">
|
|
679
|
+
<div class="type-sample-text" style="font-family: var(--font-sans); font-size: 20px; font-weight: 330; line-height: 1.4; letter-spacing: -0.14px;">Body large text for descriptions and introductions. The light weight creates an airy, ethereal reading experience that matches the design-tool aesthetic.</div>
|
|
680
|
+
<div class="type-sample-label">Body Large -- 20px / wt 330 / lh 1.40 / ls -0.14px -- figmaSans</div>
|
|
681
|
+
</div>
|
|
682
|
+
|
|
683
|
+
<div class="type-sample">
|
|
684
|
+
<div class="type-sample-text" style="font-family: var(--font-sans); font-size: 18px; font-weight: 320; line-height: 1.45; letter-spacing: -0.26px;">Body light text at the lightest variable weight. Nearly imperceptible thinness for secondary content and delicate UI copy.</div>
|
|
685
|
+
<div class="type-sample-label">Body Light -- 18px / wt 320 / lh 1.45 / ls -0.26px -- figmaSans</div>
|
|
686
|
+
</div>
|
|
687
|
+
|
|
688
|
+
<div class="type-sample">
|
|
689
|
+
<div class="type-sample-text" style="font-family: var(--font-sans); font-size: 16px; font-weight: 400; line-height: 1.45; letter-spacing: -0.14px;">Standard body text for paragraphs, navigation links, and button labels. The default reading weight for all UI copy.</div>
|
|
690
|
+
<div class="type-sample-label">Body / Button -- 16px / wt 400 / lh 1.45 / ls -0.14px -- figmaSans</div>
|
|
691
|
+
</div>
|
|
692
|
+
|
|
693
|
+
<div class="type-sample">
|
|
694
|
+
<div class="type-sample-text" style="font-family: var(--font-mono); font-size: 18px; font-weight: 400; line-height: 1.3; letter-spacing: 0.54px; text-transform: uppercase;">MONO SECTION LABEL</div>
|
|
695
|
+
<div class="type-sample-label">Mono Label -- 18px / wt 400 / lh 1.30 / ls 0.54px / uppercase -- figmaMono</div>
|
|
696
|
+
</div>
|
|
697
|
+
|
|
698
|
+
<div class="type-sample">
|
|
699
|
+
<div class="type-sample-text" style="font-family: var(--font-mono); font-size: 12px; font-weight: 400; line-height: 1.0; letter-spacing: 0.6px; text-transform: uppercase;">MONO SMALL TAG</div>
|
|
700
|
+
<div class="type-sample-label">Mono Small -- 12px / wt 400 / lh 1.00 / ls 0.6px / uppercase -- figmaMono</div>
|
|
701
|
+
</div>
|
|
702
|
+
</section>
|
|
703
|
+
|
|
704
|
+
<hr class="section-divider">
|
|
705
|
+
|
|
706
|
+
<!-- BUTTONS -->
|
|
707
|
+
<section class="section" id="buttons">
|
|
708
|
+
<div class="section-title">03 / BUTTON VARIANTS</div>
|
|
709
|
+
<h2 class="section-heading">Buttons</h2>
|
|
710
|
+
|
|
711
|
+
<div class="button-row">
|
|
712
|
+
<div class="button-demo">
|
|
713
|
+
<button class="btn-black-pill">Get started</button>
|
|
714
|
+
<div class="button-demo-label">Black Pill CTA</div>
|
|
715
|
+
</div>
|
|
716
|
+
<div class="button-demo">
|
|
717
|
+
<button class="btn-white-pill">Learn more</button>
|
|
718
|
+
<div class="button-demo-label">White Pill</div>
|
|
719
|
+
</div>
|
|
720
|
+
<div class="button-demo">
|
|
721
|
+
<button class="btn-black-circle" aria-label="Menu">☰</button>
|
|
722
|
+
<div class="button-demo-label">Black Circle</div>
|
|
723
|
+
</div>
|
|
724
|
+
<div class="button-demo">
|
|
725
|
+
<button class="btn-glass-dark" aria-label="Play">▶</button>
|
|
726
|
+
<div class="button-demo-label">Glass Dark</div>
|
|
727
|
+
</div>
|
|
728
|
+
<div class="button-demo">
|
|
729
|
+
<div class="glass-light-wrapper">
|
|
730
|
+
<button class="btn-glass-light-demo" aria-label="Close">×</button>
|
|
731
|
+
</div>
|
|
732
|
+
<div class="button-demo-label">Glass Light</div>
|
|
733
|
+
</div>
|
|
734
|
+
</div>
|
|
735
|
+
|
|
736
|
+
<div class="focus-demo-row">
|
|
737
|
+
<div>
|
|
738
|
+
<div class="focus-demo-label">Dashed Focus Indicator</div>
|
|
739
|
+
<p style="font-size: 14px; color: var(--text-muted); font-weight: 340; margin-bottom: 16px;">All interactive elements use <code style="font-family: var(--font-mono); font-size: 12px; background: var(--glass-surface); padding: 2px 6px; border-radius: 4px;">dashed 2px</code> outline on focus, echoing the selection handles in the Figma editor.</p>
|
|
740
|
+
</div>
|
|
741
|
+
<div style="display: flex; gap: 16px; align-items: center;">
|
|
742
|
+
<button class="btn-black-pill btn-focus-visible">Focused Pill</button>
|
|
743
|
+
<button class="btn-black-circle btn-focus-visible" aria-label="Focused">✓</button>
|
|
744
|
+
</div>
|
|
745
|
+
</div>
|
|
746
|
+
</section>
|
|
747
|
+
|
|
748
|
+
<hr class="section-divider">
|
|
749
|
+
|
|
750
|
+
<!-- CARDS -->
|
|
751
|
+
<section class="section" id="cards">
|
|
752
|
+
<div class="section-title">04 / CARD EXAMPLES</div>
|
|
753
|
+
<h2 class="section-heading">Cards & Containers</h2>
|
|
754
|
+
|
|
755
|
+
<div class="card-grid">
|
|
756
|
+
<div class="card card-standard">
|
|
757
|
+
<div class="card-label">STANDARD CARD</div>
|
|
758
|
+
<h3>Minimal Border</h3>
|
|
759
|
+
<p>Standard content card with subtle border and 8px radius. The default container for features and content sections on the white gallery surface.</p>
|
|
760
|
+
</div>
|
|
761
|
+
<div class="card card-elevated">
|
|
762
|
+
<div class="card-label">ELEVATED CARD</div>
|
|
763
|
+
<h3>Subtle Shadow</h3>
|
|
764
|
+
<p>Floating card with subtle shadow elevation. Used for product showcases and hover states where the card lifts off the surface.</p>
|
|
765
|
+
</div>
|
|
766
|
+
<div class="card card-glass">
|
|
767
|
+
<div class="card-label">GLASS SURFACE</div>
|
|
768
|
+
<h3>Glass Overlay</h3>
|
|
769
|
+
<p>Glass-effect card using rgba(0,0,0,0.08) background. Secondary containers and grouped content areas with a translucent feel.</p>
|
|
770
|
+
</div>
|
|
771
|
+
</div>
|
|
772
|
+
</section>
|
|
773
|
+
|
|
774
|
+
<hr class="section-divider">
|
|
775
|
+
|
|
776
|
+
<!-- SPACING -->
|
|
777
|
+
<section class="section" id="spacing">
|
|
778
|
+
<div class="section-title">05 / SPACING SCALE</div>
|
|
779
|
+
<h2 class="section-heading">Spacing System</h2>
|
|
780
|
+
<p style="color: var(--text-muted); margin-bottom: 32px; font-weight: 340; font-size: 18px; letter-spacing: -0.26px;">Base unit: 8px. Scale from 1px to 50px.</p>
|
|
781
|
+
|
|
782
|
+
<div class="spacing-row">
|
|
783
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 4px; height: 4px;"></div><div class="spacing-label">1px</div></div>
|
|
784
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 8px; height: 8px;"></div><div class="spacing-label">2px</div></div>
|
|
785
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 16px; height: 16px;"></div><div class="spacing-label">4px</div></div>
|
|
786
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 32px; height: 32px;"></div><div class="spacing-label">8px</div></div>
|
|
787
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 40px; height: 40px;"></div><div class="spacing-label">10px</div></div>
|
|
788
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 48px; height: 48px;"></div><div class="spacing-label">12px</div></div>
|
|
789
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 64px; height: 64px;"></div><div class="spacing-label">16px</div></div>
|
|
790
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 72px; height: 72px;"></div><div class="spacing-label">18px</div></div>
|
|
791
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 96px; height: 96px;"></div><div class="spacing-label">24px</div></div>
|
|
792
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 128px; height: 128px;"></div><div class="spacing-label">32px</div></div>
|
|
793
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 160px; height: 160px;"></div><div class="spacing-label">40px</div></div>
|
|
794
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 192px; height: 192px;"></div><div class="spacing-label">48px</div></div>
|
|
795
|
+
<div class="spacing-item"><div class="spacing-box" style="width: 200px; height: 200px;"></div><div class="spacing-label">50px</div></div>
|
|
796
|
+
</div>
|
|
797
|
+
</section>
|
|
798
|
+
|
|
799
|
+
<hr class="section-divider">
|
|
800
|
+
|
|
801
|
+
<!-- BORDER RADIUS -->
|
|
802
|
+
<section class="section">
|
|
803
|
+
<div class="section-title">06 / BORDER RADIUS SCALE</div>
|
|
804
|
+
<h2 class="section-heading">Border Radius</h2>
|
|
805
|
+
|
|
806
|
+
<div class="radius-row">
|
|
807
|
+
<div class="radius-item"><div class="radius-box" style="border-radius: 2px;"></div><div class="radius-label">2px</div><div class="radius-context">Small links</div></div>
|
|
808
|
+
<div class="radius-item"><div class="radius-box" style="border-radius: 6px;"></div><div class="radius-label">6px</div><div class="radius-context">Small containers</div></div>
|
|
809
|
+
<div class="radius-item"><div class="radius-box" style="border-radius: 8px;"></div><div class="radius-label">8px</div><div class="radius-context">Cards, images</div></div>
|
|
810
|
+
<div class="radius-item"><div class="radius-box" style="border-radius: 50px; width: 120px;"></div><div class="radius-label">50px</div><div class="radius-context">Pill buttons</div></div>
|
|
811
|
+
<div class="radius-item"><div class="radius-box" style="border-radius: 50%;"></div><div class="radius-label">50%</div><div class="radius-context">Circle / Icon</div></div>
|
|
812
|
+
</div>
|
|
813
|
+
</section>
|
|
814
|
+
|
|
815
|
+
<hr class="section-divider">
|
|
816
|
+
|
|
817
|
+
<!-- ELEVATION -->
|
|
818
|
+
<section class="section" id="elevation">
|
|
819
|
+
<div class="section-title">07 / ELEVATION & DEPTH</div>
|
|
820
|
+
<h2 class="section-heading">Depth & Elevation</h2>
|
|
821
|
+
|
|
822
|
+
<div class="elevation-grid">
|
|
823
|
+
<div class="elevation-card elevation-flat">
|
|
824
|
+
<div><div class="elevation-name">Flat</div><div class="elevation-desc">No shadow. Page background and most text. The default surface.</div></div>
|
|
825
|
+
<div class="elevation-level">Level 0</div>
|
|
826
|
+
</div>
|
|
827
|
+
<div class="elevation-card elevation-surface">
|
|
828
|
+
<div><div class="elevation-name">Surface</div><div class="elevation-desc">White card on gradient or dark section. Primary depth through background contrast.</div></div>
|
|
829
|
+
<div class="elevation-level">Level 1</div>
|
|
830
|
+
</div>
|
|
831
|
+
<div class="elevation-card elevation-elevated">
|
|
832
|
+
<div><div class="elevation-name">Elevated</div><div class="elevation-desc">Subtle shadow for floating cards and hover states. Sparingly applied.</div></div>
|
|
833
|
+
<div class="elevation-level">Level 2</div>
|
|
834
|
+
</div>
|
|
835
|
+
</div>
|
|
836
|
+
</section>
|
|
837
|
+
|
|
838
|
+
<div style="height: 80px;"></div>
|
|
839
|
+
|
|
840
|
+
</body>
|
|
841
|
+
</html>
|