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.
Files changed (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +172 -0
  3. package/bin/cli.mjs +126 -0
  4. package/design-md/airbnb/DESIGN.md +246 -0
  5. package/design-md/airbnb/README.md +23 -0
  6. package/design-md/airbnb/preview-dark.html +234 -0
  7. package/design-md/airbnb/preview.html +233 -0
  8. package/design-md/airtable/DESIGN.md +89 -0
  9. package/design-md/airtable/README.md +23 -0
  10. package/design-md/airtable/preview-dark.html +165 -0
  11. package/design-md/airtable/preview.html +164 -0
  12. package/design-md/apple/DESIGN.md +313 -0
  13. package/design-md/apple/README.md +24 -0
  14. package/design-md/apple/preview-dark.html +422 -0
  15. package/design-md/apple/preview.html +416 -0
  16. package/design-md/bmw/DESIGN.md +180 -0
  17. package/design-md/bmw/README.md +23 -0
  18. package/design-md/bmw/preview-dark.html +211 -0
  19. package/design-md/bmw/preview.html +210 -0
  20. package/design-md/cal/DESIGN.md +259 -0
  21. package/design-md/cal/README.md +23 -0
  22. package/design-md/cal/preview-dark.html +449 -0
  23. package/design-md/cal/preview.html +575 -0
  24. package/design-md/claude/DESIGN.md +312 -0
  25. package/design-md/claude/README.md +24 -0
  26. package/design-md/claude/preview-dark.html +803 -0
  27. package/design-md/claude/preview.html +826 -0
  28. package/design-md/clay/DESIGN.md +304 -0
  29. package/design-md/clay/README.md +23 -0
  30. package/design-md/clay/preview-dark.html +318 -0
  31. package/design-md/clay/preview.html +317 -0
  32. package/design-md/clickhouse/DESIGN.md +281 -0
  33. package/design-md/clickhouse/README.md +24 -0
  34. package/design-md/clickhouse/preview-dark.html +834 -0
  35. package/design-md/clickhouse/preview.html +786 -0
  36. package/design-md/cohere/DESIGN.md +266 -0
  37. package/design-md/cohere/README.md +24 -0
  38. package/design-md/cohere/preview-dark.html +810 -0
  39. package/design-md/cohere/preview.html +814 -0
  40. package/design-md/coinbase/DESIGN.md +129 -0
  41. package/design-md/coinbase/README.md +23 -0
  42. package/design-md/coinbase/preview-dark.html +164 -0
  43. package/design-md/coinbase/preview.html +163 -0
  44. package/design-md/composio/DESIGN.md +307 -0
  45. package/design-md/composio/README.md +24 -0
  46. package/design-md/composio/preview-dark.html +958 -0
  47. package/design-md/composio/preview.html +933 -0
  48. package/design-md/cursor/DESIGN.md +309 -0
  49. package/design-md/cursor/README.md +24 -0
  50. package/design-md/cursor/preview-dark.html +395 -0
  51. package/design-md/cursor/preview.html +385 -0
  52. package/design-md/elevenlabs/DESIGN.md +265 -0
  53. package/design-md/elevenlabs/README.md +23 -0
  54. package/design-md/elevenlabs/preview-dark.html +254 -0
  55. package/design-md/elevenlabs/preview.html +253 -0
  56. package/design-md/expo/DESIGN.md +281 -0
  57. package/design-md/expo/README.md +24 -0
  58. package/design-md/expo/preview-dark.html +536 -0
  59. package/design-md/expo/preview.html +536 -0
  60. package/design-md/figma/DESIGN.md +220 -0
  61. package/design-md/figma/README.md +24 -0
  62. package/design-md/figma/preview-dark.html +831 -0
  63. package/design-md/figma/preview.html +841 -0
  64. package/design-md/framer/DESIGN.md +246 -0
  65. package/design-md/framer/README.md +23 -0
  66. package/design-md/framer/preview-dark.html +904 -0
  67. package/design-md/framer/preview.html +885 -0
  68. package/design-md/hashicorp/DESIGN.md +278 -0
  69. package/design-md/hashicorp/README.md +24 -0
  70. package/design-md/hashicorp/preview-dark.html +1206 -0
  71. package/design-md/hashicorp/preview.html +1195 -0
  72. package/design-md/ibm/DESIGN.md +332 -0
  73. package/design-md/ibm/README.md +24 -0
  74. package/design-md/ibm/preview-dark.html +445 -0
  75. package/design-md/ibm/preview.html +430 -0
  76. package/design-md/intercom/DESIGN.md +146 -0
  77. package/design-md/intercom/README.md +23 -0
  78. package/design-md/intercom/preview-dark.html +185 -0
  79. package/design-md/intercom/preview.html +184 -0
  80. package/design-md/kraken/DESIGN.md +125 -0
  81. package/design-md/kraken/README.md +23 -0
  82. package/design-md/kraken/preview-dark.html +169 -0
  83. package/design-md/kraken/preview.html +168 -0
  84. package/design-md/linear.app/DESIGN.md +367 -0
  85. package/design-md/linear.app/README.md +24 -0
  86. package/design-md/linear.app/preview-dark.html +385 -0
  87. package/design-md/linear.app/preview.html +375 -0
  88. package/design-md/lovable/DESIGN.md +298 -0
  89. package/design-md/lovable/README.md +24 -0
  90. package/design-md/lovable/preview-dark.html +351 -0
  91. package/design-md/lovable/preview.html +350 -0
  92. package/design-md/minimax/DESIGN.md +257 -0
  93. package/design-md/minimax/README.md +24 -0
  94. package/design-md/minimax/preview-dark.html +1267 -0
  95. package/design-md/minimax/preview.html +1253 -0
  96. package/design-md/mintlify/DESIGN.md +326 -0
  97. package/design-md/mintlify/README.md +24 -0
  98. package/design-md/mintlify/preview-dark.html +411 -0
  99. package/design-md/mintlify/preview.html +400 -0
  100. package/design-md/miro/DESIGN.md +108 -0
  101. package/design-md/miro/README.md +23 -0
  102. package/design-md/miro/preview-dark.html +174 -0
  103. package/design-md/miro/preview.html +173 -0
  104. package/design-md/mistral.ai/DESIGN.md +261 -0
  105. package/design-md/mistral.ai/README.md +24 -0
  106. package/design-md/mistral.ai/preview-dark.html +813 -0
  107. package/design-md/mistral.ai/preview.html +812 -0
  108. package/design-md/mongodb/DESIGN.md +266 -0
  109. package/design-md/mongodb/README.md +23 -0
  110. package/design-md/mongodb/preview-dark.html +262 -0
  111. package/design-md/mongodb/preview.html +261 -0
  112. package/design-md/notion/DESIGN.md +309 -0
  113. package/design-md/notion/README.md +24 -0
  114. package/design-md/notion/preview-dark.html +374 -0
  115. package/design-md/notion/preview.html +366 -0
  116. package/design-md/nvidia/DESIGN.md +293 -0
  117. package/design-md/nvidia/README.md +24 -0
  118. package/design-md/nvidia/preview-dark.html +376 -0
  119. package/design-md/nvidia/preview.html +368 -0
  120. package/design-md/ollama/DESIGN.md +267 -0
  121. package/design-md/ollama/README.md +24 -0
  122. package/design-md/ollama/preview-dark.html +678 -0
  123. package/design-md/ollama/preview.html +678 -0
  124. package/design-md/opencode.ai/DESIGN.md +281 -0
  125. package/design-md/opencode.ai/README.md +24 -0
  126. package/design-md/opencode.ai/preview-dark.html +368 -0
  127. package/design-md/opencode.ai/preview.html +359 -0
  128. package/design-md/pinterest/DESIGN.md +230 -0
  129. package/design-md/pinterest/README.md +23 -0
  130. package/design-md/pinterest/preview-dark.html +233 -0
  131. package/design-md/pinterest/preview.html +232 -0
  132. package/design-md/posthog/DESIGN.md +256 -0
  133. package/design-md/posthog/README.md +23 -0
  134. package/design-md/posthog/preview-dark.html +701 -0
  135. package/design-md/posthog/preview.html +751 -0
  136. package/design-md/raycast/DESIGN.md +268 -0
  137. package/design-md/raycast/README.md +23 -0
  138. package/design-md/raycast/preview-dark.html +608 -0
  139. package/design-md/raycast/preview.html +690 -0
  140. package/design-md/replicate/DESIGN.md +261 -0
  141. package/design-md/replicate/README.md +24 -0
  142. package/design-md/replicate/preview-dark.html +828 -0
  143. package/design-md/replicate/preview.html +831 -0
  144. package/design-md/resend/DESIGN.md +303 -0
  145. package/design-md/resend/README.md +23 -0
  146. package/design-md/resend/preview-dark.html +357 -0
  147. package/design-md/resend/preview.html +356 -0
  148. package/design-md/revolut/DESIGN.md +185 -0
  149. package/design-md/revolut/README.md +23 -0
  150. package/design-md/revolut/preview-dark.html +234 -0
  151. package/design-md/revolut/preview.html +233 -0
  152. package/design-md/runwayml/DESIGN.md +244 -0
  153. package/design-md/runwayml/README.md +24 -0
  154. package/design-md/runwayml/preview-dark.html +664 -0
  155. package/design-md/runwayml/preview.html +665 -0
  156. package/design-md/sanity/DESIGN.md +357 -0
  157. package/design-md/sanity/README.md +24 -0
  158. package/design-md/sanity/preview-dark.html +995 -0
  159. package/design-md/sanity/preview.html +1140 -0
  160. package/design-md/sentry/DESIGN.md +262 -0
  161. package/design-md/sentry/README.md +24 -0
  162. package/design-md/sentry/preview-dark.html +628 -0
  163. package/design-md/sentry/preview.html +953 -0
  164. package/design-md/spacex/DESIGN.md +194 -0
  165. package/design-md/spacex/README.md +23 -0
  166. package/design-md/spacex/preview-dark.html +223 -0
  167. package/design-md/spacex/preview.html +222 -0
  168. package/design-md/spotify/DESIGN.md +246 -0
  169. package/design-md/spotify/README.md +23 -0
  170. package/design-md/spotify/preview-dark.html +231 -0
  171. package/design-md/spotify/preview.html +230 -0
  172. package/design-md/stripe/DESIGN.md +322 -0
  173. package/design-md/stripe/README.md +24 -0
  174. package/design-md/stripe/preview-dark.html +430 -0
  175. package/design-md/stripe/preview.html +421 -0
  176. package/design-md/supabase/DESIGN.md +255 -0
  177. package/design-md/supabase/README.md +24 -0
  178. package/design-md/supabase/preview-dark.html +977 -0
  179. package/design-md/supabase/preview.html +955 -0
  180. package/design-md/superhuman/DESIGN.md +252 -0
  181. package/design-md/superhuman/README.md +23 -0
  182. package/design-md/superhuman/preview-dark.html +975 -0
  183. package/design-md/superhuman/preview.html +953 -0
  184. package/design-md/together.ai/DESIGN.md +263 -0
  185. package/design-md/together.ai/README.md +24 -0
  186. package/design-md/together.ai/preview-dark.html +892 -0
  187. package/design-md/together.ai/preview.html +897 -0
  188. package/design-md/uber/DESIGN.md +295 -0
  189. package/design-md/uber/README.md +24 -0
  190. package/design-md/uber/preview-dark.html +1164 -0
  191. package/design-md/uber/preview.html +1163 -0
  192. package/design-md/vercel/DESIGN.md +310 -0
  193. package/design-md/vercel/README.md +24 -0
  194. package/design-md/vercel/preview-dark.html +370 -0
  195. package/design-md/vercel/preview.html +369 -0
  196. package/design-md/voltagent/DESIGN.md +323 -0
  197. package/design-md/voltagent/README.md +24 -0
  198. package/design-md/voltagent/preview-dark.html +487 -0
  199. package/design-md/voltagent/preview.html +766 -0
  200. package/design-md/warp/DESIGN.md +253 -0
  201. package/design-md/warp/README.md +23 -0
  202. package/design-md/warp/preview-dark.html +502 -0
  203. package/design-md/warp/preview.html +535 -0
  204. package/design-md/webflow/DESIGN.md +92 -0
  205. package/design-md/webflow/README.md +23 -0
  206. package/design-md/webflow/preview-dark.html +147 -0
  207. package/design-md/webflow/preview.html +146 -0
  208. package/design-md/wise/DESIGN.md +173 -0
  209. package/design-md/wise/README.md +23 -0
  210. package/design-md/wise/preview-dark.html +230 -0
  211. package/design-md/wise/preview.html +229 -0
  212. package/design-md/x.ai/DESIGN.md +257 -0
  213. package/design-md/x.ai/README.md +24 -0
  214. package/design-md/x.ai/preview-dark.html +358 -0
  215. package/design-md/x.ai/preview.html +409 -0
  216. package/design-md/zapier/DESIGN.md +328 -0
  217. package/design-md/zapier/README.md +24 -0
  218. package/design-md/zapier/preview-dark.html +382 -0
  219. package/design-md/zapier/preview.html +374 -0
  220. package/package.json +33 -0
@@ -0,0 +1,416 @@
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: Apple (Light)</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
10
+ <style>
11
+ :root {
12
+ --black: #1d1d1f;
13
+ --white: #ffffff;
14
+ --pure-black: #000000;
15
+ --light-gray: #f5f5f7;
16
+ --apple-blue: #0071e3;
17
+ --link-blue: #0066cc;
18
+ --link-blue-dark: #2997ff;
19
+ --gray-80: rgba(0,0,0,0.8);
20
+ --gray-48: rgba(0,0,0,0.48);
21
+ --button-active: #ededf2;
22
+ --filter-bg: #fafafc;
23
+ --dark-surface-1: #272729;
24
+ --dark-surface-2: #28282a;
25
+ --dark-surface-3: #2a2a2d;
26
+ --overlay: rgba(210,210,215,0.64);
27
+ --shadow-card: rgba(0,0,0,0.22) 3px 5px 30px 0px;
28
+ --nav-bg: rgba(0,0,0,0.8);
29
+ --font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Helvetica, Arial, sans-serif;
30
+ --font-text: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Helvetica, Arial, sans-serif;
31
+ }
32
+ * { margin: 0; padding: 0; box-sizing: border-box; }
33
+ body {
34
+ background: var(--white);
35
+ color: var(--black);
36
+ font-family: var(--font-text);
37
+ font-size: 17px; font-weight: 400; line-height: 1.47;
38
+ letter-spacing: -0.374px;
39
+ -webkit-font-smoothing: antialiased;
40
+ }
41
+
42
+ /* NAV */
43
+ .nav {
44
+ position: sticky; top: 0; z-index: 100;
45
+ display: flex; align-items: center; justify-content: space-between;
46
+ padding: 0 32px; height: 48px;
47
+ background: var(--nav-bg);
48
+ backdrop-filter: saturate(180%) blur(20px);
49
+ -webkit-backdrop-filter: saturate(180%) blur(20px);
50
+ }
51
+ .nav-brand { font-size: 14px; font-weight: 600; color: #ffffff; text-decoration: none; letter-spacing: -0.28px; }
52
+ .nav-links { display: flex; gap: 24px; list-style: none; }
53
+ .nav-links a { font-size: 12px; font-weight: 400; color: rgba(255,255,255,0.8); text-decoration: none; transition: color 0.15s; }
54
+ .nav-links a:hover { color: #ffffff; }
55
+ .nav-cta {
56
+ display: inline-block; background: var(--apple-blue); color: #ffffff;
57
+ padding: 4px 12px; border-radius: 980px; font-size: 12px; font-weight: 400;
58
+ text-decoration: none; transition: opacity 0.15s;
59
+ }
60
+ .nav-cta:hover { opacity: 0.88; }
61
+
62
+ /* HERO */
63
+ .hero { padding: 96px 32px 80px; text-align: center; background: var(--light-gray); }
64
+ .hero h1 {
65
+ font-family: var(--font-display);
66
+ font-size: 56px; font-weight: 600; line-height: 1.07;
67
+ letter-spacing: -0.28px; color: var(--black); margin-bottom: 16px;
68
+ }
69
+ .hero p { font-size: 21px; font-weight: 400; line-height: 1.19; letter-spacing: 0.231px; color: var(--gray-80); max-width: 600px; margin: 0 auto 32px; }
70
+ .hero-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
71
+ .btn-blue {
72
+ display: inline-block; background: var(--apple-blue); color: #ffffff;
73
+ padding: 8px 22px; border-radius: 980px; border: none;
74
+ font-family: var(--font-text); font-size: 17px; font-weight: 400;
75
+ text-decoration: none; cursor: pointer; transition: opacity 0.15s;
76
+ }
77
+ .btn-blue:hover { opacity: 0.88; }
78
+ .btn-outline {
79
+ display: inline-block; background: transparent; color: var(--apple-blue);
80
+ padding: 8px 22px; border-radius: 980px;
81
+ border: 1px solid var(--apple-blue);
82
+ font-family: var(--font-text); font-size: 17px; font-weight: 400;
83
+ text-decoration: none; cursor: pointer; transition: background 0.15s;
84
+ }
85
+ .btn-outline:hover { background: rgba(0,113,227,0.06); }
86
+
87
+ /* SECTIONS */
88
+ .section { padding: 64px 32px; max-width: 980px; margin: 0 auto; }
89
+ .section-label { font-family: var(--font-text); font-size: 12px; font-weight: 600; color: var(--gray-48); text-transform: uppercase; margin-bottom: 8px; letter-spacing: 0.5px; }
90
+ .section-title { font-family: var(--font-display); font-size: 40px; font-weight: 600; line-height: 1.10; letter-spacing: -0.28px; margin-bottom: 32px; }
91
+ .section-divider { border: none; border-top: 1px solid #d2d2d7; margin: 0; }
92
+
93
+ /* DARK SECTION (full-width) */
94
+ .section-dark { background: var(--pure-black); color: #ffffff; padding: 64px 32px; }
95
+ .section-dark .section-inner { max-width: 980px; margin: 0 auto; }
96
+ .section-dark .section-label { color: rgba(255,255,255,0.48); }
97
+ .section-dark .section-title { color: #ffffff; }
98
+
99
+ /* LIGHT-GRAY SECTION */
100
+ .section-gray { background: var(--light-gray); padding: 64px 32px; }
101
+ .section-gray .section-inner { max-width: 980px; margin: 0 auto; }
102
+
103
+ /* COLORS */
104
+ .color-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 12px; margin-bottom: 24px; }
105
+ .color-swatch { border-radius: 8px; overflow: hidden; background: #ffffff; box-shadow: 0 0 0 1px rgba(0,0,0,0.08); }
106
+ .color-swatch-block { height: 72px; width: 100%; }
107
+ .color-swatch-info { padding: 10px 12px; }
108
+ .color-swatch-name { font-size: 13px; font-weight: 600; margin-bottom: 2px; letter-spacing: -0.26px; color: var(--black); }
109
+ .color-swatch-hex { font-size: 12px; color: var(--gray-48); font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace; }
110
+ .color-swatch-role { font-size: 11px; color: var(--gray-48); margin-top: 3px; }
111
+ .color-group-label { font-size: 14px; font-weight: 600; color: var(--gray-80); letter-spacing: -0.224px; margin: 24px 0 10px; }
112
+
113
+ /* TYPOGRAPHY */
114
+ .type-sample { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid #d2d2d7; }
115
+ .type-sample:last-child { border-bottom: none; }
116
+ .type-meta { font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace; font-size: 12px; font-weight: 400; color: var(--gray-48); margin-top: 8px; }
117
+
118
+ /* BUTTONS */
119
+ .button-row { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
120
+ .button-item { text-align: center; }
121
+ .button-label { font-size: 12px; font-weight: 400; color: var(--gray-48); margin-top: 8px; }
122
+ .btn-dark-fill {
123
+ display: inline-block; background: var(--black); color: #ffffff;
124
+ padding: 8px 22px; border-radius: 8px; border: none;
125
+ font-family: var(--font-text); font-size: 17px; font-weight: 400;
126
+ text-decoration: none; cursor: pointer;
127
+ }
128
+ .btn-filter {
129
+ display: inline-block; background: var(--filter-bg); color: var(--gray-80);
130
+ padding: 6px 14px; border-radius: 11px; border: 3px solid rgba(0,0,0,0.04);
131
+ font-family: var(--font-text); font-size: 14px; font-weight: 400;
132
+ text-decoration: none; cursor: pointer;
133
+ }
134
+ .btn-media {
135
+ display: inline-flex; align-items: center; justify-content: center;
136
+ width: 36px; height: 36px; border-radius: 50%;
137
+ background: var(--overlay); color: var(--gray-48); border: none;
138
+ font-size: 14px; cursor: pointer;
139
+ }
140
+
141
+ /* CARDS */
142
+ .card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
143
+ .card { background: var(--light-gray); border-radius: 8px; padding: 32px 24px; transition: box-shadow 0.3s; }
144
+ .card:hover { box-shadow: var(--shadow-card); }
145
+ .card h3 { font-family: var(--font-display); font-size: 28px; font-weight: 400; letter-spacing: 0.196px; line-height: 1.14; margin-bottom: 8px; }
146
+ .card p { font-size: 14px; color: var(--gray-80); line-height: 1.43; letter-spacing: -0.224px; }
147
+ .card-link { font-size: 14px; color: var(--link-blue); text-decoration: none; margin-top: 12px; display: inline-block; }
148
+ .card-link:hover { text-decoration: underline; }
149
+
150
+ .card-dark { background: var(--dark-surface-1); color: #ffffff; }
151
+ .card-dark h3 { color: #ffffff; }
152
+ .card-dark p { color: rgba(255,255,255,0.7); }
153
+ .card-dark .card-link { color: var(--link-blue-dark); }
154
+
155
+ /* FORMS */
156
+ .form-group { margin-bottom: 20px; max-width: 400px; }
157
+ .form-label { display: block; font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 6px; letter-spacing: -0.224px; }
158
+ .form-input {
159
+ width: 100%; background: var(--white); color: var(--black);
160
+ border: 1px solid #d2d2d7; padding: 10px 14px; border-radius: 8px;
161
+ font-family: var(--font-text); font-size: 17px; outline: none;
162
+ letter-spacing: -0.374px; transition: border-color 0.15s;
163
+ }
164
+ .form-input:focus { border-color: var(--apple-blue); box-shadow: 0 0 0 3px rgba(0,113,227,0.2); }
165
+ .form-input--focus { border-color: var(--apple-blue); box-shadow: 0 0 0 3px rgba(0,113,227,0.2); }
166
+ .form-input--error { border-color: #ff3b30; box-shadow: 0 0 0 3px rgba(255,59,48,0.2); }
167
+ .form-textarea {
168
+ width: 100%; min-height: 80px; background: var(--white); color: var(--black);
169
+ border: 1px solid #d2d2d7; padding: 10px 14px; border-radius: 8px;
170
+ font-family: var(--font-text); font-size: 17px; resize: vertical; outline: none;
171
+ letter-spacing: -0.374px;
172
+ }
173
+ .form-state-label { font-size: 11px; color: var(--gray-48); margin-top: 4px; }
174
+
175
+ /* SPACING */
176
+ .spacing-row { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
177
+ .spacing-item { text-align: center; }
178
+ .spacing-block { background: var(--apple-blue); border-radius: 3px; margin-bottom: 6px; height: 28px; }
179
+ .spacing-value { font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace; font-size: 11px; font-weight: 500; color: var(--gray-48); }
180
+
181
+ /* RADIUS */
182
+ .radius-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
183
+ .radius-item { text-align: center; }
184
+ .radius-box { width: 64px; height: 64px; background: var(--black); margin-bottom: 6px; }
185
+ .radius-label { font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace; font-size: 11px; font-weight: 500; color: var(--gray-48); }
186
+ .radius-context { font-size: 10px; color: var(--gray-48); }
187
+
188
+ /* ELEVATION */
189
+ .elevation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
190
+ .elevation-card { background: var(--white); border-radius: 8px; padding: 24px; text-align: center; }
191
+ .elevation-label { font-size: 14px; font-weight: 600; letter-spacing: -0.224px; margin-bottom: 4px; }
192
+ .elevation-desc { font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace; font-size: 11px; color: var(--gray-48); }
193
+
194
+ /* FOOTER */
195
+ .footer { padding: 32px; text-align: center; background: var(--light-gray); font-size: 12px; color: var(--gray-48); letter-spacing: -0.12px; }
196
+ .footer a { color: var(--link-blue); text-decoration: underline; }
197
+
198
+ @media (max-width: 768px) {
199
+ .hero h1 { font-size: 40px; }
200
+ .nav-links { display: none; }
201
+ .section { padding: 48px 20px; }
202
+ .section-dark { padding: 48px 20px; }
203
+ .section-gray { padding: 48px 20px; }
204
+ .card-grid { grid-template-columns: 1fr; }
205
+ }
206
+ </style>
207
+ </head>
208
+ <body>
209
+
210
+ <nav class="nav">
211
+ <a class="nav-brand" href="#">awesome-design-md</a>
212
+ <ul class="nav-links">
213
+ <li><a href="#colors">Colors</a></li>
214
+ <li><a href="#typography">Typography</a></li>
215
+ <li><a href="#buttons">Buttons</a></li>
216
+ <li><a href="#cards">Cards</a></li>
217
+ <li><a href="#forms">Forms</a></li>
218
+ <li><a href="#spacing">Spacing</a></li>
219
+ </ul>
220
+ <a class="nav-cta" href="#">Shop Now</a>
221
+ </nav>
222
+
223
+ <section class="hero">
224
+ <h1>Design System<br>Inspired by Apple</h1>
225
+ <p>A design token catalog generated from DESIGN.md. Every color, font, component, and spacing value — visualized.</p>
226
+ <div class="hero-buttons">
227
+ <a class="btn-blue" href="#">Learn more</a>
228
+ <a class="btn-outline" href="#">View Documentation</a>
229
+ </div>
230
+ </section>
231
+
232
+ <hr class="section-divider">
233
+
234
+ <section class="section" id="colors">
235
+ <div class="section-label">01 / Colors</div>
236
+ <h2 class="section-title">Color Palette</h2>
237
+
238
+ <div class="color-group-label">Primary</div>
239
+ <div class="color-grid">
240
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#000000"></div><div class="color-swatch-info"><div class="color-swatch-name">Pure Black</div><div class="color-swatch-hex">#000000</div><div class="color-swatch-role">Hero backgrounds</div></div></div>
241
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#f5f5f7"></div><div class="color-swatch-info"><div class="color-swatch-name">Light Gray</div><div class="color-swatch-hex">#f5f5f7</div><div class="color-swatch-role">Alternate sections</div></div></div>
242
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#1d1d1f"></div><div class="color-swatch-info"><div class="color-swatch-name">Near Black</div><div class="color-swatch-hex">#1d1d1f</div><div class="color-swatch-role">Primary text, dark buttons</div></div></div>
243
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#ffffff; border-bottom:1px solid #d2d2d7"></div><div class="color-swatch-info"><div class="color-swatch-name">White</div><div class="color-swatch-hex">#ffffff</div><div class="color-swatch-role">Text on dark, button text</div></div></div>
244
+ </div>
245
+
246
+ <div class="color-group-label">Interactive</div>
247
+ <div class="color-grid">
248
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#0071e3"></div><div class="color-swatch-info"><div class="color-swatch-name">Apple Blue</div><div class="color-swatch-hex">#0071e3</div><div class="color-swatch-role">Primary CTA, focus ring</div></div></div>
249
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#0066cc"></div><div class="color-swatch-info"><div class="color-swatch-name">Link Blue</div><div class="color-swatch-hex">#0066cc</div><div class="color-swatch-role">Inline text links</div></div></div>
250
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#2997ff"></div><div class="color-swatch-info"><div class="color-swatch-name">Bright Blue</div><div class="color-swatch-hex">#2997ff</div><div class="color-swatch-role">Links on dark bg</div></div></div>
251
+ </div>
252
+
253
+ <div class="color-group-label">Text & Surface</div>
254
+ <div class="color-grid">
255
+ <div class="color-swatch"><div class="color-swatch-block" style="background:rgba(0,0,0,0.8)"></div><div class="color-swatch-info"><div class="color-swatch-name">Black 80%</div><div class="color-swatch-hex">rgba(0,0,0,0.8)</div><div class="color-swatch-role">Secondary text</div></div></div>
256
+ <div class="color-swatch"><div class="color-swatch-block" style="background:rgba(0,0,0,0.48)"></div><div class="color-swatch-info"><div class="color-swatch-name">Black 48%</div><div class="color-swatch-hex">rgba(0,0,0,0.48)</div><div class="color-swatch-role">Tertiary text</div></div></div>
257
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#fafafc; border-bottom:1px solid #d2d2d7"></div><div class="color-swatch-info"><div class="color-swatch-name">Filter BG</div><div class="color-swatch-hex">#fafafc</div><div class="color-swatch-role">Search/filter buttons</div></div></div>
258
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#ededf2; border-bottom:1px solid #d2d2d7"></div><div class="color-swatch-info"><div class="color-swatch-name">Button Active</div><div class="color-swatch-hex">#ededf2</div><div class="color-swatch-role">Pressed state</div></div></div>
259
+ </div>
260
+
261
+ <div class="color-group-label">Dark Surfaces</div>
262
+ <div class="color-grid">
263
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#272729"></div><div class="color-swatch-info"><div class="color-swatch-name">Surface 1</div><div class="color-swatch-hex">#272729</div><div class="color-swatch-role">Dark section cards</div></div></div>
264
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#28282a"></div><div class="color-swatch-info"><div class="color-swatch-name">Surface 2</div><div class="color-swatch-hex">#28282a</div><div class="color-swatch-role">Dark elevated cards</div></div></div>
265
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#2a2a2d"></div><div class="color-swatch-info"><div class="color-swatch-name">Surface 3</div><div class="color-swatch-hex">#2a2a2d</div><div class="color-swatch-role">Highest dark elevation</div></div></div>
266
+ <div class="color-swatch"><div class="color-swatch-block" style="background:#242426"></div><div class="color-swatch-info"><div class="color-swatch-name">Surface 4</div><div class="color-swatch-hex">#242426</div><div class="color-swatch-role">Deepest dark tone</div></div></div>
267
+ </div>
268
+ </section>
269
+
270
+ <hr class="section-divider">
271
+
272
+ <section class="section" id="typography">
273
+ <div class="section-label">02 / Typography</div>
274
+ <h2 class="section-title">Typography Scale</h2>
275
+
276
+ <div class="type-sample"><div style="font-family:var(--font-display); font-size:56px; font-weight:600; line-height:1.07; letter-spacing:-0.28px;">Display Hero</div><div class="type-meta">Display Hero -- 56px / 600 / 1.07 / -0.28px / SF Pro Display</div></div>
277
+ <div class="type-sample"><div style="font-family:var(--font-display); font-size:40px; font-weight:600; line-height:1.10; letter-spacing:-0.28px;">Section Heading</div><div class="type-meta">Section Heading -- 40px / 600 / 1.10 / normal / SF Pro Display</div></div>
278
+ <div class="type-sample"><div style="font-family:var(--font-display); font-size:28px; font-weight:400; line-height:1.14; letter-spacing:0.196px;">Tile Heading</div><div class="type-meta">Tile Heading -- 28px / 400 / 1.14 / 0.196px / SF Pro Display</div></div>
279
+ <div class="type-sample"><div style="font-family:var(--font-display); font-size:21px; font-weight:700; line-height:1.19; letter-spacing:0.231px;">Card Title Bold</div><div class="type-meta">Card Title Bold -- 21px / 700 / 1.19 / 0.231px / SF Pro Display</div></div>
280
+ <div class="type-sample"><div style="font-family:var(--font-display); font-size:21px; font-weight:400; line-height:1.19; letter-spacing:0.231px;">Card Title Regular</div><div class="type-meta">Card Title Regular -- 21px / 400 / 1.19 / 0.231px / SF Pro Display</div></div>
281
+ <div class="type-sample"><div style="font-family:var(--font-text); font-size:17px; font-weight:400; line-height:1.47; letter-spacing:-0.374px;">Body -- The all-new design brings incredible capability. Powerful features let you do more than ever.</div><div class="type-meta">Body -- 17px / 400 / 1.47 / -0.374px / SF Pro Text</div></div>
282
+ <div class="type-sample"><div style="font-family:var(--font-text); font-size:17px; font-weight:600; line-height:1.24; letter-spacing:-0.374px;">Body Emphasis -- Featured highlights</div><div class="type-meta">Body Emphasis -- 17px / 600 / 1.24 / -0.374px / SF Pro Text</div></div>
283
+ <div class="type-sample"><div style="font-family:var(--font-text); font-size:14px; font-weight:400; line-height:1.43; letter-spacing:-0.224px;">Link / Caption -- Learn more about the latest features</div><div class="type-meta">Link / Caption -- 14px / 400 / 1.43 / -0.224px / SF Pro Text</div></div>
284
+ <div class="type-sample"><div style="font-family:var(--font-text); font-size:12px; font-weight:400; line-height:1.33; letter-spacing:-0.12px;">Micro -- Legal text, footnotes, and fine print</div><div class="type-meta">Micro -- 12px / 400 / 1.33 / -0.12px / SF Pro Text</div></div>
285
+ <div class="type-sample"><div style="font-family:var(--font-text); font-size:10px; font-weight:400; line-height:1.47; letter-spacing:-0.08px;">Nano -- smallest size, regulatory labels</div><div class="type-meta">Nano -- 10px / 400 / 1.47 / -0.08px / SF Pro Text</div></div>
286
+ </section>
287
+
288
+ <hr class="section-divider">
289
+
290
+ <section class="section" id="buttons">
291
+ <div class="section-label">03 / Buttons</div>
292
+ <h2 class="section-title">Button Variants</h2>
293
+ <div class="button-row">
294
+ <div class="button-item"><a class="btn-blue" href="#">Buy</a><div class="button-label">Primary Blue</div></div>
295
+ <div class="button-item"><a class="btn-outline" href="#">Learn more</a><div class="button-label">Outline Pill</div></div>
296
+ <div class="button-item"><a class="btn-dark-fill" href="#">Shop iPhone</a><div class="button-label">Dark Fill</div></div>
297
+ <div class="button-item"><a class="btn-filter" href="#">Search</a><div class="button-label">Filter</div></div>
298
+ <div class="button-item"><button class="btn-media">&#9654;</button><div class="button-label">Media</div></div>
299
+ <div class="button-item"><span style="display:inline-block; background:transparent; color:var(--link-blue); padding:4px 16px; border-radius:980px; border:1px solid var(--link-blue); font-size:14px; font-weight:400; letter-spacing:-0.224px;">Learn more ></span><div class="button-label">Link Pill</div></div>
300
+ </div>
301
+ </section>
302
+
303
+ <hr class="section-divider">
304
+
305
+ <div class="section-dark">
306
+ <section class="section-inner" id="cards-dark">
307
+ <div class="section-label">04 / Cards (Dark)</div>
308
+ <h2 class="section-title">Cards on Dark Background</h2>
309
+ <div class="card-grid">
310
+ <div class="card card-dark">
311
+ <h3>iPhone</h3>
312
+ <p>Designed to be extraordinary. Featuring the most advanced chip, an incredible camera system, and all-day battery life.</p>
313
+ <a class="card-link" href="#" style="color:#2997ff;">Learn more ></a>
314
+ </div>
315
+ <div class="card card-dark" style="box-shadow: var(--shadow-card);">
316
+ <h3>MacBook Neo</h3>
317
+ <p>Supercharged for pros. The most powerful MacBook ever with the M-series chip delivers unprecedented performance.</p>
318
+ <a class="card-link" href="#" style="color:#2997ff;">Learn more ></a>
319
+ </div>
320
+ <div class="card card-dark">
321
+ <h3>iPad Air</h3>
322
+ <p>Powerful and colorful. With the latest chip, stunning Liquid Retina display, and Apple Pencil support.</p>
323
+ <a class="card-link" href="#" style="color:#2997ff;">Learn more ></a>
324
+ </div>
325
+ </div>
326
+ </section>
327
+ </div>
328
+
329
+ <section class="section-gray">
330
+ <div class="section-inner" id="cards-light">
331
+ <div class="section-label">04 / Cards (Light)</div>
332
+ <h2 class="section-title">Cards on Light Background</h2>
333
+ <div class="card-grid">
334
+ <div class="card" style="background:#ffffff;">
335
+ <h3>AirPods Max</h3>
336
+ <p>High-fidelity audio with active noise cancellation, spatial audio, and computational audio for immersive listening.</p>
337
+ <a class="card-link" href="#">Learn more ></a>
338
+ </div>
339
+ <div class="card" style="background:#ffffff; box-shadow: var(--shadow-card);">
340
+ <h3>Apple Watch</h3>
341
+ <p>The ultimate device for a healthy life. Advanced health sensors, fitness metrics, and seamless connectivity.</p>
342
+ <a class="card-link" href="#">Learn more ></a>
343
+ </div>
344
+ <div class="card" style="background:#ffffff;">
345
+ <h3>Apple TV+</h3>
346
+ <p>Original shows and movies from the world's greatest storytellers. Stream on all your favorite devices.</p>
347
+ <a class="card-link" href="#">Learn more ></a>
348
+ </div>
349
+ </div>
350
+ </div>
351
+ </section>
352
+
353
+ <hr class="section-divider">
354
+
355
+ <section class="section" id="forms">
356
+ <div class="section-label">05 / Forms</div>
357
+ <h2 class="section-title">Form Elements</h2>
358
+ <div class="form-group"><label class="form-label">Apple ID</label><input class="form-input" type="text" placeholder="name@example.com"><div class="form-state-label">Default</div></div>
359
+ <div class="form-group"><label class="form-label">Password</label><input class="form-input form-input--focus" type="password" value="mypassword123"><div class="form-state-label">Focus (blue ring)</div></div>
360
+ <div class="form-group"><label class="form-label">Email</label><input class="form-input form-input--error" type="text" value="invalid@"><div class="form-state-label">Error (red ring)</div></div>
361
+ <div class="form-group"><label class="form-label">Feedback</label><textarea class="form-textarea" placeholder="Tell us about your experience..."></textarea></div>
362
+ </section>
363
+
364
+ <hr class="section-divider">
365
+
366
+ <section class="section" id="spacing">
367
+ <div class="section-label">06 / Spacing</div>
368
+ <h2 class="section-title">Spacing Scale</h2>
369
+ <div class="spacing-row">
370
+ <div class="spacing-item"><div class="spacing-block" style="width:2px"></div><div class="spacing-value">2</div></div>
371
+ <div class="spacing-item"><div class="spacing-block" style="width:4px"></div><div class="spacing-value">4</div></div>
372
+ <div class="spacing-item"><div class="spacing-block" style="width:6px"></div><div class="spacing-value">6</div></div>
373
+ <div class="spacing-item"><div class="spacing-block" style="width:8px"></div><div class="spacing-value">8</div></div>
374
+ <div class="spacing-item"><div class="spacing-block" style="width:10px"></div><div class="spacing-value">10</div></div>
375
+ <div class="spacing-item"><div class="spacing-block" style="width:14px"></div><div class="spacing-value">14</div></div>
376
+ <div class="spacing-item"><div class="spacing-block" style="width:17px"></div><div class="spacing-value">17</div></div>
377
+ <div class="spacing-item"><div class="spacing-block" style="width:20px"></div><div class="spacing-value">20</div></div>
378
+ <div class="spacing-item"><div class="spacing-block" style="width:24px"></div><div class="spacing-value">24</div></div>
379
+ </div>
380
+ </section>
381
+
382
+ <hr class="section-divider">
383
+
384
+ <section class="section" id="radius">
385
+ <div class="section-label">07 / Radius</div>
386
+ <h2 class="section-title">Border Radius Scale</h2>
387
+ <div class="radius-row">
388
+ <div class="radius-item"><div class="radius-box" style="border-radius:5px"></div><div class="radius-label">5px</div><div class="radius-context">Micro</div></div>
389
+ <div class="radius-item"><div class="radius-box" style="border-radius:8px"></div><div class="radius-label">8px</div><div class="radius-context">Buttons, Cards</div></div>
390
+ <div class="radius-item"><div class="radius-box" style="border-radius:11px"></div><div class="radius-label">11px</div><div class="radius-context">Search</div></div>
391
+ <div class="radius-item"><div class="radius-box" style="border-radius:12px"></div><div class="radius-label">12px</div><div class="radius-context">Features</div></div>
392
+ <div class="radius-item"><div class="radius-box" style="border-radius:980px"></div><div class="radius-label">980px</div><div class="radius-context">Pills</div></div>
393
+ <div class="radius-item"><div class="radius-box" style="border-radius:50%"></div><div class="radius-label">50%</div><div class="radius-context">Media</div></div>
394
+ </div>
395
+ </section>
396
+
397
+ <hr class="section-divider">
398
+
399
+ <section class="section" id="elevation">
400
+ <div class="section-label">08 / Elevation</div>
401
+ <h2 class="section-title">Elevation & Depth</h2>
402
+ <div class="elevation-grid">
403
+ <div class="elevation-card" style="border:1px solid #d2d2d7;"><div class="elevation-label">Level 0: Flat</div><div class="elevation-desc">No shadow, solid bg</div></div>
404
+ <div class="elevation-card" style="background:rgba(0,0,0,0.8); color:#fff; backdrop-filter:blur(20px);"><div class="elevation-label" style="color:#fff;">Nav Glass</div><div class="elevation-desc" style="color:rgba(255,255,255,0.6);">Translucent + blur</div></div>
405
+ <div class="elevation-card" style="box-shadow:rgba(0,0,0,0.22) 3px 5px 30px 0px;"><div class="elevation-label">Card Shadow</div><div class="elevation-desc">3px 5px 30px 0.22</div></div>
406
+ <div class="elevation-card" style="box-shadow:0 0 0 2px #0071e3;"><div class="elevation-label">Focus</div><div class="elevation-desc">2px solid Apple Blue</div></div>
407
+ <div class="elevation-card" style="background:var(--dark-surface-1); color:#fff;"><div class="elevation-label" style="color:#fff;">Dark Surface</div><div class="elevation-desc" style="color:rgba(255,255,255,0.5);">#272729</div></div>
408
+ </div>
409
+ </section>
410
+
411
+ <footer class="footer">
412
+ Generated from <a href="https://apple.com/">apple.com</a> DESIGN.md -- awesome-design-md
413
+ </footer>
414
+
415
+ </body>
416
+ </html>
@@ -0,0 +1,180 @@
1
+ # Design System: BMW
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ BMW's website is automotive engineering made visual — a design system that communicates precision, performance, and German industrial confidence. The page alternates between deep dark hero sections (featuring full-bleed automotive photography) and clean white content areas, creating a cinematic rhythm reminiscent of a luxury car showroom where vehicles are lit against darkness. The BMW CI2020 design language (their corporate identity refresh) defines every element.
6
+
7
+ The typography is built on BMWTypeNextLatin — a proprietary typeface in two variants: BMWTypeNextLatin Light (weight 300) for massive uppercase display headings, and BMWTypeNextLatin Regular for body and UI text. The 60px uppercase headline at weight 300 is the defining typographic gesture — light-weight type that whispers authority rather than shouting it. The fallback stack includes Helvetica and Japanese fonts (Hiragino, Meiryo), reflecting BMW's global presence.
8
+
9
+ What makes BMW distinctive is its CSS variable-driven theming system. Context-aware variables (`--site-context-highlight-color: #1c69d4`, `--site-context-focus-color: #0653b6`, `--site-context-metainfo-color: #757575`) suggest a design system built for multi-brand, multi-context deployment where colors can be swapped globally. The blue highlight color (`#1c69d4`) is BMW's signature blue — used sparingly for interactive elements and focus states, never decoratively. Zero border-radius was detected — BMW's design is angular, sharp-cornered, and uncompromisingly geometric.
10
+
11
+ **Key Characteristics:**
12
+ - BMWTypeNextLatin Light (weight 300) uppercase for display — whispered authority
13
+ - BMW Blue (`#1c69d4`) as singular accent — used only for interactive elements
14
+ - Zero border-radius detected — angular, sharp-cornered, industrial geometry
15
+ - Dark hero photography + white content sections — showroom lighting rhythm
16
+ - CSS variable-driven theming: `--site-context-*` tokens for brand flexibility
17
+ - Weight 900 for navigation emphasis — extreme contrast with 300 display
18
+ - Tight line-heights (1.15–1.30) throughout — compressed, efficient, German engineering
19
+ - Full-bleed automotive photography as primary visual content
20
+
21
+ ## 2. Color Palette & Roles
22
+
23
+ ### Primary Brand
24
+ - **Pure White** (`#ffffff`): `--site-context-theme-color`, primary surface, card backgrounds
25
+ - **BMW Blue** (`#1c69d4`): `--site-context-highlight-color`, primary interactive accent
26
+ - **BMW Focus Blue** (`#0653b6`): `--site-context-focus-color`, keyboard focus and active states
27
+
28
+ ### Neutral Scale
29
+ - **Near Black** (`#262626`): Primary text on light surfaces, dark link text
30
+ - **Meta Gray** (`#757575`): `--site-context-metainfo-color`, secondary text, metadata
31
+ - **Silver** (`#bbbbbb`): Tertiary text, muted links, footer elements
32
+
33
+ ### Interactive States
34
+ - All links hover to white (`#ffffff`) — suggesting primarily dark-surface navigation
35
+ - Text links use underline: none on hover — clean interaction
36
+
37
+ ### Shadows
38
+ - Minimal shadow system — depth through photography and dark/light section contrast
39
+
40
+ ## 3. Typography Rules
41
+
42
+ ### Font Families
43
+ - **Display Light**: `BMWTypeNextLatin Light`, fallbacks: `Helvetica, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo`
44
+ - **Body / UI**: `BMWTypeNextLatin`, same fallback stack
45
+
46
+ ### Hierarchy
47
+
48
+ | Role | Font | Size | Weight | Line Height | Notes |
49
+ |------|------|------|--------|-------------|-------|
50
+ | Display Hero | BMWTypeNextLatin Light | 60px (3.75rem) | 300 | 1.30 (tight) | `text-transform: uppercase` |
51
+ | Section Heading | BMWTypeNextLatin | 32px (2.00rem) | 400 | 1.30 (tight) | Major section titles |
52
+ | Nav Emphasis | BMWTypeNextLatin | 18px (1.13rem) | 900 | 1.30 (tight) | Navigation bold items |
53
+ | Body | BMWTypeNextLatin | 16px (1.00rem) | 400 | 1.15 (tight) | Standard body text |
54
+ | Button Bold | BMWTypeNextLatin | 16px (1.00rem) | 700 | 1.20–2.88 | CTA buttons |
55
+ | Button | BMWTypeNextLatin | 16px (1.00rem) | 400 | 1.15 (tight) | Standard buttons |
56
+
57
+ ### Principles
58
+ - **Light display, heavy navigation**: Weight 300 for hero headlines creates whispered elegance; weight 900 for navigation creates stark authority. This extreme weight contrast (300 vs 900) is the signature typographic tension.
59
+ - **Universal uppercase display**: The 60px hero is always uppercase — creating a monumental, architectural quality.
60
+ - **Tight everything**: Line-heights from 1.15 to 1.30 across the entire system. Nothing breathes — every line is compressed, efficient, German-engineered.
61
+ - **Single font family**: BMWTypeNextLatin handles everything from 60px display to 16px body — unity through one typeface at different weights.
62
+
63
+ ## 4. Component Stylings
64
+
65
+ ### Buttons
66
+ - Text: 16px BMWTypeNextLatin, weight 700 for primary, 400 for secondary
67
+ - Line-height: 1.15–2.88 (large variation suggests padding-driven sizing)
68
+ - Border: white bottom-border on dark surfaces (`1px solid #ffffff`)
69
+ - No border-radius — sharp rectangular buttons
70
+
71
+ ### Cards & Containers
72
+ - No border-radius — all containers are sharp-cornered rectangles
73
+ - White backgrounds on light sections
74
+ - Dark backgrounds for hero/feature sections
75
+ - No visible borders on most elements
76
+
77
+ ### Navigation
78
+ - BMWTypeNextLatin 18px weight 900 for primary nav links
79
+ - White text on dark header
80
+ - BMW logo 54x54px
81
+ - Hover: remains white, text-decoration none
82
+ - "Home" text link in header
83
+
84
+ ### Image Treatment
85
+ - Full-bleed automotive photography
86
+ - Dark cinematic lighting
87
+ - Edge-to-edge hero images
88
+ - Car photography as primary visual content
89
+
90
+ ## 5. Layout Principles
91
+
92
+ ### Spacing System
93
+ - Base unit: 8px
94
+ - Scale: 1px, 5px, 8px, 10px, 12px, 15px, 16px, 20px, 24px, 30px, 32px, 40px, 45px, 56px, 60px
95
+
96
+ ### Grid & Container
97
+ - Full-width hero photography
98
+ - Centered content sections
99
+ - Footer: multi-column link grid
100
+
101
+ ### Whitespace Philosophy
102
+ - **Showroom pacing**: Dark hero sections with generous padding create the feeling of walking through a showroom where each vehicle is spotlit in its own space.
103
+ - **Compressed content**: Body text areas use tight line-heights and compact spacing — information-dense, no waste.
104
+
105
+ ### Border Radius Scale
106
+ - **None detected.** BMW uses sharp corners exclusively — every element is a precise rectangle. This is the most angular design system analyzed.
107
+
108
+ ## 6. Depth & Elevation
109
+
110
+ | Level | Treatment | Use |
111
+ |-------|-----------|-----|
112
+ | Photography (Level 0) | Full-bleed dark imagery | Hero backgrounds |
113
+ | Flat (Level 1) | White surface, no shadow | Content sections |
114
+ | Focus (Accessibility) | BMW Focus Blue (`#0653b6`) | Focus states |
115
+
116
+ **Shadow Philosophy**: BMW uses virtually no shadows. Depth is created entirely through the contrast between dark photographic sections and white content sections — the automotive lighting does the elevation work.
117
+
118
+ ## 7. Do's and Don'ts
119
+
120
+ ### Do
121
+ - Use BMWTypeNextLatin Light (300) uppercase for all display headings
122
+ - Keep ALL corners sharp (0px radius) — angular geometry is non-negotiable
123
+ - Use BMW Blue (`#1c69d4`) only for interactive elements — never decoratively
124
+ - Apply weight 900 for navigation emphasis — the extreme weight contrast is intentional
125
+ - Use full-bleed automotive photography for hero sections
126
+ - Keep line-heights tight (1.15–1.30) throughout
127
+ - Use `--site-context-*` CSS variables for theming
128
+
129
+ ### Don't
130
+ - Don't round corners — zero radius is the BMW identity
131
+ - Don't use BMW Blue for backgrounds or large surfaces — it's an accent only
132
+ - Don't use medium font weights (500–600) — the system uses 300, 400, 700, 900 extremes
133
+ - Don't add decorative elements — the photography and typography carry everything
134
+ - Don't use relaxed line-heights — BMW text is always compressed
135
+ - Don't lighten the dark hero sections — the contrast with white IS the design
136
+
137
+ ## 8. Responsive Behavior
138
+
139
+ ### Breakpoints
140
+ | Name | Width | Key Changes |
141
+ |------|-------|-------------|
142
+ | Mobile Small | <375px | Minimum supported |
143
+ | Mobile | 375–480px | Single column |
144
+ | Mobile Large | 480–640px | Slight adjustments |
145
+ | Tablet Small | 640–768px | 2-column begins |
146
+ | Tablet | 768–920px | Standard tablet |
147
+ | Desktop Small | 920–1024px | Desktop layout begins |
148
+ | Desktop | 1024–1280px | Standard desktop |
149
+ | Large Desktop | 1280–1440px | Expanded |
150
+ | Ultra-wide | 1440–1600px | Maximum layout |
151
+
152
+ ### Collapsing Strategy
153
+ - Hero: 60px → scales down, maintains uppercase
154
+ - Navigation: horizontal → hamburger
155
+ - Photography: full-bleed maintained at all sizes
156
+ - Content sections: stack vertically
157
+ - Footer: multi-column → stacked
158
+
159
+ ## 9. Agent Prompt Guide
160
+
161
+ ### Quick Color Reference
162
+ - Background: Pure White (`#ffffff`)
163
+ - Text: Near Black (`#262626`)
164
+ - Secondary text: Meta Gray (`#757575`)
165
+ - Accent: BMW Blue (`#1c69d4`)
166
+ - Focus: BMW Focus Blue (`#0653b6`)
167
+ - Muted: Silver (`#bbbbbb`)
168
+
169
+ ### Example Component Prompts
170
+ - "Create a hero: full-width dark automotive photography background. Heading at 60px BMWTypeNextLatin Light weight 300, uppercase, line-height 1.30, white text. No border-radius anywhere."
171
+ - "Design navigation: dark background. BMWTypeNextLatin 18px weight 900 for links, white text. BMW logo 54x54. Sharp rectangular layout."
172
+ - "Build a button: 16px BMWTypeNextLatin weight 700, line-height 1.20. Sharp corners (0px radius). White bottom border on dark surface."
173
+ - "Create content section: white background. Heading at 32px weight 400, line-height 1.30, #262626. Body at 16px weight 400, line-height 1.15."
174
+
175
+ ### Iteration Guide
176
+ 1. Zero border-radius — every corner is sharp, no exceptions
177
+ 2. Weight extremes: 300 (display), 400 (body), 700 (buttons), 900 (nav)
178
+ 3. BMW Blue for interactive only — never as background or decoration
179
+ 4. Photography carries emotion — the UI is pure precision
180
+ 5. Tight line-heights everywhere — 1.15 to 1.30 is the range
@@ -0,0 +1,23 @@
1
+ # Bmw Inspired Design System
2
+
3
+ [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/bmw/DESIGN.md) extracted from the public [bmw](https://bmw.com/) website. This is not the official design system. Colors, fonts, and spacing may not be 100% accurate. But it's a good starting point for building something similar.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |------|-------------|
9
+ | `DESIGN.md` | Complete design system documentation (9 sections) |
10
+ | `preview.html` | Interactive design token catalog (light) |
11
+ | `preview-dark.html` | Interactive design token catalog (dark) |
12
+
13
+ Use [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/bmw/DESIGN.md) to use as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Bmw design language.
14
+
15
+ ## Preview
16
+
17
+ A sample landing page built with DESIGN.md. It shows the actual colors, typography, buttons, cards, spacing, and elevation, all in one page.
18
+
19
+ ### Dark Mode
20
+ ![Bmw Design System — Dark Mode](https://pub-2e4ecbcbc9b24e7b93f1a6ab5b2bc71f.r2.dev/designs/bmw/preview-dark-screenshot.png)
21
+
22
+ ### Light Mode
23
+ ![Bmw Design System — Light Mode](https://pub-2e4ecbcbc9b24e7b93f1a6ab5b2bc71f.r2.dev/designs/bmw/preview-screenshot.png)