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
@@ -3,566 +3,378 @@ id: kakao
3
3
  name: Kakao
4
4
  country: KR
5
5
  category: consumer-tech
6
- homepage: "https://www.kakao.com"
6
+ homepage: "https://www.kakaocorp.com/page/"
7
7
  primary_color: "#fee500"
8
8
  logo:
9
9
  type: simpleicons
10
10
  slug: kakaotalk
11
- verified: "2026-05-15"
11
+ verified: "2026-07-11"
12
12
  omd: "0.1"
13
+ ds:
14
+ name: Kakao Login Design Guide
15
+ url: "https://developers.kakao.com/docs/latest/ko/kakaologin/design-guide"
16
+ type: system
17
+ description: Official Kakao Login button compliance guidance; corporate-site design is tracked as a separate surface.
18
+ verification_v2:
19
+ schema: 2
20
+ checked: "2026-07-11"
21
+ surfaces:
22
+ - { id: corp-home, kind: marketing, url: "https://www.kakaocorp.com/page/", inspected: "2026-07-11" }
23
+ - { id: corp-culture, kind: marketing, url: "https://www.kakaocorp.com/page/about/culture", inspected: "2026-07-11" }
24
+ - { id: corp-milestones, kind: marketing, url: "https://www.kakaocorp.com/page/about/milestones", inspected: "2026-07-11" }
25
+ - { id: login-guide, kind: design-system, url: "https://developers.kakao.com/docs/ko/kakaologin/design-guide", inspected: "2026-07-11" }
26
+ sources:
27
+ - { id: corp-home-live, kind: product-surface, url: "https://www.kakaocorp.com/page/", captured: "2026-07-11" }
28
+ - { id: corp-culture-live, kind: product-surface, url: "https://www.kakaocorp.com/page/about/culture", captured: "2026-07-11" }
29
+ - { id: corp-milestones-live, kind: product-surface, url: "https://www.kakaocorp.com/page/about/milestones", captured: "2026-07-11" }
30
+ - { id: login-guide-live, kind: official-doc, url: "https://developers.kakao.com/docs/ko/kakaologin/design-guide", captured: "2026-07-11" }
31
+ claims:
32
+ "tokens.colors.login": &login_doc { surface_id: login-guide, source_id: login-guide-live, method: official-doc-rendered-text, captured: "2026-07-11" }
33
+ "tokens.colors.login-symbol": *login_doc
34
+ "tokens.colors.login-label": *login_doc
35
+ "tokens.colors.marketing": &corp_live { surface_id: corp-home, source_id: corp-home-live, method: computed-style, captured: "2026-07-11" }
36
+ "tokens.colors.dark-marketing": *corp_live
37
+ "tokens.colors.canvas": *corp_live
38
+ "tokens.colors.foreground": *corp_live
39
+ "tokens.colors.on-dark": *corp_live
40
+ "tokens.colors.muted": &milestones_live { surface_id: corp-milestones, source_id: corp-milestones-live, method: computed-style, captured: "2026-07-11" }
41
+ "tokens.colors.surface": *milestones_live
42
+ "tokens.colors.border": &culture_live { surface_id: corp-culture, source_id: corp-culture-live, method: computed-style, captured: "2026-07-11" }
43
+ "tokens.typography.family.display": *corp_live
44
+ "tokens.typography.family.text": *corp_live
45
+ "tokens.typography.family.login": *login_doc
46
+ "tokens.typography.display.size": *corp_live
47
+ "tokens.typography.display.weight": *corp_live
48
+ "tokens.typography.display.lineHeight": *corp_live
49
+ "tokens.typography.display.tracking": *corp_live
50
+ "tokens.typography.heading.size": *corp_live
51
+ "tokens.typography.heading.weight": *corp_live
52
+ "tokens.typography.heading.lineHeight": *corp_live
53
+ "tokens.typography.title.size": *corp_live
54
+ "tokens.typography.title.weight": *corp_live
55
+ "tokens.typography.title.lineHeight": *corp_live
56
+ "tokens.typography.nav.size": *corp_live
57
+ "tokens.typography.nav.weight": *corp_live
58
+ "tokens.typography.nav.lineHeight": *corp_live
59
+ "tokens.typography.body.size": *corp_live
60
+ "tokens.typography.body.weight": *corp_live
61
+ "tokens.typography.body.lineHeight": *corp_live
62
+ "tokens.typography.body-readable.size": *corp_live
63
+ "tokens.typography.body-readable.weight": *corp_live
64
+ "tokens.typography.body-readable.lineHeight": *corp_live
65
+ "tokens.typography.body-readable.tracking": *corp_live
66
+ "tokens.typography.caption.size": *corp_live
67
+ "tokens.typography.caption.weight": *corp_live
68
+ "tokens.typography.caption.lineHeight": *corp_live
69
+ "tokens.typography.caption.tracking": *corp_live
70
+ "tokens.typography.login-label.size": *login_doc
71
+ "tokens.spacing.xs": *corp_live
72
+ "tokens.spacing.sm": *corp_live
73
+ "tokens.spacing.md": *corp_live
74
+ "tokens.spacing.lg": *corp_live
75
+ "tokens.spacing.xl": *corp_live
76
+ "tokens.rounded.login": *login_doc
77
+ "tokens.rounded.marketing": *corp_live
78
+ "tokens.rounded.search": *corp_live
79
+ "tokens.rounded.footer": *milestones_live
80
+ "tokens.rounded.filter": *milestones_live
81
+ "tokens.rounded.full": *corp_live
82
+ "tokens.components.kakao-login.type": *login_doc
83
+ "tokens.components.kakao-login.bg": *login_doc
84
+ "tokens.components.kakao-login.fg": *login_doc
85
+ "tokens.components.kakao-login.radius": *login_doc
86
+ "tokens.components.kakao-login.font": *login_doc
87
+ "tokens.components.kakao-login.states": *login_doc
88
+ "tokens.components.kakao-login.use": *login_doc
89
+ "tokens.components.corporate-nav.type": *corp_live
90
+ "tokens.components.corporate-nav.bg": *corp_live
91
+ "tokens.components.corporate-nav.fg": *corp_live
92
+ "tokens.components.corporate-nav.radius": *corp_live
93
+ "tokens.components.corporate-nav.padding": *corp_live
94
+ "tokens.components.corporate-nav.height": *corp_live
95
+ "tokens.components.corporate-nav.font": *corp_live
96
+ "tokens.components.corporate-nav.states": *corp_live
97
+ "tokens.components.corporate-nav.use": *corp_live
98
+ "tokens.components.search-control.type": *corp_live
99
+ "tokens.components.search-control.bg": *corp_live
100
+ "tokens.components.search-control.fg": *corp_live
101
+ "tokens.components.search-control.radius": *corp_live
102
+ "tokens.components.search-control.height": *corp_live
103
+ "tokens.components.search-control.font": *corp_live
104
+ "tokens.components.search-control.states": *corp_live
105
+ "tokens.components.search-control.use": *corp_live
106
+ "tokens.components.dark-marketing-tag.type": *corp_live
107
+ "tokens.components.dark-marketing-tag.bg": *corp_live
108
+ "tokens.components.dark-marketing-tag.fg": *corp_live
109
+ "tokens.components.dark-marketing-tag.border": *corp_live
110
+ "tokens.components.dark-marketing-tag.radius": *corp_live
111
+ "tokens.components.dark-marketing-tag.padding": *corp_live
112
+ "tokens.components.dark-marketing-tag.height": *corp_live
113
+ "tokens.components.dark-marketing-tag.font": *corp_live
114
+ "tokens.components.dark-marketing-tag.states": *corp_live
115
+ "tokens.components.dark-marketing-tag.use": *corp_live
116
+ "tokens.components.milestone-filter.type": *milestones_live
117
+ "tokens.components.milestone-filter.bg": *milestones_live
118
+ "tokens.components.milestone-filter.fg": *milestones_live
119
+ "tokens.components.milestone-filter.radius": *milestones_live
120
+ "tokens.components.milestone-filter.padding": *milestones_live
121
+ "tokens.components.milestone-filter.height": *milestones_live
122
+ "tokens.components.milestone-filter.font": *milestones_live
123
+ "tokens.components.milestone-filter.states": *milestones_live
124
+ "tokens.components.milestone-filter.use": *milestones_live
125
+ "tokens.components.footer-pill.type": *milestones_live
126
+ "tokens.components.footer-pill.bg": *milestones_live
127
+ "tokens.components.footer-pill.fg": *milestones_live
128
+ "tokens.components.footer-pill.radius": *milestones_live
129
+ "tokens.components.footer-pill.padding": *milestones_live
130
+ "tokens.components.footer-pill.height": *milestones_live
131
+ "tokens.components.footer-pill.font": *milestones_live
132
+ "tokens.components.footer-pill.states": *milestones_live
133
+ "tokens.components.footer-pill.use": *milestones_live
134
+ conflicts: []
13
135
  tokens:
14
- source: prose-derived
15
- extracted: "2026-06-09"
16
- components_harvested: true
136
+ source: reconciled
137
+ extracted: "2026-07-11"
138
+ note: "Kakao Login compliance, Kakao corporate marketing, and Kakao Developers documentation chrome are separate evidence domains."
17
139
  colors:
18
- primary: "#fee500"
19
- marketing-yellow: "#fae100"
20
- unread: "#faeb00"
21
- base: "#1e1e1e"
140
+ login: "#fee500"
141
+ login-symbol: "#000000"
142
+ login-label: "#000000"
143
+ marketing: "#fae100"
144
+ dark-marketing: "#111111"
22
145
  canvas: "#ffffff"
23
- error: "#e02000"
24
- link: "#2196f3"
25
- success: "#47b881"
26
- warning: "#ff9800"
27
- text-primary: "#222222"
28
- text-standard: "#333333"
29
- text-secondary: "#666666"
30
- text-muted: "#808080"
31
- text-light: "#999999"
32
- text-lightest: "#bbbbbb"
33
- surface-elevated: "#f8f8f8"
34
- surface-fill: "#f0f0f0"
35
- border: "#e5e5e5"
36
- footer-fill: "#eeeeee"
37
- dark-pill: "#111111"
38
- on-primary: "#000000"
146
+ foreground: "#333333"
147
+ on-dark: "#ffffff"
148
+ muted: "#888888"
149
+ surface: "#eeeeee"
150
+ border: "#dbdbdb"
39
151
  typography:
40
- family: { sans: "-apple-system", mono: "SF Mono" }
41
- display-hero: { size: 36, weight: 800, lineHeight: 1.25, use: "Splash screens, marketing — Kakao Big Sans" }
42
- display-large: { size: 28, weight: 700, lineHeight: 1.30, use: "Service section titles — Kakao Big Sans" }
43
- heading-large: { size: 22, weight: 700, lineHeight: 1.36, use: "Screen titles, major sections" }
44
- heading: { size: 20, weight: 600, lineHeight: 1.40, use: "Navigation titles, modal headers" }
45
- title: { size: 18, weight: 600, lineHeight: 1.44, use: "Friend names, chat room titles" }
46
- body: { size: 16, weight: 400, lineHeight: 1.50, use: "Chat messages, descriptions" }
47
- body-small: { size: 14, weight: 400, lineHeight: 1.57, use: "Secondary info, metadata" }
48
- caption: { size: 13, weight: 400, lineHeight: 1.54, use: "Timestamps, status text" }
49
- caption-small: { size: 12, weight: 400, lineHeight: 1.50, use: "Fine print, badges" }
50
- micro: { size: 11, weight: 400, lineHeight: 1.45, use: "Tab bar text, smallest labels" }
51
- spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32, section: 48 }
52
- rounded: { sm: 4, md: 12, lg: 20, full: 9999 }
53
- shadow:
54
- minimal: "0px 1px 3px rgba(0,0,0,0.04)"
55
- subtle: "0px 2px 6px rgba(0,0,0,0.08)"
56
- elevated: "0px 4px 12px rgba(0,0,0,0.12)"
152
+ family: { display: "KakaoBig", text: "KakaoSmall", login: "System" }
153
+ display: { size: 53.82, weight: 700, lineHeight: "66px", tracking: "-1px" }
154
+ heading: { size: 30, weight: 700, lineHeight: "40px" }
155
+ title: { size: 28, weight: 700, lineHeight: "42px" }
156
+ nav: { size: 17, weight: 400, lineHeight: "27px" }
157
+ body: { size: 14, weight: 400, lineHeight: "21px" }
158
+ body-readable: { size: 14, weight: 400, lineHeight: "24.92px", tracking: "-0.2px" }
159
+ caption: { size: 12, weight: 400, lineHeight: "18px", tracking: "-0.2px" }
160
+ login-label: { size: "30Pt" }
161
+ spacing: { xs: 4, sm: 6, md: 8, lg: 16, xl: 20 }
162
+ rounded: { login: 12, marketing: 16, search: 18, footer: 24, filter: 30, full: 999 }
163
+ components_harvested: true
57
164
  components:
58
- button-login: { type: button, bg: "#fee500", fg: "#000000", radius: 12, padding: "12px 20px", font: "16px/600", use: "Kakao Login compliance-mandated CTA" }
59
- button-marketing-pill: { type: button, bg: "#fae100", fg: "#000000", radius: 16, padding: "7px 13px", font: "13px/700", use: "Brand marketing CTA, bordered yellow pill" }
60
- button-dark-pill: { type: button, bg: "#111111", fg: "#ffffff", radius: 16, padding: "7px 8px", font: "13px/700", use: "Marketing CTA paired with yellow pill" }
61
- button-nav-pill: { type: button, bg: "#ffffff", fg: "#000000", radius: 9999, padding: "3px 14px", font: "16px/700", use: "Top-nav active item" }
62
- button-secondary: { type: button, bg: "transparent", fg: "#333333", radius: 12, padding: "12px 20px", font: "16px/600", use: "Secondary outline action" }
63
- button-footer-pill: { type: button, bg: "#eeeeee", fg: "#000000", radius: 24, padding: "10px 20px", font: "12px/400", use: "Footer link pill" }
64
- button-danger: { type: button, bg: "#e02000", fg: "#ffffff", radius: 12, padding: "12px 20px", font: "16px/600", use: "Destructive actions" }
65
- input-default: { type: input, bg: "#ffffff", fg: "#222222", radius: 12, padding: "12px 16px", font: "16px/400", use: "Form fields" }
66
- input-chat: { type: input, bg: "#f0f0f0", fg: "#222222", radius: 20, padding: "10px 16px", font: "16px/400", use: "Chat composer" }
67
- input-search: { type: input, bg: "#f0f0f0", fg: "#222222", radius: 20, padding: "10px 16px 10px 40px", font: "14px/400", use: "Search bar" }
68
- card-standard: { type: card, bg: "#ffffff", radius: 12, padding: "16px", use: "Most surfaces — barely-there shadow" }
69
- card-bordered: { type: card, bg: "#ffffff", radius: 12, padding: "16px", use: "Inline content cards, 1px border" }
70
- bubble-mine: { type: card, bg: "#fee500", fg: "#333333", radius: 18, padding: "8px 12px", font: "14px/400", use: "Outgoing chat bubble, asymmetric 9-patch" }
71
- bubble-other: { type: card, bg: "#ffffff", fg: "#333333", radius: 18, padding: "8px 12px", font: "14px/400", use: "Incoming chat bubble" }
72
- bubble-system: { type: card, bg: "#f0f0f0", fg: "#999999", radius: 9999, padding: "4px 12px", font: "12px/400", use: "System notice in chat" }
73
- badge-notification: { type: badge, bg: "#e02000", fg: "#ffffff", radius: 9999, padding: "2px 6px", font: "11px/700", use: "Unread count" }
74
- badge-tag: { type: badge, bg: "#f0f0f0", fg: "#666666", radius: 4, padding: "2px 6px", font: "11px/500", use: "Generic metadata tag" }
75
- tab-top: { type: tab, bg: "#ffffff", fg: "#999999", padding: "12px 16px", font: "14px/600", active: "#333333 text + 2px bottom border #333333", use: "Top tab bar" }
76
- listItem-friend: { type: listItem, fg: "#222222", padding: "0 16px", use: "Friend list row, 64px height, 48px rounded-square avatar" }
165
+ kakao-login: { type: button, bg: "#fee500", fg: "rgba(0, 0, 0, 0.85)", radius: "12px", font: "30Pt / OS system", states: "full label or shortened label; hover, pressed, and disabled visuals are not specified by this guide", use: "Kakao Login only; preserve black speech-bubble symbol and mandated colors" }
166
+ corporate-nav: { type: button, bg: "#ffffff", fg: "#000000", radius: "999px", padding: "4px 16px 6px", height: "37px", font: "17px / 400 / KakaoBig", states: "light and dark theme variants; focus and hover observed", use: "top-level corporate menu trigger" }
167
+ search-control: { type: button, bg: "transparent", fg: "#333333", radius: "18px", height: "36px", font: "14px / 400 / KakaoSmall", states: "default and hover observed", use: "corporate-site circular search control" }
168
+ dark-marketing-tag: { type: badge, bg: "#111111", fg: "#ffffff", border: "2px solid #ffffff", radius: "16px", padding: "7px 8px 8px", height: "32px", font: "13px / 700 / KakaoSmall", states: "default captured", use: "dark corporate marketing tag/CTA label" }
169
+ milestone-filter: { type: button, bg: "#eeeeee", fg: "#000000", radius: "30px", padding: "8px 20px 12px", height: "44px", font: "16px / 700 / KakaoBig", states: "selected filter captured", use: "milestone category filter" }
170
+ footer-pill: { type: button, bg: "#eeeeee", fg: "#000000", radius: "24px", padding: "10px 20px 12px", height: "40px", font: "12px / 400 / KakaoSmall", states: "default captured; hover not retained", use: "corporate footer related-site pill" }
77
171
  ---
78
172
 
79
173
  # Design System Inspiration of Kakao (카카오)
80
174
 
81
175
  ## 1. Visual Theme & Atmosphere
82
176
 
83
- Kakao is the connective tissue of Korean digital life -- KakaoTalk is on virtually every smartphone in the country, and the iconic yellow is as recognizable as any global tech brand's signature. The interface presents a clean, functional canvas where conversations take center stage, accented by that unmistakable Kakao Yellow (`#FEE500`) that radiates warmth and friendliness. This isn't the cautious, muted yellow of enterprise warnings; it's full-saturation sunshine that feels like a friend's smile.
84
-
85
- The design philosophy is "모든 연결의 시작" (The Beginning of All Connections). Every decision serves communication -- the interface should be invisible enough that conversations flow naturally, yet distinctive enough that users feel at home. KakaoTalk's chat bubbles are the defining UI element: warm yellow for your messages, clean white for others', creating an instantly legible visual language that has become the standard mental model for messaging in Korea.
177
+ Kakao is a mobile-life platform whose identity is built around making communication and everyday services feel immediately approachable. Yellow, speech-bubble symbolism, friendly proprietary type, and compact Korean language create recognition before a person reads a product name. That familiarity spans many services, but it is not one transferable UI kit: the corporate site uses KakaoBig and KakaoSmall with black, white, and marketing yellow; Kakao Login is a regulated integration component; and Kakao Developers uses Pretendard only for documentation chrome. Correct reuse begins by naming the surface and relationship being designed.
86
178
 
87
- Typography is deliberately neutral -- system fonts (San Francisco on iOS, Roboto on Android) so messages feel personal, not branded. When personality is needed, the custom **Kakao Font** steps in: Big Sans for confident headlines, Small Sans for legible small-screen details. The overall aesthetic is flat, warm, and content-forward. Minimal shadows, minimal gradients, strong color coding through yellow and clean neutrals.
179
+ The clean-slate rule is therefore surface identity first: name whether a value belongs to corporate marketing, the official login integration, or documentation chrome before reusing it.
88
180
 
89
181
  **Key Characteristics:**
90
- - Kakao Yellow (`#FEE500`) as the singular brand accent -- pure sunshine
91
- - System font stack for conversations -- messages feel personal, not designed
92
- - Kakao Font (Big Sans + Small Sans) for brand display moments (OFL open-source)
93
- - Chat bubble-centric UI: yellow for self, white for others -- the defining pattern
94
- - Flat design with minimal shadow -- depth through background color layering, not elevation
95
- - Near-black (`#1E1E1E`) brand base instead of pure black -- subtle warmth
96
- - 12px border-radius as the universal standard for interactive elements
97
- - 9-patch chat bubble system for pixel-perfect messaging UI
182
+ - Corporate fonts: KakaoSmall 133 visible uses; KakaoBig 49
183
+ - Developers docs font: Pretendard 1,339 visible uses, documentation chrome only
184
+ - Login compliance: `#fee500`, black symbol, black 85% label, 12px radius, OS system font at 30Pt
185
+ - Corporate marketing yellow `#fae100` remains distinct from login yellow
98
186
 
99
187
  ## 2. Color Palette & Roles
100
188
 
101
- ### Primary
102
- - **Kakao Yellow** (`#FEE500`): Primary brand color, login button, send button, CTA accent. Compliance-mandated for Kakao Login. The iconic color.
103
- - **Near Black** (`#1E1E1E`): Brand base color (Pantone 433 C). Wordmark, symbol, primary text in corporate contexts.
104
- - **Pure White** (`#ffffff`): Chat background, card surfaces, other-person chat bubbles.
105
-
106
- ### Chat-Specific
107
- - **My Bubble** (`#FEE500`): Yellow -- your messages are sunshine.
108
- - **Other's Bubble** (`#ffffff`): Clean white with subtle `#E5E5E5` border.
109
- - **System Message** (`#F0F0F0`): Date dividers, join/leave notices.
110
- - **Unread Count** (`#FAEB00`): Yellow text on unread badge -- draws attention.
111
-
112
- ### Semantic
113
- - **Error Red** (`#E02000`): Error messages, destructive actions, critical alerts.
114
- - **Link Blue** (`#2196F3`): Hyperlinks within chat and content.
115
- - **Success Green** (`#47B881`): Completion states, verified status.
116
- - **Warning Orange** (`#FF9800`): Attention-needed states.
117
-
118
- ### Neutral Scale
119
- - **Text Primary** (`#222222`): Friend names, chat titles, strong labels.
120
- - **Text Standard** (`#333333`): Chat messages, body text, action bar titles. The workhorse.
121
- - **Text Secondary** (`#666666`): Secondary labels, descriptions.
122
- - **Text Muted** (`#808080`): Status messages, placeholder-level text.
123
- - **Text Light** (`#999999`): Captions, timestamps, system messages.
124
- - **Text Lightest** (`#BBBBBB`): Disabled text, hint text.
125
-
126
- ### Surface & Borders
127
- - **Surface Elevated** (`#F8F8F8`): Subtle elevation through background shift.
128
- - **Surface Fill** (`#F0F0F0`): Secondary surfaces, search bars, disabled fields.
129
- - **Border Default** (`#E5E5E5`): Standard borders, dividers, input outlines.
130
- - **Border Subtle** (`#F0F0F0`): Lightest borders, subtle separation.
131
- - **Overlay** (`rgba(0,0,0,0.4)`): Modal backdrops -- lighter than most systems, keeping context visible.
189
+ ### Kakao Login compliance
190
+ - **Container** (`#fee500`): mandatory login-button background.
191
+ - **Symbol** (`#000000`): mandatory speech-bubble symbol color.
192
+ - **Label** (`rgba(0, 0, 0, 0.85)`): mandatory 85% black label.
132
193
 
133
- ## 3. Typography Rules
194
+ The official guide explicitly says colors outside this regulation must not be applied and that another third-party login button must not be emphasized by omitting Kakao's button color.
134
195
 
135
- ### Font Family
136
- - **UI Primary**: `-apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", Roboto, "Noto Sans KR", "Malgun Gothic", sans-serif`
137
- - **Monospace**: `"SF Mono", SFMono-Regular, Menlo, Consolas, monospace`
138
- - **Brand Display**: `"Kakao Big Sans"` -- confident headlines, promotional banners
139
- - **Brand Body**: `"Kakao Small Sans"` -- legible small-screen brand text
140
-
141
- Kakao Font is open-source (OFL-1.1) on GitHub. Big Sans has Regular/Bold/ExtraBold weights, Small Sans has Light/Regular/Bold. Both support full Hangul (11,172 characters).
142
-
143
- ### Hierarchy
144
-
145
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
146
- |------|------|------|--------|-------------|----------------|-------|
147
- | Display Hero | Kakao Big Sans | 36px | 800 | 1.25 | normal | Splash screens, marketing |
148
- | Display Large | Kakao Big Sans | 28px | 700 | 1.30 | normal | Service section titles |
149
- | Heading Large | System | 22px | 700 | 1.36 | normal | Screen titles, major sections |
150
- | Heading | System | 20px | 600 | 1.40 | normal | Navigation titles, modal headers |
151
- | Title | System | 18px | 600 | 1.44 | normal | Friend names, chat room titles |
152
- | Body | System | 16px | 400 | 1.50 | normal | Chat messages, descriptions |
153
- | Body Small | System | 14px | 400 | 1.57 | normal | Secondary info, metadata |
154
- | Caption | System | 13px | 400 | 1.54 | normal | Timestamps, status text |
155
- | Caption Small | System | 12px | 400 | 1.50 | normal | Fine print, badges |
156
- | Micro | System | 11px | 400 | 1.45 | normal | Tab bar text, smallest labels |
157
-
158
- ### Principles
159
- - **System fonts for trust**: Custom fonts would make conversations feel "designed" rather than personal. Messages should feel like YOUR messages.
160
- - **Kakao Font for brand**: When the brand speaks (promotions, onboarding, empty states), Big Sans adds personality. When users speak, the system font stays neutral.
161
- - **Weight restraint**: Most UI uses 400-500 weight. Bold (700) only for names, titles, amounts. Chat-heavy apps need typographic calm, not emphasis competition.
196
+ ### Corporate marketing
197
+ - **Marketing Yellow** (`#fae100`): current corporate-home marketing accent.
198
+ - **Dark Marketing** (`#111111`): current paired dark tag/CTA background.
199
+ - **Canvas** (`#ffffff`): dominant public-site background.
200
+ - **Foreground** (`#333333`): primary corporate text/control color.
201
+ - **On Dark** (`#ffffff`): content on black/dark surfaces.
202
+ - **Muted** (`#888888`): milestone metadata.
203
+ - **Surface** (`#eeeeee`): current filter/footer-pill fill.
204
+ - **Border** (`#dbdbdb`): captured culture-page circular-control border.
162
205
 
163
- ## 4. Component Stylings
206
+ ## 3. Typography Rules
164
207
 
165
- ### Buttons
208
+ ### Verified families
209
+ - **KakaoBig**: loaded/high; 49 visible uses; display, navigation, card, and heading roles.
210
+ - **KakaoSmall**: loaded/high; 133 visible uses; body, input, button, badge, and heading roles.
211
+ - **System**: required by the Kakao Login design guide for the 30Pt label.
212
+ - **Pretendard**: 1,339 visible uses on the Kakao Developers documentation website. It is documentation chrome, not the Kakao Login label font.
213
+ - **KakaoDigitLatin**: declared but 0 visible uses; not promoted.
214
+
215
+ | Role | Family | Size | Weight | Line Height | Tracking |
216
+ |---|---|---:|---:|---:|---:|
217
+ | Corporate Display | KakaoBig | 53.82px | 700 | 66px | -1px |
218
+ | Corporate Heading | KakaoBig | 30px | 700 | 40px | normal |
219
+ | Corporate Title | KakaoSmall | 28px | 700 | 42px | normal |
220
+ | Navigation | KakaoBig | 17px | 400 | 27px | normal |
221
+ | Body | KakaoSmall | 14px | 400 | 21px | normal |
222
+ | Readable Body | KakaoSmall | 14px | 400 | 24.92px | -0.2px |
223
+ | Caption | KakaoSmall | 12px | 400 | 18px | -0.2px |
224
+ | Kakao Login Label | OS system | 30Pt | guide does not specify | proportional | unchanged |
225
+
226
+ | Evidence class | Kakao status |
227
+ |---|---|
228
+ | **Official product-use** | The Kakao Login guide mandates OS system type for its label; KakaoBig/KakaoSmall are the official corporate families |
229
+ | **Live surface-use** | KakaoBig and KakaoSmall are loaded on corporate surfaces; Pretendard is loaded on developer-documentation chrome |
230
+ | **Official distributed asset** | No general redistribution right for KakaoBig/KakaoSmall is asserted by the current official sources |
231
+ | **Declared-only** | KakaoDigitLatin is declared but had zero visible first-family uses in the inspected surfaces |
232
+ | **Unresolved** | A universal KakaoTalk/native-service family mapping beyond the exact official surfaces documented here |
166
233
 
167
- Kakao surfaces use two yellows: `#FEE500` for the Kakao Login compliance button (mandated by Kakao Developers) and `#fae100` for marketing CTAs (verified at kakaocorp.com). Bordered (2px solid black) buttons are a distinctive Kakao marketing pattern.
234
+ ## 4. Component Stylings
168
235
 
169
- **Kakao Login (Compliance-Mandated)**
170
- - Background: `#FEE500`
171
- - Text: `#000000`
172
- - Border: none
236
+ ### Kakao Login Button
237
+ - Background: `#fee500`
238
+ - Symbol: `#000000`, mandatory Kakao speech bubble; shape, proportion, and color cannot change
239
+ - Label: `rgba(0, 0, 0, 0.85)`
173
240
  - Radius: 12px
174
- - Padding: 12px 20px
175
- - Font: 16px / 600 / KakaoSmall
176
- - Disabled: opacity 0.5
177
- - Use: Kakao Login integration specs are non-negotiable per Kakao Developers (do not modify color, text, or icon)
241
+ - Font: 30Pt OS default system font
242
+ - Labels: `카카오 로그인` / `Login with Kakao`, or shortened `로그인` / `Login`
243
+ - States: full or shortened label; hover, pressed, and disabled visuals are not specified by this guide
244
+ - Use: login integration only; preserve symbol/label area when resizing
245
+
246
+ ### Corporate Navigation Menu
247
+ - Background: `#ffffff` in light mode; `#000000` on captured dark subpages
248
+ - Text: `#000000` in light mode; `#ffffff` in dark mode
249
+ - Radius: 999px
250
+ - Padding: 4px 16px 6px
251
+ - Height: 37px
252
+ - Font: 17px / 400 / KakaoBig
253
+ - States: light/dark themes, focus, hover
178
254
 
179
- **Marketing Pill (Bordered)**
180
- - Background: `#fae100`
181
- - Text: `#000000`
182
- - Border: 2px solid `#000000`
183
- - Radius: 16px
184
- - Padding: 7px 13px
185
- - Font: 13px / 700 / KakaoSmall
186
- - Use: Brand marketing CTA on kakaocorp.com (카카오톡 다운로드) — bordered yellow pill is the signature shape
255
+ ### Corporate Search Control
256
+ - Background: transparent
257
+ - Text/Icon: `#333333`
258
+ - Radius: 18px
259
+ - Height: 36px
260
+ - Font context: 14px / 400 / KakaoSmall
261
+ - States: default and hover observed
187
262
 
188
- **Dark Marketing Pill (Bordered)**
263
+ ### Dark Marketing Tag
189
264
  - Background: `#111111`
190
265
  - Text: `#ffffff`
191
266
  - Border: 2px solid `#ffffff`
192
267
  - Radius: 16px
193
- - Padding: 7px 8px
268
+ - Padding: 7px 8px 8px
269
+ - Height: 32px
194
270
  - Font: 13px / 700 / KakaoSmall
195
- - Use: Marketing CTA paired with the yellow Marketing Pill (Kanana, sub-brands)
196
271
 
197
- **Nav Pill**
198
- - Background: `#ffffff`
272
+ ### Milestone Filter
273
+ - Background: `#eeeeee`
199
274
  - Text: `#000000`
200
- - Border: none
201
- - Radius: 999px
202
- - Padding: 3px 14px
275
+ - Radius: 30px
276
+ - Padding: 8px 20px 12px
277
+ - Height: 44px
203
278
  - Font: 16px / 700 / KakaoBig
204
- - Use: Top-nav active item (소개, 카카오 문화) — full-pill rounded, KakaoBig display weight
279
+ - States: selected filter captured
205
280
 
206
- **Secondary (Outline)**
207
- - Background: transparent
208
- - Text: `#333333`
209
- - Border: 1px solid `#E5E5E5`
210
- - Radius: 12px
211
- - Padding: 12px 20px
212
- - Font: 16px / 600 / KakaoSmall
213
- - Use: Secondary action in product UI (취소, 더보기)
214
-
215
- **Footer Link Pill**
281
+ ### Footer Related-Site Pill
216
282
  - Background: `#eeeeee`
217
283
  - Text: `#000000`
218
- - Border: none
219
284
  - Radius: 24px
220
- - Padding: 10px 20px
285
+ - Padding: 10px 20px 12px
286
+ - Height: 40px
221
287
  - Font: 12px / 400 / KakaoSmall
222
- - Use: Footer link/관련사이트 (verified at kakaocorp.com)
223
-
224
- **Danger**
225
- - Background: `#E02000`
226
- - Text: `#ffffff`
227
- - Border: none
228
- - Radius: 12px
229
- - Padding: 12px 20px
230
- - Font: 16px / 600 / KakaoSmall
231
- - Use: Destructive actions (삭제, 차단)
232
-
233
- ### Inputs
234
-
235
- **Default**
236
- - Background: `#ffffff`
237
- - Text: `#222222`
238
- - Border: 1px solid `#E5E5E5`
239
- - Radius: 12px
240
- - Padding: 12px 16px
241
- - Font: 16px / 400 / Apple SD Gothic Neo
242
- - Placeholder: `#BBBBBB`
243
- - Focus: border changes to `#333333`
244
- - Use: Form fields (login, profile edit, signup)
245
-
246
- **Chat Input**
247
- - Background: `#F0F0F0`
248
- - Text: `#222222`
249
- - Border: none
250
- - Radius: 20px
251
- - Padding: 10px 16px
252
- - Font: 16px / 400 / Apple SD Gothic Neo
253
- - Placeholder: `#BBBBBB`
254
- - Use: Chat composer at bottom of conversation
255
-
256
- **Search**
257
- - Background: `#F0F0F0`
258
- - Text: `#222222`
259
- - Border: none
260
- - Radius: 20px
261
- - Padding: 10px 16px 10px 40px
262
- - Font: 14px / 400 / Apple SD Gothic Neo
263
- - Placeholder: `#999999`
264
- - Use: Search bar (friends, chat history) — left-icon at `#999999`
265
-
266
- ### Cards
267
-
268
- **Standard**
269
- - Background: `#ffffff`
270
- - Border: none
271
- - Radius: 12px
272
- - Padding: 16px
273
- - Shadow: `0px 1px 3px rgba(0,0,0,0.04)`
274
- - Use: Most surfaces — Kakao is intentionally flat, shadows are barely-there
275
-
276
- **Bordered**
277
- - Background: `#ffffff`
278
- - Border: 1px solid `#E5E5E5`
279
- - Radius: 12px
280
- - Padding: 16px
281
- - Shadow: none
282
- - Use: Inline cards on content surfaces where shadow would clash
283
-
284
- **My Message (Chat Bubble)**
285
- - Background: `#FEE500`
286
- - Text: `#333333`
287
- - Border: none
288
- - Radius: 18px 4px 18px 18px
289
- - Padding: 8px 12px
290
- - Font: 14px / 400 / Apple SD Gothic Neo
291
- - Use: Sender's outgoing chat bubble (right-aligned) — asymmetric 9-patch radius
292
-
293
- **Other's Message (Chat Bubble)**
294
- - Background: `#ffffff`
295
- - Text: `#333333`
296
- - Border: 1px solid `#E5E5E5`
297
- - Radius: 4px 18px 18px 18px
298
- - Padding: 8px 12px
299
- - Font: 14px / 400 / Apple SD Gothic Neo
300
- - Use: Counterparty's incoming chat bubble (left-aligned)
301
-
302
- **System Message (Chat Bubble)**
303
- - Background: `#F0F0F0`
304
- - Text: `#999999`
305
- - Border: none
306
- - Radius: 9999px
307
- - Padding: 4px 12px
308
- - Font: 12px / 400 / Apple SD Gothic Neo
309
- - Use: System notice in chat ("친구가 입장했습니다")
310
-
311
- ### Badges
312
-
313
- **Notification Dot**
314
- - Background: `#E02000`
315
- - Text: `#ffffff`
316
- - Border: none
317
- - Radius: 9999px
318
- - Padding: 2px 6px
319
- - Font: 11px / 700 / Apple SD Gothic Neo
320
- - Use: Unread count on tab/list (caps to "99+" past 99)
321
-
322
- **Tag (Default)**
323
- - Background: `#F0F0F0`
324
- - Text: `#666666`
325
- - Border: none
326
- - Radius: 4px
327
- - Padding: 2px 6px
328
- - Font: 11px / 500 / Apple SD Gothic Neo
329
- - Use: Generic metadata tag (channel/category)
330
-
331
- ### Tabs
332
-
333
- **Top Tab**
334
- - Background: `#ffffff`
335
- - Text: `#999999`
336
- - Border: 1px solid `#E5E5E5`
337
- - Active: `#333333` text + 2px solid `#333333` bottom border
338
- - Padding: 12px 16px
339
- - Font: 14px / 600 / Apple SD Gothic Neo
340
- - Use: Tab bar — 4 equal tabs, 44px height
341
-
342
- ### List items
343
-
344
- **Friend List Item**
345
- - Text: `#222222`
346
- - Use: Friend list row — avatar 48px rounded square (12px radius — KakaoTalk uses rounded squares, not circles), name 16px weight 500 `#222222`, status 14px weight 400 `#808080` single-line ellipsis. Row height 64px, horizontal padding 16px.
288
+ - States: default captured; hover not retained
347
289
 
348
290
  ---
349
291
 
350
- **Verified:** 2026-05-08
351
- **Tier 1 sources:** kakaocorp.com (live DOM via playwright — Marketing Pill `#FAE100` / `#000000` / 16px / 7×13/30 / 13px·700·32px ✓; Dark Marketing Pill `#111111` 16px ✓; Nav Pill `#ffffff` / `#000000` / 999px / 3×14 / 16px·700·36px ✓; Footer Link Pill `#eeeeee` / 24px / 12px·400·40px ✓; KakaoTalk compliance Login button `#FEE500` retained per Kakao Developers requirement)
352
- **Tier 2 sources:** styles.refero.design — no record (?q=Kakao returns 0 brand match). getdesign.md/kakao no record.
353
- **Tier 2b status:** unavailable; Tier 1 (kakaocorp.com live inspect) treated as authoritative.
354
- **Conflicts unresolved:** none. The dual-yellow split (`#FEE500` compliance vs `#FAE100` marketing) is verified against both Kakao Developers docs and the live kakaocorp.com DOM.
292
+ **Verified:** 2026-07-11 (verification v2, current corporate surfaces + rendered official Login guide)
293
+ **Tier 1 sources:** https://www.kakaocorp.com/page/ https://www.kakaocorp.com/page/about/culture https://www.kakaocorp.com/page/about/milestones https://developers.kakao.com/docs/ko/kakaologin/design-guide
294
+ **Tier 2 sources:** https://getdesign.md/kakao and https://styles.refero.design/?q=Kakao did not provide importable current Kakao records in this run.
295
+ **Surface split:** corporate marketing uses KakaoBig/KakaoSmall; the Login component requires OS system type; Developers docs chrome uses Pretendard.
296
+ **Conflicts unresolved:** none
355
297
 
356
298
  ## 5. Layout Principles
357
299
 
358
- ### Spacing System
359
- - Base unit: 8px
360
- - Scale: 4px, 8px, 12px, 16px, 20px, 24px, 32px, 40px, 48px
361
- - Horizontal screen padding: 16px
362
- - Chat message gap (same sender): 4px, (different sender): 16px
363
- - List item vertical padding: 12px
364
-
365
- ### Grid & Container
366
- - Mobile: full-width, 16px horizontal padding
367
- - Chat messages: left-aligned (others) or right-aligned (self) with 16px margins
368
- - Friend list: single-column, full-width items
369
- - Grid menu (More tab): 3-4 column icon grid
370
-
371
- ### Whitespace Philosophy
372
- - **Conversation-optimized**: Message bubbles are compact but well-separated between senders. Maximize visible messages while maintaining clear attribution.
373
- - **List efficiency**: Friend/chat lists prioritize density -- 64px rows show avatar + name + status in a scannable format.
374
- - **Flat layering**: Instead of shadows, Kakao uses background color shifts (`#ffffff` → `#F0F0F0` → `#E5E5E5`) for visual hierarchy. Lightweight, fast-rendering.
375
-
376
- ### Border Radius Scale
377
- - Standard (12px): Buttons, cards, avatars (rounded square), inputs, login button
378
- - Rounded (20px): Search bars, rounded containers
379
- - Pill (9999px): System message bubbles, notification badges
380
- - Chat bubble: asymmetric via 9-patch assets
300
+ - Corporate content uses a compact 4/6/8/16/20 spacing rhythm around controls and text.
301
+ - The Login guide requires the symbol and label zones to remain intact when widening the container; expand left and right equally.
302
+ - When scaling the whole Login button, preserve symbol/label proportions and keep the label height at no more than one third of the container height.
381
303
 
382
304
  ## 6. Depth & Elevation
383
305
 
384
- | Level | Treatment | Use |
385
- |-------|-----------|-----|
386
- | Flat (Level 0) | No shadow | Primary — most elements. Chat bubbles, list items, cards |
387
- | Minimal (Level 1) | `0px 1px 3px rgba(0,0,0,0.04)` | Rare — floating action button, keyboard toolbar |
388
- | Subtle (Level 2) | `0px 2px 6px rgba(0,0,0,0.08)` | Popovers, dropdown menus |
389
- | Elevated (Level 3) | `0px 4px 12px rgba(0,0,0,0.12)` | Bottom sheets, modal dialogs |
390
-
391
- **Shadow Philosophy**: Kakao is intentionally one of the flattest major design systems in production. Depth is communicated almost entirely through background color differentiation and border lines, not shadow elevation. This serves two purposes: performance on the millions of low-to-mid-range devices KakaoTalk targets, and aesthetic -- a messaging app should feel like a clean sheet of paper, not floating cards.
306
+ No canonical shadow token is promoted. Captured corporate controls are largely flat; the Developers documentation site contains its own hover shadows, but those belong to documentation chrome rather than the Kakao Login component.
392
307
 
393
308
  ## 7. Do's and Don'ts
394
309
 
395
310
  ### Do
396
- - Use Kakao Yellow (`#FEE500`) as the primary brand accent
397
- - Follow Kakao Login button specs exactly -- they are compliance-mandated
398
- - Use system fonts for all conversational/functional UI
399
- - Use 12px border-radius as the standard for most interactive elements
400
- - Keep the interface flat -- rely on background color, not shadows, for depth
401
- - Use yellow bubbles for self-messages, white for others -- the universal Kakao pattern
402
- - Use rounded squares (12px radius) for KakaoTalk-style avatars
311
+ - Use the exact Kakao Login compliance colors, symbol, radius, and system font.
312
+ - Keep corporate KakaoBig/KakaoSmall values separate from Developers-site Pretendard.
313
+ - Name marketing yellow `#fae100` separately from login yellow `#fee500`.
314
+ - Use the shortened Login label instead of distorting a standard button below its intended size.
315
+ - Preserve observed theme and interaction states on corporate navigation.
403
316
 
404
317
  ### Don't
405
- - Don't modify Kakao Login button colors, radius, or proportions
406
- - Don't use heavy shadows -- Kakao is one of the flattest design systems in production
407
- - Don't use yellow for text on white backgrounds -- contrast ratio is insufficient
408
- - Don't use pure black (`#000000`) for text -- use `#222222` or `#333333` for warmth
409
- - Don't override system fonts in chat contexts -- messages should feel personal
410
- - Don't use rounded circles for KakaoTalk avatars -- they use 12px rounded squares
411
- - Don't add gradient or 3D effects to brand elements -- strictly prohibited
318
+ - Don't change the Kakao Login symbol shape, proportion, or color.
319
+ - Don't replace the speech-bubble symbol with Kakao CI or a functional icon.
320
+ - Don't remove the symbol from the Login button.
321
+ - Don't use Developers-site Pretendard as evidence that the Login button uses Pretendard.
322
+ - Don't present unverified KakaoTalk chat bubbles, mobile inputs, tabs, badges, or semantic colors as current canonical Kakao tokens.
412
323
 
413
324
  ## 8. Responsive Behavior
414
325
 
415
- ### Breakpoints
416
- | Name | Width | Key Changes |
417
- |------|-------|-------------|
418
- | Mobile (Primary) | <480px | Full design fidelity, KakaoTalk native layout |
419
- | Tablet | 480-768px | Side panel for chat list + detail |
420
- | Desktop | >768px | Fixed sidebar + chat panel + optional right panel |
421
-
422
- ### Touch Targets
423
- - Chat bubble: entire bubble tappable for context menu
424
- - Friend list items: 64px row height, full-width tappable
425
- - Tab bar items: 56px height, evenly distributed
426
- - Send button: 36px minimum, right side of input bar
427
-
428
- ### Collapsing Strategy
429
- - Desktop: multi-column (chat list | conversation | info panel)
430
- - Tablet: 2-column (chat list | conversation)
431
- - Mobile: single screen with navigation between views
432
- - Chat input: always bottom-fixed with safe area handling
433
-
434
- ### Image Behavior
435
- - Chat photos: grid layout (1/2/3+ images), 8px rounded corners
436
- - Profile avatars: 48px in lists, 80-100px in profile view, rounded square (12px)
437
- - Stickers/Emoticons: centered in bubble area, 120-200px display
326
+ The corporate pages are responsive, but this run does not promote universal breakpoints. For the Login button, follow the official proportional resizing rule: extend both sides equally when widening, preserve symbol/label zones, and use the shortened label if a smaller format is required.
438
327
 
439
328
  ## 9. Agent Prompt Guide
440
329
 
441
- ### Quick Color Reference
442
- - Primary CTA: Kakao Yellow (`#FEE500`)
443
- - CTA Text: Near Black (`#333333`) -- NOT white on yellow
444
- - Background: Pure White (`#ffffff`)
445
- - Background Fill: Light Gray (`#F0F0F0`)
446
- - Heading text: Dark (`#222222`)
447
- - Body text: Charcoal (`#333333`)
448
- - Secondary text: Gray (`#666666`)
449
- - Caption text: Muted (`#999999`)
450
- - Placeholder: Light (`#BBBBBB`)
451
- - Border: Soft Gray (`#E5E5E5`)
452
- - My Bubble: Kakao Yellow (`#FEE500`)
453
- - Other Bubble: White (`#ffffff`)
454
- - Link: Blue (`#2196F3`)
455
- - Error: Red (`#E02000`)
456
-
457
- ### Example Component Prompts
458
- - "Create a KakaoTalk chat screen: white bg. My messages: right-aligned #FEE500 bubbles, #333333 text 16px, timestamp below #999999 12px. Others: left-aligned, 36px circle avatar, 12px sender name #666666 above white bubble with #E5E5E5 border."
459
- - "Build a Kakao Login button: #FEE500 bg, 12px radius. Left: black chat bubble icon. Center: '카카오 로그인' in #000000 at 85% opacity. Full-width, 16px margin."
460
- - "Design a friend list: white bg, 16px h-padding. Each row: 48px rounded-square avatar (12px radius) + 12px gap + name (16px weight 500, #222222) over status (14px weight 400, #808080, ellipsis). 64px row height. Divider: 1px #F0F0F0."
461
- - "Create a tab bar: white bg, 44px height, 4 tabs. Active: #333333 text (14px weight 600) + 2px bottom border. Inactive: #999999 text."
462
- - "Design a chat input bar: #F0F0F0 bg, 20px radius, 40px height. Left: plus button 36px #999999. Right: send button #FEE500 bg 36px circle. Text input #222222, placeholder #BBBBBB '메시지 보내기'. Bottom-fixed with safe area."
463
-
464
- ### Iteration Guide
465
- 1. System fonts for ALL functional UI -- Kakao Font for brand/marketing only
466
- 2. Primary yellow is `#FEE500` -- text ON yellow is `#333333` (never white)
467
- 3. Chat bubbles are the visual DNA: yellow = self, white = other, pill = system
468
- 4. 12px is THE border-radius -- buttons, cards, avatars, login, all 12px
469
- 5. Flat design: no shadows on chat bubbles, minimal elsewhere, depth via background color
470
- 6. Gray hierarchy: #222222 → #333333 → #666666 → #808080 → #999999 → #BBBBBB
471
- 7. Kakao Login specs are non-negotiable compliance requirements
330
+ - “Build a compliant Kakao Login button with `#fee500`, black speech-bubble symbol, 85% black label, 12px radius, and OS system font at 30Pt.”
331
+ - “Create the current corporate navigation pill with KakaoBig 17px/400, 37px height, 999px radius, and explicit light/dark themes.”
332
+ - “Use KakaoSmall for corporate body/control text; do not substitute Pretendard unless reproducing Developers documentation chrome.”
333
+ - “Treat any KakaoTalk in-app component as an unverified extension unless native product evidence is supplied.”
472
334
 
473
335
  ## 10. Voice & Tone
474
336
 
475
- Kakao's voice is **친근하고 일상적이며 따뜻한 (familiar, everyday, warm)** — the language of a friend explaining something, not a corporation announcing something. The phrase that anchors the company brand on kakaocorp.com is *"나의 세계를 바꾸는 카카오"* (Kakao that transforms my world), which sets the register: personal scale ("나의"), present-tense action ("바꾸는"), product-as-companion. The product surfaces extend this system messages in KakaoTalk read as observations rather than alerts ("친구가 입장했습니다"), and onboarding microcopy uses the polite-conversational `해요체` rather than `합니다체`.
476
-
477
- | Context | Tone |
478
- |---|---|
479
- | 시스템 메시지 (chat) | 관찰형 단문. "OOO님이 들어왔습니다." 사실 묘사, 감정 부재 |
480
- | CTA / 버튼 | 동사+명사 혹은 동사 단독, 짧게. "보내기", "친구 추가하기", "확인" |
481
- | 에러 (네트워크/인증) | 구체적 원인 + 즉시 행동 가능한 한 줄. "다시 시도해주세요"는 마지막 fallback |
482
- | 약관 / 정책 | 격식체 (`-합니다`) — 법무성 명확함이 우선 |
483
- | 프로모션 / 마케팅 | 짧은 카피, 종결어미 다양화 ("받아요!", "지금 시작") |
484
- | 빈 상태 (Empty) | 다음 행동 1개를 제시. 위로하지 않음 ("친구를 추가하면 대화를 시작할 수 있어요") |
485
- | 성공 확인 | 토스트 1초, 짧은 확인 — 축하 이모지·과한 메시지 금지 |
486
-
487
- **Voice samples**
488
- - 카카오 로그인 버튼 라벨: *"카카오 계정으로 로그인"* <!-- verified: developers.kakao.com Kakao Login docs (2026-05) -->
489
- - 친구 추가 화면 빈 상태: *"친구가 없어요. 추천 친구를 살펴보세요."* <!-- illustrative: not verified as live KakaoTalk copy -->
490
- - 네트워크 오류: *"연결이 불안정해요. Wi-Fi를 확인해주세요."* <!-- illustrative -->
337
+ Kakaos corporate mission centers on bringing a needed future closer through technology that understands people. In user-facing copy, that translates into familiar Korean, short labels, and service explanations grounded in an everyday action—talking, finding a place, sending a gift, following a channel—rather than abstract technology claims.
491
338
 
492
- **Forbidden phrases.** "혁신", "최고의" 같은 마케팅 superlative (kakaocorp.com 어디에도 보임). 영어 원문 그대로 (Get Started "시작하기"로 번역). 명령형 (`-해라`). 이모지 in product chrome (스티커/이모티콘은 콘텐츠라 OK, UI 텍스트엔 금지).
339
+ The tone changes by surface. Corporate and culture pages can be optimistic and connective; product/service descriptions should be concrete about the benefit; developer and compliance guidance must be prescriptive and exact. Kakao Login wording, symbol, color, and label rules are not a place for playful rewriting. Avoid turning Kakao’s friendliness into childishness or using yellow as a substitute for clear instructions.
493
340
 
494
341
  ## 11. Brand Narrative
495
342
 
496
- Kakao **2006년 11월 29일** 김범수(Brian Kim, 前 NHN 임원)와 이제범 공동창업으로 **iWilab(아이위랩)** 으로 출발했다 — Mountain View 실리콘밸리의 한국 창업가 인큐베이터를 모태로 한국에 설립 ([Kim Beom-soo Wikipedia](https://en.wikipedia.org/wiki/Kim_Beom-soo_(businessman)), [PortersFiveForce — Kakao Brief History](https://portersfiveforce.com/blogs/brief-history/kakaocorp)). **카카오톡 출시(2010-03)** 가 한국 모바일 인터넷의 분기점 — 90% 스마트폰 침투율의 메신저 인프라가 됐다. 첫 흑자 $42M(2012), 100M 누적가입자 돌파(2013), **2014-10 다음(Daum)과 합병** 'Daum Kakao'(2015 Kakao로 재브랜딩) 김범수는 22.2% 최대주주가 됐다 ([Kakao Wikipedia](https://en.wikipedia.org/wiki/Kakao)). 회사는 통신·결제·모빌리티·콘텐츠로 확장하면서도 *"사람과 세상을 연결한다"* 단일 명제를 brand positioning의 중심으로 유지한다. 공식 brand 페이지(kakaocorp.com)에 노출되는 문구 *"그 어떤 목소리도 소외되지 않도록"* 은 inclusivity를 명시적 design constraint로 못박는다 글꼴 크기·접근성·다국어 미시 결정의 윗단 origin.
343
+ Kakao describes itself as a mobile-life platform that uses technology, content, and high mobile reach to make everyday services more convenient. Its current missionbringing a needed future closer through technology that understands peopleplaces human context before technical novelty.
497
344
 
498
- 2024-2025년의 **카나나(Kanana)** AI 브랜드 launch는 *"나에게 가장 가까운, 가장 쉬운 AI"* 캐치프레이즈 여전히 `나의 / 가까운 / 쉬운` personal·proximity·simplicity 삼각형이다. brand evolution은 있어도 voice의 핵심은 "1인칭, 친근, 단순"으로 일관.
345
+ KakaoTalk’s communication model became the organizing metaphor for a broader ecosystem: channels connect people with brands and stores, messages carry transactional information, and services extend into commerce, maps, content, mobility, and social impact. The corporate yellow and speech-bubble identity therefore signal connection, but each service still needs its own product rules.
499
346
 
500
- What Kakao refuses: corporate 거리감, 기능 자랑, 영어 원문 노출. What it embraces: KakaoTalk 노란 색의 일관성(15년 동일), 한국 텍스트 우선, 시스템 폰트 (KakaoFont는 marketing 한정), 거품의 시각 DNA.
347
+ This is why surface separation is essential. Kakao’s corporate type and marketing yellow express the parent identity; Kakao Login uses a precisely regulated `#fee500` component so third-party integrations remain recognizable and trustworthy; developer documentation uses its own Pretendard chrome. A coherent Kakao reference preserves the relationship between these systems without flattening them into one fictional theme.
501
348
 
502
349
  ## 12. Principles
503
350
 
504
- 1. **Familiar over impressive.** 사용자가 "어, 이거 그냥 친구한테 말하듯 쓰면 되네"라고 느껴야 한다. *UI implication:* 마이크로카피는 `해요체`, 동사 단독, ≤8 글자 우선.
505
- 2. **Connection is the product.** 모든 surface는 "사람-사람" 또는 "사람-서비스" 연결이라는 1차 목적을 지운다. *UI implication:* 친구·메시지·전송·통화 entry는 main nav에서 ≤2 tap 이내.
506
- 3. **Inclusivity is a constraint, not a value.** *"그 어떤 목소리도 소외되지 않도록"* 은 슬로건이 아니라 색상 contrast·글자 크기·다국어·접근성 라벨의 mandatory check. *UI implication:* 모든 interactive element WCAG AA 이상, 글자 14px 미만은 정보 보조 용도로만.
507
- 4. **Yellow is sacred.** `#FEE500` Kakao Login은 Kakao Developers compliance 사항으로 **변경 불가** — 색상·텍스트·아이콘 전부 spec 그대로. *UI implication:* 로그인 버튼 = 제3의 design choice 영역 아님. 비-compliance 마케팅 yellow는 `#FAE100` 분리 토큰.
508
- 5. **Korean text first.** UI 텍스트는 한글이 우선이며 영어는 보조. 폰트 매트릭(line-height, letter-spacing)도 한글 기준으로 튜닝됨. *UI implication:* 영어 placeholder를 한글로 의역, 글자 가운데정렬은 한글이 짧을 때만.
351
+ These are evidence-derived implementation principles:
509
352
 
510
- ## 13. Personas
511
-
512
- *Personas are fictional archetypes informed by publicly described KakaoTalk user segments (universal Korean adult population, small-business owners, content creators), not individual people.*
353
+ 1. **Compliance outranks approximation.** Login symbols, labels, colors, type, and relative emphasis follow the official integration guide even when another treatment looks more fashionable.
354
+ 2. **Surface-specific fonts are part of correctness.** KakaoBig/KakaoSmall, OS system labels, and Pretendard documentation chrome describe different jobs, not a fallback chain.
355
+ 3. **Preserve the dual-yellow distinction.** Corporate marketing `#fae100` and regulated Login `#fee500` remain separately named and sourced.
356
+ 4. **Connection should stay legible.** Friendly language and familiar symbols can reduce distance, but transactional information, consent, and support states must remain explicit.
357
+ 5. **Use first-party evidence over remembered KakaoTalk conventions.** Do not fabricate chat bubbles, navigation, or native-service tokens from cultural familiarity with the brand.
513
358
 
514
- **김지영, 38, 서울.** 마케팅 회사 팀장. KakaoTalk으로 가족·동료·거래처 모두 소통. 페르소나라기엔 너무 평범한 게 핵심 — Kakao 디자인의 성공은 "이 사람이 친구의 카톡과 회사 거래처 카톡을 같은 앱에서 안 헷갈리게" 만드는 것.
359
+ ## 13. Personas
515
360
 
516
- **이용운, 56, 부산.** 식당 운영. 카카오 비즈니스(고객 응대), 카카오페이(결제), 카카오맵(위치)을 매일 쓴다. 새로운 기능을 자발적으로 탐색하지 않으며, 기능이 *조용히* 추가되어 *우연히* 발견되는 패턴이 가장 잘 맞는다.
361
+ These are official service and stakeholder contexts, not invented demographic personas.
517
362
 
518
- **박서연, 22, 대전.** 대학생, 이모티콘 스토어 즐겨 사용. 친구들과 채팅의 대부분을 이모티콘으로 한다 감정의 미세 조정을 텍스트가 아닌 그림으로. Kakao가 글꼴·이모티콘·스티커를 콘텐츠 카테고리로 격상시킨 게 이 페르소나의 일상에 깊이 박혀 있음.
363
+ - **A person communicating in daily life:** expects familiar language, fast recognition, and continuity between conversation and adjacent services.
364
+ - **A customer receiving information or benefits from a channel:** needs promotional, transactional, and support messages to remain clearly distinguishable.
365
+ - **A business or creator operating a Kakao channel:** needs approachable customer communication without losing operational clarity or consent boundaries.
366
+ - **A developer integrating Kakao Login:** needs exact compliance rules for symbol, color, type, label, and relative emphasis so the integration remains trustworthy.
519
367
 
520
368
  ## 14. States
521
369
 
522
- | State | Treatment |
370
+ | Component | Verified state evidence |
523
371
  |---|---|
524
- | **Empty (친구 목록)** | 16px Apple SD Gothic Neo, `#222222` "친구가 없어요." + 14px `#666666` "추천 친구를 살펴보세요." + 카카오 옐로우 텍스트 링크 1개. 일러스트 없음 (Kakao Empty는 일관되게 텍스트만) |
525
- | **Empty (대화 없음)** | 시스템 메시지 톤. "아직 메시지가 없어요" 14px `#999999`. 추천 행동 없음 — 첫 메시지를 입력하면 자연히 채워지므로 |
526
- | **Loading (친구 목록 새로고침)** | Pull-to-refresh 카카오 옐로우 dot 3개 progressive loader. Native iOS/Android 인디케이터 그대로 |
527
- | **Loading (이미지)** | `#F0F0F0` skeleton 박스, 8px radius (이미지 grid radius와 일치). 시머 없음 |
528
- | **Error (네트워크)** | Toast 상단, `#E02000` 배경 white text, "연결이 불안정해요. Wi-Fi를 확인해주세요." 자동 dismiss 4s |
529
- | **Error (메시지 발송 실패)** | 메시지 옆 빨간 ! 아이콘 + 길게 누르면 "다시 보내기 / 삭제" 메뉴. 메시지 자체는 yellow bubble 유지 |
530
- | **Success (메시지 전송)** | 보낸 직후 옅은 회색 시계 → 한 사람 읽으면 회색 1, 모두 읽으면 표시 사라짐. 토스트 없음 — 메시지 자체가 confirmation |
531
- | **Success (결제)** | 별도 모달 — 카카오페이 노란 체크 마크, 지불 액수 큰 글씨, "확인" CTA. 0.6초 spring scale 애니메이션 |
532
- | **Skeleton (대화 목록)** | 64px row 그대로 사용, 텍스트 영역만 `#F0F0F0` 박스. 아바타 자리도 동일한 12px rounded square skeleton |
533
- | **Disabled** | 버튼 opacity 0.4, 배경·텍스트 색조 그대로 — Kakao yellow disabled는 `#DEE2E6` `#ADB5BD`로 *바뀜* (위 §4 기재) |
534
- | **Loading (긴 작업: 백업)** | 진행률 % + "약 N분 남음" 라벨. 카카오 옐로우 progress bar |
372
+ | Kakao Login | full/short label and resizing constraints; interaction-state styling not specified |
373
+ | Corporate nav | light/dark themes, focus, hover |
374
+ | Search control | default, hover |
375
+ | Milestone filter | selected |
376
+ | Marketing/footer labels | default only |
535
377
 
536
378
  ## 15. Motion & Easing
537
379
 
538
- **Durations**:
539
-
540
- | Token | Value | Use |
541
- |---|---|---|
542
- | `motion-instant` | 0ms | 토글 / 체크박스 즉시 |
543
- | `motion-fast` | 150ms | 버튼 active 피드백, hover |
544
- | `motion-standard` | 250ms | 모달 / 시트 enter / exit |
545
- | `motion-message` | 300ms | 채팅 메시지 fade-in (yellow bubble 등장) |
546
- | `motion-spring` | variable | pull-to-refresh, 친구 추가 콜백 |
547
-
548
- **Easings**:
549
-
550
- | Token | Curve | Use |
551
- |---|---|---|
552
- | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | 메시지·시트 등장 |
553
- | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | 모달 dismiss |
554
- | `ease-spring` | spring (mass 1, stiffness 380) | 결제 confirm scale, 친구 추가 callback |
555
-
556
- **Motion rules.**
557
- 1. 메시지 거품은 **항상** spring scale (0.95 → 1.0)로 등장 — Kakao 채팅의 시그니처 모션
558
- 2. 노란 색조에 색상 transition 사용 금지 — `#FEE500` 은 binary on/off, 중간색 사용 시 brand 인지도 하락
559
- 3. `prefers-reduced-motion: reduce` 시 모든 spring → 즉시 fade. 채팅 거품도 spring 제거하고 100ms fade-in
560
- 4. 토스트는 항상 상단(notch 아래) 등장 — 하단은 채팅 input과 충돌
561
-
562
- ---
563
-
564
- **Verified:** 2026-05-08
565
- **Tier 1 sources (Philosophy):** kakaocorp.com (mission/vision quotes "나의 세계를 바꾸는 카카오", "그 어떤 목소리도 소외되지 않도록"), developers.kakao.com (Kakao Login compliance spec for §12 Principle 4)
566
- **Tier 2 sources:** none independent — Kakao brand narrative is primarily self-published. Voice samples marked `illustrative` are derived patterns from Kakao chat surfaces, not verbatim live UI text.
567
- **Style ref for tone:** `toss` (한국어 페르소나 어조 일관성).
568
- **Conflicts unresolved:** none.
380
+ No exact motion duration or easing token is promoted. Preserve focus and hover clarity on the corporate site and platform-standard interaction feedback for the Login button; label custom timing as an extension until first-party evidence is available.