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,995 @@
|
|
|
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: Sanity (Dark)</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+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
/* Primary dark surfaces */
|
|
13
|
+
--bg-canvas: #0b0b0b;
|
|
14
|
+
--bg-surface: #212121;
|
|
15
|
+
--bg-elevated: #353535;
|
|
16
|
+
--bg-prominent: #797979;
|
|
17
|
+
/* Brand */
|
|
18
|
+
--sanity-red: #f36458;
|
|
19
|
+
--sanity-red-hover: #e0544a;
|
|
20
|
+
--electric-blue: #0052ef;
|
|
21
|
+
--blue-300: #55beff;
|
|
22
|
+
--blue-dim: #afe3ff;
|
|
23
|
+
--neon-green: #19d600;
|
|
24
|
+
--error-red: #dd0000;
|
|
25
|
+
--accent-magenta: #e600ff;
|
|
26
|
+
/* Text */
|
|
27
|
+
--text-primary: #ffffff;
|
|
28
|
+
--text-secondary: #b9b9b9;
|
|
29
|
+
--text-tertiary: #797979;
|
|
30
|
+
/* Border */
|
|
31
|
+
--border-subtle: #212121;
|
|
32
|
+
--border-medium: #353535;
|
|
33
|
+
--border-strong: #797979;
|
|
34
|
+
/* Shadow */
|
|
35
|
+
--shadow-ring: 0 0 0 1px #212121;
|
|
36
|
+
/* Font */
|
|
37
|
+
--font-display: 'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
|
|
38
|
+
--font-mono: 'IBM Plex Mono', ui-monospace, monospace;
|
|
39
|
+
/* Radius */
|
|
40
|
+
--radius-xs: 3px;
|
|
41
|
+
--radius-sm: 5px;
|
|
42
|
+
--radius-md: 6px;
|
|
43
|
+
--radius-lg: 12px;
|
|
44
|
+
--radius-pill: 99999px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
48
|
+
|
|
49
|
+
body {
|
|
50
|
+
background: var(--bg-canvas);
|
|
51
|
+
color: var(--text-primary);
|
|
52
|
+
font-family: var(--font-display);
|
|
53
|
+
font-size: 16px;
|
|
54
|
+
font-weight: 400;
|
|
55
|
+
line-height: 1.50;
|
|
56
|
+
-webkit-font-smoothing: antialiased;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* DARK MODE BADGE */
|
|
60
|
+
.dark-badge {
|
|
61
|
+
position: fixed;
|
|
62
|
+
top: 16px;
|
|
63
|
+
right: 16px;
|
|
64
|
+
z-index: 200;
|
|
65
|
+
background: var(--text-primary);
|
|
66
|
+
color: var(--bg-canvas);
|
|
67
|
+
font-family: var(--font-mono);
|
|
68
|
+
font-size: 11px;
|
|
69
|
+
font-weight: 600;
|
|
70
|
+
text-transform: uppercase;
|
|
71
|
+
letter-spacing: 0.8px;
|
|
72
|
+
padding: 6px 14px;
|
|
73
|
+
border-radius: var(--radius-pill);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* NAV */
|
|
77
|
+
.nav {
|
|
78
|
+
position: sticky;
|
|
79
|
+
top: 0;
|
|
80
|
+
z-index: 100;
|
|
81
|
+
display: flex;
|
|
82
|
+
align-items: center;
|
|
83
|
+
justify-content: space-between;
|
|
84
|
+
padding: 14px 32px;
|
|
85
|
+
background: rgba(11, 11, 11, 0.88);
|
|
86
|
+
backdrop-filter: blur(16px) saturate(180%);
|
|
87
|
+
-webkit-backdrop-filter: blur(16px) saturate(180%);
|
|
88
|
+
border-bottom: 1px solid var(--border-subtle);
|
|
89
|
+
}
|
|
90
|
+
.nav-brand {
|
|
91
|
+
font-size: 15px;
|
|
92
|
+
font-weight: 600;
|
|
93
|
+
color: var(--text-primary);
|
|
94
|
+
text-decoration: none;
|
|
95
|
+
letter-spacing: -0.3px;
|
|
96
|
+
}
|
|
97
|
+
.nav-links { display: flex; gap: 24px; align-items: center; }
|
|
98
|
+
.nav-links a {
|
|
99
|
+
font-size: 14px;
|
|
100
|
+
color: var(--text-secondary);
|
|
101
|
+
text-decoration: none;
|
|
102
|
+
font-weight: 500;
|
|
103
|
+
transition: color 0.15s;
|
|
104
|
+
}
|
|
105
|
+
.nav-links a:hover { color: var(--electric-blue); }
|
|
106
|
+
|
|
107
|
+
/* HERO */
|
|
108
|
+
.hero {
|
|
109
|
+
background: var(--bg-canvas);
|
|
110
|
+
padding: 100px 32px 96px;
|
|
111
|
+
text-align: center;
|
|
112
|
+
border-bottom: 1px solid var(--border-subtle);
|
|
113
|
+
}
|
|
114
|
+
.hero h1 {
|
|
115
|
+
font-size: 80px;
|
|
116
|
+
font-weight: 700;
|
|
117
|
+
line-height: 1.00;
|
|
118
|
+
letter-spacing: -3.6px;
|
|
119
|
+
color: var(--text-primary);
|
|
120
|
+
margin-bottom: 20px;
|
|
121
|
+
max-width: 900px;
|
|
122
|
+
margin-left: auto;
|
|
123
|
+
margin-right: auto;
|
|
124
|
+
}
|
|
125
|
+
.hero p {
|
|
126
|
+
font-size: 18px;
|
|
127
|
+
color: var(--text-secondary);
|
|
128
|
+
line-height: 1.50;
|
|
129
|
+
letter-spacing: -0.18px;
|
|
130
|
+
max-width: 560px;
|
|
131
|
+
margin: 0 auto 36px;
|
|
132
|
+
}
|
|
133
|
+
.hero-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
|
|
134
|
+
|
|
135
|
+
/* SECTIONS */
|
|
136
|
+
.section {
|
|
137
|
+
padding: 80px 32px;
|
|
138
|
+
max-width: 1200px;
|
|
139
|
+
margin: 0 auto;
|
|
140
|
+
}
|
|
141
|
+
.section-title {
|
|
142
|
+
font-size: 38px;
|
|
143
|
+
font-weight: 600;
|
|
144
|
+
line-height: 1.10;
|
|
145
|
+
letter-spacing: -1.14px;
|
|
146
|
+
margin-bottom: 12px;
|
|
147
|
+
color: var(--text-primary);
|
|
148
|
+
}
|
|
149
|
+
.section-subtitle {
|
|
150
|
+
font-size: 16px;
|
|
151
|
+
color: var(--text-secondary);
|
|
152
|
+
line-height: 1.50;
|
|
153
|
+
margin-bottom: 48px;
|
|
154
|
+
max-width: 600px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* COLOR PALETTE */
|
|
158
|
+
.color-grid {
|
|
159
|
+
display: grid;
|
|
160
|
+
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
161
|
+
gap: 16px;
|
|
162
|
+
}
|
|
163
|
+
.color-card {
|
|
164
|
+
border-radius: var(--radius-md);
|
|
165
|
+
overflow: hidden;
|
|
166
|
+
border: 1px solid var(--border-subtle);
|
|
167
|
+
background: var(--bg-surface);
|
|
168
|
+
}
|
|
169
|
+
.color-swatch {
|
|
170
|
+
height: 96px;
|
|
171
|
+
width: 100%;
|
|
172
|
+
}
|
|
173
|
+
.color-info {
|
|
174
|
+
padding: 12px 14px;
|
|
175
|
+
}
|
|
176
|
+
.color-name {
|
|
177
|
+
font-size: 13px;
|
|
178
|
+
font-weight: 600;
|
|
179
|
+
letter-spacing: -0.13px;
|
|
180
|
+
margin-bottom: 2px;
|
|
181
|
+
color: var(--text-primary);
|
|
182
|
+
}
|
|
183
|
+
.color-hex {
|
|
184
|
+
font-size: 12px;
|
|
185
|
+
font-family: var(--font-mono);
|
|
186
|
+
color: var(--text-secondary);
|
|
187
|
+
}
|
|
188
|
+
.color-role {
|
|
189
|
+
font-size: 11px;
|
|
190
|
+
color: var(--text-tertiary);
|
|
191
|
+
margin-top: 4px;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/* TYPOGRAPHY */
|
|
195
|
+
.type-scale { display: flex; flex-direction: column; gap: 32px; }
|
|
196
|
+
.type-row {
|
|
197
|
+
display: grid;
|
|
198
|
+
grid-template-columns: 180px 1fr;
|
|
199
|
+
gap: 24px;
|
|
200
|
+
align-items: baseline;
|
|
201
|
+
padding-bottom: 24px;
|
|
202
|
+
border-bottom: 1px solid var(--border-subtle);
|
|
203
|
+
}
|
|
204
|
+
.type-meta {
|
|
205
|
+
font-size: 12px;
|
|
206
|
+
font-family: var(--font-mono);
|
|
207
|
+
color: var(--text-secondary);
|
|
208
|
+
line-height: 1.60;
|
|
209
|
+
}
|
|
210
|
+
.type-meta span { display: block; }
|
|
211
|
+
.type-meta .label {
|
|
212
|
+
font-size: 10px;
|
|
213
|
+
text-transform: uppercase;
|
|
214
|
+
color: var(--text-tertiary);
|
|
215
|
+
letter-spacing: 0.5px;
|
|
216
|
+
margin-bottom: 2px;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/* BUTTONS */
|
|
220
|
+
.button-grid {
|
|
221
|
+
display: flex;
|
|
222
|
+
flex-wrap: wrap;
|
|
223
|
+
gap: 16px;
|
|
224
|
+
align-items: center;
|
|
225
|
+
}
|
|
226
|
+
.btn {
|
|
227
|
+
display: inline-flex;
|
|
228
|
+
align-items: center;
|
|
229
|
+
justify-content: center;
|
|
230
|
+
padding: 10px 20px;
|
|
231
|
+
font-family: var(--font-display);
|
|
232
|
+
font-size: 15px;
|
|
233
|
+
font-weight: 500;
|
|
234
|
+
line-height: 1.30;
|
|
235
|
+
letter-spacing: -0.15px;
|
|
236
|
+
text-decoration: none;
|
|
237
|
+
cursor: pointer;
|
|
238
|
+
transition: all 0.18s ease;
|
|
239
|
+
border: none;
|
|
240
|
+
outline: none;
|
|
241
|
+
}
|
|
242
|
+
.btn-primary {
|
|
243
|
+
background: var(--sanity-red);
|
|
244
|
+
color: #ffffff;
|
|
245
|
+
border-radius: var(--radius-pill);
|
|
246
|
+
padding: 12px 28px;
|
|
247
|
+
}
|
|
248
|
+
.btn-primary:hover { background: var(--electric-blue); }
|
|
249
|
+
|
|
250
|
+
.btn-secondary {
|
|
251
|
+
background: var(--bg-surface);
|
|
252
|
+
color: var(--text-secondary);
|
|
253
|
+
border-radius: var(--radius-pill);
|
|
254
|
+
padding: 12px 28px;
|
|
255
|
+
}
|
|
256
|
+
.btn-secondary:hover { background: var(--electric-blue); color: #fff; }
|
|
257
|
+
|
|
258
|
+
.btn-outline {
|
|
259
|
+
background: transparent;
|
|
260
|
+
color: var(--text-primary);
|
|
261
|
+
border: 1px solid var(--text-primary);
|
|
262
|
+
border-radius: var(--radius-pill);
|
|
263
|
+
padding: 11px 27px;
|
|
264
|
+
}
|
|
265
|
+
.btn-outline:hover { background: var(--electric-blue); color: #fff; border-color: var(--electric-blue); }
|
|
266
|
+
|
|
267
|
+
.btn-ghost {
|
|
268
|
+
background: var(--bg-surface);
|
|
269
|
+
color: var(--text-secondary);
|
|
270
|
+
border-radius: var(--radius-sm);
|
|
271
|
+
padding: 8px 16px;
|
|
272
|
+
font-size: 13px;
|
|
273
|
+
}
|
|
274
|
+
.btn-ghost:hover { background: var(--electric-blue); color: #fff; }
|
|
275
|
+
|
|
276
|
+
.btn-label {
|
|
277
|
+
background: transparent;
|
|
278
|
+
color: var(--text-tertiary);
|
|
279
|
+
border-radius: var(--radius-sm);
|
|
280
|
+
padding: 6px 12px;
|
|
281
|
+
font-size: 11px;
|
|
282
|
+
font-weight: 600;
|
|
283
|
+
text-transform: uppercase;
|
|
284
|
+
font-family: var(--font-mono);
|
|
285
|
+
}
|
|
286
|
+
.btn-label:hover { color: var(--electric-blue); }
|
|
287
|
+
|
|
288
|
+
.btn-sm {
|
|
289
|
+
font-size: 13px;
|
|
290
|
+
padding: 8px 18px;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/* CARDS */
|
|
294
|
+
.card-grid {
|
|
295
|
+
display: grid;
|
|
296
|
+
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
|
|
297
|
+
gap: 20px;
|
|
298
|
+
}
|
|
299
|
+
.card {
|
|
300
|
+
background: var(--bg-surface);
|
|
301
|
+
border: 1px solid var(--border-medium);
|
|
302
|
+
border-radius: var(--radius-md);
|
|
303
|
+
padding: 28px;
|
|
304
|
+
transition: border-color 0.15s;
|
|
305
|
+
}
|
|
306
|
+
.card:hover { border-color: var(--border-strong); }
|
|
307
|
+
.card-tag {
|
|
308
|
+
font-size: 11px;
|
|
309
|
+
font-family: var(--font-mono);
|
|
310
|
+
text-transform: uppercase;
|
|
311
|
+
color: var(--text-tertiary);
|
|
312
|
+
letter-spacing: 0.5px;
|
|
313
|
+
margin-bottom: 12px;
|
|
314
|
+
}
|
|
315
|
+
.card-title {
|
|
316
|
+
font-size: 20px;
|
|
317
|
+
font-weight: 600;
|
|
318
|
+
line-height: 1.20;
|
|
319
|
+
letter-spacing: -0.2px;
|
|
320
|
+
margin-bottom: 8px;
|
|
321
|
+
color: var(--text-primary);
|
|
322
|
+
}
|
|
323
|
+
.card-body {
|
|
324
|
+
font-size: 14px;
|
|
325
|
+
line-height: 1.55;
|
|
326
|
+
color: var(--text-secondary);
|
|
327
|
+
}
|
|
328
|
+
.card-link {
|
|
329
|
+
display: inline-flex;
|
|
330
|
+
align-items: center;
|
|
331
|
+
gap: 6px;
|
|
332
|
+
font-size: 14px;
|
|
333
|
+
font-weight: 500;
|
|
334
|
+
color: var(--blue-300);
|
|
335
|
+
text-decoration: none;
|
|
336
|
+
margin-top: 16px;
|
|
337
|
+
}
|
|
338
|
+
.card-link:hover { text-decoration: underline; }
|
|
339
|
+
|
|
340
|
+
/* FORMS */
|
|
341
|
+
.form-grid {
|
|
342
|
+
display: grid;
|
|
343
|
+
grid-template-columns: 1fr 1fr;
|
|
344
|
+
gap: 20px;
|
|
345
|
+
max-width: 680px;
|
|
346
|
+
}
|
|
347
|
+
.form-group { display: flex; flex-direction: column; gap: 6px; }
|
|
348
|
+
.form-group.full-width { grid-column: 1 / -1; }
|
|
349
|
+
.form-label {
|
|
350
|
+
font-size: 13px;
|
|
351
|
+
font-weight: 500;
|
|
352
|
+
color: var(--text-secondary);
|
|
353
|
+
letter-spacing: -0.13px;
|
|
354
|
+
}
|
|
355
|
+
.form-input {
|
|
356
|
+
font-family: var(--font-display);
|
|
357
|
+
font-size: 14px;
|
|
358
|
+
color: var(--text-primary);
|
|
359
|
+
background: var(--bg-canvas);
|
|
360
|
+
border: 1px solid var(--border-subtle);
|
|
361
|
+
border-radius: var(--radius-xs);
|
|
362
|
+
padding: 10px 12px;
|
|
363
|
+
outline: none;
|
|
364
|
+
transition: border-color 0.15s, box-shadow 0.15s;
|
|
365
|
+
}
|
|
366
|
+
.form-input::placeholder { color: var(--text-tertiary); }
|
|
367
|
+
.form-input:focus {
|
|
368
|
+
border-color: var(--electric-blue);
|
|
369
|
+
box-shadow: 0 0 0 2px rgba(0, 82, 239, 0.3);
|
|
370
|
+
}
|
|
371
|
+
.form-textarea {
|
|
372
|
+
font-family: var(--font-display);
|
|
373
|
+
font-size: 14px;
|
|
374
|
+
color: var(--text-primary);
|
|
375
|
+
background: var(--bg-canvas);
|
|
376
|
+
border: 1px solid var(--border-subtle);
|
|
377
|
+
border-radius: var(--radius-xs);
|
|
378
|
+
padding: 10px 12px;
|
|
379
|
+
outline: none;
|
|
380
|
+
resize: vertical;
|
|
381
|
+
min-height: 100px;
|
|
382
|
+
transition: border-color 0.15s, box-shadow 0.15s;
|
|
383
|
+
}
|
|
384
|
+
.form-textarea:focus {
|
|
385
|
+
border-color: var(--electric-blue);
|
|
386
|
+
box-shadow: 0 0 0 2px rgba(0, 82, 239, 0.3);
|
|
387
|
+
}
|
|
388
|
+
.form-helper {
|
|
389
|
+
font-size: 12px;
|
|
390
|
+
color: var(--text-tertiary);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/* SPACING SCALE */
|
|
394
|
+
.spacing-grid {
|
|
395
|
+
display: flex;
|
|
396
|
+
flex-direction: column;
|
|
397
|
+
gap: 12px;
|
|
398
|
+
}
|
|
399
|
+
.spacing-row {
|
|
400
|
+
display: flex;
|
|
401
|
+
align-items: center;
|
|
402
|
+
gap: 16px;
|
|
403
|
+
}
|
|
404
|
+
.spacing-label {
|
|
405
|
+
width: 80px;
|
|
406
|
+
font-size: 12px;
|
|
407
|
+
font-family: var(--font-mono);
|
|
408
|
+
color: var(--text-secondary);
|
|
409
|
+
text-align: right;
|
|
410
|
+
flex-shrink: 0;
|
|
411
|
+
}
|
|
412
|
+
.spacing-bar {
|
|
413
|
+
height: 28px;
|
|
414
|
+
background: var(--sanity-red);
|
|
415
|
+
border-radius: var(--radius-xs);
|
|
416
|
+
opacity: 0.8;
|
|
417
|
+
transition: opacity 0.15s;
|
|
418
|
+
}
|
|
419
|
+
.spacing-bar:hover { opacity: 1; }
|
|
420
|
+
|
|
421
|
+
/* RADIUS SCALE */
|
|
422
|
+
.radius-grid {
|
|
423
|
+
display: flex;
|
|
424
|
+
flex-wrap: wrap;
|
|
425
|
+
gap: 24px;
|
|
426
|
+
align-items: end;
|
|
427
|
+
}
|
|
428
|
+
.radius-item {
|
|
429
|
+
display: flex;
|
|
430
|
+
flex-direction: column;
|
|
431
|
+
align-items: center;
|
|
432
|
+
gap: 10px;
|
|
433
|
+
}
|
|
434
|
+
.radius-box {
|
|
435
|
+
width: 80px;
|
|
436
|
+
height: 80px;
|
|
437
|
+
background: var(--bg-surface);
|
|
438
|
+
border: 2px solid var(--text-secondary);
|
|
439
|
+
}
|
|
440
|
+
.radius-label {
|
|
441
|
+
font-size: 12px;
|
|
442
|
+
font-family: var(--font-mono);
|
|
443
|
+
color: var(--text-secondary);
|
|
444
|
+
text-align: center;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/* ELEVATION */
|
|
448
|
+
.elevation-grid {
|
|
449
|
+
display: flex;
|
|
450
|
+
flex-wrap: wrap;
|
|
451
|
+
gap: 20px;
|
|
452
|
+
align-items: start;
|
|
453
|
+
}
|
|
454
|
+
.elevation-item {
|
|
455
|
+
display: flex;
|
|
456
|
+
flex-direction: column;
|
|
457
|
+
align-items: center;
|
|
458
|
+
gap: 10px;
|
|
459
|
+
}
|
|
460
|
+
.elevation-box {
|
|
461
|
+
width: 140px;
|
|
462
|
+
height: 90px;
|
|
463
|
+
border-radius: var(--radius-md);
|
|
464
|
+
display: flex;
|
|
465
|
+
align-items: center;
|
|
466
|
+
justify-content: center;
|
|
467
|
+
font-size: 12px;
|
|
468
|
+
font-weight: 500;
|
|
469
|
+
color: var(--text-secondary);
|
|
470
|
+
}
|
|
471
|
+
.elevation-label {
|
|
472
|
+
font-size: 11px;
|
|
473
|
+
font-family: var(--font-mono);
|
|
474
|
+
color: var(--text-tertiary);
|
|
475
|
+
text-align: center;
|
|
476
|
+
max-width: 140px;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/* Utility */
|
|
480
|
+
.badge {
|
|
481
|
+
display: inline-block;
|
|
482
|
+
font-size: 11px;
|
|
483
|
+
font-family: var(--font-mono);
|
|
484
|
+
font-weight: 500;
|
|
485
|
+
text-transform: uppercase;
|
|
486
|
+
letter-spacing: 0.5px;
|
|
487
|
+
padding: 4px 10px;
|
|
488
|
+
border-radius: var(--radius-pill);
|
|
489
|
+
}
|
|
490
|
+
.badge-subtle { background: var(--bg-surface); color: var(--text-secondary); border: 1px solid var(--border-subtle); }
|
|
491
|
+
.badge-filled { background: var(--text-primary); color: var(--bg-canvas); }
|
|
492
|
+
.badge-red { background: var(--sanity-red); color: #fff; }
|
|
493
|
+
.badge-blue { background: var(--electric-blue); color: #fff; }
|
|
494
|
+
.badge-green { background: var(--neon-green); color: #0b0b0b; }
|
|
495
|
+
|
|
496
|
+
.divider {
|
|
497
|
+
border: none;
|
|
498
|
+
border-top: 1px solid var(--border-subtle);
|
|
499
|
+
margin: 0;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
@media (max-width: 768px) {
|
|
503
|
+
.hero h1 { font-size: 42px; letter-spacing: -1.6px; }
|
|
504
|
+
.hero { padding: 64px 20px 60px; }
|
|
505
|
+
.section { padding: 56px 20px; }
|
|
506
|
+
.section-title { font-size: 28px; letter-spacing: -0.6px; }
|
|
507
|
+
.type-row { grid-template-columns: 1fr; }
|
|
508
|
+
.form-grid { grid-template-columns: 1fr; }
|
|
509
|
+
.card-grid { grid-template-columns: 1fr; }
|
|
510
|
+
.color-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
|
|
511
|
+
.nav-links { display: none; }
|
|
512
|
+
.dark-badge { top: 12px; right: 12px; font-size: 10px; padding: 4px 10px; }
|
|
513
|
+
}
|
|
514
|
+
</style>
|
|
515
|
+
</head>
|
|
516
|
+
<body>
|
|
517
|
+
|
|
518
|
+
<!-- DARK MODE BADGE -->
|
|
519
|
+
<div class="dark-badge">Dark Mode</div>
|
|
520
|
+
|
|
521
|
+
<!-- NAV -->
|
|
522
|
+
<nav class="nav">
|
|
523
|
+
<a href="#" class="nav-brand">awesome-design-md</a>
|
|
524
|
+
<div class="nav-links">
|
|
525
|
+
<a href="#colors">Colors</a>
|
|
526
|
+
<a href="#typography">Typography</a>
|
|
527
|
+
<a href="#buttons">Buttons</a>
|
|
528
|
+
<a href="#cards">Cards</a>
|
|
529
|
+
<a href="#forms">Forms</a>
|
|
530
|
+
<a href="#spacing">Spacing</a>
|
|
531
|
+
</div>
|
|
532
|
+
</nav>
|
|
533
|
+
|
|
534
|
+
<!-- HERO -->
|
|
535
|
+
<section class="hero">
|
|
536
|
+
<h1>Design System Inspired by Sanity</h1>
|
|
537
|
+
<p>Structured content meets precise design. A dark-first, engineering-grade design language built on achromatic neutrals, tight typography, and vivid accent punctuation.</p>
|
|
538
|
+
<div class="hero-buttons">
|
|
539
|
+
<button class="btn btn-primary">Get Started</button>
|
|
540
|
+
<button class="btn btn-outline">Contact Sales</button>
|
|
541
|
+
</div>
|
|
542
|
+
</section>
|
|
543
|
+
|
|
544
|
+
<!-- COLOR PALETTE -->
|
|
545
|
+
<section class="section" id="colors">
|
|
546
|
+
<h2 class="section-title">Color Palette</h2>
|
|
547
|
+
<p class="section-subtitle">Pure achromatic gray scale with vivid accent punctuation. No warm or cool bias in the neutral range.</p>
|
|
548
|
+
<div class="color-grid">
|
|
549
|
+
<div class="color-card">
|
|
550
|
+
<div class="color-swatch" style="background:#0b0b0b"></div>
|
|
551
|
+
<div class="color-info">
|
|
552
|
+
<div class="color-name">Sanity Black</div>
|
|
553
|
+
<div class="color-hex">#0b0b0b</div>
|
|
554
|
+
<div class="color-role">Primary canvas</div>
|
|
555
|
+
</div>
|
|
556
|
+
</div>
|
|
557
|
+
<div class="color-card">
|
|
558
|
+
<div class="color-swatch" style="background:#212121"></div>
|
|
559
|
+
<div class="color-info">
|
|
560
|
+
<div class="color-name">Dark Surface</div>
|
|
561
|
+
<div class="color-hex">#212121</div>
|
|
562
|
+
<div class="color-role">Elevated cards, containers</div>
|
|
563
|
+
</div>
|
|
564
|
+
</div>
|
|
565
|
+
<div class="color-card">
|
|
566
|
+
<div class="color-swatch" style="background:#353535"></div>
|
|
567
|
+
<div class="color-info">
|
|
568
|
+
<div class="color-name">Medium Border</div>
|
|
569
|
+
<div class="color-hex">#353535</div>
|
|
570
|
+
<div class="color-role">Visible borders, dividers</div>
|
|
571
|
+
</div>
|
|
572
|
+
</div>
|
|
573
|
+
<div class="color-card">
|
|
574
|
+
<div class="color-swatch" style="background:#797979"></div>
|
|
575
|
+
<div class="color-info">
|
|
576
|
+
<div class="color-name">Medium Gray</div>
|
|
577
|
+
<div class="color-hex">#797979</div>
|
|
578
|
+
<div class="color-role">Tertiary text, metadata</div>
|
|
579
|
+
</div>
|
|
580
|
+
</div>
|
|
581
|
+
<div class="color-card">
|
|
582
|
+
<div class="color-swatch" style="background:#b9b9b9"></div>
|
|
583
|
+
<div class="color-info">
|
|
584
|
+
<div class="color-name">Silver</div>
|
|
585
|
+
<div class="color-hex">#b9b9b9</div>
|
|
586
|
+
<div class="color-role">Secondary text</div>
|
|
587
|
+
</div>
|
|
588
|
+
</div>
|
|
589
|
+
<div class="color-card">
|
|
590
|
+
<div class="color-swatch" style="background:#ededed"></div>
|
|
591
|
+
<div class="color-info">
|
|
592
|
+
<div class="color-name">Light Gray</div>
|
|
593
|
+
<div class="color-hex">#ededed</div>
|
|
594
|
+
<div class="color-role">Light surfaces</div>
|
|
595
|
+
</div>
|
|
596
|
+
</div>
|
|
597
|
+
<div class="color-card">
|
|
598
|
+
<div class="color-swatch" style="background:#ffffff; border-bottom: 1px solid #353535;"></div>
|
|
599
|
+
<div class="color-info">
|
|
600
|
+
<div class="color-name">White</div>
|
|
601
|
+
<div class="color-hex">#ffffff</div>
|
|
602
|
+
<div class="color-role">Primary text on dark</div>
|
|
603
|
+
</div>
|
|
604
|
+
</div>
|
|
605
|
+
<div class="color-card">
|
|
606
|
+
<div class="color-swatch" style="background:#f36458"></div>
|
|
607
|
+
<div class="color-info">
|
|
608
|
+
<div class="color-name">Sanity Red</div>
|
|
609
|
+
<div class="color-hex">#f36458</div>
|
|
610
|
+
<div class="color-role">Primary CTA</div>
|
|
611
|
+
</div>
|
|
612
|
+
</div>
|
|
613
|
+
<div class="color-card">
|
|
614
|
+
<div class="color-swatch" style="background:#0052ef"></div>
|
|
615
|
+
<div class="color-info">
|
|
616
|
+
<div class="color-name">Electric Blue</div>
|
|
617
|
+
<div class="color-hex">#0052ef</div>
|
|
618
|
+
<div class="color-role">Hover/active, focus rings</div>
|
|
619
|
+
</div>
|
|
620
|
+
</div>
|
|
621
|
+
<div class="color-card">
|
|
622
|
+
<div class="color-swatch" style="background:#55beff"></div>
|
|
623
|
+
<div class="color-info">
|
|
624
|
+
<div class="color-name">Blue 300</div>
|
|
625
|
+
<div class="color-hex">#55beff</div>
|
|
626
|
+
<div class="color-role">Light blue accent</div>
|
|
627
|
+
</div>
|
|
628
|
+
</div>
|
|
629
|
+
<div class="color-card">
|
|
630
|
+
<div class="color-swatch" style="background:#19d600"></div>
|
|
631
|
+
<div class="color-info">
|
|
632
|
+
<div class="color-name">Neon Green</div>
|
|
633
|
+
<div class="color-hex">#19d600</div>
|
|
634
|
+
<div class="color-role">Success, accent green</div>
|
|
635
|
+
</div>
|
|
636
|
+
</div>
|
|
637
|
+
<div class="color-card">
|
|
638
|
+
<div class="color-swatch" style="background:#dd0000"></div>
|
|
639
|
+
<div class="color-info">
|
|
640
|
+
<div class="color-name">Error Red</div>
|
|
641
|
+
<div class="color-hex">#dd0000</div>
|
|
642
|
+
<div class="color-role">Errors, destructive</div>
|
|
643
|
+
</div>
|
|
644
|
+
</div>
|
|
645
|
+
</div>
|
|
646
|
+
</section>
|
|
647
|
+
|
|
648
|
+
<hr class="divider">
|
|
649
|
+
|
|
650
|
+
<!-- TYPOGRAPHY -->
|
|
651
|
+
<section class="section" id="typography">
|
|
652
|
+
<h2 class="section-title">Typography Scale</h2>
|
|
653
|
+
<p class="section-subtitle">Space Grotesk (substitute for waldenburgNormal) with tight negative tracking at display sizes. IBM Plex Mono for technical labels.</p>
|
|
654
|
+
<div class="type-scale">
|
|
655
|
+
|
|
656
|
+
<div class="type-row">
|
|
657
|
+
<div class="type-meta">
|
|
658
|
+
<span class="label">Display</span>
|
|
659
|
+
<span>80px / 700</span>
|
|
660
|
+
<span>LH: 1.00</span>
|
|
661
|
+
<span>LS: -3.6px</span>
|
|
662
|
+
</div>
|
|
663
|
+
<div style="font-size:80px; font-weight:700; line-height:1.00; letter-spacing:-3.6px;">Structure</div>
|
|
664
|
+
</div>
|
|
665
|
+
|
|
666
|
+
<div class="type-row">
|
|
667
|
+
<div class="type-meta">
|
|
668
|
+
<span class="label">Heading 1</span>
|
|
669
|
+
<span>48px / 600</span>
|
|
670
|
+
<span>LH: 1.08</span>
|
|
671
|
+
<span>LS: -1.68px</span>
|
|
672
|
+
</div>
|
|
673
|
+
<div style="font-size:48px; font-weight:600; line-height:1.08; letter-spacing:-1.68px;">Powers intelligence</div>
|
|
674
|
+
</div>
|
|
675
|
+
|
|
676
|
+
<div class="type-row">
|
|
677
|
+
<div class="type-meta">
|
|
678
|
+
<span class="label">Heading 2</span>
|
|
679
|
+
<span>38px / 600</span>
|
|
680
|
+
<span>LH: 1.10</span>
|
|
681
|
+
<span>LS: -1.14px</span>
|
|
682
|
+
</div>
|
|
683
|
+
<div style="font-size:38px; font-weight:600; line-height:1.10; letter-spacing:-1.14px;">Content operations</div>
|
|
684
|
+
</div>
|
|
685
|
+
|
|
686
|
+
<div class="type-row">
|
|
687
|
+
<div class="type-meta">
|
|
688
|
+
<span class="label">Heading 3</span>
|
|
689
|
+
<span>24px / 500</span>
|
|
690
|
+
<span>LH: 1.24</span>
|
|
691
|
+
<span>LS: -0.24px</span>
|
|
692
|
+
</div>
|
|
693
|
+
<div style="font-size:24px; font-weight:500; line-height:1.24; letter-spacing:-0.24px;">Composable content platform</div>
|
|
694
|
+
</div>
|
|
695
|
+
|
|
696
|
+
<div class="type-row">
|
|
697
|
+
<div class="type-meta">
|
|
698
|
+
<span class="label">Subheading</span>
|
|
699
|
+
<span>20px / 500</span>
|
|
700
|
+
<span>LH: 1.13</span>
|
|
701
|
+
<span>LS: -0.2px</span>
|
|
702
|
+
</div>
|
|
703
|
+
<div style="font-size:20px; font-weight:500; line-height:1.13; letter-spacing:-0.2px;">One API, every platform</div>
|
|
704
|
+
</div>
|
|
705
|
+
|
|
706
|
+
<div class="type-row">
|
|
707
|
+
<div class="type-meta">
|
|
708
|
+
<span class="label">Body Large</span>
|
|
709
|
+
<span>18px / 400</span>
|
|
710
|
+
<span>LH: 1.50</span>
|
|
711
|
+
<span>LS: -0.18px</span>
|
|
712
|
+
</div>
|
|
713
|
+
<div style="font-size:18px; font-weight:400; line-height:1.50; letter-spacing:-0.18px;">Mirror how your content operations team works. Treat content as data with a structured, API-first approach.</div>
|
|
714
|
+
</div>
|
|
715
|
+
|
|
716
|
+
<div class="type-row">
|
|
717
|
+
<div class="type-meta">
|
|
718
|
+
<span class="label">Body</span>
|
|
719
|
+
<span>16px / 400</span>
|
|
720
|
+
<span>LH: 1.50</span>
|
|
721
|
+
</div>
|
|
722
|
+
<div style="font-size:16px; font-weight:400; line-height:1.50;">Power anything with one unified content platform. Connect to any frontend, any channel, any device.</div>
|
|
723
|
+
</div>
|
|
724
|
+
|
|
725
|
+
<div class="type-row">
|
|
726
|
+
<div class="type-meta">
|
|
727
|
+
<span class="label">Caption</span>
|
|
728
|
+
<span>13px / 400</span>
|
|
729
|
+
<span>LH: 1.50</span>
|
|
730
|
+
<span>LS: -0.13px</span>
|
|
731
|
+
</div>
|
|
732
|
+
<div style="font-size:13px; font-weight:400; line-height:1.50; letter-spacing:-0.13px; color: var(--text-secondary);">Loved by 1M+ users and 6K+ teams worldwide. Enterprise-grade content infrastructure.</div>
|
|
733
|
+
</div>
|
|
734
|
+
|
|
735
|
+
<div class="type-row">
|
|
736
|
+
<div class="type-meta">
|
|
737
|
+
<span class="label">Mono Label</span>
|
|
738
|
+
<span>12px / 500</span>
|
|
739
|
+
<span>LH: 1.50</span>
|
|
740
|
+
<span>UPPERCASE</span>
|
|
741
|
+
</div>
|
|
742
|
+
<div style="font-size:12px; font-weight:500; line-height:1.50; text-transform:uppercase; font-family:var(--font-mono); letter-spacing:0.5px; color: var(--text-tertiary);">CONTENT LAKE · GROQ · STUDIO · SCHEMAS</div>
|
|
743
|
+
</div>
|
|
744
|
+
|
|
745
|
+
<div class="type-row">
|
|
746
|
+
<div class="type-meta">
|
|
747
|
+
<span class="label">Code</span>
|
|
748
|
+
<span>15px / 400</span>
|
|
749
|
+
<span>LH: 1.50</span>
|
|
750
|
+
<span>IBM Plex Mono</span>
|
|
751
|
+
</div>
|
|
752
|
+
<div style="font-size:15px; font-weight:400; line-height:1.50; font-family:var(--font-mono); color: var(--neon-green);">sanity.fetch('*[_type == "post"]')</div>
|
|
753
|
+
</div>
|
|
754
|
+
|
|
755
|
+
</div>
|
|
756
|
+
</section>
|
|
757
|
+
|
|
758
|
+
<hr class="divider">
|
|
759
|
+
|
|
760
|
+
<!-- BUTTONS -->
|
|
761
|
+
<section class="section" id="buttons">
|
|
762
|
+
<h2 class="section-title">Button Variants</h2>
|
|
763
|
+
<p class="section-subtitle">Pill-shaped CTAs with coral-red brand color. All interactive elements hover to electric blue.</p>
|
|
764
|
+
|
|
765
|
+
<div style="margin-bottom: 40px;">
|
|
766
|
+
<h3 style="font-size:16px; font-weight:600; margin-bottom:16px; letter-spacing:-0.16px;">Standard Buttons</h3>
|
|
767
|
+
<div class="button-grid">
|
|
768
|
+
<button class="btn btn-primary">Get Started</button>
|
|
769
|
+
<button class="btn btn-secondary">Contact Sales</button>
|
|
770
|
+
<button class="btn btn-outline">Learn More</button>
|
|
771
|
+
<button class="btn btn-ghost">Filter</button>
|
|
772
|
+
<button class="btn btn-label">DOCUMENTATION</button>
|
|
773
|
+
</div>
|
|
774
|
+
</div>
|
|
775
|
+
|
|
776
|
+
<div style="margin-bottom: 40px;">
|
|
777
|
+
<h3 style="font-size:16px; font-weight:600; margin-bottom:16px; letter-spacing:-0.16px;">Small Variants</h3>
|
|
778
|
+
<div class="button-grid">
|
|
779
|
+
<button class="btn btn-primary btn-sm">Get Started</button>
|
|
780
|
+
<button class="btn btn-outline btn-sm">Details</button>
|
|
781
|
+
<button class="btn btn-ghost btn-sm">Tag</button>
|
|
782
|
+
</div>
|
|
783
|
+
</div>
|
|
784
|
+
|
|
785
|
+
<div style="margin-top: 40px;">
|
|
786
|
+
<h3 style="font-size:16px; font-weight:600; margin-bottom:16px; letter-spacing:-0.16px;">Badges</h3>
|
|
787
|
+
<div style="display: flex; flex-wrap: wrap; gap: 10px;">
|
|
788
|
+
<span class="badge badge-subtle">Neutral</span>
|
|
789
|
+
<span class="badge badge-filled">Filled</span>
|
|
790
|
+
<span class="badge badge-red">New</span>
|
|
791
|
+
<span class="badge badge-blue">Featured</span>
|
|
792
|
+
<span class="badge badge-green">Active</span>
|
|
793
|
+
</div>
|
|
794
|
+
</div>
|
|
795
|
+
</section>
|
|
796
|
+
|
|
797
|
+
<hr class="divider">
|
|
798
|
+
|
|
799
|
+
<!-- CARDS -->
|
|
800
|
+
<section class="section" id="cards">
|
|
801
|
+
<h2 class="section-title">Card Examples</h2>
|
|
802
|
+
<p class="section-subtitle">Minimal containment with border-based separation. Depth communicated through surface color shifts.</p>
|
|
803
|
+
|
|
804
|
+
<div class="card-grid">
|
|
805
|
+
<div class="card">
|
|
806
|
+
<div class="card-tag">Content Lake</div>
|
|
807
|
+
<div class="card-title">Structured content as data</div>
|
|
808
|
+
<div class="card-body">Store, query, and distribute content across any channel using a single source of truth with real-time collaboration.</div>
|
|
809
|
+
<a href="#" class="card-link">Learn more →</a>
|
|
810
|
+
</div>
|
|
811
|
+
<div class="card">
|
|
812
|
+
<div class="card-tag">GROQ</div>
|
|
813
|
+
<div class="card-title">Query language for content</div>
|
|
814
|
+
<div class="card-body">Purpose-built query language that lets you fetch exactly the content you need, in the shape you want it.</div>
|
|
815
|
+
<a href="#" class="card-link">Explore GROQ →</a>
|
|
816
|
+
</div>
|
|
817
|
+
<div class="card">
|
|
818
|
+
<div class="card-tag">Studio</div>
|
|
819
|
+
<div class="card-title">Customizable editing environment</div>
|
|
820
|
+
<div class="card-body">A fully customizable, open-source editing environment that adapts to your team's workflow and content model.</div>
|
|
821
|
+
<a href="#" class="card-link">Try Studio →</a>
|
|
822
|
+
</div>
|
|
823
|
+
</div>
|
|
824
|
+
|
|
825
|
+
<div style="margin-top: 40px;">
|
|
826
|
+
<h3 style="font-size:16px; font-weight:600; margin-bottom:20px; letter-spacing:-0.16px;">Elevated Cards</h3>
|
|
827
|
+
<div class="card-grid">
|
|
828
|
+
<div style="background: var(--bg-elevated); border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: 28px;">
|
|
829
|
+
<div class="card-tag" style="color: var(--text-secondary);">Schemas</div>
|
|
830
|
+
<div class="card-title">Define your content model</div>
|
|
831
|
+
<div class="card-body" style="color: var(--text-secondary);">Use code-first schemas to define documents, objects, and fields with full TypeScript support.</div>
|
|
832
|
+
<a href="#" class="card-link">View docs →</a>
|
|
833
|
+
</div>
|
|
834
|
+
<div style="background: var(--bg-elevated); border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: 28px;">
|
|
835
|
+
<div class="card-tag" style="color: var(--text-secondary);">Plugins</div>
|
|
836
|
+
<div class="card-title">Extend with the ecosystem</div>
|
|
837
|
+
<div class="card-body" style="color: var(--text-secondary);">Community-driven plugin ecosystem with dashboards, custom inputs, and workflow tools.</div>
|
|
838
|
+
<a href="#" class="card-link">Browse plugins →</a>
|
|
839
|
+
</div>
|
|
840
|
+
</div>
|
|
841
|
+
</div>
|
|
842
|
+
</section>
|
|
843
|
+
|
|
844
|
+
<hr class="divider">
|
|
845
|
+
|
|
846
|
+
<!-- FORMS -->
|
|
847
|
+
<section class="section" id="forms">
|
|
848
|
+
<h2 class="section-title">Form Elements</h2>
|
|
849
|
+
<p class="section-subtitle">Minimal inputs with subtle borders on the dark canvas. Blue focus rings for accessibility.</p>
|
|
850
|
+
|
|
851
|
+
<div class="form-grid">
|
|
852
|
+
<div class="form-group">
|
|
853
|
+
<label class="form-label">Project Name</label>
|
|
854
|
+
<input type="text" class="form-input" placeholder="my-sanity-project">
|
|
855
|
+
</div>
|
|
856
|
+
<div class="form-group">
|
|
857
|
+
<label class="form-label">Dataset</label>
|
|
858
|
+
<input type="text" class="form-input" placeholder="production">
|
|
859
|
+
</div>
|
|
860
|
+
<div class="form-group full-width">
|
|
861
|
+
<label class="form-label">API Token</label>
|
|
862
|
+
<input type="text" class="form-input" placeholder="sk_xxxxxxxxxxxxxxxx">
|
|
863
|
+
<span class="form-helper">Keep your API token secure. Never commit it to version control.</span>
|
|
864
|
+
</div>
|
|
865
|
+
<div class="form-group full-width">
|
|
866
|
+
<label class="form-label">GROQ Query</label>
|
|
867
|
+
<textarea class="form-textarea" placeholder='*[_type == "post"]{title, slug, body}'></textarea>
|
|
868
|
+
<span class="form-helper">Write a GROQ query to test against your dataset.</span>
|
|
869
|
+
</div>
|
|
870
|
+
<div class="form-group">
|
|
871
|
+
<button class="btn btn-primary" style="width:100%;">Run Query</button>
|
|
872
|
+
</div>
|
|
873
|
+
</div>
|
|
874
|
+
</section>
|
|
875
|
+
|
|
876
|
+
<hr class="divider">
|
|
877
|
+
|
|
878
|
+
<!-- SPACING -->
|
|
879
|
+
<section class="section" id="spacing">
|
|
880
|
+
<h2 class="section-title">Spacing Scale</h2>
|
|
881
|
+
<p class="section-subtitle">8px base unit. Spacing follows a controlled progression for consistent rhythm.</p>
|
|
882
|
+
<div class="spacing-grid">
|
|
883
|
+
<div class="spacing-row">
|
|
884
|
+
<div class="spacing-label">4px</div>
|
|
885
|
+
<div class="spacing-bar" style="width: 4px;"></div>
|
|
886
|
+
</div>
|
|
887
|
+
<div class="spacing-row">
|
|
888
|
+
<div class="spacing-label">8px</div>
|
|
889
|
+
<div class="spacing-bar" style="width: 32px;"></div>
|
|
890
|
+
</div>
|
|
891
|
+
<div class="spacing-row">
|
|
892
|
+
<div class="spacing-label">12px</div>
|
|
893
|
+
<div class="spacing-bar" style="width: 64px;"></div>
|
|
894
|
+
</div>
|
|
895
|
+
<div class="spacing-row">
|
|
896
|
+
<div class="spacing-label">16px</div>
|
|
897
|
+
<div class="spacing-bar" style="width: 96px;"></div>
|
|
898
|
+
</div>
|
|
899
|
+
<div class="spacing-row">
|
|
900
|
+
<div class="spacing-label">24px</div>
|
|
901
|
+
<div class="spacing-bar" style="width: 160px;"></div>
|
|
902
|
+
</div>
|
|
903
|
+
<div class="spacing-row">
|
|
904
|
+
<div class="spacing-label">32px</div>
|
|
905
|
+
<div class="spacing-bar" style="width: 220px;"></div>
|
|
906
|
+
</div>
|
|
907
|
+
<div class="spacing-row">
|
|
908
|
+
<div class="spacing-label">48px</div>
|
|
909
|
+
<div class="spacing-bar" style="width: 320px;"></div>
|
|
910
|
+
</div>
|
|
911
|
+
<div class="spacing-row">
|
|
912
|
+
<div class="spacing-label">64px</div>
|
|
913
|
+
<div class="spacing-bar" style="width: 420px;"></div>
|
|
914
|
+
</div>
|
|
915
|
+
<div class="spacing-row">
|
|
916
|
+
<div class="spacing-label">96px</div>
|
|
917
|
+
<div class="spacing-bar" style="width: 560px;"></div>
|
|
918
|
+
</div>
|
|
919
|
+
<div class="spacing-row">
|
|
920
|
+
<div class="spacing-label">120px</div>
|
|
921
|
+
<div class="spacing-bar" style="width: 680px;"></div>
|
|
922
|
+
</div>
|
|
923
|
+
</div>
|
|
924
|
+
</section>
|
|
925
|
+
|
|
926
|
+
<hr class="divider">
|
|
927
|
+
|
|
928
|
+
<!-- BORDER RADIUS -->
|
|
929
|
+
<section class="section">
|
|
930
|
+
<h2 class="section-title">Border Radius Scale</h2>
|
|
931
|
+
<p class="section-subtitle">Sharp geometry for inputs, subtle rounding for cards, full pills for buttons and badges.</p>
|
|
932
|
+
<div class="radius-grid">
|
|
933
|
+
<div class="radius-item">
|
|
934
|
+
<div class="radius-box" style="border-radius: 3px;"></div>
|
|
935
|
+
<div class="radius-label">3px<br><span style="font-size:10px; color:var(--text-tertiary)">Inputs</span></div>
|
|
936
|
+
</div>
|
|
937
|
+
<div class="radius-item">
|
|
938
|
+
<div class="radius-box" style="border-radius: 5px;"></div>
|
|
939
|
+
<div class="radius-label">5px<br><span style="font-size:10px; color:var(--text-tertiary)">Ghost buttons</span></div>
|
|
940
|
+
</div>
|
|
941
|
+
<div class="radius-item">
|
|
942
|
+
<div class="radius-box" style="border-radius: 6px;"></div>
|
|
943
|
+
<div class="radius-label">6px<br><span style="font-size:10px; color:var(--text-tertiary)">Cards</span></div>
|
|
944
|
+
</div>
|
|
945
|
+
<div class="radius-item">
|
|
946
|
+
<div class="radius-box" style="border-radius: 12px;"></div>
|
|
947
|
+
<div class="radius-label">12px<br><span style="font-size:10px; color:var(--text-tertiary)">Large cards</span></div>
|
|
948
|
+
</div>
|
|
949
|
+
<div class="radius-item">
|
|
950
|
+
<div class="radius-box" style="border-radius: 99999px;"></div>
|
|
951
|
+
<div class="radius-label">99999px<br><span style="font-size:10px; color:var(--text-tertiary)">Pill / CTA</span></div>
|
|
952
|
+
</div>
|
|
953
|
+
</div>
|
|
954
|
+
</section>
|
|
955
|
+
|
|
956
|
+
<hr class="divider">
|
|
957
|
+
|
|
958
|
+
<!-- ELEVATION / DEPTH -->
|
|
959
|
+
<section class="section">
|
|
960
|
+
<h2 class="section-title">Elevation & Depth</h2>
|
|
961
|
+
<p class="section-subtitle">Colorimetric depth system. Elevation is communicated through surface color shifts rather than shadows.</p>
|
|
962
|
+
<div class="elevation-grid">
|
|
963
|
+
<div class="elevation-item">
|
|
964
|
+
<div class="elevation-box" style="background: #000000; border: 1px solid #212121;">Ground</div>
|
|
965
|
+
<div class="elevation-label">#000000</div>
|
|
966
|
+
</div>
|
|
967
|
+
<div class="elevation-item">
|
|
968
|
+
<div class="elevation-box" style="background: #0b0b0b; border: 1px solid #212121;">Canvas</div>
|
|
969
|
+
<div class="elevation-label">#0b0b0b</div>
|
|
970
|
+
</div>
|
|
971
|
+
<div class="elevation-item">
|
|
972
|
+
<div class="elevation-box" style="background: #212121; border: 1px solid #353535;">Surface</div>
|
|
973
|
+
<div class="elevation-label">#212121</div>
|
|
974
|
+
</div>
|
|
975
|
+
<div class="elevation-item">
|
|
976
|
+
<div class="elevation-box" style="background: #353535; border: 1px solid #797979;">Prominent</div>
|
|
977
|
+
<div class="elevation-label">#353535</div>
|
|
978
|
+
</div>
|
|
979
|
+
<div class="elevation-item">
|
|
980
|
+
<div class="elevation-box" style="background: #ffffff; color: #0b0b0b; border: 1px solid #ededed;">Inverted</div>
|
|
981
|
+
<div class="elevation-label">#ffffff</div>
|
|
982
|
+
</div>
|
|
983
|
+
</div>
|
|
984
|
+
</section>
|
|
985
|
+
|
|
986
|
+
<!-- FOOTER -->
|
|
987
|
+
<footer style="border-top: 1px solid var(--border-subtle); padding: 48px 32px;">
|
|
988
|
+
<div style="max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px;">
|
|
989
|
+
<span style="font-size: 13px; color: var(--text-secondary); font-family: var(--font-mono);">Design tokens extracted from sanity.io</span>
|
|
990
|
+
<span style="font-size: 12px; color: var(--text-tertiary); font-family: var(--font-mono); text-transform: uppercase;">awesome-design-md</span>
|
|
991
|
+
</div>
|
|
992
|
+
</footer>
|
|
993
|
+
|
|
994
|
+
</body>
|
|
995
|
+
</html>
|