oh-my-design-cli 1.8.6 → 1.9.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 (275) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +2761 -85
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/airbridge/DESIGN.md +451 -0
  71. package/web/references/alipay/DESIGN.md +179 -420
  72. package/web/references/apple/DESIGN.md +224 -498
  73. package/web/references/asleep/DESIGN.md +402 -0
  74. package/web/references/au/DESIGN.md +334 -0
  75. package/web/references/autopedia/DESIGN.md +382 -0
  76. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  77. package/web/references/baemin/DESIGN.md +332 -491
  78. package/web/references/banksalad/DESIGN.md +269 -180
  79. package/web/references/barogo/DESIGN.md +416 -0
  80. package/web/references/beusable/DESIGN.md +464 -0
  81. package/web/references/bigin/DESIGN.md +454 -0
  82. package/web/references/bilibili/DESIGN.md +206 -374
  83. package/web/references/bmw/DESIGN.md +162 -276
  84. package/web/references/brandi/DESIGN.md +184 -325
  85. package/web/references/buzzvil/DESIGN.md +457 -0
  86. package/web/references/cafe24/DESIGN.md +472 -0
  87. package/web/references/catchtable/DESIGN.md +219 -264
  88. package/web/references/cgv/DESIGN.md +317 -0
  89. package/web/references/channeltalk/DESIGN.md +210 -336
  90. package/web/references/china-airlines/DESIGN.md +291 -0
  91. package/web/references/cjonstyle/DESIGN.md +453 -0
  92. package/web/references/class101/DESIGN.md +168 -387
  93. package/web/references/classum/DESIGN.md +228 -203
  94. package/web/references/claude/DESIGN.md +242 -479
  95. package/web/references/clay/DESIGN.md +179 -377
  96. package/web/references/clickhouse/DESIGN.md +254 -343
  97. package/web/references/codeit/DESIGN.md +470 -0
  98. package/web/references/cohere/DESIGN.md +214 -324
  99. package/web/references/coinone/DESIGN.md +199 -179
  100. package/web/references/corca/DESIGN.md +414 -0
  101. package/web/references/coupang/DESIGN.md +205 -475
  102. package/web/references/cursor/DESIGN.md +240 -381
  103. package/web/references/dabang/DESIGN.md +248 -213
  104. package/web/references/dable/DESIGN.md +431 -0
  105. package/web/references/datarize/DESIGN.md +338 -0
  106. package/web/references/dealicious/DESIGN.md +402 -0
  107. package/web/references/drdiary/DESIGN.md +404 -0
  108. package/web/references/elastic/DESIGN.md +238 -0
  109. package/web/references/elevenlabs/DESIGN.md +183 -321
  110. package/web/references/elice/DESIGN.md +445 -0
  111. package/web/references/eslite/DESIGN.md +257 -0
  112. package/web/references/evaair/DESIGN.md +338 -0
  113. package/web/references/expo/DESIGN.md +238 -331
  114. package/web/references/familymart-tw/DESIGN.md +254 -0
  115. package/web/references/ferrari/DESIGN.md +160 -377
  116. package/web/references/figma/DESIGN.md +197 -451
  117. package/web/references/fitpet/DESIGN.md +445 -0
  118. package/web/references/flex/DESIGN.md +170 -253
  119. package/web/references/framer/DESIGN.md +197 -340
  120. package/web/references/freee/DESIGN.md +211 -533
  121. package/web/references/friendliai/DESIGN.md +431 -0
  122. package/web/references/frip/DESIGN.md +440 -0
  123. package/web/references/furiosaai/DESIGN.md +450 -0
  124. package/web/references/gangnamunni/DESIGN.md +154 -591
  125. package/web/references/gaudiolab/DESIGN.md +414 -0
  126. package/web/references/google/DESIGN.md +290 -398
  127. package/web/references/goorm/DESIGN.md +470 -0
  128. package/web/references/greencar/DESIGN.md +420 -0
  129. package/web/references/hackle/DESIGN.md +472 -0
  130. package/web/references/hashicorp/DESIGN.md +273 -318
  131. package/web/references/heydealer/DESIGN.md +429 -0
  132. package/web/references/humanscape/DESIGN.md +433 -0
  133. package/web/references/hwahae/DESIGN.md +453 -0
  134. package/web/references/hyundai/DESIGN.md +158 -368
  135. package/web/references/hyundaicard/DESIGN.md +171 -121
  136. package/web/references/ibm/DESIGN.md +227 -378
  137. package/web/references/idus/DESIGN.md +450 -0
  138. package/web/references/igaworks/DESIGN.md +437 -0
  139. package/web/references/inflearn/DESIGN.md +221 -366
  140. package/web/references/intuit/DESIGN.md +244 -0
  141. package/web/references/jandi/DESIGN.md +191 -291
  142. package/web/references/jobplanet/DESIGN.md +415 -0
  143. package/web/references/kakao/DESIGN.md +287 -475
  144. package/web/references/kakaobank/DESIGN.md +220 -521
  145. package/web/references/kakaogames/DESIGN.md +220 -0
  146. package/web/references/kakaopay/DESIGN.md +207 -526
  147. package/web/references/karrot/DESIGN.md +227 -251
  148. package/web/references/kb-kookmin/DESIGN.md +308 -0
  149. package/web/references/kbank/DESIGN.md +220 -175
  150. package/web/references/kcd/DESIGN.md +432 -0
  151. package/web/references/kmong/DESIGN.md +281 -356
  152. package/web/references/krds/DESIGN.md +245 -19
  153. package/web/references/kream/DESIGN.md +224 -359
  154. package/web/references/kurly/DESIGN.md +211 -533
  155. package/web/references/kyobobook/DESIGN.md +445 -0
  156. package/web/references/lablup/DESIGN.md +474 -0
  157. package/web/references/lamborghini/DESIGN.md +198 -360
  158. package/web/references/lemonbase/DESIGN.md +452 -0
  159. package/web/references/lguplus/DESIGN.md +259 -0
  160. package/web/references/likelion/DESIGN.md +283 -0
  161. package/web/references/line/DESIGN.md +396 -355
  162. package/web/references/linear.app/DESIGN.md +209 -562
  163. package/web/references/lotteon/DESIGN.md +386 -0
  164. package/web/references/lovable/DESIGN.md +255 -349
  165. package/web/references/makinarocks/DESIGN.md +242 -0
  166. package/web/references/maum-ai/DESIGN.md +423 -0
  167. package/web/references/medibloc/DESIGN.md +425 -0
  168. package/web/references/megabox/DESIGN.md +232 -0
  169. package/web/references/mercari/DESIGN.md +217 -434
  170. package/web/references/microsoft/DESIGN.md +234 -388
  171. package/web/references/mildang/DESIGN.md +411 -0
  172. package/web/references/millie/DESIGN.md +183 -504
  173. package/web/references/minimax/DESIGN.md +264 -322
  174. package/web/references/miricanvas/DESIGN.md +182 -355
  175. package/web/references/miro/DESIGN.md +234 -232
  176. package/web/references/mistral.ai/DESIGN.md +231 -314
  177. package/web/references/mixi/DESIGN.md +234 -0
  178. package/web/references/moin/DESIGN.md +445 -0
  179. package/web/references/mongodb/DESIGN.md +219 -316
  180. package/web/references/moreh/DESIGN.md +437 -0
  181. package/web/references/musinsa/DESIGN.md +184 -510
  182. package/web/references/mynavi/DESIGN.md +242 -0
  183. package/web/references/myrealtrip/DESIGN.md +169 -406
  184. package/web/references/naver/DESIGN.md +328 -499
  185. package/web/references/naverwebtoon/DESIGN.md +172 -395
  186. package/web/references/neosapience/DESIGN.md +441 -0
  187. package/web/references/nhn/DESIGN.md +169 -346
  188. package/web/references/nhncloud/DESIGN.md +185 -123
  189. package/web/references/nota/DESIGN.md +451 -0
  190. package/web/references/notion/DESIGN.md +271 -475
  191. package/web/references/nrise/DESIGN.md +417 -0
  192. package/web/references/ohouse/DESIGN.md +210 -549
  193. package/web/references/oliveyoung/DESIGN.md +217 -326
  194. package/web/references/ollama/DESIGN.md +241 -308
  195. package/web/references/onestore/DESIGN.md +248 -0
  196. package/web/references/palantir/DESIGN.md +256 -0
  197. package/web/references/panasonic/DESIGN.md +276 -0
  198. package/web/references/patternfly/DESIGN.md +259 -0
  199. package/web/references/payhere/DESIGN.md +438 -0
  200. package/web/references/pega/DESIGN.md +262 -0
  201. package/web/references/peoplefund/DESIGN.md +431 -0
  202. package/web/references/petfriends/DESIGN.md +428 -0
  203. package/web/references/pinkfong/DESIGN.md +199 -367
  204. package/web/references/pinterest/DESIGN.md +258 -308
  205. package/web/references/portone/DESIGN.md +446 -0
  206. package/web/references/poya/DESIGN.md +286 -0
  207. package/web/references/pozalabs/DESIGN.md +438 -0
  208. package/web/references/protopie/DESIGN.md +419 -0
  209. package/web/references/qraft/DESIGN.md +448 -0
  210. package/web/references/queenit/DESIGN.md +432 -0
  211. package/web/references/quotabook/DESIGN.md +449 -0
  212. package/web/references/rebellions/DESIGN.md +449 -0
  213. package/web/references/recruit/DESIGN.md +247 -0
  214. package/web/references/remember/DESIGN.md +202 -396
  215. package/web/references/resend/DESIGN.md +274 -348
  216. package/web/references/returnzero/DESIGN.md +460 -0
  217. package/web/references/sakura-internet/DESIGN.md +269 -0
  218. package/web/references/samsung/DESIGN.md +157 -359
  219. package/web/references/sandoll/DESIGN.md +445 -0
  220. package/web/references/sanity/DESIGN.md +241 -375
  221. package/web/references/saramin/DESIGN.md +465 -0
  222. package/web/references/scatterlab/DESIGN.md +412 -0
  223. package/web/references/selectstar/DESIGN.md +439 -0
  224. package/web/references/servicenow/DESIGN.md +289 -0
  225. package/web/references/shiftee/DESIGN.md +468 -0
  226. package/web/references/shinhanbank/DESIGN.md +161 -341
  227. package/web/references/shinhancard/DESIGN.md +208 -319
  228. package/web/references/sionic/DESIGN.md +454 -0
  229. package/web/references/sktelecom/DESIGN.md +310 -0
  230. package/web/references/socar/DESIGN.md +125 -32
  231. package/web/references/softbank/DESIGN.md +231 -0
  232. package/web/references/solapi/DESIGN.md +483 -0
  233. package/web/references/sony/DESIGN.md +234 -0
  234. package/web/references/soop/DESIGN.md +261 -0
  235. package/web/references/spacex/DESIGN.md +184 -323
  236. package/web/references/spotify/DESIGN.md +253 -394
  237. package/web/references/squeezebits/DESIGN.md +441 -0
  238. package/web/references/stayfolio/DESIGN.md +422 -0
  239. package/web/references/stripe/DESIGN.md +212 -491
  240. package/web/references/supabase/DESIGN.md +244 -316
  241. package/web/references/supertone/DESIGN.md +413 -0
  242. package/web/references/tabling/DESIGN.md +415 -0
  243. package/web/references/taishinbank/DESIGN.md +243 -0
  244. package/web/references/teamlab/DESIGN.md +240 -0
  245. package/web/references/teamsparta/DESIGN.md +472 -0
  246. package/web/references/tellingme/DESIGN.md +392 -0
  247. package/web/references/tesla/DESIGN.md +244 -427
  248. package/web/references/thsr/DESIGN.md +284 -0
  249. package/web/references/thumbtack/DESIGN.md +302 -0
  250. package/web/references/together.ai/DESIGN.md +257 -304
  251. package/web/references/toss/DESIGN.md +251 -593
  252. package/web/references/toss-securities/DESIGN.md +255 -178
  253. package/web/references/tossbank/DESIGN.md +195 -491
  254. package/web/references/toyota/DESIGN.md +238 -0
  255. package/web/references/tving/DESIGN.md +197 -245
  256. package/web/references/typed/DESIGN.md +413 -0
  257. package/web/references/uber/DESIGN.md +256 -333
  258. package/web/references/udn/DESIGN.md +250 -0
  259. package/web/references/upbit/DESIGN.md +145 -256
  260. package/web/references/upstage/DESIGN.md +211 -204
  261. package/web/references/uswds/DESIGN.md +287 -0
  262. package/web/references/vercel/DESIGN.md +236 -440
  263. package/web/references/vuno/DESIGN.md +413 -0
  264. package/web/references/wanted/DESIGN.md +215 -487
  265. package/web/references/weverse/DESIGN.md +437 -0
  266. package/web/references/wise/DESIGN.md +223 -231
  267. package/web/references/wisetracker/DESIGN.md +462 -0
  268. package/web/references/wooribank/DESIGN.md +245 -0
  269. package/web/references/yanolja/DESIGN.md +250 -419
  270. package/web/references/yeogiotte/DESIGN.md +235 -418
  271. package/web/references/zapier/DESIGN.md +256 -377
  272. package/web/references/zendesk/DESIGN.md +288 -0
  273. package/web/references/zigzag/DESIGN.md +200 -621
  274. package/dist/install-skills-7UUDOLG2.js +0 -734
  275. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -0,0 +1,291 @@
1
+ ---
2
+ id: china-airlines
3
+ name: "中華航空"
4
+ country: TW
5
+ category: consumer-tech
6
+ homepage: "https://www.china-airlines.com/"
7
+ primary_color: "#23569d"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=www.china-airlines.com&sz=128"
11
+ verified: "2026-07-13"
12
+ omd: "0.1"
13
+ verification_v2:
14
+ schema: 2
15
+ checked: "2026-07-13"
16
+ surfaces:
17
+ - { id: home, kind: product, url: "https://www.china-airlines.com/kr/ko", inspected: "2026-07-13" }
18
+ - { id: surface-2, kind: corporate, url: "https://www.china-airlines.com/kr/ko/about-china-airlines/about-us", inspected: "2026-07-13" }
19
+ - { id: surface-3, kind: corporate, url: "https://www.china-airlines.com/kr/ko/about-china-airlines/corporate-governance", inspected: "2026-07-13" }
20
+ sources:
21
+ - { id: home-live, kind: product-surface, url: "https://www.china-airlines.com/kr/ko", captured: "2026-07-13" }
22
+ - { id: about-live, kind: product-surface, url: "https://www.china-airlines.com/kr/ko/about-china-airlines/about-us", captured: "2026-07-13" }
23
+ - { id: governance-live, kind: product-surface, url: "https://www.china-airlines.com/kr/ko/about-china-airlines/corporate-governance", captured: "2026-07-13" }
24
+ - { id: design-story, kind: official-doc, url: "https://www.china-airlines.com/it/en/about-us/design-story", captured: "2026-07-13" }
25
+ - { id: sustainability-vision, kind: official-doc, url: "https://calec.china-airlines.com/csr/en/aboutus.html", captured: "2026-07-13" }
26
+ - { id: brand-center, kind: brand-asset, url: "https://brandcenter.china-airlines.com/", captured: "2026-07-13" }
27
+ - { id: roboto-license, kind: license, url: "https://github.com/googlefonts/roboto-2/blob/main/LICENSE", captured: "2026-07-13" }
28
+ - { id: noto-license, kind: license, url: "https://notofonts.github.io/noto-docs/website/use/", captured: "2026-07-13" }
29
+ conflicts: []
30
+ claims:
31
+ "tokens.colors.canvas": &home { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
32
+ "tokens.colors.ink": *home
33
+ "tokens.colors.primary": *home
34
+ "tokens.colors.primary-bright": *home
35
+ "tokens.colors.booking-accent": *home
36
+ "tokens.colors.on-primary": *home
37
+ "tokens.colors.muted": *home
38
+ "tokens.colors.hairline": *home
39
+ "tokens.colors.soft-blue": *home
40
+ "tokens.colors.soft-blue-border": *home
41
+ "tokens.typography.body.size": *home
42
+ "tokens.typography.body.weight": *home
43
+ "tokens.typography.body.lineHeight": *home
44
+ "tokens.typography.body.tracking": *home
45
+ "tokens.typography.body.use": *home
46
+ "tokens.typography.action.size": *home
47
+ "tokens.typography.action.weight": *home
48
+ "tokens.typography.action.lineHeight": *home
49
+ "tokens.typography.action.tracking": *home
50
+ "tokens.typography.action.use": *home
51
+ "tokens.typography.section-heading.size": *home
52
+ "tokens.typography.section-heading.weight": *home
53
+ "tokens.typography.section-heading.lineHeight": *home
54
+ "tokens.typography.section-heading.tracking": *home
55
+ "tokens.typography.section-heading.use": *home
56
+ "tokens.spacing.action-x": *home
57
+ "tokens.spacing.menu-end": *home
58
+ "tokens.spacing.dialog-viewport": *home
59
+ "tokens.rounded.control": *home
60
+ "tokens.rounded.dialog": &dialog { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
61
+ "tokens.rounded.pill": *home
62
+ "tokens.shadow.dialog": *dialog
63
+ "tokens.components.action-primary-blue.type": *home
64
+ "tokens.components.action-primary-blue.bg": *home
65
+ "tokens.components.action-primary-blue.fg": *home
66
+ "tokens.components.action-primary-blue.radius": *home
67
+ "tokens.components.action-primary-blue.padding": *home
68
+ "tokens.components.action-primary-blue.height": *home
69
+ "tokens.components.action-primary-blue.font": *home
70
+ "tokens.components.action-primary-blue.states": *home
71
+ "tokens.components.action-primary-blue.use": *home
72
+ "tokens.components.selected-menu-option.type": &menu_option { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
73
+ "tokens.components.selected-menu-option.bg": *menu_option
74
+ "tokens.components.selected-menu-option.fg": *menu_option
75
+ "tokens.components.selected-menu-option.radius": *menu_option
76
+ "tokens.components.selected-menu-option.padding": *menu_option
77
+ "tokens.components.selected-menu-option.height": *menu_option
78
+ "tokens.components.selected-menu-option.font": *menu_option
79
+ "tokens.components.selected-menu-option.states": *menu_option
80
+ "tokens.components.selected-menu-option.use": *menu_option
81
+ "tokens.components.search-dialog.type": *dialog
82
+ "tokens.components.search-dialog.bg": *dialog
83
+ "tokens.components.search-dialog.fg": *dialog
84
+ "tokens.components.search-dialog.radius": *dialog
85
+ "tokens.components.search-dialog.shadow": *dialog
86
+ "tokens.components.search-dialog.states": *dialog
87
+ "tokens.components.search-dialog.use": *dialog
88
+ tokens:
89
+ source: live-extract
90
+ extracted: "2026-07-13"
91
+ components_harvested: true
92
+ colors:
93
+ canvas: "#ffffff"
94
+ ink: "#17181c"
95
+ primary: "#23569d"
96
+ primary-bright: "#1d6dcd"
97
+ booking-accent: "#d81159"
98
+ on-primary: "#ffffff"
99
+ muted: "#69707a"
100
+ hairline: "#8e959f"
101
+ soft-blue: "#f1f8fd"
102
+ soft-blue-border: "#9fd1f1"
103
+ typography:
104
+ body: { size: 16, weight: 400, lineHeight: 28, tracking: 0.16, use: "Measured public-web body and list text; no brand family token" }
105
+ action: { size: 16, weight: 500, lineHeight: 28, tracking: 0.16, use: "Measured public-web primary-action text; no brand family token" }
106
+ section-heading: { size: 40, weight: 500, lineHeight: 56, tracking: 0, use: "Measured public-web section heading; no brand family token" }
107
+ spacing: { action-x: 20, menu-end: 24, dialog-viewport: 40 }
108
+ rounded: { control: 8, dialog: 20, pill: 40 }
109
+ shadow:
110
+ dialog: "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(23, 24, 28, 0.12) 0px 2px 4px 0px, rgba(23, 24, 28, 0.09) 0px 4px 28px 0px, rgba(23, 24, 28, 0.04) 0px 4px 16px 0px, rgba(23, 24, 28, 0.04) 0px 60px 50px 0px, rgba(23, 24, 28, 0.1) 0px 20px 32px 0px, rgba(23, 24, 28, 0.1) 0px 0px 0px 0px"
111
+ components:
112
+ action-primary-blue: { type: button, bg: "#23569d", fg: "#ffffff", radius: "8px", padding: "0px 20px", height: "56px", font: "16px / 500", states: "default observed on all three captured public surfaces; no altered pseudo-state captured", use: "Primary blue public-web action; `home::[data-omd-capture=\"99\"]`" }
113
+ selected-menu-option: { type: button, bg: "#ffffff", fg: "#23569d", radius: "8px", padding: "0px 12px", height: "48px", font: "16px / 500", states: "expanded menu and selected option state observed (`aria-selected=true`)", use: "Selected option button in the captured public booking/menu control; `home::[data-omd-capture=\"88\"]`" }
114
+ search-dialog: { type: dialog, bg: "#ffffff", fg: "#000000", radius: "20px", shadow: "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(23, 24, 28, 0.12) 0px 2px 4px 0px, rgba(23, 24, 28, 0.09) 0px 4px 28px 0px, rgba(23, 24, 28, 0.04) 0px 4px 16px 0px, rgba(23, 24, 28, 0.04) 0px 60px 50px 0px, rgba(23, 24, 28, 0.1) 0px 20px 32px 0px, rgba(23, 24, 28, 0.1) 0px 0px 0px 0px", states: "default shell and dialog-open state observed", use: "Public search dialog shell; `home::div[role=dialog]`" }
115
+ ---
116
+
117
+ # 中華航空 — Design Reference
118
+
119
+ ## 1. Visual Theme & Atmosphere
120
+
121
+ China Airlines is Taiwan’s international carrier, founded in 1959, whose public passenger site connects ticketing and travel-service tasks with a broader corporate story of safe, reliable global connection. Its digital surface is deliberately more utilitarian than the cabin identity: white planes, dark ink, disciplined blue actions, muted gray utility controls, and compact 8px corners let booking and navigation carry the page. The distinctive brand expression lives most strongly in the relationship between that calm service layer and the company’s design story: Oriental aesthetics, local inspirations, a home-away-from-home feeling, and warm blessings shape the cabin experience. The current corporate direction was refreshed in 2024 around “Believe we can always do better,” a mission to create more wonderful moments through flying, and a vision of leading Asia-Pacific while flying worldwide. These are official company and cabin-design narratives, not an extrapolation of the three captured web surfaces.
122
+
123
+ - **Reserved service foundation:** observed public-web canvas `#ffffff`, ink `#17181c`, and gray utility text `#69707a` keep high-density travel tasks legible.
124
+ - **Layered blue:** `#23569d` is the observed standard blue action and selected-option text; `#1d6dcd` appears on a circular public action. Neither value is claimed for an authenticated mobile app or cabin surface.
125
+ - **One local booking accent:** `#d81159` is a measured home action fill, retained as a local booking accent rather than a global brand-primary claim.
126
+ - **Cultural expression belongs to its own domain:** persimmon, Song-dynasty references, local landscapes, and sapphire details are official cabin-design context, not web token evidence.
127
+
128
+ ## 2. Color Palette & Roles
129
+
130
+ ### Observed public-web roles
131
+
132
+ - **Canvas** (`#ffffff`): visible page, menu-option, and dialog surfaces across the captured public site.
133
+ - **Ink** (`#17181c`): primary public control and body text.
134
+ - **Primary blue** (`#23569d`): 56px public action and selected menu-option text.
135
+ - **Bright blue** (`#1d6dcd`): observed circular public action; scoped to that control.
136
+ - **Booking accent** (`#d81159`): observed 64px home action; this is a local measured surface, not a universal semantic status color.
137
+ - **Muted utility** (`#69707a`) and **hairline** (`#8e959f`): search/utility control text and borders.
138
+ - **Soft blue surface** (`#f1f8fd`) with **soft blue border** (`#9fd1f1`): dialog-open chip controls.
139
+
140
+ The cabin’s sapphire and other material/color references are documented by the official design story but are not folded into this public-web palette. No error or success role is promoted: the supplied capture does not establish one.
141
+
142
+ ## 3. Typography Rules
143
+
144
+ ### Evidence classes
145
+
146
+ - **Live computed public-web use:** visible Korean public-site samples resolve to `Roboto, Arial, "Noto Sans KR", sans-serif`; the bundle reports 1,161 Roboto uses but classifies the family as `system`, explicitly describing it as an operating-system stack. Measured sizes, weights, line heights, and tracking are retained, but no `tokens.typography.family.ui` is emitted and no fallback is presented as a China Airlines typeface.
147
+ - **Official product-use:** no official announcement in the reviewed sources says that a named typeface is the airline’s product or brand typeface. None is promoted.
148
+ - **Official distributed brand asset:** the official Brand Center is an authenticated asset portal in the reviewed session; no downloadable or inspectable font asset was available. It contributes no font claim.
149
+ - **Declared-only:** Noto Sans JP, KR, SC, TC, Thai, and swiper-icons have supplied `@font-face` declarations but zero visible uses. They remain declared-only. Noto’s OFL and Roboto’s Apache-2.0 sources describe third-party font licensing, not a grant of China Airlines brand assets.
150
+ - **Unobserved domains:** no authenticated product app, mobile app, documentation system, or cabin UI was captured; their typography is absent rather than inferred.
151
+
152
+ ### Measured public-web hierarchy
153
+
154
+ | Role | Size | Weight | Line height | Tracking | Boundary |
155
+ |---|---:|---:|---:|---:|---|
156
+ | Body/list text | 16px | 400 | 28px | 0.16px | Public web only; family unresolved as a brand fact |
157
+ | Primary action | 16px | 500 | 28px | 0.16px | `home::[data-omd-capture="99"]` |
158
+ | Section heading | 40px | 500 | 56px | 0px | Observed public-web heading cluster |
159
+
160
+ ## 4. Components
161
+
162
+ All component values are measured on the supplied 1440×900 public passenger and corporate surfaces. A component is included only where the packet provides a selector/surface-backed default geometry. The `states` summaries report only observed menu/dialog state; they do not imply hover, focus, pressed, disabled, error, or motion values unless stated.
163
+
164
+ ### Primary blue action
165
+
166
+ **Default**
167
+ - Background: `#23569d`
168
+ - Text: `#ffffff`
169
+ - Radius: `8px`
170
+ - Padding: `0px 20px`
171
+ - Height: `56px`
172
+ - Font: `16px / 500` measured metrics; family is not a brand token
173
+ - States: default observed on all three captured public surfaces; no altered pseudo-state captured
174
+ - Use: primary blue public-web action; evidence `home::[data-omd-capture="99"]`
175
+
176
+ ### Selected menu option
177
+
178
+ **Selected**
179
+ - Background: `#ffffff`
180
+ - Text: `#23569d`
181
+ - Radius: `8px`
182
+ - Padding: `0px 12px`
183
+ - Height: `48px`
184
+ - Font: `16px / 500` measured metrics; family is not a brand token
185
+ - States: expanded menu and selected option state observed (`aria-selected=true`)
186
+ - Use: selected option button in the public booking/menu control; evidence `home::[data-omd-capture="88"]`
187
+
188
+ ### Search dialog
189
+
190
+ **Default shell**
191
+ - Background: `#ffffff`
192
+ - Text: `#000000`
193
+ - Radius: `20px`
194
+ - Shadow: `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(23, 24, 28, 0.12) 0px 2px 4px 0px, rgba(23, 24, 28, 0.09) 0px 4px 28px 0px, rgba(23, 24, 28, 0.04) 0px 4px 16px 0px, rgba(23, 24, 28, 0.04) 0px 60px 50px 0px, rgba(23, 24, 28, 0.1) 0px 20px 32px 0px, rgba(23, 24, 28, 0.1) 0px 0px 0px 0px`
195
+ - States: default shell and dialog-open state observed
196
+ - Use: public search dialog shell; evidence `home::div[role=dialog]`
197
+
198
+ ---
199
+ **Verified:** 2026-07-13
200
+ **Tier 1 sources:** `https://www.china-airlines.com/kr/ko` (public passenger web), `https://www.china-airlines.com/kr/ko/about-china-airlines/about-us` (corporate public web), `https://www.china-airlines.com/kr/ko/about-china-airlines/corporate-governance` (corporate public web), `https://www.china-airlines.com/it/en/about-us/design-story` (official design context), `https://calec.china-airlines.com/csr/en/aboutus.html` (official current mission, vision, and values)
201
+ **Tier 2 sources:** `https://getdesign.md/china-airlines` (attempted; unavailable to the search environment), `https://styles.refero.design/?q=China%20Airlines` (attempted; unavailable to the search environment)
202
+ **Conflicts unresolved:** none
203
+
204
+ ## 5. Layout Principles
205
+
206
+ - **Public task controls:** the blue action uses 20px horizontal padding at 56px height; selected menu options use 12px horizontal padding at 48px height.
207
+ - **Menu rhythm:** the captured dark menu item uses `6px 24px 6px 0px` padding and a 40px row height. Its 24px end spacing is an observed local metric, not a universal grid.
208
+ - **Modal restraint:** the default search dialog uses a 20px radius. The surrounding modal viewport carries 40px padding in the desktop capture.
209
+ - **Boundary:** no responsive breakpoint or mobile reflow is promoted from this single desktop capture.
210
+
211
+ ## 6. Depth & Elevation
212
+
213
+ Most captured public controls report no shadow. The one reusable elevation observation is the white public search dialog: layered low-opacity ink shadows separate it from the backdrop. This is a dialog-specific depth value, not a general card or floating-panel scale.
214
+
215
+ ## 7. Do's and Don'ts
216
+
217
+ ### Do
218
+
219
+ - Keep public travel-task surfaces white, calm, and text-led, using the measured `#23569d` blue for the documented action context.
220
+ - Use the 8px control and 20px dialog corners only in their observed public-web contexts.
221
+ - Preserve the distinction between observed service UI and the official cabin narrative of Asian aesthetics and local inspiration.
222
+ - Leave the brand typeface unresolved when the target project cannot prove a licensed China Airlines font.
223
+
224
+ ### Don't
225
+
226
+ - Do not represent Roboto, Arial, or a system fallback as China Airlines’ proprietary UI font.
227
+ - Do not turn the locally observed pink booking action into a global error, success, or brand-primary color.
228
+ - Do not infer hover, focus, pressed, disabled, validation, or accessibility behavior from class names or unmeasured CSS.
229
+ - Do not carry public web tokens into the cabin, mobile app, authenticated product, or documentation experience without direct evidence.
230
+
231
+ ## 8. Responsive Behavior
232
+
233
+ The supplied bundle records a 1440×900 desktop viewport only. It does not establish breakpoints, touch targets, mobile navigation, responsive card behavior, or dialog resizing rules. The official product site is global and likely responsive, but those values are absent at the smallest unresolved boundary.
234
+
235
+ ## 9. Agent Prompt Guide
236
+
237
+ Use this reference for a China Airlines-like **public travel-service surface**: a white and navy operational plane, compact 8px controls, one strong 56px blue action, quiet gray utility controls, and a carefully elevated 20px search dialog. Pair that service clarity with culturally grounded imagery only when the project has its own rights and evidence; cabin metaphors such as persimmon, Song-dynasty calm, and local landscape are official context, not a request to reproduce airline assets. Do not name or substitute a China Airlines font.
238
+
239
+ ## 10. Voice & Tone
240
+
241
+ Official current language is aspirational but practical: safe, reliable, efficient service connects people worldwide, while the mission centers on wonderful moments through flying. The cabin-design story adds warmth, welcome, cultural depth, and a sense of journey. This is public brand direction, not a documented transactional-error-copy specification.
242
+
243
+ | Context | Direction |
244
+ |---|---|
245
+ | Travel task | Be concise, clear, and reliable. |
246
+ | Welcome | Offer warmth without becoming casual or decorative. |
247
+ | Brand narrative | Connect travel with Taiwan, culture, and thoughtful service. |
248
+
249
+ **Official wording samples**
250
+
251
+ - *“Create more wonderful moments through flying.”* — official mission.
252
+ - *“Leading Asia-Pacific, Flying Worldwide.”* — official vision.
253
+ - *“Believe we can always do better.”* — official value.
254
+
255
+ ## 11. Brand Narrative
256
+
257
+ China Airlines’ official company profile dates the airline’s founding to 16 December 1959. Its current corporate direction, refreshed in 2024 after a review of market and operating conditions, joins a global-connection vision with the mission of creating more wonderful moments through flying. The same official material explicitly connects the strategy to safe, reliable, efficient, and excellent service rather than to visual style alone.
258
+
259
+ The official design story locates the experiential expression in cultural continuity: Oriental aesthetics, local inspirations, home-like comfort, and warm blessings inform the cabin. Persimmon wood, mountain landscapes, Song-dynasty references, and sapphire details are described as part of that cabin experience. These are source-specific material and service narratives, not a claim that the captured public website implements the same visual system.
260
+
261
+ ## 12. Principles
262
+
263
+ 1. **Safety and reliability anchor the journey.** The official vision calls out safe, reliable, efficient, and excellent service. *UI implication:* make important travel decisions explicit and calm before adding brand decoration.
264
+ 2. **Warmth is part of service, not an interruption to it.** The company mission focuses on wonderful moments through flying, while the cabin story frames welcome and home-like comfort. *UI implication:* use human, reassuring language around passenger moments without obscuring operational information.
265
+ 3. **Local culture can travel globally.** Official cabin material connects Asian aesthetics and local inspirations to an international journey. *UI implication:* use culturally specific imagery or stories only with direct rights, relevance, and a clear contextual role.
266
+ 4. **Improve continuously.** “Believe we can always do better” is the company’s stated value. *UI implication:* prefer transparent recovery and clear next steps over pretending an uncertain travel task succeeded.
267
+
268
+ The UI implications are this reference’s interpretation of official positioning, not published China Airlines product rules.
269
+
270
+ ## 13. Personas
271
+
272
+ No named or fictional personas are asserted. Official material addresses passengers seeking a satisfactory flight experience and describes a worldwide network supported by safe, reliable, efficient service. The official sustainability framework also names employees, communities, partners, and other stakeholders. These audience groups are a scope boundary, not user-research personas or a claim about authenticated-product roles.
273
+
274
+ ## 14. States
275
+
276
+ Only menu expansion and a search-dialog opening were observed in the supplied public-web capture. No empty, loading, success, error, form-validation, or transactional recovery state is established.
277
+
278
+ | Category | Evidence | Guidance boundary |
279
+ |---|---|---|
280
+ | Menu open | Observed on all three captured public surfaces | Preserve the measured selected option only; no hover/focus claim. |
281
+ | Dialog open | Observed on all three captured public surfaces | Preserve shell geometry and shadow only. |
282
+ | Empty | Not captured | Omit. |
283
+ | Loading | Not captured | Omit. |
284
+ | Error | Not captured | Omit. |
285
+ | Success | Not captured | Omit. |
286
+ | Disabled | A separate circular control was captured disabled, but it is not a promoted component variant | Do not generalize a disabled treatment. |
287
+ | Skeleton | Not captured | Omit. |
288
+
289
+ ## 15. Motion & Easing
290
+
291
+ The bundle records nine interaction captures across menu and dialog opens, but it does not expose a measured duration, easing curve, or reduced-motion rule. No motion token is established. Static component geometry remains valid; unobserved animated states are omitted rather than invented.