oh-my-design-cli 1.6.7 → 1.7.1

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 (229) hide show
  1. package/README.ko.md +17 -36
  2. package/README.md +6 -6
  3. package/agents/AGENT.md +3 -3
  4. package/agents/omd-master.md +7 -7
  5. package/agents/omd-microcopy.md +1 -1
  6. package/agents/omd-ux-researcher.md +1 -1
  7. package/data/reference-fingerprints.json +1318 -10
  8. package/package.json +1 -1
  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
@@ -16,6 +16,64 @@ ds:
16
16
  type: brand
17
17
  description: Airbnb's brand guidelines hub with logo, color, and visual identity rules.
18
18
  og_image: "https://firebasestorage.googleapis.com/v0/b/standards-site-beta.appspot.com/o/documents%2Fa130cd31136%2F099b28f7432%2Fmeta%2Fstandards---project-thumbnail.png?alt=media&token=b1ee4a9a-cb2a-4dd9-ae43-01dd309d6f17"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-08"
22
+ note: "primary = live Rausch Red #ff385c (--palette-bg-primary-core); brand frontmatter primary_color is legacy Rausch #ff5a5f; single brand voltage, photography-first"
23
+ colors:
24
+ primary: "#ff385c"
25
+ primary-active: "#e00b41"
26
+ brand: "#ff5a5f"
27
+ luxe: "#460479"
28
+ plus: "#92174d"
29
+ canvas: "#ffffff"
30
+ foreground: "#222222"
31
+ focused: "#3f3f3f"
32
+ body: "#6a6a6a"
33
+ muted: "#929292"
34
+ on-primary: "#ffffff"
35
+ error: "#c13515"
36
+ error-hover: "#b32505"
37
+ link: "#428bff"
38
+ hairline: "#dddddd"
39
+ border: "#c1c1c1"
40
+ surface: "#f2f2f2"
41
+ placeholder: "#717171"
42
+ disabled-bg: "#dddddd"
43
+ typography:
44
+ family: { sans: "Airbnb Cereal VF", fallback: "Circular, -apple-system, system-ui, Roboto, Helvetica Neue" }
45
+ section-heading: { size: 28, weight: 700, lineHeight: 1.43, use: "Primary headings" }
46
+ card-heading: { size: 22, weight: 600, lineHeight: 1.18, tracking: -0.44, use: "Category / card titles" }
47
+ card-heading-medium: { size: 22, weight: 500, lineHeight: 1.18, tracking: -0.44, use: "Lighter card-title variant" }
48
+ subheading: { size: 21, weight: 700, lineHeight: 1.43, use: "Bold sub-headings" }
49
+ feature-title: { size: 20, weight: 600, lineHeight: 1.20, tracking: -0.18, use: "Feature headings" }
50
+ ui-medium: { size: 16, weight: 500, lineHeight: 1.25, use: "Nav, emphasized text" }
51
+ ui-semibold: { size: 16, weight: 600, lineHeight: 1.25, use: "Strong emphasis" }
52
+ button: { size: 16, weight: 500, lineHeight: 1.25, use: "Button labels" }
53
+ body: { size: 14, weight: 400, lineHeight: 1.43, use: "Standard body, links" }
54
+ body-medium: { size: 14, weight: 500, lineHeight: 1.29, use: "Medium body" }
55
+ caption-salt: { size: 14, weight: 600, lineHeight: 1.43, use: "Caption with salt feature" }
56
+ small: { size: 13, weight: 400, lineHeight: 1.23, use: "Descriptions" }
57
+ tag: { size: 12, weight: 400, lineHeight: 1.33, use: "Tags, prices" }
58
+ badge: { size: 11, weight: 600, lineHeight: 1.18, use: "Badge with salt feature" }
59
+ micro-uppercase: { size: 8, weight: 700, lineHeight: 1.25, tracking: 0.32, use: "Uppercase micro labels" }
60
+ spacing: { xs: 4, sm: 8, base: 16, md: 22, lg: 24, xl: 32 }
61
+ rounded: { sm: 4, md: 8, badge: 14, lg: 20, xl: 32, full: 9999 }
62
+ shadow:
63
+ card: "rgba(0,0,0,0.02) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 6px, rgba(0,0,0,0.1) 0px 4px 8px"
64
+ hover: "rgba(0,0,0,0.08) 0px 4px 12px"
65
+ listing-hover: "rgba(0,0,0,0.12) 0px 8px 24px"
66
+ focus-ring: "rgb(255,255,255) 0px 0px 0px 4px"
67
+ components_harvested: true
68
+ components:
69
+ button-primary: { type: button, bg: "#ff385c", fg: "#ffffff", radius: 8, padding: "14px 24px", font: "16px/600", use: "primary CTA; active #e00b41; disabled #dddddd" }
70
+ button-secondary: { type: button, bg: "#ffffff", fg: "#222222", radius: 8, use: "secondary action, 1px #222222 border" }
71
+ search-orb: { type: button, bg: "#ff385c", fg: "#ffffff", radius: 9999, use: "48px round search submit, white icon" }
72
+ icon-button-circle: { type: button, bg: "#f2f2f2", fg: "#222222", radius: 9999, use: "32x32 dense circular control" }
73
+ listing-card: { type: card, bg: "#ffffff", radius: 12, use: "no shadow (photography-led); hover scale + listing-hover shadow" }
74
+ card-standard: { type: card, bg: "#ffffff", radius: 12, padding: "24px", use: "three-layer card shadow" }
75
+ search-field: { type: input, bg: "#ffffff", radius: 9999, use: "66px tall header search bar, 1px #dddddd border, pill radius" }
76
+ category-pill: { type: tab, fg: "#222222", font: "14px/500", use: "category nav", active: "2px #222222 bottom border" }
19
77
  ---
20
78
 
21
79
  # Design System Inspiration of Airbnb
@@ -16,6 +16,45 @@ ds:
16
16
  type: brand
17
17
  description: Airtable's trademark usage and brand guidelines.
18
18
  og_image: "https://www.airtable.com/images/airtable-seo.jpg"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-08"
22
+ note: "primary = Airtable Blue (#1b61c9); brand-amber (#fcb400) from primary_color frontmatter. Color belongs to user data, chrome stays neutral."
23
+ colors:
24
+ primary: "#1b61c9"
25
+ accent-blue: "#254fad"
26
+ brand: "#fcb400"
27
+ canvas: "#ffffff"
28
+ surface: "#f8fafc"
29
+ foreground: "#181d26"
30
+ body: "#333333"
31
+ on-primary: "#ffffff"
32
+ hairline: "#e0e2e6"
33
+ success: "#006400"
34
+ typography:
35
+ family: { sans: "Haas", display: "Haas Groot Disp" }
36
+ display-hero: { size: 48, weight: 400, lineHeight: 1.15, use: "Hero headlines" }
37
+ display-bold: { size: 48, weight: 900, lineHeight: 1.50, use: "Bold display, Haas Groot Disp" }
38
+ section: { size: 40, weight: 400, lineHeight: 1.25, use: "Section headings" }
39
+ subheading: { size: 32, weight: 450, lineHeight: 1.20, use: "Sub-headings" }
40
+ card-title: { size: 24, weight: 400, lineHeight: 1.25, tracking: 0.12, use: "Card titles" }
41
+ feature: { size: 20, weight: 400, lineHeight: 1.40, tracking: 0.1, use: "Feature text" }
42
+ body: { size: 18, weight: 400, lineHeight: 1.35, tracking: 0.18, use: "Standard reading text" }
43
+ body-medium: { size: 16, weight: 500, lineHeight: 1.30, tracking: 0.12, use: "Emphasized body" }
44
+ button: { size: 16, weight: 500, lineHeight: 1.28, tracking: 0.08, use: "Button labels" }
45
+ caption: { size: 14, weight: 450, lineHeight: 1.30, tracking: 0.18, use: "Captions, small labels" }
46
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48 }
47
+ rounded: { sm: 2, md: 12, lg: 16, xl: 24, xxl: 32, full: 9999 }
48
+ shadow:
49
+ soft: "rgba(15,48,106,0.05) 0px 0px 20px"
50
+ standard: "rgba(0,0,0,0.32) 0px 0px 1px, rgba(0,0,0,0.08) 0px 0px 2px, rgba(45,127,249,0.28) 0px 1px 3px, rgba(0,0,0,0.06) 0px 0px 0px 0.5px inset"
51
+ components_harvested: true
52
+ components:
53
+ button-primary: { type: button, bg: "#1b61c9", fg: "#ffffff", radius: 12, padding: "16x24", font: "Haas 16/500", use: "primary CTA, blue-tinted lift" }
54
+ button-white: { type: button, bg: "#ffffff", fg: "#181d26", radius: 12, use: "secondary CTA on dark/blue surfaces" }
55
+ card: { type: card, bg: "#ffffff", radius: 16, use: "1px #e0e2e6 border, 24-32 radius featured, blue-tinted multi-layer shadow" }
56
+ input: { type: input, bg: "#ffffff", fg: "#181d26", radius: 12, padding: "12x16", use: "1px #e0e2e6 border" }
57
+ badge: { type: badge, bg: "#f8fafc", fg: "#181d26", radius: 12, font: "Haas 14/500", use: "1px #e0e2e6 border" }
19
58
  ---
20
59
 
21
60
  # Design System Inspiration of Airtable
@@ -15,6 +15,56 @@ ds:
15
15
  url: "https://ant.design"
16
16
  type: system
17
17
  description: The open-source enterprise design system born inside Ant Group (Alipay's parent), now the most influential Chinese design language and one of the most widely adopted React component libraries in the world.
18
+ tokens:
19
+ source: prose-derived
20
+ extracted: "2026-06-08"
21
+ note: "Ant Design v5 token palette (Alipay/Ant shared language); primary = Daybreak Blue #1677FF; color is strictly semantic; neutral text via black-opacity levels"
22
+ colors:
23
+ primary: "#1677FF"
24
+ primary-hover: "#4096FF"
25
+ primary-active: "#0958D9"
26
+ info: "#1677FF"
27
+ canvas: "#F5F5F5"
28
+ container: "#FFFFFF"
29
+ on-primary: "#FFFFFF"
30
+ heading: "#000000"
31
+ body: "#000000"
32
+ disabled: "#000000"
33
+ border: "#D9D9D9"
34
+ split: "#000000"
35
+ fill-hover: "#000000"
36
+ success: "#52C41A"
37
+ warning: "#FAAD14"
38
+ error: "#FF4D4F"
39
+ table-header: "#FAFAFA"
40
+ backdrop: "#000000"
41
+ sider-dark: "#001529"
42
+ typography:
43
+ family: { sans: "-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, sans-serif" }
44
+ heading1: { size: 38, weight: 600, lineHeight: 1.21, use: "Largest heading, marketing/hero titles" }
45
+ heading2: { size: 30, weight: 600, lineHeight: 1.27, use: "Section headings" }
46
+ heading3: { size: 24, weight: 600, lineHeight: 1.33, use: "Sub-section headings" }
47
+ heading4: { size: 20, weight: 600, lineHeight: 1.40, use: "Card / panel titles" }
48
+ heading5: { size: 16, weight: 600, lineHeight: 1.50, use: "Smallest heading, labels" }
49
+ body: { size: 14, weight: 400, lineHeight: 1.5715, use: "Base body, tables, forms — density anchor" }
50
+ large: { size: 16, weight: 400, use: "Large body, emphasized text" }
51
+ small: { size: 12, weight: 400, use: "Captions, status tags, helper text" }
52
+ spacing: { xs: 8, base: 16, lg: 24, marginSM: 12 }
53
+ rounded: { sm: 4, md: 6, lg: 8 }
54
+ shadow:
55
+ tertiary: "0 1px 2px 0 rgba(0,0,0,0.03), 0 1px 6px -1px rgba(0,0,0,0.02), 0 2px 4px 0 rgba(0,0,0,0.02)"
56
+ secondary: "0 6px 16px 0 rgba(0,0,0,0.08), 0 3px 6px -4px rgba(0,0,0,0.12), 0 9px 28px 8px rgba(0,0,0,0.05)"
57
+ elevated: "0 6px 16px 0 rgba(0,0,0,0.08)"
58
+ components_harvested: true
59
+ components:
60
+ button-primary: { type: button, bg: "#1677FF", fg: "#FFFFFF", radius: 6, padding: "4px 15px", font: "14px/400", use: "primary CTA, hover #4096FF, active #0958D9, wave ripple" }
61
+ button-default: { type: button, bg: "#FFFFFF", fg: "#000000", radius: 6, use: "1px #D9D9D9 border, hover shifts to #4096FF" }
62
+ button-danger: { type: button, bg: "#FF4D4F", fg: "#FFFFFF", radius: 6, use: "destructive confirm" }
63
+ input: { type: input, bg: "#FFFFFF", radius: 6, use: "1px #D9D9D9 border, height 32px, focus #1677FF, error #FF4D4F" }
64
+ card: { type: card, bg: "#FFFFFF", radius: 8, padding: "24px", use: "1px #D9D9D9 border, boxShadowTertiary on hover" }
65
+ table: { type: card, bg: "#FFFFFF", fg: "#000000", use: "#FAFAFA header, low-alpha dividers + hover fill, 16px cell pad" }
66
+ status-tag: { type: badge, fg: "#52C41A", radius: 4, padding: "0 7px", font: "12px/400", use: "status color at low alpha, semantic only" }
67
+ modal: { type: dialog, bg: "#FFFFFF", radius: 8, padding: "20px 24px", use: "low-alpha backdrop, elevated boxShadow" }
18
68
  ---
19
69
 
20
70
  # Design System Inspiration of Alipay
@@ -0,0 +1,434 @@
1
+ ---
2
+ id: amazingtalker
3
+ name: AmazingTalker
4
+ country: TW
5
+ category: consumer-tech
6
+ homepage: "https://www.amazingtalker.com"
7
+ primary_color: "#02cab9"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=amazingtalker.com&sz=128"
11
+ verified: "2026-06-08"
12
+ added: "2026-06-08"
13
+ omd: "0.1"
14
+ tokens:
15
+ source: live-extract
16
+ extracted: "2026-06-08"
17
+ note: "primary = live teal CTA fill #02cab9 (rgb 2,202,185); coral #ff5f5f is the secondary energy accent; body text #484848 across both en. and tw. surfaces"
18
+ colors:
19
+ primary: "#02cab9"
20
+ primary-deep: "#02b3a4"
21
+ coral: "#ff5f5f"
22
+ coral-soft: "#ffe5e5"
23
+ canvas: "#ffffff"
24
+ surface: "#f3f5f7"
25
+ surface-alt: "#fbfbfb"
26
+ heading: "#363636"
27
+ body: "#484848"
28
+ muted: "#767676"
29
+ slate: "#909399"
30
+ on-primary: "#ffffff"
31
+ hairline: "#dcdfe6"
32
+ hairline-soft: "#ebebeb"
33
+ typography:
34
+ family: { sans: "Roboto", cjk: "Helvetica Neue, PingFang, Microsoft JhengHei" }
35
+ display-hero: { size: 50, weight: 600, lineHeight: 1.30, tracking: 0, use: "Hero H1 over imagery, white text, friendly authority" }
36
+ section: { size: 31, weight: 500, lineHeight: 1.50, tracking: 0, use: "Feature section titles, e.g. 4 reasons to learn" }
37
+ section-cjk: { size: 30, weight: 500, lineHeight: 1.50, tracking: 0, use: "CJK section titles on Helvetica/PingFang stack" }
38
+ subhead: { size: 24, weight: 400, lineHeight: 1.30, tracking: 0, use: "Hero subtitle, card category heads" }
39
+ body-lg: { size: 18, weight: 300, lineHeight: 1.50, tracking: 0, use: "Price labels, intro lines" }
40
+ body: { size: 16, weight: 400, lineHeight: 1.50, tracking: 0, use: "Standard reading text, nav links" }
41
+ button: { size: 20, weight: 400, lineHeight: 1.50, tracking: 0, use: "Primary hero CTA label" }
42
+ button-sm: { size: 14, weight: 400, lineHeight: 1.50, tracking: 0, use: "Header utility buttons, Sign In" }
43
+ caption: { size: 14, weight: 400, lineHeight: 1.50, use: "Small labels, helper text" }
44
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 18, xl: 24, xxl: 36, section: 64 }
45
+ rounded: { sm: 3, md: 5, lg: 8, full: 9999 }
46
+ shadow:
47
+ ambient: "rgba(0,0,0,0.06) 0px 2px 8px"
48
+ standard: "rgba(0,0,0,0.10) 0px 4px 16px"
49
+ elevated: "rgba(0,0,0,0.12) 0px 8px 28px"
50
+ components_harvested: true
51
+ components:
52
+ button-primary: { type: button, bg: "#02cab9", fg: "#ffffff", radius: 5, font: "Roboto 20px/400", use: "hero primary CTA" }
53
+ button-primary-cta: { type: button, bg: "#02cab9", fg: "#ffffff", radius: 3, padding: "8px 18px", font: "24px/300", use: "section CTA" }
54
+ button-ghost: { type: button, fg: "#484848", use: "header utility actions (Sign In, Apply To Teach), no border" }
55
+ card-course: { type: card, bg: "#ffffff", fg: "#484848", radius: 8, use: "ambient shadow, image top + price label" }
56
+ accent-coral: { type: badge, bg: "#ffe5e5", fg: "#ff5f5f", use: "badges, highlights, urgency tags, soft tint background" }
57
+ nav-link: { type: tab, font: "Roboto 16px/400", use: "nav link", active: "teal #02cab9 on active/hover" }
58
+ ---
59
+
60
+ # Design System Inspiration of AmazingTalker
61
+
62
+ ## 1. Visual Theme & Atmosphere
63
+
64
+ AmazingTalker is a Taiwanese language-learning marketplace, and its design speaks the language of friendly, approachable confidence rather than institutional gravity. The page opens on a clean white canvas (`#ffffff`) with a single, unmistakable brand signal: a bright aquatic teal (`#02cab9`) that owns every primary call-to-action. This is not the corporate blue of legacy ed-tech, nor the playful primary-color chaos of consumer apps — it is one saturated, optimistic teal carried with discipline across every surface, from the `en.` global site to the `tw.` Traditional-Chinese home that anchors the brand in Taiwan. The atmosphere is warm, human, and conversion-focused: large hero imagery of real tutors, generous white CTAs, and a layout that always knows what it wants you to click next.
65
+
66
+ The typographic foundation is `Roboto` — Google's humanist workhorse — used at a friendly weight 600 for the 50px hero headline ("Languages and learning made fun"). On CJK section titles the stack gracefully falls back to `Helvetica Neue`, `PingFang`, and `Microsoft JhengHei`, the standard high-quality Traditional-Chinese rendering chain. This dual-script awareness is core to the brand: a marketplace serving Taiwan, Korea, Japan, and the broader Asian language market must read beautifully in both Latin and CJK, and AmazingTalker's font strategy treats that as a first-class concern rather than an afterthought.
67
+
68
+ Where Stripe whispers and Apple subtracts, AmazingTalker reassures. The secondary accent — a warm coral (`#ff5f5f`) — appears for badges, highlights, and moments of energy, providing emotional counterweight to the cool teal. The result is a palette that feels like a conversation between calm competence (teal) and human warmth (coral), set on abundant white, with body copy in a soft near-black slate (`#484848`) that never bites the way pure black would.
69
+
70
+ **Key Characteristics:**
71
+ - One disciplined brand teal (`#02cab9`) owning all primary CTAs across en./tw. surfaces
72
+ - Coral (`#ff5f5f`) as the warm secondary accent for badges, urgency, and highlights
73
+ - `Roboto` as the Latin workhorse; `Helvetica Neue / PingFang / Microsoft JhengHei` for CJK
74
+ - Soft slate body text (`#484848`) instead of pure black — friendlier, warmer reading
75
+ - Conservative small radii (3px–5px on buttons, 8px on cards) — approachable, not aggressive
76
+ - White-dominant canvas with light-gray (`#f3f5f7`) surface alternation for rhythm
77
+ - Conversion-first hero: real tutor imagery, white overlay text, large teal CTA
78
+ - Dual-script discipline — the design assumes both Latin and Traditional-Chinese readers
79
+
80
+ ## 2. Color Palette & Roles
81
+
82
+ ### Primary
83
+ - **Brand Teal** (`#02cab9`): The signature. Primary CTA backgrounds ("English tutors", "Match me with tutors", "開始挑選教師吧!"), active nav state, link highlights. A bright, saturated aquatic teal (rgb 2,202,185) that anchors the entire identity.
84
+ - **Teal Deep** (`#02b3a4`): Pressed / hover-darkened variant of the primary teal for interactive feedback on CTAs.
85
+ - **Pure White** (`#ffffff`): Page background, card surfaces, and the text color sitting on every teal button.
86
+
87
+ ### Accent
88
+ - **Coral** (`#ff5f5f`): The warm energy accent (rgb 255,95,95). Badges, urgency tags, highlight numbers, decorative emphasis. Provides emotional warmth against the cool teal.
89
+ - **Coral Soft** (`#ffe5e5`): Tinted coral surface (derived from coral at low alpha, `rgba(255,95,95,0.1)` observed live) for highlight-card backgrounds and badge fills.
90
+
91
+ ### Neutral Scale
92
+ - **Heading** (`#363636`): Darkest text tone (rgb 54,54,54). Strong section titles, emphasis labels.
93
+ - **Body** (`#484848`): The dominant text color (rgb 72,72,72) — by far the most-used color on the page. Standard reading copy, price labels, nav.
94
+ - **Muted** (`#767676`): Secondary text (rgb 118,118,118). Descriptions, metadata, helper copy.
95
+ - **Slate** (`#909399`): Icon and tertiary-detail gray (rgb 144,147,153). Inactive icons, subtle markers.
96
+
97
+ ### Surface & Borders
98
+ - **Surface** (`#f3f5f7`): Light cool-gray section background (rgb 243,245,247) for alternating bands and grouped content.
99
+ - **Surface Alt** (`#fbfbfb`): Near-white surface for subtle card separation.
100
+ - **Hairline** (`#dcdfe6`): Standard border / divider color (rgb 220,223,230) for cards and inputs.
101
+ - **Hairline Soft** (`#ebebeb`): Lightest divider for low-emphasis separation.
102
+
103
+ ### On-Brand
104
+ - **On Primary** (`#ffffff`): Text and icons on teal and coral fills — always white for maximum contrast and friendliness.
105
+
106
+ **Color budget note.** AmazingTalker runs a tight two-hue identity: teal does all the interactive work, coral provides warmth and urgency, and everything else is a disciplined neutral scale on white. There is no third brand color competing for attention — the restraint is what makes the teal read as confident.
107
+
108
+ ## 3. Typography Rules
109
+
110
+ ### Font Family
111
+ - **Latin Primary**: `Roboto, sans-serif` — humanist, friendly, exceptionally legible at small sizes
112
+ - **CJK Stack**: `"Helvetica Neue", Helvetica, Arial, "PingFang HK", PingFang-SC-Regular, PingFang, "Hiragino Sans GB", STHeiti, "Microsoft JhengHei", sans-serif` — high-quality Traditional/Simplified Chinese rendering chain
113
+ - **No custom webfont**: AmazingTalker deliberately uses system-available and Google fonts, prioritizing fast load and broad CJK coverage over a bespoke typeface
114
+
115
+ ### Hierarchy
116
+
117
+ | Role | Font | Size | Weight | Line Height | Notes |
118
+ |------|------|------|--------|-------------|-------|
119
+ | Hero H1 | Roboto | 50px | 600 | 1.30 (65px) | White over hero imagery — "Languages and learning made fun" |
120
+ | Section Title | Roboto | 31px | 500 | 1.50 (46.5px) | "4 reasons to learn on AmazingTalker" |
121
+ | Section Title (CJK) | Helvetica/PingFang | 30px | 500 | 1.50 (45px) | "Popular Courses", "Who can learn with AmazingTalker?" |
122
+ | Hero Subtitle | Roboto | 24px | 400 | 1.30 (31.2px) | White subhead under the hero H1 |
123
+ | Category Head (H3) | Roboto | 24px | 400 | 1.60 (38.4px) | Course-card category headings ("English tutors") |
124
+ | Body Large | Roboto | 18px | 300 | 1.50 (27px) | Price labels ("₩14,580/lesson"), intro lines |
125
+ | Body | Roboto | 16px | 400 | 1.50 (24px) | Standard reading text, nav links |
126
+ | Primary CTA | Roboto | 20px | 400 | 1.50 (30px) | Hero teal button label |
127
+ | Utility Button | Roboto | 14px | 400 | 1.50 (21px) | Header "Sign In", "Apply To Teach" |
128
+ | Caption | Roboto | 14px | 400 | 1.50 | Small labels, helper text |
129
+
130
+ ### Principles
131
+ - **Weight as hierarchy, not drama**: AmazingTalker uses 600 only at the hero, 500 for section titles, 400 for body and CTAs, and 300 for price/intro lines. The range is broad but each weight has a clear job — there is no "heavy everywhere" shouting.
132
+ - **Roboto for trust and legibility**: The choice of Roboto signals friendliness and neutral competence; it never competes with the content. It reads identically across the dozens of language-locale subdomains AmazingTalker serves.
133
+ - **CJK-aware fallback is intentional**: Section titles on `tw.` surfaces resolve to the Helvetica/PingFang/Microsoft JhengHei stack so that Traditional-Chinese renders crisply. This is a deliberate dual-script design decision, not an accident of CSS.
134
+ - **Generous line-height (1.5)**: Body and section text run at 1.5 line-height for relaxed, scannable reading — appropriate for a content-heavy marketplace browsed by learners comparing tutors.
135
+ - **No letter-spacing tricks**: Tracking stays `normal` everywhere. The friendliness comes from weight and warmth, not from typographic engineering.
136
+
137
+ ## 4. Component Stylings
138
+
139
+ ### Buttons
140
+
141
+ **Primary Hero CTA**
142
+ - Background: `#02cab9`
143
+ - Text: `#ffffff`
144
+ - Radius: 5px
145
+ - Font: 20px Roboto weight 400
146
+ - Use: Hero primary action ("English tutors", "Match me with tutors")
147
+
148
+ **Primary Section CTA**
149
+ - Background: `#02cab9`
150
+ - Text: `#ffffff`
151
+ - Padding: 8px 18px
152
+ - Radius: 3px
153
+ - Height: ~54px
154
+ - Font: 24px Roboto weight 300
155
+ - Use: Section conversion CTA — observed live on `tw.` as "開始挑選教師吧!" (Start picking your teacher)
156
+ - Hover: darken toward `#02b3a4`
157
+
158
+ **Header Utility (Ghost)**
159
+ - Background: transparent
160
+ - Text: `#484848` (or `rgba(0,0,0,0.87)` in nav context)
161
+ - Border: none
162
+ - Font: 14px Roboto weight 400
163
+ - Use: "Sign In", "Apply To Teach" — low-emphasis header actions
164
+
165
+ **Coral Accent Button / Badge**
166
+ - Background: `#ff5f5f`
167
+ - Text: `#ffffff`
168
+ - Radius: 3px–5px
169
+ - Use: Urgency tags, promotional highlights, energy moments
170
+
171
+ ### Cards & Containers
172
+
173
+ **Course Card**
174
+ - Background: `#ffffff`
175
+ - Radius: 8px
176
+ - Shadow: `rgba(0,0,0,0.10) 0px 4px 16px` (standard ambient)
177
+ - Structure: tutor/course image top, category head (24px), price label in `#484848` weight 300 (e.g. "₩14,580/lesson")
178
+ - Border: optional `1px solid #dcdfe6` hairline
179
+
180
+ **Surface Band**
181
+ - Background: `#f3f5f7` (alternating section bands) or `#fbfbfb`
182
+ - Used to group "Popular Courses", "4 reasons to learn", "Who can learn with AmazingTalker?" sections
183
+
184
+ ### Navigation
185
+ - Clean horizontal header on white
186
+ - Brand logotype left-aligned, utility actions right ("Sign In", "Apply To Teach")
187
+ - Links: Roboto 16px weight 400, `rgba(0,0,0,0.87)` text, teal `#02cab9` on active/hover
188
+ - Dropdown mega-menus for tutor categories (English / Spanish / Korean / Japanese / French / Chinese Tutors)
189
+ - Locale awareness: header adapts between en. and tw. subdomains
190
+
191
+ ### Badges / Tags / Pills
192
+ - **Coral Badge**: `#ff5f5f` background, white text, ~3px radius — urgency / promotional
193
+ - **Coral Soft Tag**: `#ffe5e5` (`rgba(255,95,95,0.1)`) background, coral text — low-emphasis highlight
194
+ - **Teal Tint Tag**: `rgba(2,202,185,0.2)` background, teal text — on-brand category markers
195
+
196
+ ### Inputs & Forms
197
+ - Border: `1px solid #dcdfe6`
198
+ - Radius: 3px–5px
199
+ - Focus: teal `#02cab9` border / ring
200
+ - Text: `#484848`
201
+ - Placeholder: `#909399`
202
+
203
+ ---
204
+
205
+ **Verified:** 2026-06-08 (Tier 1 live inspect — playwright getComputedStyle on en. and tw. surfaces)
206
+ **Tier 1 sources:** https://www.amazingtalker.com (redirects to en.amazingtalker.com — body/CTA/h1/h2/nav getComputedStyle, live DOM); https://tw.amazingtalker.com (Traditional-Chinese home — teal CTA `#02cab9` 3px radius confirmed, second surface)
207
+ **Method:** Live computed-style extraction; rgb()→hex conversion. >=6 real samples captured (teal CTA, coral accent, body `#484848`, h1 50px/600, h2 30px/500, nav teal active).
208
+ **`.verification.md`:** `web/references/amazingtalker/.verification.md`
209
+
210
+ ## 5. Layout Principles
211
+
212
+ ### Spacing System
213
+ - Base unit: ~8px with frequent 18px (`lg`) rhythm observed in CTA padding (8px 18px)
214
+ - Scale: 4px, 8px, 12px, 16px, 18px, 24px, 36px, 64px
215
+ - Section vertical rhythm: generous 64px+ bands separating content groups
216
+
217
+ ### Grid & Container
218
+ - Centered max-width content column with full-bleed hero imagery
219
+ - Hero: large background image + white overlay headline/subtitle + teal CTA, left or center aligned
220
+ - Course grids: multi-column responsive card grids (English / Spanish / Korean / Japanese tutors)
221
+ - Alternating white and `#f3f5f7` section bands for visual rhythm
222
+ - Mega-menu navigation for the large tutor-category taxonomy
223
+
224
+ ### Whitespace Philosophy
225
+ - **Generous and inviting**: As a consumer marketplace, AmazingTalker uses ample whitespace to keep the dense catalog of tutors, languages, and prices from feeling overwhelming.
226
+ - **Conversion-anchored**: Whitespace always funnels the eye toward the next teal CTA. Empty space is never decorative — it is directional.
227
+ - **Band rhythm**: White and light-gray (`#f3f5f7`) bands alternate to chunk the long marketing page into digestible, scannable sections.
228
+
229
+ ### Border Radius Scale
230
+ - Sharp (3px): Section CTAs, tags — crisp, modern
231
+ - Standard (5px): Hero buttons, inputs — the workhorse
232
+ - Comfortable (8px): Cards, containers — friendly but restrained
233
+ - Pill (9999px): Avatars, occasional filter chips only
234
+
235
+ ## 6. Depth & Elevation
236
+
237
+ | Level | Treatment | Use |
238
+ |-------|-----------|-----|
239
+ | Flat (Level 0) | No shadow | Page background, inline text, hero overlay text |
240
+ | Ambient (Level 1) | `rgba(0,0,0,0.06) 0px 2px 8px` | Subtle card lift, hover hints |
241
+ | Standard (Level 2) | `rgba(0,0,0,0.10) 0px 4px 16px` | Course cards, content panels |
242
+ | Elevated (Level 3) | `rgba(0,0,0,0.12) 0px 8px 28px` | Dropdown mega-menus, popovers, modals |
243
+ | Ring (Accessibility) | `2px solid #02cab9` outline | Keyboard focus ring |
244
+
245
+ **Shadow Philosophy**: AmazingTalker uses honest, neutral soft shadows — no chromatic tinting. Depth is gentle and functional: cards lift just enough to read as tappable, dropdowns sit clearly above content, and nothing floats dramatically. This restraint keeps the visual energy concentrated in the teal CTAs and coral accents rather than in elevation theatrics. The shadows are warm-neutral black at low alpha, which suits the friendly, content-first marketplace register.
246
+
247
+ ### Decorative Depth
248
+ - Hero imagery provides natural depth; overlay text sits flat in white for maximum legibility
249
+ - Light-gray surface bands (`#f3f5f7`) create depth through value contrast rather than shadow
250
+ - Coral and teal accents provide chromatic energy without relying on elevation
251
+
252
+ ## 7. Do's and Don'ts (Component Quick-Reference)
253
+
254
+ ### Do
255
+ - Use teal `#02cab9` for every primary CTA — it is the single brand signal
256
+ - Use coral `#ff5f5f` for warmth, urgency, and highlight moments only
257
+ - Use `#484848` for body text — never pure black
258
+ - Keep button radius at 3px–5px and card radius at 8px
259
+ - Use Roboto for Latin and the PingFang/Helvetica stack for CJK
260
+ - Alternate white and `#f3f5f7` bands to chunk long pages
261
+
262
+ ### Don't
263
+ - Don't introduce a third brand hue competing with teal and coral
264
+ - Don't use pure black (`#000000`) for body copy — `#484848` is warmer
265
+ - Don't use large pill radii on primary buttons — stay sharp (3–5px)
266
+ - Don't tint shadows — AmazingTalker uses neutral soft shadows
267
+ - Don't drop the CJK fallback stack — Traditional-Chinese must render crisply
268
+ - Don't bury the teal CTA — every section funnels toward it
269
+
270
+ ## 8. Responsive Behavior
271
+
272
+ ### Breakpoints
273
+ | Name | Width | Key Changes |
274
+ |------|-------|-------------|
275
+ | Mobile | <640px | Single column, hero text scales down, stacked cards, hamburger nav |
276
+ | Tablet | 640–1024px | 2-column card grids, condensed mega-menu |
277
+ | Desktop | 1024–1280px | Full multi-column course grids, full mega-menu nav |
278
+ | Large Desktop | >1280px | Centered content with generous side margins |
279
+
280
+ ### Touch Targets
281
+ - Primary CTAs are large (hero CTA ~54px tall section variant) — comfortably tappable
282
+ - Nav links at 16px with adequate spacing
283
+ - Course cards are full tap targets
284
+
285
+ ### Collapsing Strategy
286
+ - Hero: 50px H1 → ~32px on mobile, weight 600 maintained
287
+ - Navigation: horizontal links + mega-menu → hamburger drawer
288
+ - Course grids: 4-column → 2-column → single-column stacked
289
+ - Section CTA: full-width teal button on mobile
290
+ - Surface bands maintain full-width treatment, reduce internal padding
291
+
292
+ ### Image Behavior
293
+ - Hero imagery uses responsive cropping, keeping the tutor's face and CTA visible
294
+ - Course-card thumbnails maintain 8px radius across breakpoints
295
+ - Locale-specific imagery may swap between en. and tw. surfaces
296
+
297
+ ## 9. Agent Prompt Guide
298
+
299
+ ### Quick Color Reference
300
+ - Primary CTA: Brand Teal (`#02cab9`)
301
+ - CTA pressed: Teal Deep (`#02b3a4`)
302
+ - Accent / urgency: Coral (`#ff5f5f`)
303
+ - Accent soft bg: Coral Soft (`#ffe5e5`)
304
+ - Background: Pure White (`#ffffff`)
305
+ - Surface band: Light Gray (`#f3f5f7`)
306
+ - Heading text: Dark (`#363636`)
307
+ - Body text: Slate (`#484848`)
308
+ - Muted text: Gray (`#767676`)
309
+ - Border: Hairline (`#dcdfe6`)
310
+
311
+ ### Example Component Prompts
312
+ - "Create a hero on a tutor photo with white overlay. H1 at 50px Roboto weight 600, line-height 1.3, color #ffffff. Subtitle at 24px weight 400, white. Primary CTA: teal #02cab9 fill, white text, 5px radius, 20px Roboto weight 400 — label 'Find tutors'."
313
+ - "Design a course card: white background, 8px radius, shadow rgba(0,0,0,0.10) 0px 4px 16px. Category head 24px Roboto weight 400 #363636. Price label 18px weight 300, color #484848, e.g. '₩14,580/lesson'."
314
+ - "Build a section CTA: teal #02cab9 fill, white text, 3px radius, 8px 18px padding, 24px Roboto weight 300 — label 'Start now'. Place it centered on a #f3f5f7 band."
315
+ - "Create a coral urgency badge: #ff5f5f background, white text, 3px radius, 14px Roboto weight 400. Soft variant: #ffe5e5 background with coral text."
316
+ - "Design navigation: white header. Links Roboto 16px weight 400, rgba(0,0,0,0.87), teal #02cab9 on active. Utility buttons 'Sign In' / 'Apply To Teach' at 14px weight 400, #484848, transparent."
317
+
318
+ ### Iteration Guide
319
+ 1. Teal `#02cab9` is the one interactive color — every CTA, every active state
320
+ 2. Coral `#ff5f5f` is warmth and urgency only — never a second CTA color
321
+ 3. Body is `#484848`, headings `#363636` — never pure black
322
+ 4. Roboto for Latin; keep the Helvetica/PingFang/Microsoft JhengHei stack for CJK
323
+ 5. Button radius 3–5px, card radius 8px — friendly but crisp
324
+ 6. Neutral soft shadows only — no chromatic tinting
325
+ 7. Alternate white and `#f3f5f7` bands to structure long marketplace pages
326
+ 8. Every layout decision funnels toward the next teal CTA
327
+
328
+ ---
329
+
330
+ ## 10. Voice & Tone
331
+
332
+ AmazingTalker's voice is encouraging, plain-spoken, and learner-first — the tone of a friendly guide who genuinely wants you to start learning today. The tagline "Languages and learning made fun" sets the register: warm, optimistic, zero jargon. CTAs are direct and inviting ("Find tutors", "Match me with tutors", "Apply To Teach"), and on Traditional-Chinese surfaces they carry the same warmth ("開始挑選教師吧!" — "Let's start picking your teacher!", complete with an inviting exclamation that the brand allows because the register is genuinely consumer-friendly).
333
+
334
+ | Context | Tone |
335
+ |---|---|
336
+ | Hero headlines | Warm, aspirational, accessible. "Languages and learning made fun." |
337
+ | CTAs | Direct, inviting imperatives. "Find tutors", "Match me with tutors". |
338
+ | Course / tutor descriptions | Concrete, benefit-led, learner-focused. Price and value upfront. |
339
+ | Tutor-facing (Apply To Teach) | Encouraging, opportunity-framed. "Apply To Teach". |
340
+ | Traditional-Chinese (tw.) | Same warmth, locally natural phrasing, friendly exclamation allowed. |
341
+ | Reviews / social proof | Authentic, specific, learner-voiced. |
342
+
343
+ **Forbidden register.** Cold institutional ed-tech jargon ("pedagogical outcomes", "learning solutions"). Hype superlatives stacked on capabilities. Anything that makes language learning feel like an obligation rather than an opportunity. The brand's whole premise is that learning should feel human and fun — the copy never betrays that.
344
+
345
+ ## 11. Brand Narrative
346
+
347
+ AmazingTalker is a Taiwan-founded online language-learning marketplace that connects learners with professional tutors for one-on-one lessons. Born in Taipei, the company built its identity around a simple, design-forward premise: language learning should be personal, flexible, and genuinely enjoyable — a far cry from rigid classroom curricula or impersonal app gamification. The marketplace model puts real, vetted human tutors at the center, and the brand's visual language reflects that human warmth.
348
+
349
+ The company expanded from its Traditional-Chinese home market (`tw.amazingtalker.com`) across Asia and globally (`en.amazingtalker.com` plus dozens of language-locale subdomains), serving learners of English, Spanish, Korean, Japanese, French, Chinese, and more. This multi-market reach is why the design treats dual-script rendering — Latin via Roboto, CJK via the PingFang/Microsoft JhengHei stack — as a foundational requirement rather than a localization afterthought.
350
+
351
+ What AmazingTalker rejects: the cold, institutional aesthetic of legacy education platforms and the over-gamified noise of mass-market language apps. What it embraces: one confident teal that signals trust and calm, a coral accent that keeps the experience warm and human, abundant white space, and real tutor imagery. The design-forward startup ethos shows in the restraint — a tightly held two-hue palette, disciplined typography, and a relentless focus on guiding the learner to their next lesson.
352
+
353
+ ## 12. Principles
354
+
355
+ 1. **Human warmth over institutional gravity.** The marketplace is built on real tutors and real connection; the design must feel approachable, never clinical. Soft slate text, warm coral accents, and friendly Roboto all serve this.
356
+ 2. **One brand color, held with discipline.** Teal `#02cab9` does all the interactive work. The restraint is the brand — a single confident hue reads as more trustworthy than a rainbow.
357
+ 3. **Dual-script as a first-class concern.** Serving Taiwan, Korea, Japan, and the global market means Latin and CJK must both render beautifully. The font stack is a deliberate design decision.
358
+ 4. **Conversion is a kindness, not a trick.** Every layout funnels toward the next teal CTA — but the goal is to help a hesitant learner actually start, which the brand frames as a genuine service.
359
+ 5. **Fun is functional.** "Made fun" is not marketing fluff; it is a design constraint. If a surface feels like a chore, it has failed the brand.
360
+ 6. **Restraint signals quality.** Two hues, neutral shadows, conservative radii, no custom-font theatrics — the discipline is what makes a design-forward Taiwanese startup read as premium and reliable.
361
+
362
+ ## 13. Personas
363
+
364
+ *Personas below are fictional archetypes informed by AmazingTalker's publicly observable user segments (adult language learners, working professionals upskilling, parents arranging lessons for children, and tutors), not individual people.*
365
+
366
+ **Yi-Chen Lin, 28, Taipei.** Marketing professional who books English lessons twice a week to advance her career. Found AmazingTalker through the `tw.` site and loves that she can browse tutor profiles, read reviews, and see per-lesson prices upfront before committing. Trusts the brand because it feels human and transparent — not a faceless subscription app.
367
+
368
+ **Daniel Cho, 34, Seoul.** Engineer learning Japanese for a planned move to Tokyo. Uses the en. interface but appreciates that the platform clearly serves Asian-language learners. Picks tutors by reading detailed profiles and the coral-tagged "popular" markers. Would abandon a platform that hid pricing or felt like a generic gamified app.
369
+
370
+ **Mei Wong, 41, Hong Kong.** Parent arranging weekly Mandarin and English lessons for her two children. Values the warm, reassuring design — the teal CTAs and clean course cards make a complex catalog feel manageable. Books across multiple tutors and trusts the review system.
371
+
372
+ **Carlos Mendez, 30, who tutors Spanish on the platform.** Came in through "Apply To Teach". Values that the marketplace presents tutors with dignity and clear earning potential, and that the brand's friendly design attracts motivated, respectful learners.
373
+
374
+ ## 14. States
375
+
376
+ | State | Treatment |
377
+ |---|---|
378
+ | **Empty (no search results)** | White canvas. Friendly single line in `#484848` at 18px Roboto: "No tutors match these filters yet." One teal CTA: "Adjust filters". Encouraging, never a dead end. |
379
+ | **Empty (no bookings yet)** | Slate (`#767676`) line at 16px: "You haven't booked a lesson yet." Teal CTA "Find tutors". Warm, opportunity-framed. |
380
+ | **Loading (tutor list)** | Skeleton course cards at final dimensions in `#f3f5f7`. Gentle shimmer. No spinner-only screens. |
381
+ | **Loading (in-place filter)** | Subtle teal `#02cab9` progress indicator; previous results stay visible while refining. |
382
+ | **Error (search failed)** | Inline message in `#484848` with a coral `#ff5f5f` accent marker + plain-language explanation + "Try again" link. No generic "Something went wrong". |
383
+ | **Error (form validation)** | Field-level, coral `#ff5f5f` border + 14px helper text describing exactly what is needed. |
384
+ | **Success (lesson booked)** | Brief confirmation with teal `#02cab9` accent: "Lesson booked!" — the warmth and exclamation fit the brand. Booking detail linked immediately below. |
385
+ | **Disabled** | Reduced opacity on surface and text together. Teal actions fade to a lower-alpha teal — never switch to gray, to preserve brand read. |
386
+ | **Highlight / Promo** | Coral `#ff5f5f` badge or `#ffe5e5` tinted card for time-sensitive offers and popular markers. |
387
+
388
+ ## 15. Motion & Easing
389
+
390
+ **Durations**:
391
+
392
+ | Token | Value | Use |
393
+ |---|---|---|
394
+ | `motion-instant` | 0ms | Selection ticks, focus rings |
395
+ | `motion-fast` | 150ms | Hover, button press, card lift |
396
+ | `motion-standard` | 240ms | Dropdown mega-menu, modal, card expand |
397
+ | `motion-slow` | 360ms | Page-level transitions, hero reveals |
398
+
399
+ **Easings**:
400
+
401
+ | Token | Curve | Use |
402
+ |---|---|---|
403
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — dropdowns, cards, panels |
404
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
405
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
406
+
407
+ **Signature motions.**
408
+
409
+ 1. **Card hover lift.** Course cards lift gently on hover using `motion-fast / ease-standard` with a small shadow increase — signaling tappability without bounce.
410
+ 2. **Mega-menu reveal.** Tutor-category dropdowns open with `motion-standard / ease-enter`, fading and sliding down a few pixels — calm, never abrupt.
411
+ 3. **CTA feedback.** Teal CTAs darken toward `#02b3a4` on press with `motion-fast` — immediate, reassuring tactile feedback.
412
+ 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`. Hover lifts become instantaneous; the marketplace stays fully functional.
413
+
414
+ ## 16. Do's and Don'ts
415
+
416
+ ### Do
417
+ - Use teal `#02cab9` as the single primary interactive color across all surfaces
418
+ - Reserve coral `#ff5f5f` for warmth, urgency, and highlight moments
419
+ - Use `#484848` body / `#363636` heading text — warm, never pure black
420
+ - Pair Roboto (Latin) with the PingFang/Helvetica/Microsoft JhengHei stack (CJK)
421
+ - Keep button radii at 3–5px and card radii at 8px
422
+ - Use neutral soft shadows and alternate white / `#f3f5f7` bands
423
+ - Make every section funnel toward the next teal CTA
424
+ - Frame copy as encouraging and learner-first — "made fun" is a constraint
425
+
426
+ ### Don't
427
+ - Don't add a third brand hue — teal + coral is the whole identity
428
+ - Don't use pure black for text — `#484848` keeps the warmth
429
+ - Don't use large pill radii on primary buttons — stay crisp
430
+ - Don't tint shadows or over-elevate — keep depth gentle and neutral
431
+ - Don't drop the CJK fallback stack — Traditional-Chinese must render crisply
432
+ - Don't make coral a second CTA color — it is accent only
433
+ - Don't write cold institutional ed-tech copy — keep it human and inviting
434
+ - Don't bury or weaken the teal CTA in any layout