oh-my-design-cli 0.1.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 (317) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +145 -0
  3. package/README.ko.md +245 -0
  4. package/README.md +245 -0
  5. package/README.zh-TW.md +145 -0
  6. package/data/reference-tags.md +104 -0
  7. package/data/synonyms.json +79 -0
  8. package/data/vocabulary.json +516 -0
  9. package/dist/bin/oh-my-design.js +858 -0
  10. package/dist/bin/oh-my-design.js.map +1 -0
  11. package/dist/chunk-6YNSV3VY.js +35 -0
  12. package/dist/chunk-6YNSV3VY.js.map +1 -0
  13. package/dist/chunk-MHFYGZSO.js +337 -0
  14. package/dist/chunk-MHFYGZSO.js.map +1 -0
  15. package/dist/chunk-N2JG6N4Q.js +264 -0
  16. package/dist/chunk-N2JG6N4Q.js.map +1 -0
  17. package/dist/chunk-OOQQEUGX.js +46 -0
  18. package/dist/chunk-OOQQEUGX.js.map +1 -0
  19. package/dist/chunk-OR5DHENY.js +250 -0
  20. package/dist/chunk-OR5DHENY.js.map +1 -0
  21. package/dist/customizer-CM76752R.js +8 -0
  22. package/dist/customizer-CM76752R.js.map +1 -0
  23. package/dist/index.d.ts +559 -0
  24. package/dist/index.js +3113 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/init-STACB7E5.js +635 -0
  27. package/dist/init-STACB7E5.js.map +1 -0
  28. package/dist/install-skills-CM6VXFZJ.js +152 -0
  29. package/dist/install-skills-CM6VXFZJ.js.map +1 -0
  30. package/dist/learn-33LHKEJA.js +140 -0
  31. package/dist/learn-33LHKEJA.js.map +1 -0
  32. package/dist/reference-YMNAOXJQ.js +47 -0
  33. package/dist/reference-YMNAOXJQ.js.map +1 -0
  34. package/dist/reference-parser-TM3CJPNE.js +10 -0
  35. package/dist/reference-parser-TM3CJPNE.js.map +1 -0
  36. package/dist/remember-UAFA5B2O.js +78 -0
  37. package/dist/remember-UAFA5B2O.js.map +1 -0
  38. package/dist/sync-P7X4S2DK.js +404 -0
  39. package/dist/sync-P7X4S2DK.js.map +1 -0
  40. package/dist/templates/templates/design-md.hbs +44 -0
  41. package/dist/templates/templates/partials/agent-prompt-guide.hbs +28 -0
  42. package/dist/templates/templates/partials/color-palette.hbs +49 -0
  43. package/dist/templates/templates/partials/component-stylings.hbs +28 -0
  44. package/dist/templates/templates/partials/depth-elevation.hbs +31 -0
  45. package/dist/templates/templates/partials/dos-donts.hbs +13 -0
  46. package/dist/templates/templates/partials/layout.hbs +30 -0
  47. package/dist/templates/templates/partials/responsive.hbs +25 -0
  48. package/dist/templates/templates/partials/shadcn-tokens.hbs +64 -0
  49. package/dist/templates/templates/partials/typography.hbs +43 -0
  50. package/dist/templates/templates/partials/visual-theme.hbs +26 -0
  51. package/package.json +68 -0
  52. package/references/Claude-Design-Sys-Prompt.txt +421 -0
  53. package/references/airbnb/DESIGN.md +427 -0
  54. package/references/airbnb/README.md +23 -0
  55. package/references/airbnb/preview-dark.html +234 -0
  56. package/references/airbnb/preview.html +233 -0
  57. package/references/airtable/DESIGN.md +107 -0
  58. package/references/airtable/README.md +23 -0
  59. package/references/airtable/preview-dark.html +165 -0
  60. package/references/airtable/preview.html +164 -0
  61. package/references/apple/DESIGN.md +496 -0
  62. package/references/apple/README.md +24 -0
  63. package/references/apple/preview-dark.html +420 -0
  64. package/references/apple/preview.html +414 -0
  65. package/references/baemin/DESIGN.md +260 -0
  66. package/references/baemin/README.md +19 -0
  67. package/references/bmw/DESIGN.md +180 -0
  68. package/references/bmw/README.md +23 -0
  69. package/references/bmw/preview-dark.html +211 -0
  70. package/references/bmw/preview.html +210 -0
  71. package/references/cal/DESIGN.md +259 -0
  72. package/references/cal/README.md +23 -0
  73. package/references/cal/preview-dark.html +449 -0
  74. package/references/cal/preview.html +575 -0
  75. package/references/claude/DESIGN.md +455 -0
  76. package/references/claude/README.md +24 -0
  77. package/references/claude/preview-dark.html +803 -0
  78. package/references/claude/preview.html +826 -0
  79. package/references/clay/DESIGN.md +304 -0
  80. package/references/clay/README.md +23 -0
  81. package/references/clay/preview-dark.html +316 -0
  82. package/references/clay/preview.html +315 -0
  83. package/references/clickhouse/DESIGN.md +281 -0
  84. package/references/clickhouse/README.md +24 -0
  85. package/references/clickhouse/preview-dark.html +834 -0
  86. package/references/clickhouse/preview.html +786 -0
  87. package/references/cohere/DESIGN.md +266 -0
  88. package/references/cohere/README.md +24 -0
  89. package/references/cohere/preview-dark.html +803 -0
  90. package/references/cohere/preview.html +807 -0
  91. package/references/coinbase/DESIGN.md +129 -0
  92. package/references/coinbase/README.md +23 -0
  93. package/references/coinbase/preview-dark.html +164 -0
  94. package/references/coinbase/preview.html +163 -0
  95. package/references/composio/DESIGN.md +307 -0
  96. package/references/composio/README.md +24 -0
  97. package/references/composio/preview-dark.html +958 -0
  98. package/references/composio/preview.html +933 -0
  99. package/references/cursor/DESIGN.md +322 -0
  100. package/references/cursor/README.md +24 -0
  101. package/references/cursor/preview-dark.html +393 -0
  102. package/references/cursor/preview.html +383 -0
  103. package/references/dcard/DESIGN.md +302 -0
  104. package/references/dcard/README.md +12 -0
  105. package/references/dcard/_research/forum-1440px.png +0 -0
  106. package/references/dcard/_research.md +77 -0
  107. package/references/elevenlabs/DESIGN.md +265 -0
  108. package/references/elevenlabs/README.md +23 -0
  109. package/references/elevenlabs/preview-dark.html +252 -0
  110. package/references/elevenlabs/preview.html +251 -0
  111. package/references/expo/DESIGN.md +281 -0
  112. package/references/expo/README.md +24 -0
  113. package/references/expo/preview-dark.html +533 -0
  114. package/references/expo/preview.html +533 -0
  115. package/references/ferrari/DESIGN.md +314 -0
  116. package/references/ferrari/README.md +23 -0
  117. package/references/ferrari/preview-dark.html +1162 -0
  118. package/references/ferrari/preview.html +1122 -0
  119. package/references/figma/DESIGN.md +399 -0
  120. package/references/figma/README.md +24 -0
  121. package/references/figma/preview-dark.html +822 -0
  122. package/references/figma/preview.html +832 -0
  123. package/references/framer/DESIGN.md +246 -0
  124. package/references/framer/README.md +23 -0
  125. package/references/framer/preview-dark.html +902 -0
  126. package/references/framer/preview.html +883 -0
  127. package/references/freee/DESIGN.md +308 -0
  128. package/references/freee/README.md +12 -0
  129. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  130. package/references/freee/_research.md +77 -0
  131. package/references/hashicorp/DESIGN.md +278 -0
  132. package/references/hashicorp/README.md +24 -0
  133. package/references/hashicorp/preview-dark.html +1202 -0
  134. package/references/hashicorp/preview.html +1193 -0
  135. package/references/ibm/DESIGN.md +332 -0
  136. package/references/ibm/README.md +24 -0
  137. package/references/ibm/preview-dark.html +443 -0
  138. package/references/ibm/preview.html +428 -0
  139. package/references/intercom/DESIGN.md +146 -0
  140. package/references/intercom/README.md +23 -0
  141. package/references/intercom/preview-dark.html +185 -0
  142. package/references/intercom/preview.html +184 -0
  143. package/references/kakao/DESIGN.md +261 -0
  144. package/references/kakao/README.md +18 -0
  145. package/references/karrot/DESIGN.md +252 -0
  146. package/references/karrot/README.md +18 -0
  147. package/references/kraken/DESIGN.md +146 -0
  148. package/references/kraken/README.md +23 -0
  149. package/references/kraken/preview-dark.html +169 -0
  150. package/references/kraken/preview.html +168 -0
  151. package/references/lamborghini/DESIGN.md +288 -0
  152. package/references/lamborghini/README.md +23 -0
  153. package/references/lamborghini/preview-dark.html +303 -0
  154. package/references/lamborghini/preview.html +381 -0
  155. package/references/line/DESIGN.md +375 -0
  156. package/references/line/README.md +12 -0
  157. package/references/line/_research/home-1440px.png +0 -0
  158. package/references/line/_research.md +65 -0
  159. package/references/linear.app/DESIGN.md +526 -0
  160. package/references/linear.app/README.md +24 -0
  161. package/references/linear.app/preview-dark.html +383 -0
  162. package/references/linear.app/preview.html +373 -0
  163. package/references/lovable/DESIGN.md +298 -0
  164. package/references/lovable/README.md +24 -0
  165. package/references/lovable/preview-dark.html +349 -0
  166. package/references/lovable/preview.html +348 -0
  167. package/references/mercari/DESIGN.md +294 -0
  168. package/references/mercari/README.md +12 -0
  169. package/references/mercari/_research/home-1440px.png +0 -0
  170. package/references/mercari/_research.md +77 -0
  171. package/references/minimax/DESIGN.md +257 -0
  172. package/references/minimax/README.md +24 -0
  173. package/references/minimax/preview-dark.html +1262 -0
  174. package/references/minimax/preview.html +1248 -0
  175. package/references/mintlify/DESIGN.md +341 -0
  176. package/references/mintlify/README.md +24 -0
  177. package/references/mintlify/preview-dark.html +409 -0
  178. package/references/mintlify/preview.html +398 -0
  179. package/references/miro/DESIGN.md +108 -0
  180. package/references/miro/README.md +23 -0
  181. package/references/miro/preview-dark.html +174 -0
  182. package/references/miro/preview.html +173 -0
  183. package/references/mistral.ai/DESIGN.md +261 -0
  184. package/references/mistral.ai/README.md +24 -0
  185. package/references/mistral.ai/preview-dark.html +806 -0
  186. package/references/mistral.ai/preview.html +805 -0
  187. package/references/mongodb/DESIGN.md +266 -0
  188. package/references/mongodb/README.md +23 -0
  189. package/references/mongodb/preview-dark.html +260 -0
  190. package/references/mongodb/preview.html +259 -0
  191. package/references/notion/DESIGN.md +492 -0
  192. package/references/notion/README.md +24 -0
  193. package/references/notion/preview-dark.html +372 -0
  194. package/references/notion/preview.html +364 -0
  195. package/references/nvidia/DESIGN.md +308 -0
  196. package/references/nvidia/README.md +24 -0
  197. package/references/nvidia/preview-dark.html +374 -0
  198. package/references/nvidia/preview.html +366 -0
  199. package/references/ollama/DESIGN.md +267 -0
  200. package/references/ollama/README.md +24 -0
  201. package/references/ollama/preview-dark.html +678 -0
  202. package/references/ollama/preview.html +678 -0
  203. package/references/opencode.ai/DESIGN.md +295 -0
  204. package/references/opencode.ai/README.md +24 -0
  205. package/references/opencode.ai/preview-dark.html +366 -0
  206. package/references/opencode.ai/preview.html +357 -0
  207. package/references/pinkoi/DESIGN.md +309 -0
  208. package/references/pinkoi/README.md +12 -0
  209. package/references/pinkoi/_research/browse-1440px.png +0 -0
  210. package/references/pinkoi/_research.md +115 -0
  211. package/references/pinterest/DESIGN.md +230 -0
  212. package/references/pinterest/README.md +23 -0
  213. package/references/pinterest/preview-dark.html +233 -0
  214. package/references/pinterest/preview.html +232 -0
  215. package/references/posthog/DESIGN.md +256 -0
  216. package/references/posthog/README.md +23 -0
  217. package/references/posthog/preview-dark.html +699 -0
  218. package/references/posthog/preview.html +749 -0
  219. package/references/raycast/DESIGN.md +268 -0
  220. package/references/raycast/README.md +23 -0
  221. package/references/raycast/preview-dark.html +606 -0
  222. package/references/raycast/preview.html +688 -0
  223. package/references/renault/DESIGN.md +311 -0
  224. package/references/renault/README.md +23 -0
  225. package/references/renault/preview-dark.html +406 -0
  226. package/references/renault/preview.html +606 -0
  227. package/references/replicate/DESIGN.md +261 -0
  228. package/references/replicate/README.md +24 -0
  229. package/references/replicate/preview-dark.html +828 -0
  230. package/references/replicate/preview.html +831 -0
  231. package/references/resend/DESIGN.md +303 -0
  232. package/references/resend/README.md +23 -0
  233. package/references/resend/preview-dark.html +355 -0
  234. package/references/resend/preview.html +354 -0
  235. package/references/revolut/DESIGN.md +185 -0
  236. package/references/revolut/README.md +23 -0
  237. package/references/revolut/preview-dark.html +234 -0
  238. package/references/revolut/preview.html +233 -0
  239. package/references/runwayml/DESIGN.md +244 -0
  240. package/references/runwayml/README.md +24 -0
  241. package/references/runwayml/preview-dark.html +664 -0
  242. package/references/runwayml/preview.html +665 -0
  243. package/references/sanity/DESIGN.md +357 -0
  244. package/references/sanity/README.md +24 -0
  245. package/references/sanity/preview-dark.html +990 -0
  246. package/references/sanity/preview.html +1135 -0
  247. package/references/sentry/DESIGN.md +262 -0
  248. package/references/sentry/README.md +24 -0
  249. package/references/sentry/preview-dark.html +626 -0
  250. package/references/sentry/preview.html +951 -0
  251. package/references/spacex/DESIGN.md +205 -0
  252. package/references/spacex/README.md +23 -0
  253. package/references/spacex/preview-dark.html +221 -0
  254. package/references/spacex/preview.html +220 -0
  255. package/references/spotify/DESIGN.md +246 -0
  256. package/references/spotify/README.md +23 -0
  257. package/references/spotify/preview-dark.html +231 -0
  258. package/references/spotify/preview.html +230 -0
  259. package/references/stripe/DESIGN.md +473 -0
  260. package/references/stripe/README.md +24 -0
  261. package/references/stripe/preview-dark.html +428 -0
  262. package/references/stripe/preview.html +419 -0
  263. package/references/supabase/DESIGN.md +255 -0
  264. package/references/supabase/README.md +24 -0
  265. package/references/supabase/preview-dark.html +977 -0
  266. package/references/supabase/preview.html +955 -0
  267. package/references/superhuman/DESIGN.md +252 -0
  268. package/references/superhuman/README.md +23 -0
  269. package/references/superhuman/preview-dark.html +973 -0
  270. package/references/superhuman/preview.html +951 -0
  271. package/references/tesla/DESIGN.md +286 -0
  272. package/references/tesla/README.md +23 -0
  273. package/references/tesla/preview-dark.html +947 -0
  274. package/references/tesla/preview.html +925 -0
  275. package/references/together.ai/DESIGN.md +263 -0
  276. package/references/together.ai/README.md +24 -0
  277. package/references/together.ai/preview-dark.html +892 -0
  278. package/references/together.ai/preview.html +897 -0
  279. package/references/toss/DESIGN.md +387 -0
  280. package/references/toss/README.md +19 -0
  281. package/references/uber/DESIGN.md +295 -0
  282. package/references/uber/README.md +24 -0
  283. package/references/uber/preview-dark.html +1120 -0
  284. package/references/uber/preview.html +1119 -0
  285. package/references/vercel/DESIGN.md +456 -0
  286. package/references/vercel/README.md +24 -0
  287. package/references/vercel/preview-dark.html +368 -0
  288. package/references/vercel/preview.html +367 -0
  289. package/references/voltagent/DESIGN.md +323 -0
  290. package/references/voltagent/README.md +24 -0
  291. package/references/voltagent/preview-dark.html +487 -0
  292. package/references/voltagent/preview.html +766 -0
  293. package/references/warp/DESIGN.md +253 -0
  294. package/references/warp/README.md +23 -0
  295. package/references/warp/preview-dark.html +500 -0
  296. package/references/warp/preview.html +533 -0
  297. package/references/webflow/DESIGN.md +109 -0
  298. package/references/webflow/README.md +23 -0
  299. package/references/webflow/preview-dark.html +147 -0
  300. package/references/webflow/preview.html +146 -0
  301. package/references/wise/DESIGN.md +173 -0
  302. package/references/wise/README.md +23 -0
  303. package/references/wise/preview-dark.html +230 -0
  304. package/references/wise/preview.html +229 -0
  305. package/references/x.ai/DESIGN.md +267 -0
  306. package/references/x.ai/README.md +24 -0
  307. package/references/x.ai/preview-dark.html +356 -0
  308. package/references/x.ai/preview.html +407 -0
  309. package/references/zapier/DESIGN.md +328 -0
  310. package/references/zapier/README.md +24 -0
  311. package/references/zapier/preview-dark.html +380 -0
  312. package/references/zapier/preview.html +372 -0
  313. package/skills/omd-apply/SKILL.md +85 -0
  314. package/skills/omd-init/SKILL.md +167 -0
  315. package/skills/omd-learn/SKILL.md +81 -0
  316. package/skills/omd-remember/SKILL.md +44 -0
  317. package/skills/omd-sync/SKILL.md +38 -0
@@ -0,0 +1,260 @@
1
+ # Design System Inspiration of Baemin (배달의민족)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Baemin is Korea's beloved food delivery platform -- a brand that turned ordering takeout into a cultural experience through typography, humor, and a fiercely distinctive mint green. The interface opens on a clean white canvas (`#ffffff`) with warm dark headings (`#212529`) and that unmistakable Baemin Mint (`#2AC1BC`) that feels like no other app. This isn't the utilitarian teal of medical software; it's a warm, playful cyan-green chosen specifically because the food industry conventionally uses warm reds and oranges -- Baemin is the deliberate contrast.
6
+
7
+ Typography IS the brand. Where most companies treat fonts as infrastructure, Baemin has released over a dozen custom typefaces -- each one preserving disappearing Korean signage culture. From the 1960s acrylic-cut Hanna (한나체) to the weathered Euljiro district lettering (을지로체), every font tells a story. But for the functional UI itself, the system uses the platform's native sans-serif -- brand fonts appear only in promotional banners and splash screens, creating a layered personality where the app is professional but the brand is warm and irreverent.
8
+
9
+ The design philosophy is "playful warmth." The UX writing is legendary in Korea for its conversational wit ("배민다움"), and the illustration-based icon system uses appetizing, sketch-like drawings rather than flat geometric icons. The overall impression is of a neighborhood restaurant's charm scaled to a platform serving millions.
10
+
11
+ **Key Characteristics:**
12
+ - Baemin Mint (`#2AC1BC`) as the singular brand accent -- warm, fresh, deliberately counter-industry
13
+ - 10+ custom open-source fonts (OFL) preserving Korean signage culture -- brand display only
14
+ - System fonts for functional UI, brand fonts for personality moments
15
+ - Card-based layout composition -- "all information composed of card-format combinations"
16
+ - Illustration-based icons: appetizing, hand-drawn feel over flat minimalism
17
+ - Conversational UX writing ("배민다움") -- witty, warm, human
18
+ - Five-variant shadow system (Natural through Crisp) for nuanced elevation
19
+
20
+ ## 2. Color Palette & Roles
21
+
22
+ ### Primary
23
+ - **Baemin Mint** (`#2AC1BC`): Primary brand color, CTA backgrounds, active states. Warm cyan-green, instantly recognizable. Official spec: CMYK 65:0:29:0 (hex is approximate).
24
+ - **Pure White** (`#ffffff`): Page background, card surfaces. Clean and appetizing.
25
+ - **Dark Charcoal** (`#212529`): Primary heading and text color. Warm, not harsh.
26
+
27
+ ### Accent
28
+ - **Primary Teal** (`#12B886`): UI primary green, confirmation button fills, positive accents.
29
+ - **Teal Light** (`#20C997`): Hover states on teal elements, lighter accent.
30
+ - **Destructive Red** (`#FF6B6B`): Error states, destructive actions, out-of-stock indicators.
31
+ - **Warning Orange** (`#FFB347`): Attention-needed states, delivery delays, star ratings.
32
+ - **Info Blue** (`#74C0FC`): General information, order status updates.
33
+ - **Promo Red** (`#FF0000`): High-urgency alerts, promotional countdown timers.
34
+
35
+ ### Neutral Scale
36
+ - **Text Primary** (`#212529`): Headings, menu item names, strong labels.
37
+ - **Text Secondary** (`#495057`): Body text, descriptions, ingredient lists.
38
+ - **Text Tertiary** (`#868E96`): Captions, timestamps, secondary metadata.
39
+ - **Text Disabled** (`#ADB5BD`): Placeholder text, disabled labels.
40
+ - **Border Light** (`#DEE2E6`): Standard card borders, dividers, input borders.
41
+ - **Surface Fill** (`#F8F9FA`): Background fill, secondary canvas.
42
+ - **Surface Subtle** (`#F1F3F5`): Tertiary background, input fills.
43
+
44
+ ### Surface & Borders
45
+ - **Border Default**: `#DEE2E6`. Card borders, list dividers.
46
+ - **Border Strong**: `#343A40`. High-contrast borders for emphasis.
47
+ - **Overlay**: `rgba(0,0,0,0.5)`. Modal/sheet backdrops.
48
+ - **Overlay Dark**: `rgba(0,0,0,0.7)`. Full-screen image viewers.
49
+
50
+ ## 3. Typography Rules
51
+
52
+ ### Font Family
53
+ - **UI Primary**: `-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif`
54
+ - **Monospace**: `"SF Mono", SFMono-Regular, Menlo, Consolas, monospace`
55
+ - **Brand Display**: `"BMHANNA Pro"` -- signature Baemin font for brand headings and promotional banners
56
+ - **Brand Playful**: `"BMJua"` -- rounded, friendly, for casual brand copy
57
+
58
+ All 12 Baemin fonts are free under OFL license. Four are on Google Fonts (Jua, Do Hyeon, Kirang Haerang, Yeon Sung). Hanna variants available via direct download from woowahan.com.
59
+
60
+ ### Hierarchy
61
+
62
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
63
+ |------|------|------|--------|-------------|----------------|-------|
64
+ | Display Hero | BMHANNA Pro | 42px | 700 | 1.20 | normal | Splash screens, brand moments |
65
+ | Display Large | System | 36px | 700 | 1.25 | normal | Campaign titles, section heroes |
66
+ | Heading Large | System | 24px | 700 | 1.33 | normal | Feature section titles |
67
+ | Heading | System | 20px | 700 | 1.40 | normal | Card headings, menu categories |
68
+ | Title | System | 18px | 600 | 1.44 | normal | Restaurant names, item titles |
69
+ | Body Large | System | 16px | 400 | 1.50 | normal | Descriptions, menu details |
70
+ | Body | System | 14px | 400 | 1.57 | normal | Standard reading, reviews |
71
+ | Body Small | System | 13px | 400 | 1.54 | normal | Secondary info, ingredients |
72
+ | Caption | System | 12px | 400 | 1.50 | normal | Timestamps, delivery times |
73
+ | Price Display | System | 20px | 700 | 1.30 | normal | Menu item prices, order totals |
74
+
75
+ ### Principles
76
+ - **Dual personality**: System fonts for functional UI (ordering, tracking, payments), brand fonts for the experiential layer (banners, promotions, splash). The separation keeps the app professional while the brand stays playful.
77
+ - **Bold for clarity**: In food ordering, weight 700 is used liberally for menu names, prices, and CTAs. Users scan quickly through many options.
78
+ - **All fonts are free**: Every Baemin typeface is available under OFL license for personal and commercial use.
79
+
80
+ ## 4. Component Stylings
81
+
82
+ ### Buttons
83
+
84
+ **Primary (Brand Mint)**
85
+ - Background: `#2AC1BC`
86
+ - Text: `#ffffff`
87
+ - Padding: 12px 24px
88
+ - Radius: 8px
89
+ - Font: 16px system weight 700
90
+ - Pressed: `#20A8A4` (darkened mint)
91
+ - Disabled: `#DEE2E6` background, `#ADB5BD` text
92
+ - Use: Primary CTAs ("주문하기", "배달 주문")
93
+
94
+ **Secondary (Ghost)**
95
+ - Background: transparent
96
+ - Text: `#2AC1BC`
97
+ - Border: 1px solid `#2AC1BC`
98
+ - Radius: 8px
99
+ - Pressed: `rgba(42,193,188,0.08)` background
100
+ - Use: Secondary actions ("장바구니", "찜하기")
101
+
102
+ **Neutral**
103
+ - Background: `#F8F9FA`
104
+ - Text: `#212529`
105
+ - Radius: 8px
106
+ - Use: Tertiary actions, filter toggles
107
+
108
+ **Destructive**
109
+ - Background: `#FF6B6B`
110
+ - Text: `#ffffff`
111
+ - Use: Cancel order, remove item
112
+
113
+ ### Cards & Containers
114
+ - Background: `#ffffff`
115
+ - Border: 1px solid `#DEE2E6` or no border with shadow
116
+ - Radius: 8px (standard), 12px (featured restaurant cards)
117
+ - Shadow: `0px 2px 8px rgba(0,0,0,0.06)` (standard)
118
+
119
+ ### Restaurant Cards (Key Component)
120
+ - Image: full-width, 16:9, 12px top radius
121
+ - Name: 18px weight 700, `#212529`
122
+ - Rating: star icon (`#FFB347`) + score 14px weight 600
123
+ - Delivery info: 13px weight 400, `#868E96`
124
+ - Tags: pill (9999px radius), `#F1F3F5` bg, `#495057` text, 12px
125
+ - Internal padding: 16px
126
+
127
+ ### Tags & Badges
128
+ - **Category Tag**: `#F1F3F5` bg, `#495057` text, pill radius, 12px font weight 500
129
+ - **Promo Badge**: `#FF6B6B` or `#FFB347` bg, white text, 4px radius, 11px weight 700
130
+ - **Delivery Badge**: `#2AC1BC` bg, white text, 4px radius
131
+
132
+ ### Inputs & Forms
133
+ - Border: 1px solid `#DEE2E6`, Radius: 8px
134
+ - Focus: 2px solid `#2AC1BC`
135
+ - Text: `#212529`, Placeholder: `#ADB5BD`
136
+ - Search bar: 20px radius, `#F8F9FA` background, search icon left
137
+
138
+ ### Navigation
139
+ - Bottom tab bar: white, top border `#DEE2E6`
140
+ - Active: `#2AC1BC` icon + text, Inactive: `#868E96`
141
+ - Top app bar: white, centered title 18px weight 700
142
+ - Cart badge: `#FF6B6B` circle, white count text
143
+
144
+ ## 5. Layout Principles
145
+
146
+ ### Spacing System
147
+ - Base unit: 8px
148
+ - Scale: 4px, 8px, 12px, 16px, 20px, 24px, 32px, 40px, 48px
149
+ - Card internal padding: 16px
150
+ - Section gaps: 24px-32px
151
+
152
+ ### Grid & Container
153
+ - Mobile: full-width, 16px horizontal padding
154
+ - Content max-width: 768px for tablet/web
155
+ - Restaurant list: single-column on mobile, 2-column on tablet
156
+ - Category grid: horizontal scroll with equal-width items
157
+
158
+ ### Whitespace Philosophy
159
+ - **Appetizing spacing**: Food photos get generous whitespace to feel premium. A cramped photo kills appetite; a well-spaced one invites exploration.
160
+ - **Scan-friendly density**: Restaurant lists balance showing 3-4 options per viewport with enough detail per card to decide without tapping.
161
+ - **Card-format composition**: All service information is composed of card-format combinations that auto-transform based on device.
162
+
163
+ ### Border Radius Scale
164
+ - Standard (4px): Small badges, promotional tags
165
+ - Comfortable (8px): Buttons, inputs, standard cards
166
+ - Featured (12px): Restaurant cards, image containers
167
+ - Search (20px): Search bar, large rounded containers
168
+ - Pill (9999px): Category tags, filter chips
169
+
170
+ ## 6. Depth & Elevation
171
+
172
+ | Level | Treatment | Use |
173
+ |-------|-----------|-----|
174
+ | Flat (Level 0) | No shadow | Page background, inline elements |
175
+ | Natural (Level 1) | `0px 1px 3px rgba(0,0,0,0.04)` | Subtle card separation, list items |
176
+ | Deep (Level 2) | `0px 2px 8px rgba(0,0,0,0.08)` | Standard restaurant cards |
177
+ | Sharp (Level 3) | `0px 4px 12px rgba(0,0,0,0.10)` | Floating cart button, active overlays |
178
+ | Outlined (Level 4) | `0px 4px 16px rgba(0,0,0,0.12)` | Bottom sheets, modal dialogs |
179
+ | Crisp (Level 5) | `0px 8px 24px rgba(0,0,0,0.16)` | Full-screen overlays, floating menus |
180
+
181
+ **Shadow Philosophy**: Baemin uses five tiers -- richer than most mobile apps, reflecting the layered nature of a delivery platform where maps, restaurant lists, order sheets, and cart overlays compete for attention. The naming (Natural, Deep, Sharp, Outlined, Crisp) reflects Baemin's design culture of using evocative, human language rather than cold technical terms.
182
+
183
+ ## 7. Do's and Don'ts
184
+
185
+ ### Do
186
+ - Use Baemin Mint (`#2AC1BC`) as the primary brand accent for CTAs and active states
187
+ - Apply brand fonts (BMHANNA, BMJua) for promotional banners and special moments only
188
+ - Use system fonts for the core ordering/tracking UI -- keep it functional
189
+ - Make food photography the star: generous whitespace, no overlapping UI on images
190
+ - Keep border-radius between 4px-12px for standard UI elements
191
+ - Use the conversational, warm tone for UX writing (Baemin voice)
192
+ - Use illustration-based icons for food categories -- appetizing over geometric
193
+
194
+ ### Don't
195
+ - Don't use brand fonts for body text or functional UI -- they're for personality moments only
196
+ - Don't use heavy shadows on food photos -- let the photography speak
197
+ - Don't introduce competing accent colors alongside mint -- one-accent system
198
+ - Don't use cold, clinical blues for interactive elements -- warm mint territory
199
+ - Don't use pure black (`#000000`) for text -- `#212529` is the correct dark
200
+ - Don't apply mint to large background areas -- it works as an accent, not a canvas
201
+ - Don't make checkout/payment "fun" -- ordering should be clear and trustworthy
202
+
203
+ ## 8. Responsive Behavior
204
+
205
+ ### Breakpoints
206
+ | Name | Width | Key Changes |
207
+ |------|-------|-------------|
208
+ | Mobile (Primary) | <480px | Full design, single column, 16px gutter |
209
+ | Tablet | 480-768px | 2-column restaurant grid, expanded cards |
210
+ | Desktop (Web) | >768px | Centered content, max-width 768px |
211
+
212
+ ### Touch Targets
213
+ - CTA buttons: minimum 48px height, full-width on mobile
214
+ - Restaurant cards: entire card tappable, min 120px height
215
+ - Category scrollers: 44px minimum touch height
216
+ - Cart floating button: 56px circular, fixed bottom-right
217
+ - Quantity steppers: 36px minimum
218
+
219
+ ### Collapsing Strategy
220
+ - Restaurant grid: 2-column → single column below 480px
221
+ - Category bar: horizontal scroll on all sizes, no wrapping
222
+ - Order summary: full-width sheet on mobile, side panel on tablet+
223
+ - Search: full-screen overlay on mobile, inline on desktop
224
+
225
+ ### Image Behavior
226
+ - Restaurant photos: 16:9 aspect ratio, full card width, 12px top radius
227
+ - Menu thumbnails: 1:1 square, 8px radius, 80-100px on mobile
228
+ - Promotional banners: full-width, swipeable carousel
229
+
230
+ ## 9. Agent Prompt Guide
231
+
232
+ ### Quick Color Reference
233
+ - Primary CTA: Baemin Mint (`#2AC1BC`)
234
+ - CTA Pressed: Deep Mint (`#20A8A4`)
235
+ - Alternate CTA: Teal (`#12B886`)
236
+ - Background: Pure White (`#ffffff`)
237
+ - Background Surface: Light Gray (`#F8F9FA`)
238
+ - Heading text: Dark Charcoal (`#212529`)
239
+ - Body text: Dark Gray (`#495057`)
240
+ - Caption text: Medium Gray (`#868E96`)
241
+ - Placeholder: Soft Gray (`#ADB5BD`)
242
+ - Border: Light Gray (`#DEE2E6`)
243
+ - Error: Warm Red (`#FF6B6B`)
244
+ - Rating: Warm Orange (`#FFB347`)
245
+
246
+ ### Example Component Prompts
247
+ - "Create a restaurant card: white bg, 12px radius. Full-width photo (16:9, 12px top radius). Name 18px weight 700, #212529. Star icon (#FFB347) + rating 14px weight 600. Delivery time + fee 13px weight 400, #868E96. Tags as pills (#F1F3F5 bg, #495057 text). 16px padding."
248
+ - "Build a primary button: #2AC1BC bg, white text, 16px weight 700, 48px height, 8px radius, full-width. Pressed: #20A8A4."
249
+ - "Design a menu item row: 16px padding. Left: name (16px weight 600, #212529) + description (13px weight 400, #868E96, 2-line max) + price (16px weight 700). Right: 80px square thumbnail, 8px radius. Divider: 1px solid #DEE2E6."
250
+ - "Build a floating cart button: 56px circle, #2AC1BC bg, white cart icon. Badge: 18px circle, #FF6B6B bg, white text 11px weight 700, top-right. Shadow: 0px 4px 12px rgba(0,0,0,0.10)."
251
+ - "Design a search bar: #F8F9FA bg, 20px radius, 44px height. Left: 16px padding + #868E96 search icon. Placeholder '맛집을 검색해보세요' in #ADB5BD. Text: #212529. Full-width with 16px margin."
252
+
253
+ ### Iteration Guide
254
+ 1. System fonts for UI, BMHANNA for brand display moments only
255
+ 2. Primary accent is `#2AC1BC` (Baemin Mint) -- warm, not cold
256
+ 3. Food photography is centerpiece: 16:9 for restaurants, 1:1 for menu items
257
+ 4. Bold (700) used liberally for names, prices, CTAs -- food ordering needs scannable bold
258
+ 5. Border-radius: 8px buttons/inputs, 12px restaurant cards, pill for tags
259
+ 6. Five shadow levels: use Deep (Level 2) as default card shadow
260
+ 7. Warm neutrals: #212529 headings, #F8F9FA backgrounds
@@ -0,0 +1,19 @@
1
+ # Baemin (배달의민족) Inspired Design System
2
+
3
+ DESIGN.md crafted from Baemin's publicly available design resources including the [Woowa Design System Storybook](https://woowa-ds.vercel.app/), [tech blog articles](https://techblog.woowahan.com/), and open-source fonts. Colors, fonts, and spacing are based on publicly documented specifications and component analysis.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |------|-------------|
9
+ | `DESIGN.md` | Complete design system documentation (9 sections) |
10
+
11
+ Use DESIGN.md as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Baemin design language.
12
+
13
+ ## Sources
14
+
15
+ - [Woowa Design System Storybook](https://woowa-ds.vercel.app/) — Component library
16
+ - [Woowa Tech Blog](https://techblog.woowahan.com/) — Design system articles
17
+ - [Baemin Fonts](https://www.woowahan.com/) — 13 free custom fonts (OFL license)
18
+ - [Google Fonts](https://fonts.google.com/?query=baemin) — Jua, Do Hyeon, BM Hanna, etc.
19
+ - [Woowa GitHub](https://github.com/woowabros) — Open-source font repos
@@ -0,0 +1,180 @@
1
+ # Design System Inspiration of 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)