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,294 @@
1
+ # Design System Inspiration of Mercari
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Mercari is Japan's largest C2C marketplace (50M+ downloads, 350K daily listings) and its design system is a textbook example of **mature semantic token architecture**. The production site at `jp.mercari.com` exposes **681 CSS custom properties on `:root`**, organized into the well-named `--alias-color-*` namespace: `--alias-color-background-{role}-{state}`, `--alias-color-text-{role}-{state}`, `--alias-color-border-{role}-{state}`, `--alias-color-icon-{role}-{state}`, `--alias-color-overlay-*`. This isn't internal documentation — it's the actual design system surfaced at runtime, ready to read directly from any production page.
6
+
7
+ The brand color is the famous **Mercari Red** (`#ff333f`) — vivid, attention-grabbing, used as the `attention` semantic role for badges, error states, danger actions, and the iconic price-tag aesthetic. Around it sits a balanced palette: accent blue (`#0095ee`), success green (`#0aa466`), decorative yellow (`#ffb818`). Text hierarchy uses dark gray (`#333333` primary, `#666666` secondary) on a pure white surface (`#ffffff`), with a soft secondary background (`#f5f5f5`) for grouped sections.
8
+
9
+ Typography is **system-stack with Japanese-first fallbacks**: `Helvetica Neue, Arial, Hiragino Kaku Gothic ProN Custom, Hiragino Sans Custom, Meiryo Custom, sans-serif`. The "Custom" suffix on the Hiragino/Meiryo fonts indicates Mercari's deployment of optically-tuned variants for their production app — same font families, but adjusted spacing/hinting for marketplace UI. Buttons use **weight 700** for primary CTAs at a tight `4px` radius, while body text holds at weight 400.
10
+
11
+ **Key Characteristics:**
12
+ - **681 semantic CSS custom properties** exposed on `:root` — the public design system surface
13
+ - **Mercari Red** (`#ff333f`) as the `attention` semantic — used for badges, error/danger states, sale prices, the brand mark
14
+ - Japanese-first font stack: `Helvetica Neue → Arial → Hiragino Kaku Gothic ProN Custom → Hiragino Sans Custom → Meiryo Custom`
15
+ - Fixed `4px border-radius` on buttons and cards — sharp, commerce-functional
16
+ - Weight 700 for primary CTAs; weight 400 for body and secondary controls
17
+ - Three-tier color naming: `alias-color-{property}-{role}-{state}` (e.g., `--alias-color-background-attention-default`)
18
+ - 1440px max page width with `--grid-layout-gutter: 24px` and `--grid-layout-page-padding-horizontal: 36px`
19
+ - 4dp spacing micro-scale (`--bnfXaU: 6px`, `--exLgvR: 8px`, `--fwPfWM: 8px`, etc.) with named alias tokens
20
+ - High-density product grid with circular brand thumbnails (`border-radius: 50%`) for category navigation
21
+ - Multi-tier z-index system: dialog 1400, modal 1400, snackbar 1500, tooltip 1600
22
+
23
+ ## 2. Color Palette & Roles
24
+
25
+ All values verified live from `:root` CSS custom properties on `jp.mercari.com`.
26
+
27
+ ### Brand / Attention (the Mercari Red family)
28
+ - **Mercari Red** (`#ff333f`): `--alias-color-background-attention-default`, `--alias-color-text-attention-default`. The signature brand red. Used for danger actions, sale price emphasis, the brand mark.
29
+ - **Red Highlight** (`#ff6574`): `--alias-color-background-attention-highlight`, `--alias-color-border-attention-highlight`. Lighter variant for hover states.
30
+ - **Red Active** (`#e32b36`): `--alias-color-background-attention-active`, `--alias-color-border-attention-active`. Pressed state.
31
+ - **Red Thin** (`#fdf1f3`): `--alias-color-background-attentionThin-default`. Very light pink for subtle background emphasis (e.g., error message bg).
32
+ - **Red Thin Highlight** (`#ffdcdf`): `--alias-color-background-attentionThin-highlight`.
33
+
34
+ ### Accent (Mercari Blue)
35
+ - **Accent Blue** (`#0095ee`): `--alias-color-background-accent-default`, `--alias-color-text-accent-default`, `--alias-color-icon-accent-default`. Links, info badges, accent CTAs.
36
+ - **Accent Blue Highlight** (`#63c5ff`): `--alias-color-background-accent-highlight`.
37
+ - **Accent Blue Active** (`#0073cc`): `--alias-color-background-accent-active`, `--alias-color-text-accent-active`.
38
+ - **Link Default** (`#0073cc`): `--alias-color-text-link-default`, `--alias-color-icon-link-default`.
39
+ - **Link Highlight** (`#30b2ff`): `--alias-color-text-link-highlight`.
40
+ - **Link Active** (`#0056ab`): `--alias-color-text-link-active`.
41
+ - **Accent Thin** (`#e8f8ff`): `--alias-color-background-accentThin-default`. Light blue notification bg.
42
+
43
+ ### Success
44
+ - **Success Green** (`#0aa466`): `--alias-color-text-success-default`, `--alias-color-icon-success-default`, `--alias-color-border-success-default`.
45
+ - **Success Highlight** (`#0fbf67`): `--alias-color-text-success-highlight`, `--alias-color-icon-success-highlight`.
46
+ - **Success Active** (`#078962`): `--alias-color-text-success-active`, `--alias-color-icon-success-active`.
47
+ - **Success Thin** (`#e4ffec`): `--alias-color-background-success-default`.
48
+ - **Success Thin Highlight** (`#cdfbd2`): `--alias-color-background-success-highlight`.
49
+
50
+ ### Decorative (Yellow)
51
+ - **Decorative Yellow** (`#ffb818`): `--alias-color-icon-decorativeYellow-default`. Reviews, ratings, premium markers.
52
+ - **Decorative Yellow Highlight** (`#ffdc74`): Lighter yellow for hover.
53
+ - **Decorative Yellow Active** (`#db9611`): Darker amber for pressed.
54
+
55
+ ### Text (5-tier scale)
56
+ - **Primary** (`#333333`): `--alias-color-text-primary-default`. Default body text and headlines.
57
+ - **Primary Highlight** (`#999999`): `--alias-color-text-primary-highlight`.
58
+ - **Primary Active** (`#222222`): `--alias-color-text-primary-active`.
59
+ - **Secondary** (`#666666`): `--alias-color-text-secondary-default`. Captions, metadata.
60
+ - **Secondary Highlight** (`#999999`): `--alias-color-text-secondary-highlight`.
61
+ - **Secondary Active** (`#4c4c4c`): `--alias-color-text-secondary-active`.
62
+ - **Disabled** (`#cccccc`): `--alias-color-text-disabled-default`.
63
+ - **Placeholder** (`#999999`): `--alias-color-text-placeholder-default`.
64
+ - **Inverse** (`#ffffff`): `--alias-color-text-inverse-default`. White text on dark surfaces.
65
+
66
+ ### Background / Surface (5-tier scale)
67
+ - **Primary** (`#ffffff`): `--alias-color-background-primary-default`. Default page bg.
68
+ - **Primary Active** (`#f5f5f5`): `--alias-color-background-primary-active`. Pressed/hover state for white-bg controls.
69
+ - **Primary Highlight** (`#f5f5f5`): `--alias-color-background-primary-highlight`.
70
+ - **Secondary** (`#f5f5f5`): `--alias-color-background-secondary-default`. Grouped section bg.
71
+ - **Secondary Highlight** (`#e5e5e5`): `--alias-color-background-secondary-highlight`.
72
+ - **Tertiary** (`#333333`): `--alias-color-background-tertiary-default`. Dark surfaces (e.g., snackbar contrast).
73
+ - **Disabled** (`#cccccc`): `--alias-color-background-disabled-default`.
74
+
75
+ ### Border / Separator
76
+ - **Primary** (`#cccccc`): `--alias-color-border-primary-default`. Standard component border.
77
+ - **Primary Highlight** (`#e5e5e5`): `--alias-color-border-primary-highlight`.
78
+ - **Primary Active** (`#999999`): `--alias-color-border-primary-active`.
79
+ - **Secondary** (`#333333`): `--alias-color-border-secondary-default`. Strong dividers.
80
+ - **Disabled** (`#cccccc`): `--alias-color-border-disabled-default`.
81
+
82
+ ### Overlay (modal backdrops)
83
+ - **Weak** (`rgba(34,34,34,0.2)`): `--alias-color-overlay-weak`.
84
+ - **Middle** (`rgba(34,34,34,0.4)`): `--alias-color-overlay-middle`.
85
+ - **Mid Strong** (`rgba(34,34,34,0.6)`): `--alias-color-overlay-midStrong`.
86
+ - **Strong** (`rgba(34,34,34,0.8)`): `--alias-color-overlay-strong`.
87
+ - **Inverse Weak** (`rgba(255,255,255,0.2)`): `--alias-color-overlay-inverseWeak`. White overlay on dark surface.
88
+
89
+ ### Icon (separate role from text — important for accessibility)
90
+ - **Primary** (`#333333`): `--alias-color-icon-primary-default`.
91
+ - **Secondary** (`#cccccc`): `--alias-color-icon-secondary-default`.
92
+ - **Tertiary** (`#666666`): `--alias-color-icon-tertiary-default`.
93
+ - **Inverse** (`#ffffff`): `--alias-color-icon-inverse-default`.
94
+
95
+ ### System (static)
96
+ - **Static White** (`#ffffff`): `--alias-color-system-staticWhite-default`.
97
+ - **Static Black** (`#000000`): `--alias-color-system-staticBlack-default`.
98
+ - **Static Clear** (`rgba(255,255,255,0)`): `--alias-color-system-staticClear-default`.
99
+
100
+ ## 3. Typography Rules
101
+
102
+ ### Font Stack (verified live)
103
+ ```
104
+ "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN Custom", "Hiragino Sans Custom", "Meiryo Custom", sans-serif
105
+ ```
106
+
107
+ For non-Japanese locales the secondary stack adds Traditional Chinese support:
108
+ ```
109
+ Helvetica Neue, Arial, "PingFang TC Custom", "Noto Sans TC Custom", "Microsoft JhengHei", "Hiragino Kaku Gothic ProN Custom", "Hiragino Sans Custom", "Meiryo Custom", sans-serif
110
+ ```
111
+
112
+ The "Custom" suffix indicates Mercari runs optically-tuned variants of these system fonts in production — same families, adjusted spacing for marketplace UI density.
113
+
114
+ ### Weights
115
+ - **700**: Primary CTAs, prices, badges, "Shop Now" hero CTAs, language toggles.
116
+ - **400**: Default body, login/signup buttons, navigation links, secondary CTAs.
117
+
118
+ Verified: primary attention CTAs (e.g., "コンテンツにスキップ" skip link) use weight 700 with bg `#ff333f` and `4px` radius. Secondary actions (login, signup, language) use weight 400.
119
+
120
+ ### Size Scale
121
+ - **Base body**: `15px` (verified `bodySize`)
122
+ - **Heading scale** is application-defined (homepage uses `15-20px` for H1/H2 with weight 700)
123
+ - Mobile sizes step down via `--typography-*-font-size-mobile` tokens
124
+
125
+ ### Conventions
126
+ - **No letter-spacing tweaks** — system defaults trusted.
127
+ - **Default line-height ~1.4** (estimated from rendered metrics).
128
+ - **Uppercase reserved for the "MERCARI" wordmark only.**
129
+
130
+ ## 4. Component Stylings
131
+
132
+ ### Buttons (verified across variants)
133
+ **Primary attention CTA (red)**:
134
+ - bg `#ff333f`, text `#ffffff`, `border-radius: 4px`, `padding: 11px 15px`, `font-weight: 700`
135
+
136
+ **Accent CTA (blue, e.g., "Shop Now")**:
137
+ - bg `#ffffff`, text `#0095ee`, `border-radius: 4px`, `padding: 8px 12px`, `font-weight: 700`
138
+
139
+ **Login / Signup (secondary, neutral)**:
140
+ - bg `#ffffff`, text `#333333`, `border-radius: 4px`, `padding: 8px`, `font-weight: 400`
141
+
142
+ **Icon button**:
143
+ - bg `transparent`, color `#000000` or `#333333`, `border-radius: 4px`, `padding: 4px`, `font-weight: 400`
144
+
145
+ **Language toggle**:
146
+ - bg `transparent`, text `#333333`, `border-radius: 4px`, `padding: 8px 16px`, `font-weight: 700`
147
+
148
+ ### Cards (Product Card, Brand Card)
149
+ - White bg (`--alias-color-background-primary-default`)
150
+ - Subtle `1px solid #e0e0e0` border or no border (image-led cards)
151
+ - Brand thumbnails: `border-radius: 50%` (circular) — distinctive Mercari pattern for category navigation
152
+ - Image fills top, title + price below
153
+ - Price emphasis: weight 700, often in `#ff333f` (Mercari Red) for sale prices
154
+
155
+ ### Search Input
156
+ - Full-width bar at top of page, `bg: #f5f5f5` (secondary surface), `border-radius: 4px`, dark gray placeholder `#999999`
157
+ - Camera search icon + magnifier icon inside the input on right
158
+
159
+ ### Navigation (top header)
160
+ - White sticky bg, height ~50-64px
161
+ - Mercari wordmark + heart logo on left
162
+ - Search bar centered
163
+ - ログイン (Login), 会員登録 (Signup), notification bell, language toggle (日本語) on right
164
+ - Tabs row below: おすすめ, マイリスト, ゲーム, etc. — horizontal scroll on mobile
165
+
166
+ ### Chips / Tabs
167
+ - Underline-driven active indicator (red underline `#ff333f` for active tab)
168
+ - Inactive tabs: text `#333333` weight 400
169
+ - Active tab: text `#ff333f` (or `#222222`) weight 700 with `2px` red underline
170
+
171
+ ### Snackbar / Toast
172
+ - Dark bg (`--alias-color-background-tertiary-default: #333333`)
173
+ - White text (`--alias-color-text-inverse-default: #ffffff`)
174
+ - Z-index `--mer-z-index-snackbar: 1500`
175
+
176
+ ### Modal / Dialog
177
+ - White surface, `border-radius: 8px`
178
+ - Backdrop: `--alias-color-overlay-strong: rgba(34,34,34,0.8)`
179
+ - Z-index `--mer-z-index-modal: 1400`
180
+
181
+ ## 5. Layout Principles
182
+
183
+ ### Page Structure
184
+ - Max width: `1440px` (`--bqHLTv`, `--gIsGsE`)
185
+ - Grid layout page padding: top `40px` (`--grid-layout-page-padding-top`), bottom `64px` (`--grid-layout-page-padding-bottom`), horizontal `36px` (`--grid-layout-page-padding-horizontal`)
186
+ - Grid gutter: `24px` (`--grid-layout-gutter`)
187
+ - Inner inset: `16px` (`--grid-layout-inset`)
188
+
189
+ ### Spacing Tokens (semantic aliases)
190
+ Mercari uses Panda CSS-generated hashed token names alongside semantic aliases. Common values from CSS:
191
+ - `4px`, `6px`, `8px`, `12px`, `16px`, `20px`, `24px`, `28px`, `32px`, `36px`, `40px`, `44px`, `48px`, `56px`, `64px`, `80px`, `96px`, `128px`, `164px`
192
+
193
+ This is a 4dp baseline scale extended with named tokens.
194
+
195
+ ### Density
196
+ Mercari is **commerce-density** — tight product grids with minimal card chrome, image-led visual hierarchy. The 6-column product grid on homepage uses `~190-240px` card widths with `12-16px` gutters.
197
+
198
+ ## 6. Depth & Elevation
199
+
200
+ Mercari has explicit shadow tokens for floating UI:
201
+
202
+ - **Card lift** (subtle): `0px 2px 4px 0px rgba(0,0,0,.2)` (`--ljPKsT`)
203
+ - **Tooltip / popover**: `0px 4px 8px 0px rgba(0,0,0,.2)` (`--coocrY`)
204
+ - **Modal / dropdown**: `0px 8px 10px 0px rgba(0,0,0,.2)` (`--jcKRRc`)
205
+ - **Strong overlay**: `0px 0px 16px 0px rgba(0,0,0,.2)` (`--gQVqIQ`)
206
+
207
+ ### Z-Index Hierarchy (explicit named tokens)
208
+ - Menu: `1100` (`--mer-z-index-menu`)
209
+ - Navigation top: `1200` (`--mer-z-index-navigation-top`)
210
+ - Navigation bottom: `1200` (`--mer-z-index-navigation-bottom`)
211
+ - Autocomplete: `1300` (`--mer-z-index-autocomplete`)
212
+ - Dialog: `1400` (`--mer-z-index-dialog`)
213
+ - Modal: `1400` (`--mer-z-index-modal`)
214
+ - Side sheet: `1400` (`--mer-z-index-side-sheet`)
215
+ - Information popup: `1400` (`--mer-z-index-information-popup`)
216
+ - Action sheet: `1400` (`--mer-z-index-action-sheet`)
217
+ - Snackbar: `1500` (`--mer-z-index-snackbar`)
218
+ - Tooltip: `1600` (`--mer-z-index-tooltip`)
219
+
220
+ ### Animation
221
+ - Easing curves: `cubic-bezier(0.65, 0, 0.35, 1)` (sheets), `cubic-bezier(0.33, 1, 0.68, 1)` (snackbars/dialogs)
222
+ - Standard duration: `0.25s`
223
+ - Loading spinner: `1.25s` 8-step rotation
224
+
225
+ ## 7. Do's and Don'ts
226
+
227
+ - **DO** use the `--alias-color-*` semantic tokens. The 681 variables cover virtually every UI surface — never hardcode hex values when an alias exists.
228
+ - **DON'T** invent new color values. Mercari's palette is exhaustive; if you can't find an alias, use the closest one.
229
+ - **DO** reserve **Mercari Red** (`#ff333f`) for the `attention` semantic — sale prices, danger actions, the brand mark, error states.
230
+ - **DON'T** use red for general "primary" CTAs that aren't attention-grabbing. Mercari's primary actions are often blue-accent (`#0095ee`) or neutral, not red.
231
+ - **DO** use weight 700 for primary CTAs and prices. Weight 400 for navigation, secondary actions, body.
232
+ - **DON'T** use weight 500 or 600 — they're not part of Mercari's typography rhythm.
233
+ - **DO** keep `border-radius: 4px` on buttons and cards. Mercari's commerce voice is sharp and functional.
234
+ - **DON'T** use pill-shaped or large-radius buttons — that breaks the marketplace density aesthetic.
235
+ - **DO** apply circular thumbnails (`border-radius: 50%`) to brand/category icons in navigation. It's a distinctive Mercari pattern.
236
+ - **DON'T** use shadows on flat product cards — let the white card on `#f5f5f5` secondary bg provide separation.
237
+ - **DO** use the locale-aware font stack with Hiragino/Meiryo "Custom" variants. The optical tuning matters for Japanese readability.
238
+ - **DON'T** load custom web fonts. Mercari's audience is mobile-first across slow connections; system fonts respect that.
239
+ - **DO** use the explicit named z-index tokens (`--mer-z-index-*`) — Mercari's stacking order is deliberate.
240
+ - **DON'T** use arbitrary z-index values like `9999` — that breaks the layered system.
241
+
242
+ ## 8. Responsive Behavior
243
+
244
+ ### Breakpoints (inferred from `--typography-*-font-size-mobile` tokens and `--vbMobileBoundaryWidth`-style patterns)
245
+ | Width | Behavior |
246
+ |---|---|
247
+ | Desktop `>1440px` | Centered max-width container, full grid |
248
+ | Desktop `1024–1440px` | 6-column product grid, full nav |
249
+ | Tablet `768–1024px` | 4-column product grid, condensed nav |
250
+ | Mobile `<768px` | 2-column grid, hamburger nav, sticky bottom navigation |
251
+
252
+ ### Touch & Mobile
253
+ - Mobile bottom navigation: tab bar with icon + label
254
+ - Form heights: small `36px`, medium ~`48px`, large ~`56px` (estimated from spacing tokens)
255
+ - Touch targets: minimum `44px` per Apple HIG conventions
256
+
257
+ ### Image Behavior
258
+ - Product images: square aspect ratio, `4px` corner radius (matches button/card scheme)
259
+ - Brand thumbnails: circular (`50%` radius)
260
+ - Lazy-load via Next.js Image equivalent
261
+ - Placeholder skeleton uses `--color-shimmer-bg` / `--color-shimmer-fg` pattern
262
+
263
+ ## 9. Agent Prompt Guide
264
+
265
+ ### Quick Color Reference
266
+ - **Mercari Red** (attention, sale, brand): `#ff333f` (`--alias-color-background-attention-default`)
267
+ - Accent Blue (links, info): `#0095ee`
268
+ - Success Green: `#0aa466`
269
+ - Decorative Yellow (ratings): `#ffb818`
270
+ - Primary text: `#333333`
271
+ - Secondary text: `#666666`
272
+ - Page bg: `#ffffff`
273
+ - Secondary bg: `#f5f5f5`
274
+ - Border default: `#cccccc`
275
+ - Inverse text: `#ffffff` (on dark surfaces)
276
+
277
+ ### Example Component Prompts
278
+ - "Create a Mercari-style attention CTA: bg `#ff333f`, white text, `border-radius: 4px`, `padding: 11px 15px`, `font-weight: 700`. Hover: bg darkens to `#ff6574`. Active: `#e32b36`. Use this for danger actions, sale CTAs, the brand-mark button — never for generic 'primary' actions (those use accent blue)."
279
+ - "Build a Mercari product card: white bg, no border or `1px solid #e0e0e0`, `4px` radius. Image fills top 70% in `4px` rounded square. Title in 14px weight 400 `#333333` (2-line clamp), price below in 16px weight 700 `#333333` for normal price OR `#ff333f` for sale price. Optional sale badge in top-left corner using `#ff333f` bg + white text + 2px radius."
280
+ - "Design a Mercari brand thumbnail (category icon): circular `border-radius: 50%`, ~64-80px diameter, white bg with `1px solid #f5f5f5` border, brand image centered. Below: brand name in 12px weight 400 `#333333`, max 1 line ellipsis."
281
+ - "Create a Mercari search bar: full-width, bg `#f5f5f5` (secondary surface), `border-radius: 4px`, padding 12-16px, placeholder `#999999`. Right side: camera icon + magnifier icon, both `#666666`. On focus: bg shifts to white, border becomes `1px solid #cccccc`."
282
+ - "Build a Mercari snackbar: bg `#333333` (`--alias-color-background-tertiary-default`), white text, `border-radius: 4px`, `padding: 12px 16px`, fixed at bottom with z-index 1500. Slides in via `cubic-bezier(0.33, 1, 0.68, 1)` over `0.25s`. Auto-dismiss after 3-4s."
283
+
284
+ ### Iteration Guide
285
+ 1. **Always reference `--alias-color-*` tokens, not raw hex**. Mercari's 681 vars are the canonical source.
286
+ 2. **Mercari Red (`#ff333f`) is the `attention` role** — destructive, sale-emphasis, brand mark. Not a default primary.
287
+ 3. **`border-radius: 4px`** is the workhorse. Cards, buttons, badges. Brand thumbnails get `50%` (circular).
288
+ 4. **Weight 700 for prices and primary CTAs**, weight 400 for everything else. No middle weights.
289
+ 5. **Use the locale-aware font stack with Hiragino/Meiryo "Custom" variants**. Optical tuning matters.
290
+ 6. **Z-index uses named tokens** (`--mer-z-index-*`) — never arbitrary numbers.
291
+ 7. **Animation easing `cubic-bezier(0.65, 0, 0.35, 1)` for sheets**, `cubic-bezier(0.33, 1, 0.68, 1)` for snackbars/dialogs. Duration `0.25s`.
292
+ 8. **Surface contrast** (`#ffffff` cards on `#f5f5f5` page bg) handles separation — minimal shadow needed on flat layouts.
293
+ 9. **Body text `#333333`, secondary `#666666`, tertiary `#999999`** — three-tier text hierarchy across the entire system.
294
+ 10. **Page padding 36px horizontal, 40px top, 64px bottom**, with `24px` gutter — the layout grid is explicit.
@@ -0,0 +1,12 @@
1
+ # Mercari Inspired Design System
2
+
3
+ [DESIGN.md](./DESIGN.md) extracted from the public [Mercari](https://jp.mercari.com) production site, which **exposes 681 semantic CSS custom properties on `:root`** (the `--alias-color-*` namespace). Tokens were extracted directly via Playwright MCP at 1440px viewport on 2026-04-17. Mercari Engineering also publishes extensive design system writeups on Medium and their tech blog. See [_research.md](./_research.md) for source detail and confidence per item.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |------|-------------|
9
+ | `DESIGN.md` | Complete design system documentation (9 sections) |
10
+ | `_research.md` | Sources used, extraction methodology, and confidence per item |
11
+
12
+ Use [DESIGN.md](./DESIGN.md) as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Mercari design language — Japan's largest C2C marketplace with Mercari Red (`#ff333f`) as the `attention` semantic, comprehensive `--alias-color-*` token system, Japanese-first font stack with Hiragino "Custom" variants, sharp `4px` button radii, and explicit z-index hierarchy (1100-1600 named layers).
@@ -0,0 +1,77 @@
1
+ # Research Sources for Mercari
2
+
3
+ 추출 일자: 2026-04-17
4
+ 스킬: `omd:add-reference` (5-tier methodology)
5
+ 입력 URL: `https://jp.mercari.com`
6
+
7
+ ## Tier 1 — Official Design System
8
+
9
+ **Status: EFFECTIVELY FOUND via runtime token exposure (681 CSS variables on `:root`)**
10
+
11
+ Mercari does not host a public documentation site comparable to Material Design, but the production app **exposes 681 semantic CSS custom properties on `:root`**, organized into a consistent `--alias-color-{property}-{role}-{state}` namespace. Extracted via `getComputedStyle(document.documentElement)` using Playwright MCP. This is functionally equivalent to a published design tokens file.
12
+
13
+ Token namespaces discovered:
14
+ - `--alias-color-background-{role}-{state}` — surface tokens (primary, secondary, tertiary, attention, attentionThin, accent, accentThin, success, disabled)
15
+ - `--alias-color-text-{role}-{state}` — foreground tokens (primary, secondary, accent, attention, success, disabled, placeholder, link, inverse, hint)
16
+ - `--alias-color-border-{role}-{state}` — divider system
17
+ - `--alias-color-icon-{role}-{state}` — icon foreground
18
+ - `--alias-color-overlay-{strength}` — modal backdrops (weak/middle/midStrong/strong + inverse variants)
19
+ - `--alias-color-system-static{Tone}-default` — fixed white/black/clear (theme-independent)
20
+ - `--mer-z-index-{layer}` — explicit z-index hierarchy (1100-1600)
21
+ - `--grid-layout-*` — page padding, gutter, inset
22
+ - `--component-*` — per-component overrides (button, radio, avatar, skeleton, etc.)
23
+ - `--typography-{role}-{property}` and `--fonts-{role}-{property}` — type scale (mostly hashed token names from Panda CSS, but semantic aliases also present)
24
+
25
+ Additional public sources:
26
+ - [Mercari Engineering blog — design system tag](https://engineering.mercari.com/en/blog/tag/design-system/) — multiple posts on DS architecture
27
+ - [GitHub: mercari/fractal](https://github.com/mercari/fractal) — open-source UI patterns library
28
+ - [Building Mercari's Design System (Medium)](https://medium.com/mercari-engineering/building-mercaris-design-system-b6789043053d)
29
+ - [The Story Behind Mercari Design System Rebuild (2025)](https://engineering.mercari.com/en/blog/entry/20250624-the-story-behind-mercari-design-system-rebuild/)
30
+
31
+ ## Tier 2 — Brand / Press Kit
32
+
33
+ Not investigated separately; runtime tokens were sufficient.
34
+
35
+ ## Tier 3 — Engineering / Design Blog
36
+
37
+ [engineering.mercari.com/en/blog/tag/design-system](https://engineering.mercari.com/en/blog/tag/design-system/) — extensive English-language coverage of Mercari Design System architecture and rebuild rationale. Pulled context but not specific token values.
38
+
39
+ ## Tier 4 — Live Site Recon
40
+
41
+ **Method**: Playwright MCP at viewport 1440×900 on `https://jp.mercari.com/`.
42
+
43
+ ### Verified at runtime
44
+ - Body bg: `rgb(255, 255, 255)` = `#ffffff` (matches `--alias-color-background-primary-default`)
45
+ - Body text: `rgb(51, 51, 51)` = `#333333` (matches `--alias-color-text-primary-default`)
46
+ - Body font: `Helvetica Neue, Arial, "Hiragino Kaku Gothic ProN Custom", "Hiragino Sans Custom", "Meiryo Custom", sans-serif`
47
+ - Body size: `15px`
48
+ - 681 `:root` CSS custom properties enumerated
49
+ - Sample buttons confirm:
50
+ - Attention CTA: bg `#ff333f`, white text, `4px` radius, padding `11px 15px`, weight 700
51
+ - Accent CTA (Shop Now): bg `#ffffff`, text `#0095ee`, `4px` radius, weight 700
52
+ - Login/Signup: bg `#ffffff`, text `#333333`, `4px` radius, weight 400
53
+
54
+ Screenshot saved: `_research/home-1440px.png`
55
+
56
+ ## Confidence
57
+
58
+ ### High Confidence (extracted directly from `:root` CSS variables)
59
+ - All `--alias-color-*` values in §2
60
+ - Z-index hierarchy (`--mer-z-index-*`) in §6
61
+ - Grid layout values (`--grid-layout-*`) in §5
62
+ - Verified live: body bg/text/font, button variants
63
+
64
+ ### Medium Confidence
65
+ - Hue family interpretations (e.g., "yellow is for ratings/reviews") — inferred from token names, not verified per-component
66
+ - Animation easing curves — extracted from CSS but specific component bindings not enumerated
67
+ - Spacing scale tokens — extracted as values but specific semantic uses inferred
68
+
69
+ ### Inferred (verify before relying on)
70
+ - "Mercari Red is exclusively for attention/danger" — token naming supports this; product-level usage not exhaustively verified
71
+ - Mobile breakpoints — inferred from presence of `--typography-*-font-size-mobile` tokens; exact px values not extracted
72
+
73
+ ## Notes
74
+ - Mercari's design system uses **Panda CSS** (the `--made-with-panda: "🐼"` token confirms it). Token names are hashed in production but semantic aliases (`--alias-color-*`) provide a stable layer.
75
+ - The "Custom" suffix on Hiragino/Meiryo fonts indicates Mercari deploys optically-tuned variants — same families, adjusted spacing.
76
+ - Mercari is a textbook example of mature semantic token architecture for a Japanese-market commerce platform; the system is internal but exposed on `:root` for direct consumption.
77
+ - This reference may drift if Mercari ships a token rename. Re-running `omd:add-reference https://jp.mercari.com` periodically captures updates.
@@ -0,0 +1,257 @@
1
+ # Design System Inspiration of MiniMax
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ MiniMax's website is a clean, product-showcase platform for a Chinese AI technology company that bridges consumer-friendly appeal with technical credibility. The design language is predominantly white-space-driven with a light, airy feel — pure white backgrounds (`#ffffff`) dominate, letting colorful product cards and AI model illustrations serve as the visual anchors. The overall aesthetic sits at the intersection of Apple's product marketing clarity and a playful, rounded design language that makes AI technology feel approachable.
6
+
7
+ The typography system is notably multi-font: DM Sans serves as the primary UI workhorse, Outfit handles display headings with geometric elegance, Poppins appears for mid-tier headings, and Roboto handles data-heavy contexts. This variety reflects a brand in rapid growth — each font serves a distinct communicative purpose rather than competing for attention. The hero heading at 80px weight 500 in both DM Sans and Outfit with a tight 1.10 line-height creates a bold but not aggressive opening statement.
8
+
9
+ What makes MiniMax distinctive is its pill-button geometry (9999px radius) for navigation and primary actions, combined with softer 8px–24px radiused cards for product showcases. The product cards themselves are richly colorful — vibrant gradients in pink, purple, orange, and blue — creating a "gallery of AI capabilities" feel. Against the white canvas, these colorful cards pop like app icons on a phone home screen, making each AI model/product feel like a self-contained creative tool.
10
+
11
+ **Key Characteristics:**
12
+ - White-dominant layout with colorful product card accents
13
+ - Multi-font system: DM Sans (UI), Outfit (display), Poppins (mid-tier), Roboto (data)
14
+ - Pill buttons (9999px radius) for primary navigation and CTAs
15
+ - Generous rounded cards (20px–24px radius) for product showcases
16
+ - Brand blue spectrum: from `#1456f0` (brand-6) through `#3b82f6` (primary-500) to `#60a5fa` (light)
17
+ - Brand pink (`#ea5ec1`) as secondary accent
18
+ - Near-black text (`#222222`, `#18181b`) on white backgrounds
19
+ - Purple-tinted shadows (`rgba(44, 30, 116, 0.16)`) creating subtle brand-colored depth
20
+ - Dark footer section (`#181e25`) with product/company links
21
+
22
+ ## 2. Color Palette & Roles
23
+
24
+ ### Brand Primary
25
+ - **Brand Blue** (`#1456f0`): `--brand-6`, primary brand identity color
26
+ - **Sky Blue** (`#3daeff`): `--col-brand00`, lighter brand variant for accents
27
+ - **Brand Pink** (`#ea5ec1`): `--col-brand02`, secondary brand accent
28
+
29
+ ### Blue Scale (Primary)
30
+ - **Primary 200** (`#bfdbfe`): `--color-primary-200`, light blue backgrounds
31
+ - **Primary Light** (`#60a5fa`): `--color-primary-light`, active states, highlights
32
+ - **Primary 500** (`#3b82f6`): `--color-primary-500`, standard blue actions
33
+ - **Primary 600** (`#2563eb`): `--color-primary-600`, hover states
34
+ - **Primary 700** (`#1d4ed8`): `--color-primary-700`, pressed/active states
35
+ - **Brand Deep** (`#17437d`): `--brand-3`, deep blue for emphasis
36
+
37
+ ### Text Colors
38
+ - **Near Black** (`#222222`): `--col-text00`, primary text
39
+ - **Dark** (`#18181b`): Button text, headings
40
+ - **Charcoal** (`#181e25`): Dark surface text, footer background
41
+ - **Dark Gray** (`#45515e`): `--col-text04`, secondary text
42
+ - **Mid Gray** (`#8e8e93`): Tertiary text, muted labels
43
+ - **Light Gray** (`#5f5f5f`): `--brand-2`, helper text
44
+
45
+ ### Surface & Background
46
+ - **Pure White** (`#ffffff`): `--col-bg13`, primary background
47
+ - **Light Gray** (`#f0f0f0`): Secondary button backgrounds
48
+ - **Glass White** (`hsla(0, 0%, 100%, 0.4)`): `--fill-bg-white`, frosted glass overlay
49
+ - **Border Light** (`#f2f3f5`): Subtle section dividers
50
+ - **Border Gray** (`#e5e7eb`): Component borders
51
+
52
+ ### Semantic
53
+ - **Success Background** (`#e8ffea`): `--success-bg`, positive state backgrounds
54
+
55
+ ### Shadows
56
+ - **Standard** (`rgba(0, 0, 0, 0.08) 0px 4px 6px`): Default card shadow
57
+ - **Soft Glow** (`rgba(0, 0, 0, 0.08) 0px 0px 22.576px`): Ambient soft shadow
58
+ - **Brand Purple** (`rgba(44, 30, 116, 0.16) 0px 0px 15px`): Brand-tinted glow
59
+ - **Brand Purple Offset** (`rgba(44, 30, 116, 0.11) 6.5px 2px 17.5px`): Directional brand glow
60
+ - **Card Elevation** (`rgba(36, 36, 36, 0.08) 0px 12px 16px -4px`): Lifted card shadow
61
+
62
+ ## 3. Typography Rules
63
+
64
+ ### Font Families
65
+ - **Primary UI**: `DM Sans`, with fallbacks: `Helvetica Neue, Helvetica, Arial`
66
+ - **Display**: `Outfit`, with fallbacks: `Helvetica Neue, Helvetica, Arial`
67
+ - **Mid-tier**: `Poppins`
68
+ - **Data/Technical**: `Roboto`, with fallbacks: `Helvetica Neue, Helvetica, Arial`
69
+
70
+ ### Hierarchy
71
+
72
+ | Role | Font | Size | Weight | Line Height | Notes |
73
+ |------|------|------|--------|-------------|-------|
74
+ | Display Hero | DM Sans / Outfit | 80px (5.00rem) | 500 | 1.10 (tight) | Hero headlines |
75
+ | Section Heading | Outfit | 31px (1.94rem) | 600 | 1.50 | Feature section titles |
76
+ | Section Heading Alt | Roboto / DM Sans | 32px (2.00rem) | 600 | 0.88 (tight) | Compact headers |
77
+ | Card Title | Outfit | 28px (1.75rem) | 500–600 | 1.71 (relaxed) | Product card headings |
78
+ | Sub-heading | Poppins | 24px (1.50rem) | 500 | 1.50 | Mid-tier headings |
79
+ | Feature Label | Poppins | 18px (1.13rem) | 500 | 1.50 | Feature names |
80
+ | Body Large | DM Sans | 20px (1.25rem) | 500 | 1.50 | Emphasized body |
81
+ | Body | DM Sans | 16px (1.00rem) | 400–500 | 1.50 | Standard body text |
82
+ | Body Bold | DM Sans | 16px (1.00rem) | 700 | 1.50 | Strong emphasis |
83
+ | Nav/Link | DM Sans | 14px (0.88rem) | 400–500 | 1.50 | Navigation, links |
84
+ | Button Small | DM Sans | 13px (0.81rem) | 600 | 1.50 | Compact buttons |
85
+ | Caption | DM Sans / Poppins | 13px (0.81rem) | 400 | 1.70 (relaxed) | Metadata |
86
+ | Small Label | DM Sans | 12px (0.75rem) | 500–600 | 1.25–1.50 | Tags, badges |
87
+ | Micro | DM Sans / Outfit | 10px (0.63rem) | 400–500 | 1.50–1.80 | Tiny annotations |
88
+
89
+ ### Principles
90
+ - **Multi-font purpose**: DM Sans = UI workhorse (body, nav, buttons); Outfit = geometric display (headings, product names); Poppins = friendly mid-tier (sub-headings, features); Roboto = technical/data contexts.
91
+ - **Universal 1.50 line-height**: The overwhelming majority of text uses 1.50 line-height, creating a consistent reading rhythm regardless of font or size. Exceptions: display (1.10 tight) and some captions (1.70 relaxed).
92
+ - **Weight 500 as default emphasis**: Most headings use 500 (medium) rather than bold, creating a modern, approachable tone. 600 for section titles, 700 reserved for strong emphasis.
93
+ - **Compact hierarchy**: The size scale jumps from 80px display straight to 28–32px section, then 16–20px body — a deliberate compression that keeps the visual hierarchy feeling efficient.
94
+
95
+ ## 4. Component Stylings
96
+
97
+ ### Buttons
98
+
99
+ **Pill Primary Dark**
100
+ - Background: `#181e25`
101
+ - Text: `#ffffff`
102
+ - Padding: 11px 20px
103
+ - Radius: 8px
104
+ - Use: Primary CTA ("Get Started", "Learn More")
105
+
106
+ **Pill Nav**
107
+ - Background: `rgba(0, 0, 0, 0.05)` (subtle tint)
108
+ - Text: `#18181b`
109
+ - Radius: 9999px (full pill)
110
+ - Use: Navigation tabs, filter toggles
111
+
112
+ **Pill White**
113
+ - Background: `#ffffff`
114
+ - Text: `rgba(24, 30, 37, 0.8)`
115
+ - Radius: 9999px
116
+ - Opacity: 0.5 (default state)
117
+ - Use: Secondary nav, inactive tabs
118
+
119
+ **Secondary Light**
120
+ - Background: `#f0f0f0`
121
+ - Text: `#333333`
122
+ - Padding: 11px 20px
123
+ - Radius: 8px
124
+ - Use: Secondary actions
125
+
126
+ ### Product Cards
127
+ - Background: Vibrant gradients (pink/purple/orange/blue)
128
+ - Radius: 20px–24px (generous rounding)
129
+ - Shadow: `rgba(44, 30, 116, 0.16) 0px 0px 15px` (brand purple glow)
130
+ - Content: Product name, model version, descriptive text
131
+ - Each card has its own color palette matching the product identity
132
+
133
+ ### AI Product Cards (Matrix)
134
+ - Background: white with subtle shadow
135
+ - Radius: 13px–16px
136
+ - Shadow: `rgba(0, 0, 0, 0.08) 0px 4px 6px`
137
+ - Icon/illustration centered above product name
138
+ - Product name in DM Sans 14–16px weight 500
139
+
140
+ ### Links
141
+ - **Primary**: `#18181b` or `#181e25`, underline on dark text
142
+ - **Secondary**: `#8e8e93`, muted for less emphasis
143
+ - **On Dark**: `rgba(255, 255, 255, 0.8)` for footer and dark sections
144
+
145
+ ### Navigation
146
+ - Clean horizontal nav on white background
147
+ - MiniMax logo left-aligned (red accent in logo)
148
+ - DM Sans 14px weight 500 for nav items
149
+ - Pill-shaped active indicators (9999px radius)
150
+ - "Login" text link, minimal right-side actions
151
+ - Sticky header behavior
152
+
153
+ ## 5. Layout Principles
154
+
155
+ ### Spacing System
156
+ - Base unit: 8px
157
+ - Scale: 1px, 2px, 4px, 6px, 8px, 10px, 11px, 14px, 16px, 24px, 32px, 40px, 50px, 64px, 80px
158
+
159
+ ### Grid & Container
160
+ - Max content width centered on page
161
+ - Product card grids: horizontal scroll or 3–4 column layout
162
+ - Full-width white sections with contained content
163
+ - Dark footer at full-width
164
+
165
+ ### Breakpoints
166
+ | Name | Width | Key Changes |
167
+ |------|-------|-------------|
168
+ | Mobile | <768px | Single column, stacked cards |
169
+ | Tablet | 768–1024px | 2-column grids |
170
+ | Desktop | >1024px | Full layout, horizontal card scrolls |
171
+
172
+ ### Whitespace Philosophy
173
+ - **Gallery spacing**: Products are presented like gallery items with generous white space between cards, letting each AI model breathe as its own showcase.
174
+ - **Section rhythm**: Large vertical gaps (64px–80px) between major sections create distinct "chapters" of content.
175
+ - **Card breathing**: Product cards use internal padding of 16px–24px with ample whitespace around text.
176
+
177
+ ### Border Radius Scale
178
+ - Minimal (4px): Small tags, micro badges
179
+ - Standard (8px): Buttons, small cards
180
+ - Comfortable (11px–13px): Medium cards, panels
181
+ - Generous (16px–20px): Large product cards
182
+ - Large (22px–24px): Hero product cards, major containers
183
+ - Pill (30px–32px): Badge pills, rounded panels
184
+ - Full (9999px): Buttons, nav tabs
185
+
186
+ ## 6. Depth & Elevation
187
+
188
+ | Level | Treatment | Use |
189
+ |-------|-----------|-----|
190
+ | Flat (Level 0) | No shadow | White background, text blocks |
191
+ | Subtle (Level 1) | `rgba(0, 0, 0, 0.08) 0px 4px 6px` | Standard cards, containers |
192
+ | Ambient (Level 2) | `rgba(0, 0, 0, 0.08) 0px 0px 22.576px` | Soft glow around elements |
193
+ | Brand Glow (Level 3) | `rgba(44, 30, 116, 0.16) 0px 0px 15px` | Featured product cards |
194
+ | Elevated (Level 4) | `rgba(36, 36, 36, 0.08) 0px 12px 16px -4px` | Lifted cards, hover states |
195
+
196
+ **Shadow Philosophy**: MiniMax uses a distinctive purple-tinted shadow (`rgba(44, 30, 116, ...)`) for featured elements, creating a subtle brand-color glow that connects the shadow system to the blue brand identity. Standard shadows use neutral black but at low opacity (0.08), keeping everything feeling light and airy. The directional shadow variant (6.5px offset) adds dimensional interest to hero product cards.
197
+
198
+ ## 7. Do's and Don'ts
199
+
200
+ ### Do
201
+ - Use white as the dominant background — let product cards provide the color
202
+ - Apply pill radius (9999px) for navigation tabs and toggle buttons
203
+ - Use generous border radius (20px–24px) for product showcase cards
204
+ - Employ the purple-tinted shadow for featured/hero product cards
205
+ - Keep body text at DM Sans weight 400–500 — heavier weights for buttons only
206
+ - Use Outfit for display headings, DM Sans for everything functional
207
+ - Maintain the universal 1.50 line-height across body text
208
+ - Let colorful product illustrations/gradients serve as the primary visual interest
209
+
210
+ ### Don't
211
+ - Don't add colored backgrounds to main content sections — white is structural
212
+ - Don't use sharp corners (0–4px radius) on product cards — the rounded aesthetic is core
213
+ - Don't apply the brand pink (`#ea5ec1`) to text or buttons — it's for logo and decorative accents only
214
+ - Don't mix more than one display font per section (Outfit OR Poppins, not both)
215
+ - Don't use weight 700 for headings — 500–600 is the range, 700 is reserved for strong emphasis in body text
216
+ - Don't darken shadows beyond 0.16 opacity — the light, airy feel requires restraint
217
+ - Don't use Roboto for headings — it's the data/technical context font only
218
+
219
+ ## 8. Responsive Behavior
220
+
221
+ ### Breakpoints
222
+ | Name | Width | Key Changes |
223
+ |------|-------|-------------|
224
+ | Mobile | <768px | Single column, stacked product cards, hamburger nav |
225
+ | Tablet | 768–1024px | 2-column product grids, condensed spacing |
226
+ | Desktop | >1024px | Full horizontal card layouts, expanded spacing |
227
+
228
+ ### Collapsing Strategy
229
+ - Hero: 80px → responsive scaling to ~40px on mobile
230
+ - Product card grid: horizontal scroll → 2-column → single column stacked
231
+ - Navigation: horizontal → hamburger menu
232
+ - Footer: multi-column → stacked sections
233
+ - Spacing: 64–80px gaps → 32–40px on mobile
234
+
235
+ ## 9. Agent Prompt Guide
236
+
237
+ ### Quick Color Reference
238
+ - Background: `#ffffff` (primary), `#181e25` (dark/footer)
239
+ - Text: `#222222` (primary), `#45515e` (secondary), `#8e8e93` (muted)
240
+ - Brand Blue: `#1456f0` (brand), `#3b82f6` (primary-500), `#2563eb` (hover)
241
+ - Brand Pink: `#ea5ec1` (accent only)
242
+ - Borders: `#e5e7eb`, `#f2f3f5`
243
+
244
+ ### Example Component Prompts
245
+ - "Create a hero section on white background. Headline at 80px Outfit weight 500, line-height 1.10, near-black (#222222) text. Sub-text at 16px DM Sans weight 400, line-height 1.50, #45515e. Dark CTA button (#181e25, 8px radius, 11px 20px padding, white text)."
246
+ - "Design a product card grid: white cards with 20px border-radius, shadow rgba(44,30,116,0.16) 0px 0px 15px. Product name at 28px Outfit weight 600. Internal gradient background for the product illustration area."
247
+ - "Build navigation bar: white background, DM Sans 14px weight 500 for links, #18181b text. Pill-shaped active tab (9999px radius, rgba(0,0,0,0.05) background). MiniMax logo left-aligned."
248
+ - "Create an AI product matrix: 4-column grid of cards with 13px radius, subtle shadow rgba(0,0,0,0.08) 0px 4px 6px. Centered icon above product name in DM Sans 16px weight 500."
249
+ - "Design footer on dark (#181e25) background. Product links in DM Sans 14px, rgba(255,255,255,0.8). Multi-column layout."
250
+
251
+ ### Iteration Guide
252
+ 1. Start with white — color comes from product cards and illustrations only
253
+ 2. Pill buttons (9999px) for nav/tabs, standard radius (8px) for CTA buttons
254
+ 3. Purple-tinted shadows for featured cards, neutral shadows for everything else
255
+ 4. DM Sans handles 70% of text — Outfit is display-only, Poppins is mid-tier only
256
+ 5. Keep weights moderate (500–600 for headings) — the brand tone is confident but approachable
257
+ 6. Large radius cards (20–24px) for products, smaller radius (8–13px) for UI elements