oh-my-design-cli 1.6.6 → 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 (230) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +8 -8
  3. package/data/reference-fingerprints.json +1318 -10
  4. package/dist/bin/oh-my-design.js +1 -1
  5. package/dist/{install-skills-JNH66GOI.js → install-skills-YYHEC4CS.js} +5 -11
  6. package/dist/install-skills-YYHEC4CS.js.map +1 -0
  7. package/package.json +1 -1
  8. package/skills/claude-design/SKILL.md +7 -2
  9. package/web/references/11st/DESIGN.md +400 -0
  10. package/web/references/17live/DESIGN.md +43 -0
  11. package/web/references/29cm/DESIGN.md +41 -0
  12. package/web/references/91app/DESIGN.md +31 -0
  13. package/web/references/ably/DESIGN.md +54 -0
  14. package/web/references/airbnb/DESIGN.md +58 -0
  15. package/web/references/airtable/DESIGN.md +39 -0
  16. package/web/references/alipay/DESIGN.md +50 -0
  17. package/web/references/amazingtalker/DESIGN.md +434 -0
  18. package/web/references/appier/DESIGN.md +45 -0
  19. package/web/references/apple/DESIGN.md +47 -0
  20. package/web/references/baemin/DESIGN.md +142 -43
  21. package/web/references/banksalad/DESIGN.md +67 -0
  22. package/web/references/bilibili/DESIGN.md +45 -0
  23. package/web/references/bithumb/DESIGN.md +38 -0
  24. package/web/references/bmw/DESIGN.md +37 -0
  25. package/web/references/brandi/DESIGN.md +414 -0
  26. package/web/references/bunjang/DESIGN.md +47 -0
  27. package/web/references/cakeresume/DESIGN.md +29 -0
  28. package/web/references/cal/DESIGN.md +52 -0
  29. package/web/references/catchtable/DESIGN.md +79 -19
  30. package/web/references/cathay/DESIGN.md +432 -0
  31. package/web/references/channeltalk/DESIGN.md +48 -0
  32. package/web/references/class101/DESIGN.md +51 -0
  33. package/web/references/classting/DESIGN.md +41 -0
  34. package/web/references/classum/DESIGN.md +43 -0
  35. package/web/references/claude/DESIGN.md +157 -70
  36. package/web/references/clay/DESIGN.md +56 -0
  37. package/web/references/clickhouse/DESIGN.md +50 -0
  38. package/web/references/cloudflare/DESIGN.md +637 -0
  39. package/web/references/cohere/DESIGN.md +48 -0
  40. package/web/references/coinbase/DESIGN.md +139 -5
  41. package/web/references/coinone/DESIGN.md +39 -0
  42. package/web/references/composio/DESIGN.md +46 -0
  43. package/web/references/cookpad/DESIGN.md +37 -0
  44. package/web/references/coupang/DESIGN.md +57 -2
  45. package/web/references/cursor/DESIGN.md +44 -0
  46. package/web/references/dabang/DESIGN.md +57 -19
  47. package/web/references/dcard/DESIGN.md +57 -0
  48. package/web/references/dell/DESIGN.md +636 -0
  49. package/web/references/devsisters/DESIGN.md +29 -0
  50. package/web/references/discord/DESIGN.md +604 -0
  51. package/web/references/dji/DESIGN.md +39 -0
  52. package/web/references/drnow/DESIGN.md +52 -0
  53. package/web/references/duolingo/DESIGN.md +563 -0
  54. package/web/references/elevenlabs/DESIGN.md +39 -0
  55. package/web/references/expo/DESIGN.md +39 -0
  56. package/web/references/fastcampus/DESIGN.md +50 -0
  57. package/web/references/ferrari/DESIGN.md +47 -0
  58. package/web/references/figma/DESIGN.md +44 -0
  59. package/web/references/finda/DESIGN.md +413 -0
  60. package/web/references/flex/DESIGN.md +28 -0
  61. package/web/references/flo/DESIGN.md +43 -0
  62. package/web/references/framer/DESIGN.md +38 -0
  63. package/web/references/freee/DESIGN.md +48 -0
  64. package/web/references/fugle/DESIGN.md +41 -1
  65. package/web/references/gangnamunni/DESIGN.md +57 -1
  66. package/web/references/genie/DESIGN.md +415 -0
  67. package/web/references/github/DESIGN.md +727 -0
  68. package/web/references/gmarket/DESIGN.md +51 -0
  69. package/web/references/gogolook/DESIGN.md +25 -1
  70. package/web/references/gogoro/DESIGN.md +38 -0
  71. package/web/references/grip/DESIGN.md +39 -0
  72. package/web/references/hahow/DESIGN.md +26 -0
  73. package/web/references/hashicorp/DESIGN.md +42 -0
  74. package/web/references/hogangnono/DESIGN.md +41 -0
  75. package/web/references/hp/DESIGN.md +563 -0
  76. package/web/references/hyperconnect/DESIGN.md +393 -0
  77. package/web/references/hyundaicard/DESIGN.md +24 -0
  78. package/web/references/ibm/DESIGN.md +44 -0
  79. package/web/references/ichef/DESIGN.md +44 -0
  80. package/web/references/ikala/DESIGN.md +400 -0
  81. package/web/references/inflearn/DESIGN.md +38 -0
  82. package/web/references/intercom/DESIGN.md +38 -0
  83. package/web/references/jandi/DESIGN.md +382 -0
  84. package/web/references/jkopay/DESIGN.md +35 -1
  85. package/web/references/jobkorea/DESIGN.md +39 -0
  86. package/web/references/jumpit/DESIGN.md +37 -0
  87. package/web/references/kakao/DESIGN.md +64 -0
  88. package/web/references/kakaobank/DESIGN.md +55 -1
  89. package/web/references/kakaopay/DESIGN.md +59 -0
  90. package/web/references/kakaot/DESIGN.md +53 -0
  91. package/web/references/karrot/DESIGN.md +49 -0
  92. package/web/references/kbank/DESIGN.md +39 -0
  93. package/web/references/kdan/DESIGN.md +34 -1
  94. package/web/references/kintone/DESIGN.md +586 -0
  95. package/web/references/kkbox/DESIGN.md +22 -0
  96. package/web/references/kkday/DESIGN.md +47 -0
  97. package/web/references/kmong/DESIGN.md +427 -0
  98. package/web/references/krafton/DESIGN.md +37 -0
  99. package/web/references/kraken/DESIGN.md +44 -0
  100. package/web/references/krds/DESIGN.md +63 -0
  101. package/web/references/kream/DESIGN.md +32 -0
  102. package/web/references/kurly/DESIGN.md +38 -1
  103. package/web/references/laftel/DESIGN.md +40 -0
  104. package/web/references/lamborghini/DESIGN.md +54 -0
  105. package/web/references/layerx/DESIGN.md +615 -0
  106. package/web/references/lezhin/DESIGN.md +47 -0
  107. package/web/references/line/DESIGN.md +36 -0
  108. package/web/references/linear.app/DESIGN.md +182 -88
  109. package/web/references/loom/DESIGN.md +396 -0
  110. package/web/references/lovable/DESIGN.md +38 -0
  111. package/web/references/lunit/DESIGN.md +47 -19
  112. package/web/references/mastercard/DESIGN.md +587 -0
  113. package/web/references/meituan/DESIGN.md +42 -0
  114. package/web/references/melon/DESIGN.md +26 -0
  115. package/web/references/mercari/DESIGN.md +41 -0
  116. package/web/references/mercury/DESIGN.md +589 -0
  117. package/web/references/meta/DESIGN.md +615 -0
  118. package/web/references/millie/DESIGN.md +51 -0
  119. package/web/references/minimax/DESIGN.md +53 -0
  120. package/web/references/mintlify/DESIGN.md +45 -0
  121. package/web/references/miro/DESIGN.md +47 -0
  122. package/web/references/mistral.ai/DESIGN.md +37 -0
  123. package/web/references/momoshop/DESIGN.md +43 -0
  124. package/web/references/money-forward/DESIGN.md +42 -0
  125. package/web/references/mongodb/DESIGN.md +44 -0
  126. package/web/references/muji/DESIGN.md +605 -0
  127. package/web/references/musinsa/DESIGN.md +48 -0
  128. package/web/references/mustit/DESIGN.md +47 -1
  129. package/web/references/myrealtrip/DESIGN.md +49 -0
  130. package/web/references/naver/DESIGN.md +50 -1
  131. package/web/references/naverwebtoon/DESIGN.md +48 -0
  132. package/web/references/netflix/DESIGN.md +572 -0
  133. package/web/references/nexon/DESIGN.md +389 -0
  134. package/web/references/nhncloud/DESIGN.md +33 -0
  135. package/web/references/nike/DESIGN.md +588 -0
  136. package/web/references/note/DESIGN.md +28 -0
  137. package/web/references/notion/DESIGN.md +48 -0
  138. package/web/references/nvidia/DESIGN.md +50 -0
  139. package/web/references/ohouse/DESIGN.md +56 -0
  140. package/web/references/oliveyoung/DESIGN.md +47 -1
  141. package/web/references/ollama/DESIGN.md +40 -0
  142. package/web/references/openai/DESIGN.md +641 -0
  143. package/web/references/opencode.ai/DESIGN.md +37 -0
  144. package/web/references/payco/DESIGN.md +40 -0
  145. package/web/references/paypay/DESIGN.md +656 -0
  146. package/web/references/pchome/DESIGN.md +439 -0
  147. package/web/references/perplexity/DESIGN.md +546 -0
  148. package/web/references/piccollage/DESIGN.md +43 -0
  149. package/web/references/pinkoi/DESIGN.md +55 -0
  150. package/web/references/pinterest/DESIGN.md +44 -0
  151. package/web/references/pixiv/DESIGN.md +613 -0
  152. package/web/references/pixnet/DESIGN.md +430 -0
  153. package/web/references/posthog/DESIGN.md +50 -0
  154. package/web/references/publy/DESIGN.md +52 -0
  155. package/web/references/qanda/DESIGN.md +49 -1
  156. package/web/references/ragic/DESIGN.md +444 -0
  157. package/web/references/ramp/DESIGN.md +634 -0
  158. package/web/references/rayark/DESIGN.md +22 -0
  159. package/web/references/raycast/DESIGN.md +45 -0
  160. package/web/references/remember/DESIGN.md +44 -0
  161. package/web/references/renault/DESIGN.md +42 -0
  162. package/web/references/replicate/DESIGN.md +39 -0
  163. package/web/references/resend/DESIGN.md +44 -0
  164. package/web/references/retool/DESIGN.md +645 -0
  165. package/web/references/revolut/DESIGN.md +46 -0
  166. package/web/references/richart/DESIGN.md +465 -0
  167. package/web/references/ridi/DESIGN.md +47 -0
  168. package/web/references/riiid/DESIGN.md +32 -0
  169. package/web/references/robinhood/DESIGN.md +604 -0
  170. package/web/references/runwayml/DESIGN.md +45 -0
  171. package/web/references/sanity/DESIGN.md +50 -0
  172. package/web/references/sansan/DESIGN.md +631 -0
  173. package/web/references/sendbird/DESIGN.md +46 -0
  174. package/web/references/sentry/DESIGN.md +48 -0
  175. package/web/references/shinhancard/DESIGN.md +421 -0
  176. package/web/references/shopline/DESIGN.md +431 -0
  177. package/web/references/slack/DESIGN.md +635 -0
  178. package/web/references/smarthr/DESIGN.md +48 -0
  179. package/web/references/smartnews/DESIGN.md +29 -0
  180. package/web/references/socar/DESIGN.md +35 -0
  181. package/web/references/soomgo/DESIGN.md +326 -0
  182. package/web/references/spacex/DESIGN.md +27 -0
  183. package/web/references/spoon/DESIGN.md +46 -0
  184. package/web/references/spotify/DESIGN.md +49 -0
  185. package/web/references/starbucks/DESIGN.md +597 -0
  186. package/web/references/stripe/DESIGN.md +46 -0
  187. package/web/references/studio/DESIGN.md +602 -0
  188. package/web/references/supabase/DESIGN.md +41 -0
  189. package/web/references/superhuman/DESIGN.md +39 -0
  190. package/web/references/surveycake/DESIGN.md +442 -0
  191. package/web/references/tada/DESIGN.md +51 -0
  192. package/web/references/tesla/DESIGN.md +36 -0
  193. package/web/references/theverge/DESIGN.md +500 -0
  194. package/web/references/together.ai/DESIGN.md +33 -0
  195. package/web/references/toss/DESIGN.md +43 -0
  196. package/web/references/toss-securities/DESIGN.md +54 -19
  197. package/web/references/tossbank/DESIGN.md +57 -0
  198. package/web/references/trenbe/DESIGN.md +41 -0
  199. package/web/references/triple/DESIGN.md +47 -0
  200. package/web/references/tumblbug/DESIGN.md +48 -0
  201. package/web/references/tving/DESIGN.md +40 -0
  202. package/web/references/uber/DESIGN.md +36 -0
  203. package/web/references/ubie/DESIGN.md +615 -0
  204. package/web/references/uniqlo/DESIGN.md +575 -0
  205. package/web/references/upbit/DESIGN.md +42 -0
  206. package/web/references/upstage/DESIGN.md +38 -0
  207. package/web/references/velog/DESIGN.md +28 -0
  208. package/web/references/vercel/DESIGN.md +44 -0
  209. package/web/references/voicetube/DESIGN.md +39 -0
  210. package/web/references/voltagent/DESIGN.md +44 -0
  211. package/web/references/wadiz/DESIGN.md +71 -19
  212. package/web/references/wanted/DESIGN.md +46 -0
  213. package/web/references/warp/DESIGN.md +37 -0
  214. package/web/references/watcha/DESIGN.md +40 -0
  215. package/web/references/wavve/DESIGN.md +43 -1
  216. package/web/references/wconcept/DESIGN.md +45 -0
  217. package/web/references/webflow/DESIGN.md +49 -0
  218. package/web/references/wired/DESIGN.md +572 -0
  219. package/web/references/wise/DESIGN.md +41 -0
  220. package/web/references/x.ai/DESIGN.md +31 -0
  221. package/web/references/xiaohongshu/DESIGN.md +39 -0
  222. package/web/references/yanolja/DESIGN.md +45 -0
  223. package/web/references/yeogiotte/DESIGN.md +42 -1
  224. package/web/references/yogiyo/DESIGN.md +50 -0
  225. package/web/references/yourator/DESIGN.md +453 -0
  226. package/web/references/zapier/DESIGN.md +41 -0
  227. package/web/references/zigbang/DESIGN.md +33 -0
  228. package/web/references/zigzag/DESIGN.md +62 -0
  229. package/web/references/zozotown/DESIGN.md +578 -0
  230. package/dist/install-skills-JNH66GOI.js.map +0 -1
@@ -16,6 +16,54 @@ ds:
16
16
  type: brand
17
17
  description: Cohere's press kit with logos, symbols, and media resources.
18
18
  og_image: "https://cdn.sanity.io/images/rjtqmwfu/web3-prod/0750efbc3db33b1a67bc77575525b076f0137f26-1200x630.jpg?w=1200&h=630"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-08"
22
+ note: "primary_color #39594d is the brand green token; live UI is near-monochrome — primary interactive accent is Interaction Blue #1863dc"
23
+ colors:
24
+ primary: "#1863dc"
25
+ primary-hover: "#1863dc"
26
+ brand: "#39594d"
27
+ canvas: "#ffffff"
28
+ foreground: "#000000"
29
+ muted: "#93939f"
30
+ on-primary: "#ffffff"
31
+ near-black: "#212121"
32
+ deep-dark: "#17171c"
33
+ ring-blue: "#4c6ee6"
34
+ focus-purple: "#9b60aa"
35
+ snow: "#fafafa"
36
+ surface-alt: "#f2f2f2"
37
+ hairline: "#f2f2f2"
38
+ border-cool: "#d9d9dd"
39
+ border-light: "#e5e7eb"
40
+ typography:
41
+ family: { display: "CohereText", sans: "Unica77 Cohere Web", mono: "CohereMono" }
42
+ display-hero: { size: 72, weight: 400, lineHeight: 1.00, tracking: -1.44, use: "Hero, serif authority" }
43
+ display-secondary: { size: 60, weight: 400, lineHeight: 1.00, tracking: -1.2, use: "Large section headings" }
44
+ section: { size: 48, weight: 400, lineHeight: 1.20, tracking: -0.48, use: "Feature section titles" }
45
+ subheading: { size: 32, weight: 400, lineHeight: 1.20, tracking: -0.32, use: "Card headings, feature names" }
46
+ feature-title: { size: 24, weight: 400, lineHeight: 1.30, use: "Smaller section titles" }
47
+ body-lg: { size: 18, weight: 400, lineHeight: 1.40, use: "Intro paragraphs" }
48
+ body: { size: 16, weight: 400, lineHeight: 1.50, use: "Standard body, button text" }
49
+ button-medium: { size: 14, weight: 500, lineHeight: 1.71, use: "Smaller buttons, emphasized labels" }
50
+ caption: { size: 14, weight: 400, lineHeight: 1.40, use: "Metadata, descriptions" }
51
+ uppercase-label: { size: 14, weight: 400, lineHeight: 1.40, tracking: 0.28, use: "Uppercase section labels" }
52
+ small: { size: 12, weight: 400, lineHeight: 1.40, use: "Smallest text, footer links" }
53
+ code-micro: { size: 8, weight: 400, lineHeight: 1.40, tracking: 0.16, use: "Tiny uppercase code labels" }
54
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 40, section: 60 }
55
+ rounded: { sm: 4, md: 8, lg: 16, xl: 20, signature: 22, full: 9999 }
56
+ shadow:
57
+ soft: "none — depth via background contrast and cool-gray borders"
58
+ components_harvested: true
59
+ components:
60
+ button-ghost: { type: button, fg: "#000000", use: "Transparent fill; hover text shifts to #1863dc; focus 2px solid #1863dc outline — the base button style" }
61
+ button-dark-solid: { type: button, bg: "#000000", fg: "#ffffff", use: "Dark fill, pill or standard radius — CTA on light surfaces" }
62
+ button-outlined: { type: button, use: "Border-based containment for secondary actions" }
63
+ card: { type: card, bg: "#ffffff", radius: 22, use: "Signature radius, 1px solid #f2f2f2 border, shadow-free" }
64
+ input: { type: input, use: "Focus border #9b60aa 1px solid; focus outline 2px solid #1863dc" }
65
+ uppercase-code-tag: { type: badge, use: "CohereMono uppercase with positive letter-spacing as section markers" }
66
+ purple-hero-band: { type: card, radius: 22, use: "Full-width deep purple section housing product screenshots" }
19
67
  ---
20
68
 
21
69
  # Design System Inspiration of Cohere
@@ -10,6 +10,67 @@ logo:
10
10
  slug: coinbase
11
11
  verified: "2026-05-15"
12
12
  omd: "0.1"
13
+ tokens:
14
+ source: design-system
15
+ extracted: "2026-06-08"
16
+ components_harvested: true
17
+ colors:
18
+ primary: "#0052ff"
19
+ primary-hover: "#578bfa"
20
+ brand: "#0052ff"
21
+ canvas: "#ffffff"
22
+ foreground: "#0a0b0d"
23
+ muted: "#5b616e"
24
+ on-primary: "#ffffff"
25
+ surface: "#eef0f3"
26
+ surface-dark: "#282b31"
27
+ dark-section: "#0a0b0d"
28
+ link: "#0667d0"
29
+ typography:
30
+ family: { sans: "CoinbaseSans", display: "CoinbaseDisplay", body: "CoinbaseText", icon: "CoinbaseIcons" }
31
+ display-hero: { size: 80, weight: 400, lineHeight: 1.00, use: "Hero headlines, maximum impact" }
32
+ display-secondary: { size: 64, weight: 400, lineHeight: 1.00, use: "Sub-hero headlines" }
33
+ display-third: { size: 52, weight: 400, lineHeight: 1.00, use: "Third-tier display" }
34
+ section-heading: { size: 36, weight: 400, lineHeight: 1.11, use: "Feature section titles" }
35
+ card-title: { size: 32, weight: 400, lineHeight: 1.13, use: "Card headings" }
36
+ feature-title: { size: 18, weight: 600, lineHeight: 1.33, use: "Feature emphasis" }
37
+ body-bold: { size: 16, weight: 700, lineHeight: 1.50, use: "Strong body" }
38
+ body-semibold: { size: 16, weight: 600, lineHeight: 1.25, use: "Buttons, nav" }
39
+ body: { size: 18, weight: 400, lineHeight: 1.56, use: "Standard reading" }
40
+ body-small: { size: 16, weight: 400, lineHeight: 1.50, use: "Secondary reading" }
41
+ button: { size: 16, weight: 600, lineHeight: 1.20, tracking: 0.16, use: "Button labels" }
42
+ caption: { size: 14, weight: 600, lineHeight: 1.50, use: "Metadata" }
43
+ small: { size: 13, weight: 600, lineHeight: 1.23, use: "Tags" }
44
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
45
+ rounded: { sm: 4, md: 8, lg: 16, xl: 40, pill: 56, full: 100000 }
46
+ shadow:
47
+ soft: "minimal — depth from dark/light section contrast, not box-shadow"
48
+ components:
49
+ button-primary: { type: button, bg: "#0052ff", fg: "#ffffff", radius: "100000px", border: "1px solid #0052ff", font: "16px / 600", hover: "bg #578bfa", focus: "2px solid black outline", states: "loading hides label + ProgressCircle · sizes Compact/Default/Block", use: "High-emphasis primary CTA, one per screen" }
50
+ button-secondary: { type: button, bg: "#eef0f3", fg: "#0a0b0d", radius: "100000px", border: "1px solid #eef0f3", font: "16px / 600", use: "Medium-emphasis equal-weight actions" }
51
+ button-tertiary: { type: button, bg: "#eef0f3", fg: "#0a0b0d", radius: "100000px", states: "transparent-until-interaction", use: "Low-emphasis action" }
52
+ button-inverse: { type: button, bg: "#282b31", fg: "#ffffff", radius: "100000px", use: "High contrast on dark sections" }
53
+ button-negative: { type: button, fg: "#ffffff", radius: "100000px", use: "Destructive only, used sparingly" }
54
+ button-transparent: { type: button, bg: "transparent", fg: "#0a0b0d", radius: "100000px", states: "container visible only on hover/press · sizes Compact/Default/Block · startIcon+endIcon slots", use: "Transparent modifier on any variant" }
55
+ button-blue-bordered: { type: button, bg: "transparent", fg: "#0052ff", radius: "100000px", border: "1px solid #0052ff", font: "16px / 600", use: "Secondary CTA pairing" }
56
+ icon-button: { type: button, bg: "transparent", radius: "100000px", height: "56px", use: "Icon-only action, 56px round hit-target" }
57
+ chip: { type: badge, bg: "#eef0f3", fg: "#0a0b0d", radius: "100000px", states: "selected bg #0052ff", use: "Pill selectable token" }
58
+ nav-tab-chip: { type: tab, fg: "#0667d0", radius: "16px", padding: "4px 16px", font: "14px / 400", use: "Header category chip" }
59
+ text-input: { type: input, bg: "#ffffff", fg: "#0a0b0d", border: "1px solid rgba(91,97,110,0.2)", radius: "8px", height: "56px", padding: "16px", font: "16px / 400", states: "label outside/inside-float · negative sets aria-invalid + 'Error: …' helper · positive validated · read-only secondary bg · disabled distinct", use: "Bordered text field" }
60
+ search-input: { type: input, bg: "transparent", fg: "#0a0b0d", border: "none", font: "16px / 400", states: "borderless inline · leading search glyph", use: "Inline search field" }
61
+ switch: { type: toggle, states: "control #0052ff when checked · optional thumb elevation", use: "On/off toggle" }
62
+ checkbox-radio: { type: toggle, active: "selected fill #0052ff", states: "Cell + Group wrappers", use: "Checkbox and Radio selection" }
63
+ segmented-control: { type: tab, bg: "#eef0f3", active: "active segment #0052ff", radius: "100000px", use: "Time-range and view switches" }
64
+ card: { type: card, bg: "#ffffff", border: "1px solid rgba(91,97,110,0.2)", radius: "8px–40px", shadow: "none — depth from section contrast", states: "ContentCard Header/Body/Footer · DataCard/MediaCard/NudgeCard/UpsellCard", use: "Content container family" }
65
+ data-table: { type: card, border: "1px solid rgba(91,97,110,0.2)", states: "desktop-only (Lists View on mobile) · variants default/graph/ruled · required header row · sortable · sticky header · TableCellFallback skeleton", use: "Tabular data, desktop only" }
66
+ list-cell: { type: listItem, fg: "#0a0b0d", states: "leading CellMedia + title/subtitle", use: "Mobile substitute for Table, asset rows" }
67
+ modal: { type: dialog, bg: "#ffffff", shadow: "scrim overlay + FocusTrap", states: "visible + onRequestClose · restoreFocusOnUnmount=false for chains · FullscreenModal/Tray/Alert/FullscreenAlert siblings", use: "Header/Body/Footer modal" }
68
+ toast: { type: toast, states: "bottom-anchored · auto-dismiss 5s base + close button · bgPositive/bgNegative/bgWarning · role=alert · persists on hover", use: "Transient status message" }
69
+ tooltip: { type: card, states: "Tooltip + PopoverPanel + Coachmark", use: "Contextual hints and first-run tours" }
70
+ banner: { type: card, border: "global avoids custom radius — flush with status bar", states: "styles global/inline/contextual · variants informational/warning/error/promotional · startIcon+title+children+primaryAction+secondaryAction+showDismiss", use: "Feedback and status messaging" }
71
+ progress: { type: card, fg: "#0052ff", states: "ProgressCircle determinate 0–100% / indeterminate fgMuted arc · stroke thin 2px/normal 4px/semiheavy 8px/heavy 12px · ProgressBar + Spinner", use: "Determinate/indeterminate progress" }
72
+ sparkline: { type: card, fg: "#0052ff", states: "Sparkline/LineChart/AreaChart/BarChart/PercentageBarChart · live price ticks flash green/red (disabled under reduced-motion)", use: "Inline price/chart visualization" }
73
+ dark-section: { type: card, bg: "#0a0b0d", fg: "#ffffff", active: "accent links #0052ff", use: "Dark feature section" }
13
74
  ---
14
75
 
15
76
  # Design System Inspiration of Coinbase
@@ -124,9 +185,82 @@ Minimal shadow system — depth from color contrast between dark/light sections.
124
185
  - Don't use the blue decoratively — it's functional only
125
186
  - Don't use sharp corners on CTAs — 56px minimum
126
187
 
127
- ## 8. Responsive Behavior
188
+ ## 8. Component Patterns
128
189
 
129
- Breakpoints: 400px, 576px, 640px, 768px, 896px, 1280px, 1440px, 1600px
190
+ Coinbase open-sourced its design system — **Coinbase Design System (CDS)**, internally codenamed Cedar — at `cds.coinbase.com` and `github.com/coinbase/cds`. It is a cross-platform React / React Native library of 100+ components. The patterns below combine CDS-documented semantics with values measured live from `coinbase.com` (playwright `getComputedStyle`, 2026-06). Color roles map to CDS semantic tokens: `fgPrimary`/`bgPrimary` = Blue70 (`#0052ff`), `fgMuted`/`line` = Gray60 (the `#5b616e` muted role at 20% opacity), `fgInverse`/`bg` = Gray0/white, foreground text = `#0a0b0d`.
191
+
192
+ ### Actions
193
+
194
+ **button-primary** — CDS `Button` `variant="primary"`. High-emphasis, limit one per screen. Coinbase Blue (`#0052ff`) fill, white label, `16px·600` CoinbaseSans, `+0.16px` tracking. Pill geometry: measured `100000px` radius on full-pill CTAs, `16px` on compact nav chips. Hover lightens to `#578bfa`; focus `2px solid black` outline. Sizes: Compact / Default / Block (fills width). Slots: `startIcon`, `endIcon`. Loading state hides the label and shows an indeterminate ProgressCircle.
195
+
196
+ **button-secondary** — `variant="secondary"`, medium emphasis for equal-weight actions. Cool-gray (`#eef0f3`) fill, `#0a0b0d` label, `1px solid` matching border.
197
+
198
+ **button-tertiary / inverse / negative** — Tertiary: low emphasis, muted background, transparent-until-interaction. Inverse: high contrast for dark sections — `#282b31` fill, white label. Negative: destructive-only, used sparingly.
199
+
200
+ **button-transparent** — modifier on any variant; the container surface only becomes visible on hover/press.
201
+
202
+ **button-blue-bordered** — transparent fill, `1px solid #0052ff` border, `#0052ff` label. Secondary CTA pairing.
203
+
204
+ **icon-button** — icon-only `IconButton`. Measured `56px` round hit-target on the homepage utility row, transparent fill.
205
+
206
+ ### Navigation
207
+
208
+ **top-nav** — sticky `header` containing brand wordmark, category chips, search, and Sign in / Sign up CTAs. Nav category chip measured `16px` radius, `4px 16px` padding, `14px` CoinbaseSans; link text in Link Blue (`#0667d0`).
209
+
210
+ **tabs** — CDS `Tabs` (the current component; `TabNavigation` is deprecated). Primary and secondary variants, active tab tracked by `value`, underline `TabIndicator`, full W3C tab keyboard pattern with arrow-key wrap-around and overflow arrows.
211
+
212
+ **segmented-tabs / SegmentedControl** — pill track, `#eef0f3` track surface with `#0052ff` active segment. Used for time-range and view switches.
213
+
214
+ **stepper / pagination** — `Stepper` for multi-step flows (mirrors the Submitted → Confirming → Confirmed transaction pattern), `Pagination` for paged tables.
215
+
216
+ ### Forms
217
+
218
+ **text-input** — CDS `TextInput`. Bordered by default (`1px solid` at the `#5b616e`-derived line color, 20% opacity); measured `56px` height, `16px` padding, CoinbaseSans `16px`. Label `outside` (above) or `inside` (floats when unfocused). `variant="negative"` auto-sets `aria-invalid="true"` and expects `"Error: …"` helper text; `variant="positive"` for validated values. Read-only inputs take a secondary background and remain focusable; disabled inputs are visually distinct.
219
+
220
+ **search-input** — CDS `SearchInput`, borderless inline with a leading search glyph, `#0a0b0d` text.
221
+
222
+ **switch** — CDS `Switch` on/off toggle. `controlColor` resolves to `#0052ff` when checked; optional thumb elevation/shadow.
223
+
224
+ **checkbox / radio** — `Checkbox` and `Radio` with `Cell` and `Group` wrappers; selected state fills Coinbase Blue (`#0052ff`).
225
+
226
+ ### Data display
227
+
228
+ **card** — CDS `ContentCard` family (`Header` / `Body` / `Footer`), plus `DataCard`, `MediaCard`, `NudgeCard`, `UpsellCard`. Radius `8px–40px`, `1px solid rgba(91,97,110,0.2)` border, depth from section contrast rather than box-shadow.
229
+
230
+ **data-table** — CDS `Table`, explicitly desktop-only (mobile falls back to Lists View). Variants: default / graph (grid lines) / ruled (horizontal lines). Requires a header row; supports sortable headers, row/column spans, sticky header, and `TableCellFallback` skeleton rows.
231
+
232
+ **list-cell** — `ListCell` / `ContentCell` with leading `CellMedia` (asset logo) + title/subtitle; the mobile substitute for tables and the basis of asset rows.
233
+
234
+ **sparkline / charts** — `Sparkline`, `LineChart`, `AreaChart`, `BarChart`, `PercentageBarChart` with `XAxis`/`YAxis`/`Scrubber`. Series accent Coinbase Blue (`#0052ff`); live price ticks flash green/red on the cell (disabled under `prefers-reduced-motion`).
235
+
236
+ ### Overlays
237
+
238
+ **modal** — CDS `Modal` with `ModalHeader` / `ModalBody` / `ModalFooter`. Scrim overlay + `FocusTrap`; `visible` + `onRequestClose` control; `restoreFocusOnUnmount={false}` for chained modals. Siblings: `FullscreenModal`, `Tray` (bottom sheet), `Alert`, `FullscreenAlert`.
239
+
240
+ **toast** — CDS `Toast`, bottom-anchored (`bottomOffset` clears bottom nav). Auto-dismiss = 5s base + content/action adjustments, plus a default close button; variants `bgPositive` / `bgNegative` / `bgWarning` surge the background; `role="alert"`, persists on hover.
241
+
242
+ **tooltip / popover** — `Tooltip`, `PopoverPanel`, and `Coachmark` for contextual hints and first-run tours.
243
+
244
+ ### Feedback & status
245
+
246
+ **banner** — CDS `Banner` in `global` / `inline` / `contextual` styles, variants informational / warning / error / promotional. Slots: `startIcon`, `title`, `children`, `primaryAction`, `secondaryAction`, optional `showDismiss`. Global banners avoid custom radius to stay flush with the status bar.
247
+
248
+ **progress** — `ProgressCircle` (determinate 0–100% with % overlay, or indeterminate `fgMuted` arc) with stroke weights thin `2px` / normal `4px` / semiheavy `8px` / heavy `12px`; plus `ProgressBar` (fixed and floating label variants) and `Spinner`.
249
+
250
+ ## Responsive Behavior
251
+
252
+ | Breakpoint | px | Notes |
253
+ |---|---|---|
254
+ | xs | 400 | Smallest phone |
255
+ | sm | 576 | Phone landscape |
256
+ | md | 640 | Large phone / small tablet |
257
+ | lg | 768 | Tablet |
258
+ | xl | 896 | Tablet landscape |
259
+ | xxl | 1280 | Desktop |
260
+ | 3xl | 1440 | Wide desktop |
261
+ | 4xl | 1600 | Max content width |
262
+
263
+ Measured live viewport 1440px. `Table` is desktop-only and swaps to `ListCell` / Lists View below tablet; `Tray` (bottom sheet) replaces `Modal` on small screens.
130
264
 
131
265
  ## 9. Agent Prompt Guide
132
266
 
@@ -212,8 +346,8 @@ Easings: standard cubic-bezier; no bounce. **Live price updates** flash green/re
212
346
 
213
347
  ---
214
348
 
215
- **Verified:** 2026-05-08 (B2 loop)
216
- **Tier 1 sources:** coinbase.com (live DOM via playwright — round 56px icon buttons; Sign up `#0052ff` 56px / 16px·600 / 47-60px height)
217
- **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
349
+ **Verified:** 2026-06-08 (component harvest — TIER 1)
350
+ **Tier 1 sources:** coinbase.com (live DOM via playwright across /, /explore, /about — round 56px icon buttons; nav chip 16px radius 4px·16px; input 56px·16px pad; pill 100000px; link `#0667d0`; surface `#eef0f3`). Coinbase Design System (CDS / "Cedar") — cds.coinbase.com + github.com/coinbase/cds: component inventory (100+ across Layout/Inputs/Cards/Data Display/Feedback/Overlay/Navigation/Charts) and per-component specs (Button variants/sizes/states, TextInput, Banner, Modal, Toast, ProgressCircle, Table, Switch).
351
+ **Tier 2 sources:** styles.refero.design no record. getdesign.md/coinbasecross-checked.
218
352
  **Tier 1 (Philosophy):** coinbase.com homepage; Brian Armstrong public talks; SEC public filings.
219
353
  **Style ref:** `stripe`. **Conflicts unresolved:** none.
@@ -15,6 +15,45 @@ ds:
15
15
  url: "https://coinonecorp.com/company/brand"
16
16
  type: brand
17
17
  description: "Official BI/brand guideline (v4.0) — Coinone Blue color system, signature logo lockups, clear-space rules."
18
+ tokens:
19
+ source: prose-derived
20
+ extracted: "2026-06-08"
21
+ note: "primary = live filled-CTA blue (#0B59D5); brand = BI 'Coinone Blue' identity (#006BD6) — applied shades of the same blue, not a conflict"
22
+ colors:
23
+ primary: "#0B59D5"
24
+ primary-hover: "#194386"
25
+ brand: "#006BD6"
26
+ point: "#0090FF"
27
+ canvas: "#FFFFFF"
28
+ foreground: "#040505"
29
+ muted: "#6B7684"
30
+ on-primary: "#FFFFFF"
31
+ accent-outline: "#1772F8"
32
+ body: "#17181B"
33
+ hairline: "#DDE4EB"
34
+ surface-tint: "#EBF0F5"
35
+ skeleton: "#EEEFF0"
36
+ disabled: "#CFD0D3"
37
+ navy: "#062554"
38
+ typography:
39
+ family: { sans: "Pretendard", mono: "SFMono-Regular" }
40
+ hero: { size: 32, weight: 700, lineHeight: 1.2, use: "Hero / section titles, near-black #040505" }
41
+ control: { size: 15, weight: 700, lineHeight: 1.0, use: "Primary control / button label" }
42
+ body: { size: 14, weight: 400, lineHeight: 1.5, use: "Body & list rows (13-15px / 400-500)" }
43
+ figure: { size: 14, weight: 600, lineHeight: 1.3, use: "Trading numerals — dense, right-aligned, weighted when changing" }
44
+ micro: { size: 12, weight: 400, lineHeight: 1.4, use: "Micro-labels & helper, muted #6B7684" }
45
+ spacing: { xs: 4, sm: 8, md: 12, base: 8, lg: 18, xl: 32, xxl: 48, section: 64 }
46
+ rounded: { sm: 3, chip: 6, md: 8, lg: 10, full: 9999 }
47
+ shadow:
48
+ soft: "rgba(0,0,0,0.05) 0px 1px 2px 0px"
49
+ components_harvested: true
50
+ components:
51
+ button-primary: { type: button, bg: "#0B59D5", fg: "#FFFFFF", radius: 8, font: "15/700", use: "Primary CTA, 46px height — one per view" }
52
+ button-secondary: { type: button, bg: "#FFFFFF", fg: "#040505", radius: 8, font: "15/500", use: "White fill, 1px #DDE4EB border" }
53
+ accent-outline: { type: button, fg: "#1772F8", radius: 3, use: "Transparent fill, 1px #1772F8 border — signup/inline emphasis" }
54
+ filter-chip: { type: badge, bg: "#FFFFFF", radius: 6, use: "1px #DDE4EB border, 32px height; active = 1px #040505 border + 700" }
55
+ store-button: { type: button, bg: "#EBF0F5", radius: 10, font: "13/700", use: "Light or dark (#040505) fill, 48px height" }
56
+ icon-button: { type: button, fg: "#040505", radius: 9999, padding: "5px", use: "Circular semi-transparent fill" }
18
57
  ---
19
58
 
20
59
  # Coinone
@@ -10,6 +10,52 @@ logo:
10
10
  slug: composiohq
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_color field (#6366f1) is an indigo approximation; the live DS brand is Composio Cobalt #0007cd. Dark-canvas system: many roles use white-opacity (rgba) borders/text — only stated 6-digit hexes promoted to colors; opacity variants live in shadow/note context."
17
+ colors:
18
+ primary: "#0007cd"
19
+ brand: "#0007cd"
20
+ accent-cyan: "#00ffff"
21
+ accent-signal: "#0089ff"
22
+ accent-ocean: "#0096ff"
23
+ canvas: "#0f0f0f"
24
+ surface: "#000000"
25
+ hairline: "#2c2c2c"
26
+ foreground: "#ffffff"
27
+ muted: "#444444"
28
+ on-primary: "#ffffff"
29
+ light-border: "#e0e0e0"
30
+ typography:
31
+ family: { sans: "abcDiatype", mono: "JetBrains Mono" }
32
+ display-hero: { size: 64, weight: 400, lineHeight: 0.87, use: "Massive compressed hero headings" }
33
+ section: { size: 48, weight: 400, lineHeight: 1.00, use: "Major feature section titles" }
34
+ subheading-lg: { size: 40, weight: 400, lineHeight: 1.00, use: "Secondary section markers" }
35
+ subheading: { size: 28, weight: 400, lineHeight: 1.20, use: "Card titles, feature names" }
36
+ card-title: { size: 24, weight: 500, lineHeight: 1.20, use: "Medium-emphasis card headings" }
37
+ feature-label: { size: 20, weight: 500, lineHeight: 1.20, use: "Smaller card titles, labels" }
38
+ body-lg: { size: 18, weight: 400, lineHeight: 1.20, use: "Intro paragraphs" }
39
+ body: { size: 16, weight: 400, lineHeight: 1.50, use: "Body text, nav links, buttons" }
40
+ body-sm: { size: 15, weight: 400, lineHeight: 1.63, use: "Longer-form body text" }
41
+ caption: { size: 14, weight: 400, lineHeight: 1.63, use: "Descriptions, metadata" }
42
+ label: { size: 13, weight: 500, lineHeight: 1.50, use: "UI labels, badges" }
43
+ overline: { size: 12, weight: 500, lineHeight: 1.00, tracking: 0.3, use: "Uppercase overline labels" }
44
+ code: { size: 16, weight: 400, lineHeight: 1.50, tracking: -0.32, use: "Inline code, terminal output (JetBrains Mono)" }
45
+ code-sm: { size: 14, weight: 400, lineHeight: 1.50, tracking: -0.28, use: "Code snippets, technical labels (JetBrains Mono)" }
46
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 40, section: 80 }
47
+ rounded: { sm: 2, md: 4, lg: 37, full: 9999 }
48
+ shadow:
49
+ brutalist: "rgba(0,0,0,0.15) 4px 4px 0px 0px"
50
+ floating: "rgba(0,0,0,0.5) 0px 8px 32px"
51
+ glow-cyan: "rgba(0,255,255,0.12) radial halo"
52
+ components_harvested: true
53
+ components:
54
+ button-primary: { type: button, bg: "#ffffff", fg: "#0f0f0f", radius: 4, padding: "8px 24px", use: "White fill, near-black text, no border" }
55
+ button-cyan: { type: button, radius: 4, use: "Electric cyan 12% bg, 1px ocean blue #0096ff border, glow-from-within" }
56
+ button-ghost: { type: button, radius: 4, padding: "10px", use: "Transparent fill, 1px signal blue #0089ff or charcoal #2c2c2c border" }
57
+ card: { type: card, bg: "#000000", radius: 4, use: "Pure black surface, white-opacity 4-12% border, optional brutalist shadow" }
58
+ code-block: { type: card, bg: "#000000", radius: 4, use: "JetBrains Mono, white-opacity 10% border, syntax-highlighted" }
13
59
  ---
14
60
 
15
61
  # Design System Inspiration of Composio
@@ -10,6 +10,43 @@ logo:
10
10
  slug: "https://www.google.com/s2/favicons?domain=cookpad.com&sz=128"
11
11
  verified: "2026-05-19"
12
12
  omd: "0.1"
13
+ tokens:
14
+ source: prose-derived
15
+ extracted: "2026-06-09"
16
+ colors:
17
+ primary: "#FF9933"
18
+ brand: "#FF9933"
19
+ canvas: "#F8F6F2"
20
+ surface: "#FFFFFF"
21
+ cream-tint: "#FEF9EE"
22
+ warm-gray: "#ECEBE9"
23
+ foreground: "#0F0F0F"
24
+ body: "#4A4A4A"
25
+ muted: "#4A4A4A"
26
+ on-primary: "#FFFFFF"
27
+ accent-yellow: "#E9B83F"
28
+ pale-yellow: "#FAF5D7"
29
+ typography:
30
+ family: { sans: "Noto Sans" }
31
+ section: { size: 22, weight: 700, lineHeight: 1.3, use: "Section headings" }
32
+ title: { size: 16, weight: 600, lineHeight: 1.4, use: "Recipe card title" }
33
+ button: { size: 16, weight: 600, lineHeight: 1.4, use: "Primary button label" }
34
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Body / recipe meta / category label" }
35
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
36
+ rounded: { sm: 8, md: 8, lg: 8, full: 9999 }
37
+ shadow:
38
+ soft: "none — depth via warm cream background separating white cards"
39
+ components_harvested: true
40
+ components:
41
+ button-primary: { type: button, bg: "#FF9933", fg: "#FFFFFF", radius: 8, padding: "8px 24px", font: "16/600", use: "Main action — search, post recipe, sign up" }
42
+ button-secondary: { type: button, bg: "#FFFFFF", fg: "#FF9933", radius: 8, use: "Outline, 1px #FF9933 border — lower-emphasis beside primary" }
43
+ button-text: { type: button, fg: "#4A4A4A", use: "Transparent tertiary / navigation action" }
44
+ button-disabled: { type: button, bg: "#ECEBE9", fg: "#4A4A4A", use: "Unavailable action" }
45
+ category-tile: { type: button, fg: "#0F0F0F", radius: 8, padding: "16px", font: "16/400", use: "Ingredient/category navigation — large tappable icon + label" }
46
+ recipe-card: { type: card, bg: "#FFFFFF", fg: "#0F0F0F", radius: 8, use: "Food photo top, title + meta below, floating on cream page" }
47
+ promoted-card: { type: card, bg: "#FEF9EE", radius: 8, use: "Featured / promoted recipe region" }
48
+ search-input: { type: input, bg: "#FFFFFF", fg: "#0F0F0F", radius: 8, padding: "12px 16px", use: "Central recipe search; focus ring in #FF9933" }
49
+ rating-badge: { type: badge, bg: "#FAF5D7", fg: "#4A4A4A", radius: 8, use: "Ratings, つくれぽ counts, promoted labels" }
13
50
  ---
14
51
 
15
52
  # Design System Inspiration of Cookpad
@@ -6,8 +6,8 @@ category: ecommerce
6
6
  homepage: "https://www.coupang.com"
7
7
  primary_color: "#000000"
8
8
  logo:
9
- type: simpleicons
10
- slug: coupang
9
+ type: favicon
10
+ slug: "https://www.coupang.com/favicon.ico"
11
11
  verified: "2026-05-15"
12
12
  omd: "0.1"
13
13
  ds:
@@ -16,6 +16,61 @@ ds:
16
16
  type: brand
17
17
  description: Coupang's official media-asset brand guidelines — logo usage, sizing, and attribution rules.
18
18
  og_image: "https://news.coupang.com/wp-content/uploads/2023/01/Coupang_2_1609.jpg"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-09"
22
+ colors:
23
+ primary: "#E94B22"
24
+ primary-hover: "#C73D17"
25
+ brand: "#E94B22"
26
+ canvas: "#ffffff"
27
+ surface: "#ffffff"
28
+ foreground: "#111111"
29
+ body: "#333D4B"
30
+ muted: "#6B7684"
31
+ on-primary: "#ffffff"
32
+ red-tint: "#FFEEE8"
33
+ wow-magenta: "#A50034"
34
+ yellow: "#FAC000"
35
+ green: "#80BC27"
36
+ blue: "#3DACDC"
37
+ brown: "#894F24"
38
+ critical: "#D60404"
39
+ success: "#03AC0E"
40
+ link: "#0074E9"
41
+ surface-alt: "#F7F8FA"
42
+ surface-muted: "#F2F4F6"
43
+ hairline: "#E5E8EB"
44
+ inert: "#B0B8C1"
45
+ typography:
46
+ family: { sans: "Pretendard Variable" }
47
+ display: { size: 28, weight: 700, lineHeight: 1.29, use: "Hero promo banners, splash takeovers" }
48
+ headline: { size: 22, weight: 700, lineHeight: 1.36, use: "Section headers" }
49
+ title: { size: 16, weight: 600, lineHeight: 1.38, use: "Product name (truncated 2 lines)" }
50
+ body: { size: 14, weight: 400, lineHeight: 1.43, use: "Standard reading, descriptions" }
51
+ caption: { size: 12, weight: 400, lineHeight: 1.33, use: "Timestamps, fine print" }
52
+ price: { size: 18, weight: 700, lineHeight: 1.33, use: "Primary product price — tabular numerals" }
53
+ discount: { size: 14, weight: 700, lineHeight: 1.29, use: "Discount % red label" }
54
+ badge: { size: 11, weight: 700, lineHeight: 1.27, use: "로켓배송, BEST badge labels" }
55
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 32, xxl: 48, section: 64 }
56
+ rounded: { sm: 4, md: 4, lg: 8, full: 9999 }
57
+ shadow:
58
+ soft: "rgba(17,17,17,0.06) 0px 2px 8px"
59
+ components_harvested: true
60
+ components:
61
+ button-primary: { type: button, bg: "#E94B22", fg: "#ffffff", radius: 4, padding: "12px 20px", font: "16/700", use: "Primary checkout CTA — 구매하기, 장바구니 담기; pressed #C73D17" }
62
+ button-secondary: { type: button, bg: "#ffffff", fg: "#E94B22", radius: 4, use: "Outlined, 1px #E94B22 border; pressed #FFEEE8 fill" }
63
+ button-tertiary: { type: button, bg: "#F2F4F6", fg: "#333D4B", radius: 4, use: "Neutral filter toggle, 전체보기, low-emphasis" }
64
+ button-wow: { type: button, bg: "#A50034", fg: "#ffffff", radius: 4, use: "WOW membership upsell — distinct from primary red" }
65
+ button-critical: { type: button, bg: "#ffffff", fg: "#D60404", radius: 4, use: "Destructive — 주문 취소, 삭제; 1px #D60404 border" }
66
+ product-card: { type: card, bg: "#ffffff", radius: 4, padding: "12px", use: "Atomic unit — 1:1 thumbnail, badge, name, rating, price block, delivery promise; hover border #111111" }
67
+ promo-card: { type: card, bg: "#FFEEE8", radius: 8, padding: "16px", use: "Brand-tinted promo container" }
68
+ filter-chip: { type: badge, bg: "#ffffff", radius: 4, font: "13/500", use: "32px height, 1px #E5E8EB border; selected = #111111 fill + white text" }
69
+ rocket-badge: { type: badge, bg: "#ffffff", fg: "#E94B22", font: "11/700", use: "로켓배송 — icon + label, no border/radius" }
70
+ discount-badge: { type: badge, fg: "#E94B22", font: "14/700", use: "Standalone red percentage; or #E94B22 fill pill for 특가/BEST" }
71
+ search-input: { type: input, bg: "#ffffff", fg: "#111111", radius: 4, padding: "0 16px", use: "Hero chrome — 2px #E94B22 branded border, 48px height, red search button" }
72
+ standard-input: { type: input, bg: "#ffffff", fg: "#111111", radius: 4, use: "1px #E5E8EB border, 44px height; focus 1px #E94B22" }
73
+ category-nav: { type: tab, fg: "#333D4B", font: "14/700", use: "Sticky horizontal bar", active: "#E94B22 text + 2px bottom underline" }
19
74
  ---
20
75
 
21
76
  # Design System Inspiration of Coupang (쿠팡)
@@ -16,6 +16,50 @@ ds:
16
16
  type: brand
17
17
  description: Cursor's brand guidelines with logos, icons, and naming conventions.
18
18
  og_image: "https://cursor.com/public/opengraph-image.png"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-09"
22
+ colors:
23
+ primary: "#26251e"
24
+ brand: "#f54e00"
25
+ canvas: "#f2f1ed"
26
+ foreground: "#26251e"
27
+ surface: "#e6e5e0"
28
+ surface-100: "#f7f7f4"
29
+ surface-300: "#ebeae5"
30
+ surface-500: "#e1e0db"
31
+ accent-gold: "#c08532"
32
+ error: "#cf2d56"
33
+ success: "#1f8a65"
34
+ on-primary: "#f2f1ed"
35
+ typography:
36
+ family: { sans: "CursorGothic", mono: "berkeleyMono" }
37
+ display-hero: { size: 72, weight: 400, lineHeight: 1.10, tracking: -2.16, use: "Hero statements, max compression" }
38
+ section: { size: 36, weight: 400, lineHeight: 1.20, tracking: -0.72, use: "Feature section / CTA headlines" }
39
+ subheading: { size: 26, weight: 400, lineHeight: 1.25, tracking: -0.325, use: "Card headings, sub-sections" }
40
+ title-sm: { size: 22, weight: 400, lineHeight: 1.30, tracking: -0.11, use: "Smaller titles, list headings" }
41
+ body-serif: { size: 19.2, weight: 500, lineHeight: 1.50, use: "Editorial body, jjannon cswh" }
42
+ body-serif-sm: { size: 17.28, weight: 400, lineHeight: 1.35, use: "Standard body, descriptions" }
43
+ body-sans: { size: 16, weight: 400, lineHeight: 1.50, use: "UI body text" }
44
+ button: { size: 14, weight: 400, lineHeight: 1.00, use: "Primary button label" }
45
+ caption: { size: 11, weight: 400, lineHeight: 1.50, use: "Small captions, metadata" }
46
+ mono-body: { size: 12, weight: 400, lineHeight: 1.67, use: "Code blocks" }
47
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
48
+ rounded: { sm: 4, md: 8, lg: 10, full: 9999 }
49
+ shadow:
50
+ ambient: "rgba(0,0,0,0.02) 0px 0px 16px, rgba(0,0,0,0.008) 0px 0px 8px"
51
+ focus: "rgba(0,0,0,0.1) 0px 4px 12px"
52
+ elevated: "rgba(0,0,0,0.14) 0px 28px 70px, rgba(0,0,0,0.1) 0px 14px 32px"
53
+ components_harvested: true
54
+ components:
55
+ button-primary: { type: button, bg: "#ebeae5", fg: "#26251e", radius: "8px", padding: "10px 12px 10px 14px", font: "14px / 400", hover: "text #cf2d56", focus: "shadow rgba(0,0,0,0.1) 0px 4px 12px", use: "Primary actions, main CTAs" }
56
+ button-secondary: { type: button, bg: "#e6e5e0", fg: "#26251e", radius: "9999px", padding: "3px 8px", font: "14px / 400", hover: "text #cf2d56", use: "Tags, filters, secondary actions" }
57
+ button-tertiary: { type: button, bg: "#e1e0db", fg: "#26251e", radius: "9999px", use: "Active filter, selected tags" }
58
+ button-ghost: { type: button, bg: "rgba(38,37,30,0.06)", fg: "rgba(38,37,30,0.55)", padding: "6px 12px", use: "Tertiary actions, dismiss" }
59
+ card: { type: card, bg: "#e6e5e0", border: "1px solid rgba(38,37,30,0.1)", radius: "8px", shadow: "rgba(0,0,0,0.14) 0px 28px 70px, rgba(0,0,0,0.1) 0px 14px 32px", hover: "shadow intensifies", use: "Cards, containers" }
60
+ input: { type: input, bg: "transparent", fg: "#26251e", border: "1px solid rgba(38,37,30,0.1)", focus: "border rgba(38,37,30,0.2) or accent orange", use: "Text inputs, textarea" }
61
+ tab: { type: tab, fg: "#26251e", active: "1px bottom border rgba(38,37,30,0.1)", use: "Tab navigation" }
62
+ timeline-step: { type: listItem, fg: "#26251e", states: "thinking #dfa88f, grep #9fc9a2, read #9fbbe0, edit #c0a8dd", use: "AI timeline operation steps" }
19
63
  ---
20
64
 
21
65
  # Design System Inspiration of Cursor
@@ -11,25 +11,45 @@ logo:
11
11
  slug: "https://www.google.com/s2/favicons?domain=dabangapp.com&sz=256"
12
12
  verified: "2026-05-15"
13
13
  omd: "0.1"
14
-
15
- ## 16. Do's and Don'ts
16
-
17
- ### Do
18
- - Keep brand pink `#FF3478` (`--pink-500`) on the logo wordmark and large-display contexts only, since at 3.4:1 on white it fails AA for body text
19
- - Drive all interaction state — selected map markers, focus rings, link emphasis — with action blue `#326CF9` (`--blue-500`) and its `#EEF8FF` (`--blue-50`) hover tint
20
- - Build depth from 1px `#DFDFDF` (`--gray-400`) hairline borders and background-color steps (white → `#F5F5F5` → `#EEF8FF`), keeping `box-shadow: none` everywhere
21
- - Set body text in `#222` (`--gray-900`) at 16px/400 and run a binary 400→700 weight rhythm, reserving 500 for map filter-chip labels
22
- - Preserve the contextual radius ladder by using 32px pills for search-entry CTAs and 42px pills for toggleable map filter chips
23
- - Render price as the map marker itself (e.g. '전세 3.2억') and let warmth surface only in the AI band — 24px/400 with a single 🔍 emoji
24
-
25
- ### Don't
26
- - Spread `--pink-500` into product chrome — keeping it wordmark-only is the system's most disciplined rule, and bleeding it onto the map produces a saturated pink that fights the canvas
27
- - Adopt the zero-shadow rule without investing in clean 1px `#DFDFDF` hairlines, since borders are doing the depth work shadows would
28
- - Flatten the 32px and 42px pill radii into one value, which loses the affordance distinction between search-entry CTA and toggle-filter
29
- - Propagate the 400-weight AI-band tone across the surface — it only reads as editorial because the surrounding section heads are 700-bold at 18-20px
30
- - Bleed casual `-요` endings into structural labels — warmth lives in the AI surface while category labels stay bare nouns (원/투룸 · 아파트 · 분양)
31
- - Reuse the dense 14px Korean body stack without re-tuning line-height and letter-spacing, since it is tuned for Pretendard's Korean character rendering
32
-
14
+ tokens:
15
+ source: prose-derived
16
+ extracted: "2026-06-09"
17
+ note: "brand pink #FF3478 stays wordmark-only; functional accent is action blue #326CF9. Strict 3-layer color discipline: pink=brand, blue=action, gray=content."
18
+ colors:
19
+ primary: "#326CF9"
20
+ primary-hover: "#326CF9"
21
+ brand: "#FF3478"
22
+ canvas: "#FFFFFF"
23
+ surface: "#FFFFFF"
24
+ foreground: "#222222"
25
+ body: "#222222"
26
+ muted: "#656565"
27
+ on-primary: "#FFFFFF"
28
+ hairline: "#DFDFDF"
29
+ surface-muted: "#F5F5F5"
30
+ hover-tint: "#EEF8FF"
31
+ success: "#1CA885"
32
+ danger: "#E20724"
33
+ warning: "#FFB600"
34
+ premium: "#3E26FD"
35
+ typography:
36
+ family: { sans: "Pretendard Variable" }
37
+ section: { size: 20, weight: 700, lineHeight: 1.3, use: "Category section heads — position + weight, not size" }
38
+ ai-band: { size: 24, weight: 400, lineHeight: 1.3, use: "AI band head — largest yet lightest, editorial signal" }
39
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Body default, #222222" }
40
+ chip: { size: 14, weight: 500, lineHeight: 1.4, use: "Filter-chip label (only 500-weight role)" }
41
+ caption: { size: 13, weight: 400, lineHeight: 1.4, use: "Secondary text / meta" }
42
+ spacing: { xs: 4, sm: 8, md: 16, base: 8, lg: 24, xl: 32, xxl: 48, section: 64 }
43
+ rounded: { sm: 2, md: 4, lg: 8, xl: 12, entry: 32, filter: 42, full: 9999 }
44
+ shadow:
45
+ none: "none — zero box-shadow across surface; depth via 1px borders + bg-color steps"
46
+ components_harvested: true
47
+ components:
48
+ button-entry: { type: button, fg: "#222222", radius: 32, use: "Home search-entry pill — tap to start a search" }
49
+ filter-chip: { type: toggle, bg: "#FFFFFF", fg: "#222222", radius: 42, font: "14/500", use: "Map filter pill, 1px #DFDFDF border; active = #326CF9 border + #EEF8FF bg" }
50
+ listing-card: { type: card, bg: "#FFFFFF", radius: 8, use: "Floating left-rail listing card, 1px #DFDFDF border, no shadow" }
51
+ map-marker: { type: badge, bg: "#FFFFFF", fg: "#222222", radius: 2, use: "Price-bearing pill marker; selected = #326CF9 fill — price is the marker" }
52
+ icon-control: { type: button, radius: 9999, use: "Circular bookmark / close control" }
33
53
  ---
34
54
 
35
55
  # Design System Inspiration of Dabang (다방)
@@ -227,3 +247,21 @@ shadow: none (100%)
227
247
  - Motion tokens — duration/easing
228
248
  - Listing thumbnail aspect ratio
229
249
  - Verified Station3 corporate timeline to attribution fidelity
250
+
251
+ ## 16. Do's and Don'ts
252
+
253
+ ### Do
254
+ - Keep brand pink `#FF3478` (`--pink-500`) on the logo wordmark and large-display contexts only, since at 3.4:1 on white it fails AA for body text
255
+ - Drive all interaction state — selected map markers, focus rings, link emphasis — with action blue `#326CF9` (`--blue-500`) and its `#EEF8FF` (`--blue-50`) hover tint
256
+ - Build depth from 1px `#DFDFDF` (`--gray-400`) hairline borders and background-color steps (white → `#F5F5F5` → `#EEF8FF`), keeping `box-shadow: none` everywhere
257
+ - Set body text in `#222` (`--gray-900`) at 16px/400 and run a binary 400→700 weight rhythm, reserving 500 for map filter-chip labels
258
+ - Preserve the contextual radius ladder by using 32px pills for search-entry CTAs and 42px pills for toggleable map filter chips
259
+ - Render price as the map marker itself (e.g. '전세 3.2억') and let warmth surface only in the AI band — 24px/400 with a single 🔍 emoji
260
+
261
+ ### Don't
262
+ - Spread `--pink-500` into product chrome — keeping it wordmark-only is the system's most disciplined rule, and bleeding it onto the map produces a saturated pink that fights the canvas
263
+ - Adopt the zero-shadow rule without investing in clean 1px `#DFDFDF` hairlines, since borders are doing the depth work shadows would
264
+ - Flatten the 32px and 42px pill radii into one value, which loses the affordance distinction between search-entry CTA and toggle-filter
265
+ - Propagate the 400-weight AI-band tone across the surface — it only reads as editorial because the surrounding section heads are 700-bold at 18-20px
266
+ - Bleed casual `-요` endings into structural labels — warmth lives in the AI surface while category labels stay bare nouns (원/투룸 · 아파트 · 분양)
267
+ - Reuse the dense 14px Korean body stack without re-tuning line-height and letter-spacing, since it is tuned for Pretendard's Korean character rendering