oh-my-design-cli 0.1.0 → 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 (205) hide show
  1. package/README.ko.md +3 -2
  2. package/README.md +3 -2
  3. package/dist/bin/oh-my-design.js +5 -5
  4. package/dist/bin/oh-my-design.js.map +1 -1
  5. package/dist/{init-STACB7E5.js → init-UMM4XIV5.js} +42 -2
  6. package/dist/init-UMM4XIV5.js.map +1 -0
  7. package/dist/{sync-P7X4S2DK.js → sync-FDYRKNFE.js} +16 -3
  8. package/dist/sync-FDYRKNFE.js.map +1 -0
  9. package/package.json +3 -3
  10. package/dist/init-STACB7E5.js.map +0 -1
  11. package/dist/sync-P7X4S2DK.js.map +0 -1
  12. package/references/Claude-Design-Sys-Prompt.txt +0 -421
  13. package/references/airbnb/README.md +0 -23
  14. package/references/airbnb/preview-dark.html +0 -234
  15. package/references/airbnb/preview.html +0 -233
  16. package/references/airtable/README.md +0 -23
  17. package/references/airtable/preview-dark.html +0 -165
  18. package/references/airtable/preview.html +0 -164
  19. package/references/apple/README.md +0 -24
  20. package/references/apple/preview-dark.html +0 -420
  21. package/references/apple/preview.html +0 -414
  22. package/references/baemin/README.md +0 -19
  23. package/references/bmw/README.md +0 -23
  24. package/references/bmw/preview-dark.html +0 -211
  25. package/references/bmw/preview.html +0 -210
  26. package/references/cal/README.md +0 -23
  27. package/references/cal/preview-dark.html +0 -449
  28. package/references/cal/preview.html +0 -575
  29. package/references/claude/README.md +0 -24
  30. package/references/claude/preview-dark.html +0 -803
  31. package/references/claude/preview.html +0 -826
  32. package/references/clay/README.md +0 -23
  33. package/references/clay/preview-dark.html +0 -316
  34. package/references/clay/preview.html +0 -315
  35. package/references/clickhouse/README.md +0 -24
  36. package/references/clickhouse/preview-dark.html +0 -834
  37. package/references/clickhouse/preview.html +0 -786
  38. package/references/cohere/README.md +0 -24
  39. package/references/cohere/preview-dark.html +0 -803
  40. package/references/cohere/preview.html +0 -807
  41. package/references/coinbase/README.md +0 -23
  42. package/references/coinbase/preview-dark.html +0 -164
  43. package/references/coinbase/preview.html +0 -163
  44. package/references/composio/README.md +0 -24
  45. package/references/composio/preview-dark.html +0 -958
  46. package/references/composio/preview.html +0 -933
  47. package/references/cursor/README.md +0 -24
  48. package/references/cursor/preview-dark.html +0 -393
  49. package/references/cursor/preview.html +0 -383
  50. package/references/dcard/README.md +0 -12
  51. package/references/dcard/_research/forum-1440px.png +0 -0
  52. package/references/dcard/_research.md +0 -77
  53. package/references/elevenlabs/README.md +0 -23
  54. package/references/elevenlabs/preview-dark.html +0 -252
  55. package/references/elevenlabs/preview.html +0 -251
  56. package/references/expo/README.md +0 -24
  57. package/references/expo/preview-dark.html +0 -533
  58. package/references/expo/preview.html +0 -533
  59. package/references/ferrari/README.md +0 -23
  60. package/references/ferrari/preview-dark.html +0 -1162
  61. package/references/ferrari/preview.html +0 -1122
  62. package/references/figma/README.md +0 -24
  63. package/references/figma/preview-dark.html +0 -822
  64. package/references/figma/preview.html +0 -832
  65. package/references/framer/README.md +0 -23
  66. package/references/framer/preview-dark.html +0 -902
  67. package/references/framer/preview.html +0 -883
  68. package/references/freee/README.md +0 -12
  69. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  70. package/references/freee/_research.md +0 -77
  71. package/references/hashicorp/README.md +0 -24
  72. package/references/hashicorp/preview-dark.html +0 -1202
  73. package/references/hashicorp/preview.html +0 -1193
  74. package/references/ibm/README.md +0 -24
  75. package/references/ibm/preview-dark.html +0 -443
  76. package/references/ibm/preview.html +0 -428
  77. package/references/intercom/README.md +0 -23
  78. package/references/intercom/preview-dark.html +0 -185
  79. package/references/intercom/preview.html +0 -184
  80. package/references/kakao/README.md +0 -18
  81. package/references/karrot/README.md +0 -18
  82. package/references/kraken/README.md +0 -23
  83. package/references/kraken/preview-dark.html +0 -169
  84. package/references/kraken/preview.html +0 -168
  85. package/references/lamborghini/README.md +0 -23
  86. package/references/lamborghini/preview-dark.html +0 -303
  87. package/references/lamborghini/preview.html +0 -381
  88. package/references/line/README.md +0 -12
  89. package/references/line/_research/home-1440px.png +0 -0
  90. package/references/line/_research.md +0 -65
  91. package/references/linear.app/README.md +0 -24
  92. package/references/linear.app/preview-dark.html +0 -383
  93. package/references/linear.app/preview.html +0 -373
  94. package/references/lovable/README.md +0 -24
  95. package/references/lovable/preview-dark.html +0 -349
  96. package/references/lovable/preview.html +0 -348
  97. package/references/mercari/README.md +0 -12
  98. package/references/mercari/_research/home-1440px.png +0 -0
  99. package/references/mercari/_research.md +0 -77
  100. package/references/minimax/README.md +0 -24
  101. package/references/minimax/preview-dark.html +0 -1262
  102. package/references/minimax/preview.html +0 -1248
  103. package/references/mintlify/README.md +0 -24
  104. package/references/mintlify/preview-dark.html +0 -409
  105. package/references/mintlify/preview.html +0 -398
  106. package/references/miro/README.md +0 -23
  107. package/references/miro/preview-dark.html +0 -174
  108. package/references/miro/preview.html +0 -173
  109. package/references/mistral.ai/README.md +0 -24
  110. package/references/mistral.ai/preview-dark.html +0 -806
  111. package/references/mistral.ai/preview.html +0 -805
  112. package/references/mongodb/README.md +0 -23
  113. package/references/mongodb/preview-dark.html +0 -260
  114. package/references/mongodb/preview.html +0 -259
  115. package/references/notion/README.md +0 -24
  116. package/references/notion/preview-dark.html +0 -372
  117. package/references/notion/preview.html +0 -364
  118. package/references/nvidia/README.md +0 -24
  119. package/references/nvidia/preview-dark.html +0 -374
  120. package/references/nvidia/preview.html +0 -366
  121. package/references/ollama/README.md +0 -24
  122. package/references/ollama/preview-dark.html +0 -678
  123. package/references/ollama/preview.html +0 -678
  124. package/references/opencode.ai/README.md +0 -24
  125. package/references/opencode.ai/preview-dark.html +0 -366
  126. package/references/opencode.ai/preview.html +0 -357
  127. package/references/pinkoi/README.md +0 -12
  128. package/references/pinkoi/_research/browse-1440px.png +0 -0
  129. package/references/pinkoi/_research.md +0 -115
  130. package/references/pinterest/README.md +0 -23
  131. package/references/pinterest/preview-dark.html +0 -233
  132. package/references/pinterest/preview.html +0 -232
  133. package/references/posthog/README.md +0 -23
  134. package/references/posthog/preview-dark.html +0 -699
  135. package/references/posthog/preview.html +0 -749
  136. package/references/raycast/README.md +0 -23
  137. package/references/raycast/preview-dark.html +0 -606
  138. package/references/raycast/preview.html +0 -688
  139. package/references/renault/README.md +0 -23
  140. package/references/renault/preview-dark.html +0 -406
  141. package/references/renault/preview.html +0 -606
  142. package/references/replicate/README.md +0 -24
  143. package/references/replicate/preview-dark.html +0 -828
  144. package/references/replicate/preview.html +0 -831
  145. package/references/resend/README.md +0 -23
  146. package/references/resend/preview-dark.html +0 -355
  147. package/references/resend/preview.html +0 -354
  148. package/references/revolut/README.md +0 -23
  149. package/references/revolut/preview-dark.html +0 -234
  150. package/references/revolut/preview.html +0 -233
  151. package/references/runwayml/README.md +0 -24
  152. package/references/runwayml/preview-dark.html +0 -664
  153. package/references/runwayml/preview.html +0 -665
  154. package/references/sanity/README.md +0 -24
  155. package/references/sanity/preview-dark.html +0 -990
  156. package/references/sanity/preview.html +0 -1135
  157. package/references/sentry/README.md +0 -24
  158. package/references/sentry/preview-dark.html +0 -626
  159. package/references/sentry/preview.html +0 -951
  160. package/references/spacex/README.md +0 -23
  161. package/references/spacex/preview-dark.html +0 -221
  162. package/references/spacex/preview.html +0 -220
  163. package/references/spotify/README.md +0 -23
  164. package/references/spotify/preview-dark.html +0 -231
  165. package/references/spotify/preview.html +0 -230
  166. package/references/stripe/README.md +0 -24
  167. package/references/stripe/preview-dark.html +0 -428
  168. package/references/stripe/preview.html +0 -419
  169. package/references/supabase/README.md +0 -24
  170. package/references/supabase/preview-dark.html +0 -977
  171. package/references/supabase/preview.html +0 -955
  172. package/references/superhuman/README.md +0 -23
  173. package/references/superhuman/preview-dark.html +0 -973
  174. package/references/superhuman/preview.html +0 -951
  175. package/references/tesla/README.md +0 -23
  176. package/references/tesla/preview-dark.html +0 -947
  177. package/references/tesla/preview.html +0 -925
  178. package/references/together.ai/README.md +0 -24
  179. package/references/together.ai/preview-dark.html +0 -892
  180. package/references/together.ai/preview.html +0 -897
  181. package/references/toss/README.md +0 -19
  182. package/references/uber/README.md +0 -24
  183. package/references/uber/preview-dark.html +0 -1120
  184. package/references/uber/preview.html +0 -1119
  185. package/references/vercel/README.md +0 -24
  186. package/references/vercel/preview-dark.html +0 -368
  187. package/references/vercel/preview.html +0 -367
  188. package/references/voltagent/README.md +0 -24
  189. package/references/voltagent/preview-dark.html +0 -487
  190. package/references/voltagent/preview.html +0 -766
  191. package/references/warp/README.md +0 -23
  192. package/references/warp/preview-dark.html +0 -500
  193. package/references/warp/preview.html +0 -533
  194. package/references/webflow/README.md +0 -23
  195. package/references/webflow/preview-dark.html +0 -147
  196. package/references/webflow/preview.html +0 -146
  197. package/references/wise/README.md +0 -23
  198. package/references/wise/preview-dark.html +0 -230
  199. package/references/wise/preview.html +0 -229
  200. package/references/x.ai/README.md +0 -24
  201. package/references/x.ai/preview-dark.html +0 -356
  202. package/references/x.ai/preview.html +0 -407
  203. package/references/zapier/README.md +0 -24
  204. package/references/zapier/preview-dark.html +0 -380
  205. package/references/zapier/preview.html +0 -372
@@ -1,902 +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 Framer</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=Inter:wght@100;300;400;500;600;700&display=swap" rel="stylesheet">
10
- <link href="https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@400;500&display=swap" rel="stylesheet">
11
- <style>
12
- :root {
13
- --color-black: #000000;
14
- --color-white: #ffffff;
15
- --color-blue: #0099ff;
16
- --color-silver: #a6a6a6;
17
- --color-near-black: #090909;
18
- --color-frosted: rgba(255, 255, 255, 0.1);
19
- --color-frosted-hover: rgba(255, 255, 255, 0.15);
20
- --color-blue-glow: rgba(0, 153, 255, 0.15);
21
- --color-ghost: rgba(255, 255, 255, 0.6);
22
- --color-placeholder: rgba(255, 255, 255, 0.4);
23
- --shadow-ring: rgba(0, 153, 255, 0.15) 0px 0px 0px 1px;
24
- --shadow-contained: rgb(9, 9, 9) 0px 0px 0px 2px;
25
- --shadow-floating: rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0.5px, rgba(0, 0, 0, 0.25) 0px 10px 30px 0px;
26
- --font-display: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
27
- --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
28
- --font-mono: 'Azeret Mono', monospace;
29
- --radius-xs: 1px;
30
- --radius-sm: 5px;
31
- --radius-md: 8px;
32
- --radius-lg: 12px;
33
- --radius-xl: 15px;
34
- --radius-2xl: 20px;
35
- --radius-pill: 100px;
36
- }
37
-
38
- * { margin: 0; padding: 0; box-sizing: border-box; }
39
-
40
- body {
41
- font-family: var(--font-body);
42
- background: #050508;
43
- color: var(--color-white);
44
- line-height: 1.4;
45
- -webkit-font-smoothing: antialiased;
46
- -moz-osx-font-smoothing: grayscale;
47
- }
48
-
49
- /* DARK MODE BADGE */
50
- .dark-badge {
51
- position: fixed;
52
- top: 14px;
53
- right: 14px;
54
- z-index: 200;
55
- background: var(--color-white);
56
- color: var(--color-black);
57
- padding: 5px 12px;
58
- border-radius: var(--radius-pill);
59
- font-size: 11px;
60
- font-weight: 600;
61
- letter-spacing: -0.11px;
62
- }
63
-
64
- /* NAV */
65
- .nav {
66
- position: sticky;
67
- top: 0;
68
- z-index: 100;
69
- display: flex;
70
- align-items: center;
71
- justify-content: space-between;
72
- padding: 12px 32px;
73
- background: rgba(5, 5, 8, 0.9);
74
- backdrop-filter: blur(12px);
75
- border-bottom: 1px solid rgba(255, 255, 255, 0.04);
76
- }
77
- .nav-brand {
78
- font-size: 15px;
79
- font-weight: 600;
80
- color: var(--color-white);
81
- letter-spacing: -0.3px;
82
- }
83
- .nav-links {
84
- display: flex;
85
- gap: 24px;
86
- align-items: center;
87
- list-style: none;
88
- }
89
- .nav-links a {
90
- color: var(--color-silver);
91
- text-decoration: none;
92
- font-size: 14px;
93
- font-weight: 500;
94
- letter-spacing: -0.14px;
95
- transition: color 0.2s;
96
- }
97
- .nav-links a:hover { color: var(--color-white); }
98
- .nav-cta {
99
- background: var(--color-white);
100
- color: var(--color-black) !important;
101
- padding: 8px 18px;
102
- border-radius: var(--radius-pill);
103
- font-weight: 600;
104
- font-size: 13px;
105
- transition: opacity 0.2s;
106
- }
107
- .nav-cta:hover { opacity: 0.9; }
108
-
109
- /* HERO */
110
- .hero {
111
- padding: 120px 32px 100px;
112
- text-align: center;
113
- max-width: 1200px;
114
- margin: 0 auto;
115
- background: radial-gradient(ellipse at 50% 80%, rgba(0, 153, 255, 0.06) 0%, transparent 60%);
116
- }
117
- .hero h1 {
118
- font-size: 96px;
119
- font-weight: 700;
120
- letter-spacing: -5px;
121
- line-height: 0.88;
122
- color: var(--color-white);
123
- margin-bottom: 24px;
124
- }
125
- .hero .subtitle {
126
- font-size: 18px;
127
- color: var(--color-silver);
128
- letter-spacing: -0.01px;
129
- line-height: 1.5;
130
- max-width: 560px;
131
- margin: 0 auto 40px;
132
- }
133
- .hero-buttons {
134
- display: flex;
135
- gap: 12px;
136
- justify-content: center;
137
- flex-wrap: wrap;
138
- }
139
- .btn-primary {
140
- display: inline-flex;
141
- align-items: center;
142
- gap: 8px;
143
- background: var(--color-white);
144
- color: var(--color-black);
145
- padding: 12px 28px;
146
- border-radius: var(--radius-pill);
147
- font-size: 15px;
148
- font-weight: 600;
149
- text-decoration: none;
150
- border: none;
151
- cursor: pointer;
152
- transition: opacity 0.2s;
153
- letter-spacing: -0.15px;
154
- }
155
- .btn-primary:hover { opacity: 0.9; }
156
- .btn-secondary {
157
- display: inline-flex;
158
- align-items: center;
159
- gap: 8px;
160
- background: var(--color-frosted);
161
- color: var(--color-white);
162
- padding: 12px 28px;
163
- border-radius: var(--radius-pill);
164
- font-size: 15px;
165
- font-weight: 500;
166
- text-decoration: none;
167
- border: none;
168
- cursor: pointer;
169
- transition: background 0.2s;
170
- letter-spacing: -0.15px;
171
- }
172
- .btn-secondary:hover { background: var(--color-frosted-hover); }
173
-
174
- /* SECTIONS */
175
- .section {
176
- max-width: 1200px;
177
- margin: 0 auto;
178
- padding: 80px 32px;
179
- }
180
- .section-title {
181
- font-size: 48px;
182
- font-weight: 700;
183
- letter-spacing: -2.5px;
184
- line-height: 1.0;
185
- margin-bottom: 12px;
186
- }
187
- .section-desc {
188
- font-size: 16px;
189
- color: var(--color-silver);
190
- margin-bottom: 48px;
191
- letter-spacing: -0.01px;
192
- }
193
- .section-divider {
194
- border: none;
195
- border-top: 1px solid rgba(255, 255, 255, 0.04);
196
- margin: 0 32px;
197
- max-width: 1136px;
198
- margin-left: auto;
199
- margin-right: auto;
200
- }
201
-
202
- /* COLOR PALETTE */
203
- .color-group { margin-bottom: 40px; }
204
- .color-group-title {
205
- font-size: 14px;
206
- font-weight: 600;
207
- color: var(--color-silver);
208
- text-transform: uppercase;
209
- letter-spacing: 0.5px;
210
- margin-bottom: 16px;
211
- }
212
- .color-grid {
213
- display: grid;
214
- grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
215
- gap: 16px;
216
- }
217
- .color-swatch {
218
- border-radius: var(--radius-lg);
219
- overflow: hidden;
220
- background: #0a0a0d;
221
- box-shadow: var(--shadow-ring);
222
- }
223
- .color-swatch-preview {
224
- height: 80px;
225
- width: 100%;
226
- }
227
- .color-swatch-info {
228
- padding: 12px;
229
- }
230
- .color-swatch-name {
231
- font-size: 13px;
232
- font-weight: 600;
233
- margin-bottom: 2px;
234
- letter-spacing: -0.13px;
235
- }
236
- .color-swatch-hex {
237
- font-family: var(--font-mono);
238
- font-size: 11px;
239
- color: var(--color-silver);
240
- }
241
- .color-swatch-role {
242
- font-size: 11px;
243
- color: var(--color-ghost);
244
- margin-top: 4px;
245
- line-height: 1.4;
246
- }
247
-
248
- /* TYPOGRAPHY */
249
- .type-sample {
250
- padding: 24px 0;
251
- border-bottom: 1px solid rgba(255, 255, 255, 0.04);
252
- }
253
- .type-sample:last-child { border-bottom: none; }
254
- .type-label {
255
- font-family: var(--font-mono);
256
- font-size: 10px;
257
- color: var(--color-blue);
258
- letter-spacing: 0.5px;
259
- text-transform: uppercase;
260
- margin-bottom: 8px;
261
- }
262
- .type-spec {
263
- font-size: 12px;
264
- color: var(--color-silver);
265
- margin-top: 8px;
266
- letter-spacing: -0.12px;
267
- }
268
-
269
- /* BUTTONS */
270
- .button-showcase {
271
- display: flex;
272
- gap: 16px;
273
- flex-wrap: wrap;
274
- align-items: center;
275
- }
276
- .btn-ghost {
277
- background: transparent;
278
- color: var(--color-white);
279
- padding: 12px 28px;
280
- border-radius: var(--radius-pill);
281
- font-size: 15px;
282
- font-weight: 500;
283
- text-decoration: none;
284
- border: 1px solid rgba(255, 255, 255, 0.12);
285
- cursor: pointer;
286
- transition: background 0.2s, border-color 0.2s;
287
- letter-spacing: -0.15px;
288
- font-family: var(--font-body);
289
- }
290
- .btn-ghost:hover {
291
- background: var(--color-frosted);
292
- border-color: rgba(255, 255, 255, 0.2);
293
- }
294
- .btn-blue {
295
- background: var(--color-blue);
296
- color: var(--color-white);
297
- padding: 12px 28px;
298
- border-radius: var(--radius-pill);
299
- font-size: 15px;
300
- font-weight: 600;
301
- text-decoration: none;
302
- border: none;
303
- cursor: pointer;
304
- transition: opacity 0.2s;
305
- letter-spacing: -0.15px;
306
- font-family: var(--font-body);
307
- }
308
- .btn-blue:hover { opacity: 0.85; }
309
- .btn-label {
310
- display: block;
311
- font-size: 11px;
312
- color: var(--color-silver);
313
- margin-top: 8px;
314
- text-align: center;
315
- font-family: var(--font-mono);
316
- }
317
- .btn-item { text-align: center; }
318
-
319
- /* CARDS */
320
- .card-grid {
321
- display: grid;
322
- grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
323
- gap: 20px;
324
- }
325
- .card {
326
- background: #0a0a0d;
327
- border-radius: var(--radius-lg);
328
- padding: 28px;
329
- box-shadow: var(--shadow-ring);
330
- transition: box-shadow 0.3s, transform 0.3s;
331
- }
332
- .card:hover {
333
- box-shadow: rgba(0, 153, 255, 0.3) 0px 0px 0px 1px, rgba(0, 0, 0, 0.4) 0px 12px 40px;
334
- transform: translateY(-2px);
335
- }
336
- .card-elevated {
337
- box-shadow: var(--shadow-floating);
338
- }
339
- .card-elevated:hover {
340
- box-shadow: rgba(255, 255, 255, 0.15) 0px 0.5px 0px 0.5px, rgba(0, 0, 0, 0.45) 0px 14px 44px;
341
- transform: translateY(-2px);
342
- }
343
- .card-title {
344
- font-size: 20px;
345
- font-weight: 600;
346
- letter-spacing: -0.8px;
347
- margin-bottom: 8px;
348
- }
349
- .card-text {
350
- font-size: 14px;
351
- color: var(--color-silver);
352
- line-height: 1.5;
353
- }
354
- .card-tag {
355
- display: inline-block;
356
- padding: 4px 10px;
357
- background: rgba(0, 153, 255, 0.1);
358
- border-radius: var(--radius-pill);
359
- font-size: 11px;
360
- font-weight: 500;
361
- color: var(--color-blue);
362
- margin-bottom: 12px;
363
- letter-spacing: -0.11px;
364
- }
365
-
366
- /* FORMS */
367
- .form-grid {
368
- display: grid;
369
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
370
- gap: 24px;
371
- }
372
- .form-group { display: flex; flex-direction: column; gap: 6px; }
373
- .form-label {
374
- font-size: 13px;
375
- font-weight: 500;
376
- color: var(--color-silver);
377
- letter-spacing: -0.13px;
378
- }
379
- .form-input {
380
- background: #0a0a0d;
381
- border: 1px solid rgba(255, 255, 255, 0.08);
382
- border-radius: var(--radius-md);
383
- padding: 12px 14px;
384
- color: var(--color-white);
385
- font-size: 14px;
386
- font-family: var(--font-body);
387
- outline: none;
388
- transition: border-color 0.2s, box-shadow 0.2s;
389
- }
390
- .form-input::placeholder { color: var(--color-placeholder); }
391
- .form-input:focus {
392
- border-color: var(--color-blue);
393
- box-shadow: var(--shadow-ring);
394
- }
395
- .form-input-error {
396
- border-color: #ff4444;
397
- box-shadow: rgba(255, 68, 68, 0.15) 0px 0px 0px 1px;
398
- }
399
- .form-error-text {
400
- font-size: 12px;
401
- color: #ff4444;
402
- }
403
- textarea.form-input {
404
- min-height: 100px;
405
- resize: vertical;
406
- }
407
-
408
- /* SPACING */
409
- .spacing-row {
410
- display: flex;
411
- align-items: center;
412
- gap: 16px;
413
- margin-bottom: 10px;
414
- }
415
- .spacing-box {
416
- height: 32px;
417
- background: var(--color-blue);
418
- border-radius: 4px;
419
- opacity: 0.6;
420
- }
421
- .spacing-label {
422
- font-family: var(--font-mono);
423
- font-size: 12px;
424
- color: var(--color-silver);
425
- min-width: 60px;
426
- text-align: right;
427
- }
428
-
429
- /* RADIUS */
430
- .radius-row {
431
- display: flex;
432
- gap: 20px;
433
- flex-wrap: wrap;
434
- align-items: flex-end;
435
- }
436
- .radius-item { text-align: center; }
437
- .radius-box {
438
- width: 72px;
439
- height: 72px;
440
- background: rgba(255, 255, 255, 0.06);
441
- border: 1px solid rgba(255, 255, 255, 0.08);
442
- margin-bottom: 8px;
443
- }
444
- .radius-value {
445
- font-family: var(--font-mono);
446
- font-size: 11px;
447
- color: var(--color-silver);
448
- }
449
- .radius-context {
450
- font-size: 10px;
451
- color: var(--color-ghost);
452
- margin-top: 2px;
453
- }
454
-
455
- /* ELEVATION */
456
- .elevation-grid {
457
- display: grid;
458
- grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
459
- gap: 24px;
460
- }
461
- .elevation-card {
462
- padding: 28px;
463
- border-radius: var(--radius-lg);
464
- background: #0a0a0d;
465
- min-height: 120px;
466
- }
467
- .elevation-label {
468
- font-size: 14px;
469
- font-weight: 600;
470
- margin-bottom: 6px;
471
- letter-spacing: -0.14px;
472
- }
473
- .elevation-desc {
474
- font-size: 12px;
475
- color: var(--color-silver);
476
- line-height: 1.5;
477
- }
478
-
479
- /* FOOTER */
480
- .footer {
481
- text-align: center;
482
- padding: 48px 32px;
483
- border-top: 1px solid rgba(255, 255, 255, 0.04);
484
- margin-top: 40px;
485
- }
486
- .footer p {
487
- font-size: 13px;
488
- color: var(--color-silver);
489
- }
490
- .footer a {
491
- color: var(--color-blue);
492
- text-decoration: none;
493
- }
494
-
495
- @media (max-width: 768px) {
496
- .hero h1 { font-size: 52px; letter-spacing: -2.5px; }
497
- .hero .subtitle { font-size: 16px; }
498
- .section-title { font-size: 36px; letter-spacing: -1.5px; }
499
- .nav-links { display: none; }
500
- .color-grid { grid-template-columns: repeat(2, 1fr); }
501
- .card-grid { grid-template-columns: 1fr; }
502
- .form-grid { grid-template-columns: 1fr; }
503
- .elevation-grid { grid-template-columns: 1fr; }
504
- }
505
- </style>
506
- </head>
507
- <body>
508
-
509
- <!-- DARK MODE BADGE -->
510
- <div class="dark-badge">Dark Mode</div>
511
-
512
- <!-- NAV -->
513
- <nav class="nav">
514
- <span class="nav-brand">awesome-design-md</span>
515
- <ul class="nav-links">
516
- <li><a href="#colors">Colors</a></li>
517
- <li><a href="#typography">Typography</a></li>
518
- <li><a href="#buttons">Buttons</a></li>
519
- <li><a href="#cards">Cards</a></li>
520
- <li><a href="#forms">Forms</a></li>
521
- <li><a href="#elevation">Elevation</a></li>
522
- <li><a href="#" class="nav-cta">Get Started</a></li>
523
- </ul>
524
- </nav>
525
-
526
- <!-- HERO -->
527
- <section class="hero">
528
- <h1>Design System<br>Inspired by Framer</h1>
529
- <p class="subtitle">A complete visual catalog of design tokens, components, and patterns extracted from Framer's marketing site and documented in DESIGN.md.</p>
530
- <div class="hero-buttons">
531
- <a href="#colors" class="btn-primary">Explore Tokens</a>
532
- <a href="#buttons" class="btn-secondary">View Components</a>
533
- </div>
534
- </section>
535
-
536
- <hr class="section-divider">
537
-
538
- <!-- 1. COLOR PALETTE -->
539
- <section class="section" id="colors">
540
- <h2 class="section-title">Color Palette</h2>
541
- <p class="section-desc">Every color from Framer's dark-first identity — pure black void, electric blue accent, and frosted white surfaces.</p>
542
-
543
- <div class="color-group">
544
- <h3 class="color-group-title">Primary</h3>
545
- <div class="color-grid">
546
- <div class="color-swatch">
547
- <div class="color-swatch-preview" style="background: #000000; border-bottom: 1px solid rgba(255,255,255,0.04);"></div>
548
- <div class="color-swatch-info">
549
- <div class="color-swatch-name">Void Black</div>
550
- <div class="color-swatch-hex">#000000</div>
551
- <div class="color-swatch-role">Primary background, void canvas</div>
552
- </div>
553
- </div>
554
- <div class="color-swatch">
555
- <div class="color-swatch-preview" style="background: #ffffff;"></div>
556
- <div class="color-swatch-info">
557
- <div class="color-swatch-name">Pure White</div>
558
- <div class="color-swatch-hex">#ffffff</div>
559
- <div class="color-swatch-role">Primary text, button fill</div>
560
- </div>
561
- </div>
562
- <div class="color-swatch">
563
- <div class="color-swatch-preview" style="background: #0099ff;"></div>
564
- <div class="color-swatch-info">
565
- <div class="color-swatch-name">Framer Blue</div>
566
- <div class="color-swatch-hex">#0099ff</div>
567
- <div class="color-swatch-role">Accent — links, borders, focus rings</div>
568
- </div>
569
- </div>
570
- </div>
571
- </div>
572
-
573
- <div class="color-group">
574
- <h3 class="color-group-title">Secondary & Accent</h3>
575
- <div class="color-grid">
576
- <div class="color-swatch">
577
- <div class="color-swatch-preview" style="background: #a6a6a6;"></div>
578
- <div class="color-swatch-info">
579
- <div class="color-swatch-name">Muted Silver</div>
580
- <div class="color-swatch-hex">#a6a6a6</div>
581
- <div class="color-swatch-role">Secondary text, descriptions</div>
582
- </div>
583
- </div>
584
- <div class="color-swatch">
585
- <div class="color-swatch-preview" style="background: #090909; border: 1px solid rgba(255,255,255,0.04);"></div>
586
- <div class="color-swatch-info">
587
- <div class="color-swatch-name">Near Black</div>
588
- <div class="color-swatch-hex">#090909</div>
589
- <div class="color-swatch-role">Elevated dark surface, card background</div>
590
- </div>
591
- </div>
592
- </div>
593
- </div>
594
-
595
- <div class="color-group">
596
- <h3 class="color-group-title">Surface & Background</h3>
597
- <div class="color-grid">
598
- <div class="color-swatch">
599
- <div class="color-swatch-preview" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.04);"></div>
600
- <div class="color-swatch-info">
601
- <div class="color-swatch-name">Frosted White</div>
602
- <div class="color-swatch-hex">rgba(255,255,255,0.1)</div>
603
- <div class="color-swatch-role">Glass-effect buttons, translucent surfaces</div>
604
- </div>
605
- </div>
606
- <div class="color-swatch">
607
- <div class="color-swatch-preview" style="background: rgba(255,255,255,0.6);"></div>
608
- <div class="color-swatch-info">
609
- <div class="color-swatch-name">Ghost White</div>
610
- <div class="color-swatch-hex">rgba(255,255,255,0.6)</div>
611
- <div class="color-swatch-role">Tertiary text, placeholders</div>
612
- </div>
613
- </div>
614
- </div>
615
- </div>
616
-
617
- <div class="color-group">
618
- <h3 class="color-group-title">Semantic</h3>
619
- <div class="color-grid">
620
- <div class="color-swatch">
621
- <div class="color-swatch-preview" style="background: rgba(0,153,255,0.15); border: 1px solid rgba(0,153,255,0.15);"></div>
622
- <div class="color-swatch-info">
623
- <div class="color-swatch-name">Blue Glow</div>
624
- <div class="color-swatch-hex">rgba(0,153,255,0.15)</div>
625
- <div class="color-swatch-role">Focus ring shadow, blue halo</div>
626
- </div>
627
- </div>
628
- <div class="color-swatch">
629
- <div class="color-swatch-preview" style="background: #0000ee;"></div>
630
- <div class="color-swatch-info">
631
- <div class="color-swatch-name">Default Link Blue</div>
632
- <div class="color-swatch-hex">#0000ee</div>
633
- <div class="color-swatch-role">Browser default links (rare)</div>
634
- </div>
635
- </div>
636
- </div>
637
- </div>
638
- </section>
639
-
640
- <hr class="section-divider">
641
-
642
- <!-- 2. TYPOGRAPHY -->
643
- <section class="section" id="typography">
644
- <h2 class="section-title">Typography Scale</h2>
645
- <p class="section-desc">GT Walsheim for compressed display headlines, Inter for refined body and UI text with extensive OpenType features.</p>
646
-
647
- <div class="type-sample">
648
- <div class="type-label">Display Hero — 110px / 500 / 0.85 / -5.5px</div>
649
- <div style="font-size: 80px; font-weight: 700; letter-spacing: -4px; line-height: 0.88;">Build better sites</div>
650
- <div class="type-spec">GT Walsheim Framer Medium (shown in Inter fallback) — extreme negative tracking, compressed impact</div>
651
- </div>
652
-
653
- <div class="type-sample">
654
- <div class="type-label">Section Display — 85px / 500 / 0.95 / -4.25px</div>
655
- <div style="font-size: 64px; font-weight: 700; letter-spacing: -3.5px; line-height: 0.95;">Scale without limits</div>
656
- <div class="type-spec">GT Walsheim Medium (shown in Inter fallback) — OpenType: ss02, tnum</div>
657
- </div>
658
-
659
- <div class="type-sample">
660
- <div class="type-label">Section Heading — 62px / 500 / 1.00 / -3.1px</div>
661
- <div style="font-size: 52px; font-weight: 600; letter-spacing: -2.8px; line-height: 1.0;">Create, collaborate</div>
662
- <div class="type-spec">GT Walsheim Medium — OpenType: ss02</div>
663
- </div>
664
-
665
- <div class="type-sample">
666
- <div class="type-label">Feature Heading — 32px / 500 / 1.13 / -1px</div>
667
- <div style="font-size: 32px; font-weight: 500; letter-spacing: -1px; line-height: 1.13;">Powering ambitious sites</div>
668
- <div class="type-spec">GT Walsheim Medium — tightest of the smaller headings</div>
669
- </div>
670
-
671
- <div class="type-sample">
672
- <div class="type-label">Card Title — 24px / 400 / 1.30 / -0.01px</div>
673
- <div style="font-size: 24px; font-weight: 400; letter-spacing: -0.01px; line-height: 1.3;">Interactive components that respond</div>
674
- <div class="type-spec">Inter Variable — OpenType: cv01, cv05, cv09, cv11, ss03, ss07</div>
675
- </div>
676
-
677
- <div class="type-sample">
678
- <div class="type-label">Feature Title — 22px / 700 / 1.20 / -0.8px</div>
679
- <div style="font-size: 22px; font-weight: 700; letter-spacing: -0.8px; line-height: 1.2;">Visual canvas meets code precision</div>
680
- <div class="type-spec">Inter — OpenType: cv05</div>
681
- </div>
682
-
683
- <div class="type-sample">
684
- <div class="type-label">Body Large — 18px / 400 / 1.30 / -0.01px</div>
685
- <div style="font-size: 18px; font-weight: 400; letter-spacing: -0.01px; line-height: 1.3; color: var(--color-silver);">Framer brings together the power of a visual canvas with the flexibility of code to create stunning, production-ready websites.</div>
686
- <div class="type-spec">Inter Variable — OpenType: cv01, cv05, cv09, cv11, ss03, ss07</div>
687
- </div>
688
-
689
- <div class="type-sample">
690
- <div class="type-label">Body — 15px / 400 / 1.30 / -0.01px</div>
691
- <div style="font-size: 15px; font-weight: 400; letter-spacing: -0.01px; line-height: 1.3; color: var(--color-silver);">Design and publish performant sites. Framer handles layout, interactions, and responsive behavior so you can focus on creativity.</div>
692
- <div class="type-spec">Inter Variable — OpenType: cv11</div>
693
- </div>
694
-
695
- <div class="type-sample">
696
- <div class="type-label">Caption — 14px / 400 / 1.40</div>
697
- <div style="font-size: 14px; font-weight: 400; line-height: 1.4; color: var(--color-silver);">Responsive breakpoints with automatic layout adjustments across all devices.</div>
698
- <div class="type-spec">Inter Variable — OpenType: cv01, cv06, cv09, cv11, ss03, ss07</div>
699
- </div>
700
-
701
- <div class="type-sample">
702
- <div class="type-label">Label — 13px / 500 / 1.60</div>
703
- <div style="font-size: 13px; font-weight: 500; line-height: 1.6; color: var(--color-silver);">Component interaction settings</div>
704
- <div class="type-spec">Inter — OpenType: cv06, cv11, ss03</div>
705
- </div>
706
-
707
- <div class="type-sample">
708
- <div class="type-label">Micro Code — 10.4px / 400 / 1.60</div>
709
- <div style="font-family: var(--font-mono); font-size: 10.4px; font-weight: 400; line-height: 1.6; color: var(--color-blue);">npx framer-motion@latest</div>
710
- <div class="type-spec">Azeret Mono — OpenType: cv06, cv11, ss03</div>
711
- </div>
712
- </section>
713
-
714
- <hr class="section-divider">
715
-
716
- <!-- 3. BUTTONS -->
717
- <section class="section" id="buttons">
718
- <h2 class="section-title">Button Variants</h2>
719
- <p class="section-desc">All pill-shaped — no sharp corners on interactive elements. 40px–100px radius range.</p>
720
-
721
- <div class="button-showcase">
722
- <div class="btn-item">
723
- <a href="#" class="btn-primary">Start for Free</a>
724
- <span class="btn-label">Primary / White Pill</span>
725
- </div>
726
- <div class="btn-item">
727
- <a href="#" class="btn-secondary">Learn More</a>
728
- <span class="btn-label">Frosted / Glass</span>
729
- </div>
730
- <div class="btn-item">
731
- <button class="btn-ghost">View Docs</button>
732
- <span class="btn-label">Ghost / Outline</span>
733
- </div>
734
- <div class="btn-item">
735
- <button class="btn-blue">Upgrade Plan</button>
736
- <span class="btn-label">Blue / Accent</span>
737
- </div>
738
- <div class="btn-item">
739
- <a href="#" class="btn-primary" style="padding: 8px 18px; font-size: 13px;">Sign Up</a>
740
- <span class="btn-label">Small / Nav CTA</span>
741
- </div>
742
- </div>
743
- </section>
744
-
745
- <hr class="section-divider">
746
-
747
- <!-- 4. CARDS -->
748
- <section class="section" id="cards">
749
- <h2 class="section-title">Card Examples</h2>
750
- <p class="section-desc">Dark surface cards with Framer Blue ring borders and multi-layer floating shadows.</p>
751
-
752
- <div class="card-grid">
753
- <div class="card">
754
- <div class="card-tag">Visual Canvas</div>
755
- <h3 class="card-title">Design Freedom</h3>
756
- <p class="card-text">Build layouts with a true visual editor that outputs clean, production-ready code. Drag, resize, and animate with precision.</p>
757
- </div>
758
- <div class="card card-elevated">
759
- <div class="card-tag">Interactive</div>
760
- <h3 class="card-title">Smart Components</h3>
761
- <p class="card-text">Create reusable components with built-in variants, interactions, and responsive overrides that scale across your project.</p>
762
- </div>
763
- <div class="card">
764
- <div class="card-tag">Performance</div>
765
- <h3 class="card-title">Lightning Fast</h3>
766
- <p class="card-text">Sites built on Framer's infrastructure load instantly with optimized assets, code splitting, and edge delivery.</p>
767
- </div>
768
- </div>
769
- </section>
770
-
771
- <hr class="section-divider">
772
-
773
- <!-- 5. FORMS -->
774
- <section class="section" id="forms">
775
- <h2 class="section-title">Form Elements</h2>
776
- <p class="section-desc">Dark inputs with Framer Blue focus rings and minimal chrome.</p>
777
-
778
- <div class="form-grid">
779
- <div class="form-group">
780
- <label class="form-label">Full Name</label>
781
- <input type="text" class="form-input" placeholder="Enter your name">
782
- </div>
783
- <div class="form-group">
784
- <label class="form-label">Email Address (Focus State)</label>
785
- <input type="email" class="form-input" placeholder="you@example.com" style="border-color: var(--color-blue); box-shadow: var(--shadow-ring);">
786
- </div>
787
- <div class="form-group">
788
- <label class="form-label">Project URL (Error State)</label>
789
- <input type="url" class="form-input form-input-error" placeholder="https://yoursite.framer.app" value="invalid-url">
790
- <span class="form-error-text">Please enter a valid URL</span>
791
- </div>
792
- <div class="form-group">
793
- <label class="form-label">Description</label>
794
- <textarea class="form-input" placeholder="Describe your project..."></textarea>
795
- </div>
796
- </div>
797
- </section>
798
-
799
- <hr class="section-divider">
800
-
801
- <!-- 6. SPACING -->
802
- <section class="section" id="spacing">
803
- <h2 class="section-title">Spacing Scale</h2>
804
- <p class="section-desc">8px base unit system with fine-grained sub-8px values for micro-adjustments.</p>
805
-
806
- <div>
807
- <div class="spacing-row"><span class="spacing-label">2px</span><div class="spacing-box" style="width: 8px;"></div></div>
808
- <div class="spacing-row"><span class="spacing-label">4px</span><div class="spacing-box" style="width: 16px;"></div></div>
809
- <div class="spacing-row"><span class="spacing-label">6px</span><div class="spacing-box" style="width: 24px;"></div></div>
810
- <div class="spacing-row"><span class="spacing-label">8px</span><div class="spacing-box" style="width: 40px;"></div></div>
811
- <div class="spacing-row"><span class="spacing-label">10px</span><div class="spacing-box" style="width: 56px;"></div></div>
812
- <div class="spacing-row"><span class="spacing-label">12px</span><div class="spacing-box" style="width: 72px;"></div></div>
813
- <div class="spacing-row"><span class="spacing-label">15px</span><div class="spacing-box" style="width: 96px;"></div></div>
814
- <div class="spacing-row"><span class="spacing-label">20px</span><div class="spacing-box" style="width: 140px;"></div></div>
815
- <div class="spacing-row"><span class="spacing-label">30px</span><div class="spacing-box" style="width: 220px;"></div></div>
816
- <div class="spacing-row"><span class="spacing-label">35px</span><div class="spacing-box" style="width: 260px;"></div></div>
817
- </div>
818
- </section>
819
-
820
- <hr class="section-divider">
821
-
822
- <!-- 7. BORDER RADIUS -->
823
- <section class="section" id="radius">
824
- <h2 class="section-title">Border Radius Scale</h2>
825
- <p class="section-desc">From nearly-squared micro edges to full pill shapes — radius grows with element importance.</p>
826
-
827
- <div class="radius-row">
828
- <div class="radius-item">
829
- <div class="radius-box" style="border-radius: 1px;"></div>
830
- <div class="radius-value">1px</div>
831
- <div class="radius-context">Micro</div>
832
- </div>
833
- <div class="radius-item">
834
- <div class="radius-box" style="border-radius: 5px;"></div>
835
- <div class="radius-value">5px</div>
836
- <div class="radius-context">Thumbnails</div>
837
- </div>
838
- <div class="radius-item">
839
- <div class="radius-box" style="border-radius: 8px;"></div>
840
- <div class="radius-value">8px</div>
841
- <div class="radius-context">Components</div>
842
- </div>
843
- <div class="radius-item">
844
- <div class="radius-box" style="border-radius: 12px;"></div>
845
- <div class="radius-value">12px</div>
846
- <div class="radius-context">Cards</div>
847
- </div>
848
- <div class="radius-item">
849
- <div class="radius-box" style="border-radius: 15px;"></div>
850
- <div class="radius-value">15px</div>
851
- <div class="radius-context">Large cards</div>
852
- </div>
853
- <div class="radius-item">
854
- <div class="radius-box" style="border-radius: 20px;"></div>
855
- <div class="radius-value">20px</div>
856
- <div class="radius-context">Containers</div>
857
- </div>
858
- <div class="radius-item">
859
- <div class="radius-box" style="border-radius: 40px;"></div>
860
- <div class="radius-value">40px</div>
861
- <div class="radius-context">Nav pills</div>
862
- </div>
863
- <div class="radius-item">
864
- <div class="radius-box" style="border-radius: 100px; width: 72px; height: 44px;"></div>
865
- <div class="radius-value">100px</div>
866
- <div class="radius-context">Full pill</div>
867
- </div>
868
- </div>
869
- </section>
870
-
871
- <hr class="section-divider">
872
-
873
- <!-- 8. ELEVATION -->
874
- <section class="section" id="elevation">
875
- <h2 class="section-title">Elevation & Depth</h2>
876
- <p class="section-desc">Inverted elevation system — blue ring shadows for containment, white edge highlights for floating elements.</p>
877
-
878
- <div class="elevation-grid">
879
- <div class="elevation-card" style="box-shadow: none; border: 1px solid rgba(255,255,255,0.03);">
880
- <div class="elevation-label">Level 0 — Flat</div>
881
- <div class="elevation-desc">No shadow. Pure black surface. The void baseline that everything else rises from.</div>
882
- </div>
883
- <div class="elevation-card" style="box-shadow: var(--shadow-ring);">
884
- <div class="elevation-label">Level 1 — Ring</div>
885
- <div class="elevation-desc">Framer Blue glow ring (rgba(0,153,255,0.15) 1px). Card borders, interactive outlines.</div>
886
- </div>
887
- <div class="elevation-card" style="box-shadow: var(--shadow-contained);">
888
- <div class="elevation-label">Level 2 — Contained</div>
889
- <div class="elevation-desc">Near-black ring (rgb(9,9,9) 2px). Subtle containment on dark surfaces.</div>
890
- </div>
891
- <div class="elevation-card" style="box-shadow: var(--shadow-floating);">
892
- <div class="elevation-label">Level 3 — Floating</div>
893
- <div class="elevation-desc">White top-edge highlight + deep ambient shadow (30px spread). Elevated cards, modals, dropdowns.</div>
894
- </div>
895
- </div>
896
- </section>
897
-
898
- <!-- FOOTER -->
899
- <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>
900
-
901
- </body>
902
- </html>