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.
- package/.claude/hooks/lib/preferences-parser.cjs +1 -0
- package/.claude/hooks/lib/preferences-writer.cjs +1 -0
- package/.claude/hooks/post-edit-watch.cjs +1 -0
- package/.claude/hooks/session-end-foldin.cjs +1 -0
- package/.claude/hooks/session-state-loader.cjs +1 -0
- package/.claude/hooks/skill-activation.cjs +1 -0
- package/.claude/settings.json +10 -1
- package/.github/assets/logo-bg.png +0 -0
- package/AGENTS.md +20 -1
- package/CHANGELOG.md +482 -0
- package/MIGRATION.md +103 -0
- package/README.ja.md +56 -19
- package/README.ko.md +47 -30
- package/README.md +48 -30
- package/README.zh-TW.md +59 -22
- package/agents/AGENT.md +8 -7
- package/agents/omd-codex-image.md +1 -1
- package/agents/omd-critic.md +6 -7
- package/agents/omd-designer-review.md +1 -1
- package/agents/omd-final-qa.md +1 -1
- package/agents/omd-humanizer.md +38 -0
- package/agents/omd-kr-writer.md +3 -4
- package/agents/omd-locale-adapter.md +12 -16
- package/agents/omd-master.md +24 -19
- package/agents/omd-microcopy.md +1 -1
- package/agents/omd-orchestrator.md +7 -8
- package/agents/omd-slop-auditor.md +31 -0
- package/agents/omd-ux-researcher.md +1 -1
- package/data/reference-fingerprints.json +1995 -38
- package/dist/bin/oh-my-design.js +16 -8
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/chunk-UJIHCEYF.js +99 -0
- package/dist/chunk-UJIHCEYF.js.map +1 -0
- package/dist/doctor-LDWSFM3I.js +763 -0
- package/dist/doctor-LDWSFM3I.js.map +1 -0
- package/dist/install-skills-ZZFNJ2II.js +1120 -0
- package/dist/install-skills-ZZFNJ2II.js.map +1 -0
- package/docs/CLI_QUICKSTART.md +157 -0
- package/package.json +25 -4
- package/scripts/postinstall.cjs +5 -4
- package/skills/claude-design/SKILL.md +38 -14
- package/skills/claude-design/references/claude-design-flow.md +11 -11
- package/skills/claude-design/references/codebase-analysis.md +5 -4
- package/skills/omd-final-qa/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +51 -50
- package/skills/omd-humanize/SKILL.md +116 -0
- package/skills/omd-humanize/agents/openai.yaml +4 -0
- package/skills/omd-humanize/references/locale-playbooks.md +102 -0
- package/skills/omd-humanize/references/sources.md +11 -0
- package/skills/omd-init/SKILL.md +18 -12
- package/skills/omd-locale-adapter/SKILL.md +58 -91
- package/skills/omd-orchestrator/SKILL.md +11 -5
- package/skills/omd-reference-capture/SKILL.md +80 -26
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
- package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
- package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
- package/skills/omd-slop-audit/SKILL.md +110 -0
- package/skills/omd-slop-audit/agents/openai.yaml +4 -0
- package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
- package/skills/omd-slop-audit/references/sources.md +24 -0
- package/web/references/104/DESIGN.md +354 -0
- package/web/references/11st/DESIGN.md +197 -316
- package/web/references/29cm/DESIGN.md +297 -393
- package/web/references/42dot/DESIGN.md +390 -0
- package/web/references/8percent/DESIGN.md +438 -0
- package/web/references/ably/DESIGN.md +267 -572
- package/web/references/acer/DESIGN.md +329 -0
- package/web/references/airbnb/DESIGN.md +219 -557
- package/web/references/alipay/DESIGN.md +179 -420
- package/web/references/apple/DESIGN.md +224 -498
- package/web/references/asleep/DESIGN.md +402 -0
- package/web/references/au/DESIGN.md +334 -0
- package/web/references/autopedia/DESIGN.md +382 -0
- package/web/references/aws-cloudscape/DESIGN.md +241 -0
- package/web/references/baemin/DESIGN.md +332 -491
- package/web/references/banksalad/DESIGN.md +269 -180
- package/web/references/barogo/DESIGN.md +416 -0
- package/web/references/beusable/DESIGN.md +464 -0
- package/web/references/bilibili/DESIGN.md +206 -374
- package/web/references/bmw/DESIGN.md +162 -276
- package/web/references/brandi/DESIGN.md +184 -325
- package/web/references/catchtable/DESIGN.md +219 -264
- package/web/references/cgv/DESIGN.md +317 -0
- package/web/references/channeltalk/DESIGN.md +210 -336
- package/web/references/china-airlines/DESIGN.md +291 -0
- package/web/references/cjonstyle/DESIGN.md +453 -0
- package/web/references/class101/DESIGN.md +168 -387
- package/web/references/classum/DESIGN.md +228 -203
- package/web/references/claude/DESIGN.md +242 -479
- package/web/references/clay/DESIGN.md +179 -377
- package/web/references/clickhouse/DESIGN.md +254 -343
- package/web/references/cohere/DESIGN.md +214 -324
- package/web/references/coinone/DESIGN.md +199 -179
- package/web/references/corca/DESIGN.md +414 -0
- package/web/references/coupang/DESIGN.md +205 -475
- package/web/references/cursor/DESIGN.md +240 -381
- package/web/references/dabang/DESIGN.md +248 -213
- package/web/references/dable/DESIGN.md +431 -0
- package/web/references/datarize/DESIGN.md +217 -330
- package/web/references/dealicious/DESIGN.md +402 -0
- package/web/references/drdiary/DESIGN.md +404 -0
- package/web/references/elastic/DESIGN.md +238 -0
- package/web/references/elevenlabs/DESIGN.md +183 -321
- package/web/references/eslite/DESIGN.md +257 -0
- package/web/references/evaair/DESIGN.md +338 -0
- package/web/references/expo/DESIGN.md +238 -331
- package/web/references/familymart-tw/DESIGN.md +254 -0
- package/web/references/ferrari/DESIGN.md +160 -377
- package/web/references/figma/DESIGN.md +197 -451
- package/web/references/fitpet/DESIGN.md +445 -0
- package/web/references/flex/DESIGN.md +170 -253
- package/web/references/framer/DESIGN.md +197 -340
- package/web/references/freee/DESIGN.md +211 -533
- package/web/references/friendliai/DESIGN.md +431 -0
- package/web/references/frip/DESIGN.md +440 -0
- package/web/references/gangnamunni/DESIGN.md +154 -591
- package/web/references/gaudiolab/DESIGN.md +414 -0
- package/web/references/google/DESIGN.md +290 -398
- package/web/references/hashicorp/DESIGN.md +273 -318
- package/web/references/heydealer/DESIGN.md +429 -0
- package/web/references/humanscape/DESIGN.md +433 -0
- package/web/references/hyundai/DESIGN.md +158 -368
- package/web/references/hyundaicard/DESIGN.md +171 -121
- package/web/references/ibm/DESIGN.md +227 -378
- package/web/references/idus/DESIGN.md +450 -0
- package/web/references/igaworks/DESIGN.md +437 -0
- package/web/references/inflearn/DESIGN.md +221 -366
- package/web/references/intuit/DESIGN.md +244 -0
- package/web/references/jandi/DESIGN.md +191 -291
- package/web/references/jobplanet/DESIGN.md +415 -0
- package/web/references/kakao/DESIGN.md +287 -475
- package/web/references/kakaobank/DESIGN.md +220 -521
- package/web/references/kakaogames/DESIGN.md +220 -0
- package/web/references/kakaopay/DESIGN.md +207 -526
- package/web/references/karrot/DESIGN.md +227 -251
- package/web/references/kb-kookmin/DESIGN.md +308 -0
- package/web/references/kbank/DESIGN.md +220 -175
- package/web/references/kmong/DESIGN.md +281 -356
- package/web/references/krds/DESIGN.md +245 -19
- package/web/references/kream/DESIGN.md +224 -359
- package/web/references/kurly/DESIGN.md +211 -533
- package/web/references/lamborghini/DESIGN.md +198 -360
- package/web/references/lguplus/DESIGN.md +259 -0
- package/web/references/likelion/DESIGN.md +283 -0
- package/web/references/line/DESIGN.md +396 -355
- package/web/references/linear.app/DESIGN.md +209 -562
- package/web/references/lotteon/DESIGN.md +386 -0
- package/web/references/lovable/DESIGN.md +255 -349
- package/web/references/makinarocks/DESIGN.md +149 -349
- package/web/references/maum-ai/DESIGN.md +423 -0
- package/web/references/medibloc/DESIGN.md +425 -0
- package/web/references/megabox/DESIGN.md +232 -0
- package/web/references/mercari/DESIGN.md +217 -434
- package/web/references/microsoft/DESIGN.md +234 -388
- package/web/references/mildang/DESIGN.md +411 -0
- package/web/references/millie/DESIGN.md +183 -504
- package/web/references/minimax/DESIGN.md +264 -322
- package/web/references/miricanvas/DESIGN.md +182 -355
- package/web/references/miro/DESIGN.md +234 -232
- package/web/references/mistral.ai/DESIGN.md +231 -314
- package/web/references/mixi/DESIGN.md +234 -0
- package/web/references/moin/DESIGN.md +445 -0
- package/web/references/mongodb/DESIGN.md +219 -316
- package/web/references/musinsa/DESIGN.md +184 -510
- package/web/references/mynavi/DESIGN.md +242 -0
- package/web/references/myrealtrip/DESIGN.md +169 -406
- package/web/references/naver/DESIGN.md +328 -499
- package/web/references/naverwebtoon/DESIGN.md +172 -395
- package/web/references/nhn/DESIGN.md +169 -346
- package/web/references/nhncloud/DESIGN.md +185 -123
- package/web/references/notion/DESIGN.md +271 -475
- package/web/references/nrise/DESIGN.md +417 -0
- package/web/references/ohouse/DESIGN.md +210 -549
- package/web/references/oliveyoung/DESIGN.md +217 -326
- package/web/references/ollama/DESIGN.md +241 -308
- package/web/references/onestore/DESIGN.md +248 -0
- package/web/references/palantir/DESIGN.md +256 -0
- package/web/references/panasonic/DESIGN.md +276 -0
- package/web/references/patternfly/DESIGN.md +259 -0
- package/web/references/payhere/DESIGN.md +438 -0
- package/web/references/pega/DESIGN.md +262 -0
- package/web/references/peoplefund/DESIGN.md +431 -0
- package/web/references/petfriends/DESIGN.md +428 -0
- package/web/references/pinkfong/DESIGN.md +199 -367
- package/web/references/pinterest/DESIGN.md +258 -308
- package/web/references/poya/DESIGN.md +286 -0
- package/web/references/pozalabs/DESIGN.md +438 -0
- package/web/references/protopie/DESIGN.md +419 -0
- package/web/references/qraft/DESIGN.md +448 -0
- package/web/references/quotabook/DESIGN.md +449 -0
- package/web/references/recruit/DESIGN.md +247 -0
- package/web/references/remember/DESIGN.md +202 -396
- package/web/references/resend/DESIGN.md +274 -348
- package/web/references/sakura-internet/DESIGN.md +269 -0
- package/web/references/samsung/DESIGN.md +157 -359
- package/web/references/sandoll/DESIGN.md +445 -0
- package/web/references/sanity/DESIGN.md +241 -375
- package/web/references/scatterlab/DESIGN.md +412 -0
- package/web/references/selectstar/DESIGN.md +439 -0
- package/web/references/servicenow/DESIGN.md +289 -0
- package/web/references/shinhanbank/DESIGN.md +161 -341
- package/web/references/shinhancard/DESIGN.md +208 -319
- package/web/references/sionic/DESIGN.md +454 -0
- package/web/references/sktelecom/DESIGN.md +310 -0
- package/web/references/socar/DESIGN.md +125 -32
- package/web/references/softbank/DESIGN.md +231 -0
- package/web/references/sony/DESIGN.md +234 -0
- package/web/references/soop/DESIGN.md +261 -0
- package/web/references/spacex/DESIGN.md +184 -323
- package/web/references/spotify/DESIGN.md +253 -394
- package/web/references/squeezebits/DESIGN.md +441 -0
- package/web/references/stayfolio/DESIGN.md +422 -0
- package/web/references/stripe/DESIGN.md +212 -491
- package/web/references/supabase/DESIGN.md +244 -316
- package/web/references/tabling/DESIGN.md +415 -0
- package/web/references/taishinbank/DESIGN.md +243 -0
- package/web/references/teamlab/DESIGN.md +240 -0
- package/web/references/teamsparta/DESIGN.md +472 -0
- package/web/references/tellingme/DESIGN.md +392 -0
- package/web/references/tesla/DESIGN.md +244 -427
- package/web/references/thsr/DESIGN.md +284 -0
- package/web/references/thumbtack/DESIGN.md +302 -0
- package/web/references/together.ai/DESIGN.md +257 -304
- package/web/references/toss/DESIGN.md +251 -593
- package/web/references/toss-securities/DESIGN.md +255 -178
- package/web/references/tossbank/DESIGN.md +195 -491
- package/web/references/toyota/DESIGN.md +238 -0
- package/web/references/tving/DESIGN.md +197 -245
- package/web/references/typed/DESIGN.md +413 -0
- package/web/references/uber/DESIGN.md +256 -333
- package/web/references/udn/DESIGN.md +250 -0
- package/web/references/upbit/DESIGN.md +145 -256
- package/web/references/upstage/DESIGN.md +211 -204
- package/web/references/uswds/DESIGN.md +287 -0
- package/web/references/vercel/DESIGN.md +236 -440
- package/web/references/wanted/DESIGN.md +215 -487
- package/web/references/wise/DESIGN.md +223 -231
- package/web/references/wisetracker/DESIGN.md +462 -0
- package/web/references/wooribank/DESIGN.md +245 -0
- package/web/references/yanolja/DESIGN.md +250 -419
- package/web/references/yeogiotte/DESIGN.md +235 -418
- package/web/references/zapier/DESIGN.md +256 -377
- package/web/references/zendesk/DESIGN.md +288 -0
- package/web/references/zigzag/DESIGN.md +200 -621
- package/dist/install-skills-7UUDOLG2.js +0 -734
- 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.
|
|
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-
|
|
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:
|
|
15
|
-
extracted: "2026-
|
|
16
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
140
|
+
login: "#fee500"
|
|
141
|
+
login-symbol: "#000000"
|
|
142
|
+
login-label: "#000000"
|
|
143
|
+
marketing: "#fae100"
|
|
144
|
+
dark-marketing: "#111111"
|
|
22
145
|
canvas: "#ffffff"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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: {
|
|
41
|
-
display
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
body:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
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
|
-
###
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
104
|
-
- **
|
|
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
|
-
|
|
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
|
-
###
|
|
136
|
-
- **
|
|
137
|
-
- **
|
|
138
|
-
- **
|
|
139
|
-
- **
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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
|
-
##
|
|
206
|
+
## 3. Typography Rules
|
|
164
207
|
|
|
165
|
-
###
|
|
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
|
-
|
|
234
|
+
## 4. Component Stylings
|
|
168
235
|
|
|
169
|
-
|
|
170
|
-
- Background: `#
|
|
171
|
-
-
|
|
172
|
-
-
|
|
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
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
177
|
-
- Use:
|
|
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
|
-
|
|
180
|
-
- Background:
|
|
181
|
-
- Text: `#
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
198
|
-
- Background: `#
|
|
272
|
+
### Milestone Filter
|
|
273
|
+
- Background: `#eeeeee`
|
|
199
274
|
- Text: `#000000`
|
|
200
|
-
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
275
|
+
- Radius: 30px
|
|
276
|
+
- Padding: 8px 20px 12px
|
|
277
|
+
- Height: 44px
|
|
203
278
|
- Font: 16px / 700 / KakaoBig
|
|
204
|
-
-
|
|
279
|
+
- States: selected filter captured
|
|
205
280
|
|
|
206
|
-
|
|
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
|
-
-
|
|
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-
|
|
351
|
-
**Tier 1 sources:** kakaocorp.com
|
|
352
|
-
**Tier 2 sources:** styles.refero.design
|
|
353
|
-
**
|
|
354
|
-
**Conflicts unresolved:** none
|
|
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
|
-
|
|
359
|
-
-
|
|
360
|
-
-
|
|
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
|
-
|
|
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
|
|
397
|
-
-
|
|
398
|
-
-
|
|
399
|
-
- Use
|
|
400
|
-
-
|
|
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
|
|
406
|
-
- Don't
|
|
407
|
-
- Don't
|
|
408
|
-
- Don't use
|
|
409
|
-
- Don't
|
|
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
|
-
|
|
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
|
-
|
|
442
|
-
-
|
|
443
|
-
-
|
|
444
|
-
-
|
|
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
|
|
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
|
+
Kakao’s 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
|
-
|
|
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
|
|
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 mission—bringing a needed future closer through technology that understands people—places human context before technical novelty.
|
|
497
344
|
|
|
498
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
511
|
-
|
|
512
|
-
|
|
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
|
-
|
|
359
|
+
## 13. Personas
|
|
515
360
|
|
|
516
|
-
|
|
361
|
+
These are official service and stakeholder contexts, not invented demographic personas.
|
|
517
362
|
|
|
518
|
-
|
|
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
|
-
|
|
|
370
|
+
| Component | Verified state evidence |
|
|
523
371
|
|---|---|
|
|
524
|
-
|
|
|
525
|
-
|
|
|
526
|
-
|
|
|
527
|
-
|
|
|
528
|
-
|
|
|
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
|
-
|
|
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.
|