oh-my-design-cli 1.6.7 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/README.md +6 -6
  2. package/data/reference-fingerprints.json +1318 -10
  3. package/package.json +1 -1
  4. package/web/references/11st/DESIGN.md +400 -0
  5. package/web/references/17live/DESIGN.md +43 -0
  6. package/web/references/29cm/DESIGN.md +41 -0
  7. package/web/references/91app/DESIGN.md +31 -0
  8. package/web/references/ably/DESIGN.md +54 -0
  9. package/web/references/airbnb/DESIGN.md +58 -0
  10. package/web/references/airtable/DESIGN.md +39 -0
  11. package/web/references/alipay/DESIGN.md +50 -0
  12. package/web/references/amazingtalker/DESIGN.md +434 -0
  13. package/web/references/appier/DESIGN.md +45 -0
  14. package/web/references/apple/DESIGN.md +47 -0
  15. package/web/references/baemin/DESIGN.md +142 -43
  16. package/web/references/banksalad/DESIGN.md +67 -0
  17. package/web/references/bilibili/DESIGN.md +45 -0
  18. package/web/references/bithumb/DESIGN.md +38 -0
  19. package/web/references/bmw/DESIGN.md +37 -0
  20. package/web/references/brandi/DESIGN.md +414 -0
  21. package/web/references/bunjang/DESIGN.md +47 -0
  22. package/web/references/cakeresume/DESIGN.md +29 -0
  23. package/web/references/cal/DESIGN.md +52 -0
  24. package/web/references/catchtable/DESIGN.md +79 -19
  25. package/web/references/cathay/DESIGN.md +432 -0
  26. package/web/references/channeltalk/DESIGN.md +48 -0
  27. package/web/references/class101/DESIGN.md +51 -0
  28. package/web/references/classting/DESIGN.md +41 -0
  29. package/web/references/classum/DESIGN.md +43 -0
  30. package/web/references/claude/DESIGN.md +157 -70
  31. package/web/references/clay/DESIGN.md +56 -0
  32. package/web/references/clickhouse/DESIGN.md +50 -0
  33. package/web/references/cloudflare/DESIGN.md +637 -0
  34. package/web/references/cohere/DESIGN.md +48 -0
  35. package/web/references/coinbase/DESIGN.md +139 -5
  36. package/web/references/coinone/DESIGN.md +39 -0
  37. package/web/references/composio/DESIGN.md +46 -0
  38. package/web/references/cookpad/DESIGN.md +37 -0
  39. package/web/references/coupang/DESIGN.md +57 -2
  40. package/web/references/cursor/DESIGN.md +44 -0
  41. package/web/references/dabang/DESIGN.md +57 -19
  42. package/web/references/dcard/DESIGN.md +57 -0
  43. package/web/references/dell/DESIGN.md +636 -0
  44. package/web/references/devsisters/DESIGN.md +29 -0
  45. package/web/references/discord/DESIGN.md +604 -0
  46. package/web/references/dji/DESIGN.md +39 -0
  47. package/web/references/drnow/DESIGN.md +52 -0
  48. package/web/references/duolingo/DESIGN.md +563 -0
  49. package/web/references/elevenlabs/DESIGN.md +39 -0
  50. package/web/references/expo/DESIGN.md +39 -0
  51. package/web/references/fastcampus/DESIGN.md +50 -0
  52. package/web/references/ferrari/DESIGN.md +47 -0
  53. package/web/references/figma/DESIGN.md +44 -0
  54. package/web/references/finda/DESIGN.md +413 -0
  55. package/web/references/flex/DESIGN.md +28 -0
  56. package/web/references/flo/DESIGN.md +43 -0
  57. package/web/references/framer/DESIGN.md +38 -0
  58. package/web/references/freee/DESIGN.md +48 -0
  59. package/web/references/fugle/DESIGN.md +41 -1
  60. package/web/references/gangnamunni/DESIGN.md +57 -1
  61. package/web/references/genie/DESIGN.md +415 -0
  62. package/web/references/github/DESIGN.md +727 -0
  63. package/web/references/gmarket/DESIGN.md +51 -0
  64. package/web/references/gogolook/DESIGN.md +25 -1
  65. package/web/references/gogoro/DESIGN.md +38 -0
  66. package/web/references/grip/DESIGN.md +39 -0
  67. package/web/references/hahow/DESIGN.md +26 -0
  68. package/web/references/hashicorp/DESIGN.md +42 -0
  69. package/web/references/hogangnono/DESIGN.md +41 -0
  70. package/web/references/hp/DESIGN.md +563 -0
  71. package/web/references/hyperconnect/DESIGN.md +393 -0
  72. package/web/references/hyundaicard/DESIGN.md +24 -0
  73. package/web/references/ibm/DESIGN.md +44 -0
  74. package/web/references/ichef/DESIGN.md +44 -0
  75. package/web/references/ikala/DESIGN.md +400 -0
  76. package/web/references/inflearn/DESIGN.md +38 -0
  77. package/web/references/intercom/DESIGN.md +38 -0
  78. package/web/references/jandi/DESIGN.md +382 -0
  79. package/web/references/jkopay/DESIGN.md +35 -1
  80. package/web/references/jobkorea/DESIGN.md +39 -0
  81. package/web/references/jumpit/DESIGN.md +37 -0
  82. package/web/references/kakao/DESIGN.md +64 -0
  83. package/web/references/kakaobank/DESIGN.md +55 -1
  84. package/web/references/kakaopay/DESIGN.md +59 -0
  85. package/web/references/kakaot/DESIGN.md +53 -0
  86. package/web/references/karrot/DESIGN.md +49 -0
  87. package/web/references/kbank/DESIGN.md +39 -0
  88. package/web/references/kdan/DESIGN.md +34 -1
  89. package/web/references/kintone/DESIGN.md +586 -0
  90. package/web/references/kkbox/DESIGN.md +22 -0
  91. package/web/references/kkday/DESIGN.md +47 -0
  92. package/web/references/kmong/DESIGN.md +427 -0
  93. package/web/references/krafton/DESIGN.md +37 -0
  94. package/web/references/kraken/DESIGN.md +44 -0
  95. package/web/references/krds/DESIGN.md +63 -0
  96. package/web/references/kream/DESIGN.md +32 -0
  97. package/web/references/kurly/DESIGN.md +38 -1
  98. package/web/references/laftel/DESIGN.md +40 -0
  99. package/web/references/lamborghini/DESIGN.md +54 -0
  100. package/web/references/layerx/DESIGN.md +615 -0
  101. package/web/references/lezhin/DESIGN.md +47 -0
  102. package/web/references/line/DESIGN.md +36 -0
  103. package/web/references/linear.app/DESIGN.md +182 -88
  104. package/web/references/loom/DESIGN.md +396 -0
  105. package/web/references/lovable/DESIGN.md +38 -0
  106. package/web/references/lunit/DESIGN.md +47 -19
  107. package/web/references/mastercard/DESIGN.md +587 -0
  108. package/web/references/meituan/DESIGN.md +42 -0
  109. package/web/references/melon/DESIGN.md +26 -0
  110. package/web/references/mercari/DESIGN.md +41 -0
  111. package/web/references/mercury/DESIGN.md +589 -0
  112. package/web/references/meta/DESIGN.md +615 -0
  113. package/web/references/millie/DESIGN.md +51 -0
  114. package/web/references/minimax/DESIGN.md +53 -0
  115. package/web/references/mintlify/DESIGN.md +45 -0
  116. package/web/references/miro/DESIGN.md +47 -0
  117. package/web/references/mistral.ai/DESIGN.md +37 -0
  118. package/web/references/momoshop/DESIGN.md +43 -0
  119. package/web/references/money-forward/DESIGN.md +42 -0
  120. package/web/references/mongodb/DESIGN.md +44 -0
  121. package/web/references/muji/DESIGN.md +605 -0
  122. package/web/references/musinsa/DESIGN.md +48 -0
  123. package/web/references/mustit/DESIGN.md +47 -1
  124. package/web/references/myrealtrip/DESIGN.md +49 -0
  125. package/web/references/naver/DESIGN.md +50 -1
  126. package/web/references/naverwebtoon/DESIGN.md +48 -0
  127. package/web/references/netflix/DESIGN.md +572 -0
  128. package/web/references/nexon/DESIGN.md +389 -0
  129. package/web/references/nhncloud/DESIGN.md +33 -0
  130. package/web/references/nike/DESIGN.md +588 -0
  131. package/web/references/note/DESIGN.md +28 -0
  132. package/web/references/notion/DESIGN.md +48 -0
  133. package/web/references/nvidia/DESIGN.md +50 -0
  134. package/web/references/ohouse/DESIGN.md +56 -0
  135. package/web/references/oliveyoung/DESIGN.md +47 -1
  136. package/web/references/ollama/DESIGN.md +40 -0
  137. package/web/references/openai/DESIGN.md +641 -0
  138. package/web/references/opencode.ai/DESIGN.md +37 -0
  139. package/web/references/payco/DESIGN.md +40 -0
  140. package/web/references/paypay/DESIGN.md +656 -0
  141. package/web/references/pchome/DESIGN.md +439 -0
  142. package/web/references/perplexity/DESIGN.md +546 -0
  143. package/web/references/piccollage/DESIGN.md +43 -0
  144. package/web/references/pinkoi/DESIGN.md +55 -0
  145. package/web/references/pinterest/DESIGN.md +44 -0
  146. package/web/references/pixiv/DESIGN.md +613 -0
  147. package/web/references/pixnet/DESIGN.md +430 -0
  148. package/web/references/posthog/DESIGN.md +50 -0
  149. package/web/references/publy/DESIGN.md +52 -0
  150. package/web/references/qanda/DESIGN.md +49 -1
  151. package/web/references/ragic/DESIGN.md +444 -0
  152. package/web/references/ramp/DESIGN.md +634 -0
  153. package/web/references/rayark/DESIGN.md +22 -0
  154. package/web/references/raycast/DESIGN.md +45 -0
  155. package/web/references/remember/DESIGN.md +44 -0
  156. package/web/references/renault/DESIGN.md +42 -0
  157. package/web/references/replicate/DESIGN.md +39 -0
  158. package/web/references/resend/DESIGN.md +44 -0
  159. package/web/references/retool/DESIGN.md +645 -0
  160. package/web/references/revolut/DESIGN.md +46 -0
  161. package/web/references/richart/DESIGN.md +465 -0
  162. package/web/references/ridi/DESIGN.md +47 -0
  163. package/web/references/riiid/DESIGN.md +32 -0
  164. package/web/references/robinhood/DESIGN.md +604 -0
  165. package/web/references/runwayml/DESIGN.md +45 -0
  166. package/web/references/sanity/DESIGN.md +50 -0
  167. package/web/references/sansan/DESIGN.md +631 -0
  168. package/web/references/sendbird/DESIGN.md +46 -0
  169. package/web/references/sentry/DESIGN.md +48 -0
  170. package/web/references/shinhancard/DESIGN.md +421 -0
  171. package/web/references/shopline/DESIGN.md +431 -0
  172. package/web/references/slack/DESIGN.md +635 -0
  173. package/web/references/smarthr/DESIGN.md +48 -0
  174. package/web/references/smartnews/DESIGN.md +29 -0
  175. package/web/references/socar/DESIGN.md +35 -0
  176. package/web/references/soomgo/DESIGN.md +326 -0
  177. package/web/references/spacex/DESIGN.md +27 -0
  178. package/web/references/spoon/DESIGN.md +46 -0
  179. package/web/references/spotify/DESIGN.md +49 -0
  180. package/web/references/starbucks/DESIGN.md +597 -0
  181. package/web/references/stripe/DESIGN.md +46 -0
  182. package/web/references/studio/DESIGN.md +602 -0
  183. package/web/references/supabase/DESIGN.md +41 -0
  184. package/web/references/superhuman/DESIGN.md +39 -0
  185. package/web/references/surveycake/DESIGN.md +442 -0
  186. package/web/references/tada/DESIGN.md +51 -0
  187. package/web/references/tesla/DESIGN.md +36 -0
  188. package/web/references/theverge/DESIGN.md +500 -0
  189. package/web/references/together.ai/DESIGN.md +33 -0
  190. package/web/references/toss/DESIGN.md +43 -0
  191. package/web/references/toss-securities/DESIGN.md +54 -19
  192. package/web/references/tossbank/DESIGN.md +57 -0
  193. package/web/references/trenbe/DESIGN.md +41 -0
  194. package/web/references/triple/DESIGN.md +47 -0
  195. package/web/references/tumblbug/DESIGN.md +48 -0
  196. package/web/references/tving/DESIGN.md +40 -0
  197. package/web/references/uber/DESIGN.md +36 -0
  198. package/web/references/ubie/DESIGN.md +615 -0
  199. package/web/references/uniqlo/DESIGN.md +575 -0
  200. package/web/references/upbit/DESIGN.md +42 -0
  201. package/web/references/upstage/DESIGN.md +38 -0
  202. package/web/references/velog/DESIGN.md +28 -0
  203. package/web/references/vercel/DESIGN.md +44 -0
  204. package/web/references/voicetube/DESIGN.md +39 -0
  205. package/web/references/voltagent/DESIGN.md +44 -0
  206. package/web/references/wadiz/DESIGN.md +71 -19
  207. package/web/references/wanted/DESIGN.md +46 -0
  208. package/web/references/warp/DESIGN.md +37 -0
  209. package/web/references/watcha/DESIGN.md +40 -0
  210. package/web/references/wavve/DESIGN.md +43 -1
  211. package/web/references/wconcept/DESIGN.md +45 -0
  212. package/web/references/webflow/DESIGN.md +49 -0
  213. package/web/references/wired/DESIGN.md +572 -0
  214. package/web/references/wise/DESIGN.md +41 -0
  215. package/web/references/x.ai/DESIGN.md +31 -0
  216. package/web/references/xiaohongshu/DESIGN.md +39 -0
  217. package/web/references/yanolja/DESIGN.md +45 -0
  218. package/web/references/yeogiotte/DESIGN.md +42 -1
  219. package/web/references/yogiyo/DESIGN.md +50 -0
  220. package/web/references/yourator/DESIGN.md +453 -0
  221. package/web/references/zapier/DESIGN.md +41 -0
  222. package/web/references/zigbang/DESIGN.md +33 -0
  223. package/web/references/zigzag/DESIGN.md +62 -0
  224. package/web/references/zozotown/DESIGN.md +578 -0
@@ -10,25 +10,67 @@ logo:
10
10
  slug: "https://www.google.com/s2/favicons?domain=catchtable.co.kr&sz=256"
11
11
  verified: "2026-05-15"
12
12
  omd: "0.1"
13
-
14
- ## 16. Do's and Don'ts
15
-
16
- ### Do
17
- - Reserve CatchTable Orange (#FF3D00) for the single primary CTA pill only, where it appears in just 4 text/icon contexts across a 3000-element scan
18
- - Keep chrome hard-square at 0px radius (92% of elements), softening only to 4px for photo thumbnails, 8px for interactive controls, and 12px for the primary CTA pill
19
- - Set Pretendard as the sole typeface across the entire system with no display or headline font, letting food photography be the brand moment
20
- - Apply line-height: 150% to every typography slot, from the 20px/700 Section Title down to the 10px/500 Micro Meta, as a system-wide contract
21
- - Carry separation with borders and hairline alpha (#00000014) on cards at rest, reserving the five-tier shadow ladder for FABs, bottom sheets, sticky search bars, and modals
22
- - Keep body weight at Pretendard 400 (91% of text) and punctuate only with 700 for section titles and price emphasis
23
-
24
- ### Don't
25
- - Flood sections or large backgrounds with brand orange #FF3D00 — it is a single-CTA color, not a section-fill color
26
- - Apply a global border-radius reset like 8px to the chrome — it erases the hard-square 0px signature that frames the photography
27
- - Add a display or brand-typography font alongside Pretendard, which alone carries 91% of all rendered text
28
- - Fire shadows on cards at rest — depth is meant to come from borders and hairline alpha, not the shadow ladder
29
- - Stamp discount stickers, X% off badges, or countdown timers over food photography, which the system treats as sovereign
30
- - Confuse semantic Danger red #D91F11 with brand orange #FF3D00, or compress the 150% line-height contract
31
-
13
+ tokens:
14
+ source: prose-derived
15
+ extracted: "2026-06-08"
16
+ note: "Single-CTA discipline — brand orange #FF3D00 is the only primary fill, deployed sparingly; depth from borders + hairline alpha, not shadows"
17
+ colors:
18
+ primary: "#ff3d00"
19
+ primary-hover: "#fa8d6b"
20
+ brand: "#ff3d00"
21
+ canvas: "#ffffff"
22
+ foreground: "#000000"
23
+ title: "#222222"
24
+ body-strong: "#424242"
25
+ muted: "#666666"
26
+ tertiary: "#5f5f5f"
27
+ placeholder: "#9e9e9e"
28
+ disabled: "#b5b5b5"
29
+ icon-default: "#8f8f8f"
30
+ icon-subtle: "#aaaaaa"
31
+ on-primary: "#ffffff"
32
+ surface-subdued: "#f9f9f9"
33
+ surface-muted: "#f5f5f5"
34
+ surface-cool: "#f2f5f7"
35
+ surface-cool-alt: "#f0f4fa"
36
+ border-default: "#e4e4e4"
37
+ border-cool: "#dce3e8"
38
+ info: "#186ade"
39
+ success: "#43c478"
40
+ success-strong: "#077d55"
41
+ error: "#d91f11"
42
+ warning: "#f5c518"
43
+ premium: "#8f49de"
44
+ typography:
45
+ family: { sans: "Pretendard", mono: "" }
46
+ section-title: { size: 20, weight: 700, lineHeight: 1.5, use: "음식종류별 BEST, 캐치 매거진, search hero label" }
47
+ big-section: { size: 18, weight: 700, lineHeight: 1.5, use: "Larger card titles" }
48
+ card-title: { size: 16, weight: 600, lineHeight: 1.5, use: "Restaurant card titles in list / detail" }
49
+ body-default: { size: 14, weight: 400, lineHeight: 1.5, use: "Dominant — nav labels, list items, body" }
50
+ tab-label: { size: 14, weight: 400, lineHeight: 1.5, use: "Bottom-tab labels" }
51
+ chip-label: { size: 14, weight: 500, lineHeight: 1.5, use: "Geo chips, filter chips" }
52
+ search-input: { size: 13, weight: 500, lineHeight: 1.5, use: "Search placeholder #9e9e9e" }
53
+ neighbourhood-chip: { size: 13, weight: 500, lineHeight: 1.5, use: "청담, 압구정·로데오 style" }
54
+ caption: { size: 12, weight: 400, lineHeight: 1.5, use: "Timestamps, secondary meta" }
55
+ footer-body: { size: 11, weight: 400, lineHeight: 1.5, use: "Regulatory disclosure text" }
56
+ policy-link: { size: 11, weight: 500, lineHeight: 1.5, use: "Footer 서비스 이용약관 row" }
57
+ micro-meta: { size: 10, weight: 500, lineHeight: 1.5, use: "Slide counter 2 / 25, compact tab" }
58
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32, section: 45 }
59
+ rounded: { sm: 4, md: 8, lg: 12, full: 999 }
60
+ shadow:
61
+ xs: "rgba(0,0,0,.12) 0 1px 2px, rgba(0,0,0,.08) 0 0 1px, rgba(0,0,0,.08) 0 0 1px"
62
+ sm: "rgba(0,0,0,.12) 0 2px 8px, rgba(0,0,0,.08) 0 1px 4px, rgba(0,0,0,.08) 0 0 1px"
63
+ drop: "rgba(0,0,0,.12) 0 2px 12px"
64
+ md: "rgba(0,0,0,.12) 0 6px 12px, rgba(0,0,0,.08) 0 4px 8px, rgba(0,0,0,.08) 0 0 4px"
65
+ lg: "rgba(0,0,0,.12) 0 16px 20px, rgba(0,0,0,.08) 0 8px 16px, rgba(0,0,0,.08) 0 0 8px"
66
+ components_harvested: true
67
+ components:
68
+ button-primary: { type: button, bg: "#ff3d00", fg: "#ffffff", radius: "12px", height: "44px", font: "14px / 500", hover: "press #fc9086", use: "Single primary CTA pill — single-CTA discipline, only variant" }
69
+ search-input: { type: input, bg: "#f5f5f5", fg: "#000000", radius: "0px", font: "13px / 500", use: "Search field, placeholder #9e9e9e, inline search icon left" }
70
+ chip-row: { type: badge, bg: "transparent", fg: "#5f5f5f", font: "14px / 500", use: "Geo/filter chips, no fill or border at rest — separation by spacing" }
71
+ best-of-pill: { type: card, bg: "#ffffff", radius: "4px", font: "14px / 400", use: "Image-led tile + ink label below, no card chrome (호텔 뷔페, 스시 오마카세)" }
72
+ bottom-tab-bar: { type: tab, fg: "#424242", font: "14px / 400", active: "ink darkens to #000000", use: "5 tabs (홈/저장/내 주변/마이다이닝/MY), icon-over-label" }
73
+ footer-disclosure: { type: card, bg: "#f9f9f9", fg: "#8f8f8f", font: "11px / 400", use: "Footer block, 11px/500 policy links separated by | pipe" }
32
74
  ---
33
75
 
34
76
  # Design System Inspiration of CatchTable (캐치테이블)
@@ -279,3 +321,21 @@ Motion tokens were **not** captured in this CDP pass — only entry-fade on Swip
279
321
  - **Confidence**: **High** for tokens, type, radius, elevation, colour, IA spine, footer disclosure. **Medium** for personas (analyst-inferred from IA, not from internal research). **Low / Flagged** for motion (not captured), restaurant-detail page, list page, sell/reservation flow, MY tab — all require an UPDATE pass via mobile-emulated CDP.
280
322
 
281
323
  - **Verification date**: 2026-05-15.
324
+
325
+ ## 16. Do's and Don'ts
326
+
327
+ ### Do
328
+ - Reserve CatchTable Orange (#FF3D00) for the single primary CTA pill only, where it appears in just 4 text/icon contexts across a 3000-element scan
329
+ - Keep chrome hard-square at 0px radius (92% of elements), softening only to 4px for photo thumbnails, 8px for interactive controls, and 12px for the primary CTA pill
330
+ - Set Pretendard as the sole typeface across the entire system with no display or headline font, letting food photography be the brand moment
331
+ - Apply line-height: 150% to every typography slot, from the 20px/700 Section Title down to the 10px/500 Micro Meta, as a system-wide contract
332
+ - Carry separation with borders and hairline alpha (#00000014) on cards at rest, reserving the five-tier shadow ladder for FABs, bottom sheets, sticky search bars, and modals
333
+ - Keep body weight at Pretendard 400 (91% of text) and punctuate only with 700 for section titles and price emphasis
334
+
335
+ ### Don't
336
+ - Flood sections or large backgrounds with brand orange #FF3D00 — it is a single-CTA color, not a section-fill color
337
+ - Apply a global border-radius reset like 8px to the chrome — it erases the hard-square 0px signature that frames the photography
338
+ - Add a display or brand-typography font alongside Pretendard, which alone carries 91% of all rendered text
339
+ - Fire shadows on cards at rest — depth is meant to come from borders and hairline alpha, not the shadow ladder
340
+ - Stamp discount stickers, X% off badges, or countdown timers over food photography, which the system treats as sovereign
341
+ - Confuse semantic Danger red #D91F11 with brand orange #FF3D00, or compress the 150% line-height contract
@@ -0,0 +1,432 @@
1
+ ---
2
+ id: cathay
3
+ name: Cathay
4
+ country: TW
5
+ category: finance
6
+ homepage: "https://www.cathaybk.com.tw"
7
+ primary_color: "#00512a"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.cathaybk.com.tw/apple-touch-icon.png"
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 = deep brand green #00512a (live primary CTA fill); accent = bright Cathay green #26a862 (most-used non-neutral, icon + emphasis)"
18
+ colors:
19
+ primary: "#00512a"
20
+ accent: "#26a862"
21
+ accent-tint: "#f3fff7"
22
+ ink-deep: "#00283d"
23
+ canvas: "#fafafa"
24
+ surface: "#ffffff"
25
+ heading: "#333333"
26
+ body: "#555555"
27
+ muted: "#888888"
28
+ hairline: "#eeeeee"
29
+ border-mute: "#bebebe"
30
+ on-primary: "#ffffff"
31
+ warn: "#e87c07"
32
+ typography:
33
+ family: { sans: "Roboto Flex", cjk: "Noto Sans TC", fallback: "PingFang TC, Microsoft JhengHei, Heiti TC, sans-serif" }
34
+ hero: { size: 36, weight: 700, lineHeight: 1.50, tracking: 0, use: "Homepage hero headline" }
35
+ section: { size: 28, weight: 700, lineHeight: 1.50, tracking: 0, use: "Feature / section titles" }
36
+ subheading: { size: 18, weight: 400, lineHeight: 1.50, tracking: 0, use: "Quick-action labels, lead text" }
37
+ body: { size: 16, weight: 400, lineHeight: 1.50, tracking: 0, use: "Standard reading text, nav, button label" }
38
+ caption: { size: 14, weight: 400, lineHeight: 1.50, tracking: 0, use: "Footer links, metadata, fine print" }
39
+ spacing: { xs: 5, sm: 11, md: 15, base: 20, lg: 27, xl: 40, section: 64 }
40
+ rounded: { sm: 5, md: 5, lg: 5, full: 9999 }
41
+ shadow:
42
+ ambient: "rgba(0,0,0,0.08) 0px 2px 8px"
43
+ standard: "rgba(0,0,0,0.12) 0px 4px 16px"
44
+ overlay: "rgba(0,0,0,0.22) 0px 8px 24px"
45
+ components_harvested: true
46
+ components:
47
+ button-primary: { type: button, bg: "#00512a", fg: "#ffffff", border: "1px solid #00512a", radius: "5px", height: "50px", padding: "12px 20px", font: "16px / 400", active: "fill darkens briefly", use: "Primary CTA (把握好機匯, 我有興趣)" }
48
+ button-outline: { type: button, bg: "transparent", fg: "#00512a", border: "1px solid #00512a", radius: "5px", font: "16px / 400", use: "Secondary action beside primary CTA" }
49
+ nav-link: { type: tab, bg: "transparent", fg: "#333333", font: "16px / 400", use: "Top nav links (個人金融, 企業金融), no underline" }
50
+ card: { type: card, bg: "#ffffff", radius: "5px", padding: "27px", shadow: "rgba(0,0,0,0.12) 0px 4px 16px", use: "Content/product cards (CUBE信用卡)" }
51
+ card-glass: { type: card, bg: "rgba(255,255,255,0.5)", radius: "5px", padding: "40px 15px", use: "Quick-entry glass tiles over hero imagery (開戶, 匯率查詢)" }
52
+ input: { type: input, bg: "#ffffff", fg: "#333333", border: "1px solid #eeeeee", radius: "5px", focus: "border #00512a", use: "Form input, placeholder #888888" }
53
+ footer-link: { type: tab, bg: "#00283d", fg: "#ffffff", font: "14px / 400", use: "Footer group-company + policy links on dark band" }
54
+ ---
55
+
56
+ # Design System Inspiration of Cathay
57
+
58
+ ## 1. Visual Theme & Atmosphere
59
+
60
+ Cathay United Bank (國泰世華銀行) presents the calm, dependable face of one of Taiwan's largest financial groups — and its digital design reflects exactly that institutional weight, rendered with surprising lightness. The homepage opens on an almost-white canvas (`#fafafa`) carrying near-black `#333333` text, so the page never feels heavy or corporate-cold; the warmth comes entirely from a single confident brand color: Cathay green. Two greens do the work — a deep, forest-toned `#00512a` that anchors every primary action and a brighter, more optimistic `#26a862` that lights up icons, links, and emphasis. The result reads as trustworthy and grounded (the deep green), but never stuffy (the bright green and airy off-white). This is a bank that wants to feel like a steady partner for everyday financial life, not a marble-columned vault.
61
+
62
+ The atmosphere is utilitarian-friendly rather than aspirational-luxury. Where a Western fintech might chase a moody gradient or a whisper-weight headline, Cathay leans into clarity: bold 700-weight headlines (36px hero, 28px sections), generous 1.5 line-height for comfortable Traditional Chinese reading, and a tightly disciplined component palette where nearly every interactive surface settles on the same gentle 5px corner radius. Quick-action tiles — 換匯 (exchange), 提款 (withdraw), 轉帳 (transfer), 視訊 (video) — sit front-and-center, signaling a service-first product where the most common banking tasks are one tap away.
63
+
64
+ Restraint is the defining discipline. The live DOM shows green used sparingly and deliberately: `#00512a` and `#26a862` together account for only a few dozen of the hundreds of color applications on the page, while neutrals (`#333333`, `#ffffff`, `#555555`) carry the vast majority. Green is a punctuation color, not a wash. A faint mint tint (`#f3fff7`) backs green-themed sections, and a deep teal-navy (`#00283d`) appears in the footer and on dark surfaces for grounding contrast. There are no decorative gradients fighting for attention, no pill-shaped buttons, no playful overshoot — just a quietly competent surface that puts the customer's task above the brand's ego.
65
+
66
+ **Key Characteristics:**
67
+ - Cathay green dual-tone: deep `#00512a` for actions, bright `#26a862` for accents and icons
68
+ - Airy off-white canvas (`#fafafa`) with near-black `#333333` text — light, never corporate-cold
69
+ - Bold 700-weight headlines (36px / 28px) for confident hierarchy
70
+ - Roboto Flex + Noto Sans TC stack — Latin and Traditional Chinese tuned together
71
+ - Uniform 5px radius on buttons, cards, and tiles — gentle, consistent, never pill
72
+ - Generous 1.5 line-height throughout for comfortable CJK reading
73
+ - Green-as-punctuation: neutrals dominate, green appears only on intent
74
+ - Deep teal-navy (`#00283d`) grounding the footer and dark surfaces
75
+
76
+ ## 2. Color Palette & Roles
77
+
78
+ ### Primary
79
+ - **Cathay Deep Green** (`#00512a`): The primary brand color. Fills every primary CTA ("把握好機匯", "我有興趣", "更多新鮮事"), forms outline-button borders, and signals the bank's identity. A dark forest green that reads as stable, mature, and trustworthy.
80
+ - **Off-White Canvas** (`#fafafa`): The page background. A hair softer than pure white, keeping long pages easy on the eyes.
81
+ - **Surface White** (`#ffffff`): Card and tile surfaces, dropdown panels, content containers.
82
+
83
+ ### Accent
84
+ - **Cathay Bright Green** (`#26a862`): The most-used non-neutral on the page (37 applications in the live scan). Powers icons, inline emphasis, link affordances, and lighter brand moments. The optimistic counterpart to the deep green.
85
+ - **Mint Tint** (`#f3fff7`): A barely-there green-white used to back green-themed section bands and soft highlight zones.
86
+
87
+ ### Ink & Neutrals
88
+ - **Heading Ink** (`#333333`): Primary text and headings. Near-black with no color cast — by far the dominant color on the page (592 applications).
89
+ - **Body Slate** (`#555555`): Secondary text, sub-navigation links, descriptive copy.
90
+ - **Muted Gray** (`#888888`): Tertiary text, timestamps, disabled-adjacent labels.
91
+ - **Deep Teal-Navy** (`#00283d`): Footer background and dark-surface grounding tone. A very dark blue-green that pairs naturally with the brand greens.
92
+
93
+ ### Surface & Borders
94
+ - **Hairline** (`#eeeeee`): Default border and divider color for cards, list rows, and inputs.
95
+ - **Border Mute** (`#bebebe`): Stronger neutral border for emphasized containers and form outlines.
96
+ - **On-Primary White** (`#ffffff`): Text and icons placed on deep-green fills.
97
+
98
+ ### Status
99
+ - **Warn Orange** (`#e87c07`): Sparingly used warning / attention accent for notices and highlights. Never an interactive primary.
100
+
101
+ ## 3. Typography Rules
102
+
103
+ ### Font Family
104
+ - **Latin**: `Roboto Flex` — a variable grotesque carrying numerals, English labels, and product names.
105
+ - **Traditional Chinese**: `Noto Sans TC`, with system fallbacks `PingFang TC`, `Microsoft JhengHei`, `Heiti TC`.
106
+ - **Stack** (verbatim from live DOM): `"Roboto Flex", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", sans-serif`
107
+ - The pairing is deliberate: Roboto Flex handles Latin and digits with a clean modern grotesque, while Noto Sans TC carries Han characters at matching weight and rhythm so mixed CJK/Latin lines stay even.
108
+
109
+ ### Hierarchy
110
+
111
+ | Role | Size | Weight | Line Height | Notes |
112
+ |------|------|--------|-------------|-------|
113
+ | Hero Headline | 36px (2.25rem) | 700 | 1.50 (54px) | Homepage hero — "每次都是更好的體驗" |
114
+ | Section Title | 28px (1.75rem) | 700 | 1.50 (42px) | Feature / activity section heads |
115
+ | Subheading / Lead | 18px (1.13rem) | 400 | 1.50 (27px) | Quick-action labels, intro copy |
116
+ | Body | 16px (1.00rem) | 400 | 1.50 (24px) | Standard text, nav, button label |
117
+ | Caption / Footer | 14px (0.88rem) | 400 | 1.50 (21px) | Footer links, metadata, fine print |
118
+
119
+ ### Principles
120
+ - **Bold for hierarchy, regular for everything else**: Headlines commit to weight 700; body, nav, and buttons all sit at weight 400. There is no in-between medium weight on the marketing surface — the contrast between 700 and 400 carries the entire hierarchy.
121
+ - **Consistent 1.5 line-height**: Every text role uses a 1.5 ratio (24px on 16px, 42px on 28px, 54px on 36px). This generous leading is a CJK-readability decision — Traditional Chinese needs breathing room that Latin-only systems can skip.
122
+ - **No letter-spacing tricks**: Tracking is `normal` everywhere. Han characters are already monospaced by design; forcing tracking would break their rhythm.
123
+ - **Size, not weight, separates body tiers**: Subheadings step up to 18px while staying weight 400 — the system prefers scaling type size over adding weight for secondary emphasis.
124
+
125
+ ## 4. Component Stylings
126
+
127
+ ### Buttons
128
+
129
+ **Primary (Deep Green)**
130
+ - Background: `#00512a`
131
+ - Text: `#ffffff`
132
+ - Padding: 12px 20px
133
+ - Radius: 5px
134
+ - Height: 50px
135
+ - Border: `1px solid #00512a`
136
+ - Font: 16px weight 400
137
+ - Use: Primary CTA — "把握好機匯", "我有興趣", "設定手機提款", "更多新鮮事"
138
+
139
+ **Outline / Secondary**
140
+ - Background: transparent
141
+ - Text: `#00512a`
142
+ - Radius: 5px
143
+ - Border: `1px solid #00512a`
144
+ - Font: 16px weight 400
145
+ - Use: Secondary actions paired beside a primary CTA
146
+
147
+ **Quiet Nav Action**
148
+ - Background: transparent
149
+ - Text: `#555555` (or `#333333` in main nav)
150
+ - Radius: 0
151
+ - Font: 16-18px weight 400
152
+ - Use: Header utility links (登入), inline service shortcuts (換匯 / 提款 / 轉帳 / 視訊)
153
+
154
+ ### Cards & Tiles
155
+
156
+ **Standard Card**
157
+ - Background: `#ffffff`
158
+ - Radius: 5px
159
+ - Padding: 21-27px
160
+ - Shadow: `rgba(0,0,0,0.12) 0px 4px 16px` (soft neutral)
161
+ - Use: Content cards, product cards ("CUBE信用卡", "CUBE好友大募集")
162
+
163
+ **Glass Tile (over imagery)**
164
+ - Background: `rgba(255,255,255,0.5)`
165
+ - Radius: 5px
166
+ - Padding: 40px 15px
167
+ - Use: Quick-entry tiles over hero/feature imagery — "開戶", "挑選信用卡", "線上申辦", "匯率查詢", "預約服務", "活動專區"
168
+
169
+ ### Navigation
170
+ - Top nav links: `#333333`, 16px weight 400, no underline — "個人金融", "企業金融", "私人銀行"
171
+ - Utility link (登入 / sign-in): 16px, 40px tall, transparent
172
+ - Sub-nav and footer groups: `#555555` at 14px
173
+ - Footer: dark `#00283d` surface, white (`#ffffff`) links at 14px — group-company links ("國泰金控", "國泰人壽", "國泰產險", "國泰綜合證券"), policy links ("隱私權保護政策", "顧客資料保密措施")
174
+
175
+ ### Inputs & Forms
176
+ - Border: `1px solid #eeeeee` (or `#bebebe` for emphasis)
177
+ - Radius: 5px
178
+ - Focus: deep green `#00512a` border / ring
179
+ - Text: `#333333`
180
+ - Placeholder: `#888888`
181
+
182
+ ---
183
+
184
+ **Verified:** 2026-06-08 (omd-add-reference — Tier 1 live inspect)
185
+ **Tier 1 sources:** https://www.cathaybk.com.tw, https://www.cathay-cube.com.tw (live DOM via playwright getComputedStyle; redirects to cathay-cube.com.tw/cathaybk — homepage of 國泰世華銀行; primary CTA `#00512a`, accent `#26a862`, canvas `#fafafa`, hero 36px/700 all measured live)
186
+ **Country sources:** cathaybk.com.tw (brand-owned .tw), cathayholdings.com (國泰金控 group .tw), Apple App Store TW (CUBE App listing)
187
+ **`.verification.md`:** `web/references/cathay/.verification.md`
188
+
189
+ ## 5. Layout Principles
190
+
191
+ ### Spacing System
192
+ - Base unit: ~5px, with the live DOM favoring multiples and near-multiples: 5px, 11px, 15px, 20px, 27px, 40px
193
+ - Notable: button padding `12px 20px`, card padding `21-27px`, glass-tile padding `40px 15px` — generous internal breathing room on tappable surfaces
194
+
195
+ ### Grid & Container
196
+ - Centered max-width content column with full-bleed hero and feature bands
197
+ - Quick-action row: a horizontal strip of equal-width tiles (換匯 / 提款 / 轉帳 / 視訊) directly below the hero — task-first IA
198
+ - Product/activity sections: multi-column card grids that collapse to single column on mobile
199
+ - Footer: wide multi-column link directory grouping the broader Cathay Financial group on a dark `#00283d` band
200
+
201
+ ### Whitespace Philosophy
202
+ - **Service density up top, marketing breathing room below**: The most-used banking tasks are packed tightly into the quick-action row, while promotional sections below get generous vertical spacing.
203
+ - **Card-driven rhythm**: Nearly all content lives in 5px-radius white cards on the off-white canvas, so whitespace reads as the gap between cards rather than empty void.
204
+ - **CJK-comfortable leading**: 1.5 line-height across the board gives Traditional Chinese paragraphs the air they need.
205
+
206
+ ### Border Radius Scale
207
+ - The system is effectively single-radius: **5px** on buttons, cards, tiles, and inputs alike.
208
+ - 0px on plain text links and full-width footer rows.
209
+ - No pill shapes, no large 12px+ rounding — the uniform gentle 5px is a brand signature.
210
+
211
+ ## 6. Depth & Elevation
212
+
213
+ | Level | Treatment | Use |
214
+ |-------|-----------|-----|
215
+ | Flat (Level 0) | No shadow | Page background, inline text, footer |
216
+ | Ambient (Level 1) | `rgba(0,0,0,0.08) 0px 2px 8px` | Subtle card lift, hover hints |
217
+ | Standard (Level 2) | `rgba(0,0,0,0.12) 0px 4px 16px` | Content cards, product cards |
218
+ | Overlay (Level 3) | `rgba(0,0,0,0.22) 0px 8px 24px` | Dropdowns, modals, floating menus |
219
+
220
+ **Shadow Philosophy**: Cathay's elevation is honest and neutral — soft black shadows (`rgba(0,0,0,...)`) with no color tint, in deliberate contrast to fintechs that brand their shadows. The bank's depth language is about subtle, trustworthy lift rather than dramatic float. The live DOM shows semi-transparent black overlays (`rgba(0,0,0,0.5)`, `rgba(0,0,0,0.22)`) used for scrims and floating layers, keeping the green palette reserved exclusively for brand intent rather than spending it on shadow.
221
+
222
+ ### Decorative Depth
223
+ - Glass tiles (`rgba(255,255,255,0.5)`) over hero imagery create a frosted, layered feel without heavy shadow
224
+ - Dark footer band (`#00283d`) provides grounding contrast at page end
225
+ - Mint tint (`#f3fff7`) sections create gentle figure-ground separation without elevation
226
+
227
+ ## 7. Do's and Don'ts
228
+
229
+ ### Do
230
+ - Use deep green `#00512a` for every primary CTA fill and outline border
231
+ - Reserve bright green `#26a862` for icons, links, and emphasis accents
232
+ - Keep the canvas off-white (`#fafafa`) with `#333333` near-black text
233
+ - Use weight 700 for headlines, weight 400 for everything else
234
+ - Apply the uniform 5px radius to buttons, cards, tiles, and inputs
235
+ - Maintain 1.5 line-height for comfortable Traditional Chinese reading
236
+ - Use neutral (untinted) soft black shadows for elevation
237
+ - Ground the footer / dark surfaces with deep teal-navy `#00283d`
238
+
239
+ ### Don't
240
+ - Don't wash large areas in green — green is punctuation, neutrals dominate
241
+ - Don't use pill shapes or large radii — the gentle 5px is the brand
242
+ - Don't introduce a medium weight between 400 and 700 on headlines
243
+ - Don't tint shadows with brand color — Cathay shadows stay neutral black
244
+ - Don't add letter-spacing to CJK text — it breaks Han rhythm
245
+ - Don't use orange `#e87c07` as an interactive/primary color — warning only
246
+ - Don't replace off-white `#fafafa` with stark pure white across full pages
247
+ - Don't bold body, nav, or button labels — they stay weight 400
248
+
249
+ ## 8. Responsive Behavior
250
+
251
+ ### Breakpoints
252
+ | Name | Width | Key Changes |
253
+ |------|-------|-------------|
254
+ | Mobile | <768px | Single column, stacked cards, quick-actions wrap to grid |
255
+ | Tablet | 768-1024px | 2-column card grids, condensed nav |
256
+ | Desktop | 1024-1440px | Full multi-column layout, horizontal quick-action row |
257
+ | Large | >1440px | Centered content with wide margins |
258
+
259
+ ### Touch Targets
260
+ - Buttons at 50px height — comfortably tappable
261
+ - Quick-action tiles tall (≈187px) with 40px 15px padding for large tap zones
262
+ - Footer links at 14px with row spacing for finger accuracy
263
+
264
+ ### Collapsing Strategy
265
+ - Hero: 36px headline scales down on mobile, weight 700 maintained
266
+ - Quick-action strip: horizontal row → 2-up or 3-up grid of tiles
267
+ - Product/activity card grids: multi-column → single column stacked
268
+ - Top nav: full horizontal → hamburger drawer
269
+ - Footer directory: wide multi-column → stacked accordion groups
270
+
271
+ ### Image Behavior
272
+ - Glass tiles over imagery keep `rgba(255,255,255,0.5)` legibility scrim at all sizes
273
+ - Hero imagery crops to maintain headline contrast on narrow viewports
274
+ - Card images keep the consistent 5px radius
275
+
276
+ ## 9. Agent Prompt Guide
277
+
278
+ ### Quick Color Reference
279
+ - Primary CTA: Cathay Deep Green (`#00512a`)
280
+ - Accent / icons: Cathay Bright Green (`#26a862`)
281
+ - Accent tint: Mint (`#f3fff7`)
282
+ - Background: Off-White (`#fafafa`)
283
+ - Surface: White (`#ffffff`)
284
+ - Heading text: Near-Black (`#333333`)
285
+ - Body text: Slate (`#555555`)
286
+ - Muted text: Gray (`#888888`)
287
+ - Border: Hairline (`#eeeeee`)
288
+ - Dark / footer: Teal-Navy (`#00283d`)
289
+ - Warning: Orange (`#e87c07`)
290
+
291
+ ### Example Component Prompts
292
+ - "Create a hero on off-white `#fafafa`. Headline 36px Noto Sans TC weight 700, line-height 1.5, color `#333333`. Below it a horizontal strip of quick-action tiles, each `rgba(255,255,255,0.5)` glass with 5px radius and 40px 15px padding. Primary CTA: `#00512a` fill, white text, 5px radius, 50px height, 12px 20px padding, weight 400."
293
+ - "Design a product card: white `#ffffff` surface, 5px radius, 27px padding, shadow `rgba(0,0,0,0.12) 0px 4px 16px`. Title 18px weight 400 `#333333`, body 16px weight 400 `#555555`. Bottom CTA: deep green `#00512a` button, white text, 5px radius."
294
+ - "Build an outline button: transparent fill, `#00512a` text, 1px solid `#00512a` border, 5px radius, 16px weight 400."
295
+ - "Create a footer: dark `#00283d` background, white `#ffffff` links at 14px weight 400, grouped in multiple columns for the Cathay group companies."
296
+ - "Design a green-themed highlight band: `#f3fff7` mint background, `#26a862` bright-green icons and emphasis, `#333333` body text, 5px-radius cards inside."
297
+
298
+ ### Iteration Guide
299
+ 1. Green is punctuation — keep neutrals dominant and apply `#00512a` / `#26a862` only on intent.
300
+ 2. Weight 700 for headlines, weight 400 for body / nav / buttons. No in-between.
301
+ 3. Every interactive surface gets the uniform 5px radius — never a pill.
302
+ 4. Use 1.5 line-height everywhere for Traditional Chinese comfort.
303
+ 5. Keep shadows neutral soft-black (`rgba(0,0,0,...)`) — never tint with green.
304
+ 6. Canvas is `#fafafa`, not pure white; surfaces are `#ffffff`.
305
+ 7. Ground dark surfaces and footers in teal-navy `#00283d`.
306
+ 8. Reserve orange `#e87c07` strictly for warnings, never CTAs.
307
+
308
+ ---
309
+
310
+ ## 10. Voice & Tone
311
+
312
+ Cathay United Bank's voice is warm, reassuring, and service-led — the tone of a knowledgeable teller who genuinely wants your everyday banking to be easier. The homepage tagline "每次都是更好的體驗" ("Every time, a better experience") and "用科技讓金融生活更安全簡單" ("Use technology to make financial life safer and simpler") set the register: progress framed as care, not disruption. Copy speaks directly to common life tasks — exchange currency, withdraw, transfer, set up mobile withdrawal — in plain, action-first Traditional Chinese.
313
+
314
+ | Context | Tone |
315
+ |---|---|
316
+ | Hero headlines | Warm, optimistic, human. "每次都是更好的體驗." Progress as care. |
317
+ | Quick-action labels | Single concrete verb. "換匯", "提款", "轉帳", "視訊". No fluff. |
318
+ | CTAs | Friendly invitation, not command. "我有興趣", "更多新鮮事", "想轉就轉". |
319
+ | Product descriptions | Benefit-first, reassurance-led. Safety and simplicity foregrounded. |
320
+ | Notices / fine print | Formal, regulator-aware, precise. Banking compliance register. |
321
+ | Footer / legal | Institutional, exact. Group-company and policy links stated plainly. |
322
+
323
+ **Forbidden register.** Hype superlatives ("革命性" / "revolutionary"), pressure tactics, anything that undercuts the bank's core promise of safety and trust. Cathay sells reassurance; the voice never gambles it for excitement.
324
+
325
+ ## 11. Brand Narrative
326
+
327
+ Cathay United Bank (國泰世華商業銀行) is the banking arm of **Cathay Financial Holding** (國泰金控), one of Taiwan's largest financial groups, with the broader Cathay group spanning life insurance (國泰人壽), property insurance (國泰產險), securities (國泰綜合證券), investment trust (國泰投信), and more — all surfaced directly in the bank's own footer. The bank in its current form is the product of the 2003 merger of **Cathay Commercial Bank** and **United World Chinese Commercial Bank (世華聯合商業銀行)**, uniting two long-standing Taiwanese institutions under the Cathay umbrella.
328
+
329
+ The contemporary digital identity centers on the **CUBE** brand — the CUBE App and CUBE credit card ("CUBE信用卡") form the consumer-facing core of a "better every time" product philosophy. The redirect from cathaybk.com.tw into the unified **cathay-cube.com.tw** experience signals the strategic bet: a single, technology-forward digital platform ("用科技讓金融生活更安全簡單") that consolidates everyday banking, cards, and lifestyle services. The deep Cathay green is the through-line connecting this modern digital surface back to the group's decades-long institutional heritage.
330
+
331
+ What Cathay's design refuses: the cold marble-and-gold visual clichés of legacy banking, and the hype-driven aesthetics of disruptor fintech. What it embraces: a single trustworthy brand green used with discipline, airy off-white surfaces, bold-but-friendly Traditional Chinese type, and a task-first layout that treats the customer's daily needs as the product.
332
+
333
+ ## 12. Principles
334
+
335
+ 1. **Trust is the product.** Every color, weight, and corner radius serves the perception of a safe, dependable bank. Design that gambles trust for novelty is off-brand.
336
+ 2. **Green with discipline.** The brand green earns its impact precisely because it is rare — punctuation, never wallpaper. Neutrals carry the page so green can mean something.
337
+ 3. **Service before marketing.** The most common banking tasks sit above the fold in dense quick-action tiles; promotion gets the lower, airier real estate.
338
+ 4. **Readable in Traditional Chinese first.** 1.5 line-height and the Noto Sans TC pairing are non-negotiable — Han legibility outranks Latin-centric tightness.
339
+ 5. **One radius, one rhythm.** The uniform 5px corner across every surface is a quiet consistency that reads as institutional reliability.
340
+ 6. **Warm, not cold.** Off-white over stark white, bold-but-friendly headlines, optimistic bright green — the bank chooses approachability over austerity.
341
+ 7. **Honest depth.** Shadows stay neutral and subtle. Elevation signals function, never spectacle.
342
+
343
+ ## 13. Personas
344
+
345
+ *Personas below are fictional archetypes informed by publicly observable Cathay United Bank customer segments (everyday retail banking customers in Taiwan, CUBE App / CUBE card users, group cross-sell customers), not individual people.*
346
+
347
+ **Lin Yi-chen (林宜臻), 29, Taipei.** Marketing coordinator and daily CUBE App user. Pays bills, splits dinners, and checks exchange rates before travel. Chose Cathay because the app made transfers and FX feel effortless. Trusts the green brand the way she trusts a familiar convenience store — always there, never surprising.
348
+
349
+ **Chen Kuo-wei (陳國維), 47, Taichung.** Small-business owner banking with Cathay for both his shop's corporate account (企業金融) and his family's personal accounts. Values that one group covers banking, insurance, and securities. Notices and appreciates when the digital experience is "safer and simpler" because his time is scarce.
350
+
351
+ **Wang Mei-ling (王美玲), 63, Kaohsiung.** Long-time customer since the United World Chinese Commercial Bank days. Prefers larger, high-contrast text and clear buttons. The bold 700-weight headlines, generous line-height, and obvious green CTAs make the site usable for her without help.
352
+
353
+ **David Hsu (許大衛), 35, Hsinchu.** Engineer and private-banking-curious investor exploring wealth services (私人銀行). Reads carefully, distrusts hype, and is reassured by the bank's restrained, compliance-aware tone over flashier competitors.
354
+
355
+ ## 14. States
356
+
357
+ | State | Treatment |
358
+ |---|---|
359
+ | **Empty (no transactions)** | Off-white canvas, single line in `#555555` at 16px: a plain statement that nothing has happened yet, plus one deep-green `#00512a` CTA to begin. No illustration clutter. |
360
+ | **Loading** | Neutral skeleton blocks in `#eeeeee` at final dimensions, soft shimmer. No green spinner — loading stays neutral. |
361
+ | **Error (form validation)** | Field-level message below the input, warn orange `#e87c07` accent + `#bebebe` emphasized border. Plain-language guidance on what to fix. |
362
+ | **Error (service failure)** | Inline notice in regulator-aware tone. States what happened and the next step. No vague "something went wrong". |
363
+ | **Success (action complete)** | Brief confirmation using bright green `#26a862` accent + `#f3fff7` mint background. Calm, past-tense, no exclamation. |
364
+ | **Disabled** | Reduced opacity on the green action so it desaturates toward gray while keeping brand read. |
365
+ | **Focus** | Deep green `#00512a` border / ring on inputs and buttons for keyboard accessibility. |
366
+
367
+ ## 15. Motion & Easing
368
+
369
+ **Durations**:
370
+
371
+ | Token | Value | Use |
372
+ |---|---|---|
373
+ | `motion-fast` | 150ms | Hover, focus, button press states |
374
+ | `motion-standard` | 250ms | Dropdowns, tile hover lift, card reveals |
375
+ | `motion-slow` | 400ms | Page-level transitions, hero / carousel reveals |
376
+
377
+ **Easings**:
378
+
379
+ | Token | Curve | Use |
380
+ |---|---|---|
381
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Most two-way transitions |
382
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — dropdowns, menus |
383
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
384
+
385
+ **Forbidden.** No bounce, no spring overshoot, no playful elastic motion. A bank's motion is steady and predictable — the same discipline as its color use. Carousels and hero reveals on the homepage move at the slow end (≈400ms) and never call attention to themselves.
386
+
387
+ **Signature motions.**
388
+ 1. **Quick-action tile hover.** Gentle lift with the standard shadow (`rgba(0,0,0,0.12) 0px 4px 16px`) at `motion-standard / ease-standard`. No color flash — the tile rises, it does not light up.
389
+ 2. **Primary CTA press.** Brief darkening of the `#00512a` fill at `motion-fast`. Subtle, tactile, trustworthy.
390
+ 3. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all transitions collapse to near-instant. Carousels become static. Function is never sacrificed for delight.
391
+
392
+ ## 16. Do's and Don'ts
393
+
394
+ ### Do
395
+ - Anchor every primary action in deep green `#00512a` and keep accents in bright green `#26a862`.
396
+ - Let neutrals (`#333333`, `#ffffff`, `#555555`) carry the page; spend green only on intent.
397
+ - Keep the uniform 5px radius and 1.5 line-height as cross-surface constants.
398
+ - Write warm, service-first Traditional Chinese copy — verbs and reassurance over hype.
399
+ - Ground footers and dark surfaces in teal-navy `#00283d`.
400
+
401
+ ### Don't
402
+ - Don't flood layouts with green or switch to pill / large radii.
403
+ - Don't tint shadows or add a medium headline weight.
404
+ - Don't use orange `#e87c07` for anything interactive — warnings only.
405
+ - Don't tighten CJK letter-spacing or drop below 1.5 line-height.
406
+ - Don't trade the bank's calm, trustworthy tone for disruptor excitement.
407
+
408
+ <!--
409
+ OmD v0.1 Sources — Philosophy Layer (sections 10-16)
410
+
411
+ Tier 1 live inspect (2026-06-08) via playwright getComputedStyle on
412
+ https://www.cathaybk.com.tw (redirects to cathay-cube.com.tw/cathaybk),
413
+ homepage of 國泰世華銀行. All token-level claims (primary CTA #00512a,
414
+ accent #26a862, canvas #fafafa, ink #333333, footer teal-navy #00283d,
415
+ hero 36px/700, section 28px/700, 5px radius, 1.5 line-height, Roboto Flex +
416
+ Noto Sans TC stack) are measured from the live DOM.
417
+
418
+ Group structure (Cathay Financial Holding 國泰金控 — banking, life insurance
419
+ 國泰人壽, property insurance 國泰產險, securities 國泰綜合證券, investment trust
420
+ 國泰投信) is taken directly from the bank's own footer links observed in the
421
+ live DOM. The 2003 merger of Cathay Commercial Bank and United World Chinese
422
+ Commercial Bank (世華聯合商業銀行) is widely documented public history.
423
+
424
+ The CUBE brand (CUBE App, CUBE信用卡) and taglines "每次都是更好的體驗" and
425
+ "用科技讓金融生活更安全簡單" are observed verbatim from the live homepage DOM.
426
+
427
+ Personas (§13) are fictional archetypes informed by publicly observable
428
+ Cathay customer segments. Names are illustrative; they do not refer to real
429
+ people. Interpretive claims (e.g. "green as punctuation", "trust is the
430
+ product") are editorial readings connecting the measured design system to the
431
+ bank's stated safety-and-simplicity positioning.
432
+ -->
@@ -16,6 +16,54 @@ ds:
16
16
  type: system
17
17
  description: Channel Talk's open-source design system — Bezier (MIT). Inter + Noto KR/JP type stacks, token/component/icon packages, marketing-vs-product type cliff documented.
18
18
  og_image: "https://opengraph.githubassets.com/d5fd6836ec938de2c8399cf28b2ceabc49104fbbf86e937f9e89983f1b50d638/channel-io/bezier-react"
19
+ tokens:
20
+ source: prose-derived
21
+ extracted: "2026-06-08"
22
+ note: "primary = live product-chrome accent Cobalt 400 (#329BE7); frontmatter primary_color (#4f46e5) is the registry indigo and is NOT a Bezier token — drift documented"
23
+ colors:
24
+ primary: "#329BE7"
25
+ primary-hover: "#327AB8"
26
+ brand: "#329BE7"
27
+ canvas: "#FFFFFF"
28
+ surface: "#FCFCFC"
29
+ canvas-tint: "#F7F7F8"
30
+ hairline: "#EFEFF0"
31
+ foreground: "#313234"
32
+ body: "#464748"
33
+ muted: "#A7A7AA"
34
+ on-primary: "#FFFFFF"
35
+ cta-dark: "#242428"
36
+ accent-light: "#47C8FF"
37
+ info: "#5E56F0"
38
+ success: "#31A552"
39
+ caution: "#EDBC40"
40
+ error: "#E94E58"
41
+ typography:
42
+ family: { sans: "Inter, NotoSansKR, NotoSansJP", mono: "ui-monospace, Cascadia Code, Source Code Pro, Menlo" }
43
+ size-16: { size: 16, weight: 400, lineHeight: 1.5, tracking: -0.1, use: "Standard body text (product chrome)" }
44
+ size-15: { size: 15, weight: 400, lineHeight: 1.33, tracking: -0.1, use: "Nav links, dense body" }
45
+ size-18: { size: 18, weight: 400, lineHeight: 1.33, use: "Subhead / product CTA label" }
46
+ size-22: { size: 22, weight: 700, lineHeight: 1.27, tracking: -0.4, use: "Section subhead" }
47
+ size-24: { size: 24, weight: 700, lineHeight: 1.33, tracking: -0.4, use: "Card heading" }
48
+ size-36: { size: 36, weight: 700, lineHeight: 1.22, tracking: -0.4, use: "Product-chrome max heading" }
49
+ hero-h1: { size: 64, weight: 700, lineHeight: 1.375, tracking: -1.5, use: "Marketing hero (brand-layer only)" }
50
+ section-h2-xl: { size: 54, weight: 600, lineHeight: 1.33, tracking: -1.5, use: "Marketing section h2 on dark" }
51
+ section-h2-lg: { size: 48, weight: 600, lineHeight: 1.33, tracking: -1, use: "Marketing section h2" }
52
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
53
+ rounded: { sm: 8, chip: 8, product: 8, cta: 18, card: 20, band: 32, ladder-max: 44, full: 9999 }
54
+ shadow:
55
+ flat: "none (live homepage leans flat — depth via surface tint + border alpha)"
56
+ popover: "subtle drop-shadow + rgba(0,0,0,0.05) border (Level 3)"
57
+ modal: "full shadow + rgba(0,0,0,0.3) scrim (Level 4)"
58
+ components_harvested: true
59
+ components:
60
+ button-primary: { type: button, bg: "#242428", fg: "#FFFFFF", radius: "18px", padding: "8px 24px", height: "64px", font: "18px / 600", use: "Marketing hero CTA — top-of-funnel Sign Up only" }
61
+ button-secondary: { type: button, bg: "rgba(0,0,0,0.05)", fg: "rgba(0,0,0,0.85)", radius: "16px", padding: "8px 20px", height: "54px", font: "20px / 700", use: "Section View Details pivots, not primary" }
62
+ button-cobalt: { type: button, bg: "#329BE7", fg: "#FFFFFF", radius: "8px", hover: "cobalt-400-20 #329BE733 ghost fill", use: "In-product primary action (Inbox CTA, send-message)" }
63
+ input: { type: input, bg: "#FFFFFF", border: "1px solid rgba(0,0,0,0.05)", radius: "8px", padding: "8px 12px", focus: "cobalt-400-30 #329BE74D ring", use: "Bezier form input" }
64
+ card: { type: card, bg: "rgb(250,154,240)", fg: "rgba(0,0,0,0.85)", radius: "20px", height: "400px", use: "Theatrical-colored AI Messenger feature card (marketing)" }
65
+ cta-band: { type: card, bg: "transparent", radius: "32px", padding: "16px", use: "Bottom Experience It Yourself conversion band, full-bleed" }
66
+ nav-link: { type: tab, bg: "transparent", fg: "rgba(0,0,0,0.85)", font: "15px / 400", active: "2px bottom-border indicator", use: "Nav menu items" }
19
67
  ---
20
68
 
21
69
  # Design System Inspiration of Channel Talk