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
@@ -0,0 +1,587 @@
1
+ ---
2
+ id: mastercard
3
+ name: Mastercard
4
+ country: US
5
+ category: fintech
6
+ homepage: "https://www.mastercard.com"
7
+ primary_color: "#EB001B"
8
+ logo:
9
+ type: simpleicons
10
+ slug: "mastercard"
11
+ verified: "2026-06-06"
12
+ added: "2026-06-06"
13
+ omd: "0.1"
14
+ tokens:
15
+ source: prose-derived
16
+ extracted: "2026-06-09"
17
+ colors:
18
+ primary: "#141413"
19
+ primary-hover: "#333333"
20
+ brand: "#EB001B"
21
+ brand-hover: "#C8001A"
22
+ accent-yellow: "#F79E1B"
23
+ accent-orange: "#FF5F00"
24
+ canvas: "#FFFFFF"
25
+ surface: "#F7F7F7"
26
+ foreground: "#141413"
27
+ body: "#5A5A5A"
28
+ muted: "#767676"
29
+ placeholder: "#999999"
30
+ hairline: "#E0E0E0"
31
+ border-strong: "#CCCCCC"
32
+ on-primary: "#FFFFFF"
33
+ success: "#008A00"
34
+ error: "#EB001B"
35
+ info: "#1A73E8"
36
+ typography:
37
+ family: { sans: "Mark", mono: "SF Mono" }
38
+ display-hero: { size: 56, weight: 700, lineHeight: 1.14, tracking: -0.02, use: "Marketing hero headlines" }
39
+ display-large: { size: 40, weight: 700, lineHeight: 1.20, tracking: -0.01, use: "Page titles, key statements" }
40
+ heading-1: { size: 32, weight: 700, lineHeight: 1.25, tracking: -0.01, use: "Section headers" }
41
+ heading-2: { size: 24, weight: 600, lineHeight: 1.33, use: "Sub-sections, card headers" }
42
+ heading-3: { size: 20, weight: 600, lineHeight: 1.40, use: "Feature titles, list headers" }
43
+ subtitle: { size: 18, weight: 500, lineHeight: 1.44, use: "Lead paragraphs, intros" }
44
+ body-large: { size: 16, weight: 400, lineHeight: 1.63, use: "Primary reading text" }
45
+ body: { size: 14, weight: 400, lineHeight: 1.57, use: "Standard UI text" }
46
+ caption: { size: 12, weight: 400, lineHeight: 1.50, tracking: 0.01, use: "Legal, fine print, metadata" }
47
+ button: { size: 16, weight: 600, lineHeight: 1.0, tracking: 0.01, use: "CTA labels" }
48
+ eyebrow: { size: 12, weight: 700, lineHeight: 1.33, tracking: 0.08, use: "UPPERCASE section kickers" }
49
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64, hero: 96 }
50
+ rounded: { sm: 4, md: 8, lg: 16, full: 9999 }
51
+ shadow:
52
+ subtle: "0 1px 3px rgba(0,0,0,0.08)"
53
+ raised: "0 2px 8px rgba(0,0,0,0.08)"
54
+ elevated: "0 4px 16px rgba(0,0,0,0.10)"
55
+ overlay: "0 16px 48px rgba(0,0,0,0.20)"
56
+ components_harvested: true
57
+ components:
58
+ button-primary: { type: button, bg: "#141413", fg: "#FFFFFF", radius: "24px", height: "48px", padding: "0 28px", font: "16px / 600", hover: "#333333", active: "#000000", disabled: "#CCCCCC bg, #767676 text", use: "Primary CTA across most surfaces" }
59
+ button-red: { type: button, bg: "#EB001B", fg: "#FFFFFF", radius: "24px", height: "48px", padding: "0 28px", font: "16px / 600", hover: "#C8001A", active: "#A30016", use: "High-emphasis brand-forward CTA, hero action" }
60
+ button-secondary: { type: button, bg: "transparent", fg: "#141413", border: "1.5px solid #141413", radius: "24px", height: "48px", padding: "0 28px", font: "16px / 600", hover: "#F7F7F7 bg", use: "Secondary action paired with primary" }
61
+ button-tertiary: { type: button, bg: "none", fg: "#EB001B", font: "16px / 600", hover: "underline + #C8001A", use: "Inline navigation, Read more, low-emphasis" }
62
+ input: { type: input, bg: "#FFFFFF", fg: "#141413", border: "1px solid #CCCCCC", radius: "8px", padding: "14px 16px", font: "16px / 400", focus: "2px #141413 border + outer ring", use: "Standard form input" }
63
+ input-error: { type: input, border: "2px solid #EB001B", font: "12px / 400 #EB001B helper", use: "Validation failure" }
64
+ search: { type: input, bg: "#F7F7F7", border: "1px solid transparent", radius: "9999px", focus: "#CCCCCC border", use: "Global site/product search, leading magnifier" }
65
+ card: { type: card, bg: "#FFFFFF", border: "1px solid #E0E0E0", radius: "12px", padding: "24px", shadow: "0 1px 3px rgba(0,0,0,0.08)", use: "Content modules, feature tiles" }
66
+ card-elevated: { type: card, bg: "#FFFFFF", radius: "16px", padding: "32px", shadow: "0 4px 16px rgba(0,0,0,0.10)", use: "Promotional / hero cards" }
67
+ card-stat: { type: card, bg: "#F7F7F7", radius: "12px", padding: "24px", use: "Metrics, data highlights — number 40px / 700, brand-gradient top bar" }
68
+ badge-brand: { type: badge, bg: "#EB001B", fg: "#FFFFFF", radius: "4px", padding: "4px 8px", font: "12px / 700", use: "NEW, FEATURED uppercase 0.04em" }
69
+ badge-neutral: { type: badge, bg: "#F0F0F0", fg: "#333333", radius: "9999px", padding: "4px 12px", font: "13px / 500", use: "Category, filter chips" }
70
+ badge-success: { type: badge, bg: "rgba(0,138,0,0.12)", fg: "#008A00", radius: "4px", font: "12px / 700", use: "Approved, Completed" }
71
+ tab: { type: tab, fg: "#5A5A5A", font: "16px / 500", active: "#141413 16px / 600, 3px bottom border #EB001B", use: "Section navigation within a page" }
72
+ alert: { type: toast, bg: "#F7F7F7", border: "4px left semantic color", radius: "8px", padding: "16px", font: "14px / 400 #333333", use: "Form-level and page-level messaging" }
73
+ dialog: { type: dialog, bg: "#FFFFFF", radius: "16px", padding: "32px", shadow: "0 16px 48px rgba(0,0,0,0.20)", use: "Confirmations, focused tasks; backdrop rgba(20,20,19,0.6)" }
74
+ toggle: { type: toggle, bg: "#CCCCCC track off, #141413 track on", radius: "9999px", use: "Settings, preferences; thumb #FFFFFF 20px" }
75
+ ---
76
+
77
+ # Design System Inspiration of Mastercard
78
+
79
+ ## 1. Visual Theme & Atmosphere
80
+
81
+ Mastercard is one of the most recognized brands on earth, and its design language is built around a single, indelible asset: the two interlocking circles. Red (`#EB001B`) on the left, yellow-orange (`#F79E1B`) on the right, and a warm orange (`#FF5F00`) where they overlap. That mark — refined to its purest form in the 2016/2019 Pentagram redesign — is the entire visual thesis: two halves coming together to make a connection. The rest of the system is deliberately quiet so the symbol can carry the brand weight.
82
+
83
+ The page itself reads as confident, modern, and institutional-but-warm. Surfaces are predominantly white (`#FFFFFF`) and near-white (`#F7F7F7`), with deep neutral charcoal text (`#1A1A1A` / `#141413`). The red is used sparingly and with intent — it is a brand and accent color, not a UI workhorse painted across every button. Where most fintechs lean on a single saturated brand blue for all interaction, Mastercard reserves its red for moments of emphasis and leans on black/dark CTAs and neutral surfaces for the bulk of the interface. This restraint communicates the brand's positioning: a global payments network that is trustworthy, established, and technologically serious, but human at its core ("Priceless").
84
+
85
+ The typographic voice is the custom **Mark** typeface (commercially **FF Mark**, an early-geometric sans descended from the European grotesques of the 1920s–30s). It is geometric, open, and friendly without being playful — round bowls, generous apertures, a tall x-height that reads cleanly at small sizes on a payment terminal or a banner ad. The brand pairs it with a thoughtful neutral gray scale and a tight, content-forward layout system.
86
+
87
+ **Key Characteristics:**
88
+ - The interlocking-circles mark (`#EB001B` red + `#F79E1B` yellow, `#FF5F00` overlap) as the singular brand anchor
89
+ - Mastercard Red (`#EB001B`) used as an accent and brand color, not a universal UI fill
90
+ - Custom **Mark** typeface (FF Mark / Mark Pro) — geometric, open, humanist-modern sans
91
+ - White and near-white surfaces with deep neutral charcoal text
92
+ - Dark/black primary CTAs; red reserved for emphasis and brand moments
93
+ - Generous whitespace, large editorial hero imagery, full-bleed photography
94
+ - "Priceless" warmth balanced against global-network institutional trust
95
+
96
+ ## 2. Color Palette & Roles
97
+
98
+ ### Primary / Brand
99
+ - **Mastercard Red** (`#EB001B`): The left circle. Primary brand color, accent emphasis, key links, brand moments, error/destructive semantics. Pantone 485 C lineage.
100
+ - **Mastercard Yellow** (`#F79E1B`): The right circle. Secondary brand color, warmth, highlights, gradients. Pantone 1235 C lineage.
101
+ - **Mastercard Orange** (`#FF5F00`): The overlap color where the two circles meet. Used in gradients and as a connective accent between red and yellow.
102
+ - **Pure White** (`#FFFFFF`): Page background, primary card surface.
103
+ - **Deep Charcoal** (`#141413`): Primary heading and high-emphasis text. Near-black, warm-neutral.
104
+
105
+ ### Brand Gradient
106
+ - **Red→Orange→Yellow** (`#EB001B` → `#FF5F00` → `#F79E1B`): The signature brand gradient evoking the circle overlap. Used on hero accents, decorative dividers, and data-viz highlights. Never as body-text color or large flat fills behind paragraphs.
107
+
108
+ ### Semantic
109
+ - **Error Red** (`#EB001B` / `#D11124`): Error states, destructive actions, negative validation. Shares the brand red — context disambiguates.
110
+ - **Success Green** (`#008A00`): Confirmations, positive transaction states, completed flows.
111
+ - **Warning Amber** (`#F79E1B`): Pending, attention-needed, soft warnings (reuses brand yellow).
112
+ - **Info Blue** (`#1A73E8`): Informational notices, secondary links in dense product UI.
113
+
114
+ ### Neutral Scale
115
+ - **Gray 50** (`#F7F7F7`): Lightest surface, section backgrounds, alternating rows.
116
+ - **Gray 100** (`#F0F0F0`): Card fills, disabled surfaces, subtle separation.
117
+ - **Gray 200** (`#E0E0E0`): Default borders, dividers, input outlines.
118
+ - **Gray 300** (`#CCCCCC`): Stronger borders, disabled icon fills.
119
+ - **Gray 400** (`#999999`): Placeholder text, tertiary labels.
120
+ - **Gray 500** (`#767676`): Caption text, secondary metadata (AA on white).
121
+ - **Gray 600** (`#5A5A5A`): Body text, descriptions.
122
+ - **Gray 700** (`#333333`): Emphasized body, sub-headings.
123
+ - **Gray 900** (`#141413`): Headings, strongest text, dark CTAs.
124
+
125
+ ### Surface & Borders
126
+ - **Border Default**: `#E0E0E0` (gray200). Cards, inputs, dividers.
127
+ - **Border Strong**: `#CCCCCC` (gray300). Active/emphasized outlines.
128
+ - **Surface Sunken**: `#F7F7F7` (gray50). Page section backgrounds.
129
+ - **Overlay Scrim**: `rgba(20,20,19,0.6)`. Modal/sheet backdrops — warm-neutral dark.
130
+
131
+ ## 3. Typography Rules
132
+
133
+ ### Font Family
134
+ - **Primary**: `"Mark", "FF Mark", "MarkPro", "Helvetica Neue", Helvetica, Arial, sans-serif`
135
+ - **Fallback system stack**: `-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`
136
+ - **Monospace** (data/code): `"SF Mono", SFMono-Regular, Menlo, Consolas, monospace`
137
+
138
+ Mastercard commissioned a customized cut of FF Mark as its corporate typeface ("Mastercard Mark"). FF Mark is an early-geometric sans (Hannes von Döhren / Christoph Koeberlin, 2013) chosen for its open, geometric warmth — circular `o`, `e`, `c` echoing the brand's circular mark.
139
+
140
+ ### Hierarchy
141
+
142
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
143
+ |------|------|------|--------|-------------|----------------|-------|
144
+ | Display Hero | Mark | 56px | 700 | 64px (1.14) | -0.02em | Marketing hero headlines |
145
+ | Display Large | Mark | 40px | 700 | 48px (1.20) | -0.01em | Page titles, key statements |
146
+ | Heading 1 | Mark | 32px | 700 | 40px (1.25) | -0.01em | Section headers |
147
+ | Heading 2 | Mark | 24px | 600 | 32px (1.33) | normal | Sub-sections, card headers |
148
+ | Heading 3 | Mark | 20px | 600 | 28px (1.40) | normal | Feature titles, list headers |
149
+ | Subtitle | Mark | 18px | 500 | 26px (1.44) | normal | Lead paragraphs, intros |
150
+ | Body Large | Mark | 16px | 400 | 26px (1.63) | normal | Primary reading text |
151
+ | Body | Mark | 14px | 400 | 22px (1.57) | normal | Standard UI text |
152
+ | Caption | Mark | 12px | 400 | 18px (1.50) | 0.01em | Legal, fine print, metadata |
153
+ | Button Label | Mark | 16px | 600 | 1.0 | 0.01em | CTA labels |
154
+ | Eyebrow / Overline | Mark | 12px | 700 | 16px (1.33) | 0.08em | UPPERCASE section kickers |
155
+
156
+ ### Principles
157
+ - **Geometric clarity**: Mark's circular forms echo the brand mark. Keep tracking near-neutral; only tighten large display sizes.
158
+ - **Three working weights**: 400 (body), 600 (emphasis/buttons), 700 (headings). Use 500 sparingly for lead paragraphs.
159
+ - **Uppercase eyebrows**: Section kickers and overlines are uppercase with generous `0.08em` tracking — a recurring Mastercard editorial device.
160
+ - **Restraint with size jumps**: Large, confident display sizes on marketing; tighter, denser scale in product/dashboard UI.
161
+ - **Number legibility**: Transaction amounts and data render at 600+ weight; tabular figures preferred in tables and statements.
162
+
163
+ ## 4. Component Stylings
164
+
165
+ ### Buttons
166
+
167
+ Mastercard's CTA system leads with a **dark (near-black) primary** and reserves red for brand-accent moments. Default height 48px; pill or lightly-rounded geometry depending on surface.
168
+
169
+ **Primary (Dark)**
170
+ - Background: `#141413`
171
+ - Text: `#FFFFFF`
172
+ - Border: none
173
+ - Radius: 24px (pill) on marketing; 8px in product UI
174
+ - Padding: 0 28px
175
+ - Font: 16px / 600 / Mark
176
+ - Hover: `#333333`
177
+ - Active/Pressed: `#000000`
178
+ - Disabled: `#CCCCCC` bg, `#767676` text
179
+ - Use: Primary CTA across most surfaces ("Get started", "Learn more")
180
+
181
+ **Primary (Red / Brand)**
182
+ - Background: `#EB001B`
183
+ - Text: `#FFFFFF`
184
+ - Border: none
185
+ - Radius: 24px / 8px
186
+ - Padding: 0 28px
187
+ - Font: 16px / 600 / Mark
188
+ - Hover: `#C8001A`
189
+ - Active: `#A30016`
190
+ - Use: High-emphasis brand-forward CTA, campaign moments, single hero action
191
+
192
+ **Secondary (Outline)**
193
+ - Background: transparent
194
+ - Text: `#141413`
195
+ - Border: 1.5px solid `#141413`
196
+ - Radius: 24px / 8px
197
+ - Padding: 0 28px
198
+ - Font: 16px / 600 / Mark
199
+ - Hover: bg `#F7F7F7`
200
+ - Use: Secondary action paired with a primary CTA
201
+
202
+ **Tertiary (Text / Link)**
203
+ - Background: none
204
+ - Text: `#EB001B`
205
+ - Border: none
206
+ - Font: 16px / 600 / Mark, often with trailing chevron `›`
207
+ - Hover: underline + `#C8001A`
208
+ - Use: Inline navigation, "Read more", low-emphasis actions
209
+
210
+ **Button on Dark Surface**
211
+ - Background: `#FFFFFF`
212
+ - Text: `#141413`
213
+ - Radius: 24px / 8px
214
+ - Use: CTA placed over photography or dark hero blocks
215
+
216
+ Size scale (height · font · padding · radius): `small` 36px · 14px · 0 20px · 18px; `medium` 44px · 15px · 0 24px · 22px; `large` (default) 48px · 16px · 0 28px · 24px; `xlarge` 56px · 18px · 0 36px · 28px.
217
+
218
+ ### Inputs
219
+
220
+ **Text Field (default)**
221
+ - Background: `#FFFFFF`
222
+ - Text: `#141413`
223
+ - Border: 1px solid `#CCCCCC`
224
+ - Radius: 8px
225
+ - Padding: 14px 16px
226
+ - Font: 16px / 400 / Mark
227
+ - Placeholder: `#999999`
228
+ - Label: 14px / 600 / `#333333`, above the field
229
+ - Focus: border 2px `#141413` (or `#EB001B` on brand surfaces) + subtle outer ring
230
+ - Use: Standard form input
231
+
232
+ **Text Field (error)**
233
+ - Border: 2px solid `#EB001B`
234
+ - Helper text: `#EB001B` 12px below field
235
+ - Use: Validation failure — paired with specific, actionable message
236
+
237
+ **Select / Dropdown**
238
+ - Same base as text field, trailing chevron `#5A5A5A`
239
+ - Radius: 8px, 48px height
240
+ - Use: Country/currency selectors, filters
241
+
242
+ **Search**
243
+ - Background: `#F7F7F7`
244
+ - Border: 1px solid transparent (border `#CCCCCC` on focus)
245
+ - Radius: 24px (pill)
246
+ - Leading magnifier icon `#767676`
247
+ - Use: Global site/product search
248
+
249
+ ### Cards
250
+
251
+ **Standard**
252
+ - Background: `#FFFFFF`
253
+ - Border: 1px solid `#E0E0E0`
254
+ - Radius: 12px
255
+ - Padding: 24px
256
+ - Shadow: `0 1px 3px rgba(0,0,0,0.08)`
257
+ - Use: Content modules, feature tiles, product cards
258
+
259
+ **Elevated / Featured**
260
+ - Background: `#FFFFFF`
261
+ - Border: none
262
+ - Radius: 16px
263
+ - Padding: 32px
264
+ - Shadow: `0 4px 16px rgba(0,0,0,0.10)`
265
+ - Use: Promotional / hero cards, key offers
266
+
267
+ **Image Card**
268
+ - Background: `#FFFFFF`
269
+ - Border: none
270
+ - Radius: 16px (image fills top, content below)
271
+ - Shadow: `0 2px 8px rgba(0,0,0,0.08)`
272
+ - Use: Editorial / story cards with full-bleed top imagery
273
+
274
+ **Stat / Data Card**
275
+ - Background: `#F7F7F7`
276
+ - Border: none
277
+ - Radius: 12px
278
+ - Padding: 24px
279
+ - Accent: brand-gradient top bar or red figure
280
+ - Use: Metrics, data highlights — large number 40px / 700
281
+
282
+ ### Badges & Tags
283
+
284
+ **Brand Badge**
285
+ - Background: `#EB001B`
286
+ - Text: `#FFFFFF`
287
+ - Radius: 4px
288
+ - Padding: 4px 8px
289
+ - Font: 12px / 700 / Mark, uppercase, `0.04em` tracking
290
+ - Use: "NEW", "FEATURED"
291
+
292
+ **Neutral Tag**
293
+ - Background: `#F0F0F0`
294
+ - Text: `#333333`
295
+ - Radius: 16px (pill)
296
+ - Padding: 4px 12px
297
+ - Font: 13px / 500 / Mark
298
+ - Use: Category, filter chips
299
+
300
+ **Success Badge**
301
+ - Background: `rgba(0,138,0,0.12)`
302
+ - Text: `#008A00`
303
+ - Radius: 4px
304
+ - Font: 12px / 700 / Mark
305
+ - Use: "Approved", "Completed"
306
+
307
+ ### Tabs
308
+
309
+ **Underline Tabs**
310
+ - Container border-bottom: 1px `#E0E0E0`
311
+ - Inactive: `#5A5A5A`, 16px / 500
312
+ - Active: `#141413`, 16px / 600, 3px underline in `#EB001B`
313
+ - Use: Section navigation within a page
314
+
315
+ ### Toasts / Alerts
316
+
317
+ **Inline Alert**
318
+ - Background: `#F7F7F7` (info) / `rgba(235,0,27,0.08)` (error) / `rgba(0,138,0,0.10)` (success)
319
+ - Leading icon in semantic color, left border 4px in semantic color
320
+ - Radius: 8px, Padding: 16px
321
+ - Text: 14px / 400 / `#333333`
322
+ - Use: Form-level and page-level messaging
323
+
324
+ ### Dialogs
325
+
326
+ **Modal**
327
+ - Background: `#FFFFFF`
328
+ - Radius: 16px
329
+ - Padding: 32px
330
+ - Shadow: `0 16px 48px rgba(0,0,0,0.20)`
331
+ - Backdrop: `rgba(20,20,19,0.6)`
332
+ - Title 24px / 700, body 16px / 400, actions right-aligned
333
+ - Use: Confirmations, focused tasks
334
+
335
+ ### Toggles
336
+
337
+ **Switch**
338
+ - On: `#141413` track (or `#008A00` for active/enabled semantics)
339
+ - Off: `#CCCCCC` track
340
+ - Thumb: `#FFFFFF` 20px circle, `0 1px 2px rgba(0,0,0,0.2)`
341
+ - Radius: pill
342
+ - Use: Settings, preferences
343
+
344
+ ---
345
+
346
+
347
+ **Tier 1 sources:** https://www.mastercard.com (live production site, verified via live DOM getComputedStyle).
348
+
349
+ ## 5. Layout Principles
350
+
351
+ ### Spacing System
352
+ - Base unit: 8px
353
+ - Scale: 4, 8, 12, 16, 24, 32, 48, 64, 96px
354
+ - Section vertical rhythm: 64–96px between major marketing sections
355
+ - Card internal padding: 24–32px
356
+
357
+ ### Grid & Container
358
+ - Max content width: 1280px, centered
359
+ - 12-column grid, 24px gutters on desktop
360
+ - Horizontal page margin: 24px mobile, 48px+ desktop
361
+ - Marketing sections frequently full-bleed with inner constrained content
362
+
363
+ ### Whitespace Philosophy
364
+ - **Let the mark breathe**: The logo and brand moments are surrounded by generous clear space (minimum clear space = height of one circle on all sides).
365
+ - **Editorial generosity**: Marketing pages use large hero whitespace and confident imagery — premium, uncluttered.
366
+ - **Product density**: Dashboards and statements tighten to 8–16px gaps for scannable data.
367
+
368
+ ### Border Radius Scale
369
+ - Compact (4px): badges, tags-square, small chips
370
+ - Standard (8px): inputs, product buttons, small cards
371
+ - Comfortable (12px): standard cards
372
+ - Large (16px): featured cards, modals, image cards
373
+ - Pill (24px / 9999px): marketing CTAs, search, toggles, filter chips
374
+
375
+ ## 6. Depth & Elevation
376
+
377
+ | Level | Treatment | Use |
378
+ |-------|-----------|-----|
379
+ | Flat (0) | No shadow | Page background, sunken sections |
380
+ | Subtle (1) | `0 1px 3px rgba(0,0,0,0.08)` | Standard cards, list separation |
381
+ | Raised (2) | `0 2px 8px rgba(0,0,0,0.08)` | Image cards, hover-lifted tiles |
382
+ | Elevated (3) | `0 4px 16px rgba(0,0,0,0.10)` | Featured cards, dropdowns, popovers |
383
+ | Overlay (4) | `0 16px 48px rgba(0,0,0,0.20)` | Modals, dialogs, command menus |
384
+
385
+ **Shadow Philosophy**: Shadows are neutral, single-layer, low-opacity black — quiet by design. Depth communicates hierarchy without drama; the brand mark and color provide the visual energy, so elevation stays understated. Cards on marketing pages often rely on a 1px `#E0E0E0` border instead of shadow for crisp, flat modernity.
386
+
387
+ ### Blur Effects
388
+ - Sticky header gains a subtle backdrop blur (`backdrop-filter: blur(8px)`) with `rgba(255,255,255,0.85)` on scroll.
389
+ - Modal backdrops are a flat scrim, not blurred, keeping focus sharp.
390
+
391
+ ## 7. Do's and Don'ts
392
+
393
+ ### Do
394
+ - Protect the interlocking-circles mark with full clear space; never crop or distort it
395
+ - Use Mastercard Red (`#EB001B`) as an accent and brand moment, not a universal button fill
396
+ - Lead with dark (`#141413`) primary CTAs; reserve red for the single hero action
397
+ - Pair red and yellow only through the official overlap orange (`#FF5F00`) in gradients
398
+ - Use the Mark typeface with its geometric, open letterforms; keep tracking near-neutral
399
+ - Use uppercase eyebrows with `0.08em` tracking for section kickers
400
+ - Keep surfaces white / near-white with deep charcoal text for institutional clarity
401
+
402
+ ### Don't
403
+ - Don't paint red across every interactive element — it dilutes the brand and hurts hierarchy
404
+ - Don't place red and yellow text/fills adjacent without the orange transition (clashes)
405
+ - Don't use heavy or colored shadows — elevation stays neutral and quiet
406
+ - Don't distort, recolor, or add effects to the circles mark
407
+ - Don't use bold (700) for body copy — reserved for headings and key numbers
408
+ - Don't crowd the logo; respect minimum clear space
409
+ - Don't mix in off-brand accent hues; the palette is red/yellow/orange + neutrals + semantics only
410
+
411
+ ## 8. Responsive Behavior
412
+
413
+ ### Breakpoints
414
+ | Name | Width | Key Changes |
415
+ |------|-------|-------------|
416
+ | Mobile | <640px | Single column, 24px margins, stacked CTAs, hamburger nav |
417
+ | Tablet | 640–1024px | 2-column grids, condensed nav |
418
+ | Desktop | 1024–1280px | Full 12-col grid, mega-menu nav |
419
+ | Wide | >1280px | Centered 1280px container, expanded hero imagery |
420
+
421
+ ### Touch Targets
422
+ - Buttons: minimum 44px height on touch
423
+ - Nav/list rows: minimum 48px
424
+ - Icon buttons: 44×44px hit area
425
+
426
+ ### Collapsing Strategy
427
+ - Desktop mega-menu collapses to a full-screen mobile drawer
428
+ - Multi-column card grids reflow 3 → 2 → 1
429
+ - Side-by-side hero (text + image) stacks vertically on mobile
430
+ - Sticky bottom CTA bar on key conversion flows (mobile)
431
+
432
+ ### Image Behavior
433
+ - Hero photography is full-bleed, art-directed per breakpoint
434
+ - Partner/bank/card-art logos sized consistently (24–40px) within rows
435
+ - The circles mark scales but never below its legibility minimum; clear space preserved
436
+
437
+ ## 9. Agent Prompt Guide
438
+
439
+ ### Quick Color Reference
440
+ - Brand Red: `#EB001B`
441
+ - Brand Yellow: `#F79E1B`
442
+ - Overlap Orange: `#FF5F00`
443
+ - Primary CTA (dark): `#141413`
444
+ - Background: `#FFFFFF`
445
+ - Surface Sunken: `#F7F7F7`
446
+ - Heading text: `#141413`
447
+ - Body text: `#5A5A5A`
448
+ - Caption / placeholder: `#999999`
449
+ - Border: `#E0E0E0`
450
+ - Success: `#008A00`
451
+ - Error: `#EB001B`
452
+
453
+ ### Example Component Prompts
454
+ - "Create a Mastercard hero: white bg, eyebrow 12px/700 uppercase `0.08em` tracking in `#EB001B`, headline 56px/700 `#141413` Mark, subtitle 18px/500 `#5A5A5A`, dark pill CTA `#141413` white text 16px/600 24px radius. Right side: full-bleed art-directed photo."
455
+ - "Build a feature card: white bg, 1px `#E0E0E0` border, 12px radius, 24px padding. Title 20px/600 `#141413`, body 14px/400 `#5A5A5A`, tertiary link in `#EB001B` 16px/600 with trailing chevron."
456
+ - "Design a stat card: `#F7F7F7` bg, 12px radius, brand-gradient top bar (`#EB001B`→`#FF5F00`→`#F79E1B`). Number 40px/700 `#141413`, label 14px/400 `#767676` uppercase eyebrow above."
457
+ - "Create a payment form input: white bg, 1px `#CCCCCC` border, 8px radius, 14px/16px padding, label 14px/600 `#333333` above. Focus: 2px `#141413` border. Error: 2px `#EB001B` border + `#EB001B` helper text."
458
+ - "Build a primary + secondary CTA pair: primary 48px dark `#141413` pill, secondary 48px outline 1.5px `#141413` transparent, both 16px/600 Mark, 28px h-padding."
459
+
460
+ ### Iteration Guide
461
+ 1. Use the Mark / FF Mark font stack with geometric fallbacks
462
+ 2. Red (`#EB001B`) is accent + brand, NOT the default button color — dark `#141413` is primary
463
+ 3. Surfaces are white / `#F7F7F7`; text is `#141413` / `#5A5A5A`
464
+ 4. Brand gradient is red→orange→yellow; never red beside yellow without the orange transition
465
+ 5. Border-radius: 8px product, 12px cards, 16px modals, 24px marketing pills
466
+ 6. Shadows are neutral, single-layer, low-opacity; prefer 1px borders for flat modernity
467
+ 7. Uppercase eyebrows with `0.08em` tracking for section kickers
468
+
469
+ ---
470
+
471
+ ## 10. Voice & Tone
472
+
473
+ Mastercard's voice is confident, human, and optimistic — the "Priceless" sensibility. It speaks to a global audience as a trusted enabler of connection and commerce, never as a faceless processor. Sentences are clear and active; jargon ("interchange", "tokenization") is reserved for B2B/developer contexts and explained when used. Marketing leans aspirational and emotive; product UI is precise and reassuring.
474
+
475
+ | Context | Tone |
476
+ |---|---|
477
+ | Hero / campaign | Aspirational, human, short. "Start something priceless." "There are some things money can't buy." |
478
+ | CTAs | Action-forward, plain verbs. "Get started", "Learn more", "Find a card", "Contact us". |
479
+ | Product / dashboard | Precise, calm, reassuring. States outcomes plainly. |
480
+ | Success messages | Affirmative, brief. "Payment complete." "You're all set." |
481
+ | Error messages | Specific, blameless, actionable. Never just "Something went wrong." |
482
+ | Security / trust | Confident and concrete — Mastercard leans on its network scale and protection guarantees. |
483
+ | Legal / disclosure | Formal, plain-English regulatory tone. |
484
+
485
+ **Forbidden patterns.** Avoid hype clichés ("revolutionary", "game-changing"), fear-based security messaging, and cold processor-speak in consumer contexts. The brand sells connection and possibility, not anxiety.
486
+
487
+ ## 11. Brand Narrative
488
+
489
+ Mastercard began in 1966 as "Interbank" / "Master Charge", a cooperative of banks formed to compete with BankAmericard (later Visa). It became **Mastercard** in 1979 and went public in 2006. Today it is a global payments-technology company — not a bank and not a lender — operating one of the world's largest payment networks across 210+ countries, connecting consumers, merchants, banks, governments, and businesses.
490
+
491
+ The interlocking circles have been the constant. The 1968 mark by Frank Aitken established the overlapping red and yellow/orange discs; the design was refined over decades and brought to its modern, flat, near-perfect form by **Pentagram (Michael Bierut)** in 2016, with a further simplification in 2019 that removed the wordmark entirely from many contexts — a confidence reserved for the most recognized symbols on earth (the brand is identified by the circles alone by ~80%+ of consumers). The two circles represent connection: two parties, two halves, coming together. The overlap — that warm orange — is the value created where they meet.
492
+
493
+ The **"Priceless"** platform (launched 1997) reframed a payments brand around human emotion and experience, one of the most enduring campaigns in advertising history. It anchors the brand's warmth: Mastercard is the enabler of meaningful moments, not the transaction itself. More recently the brand has invested in **sonic branding** (the Mastercard melody/sound), accessibility (Touch Card tactile notches), and inclusive product design — extending the identity beyond the visual.
494
+
495
+ The design language must therefore hold two truths simultaneously: the **institutional trust** of a trillion-dollar global network handling the world's money, and the **human warmth** of "Priceless". The system resolves this by keeping the interface calm, clean, and confident (trust) while reserving the vivid red-yellow-orange mark and emotive imagery for the moments that connect (warmth).
496
+
497
+ ## 12. Principles
498
+
499
+ 1. **The mark carries the brand.** The interface is deliberately quiet so the interlocking circles can be the visual hero. Don't compete with the symbol.
500
+ 2. **Red is precious.** Mastercard Red is an accent and a brand moment, not a default fill. Overuse devalues it; scarcity gives it power.
501
+ 3. **Connection over transaction.** The two circles mean two parties meeting. Design should express bringing things together — pairs, overlaps, bridges — not isolated steps.
502
+ 4. **Trust through restraint.** Clean white surfaces, neutral shadows, confident type. Visual noise reads as risk in a payments context.
503
+ 5. **Warmth at the moments that matter.** Emotive imagery and the brand gradient appear at human moments (Priceless), not on every utility screen.
504
+ 6. **Clarity is non-negotiable.** This system touches a global, multilingual, all-ages audience on screens from terminals to billboards. Legibility and plain language win over cleverness.
505
+ 7. **The overlap is the value.** Where red meets yellow, you get orange — the brand's literal expression that value is created in connection. Use the transition deliberately.
506
+ 8. **Accessible by default.** Tactile, sonic, and visual identity work together; contrast, touch targets, and clear states are baseline, not afterthoughts.
507
+
508
+ ## 13. Personas
509
+
510
+ *Personas below are fictional archetypes informed by publicly described global-payments user segments, not individual people.*
511
+
512
+ **Maya, 31, Chicago.** Product designer, taps her phone or card a dozen times a day and never thinks about it — which is the point. She notices the circles on a terminal, an app, a checkout button, and feels a flash of "this is safe." Expects instant, frictionless, beautifully unremarkable payment flows. If a checkout looks janky or asks for too much, she abandons it. Reads English; values speed and obvious trust signals.
513
+
514
+ **Carlos, 47, São Paulo.** Owns a small electronics shop, accepts Mastercard for in-store and online. He cares about getting paid reliably, low dispute friction, and clear settlement. To him the brand means "customers will actually be able to pay, and the money will arrive." He interacts with Mastercard mostly through his acquirer's tools and the network's merchant resources. Values clarity, reliability, and Portuguese-language support.
515
+
516
+ **Priya, 24, London.** Recent grad, first credit card. Mastercard is her introduction to credit, rewards, and protection. She engages with the consumer brand — the app, the "Priceless" experiences, cardholder benefits. Responds to warmth and aspiration, not finance jargon. Wants to feel the brand is on her side (fraud protection, easy disputes) while delivering experiences she couldn't get otherwise.
517
+
518
+ ## 14. States
519
+
520
+ | State | Treatment |
521
+ |---|---|
522
+ | **Empty (no data)** | Centered single line of `#5A5A5A` body text explaining why, plus one primary action (dark CTA). Optional small line-art icon, never a heavy illustration. |
523
+ | **Loading (first paint)** | Skeleton blocks at `#F0F0F0` matching final layout. Optional subtle brand-gradient shimmer sweep. Amounts render as `—` until resolved. |
524
+ | **Loading (action)** | Inline spinner in the button replacing the label; button width preserved; prevents double-submit. Spinner in `#FFFFFF` on dark CTA. |
525
+ | **Error (inline field)** | 2px `#EB001B` border on the field, `#EB001B` 12px helper text below, one specific actionable sentence. |
526
+ | **Error (page/alert)** | Inline alert: `rgba(235,0,27,0.08)` bg, 4px left border `#EB001B`, leading icon, 14px `#333333` text, optional retry CTA. |
527
+ | **Success (confirmation)** | `#008A00` check, brief affirmative copy ("Payment complete"), exact amount in 40px/700 `#141413`, single dark CTA to continue. |
528
+ | **Success (inline flash)** | Brief `rgba(0,138,0,0.10)` background flash behind the updated element, ~300ms fade. |
529
+ | **Warning / pending** | Amber `#F79E1B` accent, `rgba(247,158,27,0.12)` bg alert, clear "what happens next" copy. |
530
+ | **Disabled** | `#CCCCCC` bg, `#767676` text on buttons; inputs keep `#CCCCCC` border at reduced opacity. Geometry stable. |
531
+ | **Focus (keyboard)** | 2px `#141413` outline + 2px offset ring; meets visible-focus accessibility. On brand surfaces, focus ring is `#EB001B`. |
532
+ | **Hover (card)** | Lift to `0 2px 8px rgba(0,0,0,0.08)` + 1px translate-up; cursor pointer; link color deepens to `#C8001A`. |
533
+
534
+ ## 15. Motion & Easing
535
+
536
+ **Durations:**
537
+
538
+ | Token | Value | Use |
539
+ |---|---|---|
540
+ | `motion-instant` | 0ms | State flips where animation adds nothing |
541
+ | `motion-fast` | 150ms | Hover, focus, button press, small reveals |
542
+ | `motion-standard` | 250ms | Default — dropdowns, card expand, tab switch |
543
+ | `motion-emphasis` | 400ms | Hero reveals, success confirmations, modal entrance |
544
+ | `motion-page` | 350ms | Route / full-screen transitions |
545
+
546
+ **Easings:**
547
+
548
+ | Token | Curve | Use |
549
+ |---|---|---|
550
+ | `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Elements appearing — modals, toasts, menus |
551
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Elements leaving — dismissals |
552
+ | `ease-standard` | `cubic-bezier(0.4, 0.0, 0.2, 1)` | Two-way transitions — accordions, tabs |
553
+ | `ease-brand` | `cubic-bezier(0.33, 1, 0.68, 1)` | Signature brand moments — circle reveals, gradient sweeps |
554
+
555
+ **Signature motions.**
556
+
557
+ 1. **Circle convergence.** The brand's hero animation: the two circles slide toward each other and overlap, the orange intersection blooming as they meet (`motion-emphasis / ease-brand`). It literally animates "connection". Reserved for brand/loading moments, never decorative UI chrome.
558
+ 2. **Gradient sweep.** On key reveals and progress, a subtle red→orange→yellow gradient sweep animates across a divider or bar (`motion-standard`). Used sparingly as a brand accent.
559
+ 3. **Confirmation bloom.** Success checkmarks draw on over `motion-emphasis` with `ease-brand`, a confident but unfussy settle. Money moved is a clear screen state, calmly delivered.
560
+ 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all tokens collapse to `motion-instant`; the circle convergence and gradient sweeps are replaced by static end-states. The product stays fully usable.
561
+
562
+ <!--
563
+ OmD v0.1 Sources — Mastercard
564
+
565
+ Token grounding:
566
+ - Brand colors EB001B (red), FF5F00 (orange/overlap), F79E1B (yellow) confirmed via
567
+ Mastercard Brand Center / brandcolorcode.com and the task brief. These are the
568
+ canonical interlocking-circles colors (2016/2019 Pentagram mark).
569
+ - Typeface: Mastercard uses a customized cut of FF Mark (geometric sans by
570
+ Hannes von Döhren / Christoph Koeberlin), referenced in brand guidelines as the
571
+ corporate type. "Mark Pro / FF Mark" used in the font stack.
572
+ - Neutral scale, button/card/input geometry, and elevation are editorial syntheses
573
+ consistent with Mastercard's public marketing surfaces (white/near-white surfaces,
574
+ dark-led CTAs, red as accent) — homepage WebFetch returned HTTP 403, so live-DOM
575
+ token extraction was not possible; values are grounded in brand-guideline color/
576
+ type facts plus standard fintech-marketing layout conventions.
577
+
578
+ Brand narrative facts (Interbank/Master Charge 1966, Mastercard 1979, 2006 IPO,
579
+ Pentagram 2016 redesign + 2019 wordmark removal, "Priceless" 1997, sonic branding,
580
+ Touch Card) are widely documented public history.
581
+
582
+ Personas (§13) are fictional archetypes informed by publicly described global
583
+ payments user segments. Any resemblance to specific individuals is unintended.
584
+
585
+ Interpretive claims (e.g., "the overlap is the value", "red is precious") are
586
+ editorial readings of the design system, not documented Mastercard statements.
587
+ -->
@@ -10,6 +10,48 @@ logo:
10
10
  slug: "https://www.google.com/s2/favicons?domain=meituan.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
+ brand: "#ffc300"
18
+ brand-alt: "#ffd100"
19
+ brand-pressed: "#f5b800"
20
+ brand-tint: "#fff8e0"
21
+ on-brand: "#222222"
22
+ price: "#ff4b10"
23
+ price-alt: "#ff5722"
24
+ coupon: "#ff2d55"
25
+ rating-gold: "#ffb000"
26
+ page-ground: "#f5f5f5"
27
+ card: "#ffffff"
28
+ text-secondary: "#888888"
29
+ text-hint: "#bbbbbb"
30
+ border: "#eeeeee"
31
+ divider: "#f2f2f2"
32
+ success: "#52c41a"
33
+ error: "#ff4d4f"
34
+ warning: "#faad14"
35
+ typography:
36
+ family: { sans: "PingFang SC", mono: "PingFang SC" }
37
+ header: { size: 18, weight: 600, use: "Section/page titles, merchant detail name" }
38
+ merchant: { size: 16, weight: 500, use: "Merchant name on card, one-line ellipsized" }
39
+ price: { size: 18, weight: 700, use: "Price, the loud number" }
40
+ body: { size: 14, weight: 400, use: "Body, category, deal description" }
41
+ meta: { size: 13, weight: 400, use: "Distance, delivery time, rating count" }
42
+ badge: { size: 11, weight: 500, use: "Deal tags, coupon chips" }
43
+ spacing: { xs: 2, sm: 6, md: 8, base: 10, lg: 16, xl: 20, xxl: 32, section: 48 }
44
+ rounded: { sm: 4, md: 8, lg: 20, full: 9999 }
45
+ shadow:
46
+ none: "none"
47
+ components:
48
+ button-primary: { type: button, bg: "#ffc300", fg: "#222222", radius: 8, padding: "10px 20px", font: "15px/500", use: "Primary CTA Order/Pay, dark text on yellow" }
49
+ button-secondary: { type: button, bg: "#ffffff", fg: "#222222", radius: 8, padding: "10px 20px", font: "15px/500", use: "Ghost/outline secondary action" }
50
+ coupon-chip: { type: badge, bg: "#fff8e0", fg: "#ff4b10", radius: 4, padding: "2px 8px", font: "12px/500", use: "Discount/coupon flag" }
51
+ search-input: { type: input, bg: "#ffffff", fg: "#222222", radius: 20, padding: "8px 16px", font: "14px/400", use: "Top pill search bar" }
52
+ merchant-card: { type: card, bg: "#ffffff", radius: 8, padding: "10px", use: "Merchant feed card unit" }
53
+ deal-tag: { type: badge, bg: "#ff4b10", fg: "#ffffff", radius: 4, padding: "2px 6px", font: "11px/500", use: "Deal/activity flag" }
54
+ components_harvested: true
13
55
  ---
14
56
 
15
57
  # Design System Inspiration of Meituan