oh-my-design-cli 1.8.7 → 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 (247) 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 +1995 -38
  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/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -4,249 +4,294 @@ name: K bank
4
4
  country: KR
5
5
  category: fintech
6
6
  homepage: "https://www.kbanknow.com"
7
- primary_color: "#0046ff"
7
+ primary_color: "#0114a7"
8
8
  logo:
9
9
  type: favicon
10
10
  slug: "https://www.google.com/s2/favicons?domain=kbanknow.com&sz=256"
11
- verified: "2026-05-14"
11
+ verified: "2026-07-13"
12
12
  omd: "0.1"
13
+ verification_v2:
14
+ schema: 2
15
+ checked: "2026-07-13"
16
+ surfaces:
17
+ - { id: home, kind: public-product-web, url: "https://www.kbanknow.com/web/web-home/home/main", inspected: "2026-07-13" }
18
+ - { id: product-index, kind: public-product-web, url: "https://www.kbanknow.com/web/product/info/list?tab=deposit", inspected: "2026-07-13" }
19
+ - { id: product-curious, kind: public-product-web, url: "https://www.kbanknow.com/web/product/deposit/curious-saving", inspected: "2026-07-13" }
20
+ - { id: product-rolling, kind: public-product-web, url: "https://www.kbanknow.com/web/product/deposit/rolling-farm", inspected: "2026-07-13" }
21
+ - { id: product-one-card, kind: public-product-web, url: "https://www.kbanknow.com/web/product/card/one-card", inspected: "2026-07-13" }
22
+ sources:
23
+ - { id: product-home, kind: product-surface, url: "https://www.kbanknow.com/web/web-home/home/main", captured: "2026-07-13" }
24
+ - { id: product-index-source, kind: product-surface, url: "https://www.kbanknow.com/web/product/info/list?tab=deposit", captured: "2026-07-13" }
25
+ - { id: product-curious-source, kind: product-surface, url: "https://www.kbanknow.com/web/product/deposit/curious-saving", captured: "2026-07-13" }
26
+ - { id: product-rolling-source, kind: product-surface, url: "https://www.kbanknow.com/web/product/deposit/rolling-farm", captured: "2026-07-13" }
27
+ - { id: product-one-card-source, kind: product-surface, url: "https://www.kbanknow.com/web/product/card/one-card", captured: "2026-07-13" }
28
+ - { id: brand-resource, kind: brand-asset, url: "https://brand.kbanknow.com/resource.html", captured: "2026-07-13" }
29
+ - { id: brand-story, kind: official-doc, url: "https://brand.kbanknow.com/", captured: "2026-07-13" }
30
+ - { id: culture-story, kind: official-doc, url: "https://blog.kbanknow.com/%EC%BC%80%EB%AF%B8%EC%BD%94%EB%93%9C-1%ED%8E%B8-%EC%BC%80%EB%AF%B8%EC%BD%94%EB%93%9C-%ED%83%84%EC%83%9D-%EA%B8%B0%EB%A1%9D-%EC%9D%91%EC%95%A0%F0%9F%90%A3/", captured: "2026-07-13" }
31
+ conflicts: []
32
+ claims:
33
+ "tokens.colors.primary": { surface_id: home, source_id: product-home, method: computed-style-and-official-brand-guide, captured: "2026-07-13" }
34
+ "tokens.colors.secondary": { surface_id: home, source_id: product-home, method: computed-style-and-official-brand-guide, captured: "2026-07-13" }
35
+ "tokens.colors.canvas": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
36
+ "tokens.colors.foreground": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
37
+ "tokens.typography.family.ui": { surface_id: home, source_id: product-home, method: computed-style-and-FontFaceSet, captured: "2026-07-13" }
38
+ "tokens.typography.body.size": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
39
+ "tokens.typography.body.weight": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
40
+ "tokens.typography.body.lineHeight": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
41
+ "tokens.typography.body.use": { surface_id: home, source_id: product-home, method: selector-provenance, captured: "2026-07-13" }
42
+ "tokens.typography.product-display.size": { surface_id: product-curious, source_id: product-curious-source, method: computed-style, captured: "2026-07-13" }
43
+ "tokens.typography.product-display.weight": { surface_id: product-curious, source_id: product-curious-source, method: computed-style, captured: "2026-07-13" }
44
+ "tokens.typography.product-display.lineHeight": { surface_id: product-curious, source_id: product-curious-source, method: computed-style, captured: "2026-07-13" }
45
+ "tokens.typography.product-display.tracking": { surface_id: product-curious, source_id: product-curious-source, method: computed-style, captured: "2026-07-13" }
46
+ "tokens.typography.product-display.use": { surface_id: product-curious, source_id: product-curious-source, method: selector-provenance, captured: "2026-07-13" }
47
+ "tokens.spacing.compact-action-inline": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
48
+ "tokens.spacing.wide-action-inline": { surface_id: product-curious, source_id: product-curious-source, method: computed-style, captured: "2026-07-13" }
49
+ "tokens.rounded.compact-action": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
50
+ "tokens.rounded.primary-action": { surface_id: product-curious, source_id: product-curious-source, method: computed-style, captured: "2026-07-13" }
51
+ "tokens.rounded.selected-tab": { surface_id: product-index, source_id: product-index-source, method: computed-style-and-aria-selected, captured: "2026-07-13" }
52
+ "tokens.shadow.none": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
53
+ "tokens.components.public-home-shell.type": { surface_id: home, source_id: product-home, method: selector-provenance, captured: "2026-07-13" }
54
+ "tokens.components.public-home-shell.bg": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
55
+ "tokens.components.public-home-shell.radius": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
56
+ "tokens.components.public-home-shell.shadow": { surface_id: home, source_id: product-home, method: computed-style, captured: "2026-07-13" }
57
+ "tokens.components.public-home-shell.use": { surface_id: home, source_id: product-home, method: selector-provenance, captured: "2026-07-13" }
13
58
  tokens:
14
- source: prose-derived
15
- extracted: "2026-06-09"
16
- note: "primary = signature K bank Navy #0114a7 (sole brand primary); lime #b6f23d is the sparing energetic accent"
59
+ source: reconciled
60
+ extracted: "2026-07-13"
61
+ note: "Product tokens are selector-backed values from the supplied six-route public-web capture. The official resource center corroborates the two blue brand colors and Pretendard K Edition as a brand font, but does not create extra product components or states."
17
62
  colors:
18
63
  primary: "#0114a7"
19
- brand: "#0114a7"
20
- accent-lime: "#b6f23d"
21
- accent-sell: "#047af1"
64
+ secondary: "#4262ff"
22
65
  canvas: "#ffffff"
23
- foreground: "#020616"
24
- muted: "#67748e"
25
- on-primary: "#ffffff"
26
- surface: "#f7f9fd"
27
- surface-strong: "#edf1f7"
28
- hairline: "#e0e6f1"
29
- body: "#252b37"
30
- info: "#066ae5"
31
- action: "#2539e9"
32
- error: "#e23a32"
33
- warning: "#e46f00"
34
- success: "#69a305"
66
+ foreground: "#000000"
35
67
  typography:
36
- family: { sans: "Pretendard K Edition", mono: "SF Mono" }
37
- body: { size: 14, weight: 400, lineHeight: "normal", use: "Standard body text" }
38
- cta: { size: 18, weight: 500, use: "Button label, medium weight not bold" }
39
- spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32 }
40
- rounded: { sm: 0, md: 0, lg: 12, full: 9999 }
68
+ family: { ui: "Pretendard K Edition" }
69
+ body: { size: 16, weight: 400, lineHeight: "normal", use: "Observed public-web home body and compact action control; do not generalize to native or authenticated banking." }
70
+ product-display: { size: 44, weight: 700, lineHeight: "59.4px", tracking: "-0.22px", use: "Observed on the supplied public deposit-product pages only." }
71
+ spacing:
72
+ compact-action-inline: 14
73
+ wide-action-inline: 28
74
+ rounded:
75
+ compact-action: 8
76
+ primary-action: 10
77
+ selected-tab: 0
41
78
  shadow:
42
- none: "Elevation conveyed through 1px borders and g200/g300 fills, not Z-axis"
79
+ none: "none"
43
80
  components_harvested: true
44
81
  components:
45
- button-primary: { type: button, bg: "#0114a7", fg: "#ffffff", radius: "12px", height: "56px", font: "18px / 500", use: "Primary CTA, medium weight on navy fill" }
46
- listItem-link: { type: listItem, fg: "#020616", use: "Nav/body links, underline on hover, dense 14px" }
47
- card-tile: { type: card, bg: "#ffffff", border: "1px solid #e0e6f1", radius: "0px", shadow: "none", use: "Square-cornered product tiles separated by 1px borders" }
48
- badge-info: { type: badge, bg: "#d1ecff", fg: "#066ae5", use: "Informational banner state" }
49
- badge-action: { type: badge, bg: "#e6ebff", fg: "#2539e9", use: "Promo / opportunity callout" }
50
- badge-neutral: { type: badge, bg: "#edf1f7", fg: "#4d596f", use: "Quiet badge / chip" }
51
- badge-error: { type: badge, bg: "#ffe5e0", fg: "#e23a32", use: "Failure / fraud alert" }
82
+ public-home-shell: { type: card, bg: "transparent", radius: "0px", shadow: "none", use: "Observed static home shell at home::div.mainCardWrapper.css-x2jyed; not a general card family." }
52
83
  ---
53
84
 
54
85
  # K bank — Design Reference
55
86
 
56
- > 케이뱅크 — Korea's first internet-only bank (launched 2017). State-licensed digital-only commercial bank; sibling category to Toss Bank and Kakao Bank, but with the most "traditional bank" posture of the three: navy-led, document-forward, partnership-driven (KT, Woori, Bain, MBK).
57
-
58
- K bank reads as a **regulated bank that happens to be app-native**, not a fintech wearing a bank licence. The visual signal is conservative, the IA is product-catalog-first, and the language defaults to formal `~합니다` rather than the colloquial `~해요` of Toss. The interesting tension: an otherwise austere navy palette is paired with one shockingly bright lime (`#B6F23D`) reserved as the energetic accent — a calculated rule-breaker.
59
-
60
- ---
61
-
62
87
  ## 1. Visual Theme & Atmosphere
63
88
 
64
- **K bank** is South Korea's first internet-only bank (launched 2017, KT-led consortium 2021 KT Strategic Investment recap 2024 IPO preparation). The product surface reads as a neobank that refuses both fintech-startup playfulness and legacy-bank gravitas: a near-white canvas anchored by a single signature **K bank Navy `#0114A7`**, an energetic **Lime `#B6F23D`** accent used sparingly on activation states, and a tight Pretendard type ladder. Skip-link primary, body 16px / 400 #1A1A1A on white, fixed 1280px desktop canvas — the chrome is sober, mobile-first-translated-to-desktop, and image-replacement H1 (font-size:0) is still in use, which surfaces concrete a11y debt (`a11y_landmark_violation` documented in §8). Where the prior batch's Toss leans warm-trust and KakaoBank leans playful-yellow, K bank leans **executive-restraint**: the brand is the navy, the navy is the trust, and chrome elsewhere stays out of the way.
65
-
66
- ## 1.1 Foundation tokens (live-captured)
67
-
68
-
69
- All values pulled from `getComputedStyle(document.documentElement)` on `https://www.kbanknow.com` — see `assets/_reference/tokens.json` for the full machine-readable set and `assets/_reference/.live-inspect-proof.json` for raw samples.
70
-
71
- ### Color — brand
72
- | Token | Value | Role |
73
- |---|---|---|
74
- | `--color-navy` | `#0114A7` | Signature K bank navy. Sole brand-positive primary. Used on skip-link, CTAs, key labels. |
75
- | `--color-lime` | `#B6F23D` | Energetic accent. Sparingly applied — never on body text, never on form chrome. |
76
- | `--txt-pri-sell` | `#047AF1` | "Sell" / promo blue — used for product-detail callouts adjacent to navy primary. |
89
+ K bank is South Koreas first internet-only bank. Its official brand story describes a “pleasant financial life” built from the basics of banking—rates and fees—then carries that promise into everyday rewards, investment, safety, and connected services. The public-web product capture has a more restrained job than that broad marketing story: it uses a white canvas and black chrome with two blue actions, while product information pages mix the loaded K bank webfont with system-stack controls. K bank’s own resource center makes the blue pair and Pretendard K Edition part of its brand expression; its culture writing adds a participatory way of working. These sources explain the brand’s current public expression, but only the supplied selector-backed product capture establishes the tokens and components below.
90
+
91
+ The evidence covers five distinct public product URLs plus a duplicate home snapshot. It does not cover the authenticated app, transfer journeys, account management, documentation chrome, or native UI. Brand marketing, the resource center, and culture writing are therefore retained as context and asset evidence—not silently converted into generic banking components or product states.
92
+
93
+ **Key characteristics:**
77
94
 
78
- ### Color neutral ramp (11 stops, dual-emitted as `--color-g*` and `--txt-g*`)
79
- `g1000 #020616` `g900 #252B37` `g800 #3B4659` → `g700 #4D596F` → `g600 #67748E` → `g500 #8694B1` → `g400 #C8D2E4` → `g300 #E0E6F1` → `g200 #EDF1F7` → `g100 #F7F9FD` → `w100 #FFFFFF`. Cool-leaning grayscale (blue-tinted, not neutral) keeps the ramp coherent with the navy primary.
95
+ - White public-web canvas and black structural text
96
+ - Official dark-blue `#0114A7` and secondary blue `#4262FF`, both observed on separate public actions
97
+ - Pretendard K Edition is the loaded public-web family; selected product controls also expose an operating-system stack
98
+ - Flat, selector-local controls: 8px and 10px action corners coexist with 0px tabs and utility controls
80
99
 
81
- ### Color semantic state
82
- | State | Bg | Txt | Use |
83
- |---|---|---|---|
84
- | info | `#D1ECFF` | `#066AE5` | informational banner |
85
- | action | `#E6EBFF` | `#2539E9` | promo / opportunity callout |
86
- | neutral | `#EDF1F7` | `#4D596F` | quiet badge / chip |
87
- | error | `#FFE5E0` | `#E23A32` | failure / fraud alert |
100
+ ## 2. Layout & Grid
88
101
 
89
- ### Color extended palette
90
- `bu800 #066AE5` · `re700 #E23A32` · `og600 #E46F00` · `yl600 #B78F01` · `lm600 #69A305` · `in700 #4262FF`. Six muted hues, each kept dark/saturated enough to pass AA against `#FFFFFF`.
102
+ - The supplied collector uses a `1440×900` viewport on the home, product index, two deposit pages, and the ONE card page. The second home record is a duplicate URL, not a breakpoint or a distinct surface.
103
+ - The home’s `mainCardWrapper` is a measured static shell (`1365px × 840px`, no padding, 0px radius), not a reusable product-card or grid contract.
104
+ - Public product-page measurements include 44px tabs and 40px/48px action controls. No mobile breakpoint, authenticated layout, or responsive rule was captured.
91
105
 
92
- ### Typography
93
- - **Primary**: `Pretendard K Edition` — the Korean-optimised cut of the open-source Pretendard family. Single global family; no serif/display split.
94
- - **Stack**: `Pretendard K Edition, -apple-system, system-ui, Roboto, Helvetica Neue, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, sans-serif`.
95
- - **Body**: 14px / 400 / line-height `normal`.
96
- - **CTA**: 18px / 500 (medium, not bold) / 56px height / 12px radius. This is the only widely-rounded surface — see §3.
106
+ ## 3. Color & Typography
97
107
 
98
- ### Radius
99
- - CTA only: `12px`.
100
- - Everything else observed: `0px`. **Sharp orthogonal blocks dominate.** This is a deliberate, conservative-bank signal.
108
+ ### Color tokens
101
109
 
102
- ### Shadow
103
- - Not used on the marketing root. Elevation conveyed through 1px borders and `--color-g200/g300` background fills, not Z-axis.
110
+ - `#0114A7` — official primary color in K bank’s resource center; also the computed fill of the 48px public primary action.
111
+ - `#4262FF` official secondary color in the same resource center; also the computed fill of the 40px compact action.
112
+ - `#FFFFFF` — observed page canvas and action-label color.
113
+ - `#000000` — observed public-web structural text and transparent-control border color.
104
114
 
105
- ---
106
-
107
- ## 2. Layout & grid
115
+ The resource center additionally lists `#E0E6F1`, `#EDF1F7`, and `#F7F9FD` as brand grayscale and `#2848DF` for the icon’s dark-mode treatment. They are official brand/asset guidance, not tokens promoted from the supplied product capture.
108
116
 
109
- - **Fixed 1280px desktop canvas.** No fluid breakpoint observed on the marketing surface; mobile app is the primary product channel, web is the catalog/regulatory mirror.
110
- - Body width measured live at `1280px`, height `1126px` above-the-fold for the landing surface.
111
- - Three vertical bands: top utility row → primary nav → product-tile grid → 새소식/공지 list → footer-equivalent block.
112
- - No `<header>` / `<nav>` / `<footer>` / `<main>` landmarks — all chrome is `<div class="…">`. Logged as a11y debt in §11.
113
-
114
- ---
117
+ ### Typography evidence classes
115
118
 
116
- ## 3. Component DNA
119
+ - **Official product/brand-use:** K bank’s resource center designates Pretendard K Edition for its consistent brand image and permits Pretendard as an alternate. This is official brand guidance, not a license grant or proof of every app surface.
120
+ - **Live computed surface-use:** Pretendard K Edition is `loaded` with high confidence, 58 observed uses, and four first-party WOFF2 sources on the supplied public-web routes. It is the sole UI-family token because both computed use and FontFaceSet/source evidence are present.
121
+ - **Live system use:** `-apple-system` is a high-confidence operating-system stack on 181 observed public-page elements, including product-detail controls. It remains system evidence rather than a K bank family or a substitute for Pretendard K Edition.
122
+ - **Declared-only:** `swiper-icons` has a data-URL `@font-face` declaration and zero visible uses. It is not a text-family token.
123
+ - **Official distributed asset / license:** no separately downloadable K bank font asset or font-license terms were located in the official material reviewed. The resource-center font statement remains useful brand evidence but does not authorize rehosting or substitution.
117
124
 
118
- **Buttons**: 56px tall × 12px radius × 18px / 500 type × navy (`#0114A7`) fill + white text. Medium weight, not bold — a small but distinctive choice; most KR finance peers default to 600/700.
125
+ | Role | Size | Weight | Line height | Boundary |
126
+ |---|---:|---:|---:|---|
127
+ | Public-web body / compact action | 16px | 400 | normal | Home route; Pretendard K Edition loaded |
128
+ | Public deposit display | 44px | 700 | 59.4px | Supplied public deposit-product pages; -0.22px tracking |
129
+ | Selected product tab | 18px | 700 | 24.3px | Deposit index only; Pretendard K Edition |
119
130
 
120
- **Skip-link**: Renders visibly when focused as `padding: 10px 20px; background: #0114A7; color: #fff;` — a rare bank that ships a working "본문 바로가기" affordance.
131
+ ## 4. Components
121
132
 
122
- **Links**: Default to `g1000 #020616` body color, underline on hover (not inline-styled — relies on Pretendard's tight optical settings to keep dense 14px nav legible).
133
+ ### Public compact action
123
134
 
124
- **Cards / product tiles**: Square-cornered (`0px`), separated by 1px borders in `--color-g300 #E0E6F1`, internal padding generous. No drop-shadow.
135
+ **Default**
136
+ - Background: `#4262FF`
137
+ - Text: `#FFFFFF`
138
+ - Radius: `8px`
139
+ - Padding: `0px 14px`
140
+ - Height: `40px`
141
+ - Font: `16px / 400 / Pretendard K Edition`
142
+ - States: Default only; no hover, pressed, focus, or disabled state captured.
143
+ - Use: `home::[data-omd-capture="3"]`; the same fingerprint occurs across the supplied public routes.
125
144
 
126
- **Form chrome**: `<input>` elements observed but kept off-DOM until interaction (`display:none` on landing) — the marketing surface is read-only, transactional flows live in the app.
145
+ ### Public primary action
127
146
 
128
- **Logo treatment**: `<h1 class="logo">` with `font-size: 0` (image-replacement) — text content `개인 / 기업` is the persona switcher, the visible logo is an inline SVG.
147
+ **Default**
148
+ - Background: `#0114A7`
149
+ - Text: `#FFFFFF`
150
+ - Radius: `10px`
151
+ - Padding: `0px 28px`
152
+ - Height: `48px`
153
+ - Font: `16px / 400 / system stack` on `product-curious::[data-omd-capture="19"]`; the duplicate home snapshot uses a 14px Pretendard K Edition instance.
154
+ - States: Default only; no hover, pressed, focus, or disabled state captured.
155
+ - Use: Supplied public deposit and card-product pages; this does not establish an authenticated-flow CTA.
129
156
 
130
- ---
157
+ ### Product index tab
131
158
 
132
- ## 4. Iconography & illustration
159
+ **Selected**
160
+ - Text: `oklch(0.47 0.024 264.308)`
161
+ - Radius: `0px`
162
+ - Padding: `10px 4px 12px`
163
+ - Height: `44px`
164
+ - Font: `18px / 700 / Pretendard K Edition`
165
+ - States: Selected is observed through `aria-selected="true"`; no transition or alternate tab state was captured.
166
+ - Use: `product-index::[data-omd-capture="14"]` on the public deposit index.
133
167
 
134
- - Minimal illustration on the marketing root (8 `<img>` total). The brand leans on type + flat color blocks for hierarchy, not custom artwork.
135
- - No icon system surfaced in `:root` tokens — icons are inlined or asset-based, not tokenised.
168
+ ### Product-index bordered choice
136
169
 
137
- ---
170
+ **Default**
171
+ - Background: `oklch(1 0 0)`
172
+ - Text: `oklch(0.301 0.016 264.308)`
173
+ - Border: `1px solid oklch(0.87 0.02 267.27)`
174
+ - Radius: `6px`
175
+ - Padding: `0px 12px`
176
+ - Height: `32px`
177
+ - Font: `16px / 400 / system stack`
178
+ - States: Default only; no interaction state captured.
179
+ - Use: `product-index::[data-omd-capture="21"]`; medium-confidence collector fingerprint, retained with its exact source boundary.
138
180
 
139
- ## 5. Motion
181
+ ### Product-detail full-width text button
140
182
 
141
- - No CSS transitions/animations declared at `:root` level (no `--motion-*` or `--duration-*` tokens). The marketing surface is static; in-app motion is out-of-scope for web inspection.
183
+ **Default**
184
+ - Text: `#000000`
185
+ - Radius: `0px`
186
+ - Padding: `16px 20px`
187
+ - Height: `60px`
188
+ - Font: `18.72px / 700 / system stack`
189
+ - States: Default only; no expansion or pressed state captured.
190
+ - Use: `product-curious::[data-omd-capture="14"]`, repeated on the supplied deposit and card product pages.
191
+
192
+ The collector reports `interactionCount: 0` and no interaction records. The selected tab is an element-state observation, not an observed tab-change interaction. No menu, dialog, validation, toast, responsive, hover, focus, pressed, disabled, or authenticated-product variant is claimed.
142
193
 
143
194
  ---
195
+ **Verified:** 2026-07-13
196
+ **Tier 1 sources:** `https://www.kbanknow.com/web/web-home/home/main`, `https://www.kbanknow.com/web/product/info/list?tab=deposit`, `https://www.kbanknow.com/web/product/deposit/curious-saving`, `https://www.kbanknow.com/web/product/deposit/rolling-farm`, `https://www.kbanknow.com/web/product/card/one-card`, `https://brand.kbanknow.com/resource.html`, `https://brand.kbanknow.com/`, and `https://blog.kbanknow.com/%EC%BC%80%EB%AF%B8%EC%BD%94%EB%93%9C-1%ED%8E%B8-%EC%BC%80%EB%AF%B8%EC%BD%94%EB%93%9C-%ED%83%84%EC%83%9D-%EA%B8%B0%EB%A1%9D-%EC%9D%91%EC%95%A0%F0%9F%90%A3/`
197
+ **Tier 2 sources:** `https://getdesign.md/kbank` and `https://styles.refero.design/?q=kbank` were both attempted with built-in web open and returned internal errors; corresponding built-in web searches returned no K bank-specific record.
198
+ **Conflicts unresolved:** none
144
199
 
145
- ## 6. Information architecture
146
-
147
- Four-tab primary nav: `개인 · 기업 · 은행소개 · 상품안내 · 고객센터 · 혜택`. Catalog-first IA, not task-first.
148
-
149
- | Group | Children |
150
- |---|---|
151
- | 은행소개 | 케이뱅크 · 투자정보 · 인재채용 · 새소식 |
152
- | 상품안내 | 예적금 · 대출 · 카드 · 투자 · 서비스 |
153
- | 고객센터 | 이용안내 · 소비자보호 · 금융사기대응 · 자료실 · 증명서 · 인증서 |
154
- | 혜택 | (single landing) |
155
-
156
- 136 anchors on the landing surface. This is a **directory-style bank site**, not a product funnel. Compare Toss, which collapses everything into a single product narrative.
200
+ ## 5. Elevation
157
201
 
158
- ---
202
+ The selector-backed public-home shell and all promoted action/tab samples have `box-shadow: none`. This is a route-level flatness observation, not a shadow scale for native banking, brand marketing, or unobserved panels.
159
203
 
160
- ## 7. Content patterns
204
+ ## 6. Spacing & Shape
161
205
 
162
- - **Notice-led hero**: top of the marketing root surfaces the most recent 공지사항 (e.g. K-패스 캐시백 지연 안내, 2026.05.06) — regulatory transparency placed above promotion.
163
- - **Date stamps everywhere**: every notice carries `YYYY.MM.DD` prefix. Provenance > excitement.
164
- - **Product naming**: short, formal nouns (`예적금 / 대출 / 카드 / 투자`) rather than benefit-led marketing names. Trust signal.
206
+ - The measured compact and primary actions use `0px 14px` / 8px and `0px 28px` / 10px respectively.
207
+ - The selected product tab is square (`0px`) with `10px 4px 12px` padding; the product-index bordered choice is 6px with `0px 12px` padding.
208
+ - The bundle also contains 2px, 3px, 4px, 6px, 8px, 10px, 12px, 16px, 20px, 24px, 28px, 32px, and 100px spacing observations. Their semantics are not promoted into a global scale.
165
209
 
166
- ---
210
+ ## 7. Iconography & Imagery
167
211
 
168
- ## 8. Accessibility posture
212
+ K bank’s official resource center publishes logo, K-bank identification icon, logo spacing, light/dark icon colors, and media-kit material. The icon guide says the K position is visually adjusted and should not be moved; it is brand-asset guidance for identifying K bank, including transfer screens, rather than a general application icon library. The supplied product collector does not identify a named SVG set, illustration ratio, or icon-component geometry. `swiper-icons` is declared but unused and must not be substituted for a K bank text or icon token.
169
213
 
170
- - ✓ Skip-link present and styled for focus visibility.
171
- - ✓ `lang="ko-KR"` declared.
172
- - ✓ Semantic heading outline H1→H2→H3 is logical.
173
- - ✗ No landmark elements (`<header>`, `<nav>`, `<main>`, `<footer>`).
174
- - ✗ `font-size: 0` logo pattern requires explicit `aria-label` — not verified on this pass.
175
- - ✗ Fixed 1280px canvas blocks responsive zoom on small viewports.
214
+ ### Do
176
215
 
177
- Overall: meaningful effort on focus order and language tagging; structural semantics behind 2026 norms.
216
+ - Keep the two blue action treatments tied to their public-web selector and surface provenance.
217
+ - Use Pretendard K Edition only where loaded public-web evidence or official brand guidance applies.
218
+ - Use the official resource center for logo and K icon treatment, keeping those assets separate from product-control tokens.
178
219
 
179
- ---
220
+ ### Don't
180
221
 
181
- ## 9. Voice (fresh paraphrase NOT verbatim)
222
+ - Generalize captured public actions to transfer, account, login, or native-app flows.
223
+ - Invent interaction states, a responsive grid, a general card family, or a documentation system from these static routes.
224
+ - Render a system fallback or `swiper-icons` as a verified K bank-branded typeface.
182
225
 
183
- - Formal Korean, `~합니다` register throughout. K bank does not use Toss-style colloquial `~해요`.
184
- - Headlines are nouns or noun-phrases, not promises. "예적금" not "돈을 모아보세요".
185
- - Notices lead with the consequence and the date, then the explanation. Apology language is reserved and short.
226
+ ## 8. Accessibility
186
227
 
187
- **Don't write**: chatty contractions, emoji, second-person imperatives.
188
- **Do write**: dated, dispassionate, action-noun headers with a single supporting sentence.
228
+ - The compact and primary actions pair white text with `#4262FF` and `#0114A7`; this reference does not substitute for a contrast or accessibility audit.
229
+ - No focus, keyboard, disabled, error, validation, or interaction snapshot was captured. A future implementation needs accessible focus and state treatments designed and verified on the relevant flow.
230
+ - The official brand resource asks that logo visibility be considered against its background. That asset rule is not evidence for control contrast, accessible names, landmarks, or mobile behavior.
189
231
 
190
- ---
232
+ ## 9. Content & Voice
191
233
 
192
- ## 10. What to steal (and what not to)
234
+ The official brand story writes about rates, fees, everyday rewards, investment, and safety in short, conversational Korean: financial life should feel closer, easier, and more pleasant. It pairs that accessible public register with precise product explanations and terms on the public product pages. K bank-inspired public marketing can explain a concrete everyday benefit plainly, but this does not establish copy rules for regulated disclosures, transaction confirmations, eligibility decisions, or errors.
193
235
 
194
- **Steal**
195
- 1. The dual-emitted token system (`--color-g*` and `--txt-g*` pointing at the same values) — lets product teams reason about role separately from value.
196
- 2. The single navy + single lime accent. Disciplined two-color brand.
197
- 3. Notice-above-promotion landing pattern. Trust-first IA.
198
- 4. Cool-tinted neutral ramp — keeps grays from clashing with the navy primary.
236
+ ## 10. Voice & Tone
199
237
 
200
- **Don't steal**
201
- 1. The 0px radius everywhere except CTA reads dated in 2026 unless you're deliberately signalling "regulated institution".
202
- 2. Fixed 1280px canvas. Not viable for any modern surface.
203
- 3. `<div>`-only chrome. Use real landmarks.
204
- 4. `font-size: 0` image-replacement on H1 logo. Use SVG + `aria-label`.
238
+ - **Everyday and benefit-led:** the brand story grounds financial features in shopping, meals, rewards, and daily situations.
239
+ - **Reassuring but specific:** public pages pair cheerful benefit language with product conditions and legal information.
240
+ - **Participatory internally:** the official culture story describes employees gathering perspectives to define a shared way of working.
205
241
 
206
- ---
242
+ ### Do
207
243
 
208
- ## 11. Open questions / gaps
244
+ - Explain a public benefit through a concrete financial situation.
245
+ - Keep conditions and eligibility explicit when a product page needs them.
246
+ - Separate public marketing language from regulated or operational copy.
209
247
 
210
- - **Tier 1 official DS lookup — negative result documented.** K bank does **not** publish a public design system site (no `design.kbanknow.com`, no Figma community kit, no GitHub `kbank-design` org as of 2026-05-14). The `:root` token system shipped in production CSS is the closest public artifact. Compared to Toss (Toss Design System site) or Kakao (Kakao Design site), K bank has chosen not to externalise its system.
211
- - Mobile-app token parity unknown — web tokens may diverge from in-app values.
212
- - Motion / animation tokens not exposed to web; would need APK inspection to confirm.
248
+ ### Don't
213
249
 
214
- ---
250
+ - Treat playful campaign language as the verified voice of every banking flow.
251
+ - Fabricate executive quotations, customer promises, or error-state language.
215
252
 
216
- ## 12. Sources & verification
253
+ ## 11. Brand Narrative
217
254
 
218
- - **Tier 1 Live inspect (production)**: `https://www.kbanknow.com/ib20/mnu/PBKMAN000000` via CDP `:9222` / `Runtime.evaluate` / `getComputedStyle`. 6 raw element samples + 43 CSS variables + 7 observed color frequencies captured. See `assets/_reference/.live-inspect-proof.json`.
219
- - **Tier 1 — Official DS site**: **No public design system found.** Searched: `design.kbanknow.com` (no DNS), GitHub `kbanknow` / `kbank` orgs (no design-system repo), Figma Community (no official K bank kit). Negative result documented here as authoritative.
220
- - **Tier 2 — Third-party indexes**: `getdesign.md/kbank` empty; `styles.refero.design/?q=kbank` and `?q=케이뱅크` both empty. Consistent with the systemic finding logged in `2026-05-13-kr10.md` (Korean coverage is weak on English-tooling-oriented directories).
221
- - **Tier 2 — Press / corp**: `kbanknow.com/ib20/mnu/PBKINT000000` (은행소개), DART filings (regulated bank, public disclosures).
222
- - **Tier 3 — Reconciliation**: All §1-§3 tokens are Tier 1 live-captured. §6 IA is Tier 1 DOM-derived. §9 voice is Tier 1 observed (notices/headings on production), paraphrased only — no verbatim copy reused. §10-§11 are analyst interpretation.
255
+ K bank’s official culture story identifies the company as South Korea’s first internet-only bank. Its current brand story frames the evolution not as finance for finance’s sake, but as a pleasant daily financial life: better basics, rewards woven into ordinary moments, access to investment, and reassurance around customers’ assets.
223
256
 
224
- **Conflicts unresolved**: none Tier 1 live capture is the single source of truth on this pass, with negative Tier 1 official-DS result explicitly documented.
257
+ That public expression is supported by a resource center that gives the brand a consistent visual vocabulary—deep and secondary blue, a K identification icon, and Pretendard K Edition—while distinguishing logo/asset guidance from the public-web UI. The public product routes in this reference show only a bounded web slice of that system; they do not prove the design of protected banking work or the native app.
225
258
 
226
- **Verified**: 2026-05-14.
259
+ ## 12. Principles
227
260
 
228
- ---
261
+ 1. **Make the financial basics feel worthwhile.** The brand story foregrounds rates, fees, and practical benefits.
262
+ *UI implication:* lead public product pages with the customer value, then keep conditions readable.
263
+ 2. **Connect finance to daily life.** The brand explicitly places banking around shopping, meals, rewards, and ordinary routines.
264
+ *UI implication:* use concrete scenarios in public education without trivializing regulated detail.
265
+ 3. **Protect confidence while broadening access.** The brand combines approachable benefits with asset reassurance, IT, and AI-security messaging.
266
+ *UI implication:* do not reuse campaign exuberance as a substitute for clear security and transaction states.
267
+ 4. **Build shared language through participation.** The culture story documents collective input into K bank’s way of working.
268
+ *UI implication:* retain provenance and evidence boundaries so product, brand, and design teams can review decisions together.
229
269
 
230
- ## 13. IP & guardrails
270
+ ## 13. Personas
231
271
 
232
- - Brand assets (logo, name, navy `#0114A7`) referenced for inspiration only — not redistributed.
233
- - No verbatim taglines or copy lifted from kbanknow.com. §9 voice paragraph is a fresh analyst paraphrase of register and structure, not transcription.
234
- - Token values are facts (CSS custom property values) and not protectable expression; they are reproduced here for engineering reference under fair-use analytical purpose.
272
+ These are source-grounded service audiences, not fictional user profiles.
235
273
 
236
- ## 14. Do's and Don'ts
274
+ - **Everyday banking customer:** the brand story addresses spending, rewards, and routine money management; protected-flow requirements were not captured.
275
+ - **Customer exploring savings, cards, or investment:** public product pages and the brand story cover these offerings, without establishing a unified dashboard UI.
276
+ - **Customer seeking reassurance:** the brand story speaks to security and asset confidence; specific support or fraud-response flows remain unobserved.
277
+ - **Internal contributor:** the culture story documents employees participating in defining shared working practices, an organizational stakeholder rather than an end user.
237
278
 
238
- ### Do
239
- - Anchor the brand on the single signature navy #0114A7 as the sole positive primary across skip-link, CTAs, and key labels
240
- - Reserve the lime accent #B6F23D for sparing energetic activation states only, keeping it off body text and form chrome
241
- - Keep surfaces sharp and orthogonal at 0px radius and apply the 12px radius exclusively to the 56px CTA
242
- - Set CTAs in Pretendard K Edition at 18px / 500 medium weight with white text on navy fill, not the 600/700 most KR finance peers default to
243
- - Convey elevation through 1px borders and cool-tinted g200/g300 fills instead of drop-shadows, using the blue-leaning neutral ramp to stay coherent with the navy
244
- - Lead the page with dated notices (YYYY.MM.DD) above promotion and write formal ~합니다 noun-phrase headers with one supporting sentence
279
+ ## 14. States
245
280
 
246
- ### Don't
247
- - Spread the lime #B6F23D accent across large areas or place it on body text and form chrome
248
- - Round corners broadly the way K bank reads dated with 0px everywhere except CTA adopt the sharpness only when deliberately signalling a regulated institution
249
- - Lock layouts to the fixed 1280px canvas, which blocks responsive zoom and is not viable for modern surfaces
250
- - Build chrome out of bare <div> elements use real <header>, <nav>, <main>, and <footer> landmarks
251
- - Hide the logo with the font-size: 0 image-replacement trick on the H1 use inline SVG with an explicit aria-label
252
- - Write chatty contractions, emoji, or second-person imperatives, or swap the formal ~합니다 register for colloquial ~해요
281
+ | Category | Evidence boundary |
282
+ |---|---|
283
+ | Empty | [FILL INno public product empty state captured] |
284
+ | Loading | [FILL IN no loading state captured] |
285
+ | Error: validation | [FILL INno validation state captured] |
286
+ | Error: transaction or service interruption | [FILL INno operational-error state captured] |
287
+ | Success | [FILL IN no public product success state captured] |
288
+ | Skeleton | [FILL IN — no skeleton state captured] |
289
+ | Disabled | [FILL IN — no disabled control captured] |
290
+ | Focus | [FILL IN — no focus-visible state captured] |
291
+ | Pressed | [FILL IN — no pressed state captured] |
292
+ | Hover | [FILL IN — no hover state captured] |
293
+ | Selected tab | Public deposit-index `aria-selected="true"` only; no selection-change interaction captured. |
294
+
295
+ ## 15. Motion & Easing
296
+
297
+ No motion, transition, easing, or interaction expansion appears in the supplied raw evidence. Motion tokens and behavioral rules remain `[FILL IN]`; the observed selected tab is not proof of a tab transition or easing curve.