oh-my-design-cli 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.ko.md +3 -2
  2. package/README.md +3 -2
  3. package/package.json +3 -3
  4. package/references/Claude-Design-Sys-Prompt.txt +0 -421
  5. package/references/airbnb/README.md +0 -23
  6. package/references/airbnb/preview-dark.html +0 -234
  7. package/references/airbnb/preview.html +0 -233
  8. package/references/airtable/README.md +0 -23
  9. package/references/airtable/preview-dark.html +0 -165
  10. package/references/airtable/preview.html +0 -164
  11. package/references/apple/README.md +0 -24
  12. package/references/apple/preview-dark.html +0 -420
  13. package/references/apple/preview.html +0 -414
  14. package/references/baemin/README.md +0 -19
  15. package/references/bmw/README.md +0 -23
  16. package/references/bmw/preview-dark.html +0 -211
  17. package/references/bmw/preview.html +0 -210
  18. package/references/cal/README.md +0 -23
  19. package/references/cal/preview-dark.html +0 -449
  20. package/references/cal/preview.html +0 -575
  21. package/references/claude/README.md +0 -24
  22. package/references/claude/preview-dark.html +0 -803
  23. package/references/claude/preview.html +0 -826
  24. package/references/clay/README.md +0 -23
  25. package/references/clay/preview-dark.html +0 -316
  26. package/references/clay/preview.html +0 -315
  27. package/references/clickhouse/README.md +0 -24
  28. package/references/clickhouse/preview-dark.html +0 -834
  29. package/references/clickhouse/preview.html +0 -786
  30. package/references/cohere/README.md +0 -24
  31. package/references/cohere/preview-dark.html +0 -803
  32. package/references/cohere/preview.html +0 -807
  33. package/references/coinbase/README.md +0 -23
  34. package/references/coinbase/preview-dark.html +0 -164
  35. package/references/coinbase/preview.html +0 -163
  36. package/references/composio/README.md +0 -24
  37. package/references/composio/preview-dark.html +0 -958
  38. package/references/composio/preview.html +0 -933
  39. package/references/cursor/README.md +0 -24
  40. package/references/cursor/preview-dark.html +0 -393
  41. package/references/cursor/preview.html +0 -383
  42. package/references/dcard/README.md +0 -12
  43. package/references/dcard/_research/forum-1440px.png +0 -0
  44. package/references/dcard/_research.md +0 -77
  45. package/references/elevenlabs/README.md +0 -23
  46. package/references/elevenlabs/preview-dark.html +0 -252
  47. package/references/elevenlabs/preview.html +0 -251
  48. package/references/expo/README.md +0 -24
  49. package/references/expo/preview-dark.html +0 -533
  50. package/references/expo/preview.html +0 -533
  51. package/references/ferrari/README.md +0 -23
  52. package/references/ferrari/preview-dark.html +0 -1162
  53. package/references/ferrari/preview.html +0 -1122
  54. package/references/figma/README.md +0 -24
  55. package/references/figma/preview-dark.html +0 -822
  56. package/references/figma/preview.html +0 -832
  57. package/references/framer/README.md +0 -23
  58. package/references/framer/preview-dark.html +0 -902
  59. package/references/framer/preview.html +0 -883
  60. package/references/freee/README.md +0 -12
  61. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  62. package/references/freee/_research.md +0 -77
  63. package/references/hashicorp/README.md +0 -24
  64. package/references/hashicorp/preview-dark.html +0 -1202
  65. package/references/hashicorp/preview.html +0 -1193
  66. package/references/ibm/README.md +0 -24
  67. package/references/ibm/preview-dark.html +0 -443
  68. package/references/ibm/preview.html +0 -428
  69. package/references/intercom/README.md +0 -23
  70. package/references/intercom/preview-dark.html +0 -185
  71. package/references/intercom/preview.html +0 -184
  72. package/references/kakao/README.md +0 -18
  73. package/references/karrot/README.md +0 -18
  74. package/references/kraken/README.md +0 -23
  75. package/references/kraken/preview-dark.html +0 -169
  76. package/references/kraken/preview.html +0 -168
  77. package/references/lamborghini/README.md +0 -23
  78. package/references/lamborghini/preview-dark.html +0 -303
  79. package/references/lamborghini/preview.html +0 -381
  80. package/references/line/README.md +0 -12
  81. package/references/line/_research/home-1440px.png +0 -0
  82. package/references/line/_research.md +0 -65
  83. package/references/linear.app/README.md +0 -24
  84. package/references/linear.app/preview-dark.html +0 -383
  85. package/references/linear.app/preview.html +0 -373
  86. package/references/lovable/README.md +0 -24
  87. package/references/lovable/preview-dark.html +0 -349
  88. package/references/lovable/preview.html +0 -348
  89. package/references/mercari/README.md +0 -12
  90. package/references/mercari/_research/home-1440px.png +0 -0
  91. package/references/mercari/_research.md +0 -77
  92. package/references/minimax/README.md +0 -24
  93. package/references/minimax/preview-dark.html +0 -1262
  94. package/references/minimax/preview.html +0 -1248
  95. package/references/mintlify/README.md +0 -24
  96. package/references/mintlify/preview-dark.html +0 -409
  97. package/references/mintlify/preview.html +0 -398
  98. package/references/miro/README.md +0 -23
  99. package/references/miro/preview-dark.html +0 -174
  100. package/references/miro/preview.html +0 -173
  101. package/references/mistral.ai/README.md +0 -24
  102. package/references/mistral.ai/preview-dark.html +0 -806
  103. package/references/mistral.ai/preview.html +0 -805
  104. package/references/mongodb/README.md +0 -23
  105. package/references/mongodb/preview-dark.html +0 -260
  106. package/references/mongodb/preview.html +0 -259
  107. package/references/notion/README.md +0 -24
  108. package/references/notion/preview-dark.html +0 -372
  109. package/references/notion/preview.html +0 -364
  110. package/references/nvidia/README.md +0 -24
  111. package/references/nvidia/preview-dark.html +0 -374
  112. package/references/nvidia/preview.html +0 -366
  113. package/references/ollama/README.md +0 -24
  114. package/references/ollama/preview-dark.html +0 -678
  115. package/references/ollama/preview.html +0 -678
  116. package/references/opencode.ai/README.md +0 -24
  117. package/references/opencode.ai/preview-dark.html +0 -366
  118. package/references/opencode.ai/preview.html +0 -357
  119. package/references/pinkoi/README.md +0 -12
  120. package/references/pinkoi/_research/browse-1440px.png +0 -0
  121. package/references/pinkoi/_research.md +0 -115
  122. package/references/pinterest/README.md +0 -23
  123. package/references/pinterest/preview-dark.html +0 -233
  124. package/references/pinterest/preview.html +0 -232
  125. package/references/posthog/README.md +0 -23
  126. package/references/posthog/preview-dark.html +0 -699
  127. package/references/posthog/preview.html +0 -749
  128. package/references/raycast/README.md +0 -23
  129. package/references/raycast/preview-dark.html +0 -606
  130. package/references/raycast/preview.html +0 -688
  131. package/references/renault/README.md +0 -23
  132. package/references/renault/preview-dark.html +0 -406
  133. package/references/renault/preview.html +0 -606
  134. package/references/replicate/README.md +0 -24
  135. package/references/replicate/preview-dark.html +0 -828
  136. package/references/replicate/preview.html +0 -831
  137. package/references/resend/README.md +0 -23
  138. package/references/resend/preview-dark.html +0 -355
  139. package/references/resend/preview.html +0 -354
  140. package/references/revolut/README.md +0 -23
  141. package/references/revolut/preview-dark.html +0 -234
  142. package/references/revolut/preview.html +0 -233
  143. package/references/runwayml/README.md +0 -24
  144. package/references/runwayml/preview-dark.html +0 -664
  145. package/references/runwayml/preview.html +0 -665
  146. package/references/sanity/README.md +0 -24
  147. package/references/sanity/preview-dark.html +0 -990
  148. package/references/sanity/preview.html +0 -1135
  149. package/references/sentry/README.md +0 -24
  150. package/references/sentry/preview-dark.html +0 -626
  151. package/references/sentry/preview.html +0 -951
  152. package/references/spacex/README.md +0 -23
  153. package/references/spacex/preview-dark.html +0 -221
  154. package/references/spacex/preview.html +0 -220
  155. package/references/spotify/README.md +0 -23
  156. package/references/spotify/preview-dark.html +0 -231
  157. package/references/spotify/preview.html +0 -230
  158. package/references/stripe/README.md +0 -24
  159. package/references/stripe/preview-dark.html +0 -428
  160. package/references/stripe/preview.html +0 -419
  161. package/references/supabase/README.md +0 -24
  162. package/references/supabase/preview-dark.html +0 -977
  163. package/references/supabase/preview.html +0 -955
  164. package/references/superhuman/README.md +0 -23
  165. package/references/superhuman/preview-dark.html +0 -973
  166. package/references/superhuman/preview.html +0 -951
  167. package/references/tesla/README.md +0 -23
  168. package/references/tesla/preview-dark.html +0 -947
  169. package/references/tesla/preview.html +0 -925
  170. package/references/together.ai/README.md +0 -24
  171. package/references/together.ai/preview-dark.html +0 -892
  172. package/references/together.ai/preview.html +0 -897
  173. package/references/toss/README.md +0 -19
  174. package/references/uber/README.md +0 -24
  175. package/references/uber/preview-dark.html +0 -1120
  176. package/references/uber/preview.html +0 -1119
  177. package/references/vercel/README.md +0 -24
  178. package/references/vercel/preview-dark.html +0 -368
  179. package/references/vercel/preview.html +0 -367
  180. package/references/voltagent/README.md +0 -24
  181. package/references/voltagent/preview-dark.html +0 -487
  182. package/references/voltagent/preview.html +0 -766
  183. package/references/warp/README.md +0 -23
  184. package/references/warp/preview-dark.html +0 -500
  185. package/references/warp/preview.html +0 -533
  186. package/references/webflow/README.md +0 -23
  187. package/references/webflow/preview-dark.html +0 -147
  188. package/references/webflow/preview.html +0 -146
  189. package/references/wise/README.md +0 -23
  190. package/references/wise/preview-dark.html +0 -230
  191. package/references/wise/preview.html +0 -229
  192. package/references/x.ai/README.md +0 -24
  193. package/references/x.ai/preview-dark.html +0 -356
  194. package/references/x.ai/preview.html +0 -407
  195. package/references/zapier/README.md +0 -24
  196. package/references/zapier/preview-dark.html +0 -380
  197. package/references/zapier/preview.html +0 -372
@@ -1,990 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Design System Inspired by Sanity</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
- <span class="nav-brand">awesome-design-md</span>
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 &middot; GROQ &middot; STUDIO &middot; 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 &rarr;</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 &rarr;</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 &rarr;</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 &rarr;</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 &rarr;</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 class="footer">Maintained by <a href="https://github.com/VoltAgent/voltagent" target="_blank" rel="noopener noreferrer" style="text-decoration:none;"><img src="https://github.com/VoltAgent.png?size=32" alt="VoltAgent" width="14" height="14" style="border-radius:3px;vertical-align:-2px;margin-right:3px;">VoltAgent</a> team</footer>
988
-
989
- </body>
990
- </html>