oh-my-design-cli 1.6.7 → 1.7.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 (224) hide show
  1. package/README.md +6 -6
  2. package/data/reference-fingerprints.json +1318 -10
  3. package/package.json +1 -1
  4. package/web/references/11st/DESIGN.md +400 -0
  5. package/web/references/17live/DESIGN.md +43 -0
  6. package/web/references/29cm/DESIGN.md +41 -0
  7. package/web/references/91app/DESIGN.md +31 -0
  8. package/web/references/ably/DESIGN.md +54 -0
  9. package/web/references/airbnb/DESIGN.md +58 -0
  10. package/web/references/airtable/DESIGN.md +39 -0
  11. package/web/references/alipay/DESIGN.md +50 -0
  12. package/web/references/amazingtalker/DESIGN.md +434 -0
  13. package/web/references/appier/DESIGN.md +45 -0
  14. package/web/references/apple/DESIGN.md +47 -0
  15. package/web/references/baemin/DESIGN.md +142 -43
  16. package/web/references/banksalad/DESIGN.md +67 -0
  17. package/web/references/bilibili/DESIGN.md +45 -0
  18. package/web/references/bithumb/DESIGN.md +38 -0
  19. package/web/references/bmw/DESIGN.md +37 -0
  20. package/web/references/brandi/DESIGN.md +414 -0
  21. package/web/references/bunjang/DESIGN.md +47 -0
  22. package/web/references/cakeresume/DESIGN.md +29 -0
  23. package/web/references/cal/DESIGN.md +52 -0
  24. package/web/references/catchtable/DESIGN.md +79 -19
  25. package/web/references/cathay/DESIGN.md +432 -0
  26. package/web/references/channeltalk/DESIGN.md +48 -0
  27. package/web/references/class101/DESIGN.md +51 -0
  28. package/web/references/classting/DESIGN.md +41 -0
  29. package/web/references/classum/DESIGN.md +43 -0
  30. package/web/references/claude/DESIGN.md +157 -70
  31. package/web/references/clay/DESIGN.md +56 -0
  32. package/web/references/clickhouse/DESIGN.md +50 -0
  33. package/web/references/cloudflare/DESIGN.md +637 -0
  34. package/web/references/cohere/DESIGN.md +48 -0
  35. package/web/references/coinbase/DESIGN.md +139 -5
  36. package/web/references/coinone/DESIGN.md +39 -0
  37. package/web/references/composio/DESIGN.md +46 -0
  38. package/web/references/cookpad/DESIGN.md +37 -0
  39. package/web/references/coupang/DESIGN.md +57 -2
  40. package/web/references/cursor/DESIGN.md +44 -0
  41. package/web/references/dabang/DESIGN.md +57 -19
  42. package/web/references/dcard/DESIGN.md +57 -0
  43. package/web/references/dell/DESIGN.md +636 -0
  44. package/web/references/devsisters/DESIGN.md +29 -0
  45. package/web/references/discord/DESIGN.md +604 -0
  46. package/web/references/dji/DESIGN.md +39 -0
  47. package/web/references/drnow/DESIGN.md +52 -0
  48. package/web/references/duolingo/DESIGN.md +563 -0
  49. package/web/references/elevenlabs/DESIGN.md +39 -0
  50. package/web/references/expo/DESIGN.md +39 -0
  51. package/web/references/fastcampus/DESIGN.md +50 -0
  52. package/web/references/ferrari/DESIGN.md +47 -0
  53. package/web/references/figma/DESIGN.md +44 -0
  54. package/web/references/finda/DESIGN.md +413 -0
  55. package/web/references/flex/DESIGN.md +28 -0
  56. package/web/references/flo/DESIGN.md +43 -0
  57. package/web/references/framer/DESIGN.md +38 -0
  58. package/web/references/freee/DESIGN.md +48 -0
  59. package/web/references/fugle/DESIGN.md +41 -1
  60. package/web/references/gangnamunni/DESIGN.md +57 -1
  61. package/web/references/genie/DESIGN.md +415 -0
  62. package/web/references/github/DESIGN.md +727 -0
  63. package/web/references/gmarket/DESIGN.md +51 -0
  64. package/web/references/gogolook/DESIGN.md +25 -1
  65. package/web/references/gogoro/DESIGN.md +38 -0
  66. package/web/references/grip/DESIGN.md +39 -0
  67. package/web/references/hahow/DESIGN.md +26 -0
  68. package/web/references/hashicorp/DESIGN.md +42 -0
  69. package/web/references/hogangnono/DESIGN.md +41 -0
  70. package/web/references/hp/DESIGN.md +563 -0
  71. package/web/references/hyperconnect/DESIGN.md +393 -0
  72. package/web/references/hyundaicard/DESIGN.md +24 -0
  73. package/web/references/ibm/DESIGN.md +44 -0
  74. package/web/references/ichef/DESIGN.md +44 -0
  75. package/web/references/ikala/DESIGN.md +400 -0
  76. package/web/references/inflearn/DESIGN.md +38 -0
  77. package/web/references/intercom/DESIGN.md +38 -0
  78. package/web/references/jandi/DESIGN.md +382 -0
  79. package/web/references/jkopay/DESIGN.md +35 -1
  80. package/web/references/jobkorea/DESIGN.md +39 -0
  81. package/web/references/jumpit/DESIGN.md +37 -0
  82. package/web/references/kakao/DESIGN.md +64 -0
  83. package/web/references/kakaobank/DESIGN.md +55 -1
  84. package/web/references/kakaopay/DESIGN.md +59 -0
  85. package/web/references/kakaot/DESIGN.md +53 -0
  86. package/web/references/karrot/DESIGN.md +49 -0
  87. package/web/references/kbank/DESIGN.md +39 -0
  88. package/web/references/kdan/DESIGN.md +34 -1
  89. package/web/references/kintone/DESIGN.md +586 -0
  90. package/web/references/kkbox/DESIGN.md +22 -0
  91. package/web/references/kkday/DESIGN.md +47 -0
  92. package/web/references/kmong/DESIGN.md +427 -0
  93. package/web/references/krafton/DESIGN.md +37 -0
  94. package/web/references/kraken/DESIGN.md +44 -0
  95. package/web/references/krds/DESIGN.md +63 -0
  96. package/web/references/kream/DESIGN.md +32 -0
  97. package/web/references/kurly/DESIGN.md +38 -1
  98. package/web/references/laftel/DESIGN.md +40 -0
  99. package/web/references/lamborghini/DESIGN.md +54 -0
  100. package/web/references/layerx/DESIGN.md +615 -0
  101. package/web/references/lezhin/DESIGN.md +47 -0
  102. package/web/references/line/DESIGN.md +36 -0
  103. package/web/references/linear.app/DESIGN.md +182 -88
  104. package/web/references/loom/DESIGN.md +396 -0
  105. package/web/references/lovable/DESIGN.md +38 -0
  106. package/web/references/lunit/DESIGN.md +47 -19
  107. package/web/references/mastercard/DESIGN.md +587 -0
  108. package/web/references/meituan/DESIGN.md +42 -0
  109. package/web/references/melon/DESIGN.md +26 -0
  110. package/web/references/mercari/DESIGN.md +41 -0
  111. package/web/references/mercury/DESIGN.md +589 -0
  112. package/web/references/meta/DESIGN.md +615 -0
  113. package/web/references/millie/DESIGN.md +51 -0
  114. package/web/references/minimax/DESIGN.md +53 -0
  115. package/web/references/mintlify/DESIGN.md +45 -0
  116. package/web/references/miro/DESIGN.md +47 -0
  117. package/web/references/mistral.ai/DESIGN.md +37 -0
  118. package/web/references/momoshop/DESIGN.md +43 -0
  119. package/web/references/money-forward/DESIGN.md +42 -0
  120. package/web/references/mongodb/DESIGN.md +44 -0
  121. package/web/references/muji/DESIGN.md +605 -0
  122. package/web/references/musinsa/DESIGN.md +48 -0
  123. package/web/references/mustit/DESIGN.md +47 -1
  124. package/web/references/myrealtrip/DESIGN.md +49 -0
  125. package/web/references/naver/DESIGN.md +50 -1
  126. package/web/references/naverwebtoon/DESIGN.md +48 -0
  127. package/web/references/netflix/DESIGN.md +572 -0
  128. package/web/references/nexon/DESIGN.md +389 -0
  129. package/web/references/nhncloud/DESIGN.md +33 -0
  130. package/web/references/nike/DESIGN.md +588 -0
  131. package/web/references/note/DESIGN.md +28 -0
  132. package/web/references/notion/DESIGN.md +48 -0
  133. package/web/references/nvidia/DESIGN.md +50 -0
  134. package/web/references/ohouse/DESIGN.md +56 -0
  135. package/web/references/oliveyoung/DESIGN.md +47 -1
  136. package/web/references/ollama/DESIGN.md +40 -0
  137. package/web/references/openai/DESIGN.md +641 -0
  138. package/web/references/opencode.ai/DESIGN.md +37 -0
  139. package/web/references/payco/DESIGN.md +40 -0
  140. package/web/references/paypay/DESIGN.md +656 -0
  141. package/web/references/pchome/DESIGN.md +439 -0
  142. package/web/references/perplexity/DESIGN.md +546 -0
  143. package/web/references/piccollage/DESIGN.md +43 -0
  144. package/web/references/pinkoi/DESIGN.md +55 -0
  145. package/web/references/pinterest/DESIGN.md +44 -0
  146. package/web/references/pixiv/DESIGN.md +613 -0
  147. package/web/references/pixnet/DESIGN.md +430 -0
  148. package/web/references/posthog/DESIGN.md +50 -0
  149. package/web/references/publy/DESIGN.md +52 -0
  150. package/web/references/qanda/DESIGN.md +49 -1
  151. package/web/references/ragic/DESIGN.md +444 -0
  152. package/web/references/ramp/DESIGN.md +634 -0
  153. package/web/references/rayark/DESIGN.md +22 -0
  154. package/web/references/raycast/DESIGN.md +45 -0
  155. package/web/references/remember/DESIGN.md +44 -0
  156. package/web/references/renault/DESIGN.md +42 -0
  157. package/web/references/replicate/DESIGN.md +39 -0
  158. package/web/references/resend/DESIGN.md +44 -0
  159. package/web/references/retool/DESIGN.md +645 -0
  160. package/web/references/revolut/DESIGN.md +46 -0
  161. package/web/references/richart/DESIGN.md +465 -0
  162. package/web/references/ridi/DESIGN.md +47 -0
  163. package/web/references/riiid/DESIGN.md +32 -0
  164. package/web/references/robinhood/DESIGN.md +604 -0
  165. package/web/references/runwayml/DESIGN.md +45 -0
  166. package/web/references/sanity/DESIGN.md +50 -0
  167. package/web/references/sansan/DESIGN.md +631 -0
  168. package/web/references/sendbird/DESIGN.md +46 -0
  169. package/web/references/sentry/DESIGN.md +48 -0
  170. package/web/references/shinhancard/DESIGN.md +421 -0
  171. package/web/references/shopline/DESIGN.md +431 -0
  172. package/web/references/slack/DESIGN.md +635 -0
  173. package/web/references/smarthr/DESIGN.md +48 -0
  174. package/web/references/smartnews/DESIGN.md +29 -0
  175. package/web/references/socar/DESIGN.md +35 -0
  176. package/web/references/soomgo/DESIGN.md +326 -0
  177. package/web/references/spacex/DESIGN.md +27 -0
  178. package/web/references/spoon/DESIGN.md +46 -0
  179. package/web/references/spotify/DESIGN.md +49 -0
  180. package/web/references/starbucks/DESIGN.md +597 -0
  181. package/web/references/stripe/DESIGN.md +46 -0
  182. package/web/references/studio/DESIGN.md +602 -0
  183. package/web/references/supabase/DESIGN.md +41 -0
  184. package/web/references/superhuman/DESIGN.md +39 -0
  185. package/web/references/surveycake/DESIGN.md +442 -0
  186. package/web/references/tada/DESIGN.md +51 -0
  187. package/web/references/tesla/DESIGN.md +36 -0
  188. package/web/references/theverge/DESIGN.md +500 -0
  189. package/web/references/together.ai/DESIGN.md +33 -0
  190. package/web/references/toss/DESIGN.md +43 -0
  191. package/web/references/toss-securities/DESIGN.md +54 -19
  192. package/web/references/tossbank/DESIGN.md +57 -0
  193. package/web/references/trenbe/DESIGN.md +41 -0
  194. package/web/references/triple/DESIGN.md +47 -0
  195. package/web/references/tumblbug/DESIGN.md +48 -0
  196. package/web/references/tving/DESIGN.md +40 -0
  197. package/web/references/uber/DESIGN.md +36 -0
  198. package/web/references/ubie/DESIGN.md +615 -0
  199. package/web/references/uniqlo/DESIGN.md +575 -0
  200. package/web/references/upbit/DESIGN.md +42 -0
  201. package/web/references/upstage/DESIGN.md +38 -0
  202. package/web/references/velog/DESIGN.md +28 -0
  203. package/web/references/vercel/DESIGN.md +44 -0
  204. package/web/references/voicetube/DESIGN.md +39 -0
  205. package/web/references/voltagent/DESIGN.md +44 -0
  206. package/web/references/wadiz/DESIGN.md +71 -19
  207. package/web/references/wanted/DESIGN.md +46 -0
  208. package/web/references/warp/DESIGN.md +37 -0
  209. package/web/references/watcha/DESIGN.md +40 -0
  210. package/web/references/wavve/DESIGN.md +43 -1
  211. package/web/references/wconcept/DESIGN.md +45 -0
  212. package/web/references/webflow/DESIGN.md +49 -0
  213. package/web/references/wired/DESIGN.md +572 -0
  214. package/web/references/wise/DESIGN.md +41 -0
  215. package/web/references/x.ai/DESIGN.md +31 -0
  216. package/web/references/xiaohongshu/DESIGN.md +39 -0
  217. package/web/references/yanolja/DESIGN.md +45 -0
  218. package/web/references/yeogiotte/DESIGN.md +42 -1
  219. package/web/references/yogiyo/DESIGN.md +50 -0
  220. package/web/references/yourator/DESIGN.md +453 -0
  221. package/web/references/zapier/DESIGN.md +41 -0
  222. package/web/references/zigbang/DESIGN.md +33 -0
  223. package/web/references/zigzag/DESIGN.md +62 -0
  224. package/web/references/zozotown/DESIGN.md +578 -0
@@ -9,6 +9,51 @@ logo:
9
9
  type: favicon
10
10
  slug: "https://www.google.com/s2/favicons?domain=appier.com&sz=128"
11
11
  verified: "2026-05-19"
12
+ tokens:
13
+ source: prose-derived
14
+ extracted: "2026-06-08"
15
+ note: "primary = electric Klein-adjacent blue (#1D2EFF, brief-provided + brand); secondary palette is grounded B2B approximation pending live re-inspection (per §2 note)"
16
+ colors:
17
+ primary: "#1D2EFF"
18
+ primary-hover: "#1626D9"
19
+ primary-tint: "#EBEDFF"
20
+ accent: "#00D4FF"
21
+ canvas: "#FFFFFF"
22
+ surface-soft: "#F5F6FA"
23
+ ink: "#101130"
24
+ foreground: "#101130"
25
+ body: "#4A4E69"
26
+ muted: "#8A8FA3"
27
+ disabled: "#C4C7D4"
28
+ on-primary: "#FFFFFF"
29
+ hairline: "#E6E8F0"
30
+ border: "#D1D5E3"
31
+ success: "#16A34A"
32
+ warning: "#F59E0B"
33
+ error: "#DC2626"
34
+ typography:
35
+ family: { sans: "-apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif", tc: "PingFang TC, Microsoft JhengHei, sans-serif", jp: "Hiragino Kaku Gothic Pro, Meiryo, sans-serif" }
36
+ caption: { size: 13, weight: 400, use: "Caption, metadata" }
37
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Body, descriptions" }
38
+ body-lg: { size: 18, weight: 400, use: "Body large / lead" }
39
+ card-heading: { size: 22, weight: 600, use: "Card titles, subheads" }
40
+ section: { size: 32, weight: 700, use: "Section headings" }
41
+ hero: { size: 48, weight: 700, use: "Hero headlines, value proposition" }
42
+ stat: { size: 48, weight: 700, use: "Case-study stat figures, in Appier Blue" }
43
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, section: 64, section-lg: 96 }
44
+ rounded: { sm: 6, md: 8, lg: 12, full: 9999 }
45
+ shadow:
46
+ card: "0 4px 16px rgba(16,17,48,0.08)"
47
+ header: "0 1px 4px rgba(16,17,48,0.06)"
48
+ modal: "0 12px 40px rgba(16,17,48,0.2)"
49
+ components_harvested: true
50
+ components:
51
+ button-primary: { type: button, bg: "#1D2EFF", fg: "#FFFFFF", radius: 8, padding: "12px 24px", font: "16px/600", use: "primary CTA, flat; hover #1626D9" }
52
+ button-secondary: { type: button, bg: "#FFFFFF", fg: "#1D2EFF", radius: 8, use: "1px #1D2EFF border; hover #EBEDFF bg" }
53
+ input: { type: input, bg: "#FFFFFF", radius: 8, padding: "12px 14px", use: "1px #D1D5E3 border; focus #1D2EFF; error #DC2626" }
54
+ card-solution: { type: card, bg: "#FFFFFF", radius: 12, padding: "24px", use: "1px #E6E8F0 border, blue Learn more link" }
55
+ card-dark: { type: card, bg: "#101130", fg: "#FFFFFF", radius: 12, use: "deep-ink bg, blue to cyan gradient accent" }
56
+ badge-credential: { type: badge, bg: "#F5F6FA", fg: "#101130", radius: 6, use: "1px #E6E8F0 border, 4-6px radius" }
12
57
  omd: "0.1"
13
58
  ---
14
59
 
@@ -16,6 +16,53 @@ ds:
16
16
  type: system
17
17
  description: Apple's official design guidelines for iOS, macOS, watchOS, and visionOS.
18
18
  og_image: "https://docs.developer.apple.com/tutorials/developer-og.jpg"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-08"
22
+ note: "single chromatic accent = Apple Blue #0071e3 (interactive only); link #0066cc on light / #2997ff on dark; binary canvas = #000000 dark / #f5f5f7 light"
23
+ colors:
24
+ primary: "#0071e3"
25
+ brand: "#000000"
26
+ canvas: "#f5f5f7"
27
+ canvas-dark: "#000000"
28
+ foreground: "#1d1d1f"
29
+ on-primary: "#ffffff"
30
+ surface: "#ffffff"
31
+ surface-dark: "#272729"
32
+ link: "#0066cc"
33
+ link-on-dark: "#2997ff"
34
+ typography:
35
+ family: { display: "SF Pro Display", text: "SF Pro Text" }
36
+ display-hero: { size: 56, weight: 600, lineHeight: 1.07, tracking: -0.28, use: "Product launch headlines, maximum impact" }
37
+ section: { size: 40, weight: 600, lineHeight: 1.10, use: "Feature section titles" }
38
+ tile-heading: { size: 28, weight: 400, lineHeight: 1.14, tracking: 0.196, use: "Product tile headlines" }
39
+ card-title: { size: 21, weight: 700, lineHeight: 1.19, tracking: 0.231, use: "Bold card headings" }
40
+ subheading: { size: 21, weight: 400, lineHeight: 1.19, tracking: 0.231, use: "Regular card headings" }
41
+ nav-heading: { size: 34, weight: 600, lineHeight: 1.47, tracking: -0.374, use: "Large navigation headings" }
42
+ sub-nav: { size: 24, weight: 300, lineHeight: 1.50, use: "Light sub-navigation text" }
43
+ body: { size: 17, weight: 400, lineHeight: 1.47, tracking: -0.374, use: "Standard reading text" }
44
+ body-emphasis: { size: 17, weight: 600, lineHeight: 1.24, tracking: -0.374, use: "Emphasized body text, labels" }
45
+ button-lg: { size: 18, weight: 300, lineHeight: 1.00, use: "Large button text, light weight" }
46
+ button: { size: 17, weight: 400, lineHeight: 2.41, use: "Standard button text" }
47
+ link: { size: 14, weight: 400, lineHeight: 1.43, tracking: -0.224, use: "Body links, Learn more" }
48
+ caption: { size: 14, weight: 400, lineHeight: 1.29, tracking: -0.224, use: "Secondary text, descriptions" }
49
+ micro: { size: 12, weight: 400, lineHeight: 1.33, tracking: -0.12, use: "Fine print, footnotes" }
50
+ nano: { size: 10, weight: 400, lineHeight: 1.47, tracking: -0.08, use: "Legal text, smallest size" }
51
+ spacing: { xs: 2, sm: 4, base: 8, md: 11, lg: 14, xl: 17, xxl: 20, section: 24 }
52
+ rounded: { sm: 5, md: 8, lg: 12, full: 980 }
53
+ shadow:
54
+ card: "rgba(0,0,0,0.22) 3px 5px 30px 0px"
55
+ nav-glass: "backdrop-filter: saturate(180%) blur(20px)"
56
+ components_harvested: true
57
+ components:
58
+ button-marketing-pill: { type: button, bg: "#0071e3", fg: "#ffffff", radius: 980, padding: "11px 21px", font: "17px/400", use: "marketing pill CTA" }
59
+ button-neutral-pill: { type: button, bg: "#1d1d1f", fg: "#ffffff", radius: 980, use: "paired secondary CTA" }
60
+ button-commerce-compact: { type: button, bg: "#0071e3", fg: "#ffffff", radius: 8, padding: "8px 15px", font: "14px", use: "checkout actions" }
61
+ card-white: { type: card, bg: "#ffffff", radius: 28, use: "no border, no shadow — lifts via color contrast" }
62
+ card-dark: { type: card, bg: "#000000", fg: "#ffffff", radius: 28, use: "max-contrast product detail" }
63
+ input-search: { type: input, radius: 8, use: "grey fill, active 2px solid #2997ff" }
64
+ nav-global: { type: tab, radius: 0, use: "translucent fog, backdrop blur(20px), 44px height" }
65
+ text-link: { type: badge, fg: "#0066cc", use: "link color, underline on hover, not a pill" }
19
66
  ---
20
67
 
21
68
  # Design System Inspiration of Apple
@@ -9,6 +9,67 @@ logo:
9
9
  type: favicon
10
10
  slug: "https://www.baemin.com/favicon.ico"
11
11
  verified: "2026-05-15"
12
+ tokens:
13
+ source: prose-derived
14
+ extracted: "2026-06-08"
15
+ components_harvested: true
16
+ note: "app-first KR delivery brand — capped at 16 components. App surface (Mint #2AC1BC, 8px) documented from Baemin public brand/color guide + app-store screenshots; web marketing surface (Black Pill #000000 / 9999px, app-download card, carousel dots) measured live via playwright on baemin.com. primary = Baemin Mint #2AC1BC (app surface accent); teal #12B886 is the secondary UI green for confirmation fills"
17
+ colors:
18
+ primary: "#2AC1BC"
19
+ brand: "#2AC1BC"
20
+ canvas: "#ffffff"
21
+ surface: "#F8F9FA"
22
+ surface-subtle: "#F1F3F5"
23
+ foreground: "#212529"
24
+ body: "#495057"
25
+ muted: "#868E96"
26
+ disabled: "#ADB5BD"
27
+ on-primary: "#ffffff"
28
+ accent: "#12B886"
29
+ accent-light: "#20C997"
30
+ error: "#FF6B6B"
31
+ warning: "#FFB347"
32
+ info: "#74C0FC"
33
+ promo: "#FF0000"
34
+ hairline: "#DEE2E6"
35
+ border-strong: "#343A40"
36
+ typography:
37
+ family: { ui: "-apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif", mono: "SF Mono, SFMono-Regular, Menlo, Consolas, monospace", brand: "BMHANNA Pro", playful: "BMJua" }
38
+ display-hero: { size: 42, weight: 700, lineHeight: 1.20, use: "Splash screens, brand moments (BMHANNA Pro)" }
39
+ display-large: { size: 36, weight: 700, lineHeight: 1.25, use: "Campaign titles, section heroes" }
40
+ heading-large: { size: 24, weight: 700, lineHeight: 1.33, use: "Feature section titles" }
41
+ heading: { size: 20, weight: 700, lineHeight: 1.40, use: "Card headings, menu categories" }
42
+ title: { size: 18, weight: 600, lineHeight: 1.44, use: "Restaurant names, item titles" }
43
+ body-large: { size: 16, weight: 400, lineHeight: 1.50, use: "Descriptions, menu details" }
44
+ body: { size: 14, weight: 400, lineHeight: 1.57, use: "Standard reading, reviews" }
45
+ body-small: { size: 13, weight: 400, lineHeight: 1.54, use: "Secondary info, ingredients" }
46
+ caption: { size: 12, weight: 400, lineHeight: 1.50, use: "Timestamps, delivery times" }
47
+ price: { size: 20, weight: 700, lineHeight: 1.30, use: "Menu item prices, order totals" }
48
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32, section: 40, max: 48 }
49
+ rounded: { sm: 4, md: 8, lg: 12, search: 20, full: 9999 }
50
+ shadow:
51
+ natural: "0px 1px 3px rgba(0,0,0,0.04)"
52
+ deep: "0px 2px 8px rgba(0,0,0,0.08)"
53
+ sharp: "0px 4px 12px rgba(0,0,0,0.10)"
54
+ outlined: "0px 4px 16px rgba(0,0,0,0.12)"
55
+ crisp: "0px 8px 24px rgba(0,0,0,0.16)"
56
+ components:
57
+ button-primary: { type: button, bg: "#2ac1bc", fg: "#ffffff", radius: "8px", height: "48px", padding: "12px 24px", font: "16px / 700", states: "pressed #20a8a4 · disabled bg #dee2e6 / text #adb5bd", use: "Primary CTAs (주문하기, 배달 주문)" }
58
+ button-ghost: { type: button, bg: "transparent", fg: "#2ac1bc", border: "1px solid #2ac1bc", radius: "8px", active: "bg rgba(42,193,188,0.08)", use: "Secondary actions (장바구니, 찜하기)" }
59
+ button-neutral: { type: button, bg: "#f8f9fa", fg: "#212529", radius: "8px", use: "Tertiary actions, filter toggles" }
60
+ button-destructive: { type: button, bg: "#ff6b6b", fg: "#ffffff", radius: "8px", use: "Cancel order, remove item" }
61
+ button-pill-web: { type: button, bg: "#000000", fg: "#ffffff", radius: "9999px", height: "58px", padding: "16px 32px", font: "18px / 700", use: "Web corporate CTA (기업용 상품권 구매하기)" }
62
+ app-download-card: { type: card, bg: "#ffffff", radius: "12px", height: "54px", padding: "14px 19px", shadow: "none", use: "Store-badge cards (App Store / Google Play)" }
63
+ card: { type: card, bg: "#ffffff", radius: "8px", border: "1px solid #dee2e6", shadow: "0px 2px 8px rgba(0,0,0,0.08)", use: "Standard surface, 12px radius when featured" }
64
+ restaurant-card: { type: card, bg: "#ffffff", radius: "12px", padding: "16px", font: "name 18px / 700 #212529 · delivery 13px / 400 #868e96", states: "rating star #ffb347 · 16:9 photo 12px top radius", use: "Restaurant listing card" }
65
+ tag: { type: badge, bg: "#f1f3f5", fg: "#495057", radius: "9999px", font: "12px / 500", use: "Restaurant attribute tags" }
66
+ search-bar: { type: input, bg: "#f8f9fa", fg: "#212529", radius: "20px", height: "44px", states: "left search icon #868e96 · placeholder #adb5bd", use: "Restaurant search (맛집을 검색해보세요)" }
67
+ input: { type: input, bg: "#ffffff", fg: "#212529", border: "1px solid #dee2e6", radius: "8px", focus: "2px solid #2ac1bc", states: "placeholder #adb5bd · error 2px solid #ff6b6b", use: "Text fields" }
68
+ bottom-tab-bar: { type: tab, bg: "#ffffff", border: "1px solid #dee2e6 top", active: "icon+label #2ac1bc", disabled: "#868e96 inactive", use: "Primary app navigation" }
69
+ top-app-bar: { type: tab, bg: "#ffffff", fg: "#212529", font: "18px / 700 centered title", use: "Screen header" }
70
+ floating-cart-button: { type: button, bg: "#2ac1bc", fg: "#ffffff", radius: "9999px", height: "56px", shadow: "0px 4px 12px rgba(0,0,0,0.10)", states: "count badge #ff6b6b white 11px / 700", use: "Floating cart access" }
71
+ badge: { type: badge, bg: "#ff6b6b", fg: "#ffffff", radius: "4px", font: "11px / 700", states: "promo #ff6b6b / #ffb347 · delivery #2ac1bc", use: "Promo / delivery status" }
72
+ toast: { type: toast, bg: "#212529", fg: "#ffffff", font: "14px / 400", states: "2.5s auto-dismiss", use: "Transient confirmation (장바구니에 담겼어요)" }
12
73
  omd: "0.1"
13
74
  ---
14
75
 
@@ -91,46 +152,75 @@ All 12 Baemin fonts are free under OFL license. Four are on Google Fonts (Jua, D
91
152
  - **Bold for clarity**: In food ordering, weight 700 is used liberally for menu names, prices, and CTAs. Users scan quickly through many options.
92
153
  - **All fonts are free**: Every Baemin typeface is available under OFL license for personal and commercial use.
93
154
 
94
- ## 4. Component Stylings
155
+ ## 4. Component Patterns
95
156
 
96
- ### Buttons
157
+ Baemin runs **two parallel component systems**, and this section is honest about which surface each component comes from. The **app surface** (배달의민족 mobile app — Mint `#2AC1BC` primary, 8px radius, system fonts for chrome) is the brand's real product; its specs are grounded in Baemin's public color/brand guide and app-store screenshots. The **web marketing surface** (baemin.com) is a thin corporate/landing site with a *separate* Black Pill primary — its specs below are measured live via playwright `getComputedStyle`. The app is not web-inspectable (login-gated, native), so this is an honest TIER 3 cap of the components actually documentable, not an exhaustive design-system index.
97
158
 
98
- **Primary (Brand Mint)**
99
- - Background: `#2AC1BC`
100
- - Text: `#ffffff`
101
- - Padding: 12px 24px
102
- - Radius: 8px
159
+ ### Actions
160
+
161
+ **Button Primary (Brand Mint)** `[app]`
162
+ - Background: `#2AC1BC`, Text: `#ffffff`
163
+ - Padding: 12px 24px, Radius: 8px, Height: 48px min
103
164
  - Font: 16px system weight 700
104
- - Pressed: `#20A8A4` (darkened mint)
105
- - Disabled: `#DEE2E6` background, `#ADB5BD` text
165
+ - Pressed: `#20A8A4` (darkened mint); Disabled: `#DEE2E6` bg, `#ADB5BD` text
106
166
  - Use: Primary CTAs ("주문하기", "배달 주문")
107
167
 
108
- **Secondary (Ghost)**
109
- - Background: transparent
110
- - Text: `#2AC1BC`
111
- - Border: 1px solid `#2AC1BC`
112
- - Radius: 8px
168
+ **Button — Ghost (Secondary)** `[app]`
169
+ - Background: transparent, Text: `#2AC1BC`, Border: 1px solid `#2AC1BC`, Radius: 8px
113
170
  - Pressed: `rgba(42,193,188,0.08)` background
114
171
  - Use: Secondary actions ("장바구니", "찜하기")
115
172
 
116
- **Neutral**
117
- - Background: `#F8F9FA`
118
- - Text: `#212529`
119
- - Radius: 8px
173
+ **Button — Neutral** `[app]`
174
+ - Background: `#F8F9FA`, Text: `#212529`, Radius: 8px
120
175
  - Use: Tertiary actions, filter toggles
121
176
 
122
- **Destructive**
123
- - Background: `#FF6B6B`
124
- - Text: `#ffffff`
177
+ **Button — Destructive** `[app]`
178
+ - Background: `#FF6B6B`, Text: `#ffffff`, Radius: 8px
125
179
  - Use: Cancel order, remove item
126
180
 
127
- ### Cards & Containers
128
- - Background: `#ffffff`
129
- - Border: 1px solid `#DEE2E6` or no border with shadow
130
- - Radius: 8px (standard), 12px (featured restaurant cards)
131
- - Shadow: `0px 2px 8px rgba(0,0,0,0.06)` (standard)
181
+ **Button Black Pill (Web Corporate CTA)** `[web — measured]`
182
+ - Background: `#000000`, Text: `#ffffff`
183
+ - Radius: 9999px (full pill), Padding: 16px 32px, Height: 58px
184
+ - Font: 18px weight 700
185
+ - Measured on baemin.com ("기업용 상품권 구매하기"). The marketing web deliberately uses high-contrast black, **not** mint, for its highest-impact corporate CTAs — the two systems are intentionally distinct.
186
+
187
+ **Floating Cart Button** `[app]`
188
+ - 56px circle, `#2AC1BC` fill, white cart icon
189
+ - Count badge: `#FF6B6B` circle, white text 11px weight 700, top-right
190
+ - Shadow: `0px 4px 12px rgba(0,0,0,0.10)` (Sharp / Level 3)
191
+
192
+ ### Navigation
193
+
194
+ **Bottom Tab Bar** `[app]`
195
+ - White bg, 1px `#DEE2E6` top border
196
+ - Active: `#2AC1BC` icon + label; Inactive: `#868E96`
197
+
198
+ **Top App Bar** `[app]`
199
+ - White bg, centered title 18px weight 700, `#212529`
200
+
201
+ **Carousel Dots / Progress** `[web — measured]`
202
+ - Inactive indicator `rgba(0,0,0,0.2)`, active `#000000` track
203
+ - Promo banner carousels on baemin.com use a thin progress-bar segment rather than circular dots.
204
+
205
+ ### Forms
206
+
207
+ **Search Bar** `[app]`
208
+ - Background: `#F8F9FA`, Radius: 20px, Height: 44px
209
+ - Left search icon (`#868E96`), placeholder `#ADB5BD`, text `#212529`
210
+ - Full-width with 16px margin ("맛집을 검색해보세요")
211
+
212
+ **Text Input** `[app]`
213
+ - Border: 1px solid `#DEE2E6`, Radius: 8px
214
+ - Text: `#212529`, Placeholder: `#ADB5BD`
215
+ - Focus: 2px solid `#2AC1BC`; Error: 2px solid `#FF6B6B` + 13px/400 red error text below
216
+
217
+ ### Data display
218
+
219
+ **Card / Container** `[app]`
220
+ - Background: `#ffffff`, Border: 1px solid `#DEE2E6` or no border with shadow
221
+ - Radius: 8px (standard), 12px (featured); Shadow: `0px 2px 8px rgba(0,0,0,0.08)` (Deep / Level 2)
132
222
 
133
- ### Restaurant Cards (Key Component)
223
+ **Restaurant Card** `[app]` — key component
134
224
  - Image: full-width, 16:9, 12px top radius
135
225
  - Name: 18px weight 700, `#212529`
136
226
  - Rating: star icon (`#FFB347`) + score 14px weight 600
@@ -138,27 +228,36 @@ All 12 Baemin fonts are free under OFL license. Four are on Google Fonts (Jua, D
138
228
  - Tags: pill (9999px radius), `#F1F3F5` bg, `#495057` text, 12px
139
229
  - Internal padding: 16px
140
230
 
141
- ### Tags & Badges
142
- - **Category Tag**: `#F1F3F5` bg, `#495057` text, pill radius, 12px font weight 500
143
- - **Promo Badge**: `#FF6B6B` or `#FFB347` bg, white text, 4px radius, 11px weight 700
144
- - **Delivery Badge**: `#2AC1BC` bg, white text, 4px radius
231
+ **App-Download Card** `[web — measured]`
232
+ - Background: `#ffffff`, Radius: 12px, Height: 54px, Padding: 14px 19px, no shadow
233
+ - Store-badge cards on the marketing site (App Store / Google Play links).
145
234
 
146
- ### Inputs & Forms
147
- - Border: 1px solid `#DEE2E6`, Radius: 8px
148
- - Focus: 2px solid `#2AC1BC`
149
- - Text: `#212529`, Placeholder: `#ADB5BD`
150
- - Search bar: 20px radius, `#F8F9FA` background, search icon left
235
+ **Tag** `[app]`
236
+ - `#F1F3F5` bg, `#495057` text, pill radius, 12px font weight 500
151
237
 
152
- ### Navigation
153
- - Bottom tab bar: white, top border `#DEE2E6`
154
- - Active: `#2AC1BC` icon + text, Inactive: `#868E96`
155
- - Top app bar: white, centered title 18px weight 700
156
- - Cart badge: `#FF6B6B` circle, white count text
238
+ ### Overlays
239
+
240
+ **Bottom Sheet / Modal** `[app]`
241
+ - Rises from bottom, Outlined shadow `0px 4px 16px rgba(0,0,0,0.12)` (Level 4)
242
+ - Backdrop overlay `rgba(0,0,0,0.5)`; payment-declined uses a centered modal with 18px/700 `#212529` headline + two CTAs (primary mint, neutral cancel)
243
+
244
+ ### Feedback & Status
245
+
246
+ **Badge** `[app]`
247
+ - Promo badge: `#FF6B6B` or `#FFB347` bg, white text, 4px radius, 11px weight 700
248
+ - Delivery badge: `#2AC1BC` bg, white text, 4px radius
249
+
250
+ **Toast** `[app]`
251
+ - `#212529` bg, white 14px weight 400 text, 2.5s auto-dismiss ("장바구니에 담겼어요"); floating cart badge increments simultaneously
252
+
253
+ **Skeleton** `[app]`
254
+ - `#F1F3F5` blocks at exact final card dimensions (16:9 photo slot, name row, meta row), shimmer ≤ 1.2s. Ratings render as an 80px-wide block (never a placeholder star); prices render as `---원` (never `0원`).
157
255
 
158
256
  ---
159
257
 
160
- **Verified:** 2026-05-08
161
- **Tier 1 sources:** baemin.com (live DOM via playwright corporate/marketing surface confirmed: App download cards `#fff` / 12px / 14×19 / 54px height; Black Pill CTA `#000000` / `#fff` / 9999px / 16×32 / 58px / 18px·700 for "기업용 상품권 구매하기")
258
+ **Verified:** 2026-06-09
259
+ **Component harvest:** 2026-06-09 — TIER 3 honest cap. baemin.com re-inspected live via playwright `getComputedStyle`; the marketing web yields only ~3-4 real components (Black Pill CTA, app-download card, carousel dots, header nav). The 배달의민족 app is login-gated / native and not web-inspectable, so app-surface components (§4 Actions/Navigation/Forms/Data display/Overlays/Feedback) are documented from Baemin's public color/brand guide + app-store screenshots, not live DOM. Capped at 16 components no components invented to inflate the count.
260
+ **Tier 1 sources:** baemin.com (live DOM via playwright — corporate/marketing surface confirmed & re-measured 2026-06-09: App download cards `#fff` / 12px / 14×19 / 54px height; Black Pill CTA `#000000` / `#fff` / 9999px / 16×32 / 58px / 18px·700 for "기업용 상품권 구매하기"; carousel progress `rgba(0,0,0,0.2)` inactive; footer `#000000`)
162
261
  **Tier 2 sources:** styles.refero.design — no Baemin record at `?q=Baemin`. getdesign.md/baemin — no record.
163
262
  **Tier 2 status:** unavailable; Tier 1 (baemin.com live inspect) authoritative for marketing-web surface.
164
263
  **Surface split:** §4 above documents the **app surface** (배달의민족 mobile app — Mint `#2AC1BC` primary, 8px radius, system fonts for chrome). The marketing web (baemin.com) uses a **separate Black Pill** primary at 9999px / 18px·700 (verified above) for high-impact corporate CTAs. Both retained as parallel systems.
@@ -16,6 +16,73 @@ ds:
16
16
  type: brand
17
17
  description: Banksalad's public GitHub org including styleguide repos and BPL (Banksalad Product Library) reference material.
18
18
  og_image: "https://avatars.githubusercontent.com/u/71009899?s=280&v=4"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-08"
22
+ colors:
23
+ primary: "#04c584"
24
+ primary-hover: "#10df99"
25
+ brand: "#04c584"
26
+ canvas: "#ffffff"
27
+ foreground: "#2b2b2b"
28
+ muted: "#7b7b7b"
29
+ on-primary: "#ffffff"
30
+ surface-alt: "#fbfbfb"
31
+ surface-neutral: "#f5f5f5"
32
+ body: "#434444"
33
+ placeholder: "#999999"
34
+ disabled: "#acacac"
35
+ hairline: "#e1e1e1"
36
+ mint-tint: "#f3fdfa"
37
+ error: "#fe493d"
38
+ error-soft: "#ff8a84"
39
+ warning: "#fd8700"
40
+ warning-deep: "#f56200"
41
+ info: "#0099ff"
42
+ success: "#04c584"
43
+ chart-1: "#34464b"
44
+ chart-2: "#5c818a"
45
+ chart-3: "#1c6c73"
46
+ chart-4: "#a7c7cf"
47
+ typography:
48
+ family: { sans: "Pretendard", display: "BM JUA" }
49
+ hero-display: { size: 52, weight: 700, lineHeight: 1.23, tracking: -1, use: "Largest landing headline; sometimes Jua" }
50
+ display-lg: { size: 48, weight: 700, lineHeight: 1.2, tracking: -1, use: "Secondary hero" }
51
+ display: { size: 44, weight: 700, lineHeight: 1.25, tracking: -1, use: "Section-opening figures (balances, scores)" }
52
+ section-heading: { size: 36, weight: 700, lineHeight: 1.3, tracking: -0.5, use: "Marketing section titles" }
53
+ h1: { size: 28, weight: 700, lineHeight: 1.14, use: "In-app section titles" }
54
+ h2: { size: 24, weight: 700, lineHeight: 1.17, use: "Card titles, panel headings" }
55
+ h3: { size: 20, weight: 700, lineHeight: 1.2, use: "Sub-card headings" }
56
+ subhead: { size: 18, weight: 700, lineHeight: 1.3, use: "Featured-button text, key callouts" }
57
+ body-lg: { size: 16, weight: 500, lineHeight: 1.5, use: "Standard reading text on data screens" }
58
+ body: { size: 14, weight: 500, lineHeight: 1.34, use: "Default body text; 500 not 400" }
59
+ body-tight: { size: 13, weight: 500, lineHeight: 1.34, use: "Compact labels" }
60
+ caption: { size: 12, weight: 500, lineHeight: 1.34, use: "Metadata, helper text" }
61
+ caption-sm: { size: 10, weight: 500, lineHeight: 1, use: "Disclosures, smallest labels" }
62
+ button: { size: 16, weight: 700, lineHeight: 1, tracking: -1, use: "All CTAs are 700" }
63
+ financial-amount: { size: 24, weight: 700, lineHeight: 1, use: "Comma-grouped, won unit follows in 500" }
64
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
65
+ rounded: { sm: 2, md: 4, lg: 8, full: 9999 }
66
+ shadow:
67
+ soft: "rgba(0,0,0,0.08) 0px 1px 1px 0px"
68
+ standard: "rgba(0,0,0,0.12) 0px 2px 5px 0px"
69
+ elevated: "rgba(0,0,0,0.15) 0px 4px 9px 0px"
70
+ modal: "rgba(0,0,0,0.19) 0px 17px 50px 0px"
71
+ components_harvested: true
72
+ components:
73
+ button-primary: { type: button, bg: "#04c584", fg: "#ffffff", radius: "2px", height: "42px", padding: "12px 24px", font: "16px / 700", hover: "bg #10df99 (lightens)", use: "Primary CTA on data/transactional flows" }
74
+ button-primary-large: { type: button, bg: "#04c584", fg: "#ffffff", radius: "2px", height: "56px", padding: "16px 32px", font: "18px / 700", hover: "bg #10df99", use: "Hero CTA on landing surfaces" }
75
+ button-ghost: { type: button, bg: "#ffffff", fg: "#04c584", border: "1px solid #04c584", radius: "2px", padding: "12px 24px", font: "16px / 700", hover: "bg #f3fdfa mint tint", use: "Secondary action paired with primary" }
76
+ button-neutral: { type: button, bg: "#f5f5f5", fg: "#434444", radius: "2px", padding: "12px 24px", font: "16px / 700", hover: "bg #e1e1e1", use: "Cancel / dismiss" }
77
+ button-disabled: { type: button, bg: "#e1e1e1", fg: "#acacac", radius: "2px", font: "16px / 700", use: "Disabled state" }
78
+ input-text: { type: input, bg: "#ffffff", fg: "#434444", border: "1px solid #e1e1e1", radius: "2px", height: "48px", padding: "0 16px", font: "16px / 500", focus: "border #10df99 + bg #f3fdfa", use: "Default text input" }
79
+ input-amount: { type: input, bg: "#ffffff", fg: "#2b2b2b", border: "2px solid #f5f5f5", radius: "2px", height: "56px", padding: "0 16px", font: "22px / 700", focus: "border #10df99 + bg #f3fdfa", use: "Won-amount input, right-aligned, money as heading" }
80
+ card-data: { type: card, bg: "#ffffff", border: "1px solid #e1e1e1", radius: "2px", padding: "20px 24px", shadow: "rgba(0,0,0,0.12) 0px 2px 5px 0px", use: "Recommendation/transaction/summary cards" }
81
+ card-highlight: { type: card, bg: "#f3fdfa", border: "1px solid #10df99", radius: "2px", padding: "20px 24px", use: "Selected/recommended-pick in comparison lists" }
82
+ status-pill: { type: badge, bg: "#f3fdfa", fg: "#04c584", radius: "41px", padding: "4px 10px", font: "12px / 500", use: "Filter chips on recommendation pages" }
83
+ badge-warning: { type: badge, bg: "#ffffff", fg: "#f56200", border: "1px solid #fd8700", radius: "2px", padding: "2px 8px", font: "12px / 700", use: "Rate-warning, expiry indicators" }
84
+ badge-negative: { type: badge, bg: "#ffffff", fg: "#fe493d", border: "1px solid #fe493d", radius: "2px", padding: "2px 8px", font: "12px / 700", use: "Overdue, declined indicators" }
85
+ table-row: { type: listItem, bg: "#ffffff", fg: "#434444", border: "1px solid #e1e1e1 bottom", padding: "12px 16px", font: "14px / 500", use: "Transaction rows; alternates #fbfbfb, amounts right-aligned 14px/700 #2b2b2b positive #fe493d negative" }
19
86
  ---
20
87
 
21
88
  # Design System Inspiration of Banksalad
@@ -10,6 +10,51 @@ logo:
10
10
  slug: bilibili
11
11
  verified: "2026-05-19"
12
12
  omd: "0.1"
13
+ tokens:
14
+ source: prose-derived
15
+ extracted: "2026-06-08"
16
+ note: "Only bili pink #FB7299 verified; bili blue, gold coin, and all neutrals are best-fit approximations flagged in prose — no public token layer."
17
+ colors:
18
+ primary: "#FB7299"
19
+ primary-hover: "#F25D8E"
20
+ primary-tint: "#FFF0F4"
21
+ brand: "#FB7299"
22
+ brand-blue: "#00AEEC"
23
+ brand-blue-dark: "#0089C7"
24
+ canvas: "#FFFFFF"
25
+ surface: "#F4F4F4"
26
+ foreground: "#18191C"
27
+ muted: "#61666D"
28
+ hint: "#C9CCD0"
29
+ hairline: "#E3E5E7"
30
+ divider: "#F1F2F3"
31
+ on-primary: "#FFFFFF"
32
+ coin: "#FFB027"
33
+ error: "#FF4D4F"
34
+ success: "#52C41A"
35
+ typography:
36
+ family: { sans: "PingFang SC, Source Han Sans SC, 思源黑体, Microsoft YaHei, sans-serif", mono: "monospace" }
37
+ page-header: { size: 18, weight: 600, lineHeight: 1.3, use: "Channel titles, section heads" }
38
+ video-title: { size: 14, weight: 500, lineHeight: 1.4, use: "Video title in card, 2-line clamp" }
39
+ body: { size: 14, weight: 400, lineHeight: 1.5, use: "Video detail, comments" }
40
+ metadata: { size: 12, weight: 400, lineHeight: 1.4, use: "UP主 name, view/danmaku counts" }
41
+ caption: { size: 11, weight: 400, lineHeight: 1.4, use: "Tags, fine labels, durations" }
42
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
43
+ rounded: { sm: 4, md: 6, lg: 8, full: 9999 }
44
+ shadow:
45
+ hover: "rgba(0,0,0,0.08) 0px 2px 12px 0px"
46
+ floating: "rgba(0,0,0,0.1) 0px 4px 16px 0px"
47
+ modal: "rgba(0,0,0,0.12) 0px 6px 24px 0px"
48
+ components_harvested: true
49
+ components:
50
+ button-primary: { type: button, bg: "#FB7299", fg: "#FFFFFF", radius: "6px", padding: "6px 16px", font: "14px / 500", hover: "bg #F25D8E", use: "Follow / Sign up — pink is the action color" }
51
+ button-secondary: { type: button, bg: "#FFFFFF", fg: "#61666D", border: "1px solid #E3E5E7", radius: "6px", padding: "6px 16px", font: "14px / 500", use: "Following / ghost toggle" }
52
+ input-search: { type: input, bg: "#FFFFFF", fg: "#18191C", border: "1px solid #E3E5E7", radius: "8px", padding: "8px 14px", font: "14px / 400", focus: "border transitions to bili pink/blue", use: "Top search bar, comment input, form fields" }
53
+ coin-action: { type: toggle, bg: "transparent", fg: "#FFB027", use: "Signature 投币 give-a-coin reward gesture, gold when active" }
54
+ video-card: { type: card, bg: "#FFFFFF", radius: "6px", padding: "0 cover / 8px footer", shadow: "rgba(0,0,0,0.08) 0px 2px 12px 0px", hover: "subtle lift + cover preview", use: "16:9 cover + duration/count overlays, 2-line title 14px/500, UP主 name 12px/400 — atomic feed unit" }
55
+ tag-chip: { type: badge, bg: "#F4F4F4", fg: "#61666D", radius: "4px", padding: "4px 10px", font: "12px / 400", active: "bg #FFF0F4 + fg #FB7299", use: "分区 partition filters above feed" }
56
+ overlay-pill: { type: badge, bg: "rgba(0,0,0,0.6)", fg: "#FFFFFF", radius: "4px", padding: "2px 6px", font: "12px / 400", use: "Duration + view/danmaku counts over cover" }
57
+ nav-tab: { type: tab, fg: "#61666D", active: "fg #FB7299 + pink bottom border", use: "Partition (分区) horizontal category nav" }
13
58
  ---
14
59
 
15
60
  # Design System Inspiration of Bilibili
@@ -10,6 +10,44 @@ logo:
10
10
  slug: "https://www.google.com/s2/favicons?domain=bithumb.com&sz=128"
11
11
  verified: "2026-06-01"
12
12
  omd: "0.1"
13
+ tokens:
14
+ source: prose-derived
15
+ extracted: "2026-06-08"
16
+ note: "primary #1C2028 is the measured dominant structural near-black (matches primary_color); bronze #543E35 is the rebrand CTA accent, not the structural primary. Trading red/blue follow Korea convention (red=up, blue=down)."
17
+ colors:
18
+ primary: "#1C2028"
19
+ brand: "#543E35"
20
+ canvas: "#1C2028"
21
+ on-primary: "#FFFFFF"
22
+ cta-text: "#4F3327"
23
+ cta-surface-text: "#F8F9FA"
24
+ hairline: "#B6ABA1"
25
+ muted: "#707882"
26
+ muted-2: "#93989E"
27
+ surface-text: "#F8F9FA"
28
+ foreground: "#FFFFFF"
29
+ price-up: "#E15241"
30
+ price-down: "#4880EE"
31
+ typography:
32
+ family: { sans: "Bithumb Trading Sans", mono: "Bithumb Trading Sans" }
33
+ body: { size: 14, weight: 400, use: "Workhorse readable content in a packed layout" }
34
+ control: { size: 13, weight: 500, use: "Buttons, chips, interactive labels" }
35
+ micro-label: { size: 12, weight: 400, use: "Dense data annotations coexisting with numbers" }
36
+ chip-active: { size: 13, weight: 600, use: "Active filter chip label" }
37
+ cta: { size: 18, weight: 500, use: "Primary exchange CTA label" }
38
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
39
+ rounded: { sm: 4, md: 8, full: 9999 }
40
+ shadow:
41
+ flat: "none — depth is structural (color layering + 1px borders), no drop shadows captured"
42
+ hairline: "1px solid #B6ABA1"
43
+ chip-inactive: "1px solid rgba(28,32,40,0.1)"
44
+ components_harvested: true
45
+ components:
46
+ button-primary: { type: button, bg: "#1C2028", fg: "#FFFFFF", radius: "4px", height: "32px", font: "13px / 500", use: "Signup — structural top-chrome action" }
47
+ cta-filled: { type: button, bg: "#543E35", fg: "#F8F9FA", radius: "4px", height: "56px", font: "18px / 500", use: "Primary exchange CTA — single warmest action" }
48
+ cta-outline: { type: button, bg: "transparent", fg: "#4F3327", border: "1px solid #B6ABA1", radius: "4px", height: "56px", use: "Secondary action paired with filled bronze CTA" }
49
+ chip-active: { type: badge, bg: "#1C2028", fg: "#FFFFFF", radius: "8px", height: "36px", font: "13px / 600", use: "Selected filter chip" }
50
+ chip-inactive: { type: badge, bg: "transparent", fg: "#707882", border: "1px solid rgba(28,32,40,0.1)", radius: "8px", use: "Unselected filter chip" }
13
51
  ---
14
52
 
15
53
  # Design System Inspiration of Bithumb
@@ -10,6 +10,43 @@ logo:
10
10
  slug: bmw
11
11
  verified: "2026-05-15"
12
12
  omd: "0.1"
13
+ tokens:
14
+ source: prose-derived
15
+ extracted: "2026-06-08"
16
+ note: "primary = live signature interactive blue --site-context-highlight-color (#1c69d4); differs from primary_color frontmatter (#0066b1, BMW roundel marketing blue)"
17
+ colors:
18
+ primary: "#1c69d4"
19
+ primary-hover: "#0653b6"
20
+ brand: "#0066b1"
21
+ canvas: "#ffffff"
22
+ foreground: "#262626"
23
+ muted: "#757575"
24
+ on-primary: "#ffffff"
25
+ focus: "#0653b6"
26
+ surface: "#ffffff"
27
+ dark-surface: "#262626"
28
+ tertiary: "#bbbbbb"
29
+ typography:
30
+ family: { sans: "BMWTypeNextLatin, Helvetica, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo", mono: "monospace" }
31
+ display-hero: { size: 60, weight: 300, lineHeight: 1.30, use: "Uppercase hero display, whispered authority" }
32
+ section-heading: { size: 32, weight: 400, lineHeight: 1.30, use: "Major section titles" }
33
+ nav-emphasis: { size: 18, weight: 900, lineHeight: 1.30, use: "Navigation bold items, stark authority" }
34
+ body: { size: 16, weight: 400, lineHeight: 1.15, use: "Standard body text" }
35
+ button-bold: { size: 16, weight: 700, lineHeight: 1.20, use: "CTA buttons" }
36
+ button: { size: 16, weight: 400, lineHeight: 1.15, use: "Standard buttons" }
37
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 60 }
38
+ rounded: { sm: 0, md: 0, lg: 0, full: 0 }
39
+ shadow:
40
+ none: "none"
41
+ components_harvested: true
42
+ components:
43
+ button-primary: { type: button, bg: "transparent", fg: "#ffffff", border: "1px solid #ffffff", radius: "0px", padding: "12px 24px", font: "16px / 700", hover: "text stays white, no underline", use: "Primary CTA on dark/hero surfaces" }
44
+ button-secondary: { type: button, bg: "transparent", fg: "#262626", border: "1px solid #262626", radius: "0px", padding: "12px 24px", font: "16px / 400", use: "Secondary action on light surfaces" }
45
+ button-highlight: { type: button, bg: "#1c69d4", fg: "#ffffff", radius: "0px", padding: "12px 24px", font: "16px / 700", hover: "bg #0653b6", use: "BMW Blue highlight CTA" }
46
+ input: { type: input, bg: "#ffffff", fg: "#262626", border: "1px solid #262626", radius: "0px", padding: "12px 16px", font: "16px / 400", focus: "border #0653b6", use: "Default text input" }
47
+ card: { type: card, bg: "#ffffff", radius: "0px", padding: "24px", border: "none", use: "Light-section content card — sharp rectangular" }
48
+ dark-hero-container: { type: card, bg: "#262626", fg: "#ffffff", radius: "0px", padding: "0px", use: "Hero/feature with full-bleed automotive photography, edge-to-edge" }
49
+ badge: { type: badge, bg: "#262626", fg: "#ffffff", radius: "0px", padding: "4px 8px", font: "12px / 700", use: "Label badge" }
13
50
  ---
14
51
 
15
52
  # Design System Inspiration of BMW