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
|
@@ -8,595 +8,294 @@ primary_color: "#ffe300"
|
|
|
8
8
|
logo:
|
|
9
9
|
type: simpleicons
|
|
10
10
|
slug: kakaotalk
|
|
11
|
-
verified: "2026-
|
|
11
|
+
verified: "2026-07-12"
|
|
12
12
|
omd: "0.1"
|
|
13
13
|
ds:
|
|
14
14
|
name: KakaoBank Brand Resource
|
|
15
15
|
url: "https://www.kakaobank.com/view/about/brand/resource"
|
|
16
16
|
type: brand
|
|
17
|
-
description: "KakaoBank
|
|
18
|
-
|
|
17
|
+
description: "Official KakaoBank identity resource with symbol, wordmark, and brand-color guidance; it does not substitute for native banking-product UI evidence."
|
|
18
|
+
verification_v2:
|
|
19
|
+
schema: 2
|
|
20
|
+
checked: "2026-07-12"
|
|
21
|
+
surfaces:
|
|
22
|
+
- { id: home, kind: corporate-product, url: "https://www.kakaobank.com/", inspected: "2026-07-12" }
|
|
23
|
+
- { id: service, kind: public-service, url: "https://www.kakaobank.com/view/service", inspected: "2026-07-12" }
|
|
24
|
+
- { id: brand, kind: official-brand, url: "https://www.kakaobank.com/view/about/brand/resource", inspected: "2026-07-12" }
|
|
25
|
+
sources:
|
|
26
|
+
- { id: home-live, kind: product-surface, url: "https://www.kakaobank.com/", captured: "2026-07-12" }
|
|
27
|
+
- { id: service-live, kind: product-surface, url: "https://www.kakaobank.com/view/service", captured: "2026-07-12" }
|
|
28
|
+
- { id: brand-live, kind: brand-asset, url: "https://www.kakaobank.com/view/about/brand/resource", captured: "2026-07-12" }
|
|
29
|
+
- { id: brand-pdf, kind: official-doc, url: "https://www.kakaobank.com/static/etc/logo/KakaoBank_BrandIdentityGuidelines_V2.0.pdf", captured: "2026-07-12" }
|
|
30
|
+
conflicts: []
|
|
31
|
+
claims:
|
|
32
|
+
"tokens.colors.primary": &brand_evidence { surface_id: brand, source_id: brand-live, method: official-brand-inspect, captured: "2026-07-12" }
|
|
33
|
+
"tokens.colors.canvas": &home_evidence { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-07-12" }
|
|
34
|
+
"tokens.colors.foreground": *home_evidence
|
|
35
|
+
"tokens.colors.secondary": *home_evidence
|
|
36
|
+
"tokens.colors.body": &service_evidence { surface_id: service, source_id: service-live, method: live-inspect, captured: "2026-07-12" }
|
|
37
|
+
"tokens.colors.surface": *home_evidence
|
|
38
|
+
"tokens.colors.divider": *brand_evidence
|
|
39
|
+
"tokens.typography.family.ui": *home_evidence
|
|
40
|
+
"tokens.typography.hero.size": *home_evidence
|
|
41
|
+
"tokens.typography.hero.weight": *home_evidence
|
|
42
|
+
"tokens.typography.hero.lineHeight": *home_evidence
|
|
43
|
+
"tokens.typography.hero.tracking": *home_evidence
|
|
44
|
+
"tokens.typography.hero.use": *home_evidence
|
|
45
|
+
"tokens.typography.display.size": *service_evidence
|
|
46
|
+
"tokens.typography.display.weight": *service_evidence
|
|
47
|
+
"tokens.typography.display.lineHeight": *service_evidence
|
|
48
|
+
"tokens.typography.display.tracking": *service_evidence
|
|
49
|
+
"tokens.typography.display.use": *service_evidence
|
|
50
|
+
"tokens.typography.section.size": *service_evidence
|
|
51
|
+
"tokens.typography.section.weight": *service_evidence
|
|
52
|
+
"tokens.typography.section.lineHeight": *service_evidence
|
|
53
|
+
"tokens.typography.section.tracking": *service_evidence
|
|
54
|
+
"tokens.typography.section.use": *service_evidence
|
|
55
|
+
"tokens.typography.card-title.size": *service_evidence
|
|
56
|
+
"tokens.typography.card-title.weight": *service_evidence
|
|
57
|
+
"tokens.typography.card-title.lineHeight": *service_evidence
|
|
58
|
+
"tokens.typography.card-title.tracking": *service_evidence
|
|
59
|
+
"tokens.typography.card-title.use": *service_evidence
|
|
60
|
+
"tokens.typography.body.size": *home_evidence
|
|
61
|
+
"tokens.typography.body.weight": *home_evidence
|
|
62
|
+
"tokens.typography.body.lineHeight": *home_evidence
|
|
63
|
+
"tokens.typography.body.use": *home_evidence
|
|
64
|
+
"tokens.typography.navigation.size": *home_evidence
|
|
65
|
+
"tokens.typography.navigation.weight": *home_evidence
|
|
66
|
+
"tokens.typography.navigation.lineHeight": *home_evidence
|
|
67
|
+
"tokens.typography.navigation.tracking": *home_evidence
|
|
68
|
+
"tokens.typography.navigation.use": *home_evidence
|
|
69
|
+
"tokens.spacing.xs": *home_evidence
|
|
70
|
+
"tokens.spacing.sm": *home_evidence
|
|
71
|
+
"tokens.spacing.md": *home_evidence
|
|
72
|
+
"tokens.spacing.lg": *service_evidence
|
|
73
|
+
"tokens.spacing.xl": *brand_evidence
|
|
74
|
+
"tokens.rounded.action": *home_evidence
|
|
75
|
+
"tokens.rounded.section": *home_evidence
|
|
76
|
+
"tokens.rounded.full": *home_evidence
|
|
77
|
+
"tokens.components.top-navigation.type": *home_evidence
|
|
78
|
+
"tokens.components.top-navigation.bg": *home_evidence
|
|
79
|
+
"tokens.components.top-navigation.fg": *home_evidence
|
|
80
|
+
"tokens.components.top-navigation.radius": *home_evidence
|
|
81
|
+
"tokens.components.top-navigation.padding": *home_evidence
|
|
82
|
+
"tokens.components.top-navigation.height": *home_evidence
|
|
83
|
+
"tokens.components.top-navigation.font": *home_evidence
|
|
84
|
+
"tokens.components.top-navigation.states": *home_evidence
|
|
85
|
+
"tokens.components.top-navigation.use": *home_evidence
|
|
86
|
+
"tokens.components.service-tab.type": *service_evidence
|
|
87
|
+
"tokens.components.service-tab.bg": *service_evidence
|
|
88
|
+
"tokens.components.service-tab.fg": *service_evidence
|
|
89
|
+
"tokens.components.service-tab.border": *service_evidence
|
|
90
|
+
"tokens.components.service-tab.radius": *service_evidence
|
|
91
|
+
"tokens.components.service-tab.padding": *service_evidence
|
|
92
|
+
"tokens.components.service-tab.height": *service_evidence
|
|
93
|
+
"tokens.components.service-tab.font": *service_evidence
|
|
94
|
+
"tokens.components.service-tab.states": *service_evidence
|
|
95
|
+
"tokens.components.service-tab.use": *service_evidence
|
|
96
|
+
"tokens.components.black-action.type": *home_evidence
|
|
97
|
+
"tokens.components.black-action.bg": *home_evidence
|
|
98
|
+
"tokens.components.black-action.fg": *home_evidence
|
|
99
|
+
"tokens.components.black-action.radius": *home_evidence
|
|
100
|
+
"tokens.components.black-action.padding": *home_evidence
|
|
101
|
+
"tokens.components.black-action.height": *home_evidence
|
|
102
|
+
"tokens.components.black-action.font": *home_evidence
|
|
103
|
+
"tokens.components.black-action.states": *home_evidence
|
|
104
|
+
"tokens.components.black-action.use": *home_evidence
|
|
105
|
+
"tokens.components.resource-download.type": *brand_evidence
|
|
106
|
+
"tokens.components.resource-download.bg": *brand_evidence
|
|
107
|
+
"tokens.components.resource-download.fg": *brand_evidence
|
|
108
|
+
"tokens.components.resource-download.radius": *brand_evidence
|
|
109
|
+
"tokens.components.resource-download.padding": *brand_evidence
|
|
110
|
+
"tokens.components.resource-download.height": *brand_evidence
|
|
111
|
+
"tokens.components.resource-download.font": *brand_evidence
|
|
112
|
+
"tokens.components.resource-download.states": *brand_evidence
|
|
113
|
+
"tokens.components.resource-download.use": *brand_evidence
|
|
114
|
+
"tokens.components.brand-spec-row.type": *brand_evidence
|
|
115
|
+
"tokens.components.brand-spec-row.bg": *brand_evidence
|
|
116
|
+
"tokens.components.brand-spec-row.fg": *brand_evidence
|
|
117
|
+
"tokens.components.brand-spec-row.border": *brand_evidence
|
|
118
|
+
"tokens.components.brand-spec-row.radius": *brand_evidence
|
|
119
|
+
"tokens.components.brand-spec-row.padding": *brand_evidence
|
|
120
|
+
"tokens.components.brand-spec-row.font": *brand_evidence
|
|
121
|
+
"tokens.components.brand-spec-row.use": *brand_evidence
|
|
19
122
|
tokens:
|
|
20
|
-
source:
|
|
21
|
-
extracted: "2026-
|
|
22
|
-
|
|
123
|
+
source: reconciled
|
|
124
|
+
extracted: "2026-07-12"
|
|
125
|
+
note: "Fresh corporate home, service, and official brand-resource capture. Brand identity and public web measurements are promoted; native banking-product controls are not inferred."
|
|
23
126
|
colors:
|
|
24
127
|
primary: "#ffe300"
|
|
25
|
-
base: "#1e1e1e"
|
|
26
128
|
canvas: "#ffffff"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
surface
|
|
31
|
-
|
|
32
|
-
link: "#007aff"
|
|
33
|
-
success: "#0fbe6c"
|
|
34
|
-
warning: "#ff9800"
|
|
35
|
-
inactive-tab: "#888888"
|
|
36
|
-
border-subtle: "#e6e6e6"
|
|
37
|
-
on-primary: "#1e1e1e"
|
|
129
|
+
foreground: "#000000"
|
|
130
|
+
secondary: "#888888"
|
|
131
|
+
body: "#444444"
|
|
132
|
+
surface: "#f7f7f7"
|
|
133
|
+
divider: "#e6e6e6"
|
|
38
134
|
typography:
|
|
39
|
-
family: {
|
|
40
|
-
hero
|
|
41
|
-
display:
|
|
42
|
-
section
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32, section: 80 }
|
|
50
|
-
rounded: { sm: 8, md: 12, lg: 16, full: 9999 }
|
|
51
|
-
shadow:
|
|
52
|
-
whisper: "0 1px 2px rgba(0,0,0,0.04)"
|
|
53
|
-
subtle: "0 2px 8px rgba(0,0,0,0.06)"
|
|
54
|
-
sheet: "0 -2px 16px rgba(0,0,0,0.08)"
|
|
135
|
+
family: { ui: "Pretendard Variable" }
|
|
136
|
+
hero: { size: 90, weight: 800, lineHeight: 1.3, tracking: -0.9, use: "Current corporate home hero" }
|
|
137
|
+
display: { size: 42, weight: 700, lineHeight: 1.24, tracking: -0.84, use: "Current service page title" }
|
|
138
|
+
section: { size: 32, weight: 700, lineHeight: 1.36, tracking: -0.64, use: "Current public service section heading" }
|
|
139
|
+
card-title: { size: 24, weight: 700, lineHeight: 1.44, tracking: -0.48, use: "Current public service and brand-resource card heading" }
|
|
140
|
+
body: { size: 16, weight: 400, lineHeight: 1.5, use: "Current public body and list text" }
|
|
141
|
+
navigation: { size: 14, weight: 600, lineHeight: 1.5, tracking: -0.14, use: "Current top navigation" }
|
|
142
|
+
spacing: { xs: 8, sm: 12, md: 16, lg: 24, xl: 40 }
|
|
143
|
+
rounded: { action: 6, section: 16, full: 9999 }
|
|
144
|
+
components_harvested: true
|
|
55
145
|
components:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
tab-subnav: { type: tab, bg: "transparent", fg: "#888888", padding: "20px 0", font: "14px/400", active: "#1e1e1e text", use: "Sub-section nav" }
|
|
62
|
-
tab-service: { type: tab, bg: "transparent", fg: "#1e1e1e", padding: "16px 0", font: "16px/400", use: "Product-category tabs" }
|
|
63
|
-
tab-segmented: { type: tab, bg: "transparent", fg: "#a3a3a3", radius: 12, font: "14px/600", active: "#ffffff bg + #1e1e1e text", use: "Segmented control" }
|
|
64
|
-
card-product: { type: card, bg: "#ffffff", radius: 12, padding: "24px", use: "Corporate product card" }
|
|
65
|
-
card-section-fill: { type: card, bg: "#f7f7f7", radius: 16, padding: "32px", use: "Mid-page promotional sections" }
|
|
66
|
-
card-debit: { type: card, bg: "#ffe300", radius: 16, use: "Debit/savings card visualization, CR-80 aspect" }
|
|
67
|
-
input-default: { type: input, bg: "#ffffff", fg: "#1e1e1e", radius: 12, padding: "14px 16px", font: "16px/400", use: "Form fields, amount entry" }
|
|
68
|
-
input-amount: { type: input, bg: "transparent", fg: "#1e1e1e", font: "32px/700", use: "Transfer amount hero numeral" }
|
|
69
|
-
badge-notification: { type: badge, bg: "#e02000", fg: "#ffffff", radius: 9999, padding: "2px 6px", font: "11px/700", use: "Unread notification dot" }
|
|
70
|
-
badge-status-positive: { type: badge, fg: "#0fbe6c", radius: 9999, padding: "4px 10px", font: "12px/600", use: "이체 완료, 적금 진행중" }
|
|
71
|
-
badge-status-critical: { type: badge, fg: "#e02000", radius: 9999, padding: "4px 10px", font: "12px/600", use: "이체 실패, 기한 만료" }
|
|
72
|
-
listItem-account: { type: listItem, bg: "#ffffff", padding: "16px 20px", use: "Account row, 64px min-height, 40px rounded-square avatar" }
|
|
146
|
+
top-navigation: { type: button, bg: "transparent", fg: "#000000", radius: "0px", padding: "0 20px", height: "62px", font: "14px / 600", states: "focus, hover, and pressed captured", use: "Current corporate top navigation item" }
|
|
147
|
+
service-tab: { type: tab, bg: "transparent", fg: "#000000", border: "0 0 1px #e6e6e6", radius: "0px", padding: "16px 0", height: "62px", font: "16px / 400", states: "default captured; no reusable selected style promoted", use: "Current public service-category tab" }
|
|
148
|
+
black-action: { type: button, bg: "#000000", fg: "#ffffff", radius: "6px", padding: "9.5px 18px", height: "42px", font: "15px / 600", states: "default captured; no reusable hover or pressed value promoted", use: "Current corporate high-emphasis action" }
|
|
149
|
+
resource-download: { type: button, bg: "#000000", fg: "#ffffff", radius: "6px", padding: "10px 16px 10px 20px", height: "43px", font: "16px / 400", states: "default captured; no reusable hover or pressed value promoted", use: "Current official brand-resource download action" }
|
|
150
|
+
brand-spec-row: { type: listItem, bg: "transparent", fg: "#000000", border: "1px 0 0 #e6e6e6", radius: "0px", padding: "10px 0", font: "16px / 400 / 24px", use: "Current official brand specification row" }
|
|
73
151
|
---
|
|
74
152
|
|
|
75
153
|
# Design System Inspiration of KakaoBank (카카오뱅크)
|
|
76
154
|
|
|
77
155
|
## 1. Visual Theme & Atmosphere
|
|
78
156
|
|
|
79
|
-
KakaoBank is
|
|
157
|
+
KakaoBank is an internet bank that presents financial services as part of ordinary mobile life. Its public story spans deposits, savings, loans, investment, foreign exchange, cards, business banking, youth products, and newer AI-led service exploration. The corporate site expresses that breadth with unusually little banking ornament: a white canvas, black type, pale-gray sections, very large Korean headings, and only selective use of the protected KakaoBank Yellow. The result feels digitally accessible while retaining the clarity and restraint expected from a regulated financial institution.
|
|
158
|
+
|
|
159
|
+
That restraint is the distinctive system. The official brand resource defines KakaoBank Yellow as `#FFE300`, alongside black, white, and a narrow neutral palette, and warns against nearby substitute yellows. Yet the current public corporate surface is mostly monochrome. Yellow identifies KakaoBank; it is not proof that every banking CTA, card, success state, or app control uses yellow. The current product page organizes the catalog through large editorial sections and simple service tabs, while the brand-resource page explains the symbol, wordmark, and color system as protected identity assets.
|
|
80
160
|
|
|
81
|
-
|
|
161
|
+
Pretendard Variable carries all visible public UI and editorial roles. It loaded from KakaoBank's own domain and appeared across 645 elements, from the 90px home hero to 14px navigation and 16px body text. Brand character comes from scale, disciplined yellow, and product imagery rather than a proprietary display face.
|
|
82
162
|
|
|
83
163
|
**Key Characteristics:**
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
- Single-yellow discipline — the brand guide specifies one yellow value and one only; no tinted sub-shades
|
|
91
|
-
- Mobile-app-first — the corporate site is the marketing layer, not the product; the actual DS lives in the iOS/Android client
|
|
164
|
+
- Official single-yellow identity: `#FFE300`, not neighboring Kakao-family yellows
|
|
165
|
+
- White and pale-gray corporate canvas with black-first typography
|
|
166
|
+
- Pretendard Variable loaded across every observed text role
|
|
167
|
+
- 90px/800 home hero and 42px/700 service-page title
|
|
168
|
+
- Flat public components with 0px navigation/tab geometry and 6px black actions
|
|
169
|
+
- Explicit separation between public corporate evidence and native banking-product UI
|
|
92
170
|
|
|
93
171
|
## 2. Color Palette & Roles
|
|
94
172
|
|
|
95
|
-
|
|
96
|
-
- **
|
|
97
|
-
- **
|
|
98
|
-
- **
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
- **Surface Fill** (`#F7F7F7`): Section backgrounds, card-on-card layering on the corporate site.
|
|
104
|
-
- **Surface Subtle** (`#F9F9F9`): Footer surface on the corporate site.
|
|
105
|
-
|
|
106
|
-
### Semantic (banking-functional)
|
|
107
|
-
- **Critical Red** (`#E02000`): Error messages, destructive actions, failed-transaction badges. Inherited from Kakao parent for cross-product consistency.
|
|
108
|
-
- **Link Blue** (`#007AFF`): Inline action buttons in chat-like flows (iOS-aligned blue), secondary tappable affordances.
|
|
109
|
-
- **Positive Green** (`#0FBE6C`): Successful transfers, completed savings goals, verified status — banking apps must read "money moved" instantly.
|
|
110
|
-
- **Warning Amber** (`#FF9800`): Caution states (e.g., "limit approaching"), reserved for genuine warnings, not ambient nudges.
|
|
111
|
-
|
|
112
|
-
### Typography Color Roles
|
|
113
|
-
- **Heading / Strong** (`#1E1E1E`): h1–h3, balance amounts, account names.
|
|
114
|
-
- **Body** (`#1E1E1E`): Default body color on the corporate site (full strength — no muted body).
|
|
115
|
-
- **Secondary / Caption** (`#A3A3A3`): Sub-labels, timestamps, FAQ helper text, footer policy links.
|
|
116
|
-
- **Inactive Tab** (`#888888`): Sub-nav inactive items on the corporate site.
|
|
117
|
-
|
|
118
|
-
### Surface & Borders
|
|
119
|
-
- **Border Default** (`#CCCCCC`): Card borders, input outlines, divider lines.
|
|
120
|
-
- **Border Subtle** (`#E6E6E6`): Faint separators inside dense list views (carries from list patterns).
|
|
121
|
-
- **Overlay** (`rgba(0, 0, 0, 0.4)`): Modal scrims — lighter than most banks, keeping in-context visibility.
|
|
173
|
+
- **KakaoBank Yellow** (`#ffe300`): official primary identity color and protected brand specification.
|
|
174
|
+
- **Canvas** (`#ffffff`) and **foreground** (`#000000`): dominant current public pairing.
|
|
175
|
+
- **Secondary** (`#888888`): repeated supporting navigation and footer text.
|
|
176
|
+
- **Body gray** (`#444444`): service and brand-resource explanatory text.
|
|
177
|
+
- **Section surface** (`#f7f7f7`): current quiet public section fill.
|
|
178
|
+
- **Divider** (`#e6e6e6`): public service and brand-spec boundaries.
|
|
179
|
+
|
|
180
|
+
Earlier `#E02000`, `#0FBE6C`, `#FF9800`, input, placeholder, and native state roles are not retained. The live public site exposed `#007AFF` on small web controls, but its semantic product role was not clear enough to promote.
|
|
122
181
|
|
|
123
182
|
## 3. Typography Rules
|
|
124
183
|
|
|
125
|
-
### Font
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
|
136
|
-
|
|
137
|
-
|
|
|
138
|
-
|
|
|
139
|
-
|
|
|
140
|
-
|
|
|
141
|
-
|
|
|
142
|
-
|
|
|
143
|
-
|
|
144
|
-
### Principles
|
|
145
|
-
- **One typeface, three weights**: 400 (Regular), 600 (SemiBold), 700/800 (Bold/ExtraBold for hero only). The corporate hero pushes to 800 — that is the brand's confidence moment.
|
|
146
|
-
- **Korean-first metric**: Pretendard Variable ships line-heights tuned for Hangul; do not override with a Latin-tuned `line-height` value.
|
|
147
|
-
- **No italics**. Banking copy reads upright; emphasis happens through weight, not slant.
|
|
148
|
-
- **No custom brand display font on web**. Yellow + the symbol carry brand identity; type stays neutral so account numbers and amounts read as data, not marketing.
|
|
184
|
+
### Font evidence boundary
|
|
185
|
+
|
|
186
|
+
| Evidence class | Resolution |
|
|
187
|
+
|---|---|
|
|
188
|
+
| Official product-use | KakaoBank's current public home, service, and brand-resource pages establish Pretendard Variable. |
|
|
189
|
+
| Live surface-use | Pretendard Variable loaded/high across 645 visible elements from KakaoBank's first-party WOFF2. |
|
|
190
|
+
| Official distributed asset | The public webfont is first-party delivered; the KakaoBank wordmark remains a protected identity asset rather than a font. |
|
|
191
|
+
| Declared-only | `swiper-icons` was declared with zero visible text use. |
|
|
192
|
+
| Unresolved | Native iOS/Android banking flows and device-specific typography remain unresolved. |
|
|
193
|
+
|
|
194
|
+
| Role | Size | Weight | Line height | Tracking |
|
|
195
|
+
|---|---:|---:|---:|---:|
|
|
196
|
+
| Corporate hero | 90px | 800 | 117px | -0.9px |
|
|
197
|
+
| Service display | 42px | 700 | 52.08px | -0.84px |
|
|
198
|
+
| Section heading | 32px | 700 | 43.52px | -0.64px |
|
|
199
|
+
| Card heading | 24px | 700 | 34.56px | -0.48px |
|
|
200
|
+
| Body/list | 16px | 400 | 24px | normal |
|
|
201
|
+
| Top navigation | 14px | 600 | 21px | -0.14px |
|
|
149
202
|
|
|
150
203
|
## 4. Component Stylings
|
|
151
204
|
|
|
152
|
-
###
|
|
153
|
-
|
|
154
|
-
KakaoBank's corporate site is intentionally chrome-light — buttons on the public web are mostly text affordances with a few iconographic ones. The product-facing button system lives in the mobile app, where the **Yellow Solid** primary CTA is the signature pattern (verified visually on app icon, debit card face, brand resource page swatch — `#FFE300` is the canonical fill).
|
|
155
|
-
|
|
156
|
-
**Yellow Solid (Primary CTA — product surfaces / app)**
|
|
157
|
-
- Background: `#FFE300` (KakaoBank Yellow)
|
|
158
|
-
- Text: `#1E1E1E` (Near Black) — never white on yellow (contrast fail)
|
|
159
|
-
- Border: none
|
|
160
|
-
- Radius: 12px
|
|
161
|
-
- Padding: 14px 20px (default), 16px 24px (large)
|
|
162
|
-
- Font: 16px / 600 / Pretendard
|
|
163
|
-
- Pressed: opacity 0.85 (no darker yellow exists in the brand palette)
|
|
164
|
-
- Disabled: bg `#F7F7F7`, text `#CCCCCC`
|
|
165
|
-
- Use: Primary action in product flows ("이체하기", "확인", "다음")
|
|
166
|
-
|
|
167
|
-
**Black Solid (Secondary Strong)**
|
|
168
|
-
- Background: `#1E1E1E`
|
|
169
|
-
- Text: `#FFFFFF`
|
|
170
|
-
- Border: none
|
|
171
|
-
- Radius: 12px
|
|
172
|
-
- Padding: 14px 20px
|
|
173
|
-
- Font: 16px / 600 / Pretendard
|
|
174
|
-
- Use: Secondary high-emphasis CTA when paired with Yellow Solid; identity verification flows
|
|
175
|
-
|
|
176
|
-
**Outline Neutral**
|
|
177
|
-
- Background: transparent
|
|
178
|
-
- Text: `#1E1E1E`
|
|
179
|
-
- Border: 1px solid `#CCCCCC`
|
|
180
|
-
- Radius: 12px
|
|
181
|
-
- Padding: 14px 20px
|
|
182
|
-
- Font: 16px / 600 / Pretendard
|
|
183
|
-
- Pressed: bg `#F7F7F7`
|
|
184
|
-
- Use: Tertiary actions, "취소", "나중에"
|
|
185
|
-
|
|
186
|
-
**Top Nav Link (corporate site — verified)**
|
|
187
|
-
- Background: transparent
|
|
188
|
-
- Text: `#1E1E1E` → hover/active stays `#1E1E1E` (no color change)
|
|
189
|
-
- Border: none
|
|
190
|
-
- Padding: 0 20px
|
|
191
|
-
- Font: 14px / 600 / Pretendard
|
|
192
|
-
- Height: 62px (vertically centered in 62px header band)
|
|
193
|
-
- Use: Top navigation items (`소개`, `서비스`, `ESG`, `투자정보`, `고객센터`, `인재영입`)
|
|
194
|
-
|
|
195
|
-
**Sub-Nav Tab (corporate site — verified)**
|
|
196
|
-
- Background: transparent
|
|
197
|
-
- Text inactive: `#888888`
|
|
198
|
-
- Text active: `#1E1E1E`
|
|
199
|
-
- Border: 0px (active state expressed through color, not underline)
|
|
200
|
-
- Padding: 20px 0
|
|
201
|
-
- Font: 14px / 400 / Pretendard
|
|
202
|
-
- Use: Sub-section nav (`비즈니스`, `기술`, `새소식`)
|
|
203
|
-
|
|
204
|
-
**Service Tab (verified — kakaobank.com/view/service)**
|
|
205
|
-
- Background: transparent
|
|
206
|
-
- Text: `#1E1E1E`
|
|
207
|
-
- Border: 0
|
|
208
|
-
- Padding: 16px 0
|
|
209
|
-
- Font: 16px / 400 / Pretendard
|
|
210
|
-
- Height: 61px
|
|
211
|
-
- Use: Product-category tabs on the service page (통장, 저축, 대출, 투자, 외환, 카드, 사업자)
|
|
212
|
-
|
|
213
|
-
**Critical Solid**
|
|
214
|
-
- Background: `#E02000`
|
|
215
|
-
- Text: `#FFFFFF`
|
|
216
|
-
- Border: none
|
|
217
|
-
- Radius: 12px
|
|
218
|
-
- Padding: 14px 20px
|
|
219
|
-
- Font: 16px / 600
|
|
220
|
-
- Use: Destructive actions (계좌 해지, 자동이체 삭제)
|
|
221
|
-
|
|
222
|
-
### Cards
|
|
223
|
-
|
|
224
|
-
**Product Card (corporate)**
|
|
225
|
-
- Background: `#FFFFFF`
|
|
226
|
-
- Border: none (or 1px solid `#E6E6E6` when laid on white)
|
|
227
|
-
- Radius: 12px (verified — corporate card-link `border-radius: 12px`)
|
|
228
|
-
- Padding: 24px
|
|
229
|
-
- Shadow: none — corporate site is shadow-free; depth via background fill `#F7F7F7`
|
|
230
|
-
- Use: AI 서비스 / mini / 사업자 / 글로벌 sections on `/view/service`
|
|
231
|
-
|
|
232
|
-
**Section Fill Card**
|
|
233
|
-
- Background: `#F7F7F7`
|
|
234
|
-
- Border: none
|
|
235
|
-
- Radius: 16px
|
|
236
|
-
- Padding: 32px
|
|
237
|
-
- Use: Mid-page promotional sections, FAQ groupings
|
|
238
|
-
|
|
239
|
-
**Debit / Savings Card (product visualization)**
|
|
240
|
-
- Background: `#FFE300` (KakaoBank Yellow) — face color
|
|
241
|
-
- Border: none
|
|
242
|
-
- Radius: 16px (mobile-app card visual)
|
|
243
|
-
- Aspect: ~1.586:1 (CR-80 card proportion)
|
|
244
|
-
- Use: Card preview tiles, 26주적금 progress card, 모임통장 summary card. Kakao Friends mascot illustration (Ryan / Apeach / Muzi) often sits left, account label right, amount bottom-right.
|
|
245
|
-
|
|
246
|
-
### Inputs
|
|
247
|
-
|
|
248
|
-
**Default**
|
|
249
|
-
- Background: `#FFFFFF`
|
|
250
|
-
- Text: `#1E1E1E`
|
|
251
|
-
- Border: 1px solid `#CCCCCC`
|
|
252
|
-
- Radius: 12px
|
|
253
|
-
- Padding: 14px 16px
|
|
254
|
-
- Font: 16px / 400
|
|
255
|
-
- Placeholder: `#A3A3A3`
|
|
256
|
-
- Focus: border `#1E1E1E` 1.5px (no yellow focus — yellow is brand, not state)
|
|
257
|
-
- Error: border `#E02000` 1.5px
|
|
258
|
-
- Use: Form fields, amount entry, recipient lookup
|
|
259
|
-
|
|
260
|
-
**Amount Input (large)**
|
|
261
|
-
- Background: transparent
|
|
262
|
-
- Text: `#1E1E1E`, 32–48px / 700
|
|
263
|
-
- Border: none (underline only on focus, 2px solid `#1E1E1E`)
|
|
264
|
-
- Use: Transfer amount entry — banking apps expect amount as a hero numeral
|
|
265
|
-
|
|
266
|
-
### Badges
|
|
267
|
-
|
|
268
|
-
**Notification Dot**
|
|
269
|
-
- Background: `#E02000`
|
|
270
|
-
- Text: `#FFFFFF`
|
|
271
|
-
- Border: 1.5px solid `#FFFFFF` (separation from yellow surfaces)
|
|
272
|
-
- Radius: 9999px
|
|
273
|
-
- Padding: 2px 6px
|
|
274
|
-
- Font: 11px / 700
|
|
275
|
-
- Use: Unread notification on tab/card
|
|
276
|
-
|
|
277
|
-
**Status Pill (Positive)**
|
|
278
|
-
- Background: rgba(15, 190, 108, 0.12)
|
|
279
|
-
- Text: `#0FBE6C`
|
|
280
|
-
- Border: none
|
|
281
|
-
- Radius: 9999px
|
|
282
|
-
- Padding: 4px 10px
|
|
283
|
-
- Font: 12px / 600
|
|
284
|
-
- Use: "이체 완료", "적금 진행중"
|
|
285
|
-
|
|
286
|
-
**Status Pill (Critical)**
|
|
287
|
-
- Background: rgba(224, 32, 0, 0.12)
|
|
288
|
-
- Text: `#E02000`
|
|
289
|
-
- Use: "이체 실패", "기한 만료"
|
|
290
|
-
|
|
291
|
-
### Tabs (segmented)
|
|
292
|
-
|
|
293
|
-
**Segmented Control**
|
|
294
|
-
- Container: `#F7F7F7` bg, 12px radius, 4px inner padding
|
|
295
|
-
- Inactive tab: transparent, `#A3A3A3` text, 14px / 600
|
|
296
|
-
- Active tab: `#FFFFFF` bg, `#1E1E1E` text, 14px / 600, shadow `0 1px 2px rgba(0,0,0,0.08)`
|
|
297
|
-
- Use: Switching between account types, period filters
|
|
298
|
-
|
|
299
|
-
### List Items
|
|
300
|
-
|
|
301
|
-
**Account Row**
|
|
302
|
-
- Background: `#FFFFFF`
|
|
303
|
-
- Padding: 16px 20px
|
|
304
|
-
- Min-height: 64px
|
|
305
|
-
- Avatar: 40px rounded square (12px radius — Kakao family rule)
|
|
306
|
-
- Account name: 16px / 600 / `#1E1E1E`
|
|
307
|
-
- Account number / sub-label: 13px / 400 / `#A3A3A3`
|
|
308
|
-
- Right-aligned amount: 16px / 700 / `#1E1E1E` (color flips to `#E02000` for negative)
|
|
309
|
-
- Divider: 1px solid `#E6E6E6` between rows
|
|
205
|
+
### Current public components
|
|
310
206
|
|
|
311
|
-
|
|
207
|
+
#### Top navigation
|
|
208
|
+
- Transparent / black, 0px radius, 62px height, `0 20px`
|
|
209
|
+
- Pretendard Variable 14px/600; focus, hover, and pressed captured
|
|
210
|
+
|
|
211
|
+
#### Service-category tab
|
|
212
|
+
- Transparent / black, 1px `#e6e6e6` bottom rule
|
|
213
|
+
- 0px radius, 62px height, `16px 0`, 16px/400
|
|
214
|
+
|
|
215
|
+
#### Corporate black action
|
|
216
|
+
- Black / white, 6px radius, 42px height, `9.5px 18px`
|
|
217
|
+
- Pretendard Variable 15px/600
|
|
218
|
+
|
|
219
|
+
#### Brand-resource download
|
|
220
|
+
- Black / white, 6px radius, 43px height, `10px 16px 10px 20px`
|
|
221
|
+
- Pretendard Variable 16px/400
|
|
312
222
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
223
|
+
#### Brand specification row
|
|
224
|
+
- Transparent / black, 1px `#e6e6e6` top rule
|
|
225
|
+
- `10px 0`, 16px/400/24px
|
|
226
|
+
|
|
227
|
+
Yellow native CTAs, account cards, transfer inputs, status badges, notifications, bottom sheets, and app tabs are intentionally absent until a current inspectable native-product path establishes them.
|
|
318
228
|
|
|
319
229
|
## 5. Layout Principles
|
|
320
230
|
|
|
321
|
-
|
|
322
|
-
-
|
|
323
|
-
-
|
|
324
|
-
-
|
|
325
|
-
-
|
|
326
|
-
- List item vertical padding: 16px
|
|
327
|
-
- Section vertical rhythm: 80px between major sections, 32px between sub-sections
|
|
328
|
-
|
|
329
|
-
### Grid & Container
|
|
330
|
-
- Web: 1360px content max-width, centered
|
|
331
|
-
- Mobile (app): full-width with 20px horizontal gutter
|
|
332
|
-
- Card grid: 4-column on desktop, 2-column on tablet, single column on mobile
|
|
333
|
-
- Account list: single column, full-width items, 64px row height
|
|
334
|
-
|
|
335
|
-
### Whitespace Philosophy
|
|
336
|
-
- **Banking-formal, not bank-formal.** Generous whitespace says "we have nothing to hide" — but it's structured, not luxurious. Every section breathes; no section sprawls.
|
|
337
|
-
- **Yellow earns its space.** When yellow appears (card face, hero illustration, primary CTA), it gets ≥40% of its container; partial-yellow accents are forbidden by guideline.
|
|
338
|
-
- **Lists density, hero generosity.** Account/transaction lists target 6+ rows per viewport; hero and onboarding screens target 1 idea per viewport.
|
|
339
|
-
|
|
340
|
-
### Border Radius Scale
|
|
341
|
-
- Tight (8px): inline tags, small chips
|
|
342
|
-
- Standard (12px): buttons, inputs, product cards, avatars (rounded squares — Kakao-family rule, not circles)
|
|
343
|
-
- Comfortable (16px): section fill cards, debit card visualization
|
|
344
|
-
- Sheet (20px): bottom sheet top corners
|
|
345
|
-
- Pill (9999px): status badges, notification dots, segmented control inactive tabs
|
|
231
|
+
- Use large type and generous vertical rhythm to explain complex financial categories.
|
|
232
|
+
- Keep public navigation and tabs geometrically flat; hierarchy comes from placement and weight.
|
|
233
|
+
- Use `#f7f7f7` for section-level grouping instead of elevated cards.
|
|
234
|
+
- Apply KakaoBank Yellow at verified identity moments, not as ambient chrome.
|
|
235
|
+
- Keep official brand-resource layouts separate from banking-task layouts.
|
|
346
236
|
|
|
347
237
|
## 6. Depth & Elevation
|
|
348
238
|
|
|
349
|
-
|
|
350
|
-
|-------|-----------|-----|
|
|
351
|
-
| Flat (Level 0) | No shadow | Default — corporate site is entirely flat. Most product cards |
|
|
352
|
-
| Whisper (Level 1) | `0 1px 2px rgba(0,0,0,0.04)` | Active segmented-tab pip, inline raised chip |
|
|
353
|
-
| Subtle (Level 2) | `0 2px 8px rgba(0,0,0,0.06)` | Floating action button, tooltip |
|
|
354
|
-
| Sheet (Level 3) | `0 -2px 16px rgba(0,0,0,0.08)` | Bottom sheets, modal dialogs |
|
|
355
|
-
|
|
356
|
-
**Shadow Philosophy.** KakaoBank inherits Kakao parent's flat-design discipline and amplifies it for banking-formal trust. The corporate site has zero shadows; depth is communicated through `#FFFFFF` → `#F7F7F7` → `#F9F9F9` background steps and 1px `#E6E6E6` dividers. Mobile-app surfaces use shadows sparingly — the debit card face does not float; it sits flat on white. Yellow never casts a yellow-tinted shadow.
|
|
239
|
+
The promoted public system is shadow-free. Separation comes from white/pale-gray surfaces, `#e6e6e6` rules, and typographic scale. No sheet, card, or focus shadow is promoted for native banking UI.
|
|
357
240
|
|
|
358
241
|
## 7. Do's and Don'ts
|
|
359
242
|
|
|
360
243
|
### Do
|
|
361
|
-
- Use `#FFE300`
|
|
362
|
-
-
|
|
363
|
-
-
|
|
364
|
-
-
|
|
365
|
-
- Use 12px radius as the family default (buttons, cards, avatars-as-rounded-squares)
|
|
366
|
-
- Reserve Kakao Friends mascots for product moments (cards, 26주적금 challenges, 모임 메시지카드) — never in compliance chrome
|
|
367
|
-
- Use full-strength colors — `#1E1E1E` body, `#A3A3A3` caption, `#CCCCCC` border. Avoid in-between grays
|
|
368
|
-
- Let the corporate site stay near-monochrome — yellow is for the app, not the marketing chrome
|
|
244
|
+
- Use exact `#FFE300` when the role is an official KakaoBank identity role.
|
|
245
|
+
- Preserve Pretendard Variable's observed Korean-first metrics and tracking.
|
|
246
|
+
- Keep the corporate web surface restrained and largely monochrome.
|
|
247
|
+
- Distinguish official identity, public service marketing, and native banking evidence.
|
|
369
248
|
|
|
370
249
|
### Don't
|
|
371
|
-
-
|
|
372
|
-
-
|
|
373
|
-
-
|
|
374
|
-
-
|
|
375
|
-
- Don't render the symbol on a non-Yellow/Black/White background — guideline forbidden
|
|
376
|
-
- Don't apply the wordmark independently — it follows Kakao 공동체 CI rules, not standalone use
|
|
377
|
-
- Don't use pure black `#000000` for text — use `#1E1E1E` to match the family
|
|
378
|
-
- Don't use a custom display webfont — Pretendard Variable is the only typeface on web
|
|
250
|
+
- Do not substitute `#FEE500`, `#FAE100`, or another Kakao-family yellow.
|
|
251
|
+
- Do not infer a Yellow CTA or transfer component from a brand swatch.
|
|
252
|
+
- Do not fabricate app error, success, account, badge, or sheet components.
|
|
253
|
+
- Do not turn the public corporate site into a Kakao Friends-heavy app mockup.
|
|
379
254
|
|
|
380
255
|
## 8. Responsive Behavior
|
|
381
256
|
|
|
382
|
-
|
|
383
|
-
| Name | Width | Key Changes |
|
|
384
|
-
|------|-------|-------------|
|
|
385
|
-
| Mobile (Primary) | <480px | Full-width app layout, 20px gutter, single-column |
|
|
386
|
-
| Tablet | 480–1024px | 2-column card grids, expanded service tabs |
|
|
387
|
-
| Desktop | 1024–1360px | 4-column grids, fixed top nav, 1360px content max |
|
|
388
|
-
| Wide | >1360px | Content stays at 1360px; canvas extends with `#FFFFFF` margins |
|
|
389
|
-
|
|
390
|
-
### Touch Targets
|
|
391
|
-
- Buttons: 48px min-height (default), 56px (large), 40px (compact)
|
|
392
|
-
- Tab bar: 56px height, evenly distributed
|
|
393
|
-
- List rows: 64px (account list), 56px (settings list)
|
|
394
|
-
- Notification dot: 16px diameter minimum
|
|
395
|
-
|
|
396
|
-
### Collapsing Strategy
|
|
397
|
-
- Desktop top nav (`소개 / 서비스 / ESG / 투자정보 / 고객센터 / 인재영입`) collapses to hamburger drawer below 768px
|
|
398
|
-
- Service product-category tab strip (`통장 / 저축 / 대출 / 투자 / 외환 / 카드 / 사업자`) becomes horizontal scroll below 768px
|
|
399
|
-
- Card grids: 4 → 2 → 1 column at desktop / tablet / mobile breakpoints
|
|
400
|
-
- Bottom CTA in product flows: sticky full-width with safe area inset
|
|
401
|
-
|
|
402
|
-
### Image Behavior
|
|
403
|
-
- Hero illustration (Kakao Friends, 26주적금 character): edge-bleed on mobile, contained on desktop
|
|
404
|
-
- Card faces (debit / savings / 모임): 1.586:1 aspect (CR-80 proportion), 16px radius
|
|
405
|
-
- Mascot avatars in chat-style flows: 40px rounded square, 12px radius
|
|
257
|
+
The public routes preserve their typographic hierarchy and section grouping while content reflows. Exact mobile-app navigation, banking-task breakpoints, device safe areas, and native keyboard behavior remain unresolved.
|
|
406
258
|
|
|
407
259
|
## 9. Agent Prompt Guide
|
|
408
260
|
|
|
409
|
-
|
|
410
|
-
- Primary CTA: KakaoBank Yellow (`#FFE300`)
|
|
411
|
-
- CTA Text on Yellow: Near Black (`#1E1E1E`) — NEVER white on yellow
|
|
412
|
-
- Background: Pure White (`#FFFFFF`)
|
|
413
|
-
- Surface Fill: Light Fill (`#F7F7F7`)
|
|
414
|
-
- Heading text: Near Black (`#1E1E1E`)
|
|
415
|
-
- Body text: Near Black (`#1E1E1E`)
|
|
416
|
-
- Secondary text: Gray (`#A3A3A3`)
|
|
417
|
-
- Inactive nav text: Cool Gray (`#888888`)
|
|
418
|
-
- Border: Light Gray (`#CCCCCC`)
|
|
419
|
-
- Divider: Border Subtle (`#E6E6E6`)
|
|
420
|
-
- Error: Red (`#E02000`)
|
|
421
|
-
- Success: Green (`#0FBE6C`)
|
|
422
|
-
- Link / iOS-blue action: Blue (`#007AFF`)
|
|
423
|
-
|
|
424
|
-
### Example Component Prompts
|
|
425
|
-
- "Create a Yellow Solid primary button: `#FFE300` background, `#1E1E1E` text 16px weight 600, 12px radius, 14×20 padding, 48px min-height, full-width on mobile. Pressed: opacity 0.85. Disabled: `#F7F7F7` bg, `#CCCCCC` text."
|
|
426
|
-
- "Build a debit card visualization: `#FFE300` background, 16px radius, 1.586:1 aspect, 24px padding. Top-left: account name 14px weight 600 `#1E1E1E`. Top-right: KakaoBank symbol 24px. Bottom-left: card number masked (•••• •••• •••• 1234) 14px weight 500 `#1E1E1E`. Bottom-right: Kakao Friends mascot illustration 80px."
|
|
427
|
-
- "Design an account list row: white bg, 64px row height, 20px h-padding. Left: 40px rounded-square avatar (12px radius) + 12px gap + account name (16px weight 600 `#1E1E1E`) over account number (13px weight 400 `#A3A3A3`). Right: amount (16px weight 700 `#1E1E1E`, `#E02000` if negative). 1px `#E6E6E6` bottom border."
|
|
428
|
-
- "Create a 26주적금 progress card: white bg, 1px `#E6E6E6` border, 12px radius, 24px padding. Top: title '26주적금' 18px weight 700 `#1E1E1E`. Middle: 26-dot progress strip — completed dots `#FFE300`, remaining dots `#CCCCCC`, 8px diameter, 8px gap. Bottom: '13주차 진행중' 13px `#A3A3A3` left, 'KRW 130,000' 16px weight 700 `#1E1E1E` right."
|
|
429
|
-
- "Design a transfer success screen: full-screen white bg. Center: 64px green check `#0FBE6C` in a circle. Below: '이체가 완료되었어요' 24px weight 700 `#1E1E1E`. Below that: '50,000원을 김카뱅에게 보냈어요' 16px weight 400 `#A3A3A3`. Bottom: Yellow Solid '확인' button (full-width, 56px tall, sticky with 20px safe-area inset)."
|
|
430
|
-
|
|
431
|
-
### Iteration Guide
|
|
432
|
-
1. Yellow is `#FFE300` exactly — not `#FAE100`, not `#FEE500`. Brand guideline is canonical.
|
|
433
|
-
2. Pretendard Variable on web; never embed a custom display font on KakaoBank-styled surfaces.
|
|
434
|
-
3. 12px is THE radius — buttons, cards, avatars (as rounded squares), inputs.
|
|
435
|
-
4. Avatars are rounded squares (12px radius), not circles — Kakao family rule.
|
|
436
|
-
5. Text on yellow is always `#1E1E1E`, never white. Text on black/dark is always `#FFFFFF`.
|
|
437
|
-
6. Banking-formal restraint: don't use yellow as ambient chrome — only as brand and primary action.
|
|
438
|
-
7. Mascots (Ryan, Apeach, Tube, Muzi) are product moments, never compliance moments.
|
|
439
|
-
8. Mobile-first at 375px; 1360px max content width on web.
|
|
440
|
-
|
|
441
|
-
---
|
|
261
|
+
> Build a restrained Korean financial information surface with a white canvas, black-first type, pale `#f7f7f7` section fills, Pretendard Variable, very large bold headings, flat navigation, and 6px black public actions. Use `#FFE300` only for verified KakaoBank identity roles and omit unverified native banking components.
|
|
442
262
|
|
|
443
263
|
## 10. Voice & Tone
|
|
444
264
|
|
|
445
|
-
KakaoBank
|
|
446
|
-
|
|
447
|
-
The brand explicitly markets itself with the line *"나의 첫 번째 AI 은행"* (verified live, kakaobank.com hero, 90px/800) and *"나의 일상 속 유용한 금융 서비스를 만듭니다"* (verified live, kakaobank.com sub-hero) — `나의` (my) is the recurring possessive. Banking is framed as personal infrastructure, not institutional service.
|
|
448
|
-
|
|
449
|
-
| Context | Tone |
|
|
450
|
-
|---|---|
|
|
451
|
-
| CTAs | 동사 단독 또는 동사+명사, 짧게. `이체하기`, `확인`, `다음`, `보내기` |
|
|
452
|
-
| 시스템 메시지 | 관찰형 단문. `이체가 완료되었어요`, `잔액이 부족해요`. 감정 부재 |
|
|
453
|
-
| 에러 메시지 | 구체적 원인 + 즉시 행동 한 줄. `잔액이 부족해요. 다른 계좌에서 보내볼래요?` 절대 `오류가 발생했습니다` 단독 사용 금지 |
|
|
454
|
-
| 성공 토스트 | 과거형 단문. `이체 완료`. 축하 이모지·과한 메시지 금지 |
|
|
455
|
-
| 약관 / 공시 | 격식체 (`-합니다`) — 법적 명확성이 우선 |
|
|
456
|
-
| 마케팅 / 새소식 | `해요체` 유지, 캐릭터 개입 가능. `26주 동안 함께 모아봐요!` |
|
|
457
|
-
| 빈 상태 | 다음 행동 1개. `친구를 추가하면 이체가 빨라져요`. 절대 `데이터가 없습니다` |
|
|
458
|
-
| 신뢰·안전 | 차분, 사실 위주. 공포 마케팅 금지 (`사기 주의!` ❌). 보안 정보는 본문 무게 텍스트로 |
|
|
459
|
-
|
|
460
|
-
**Forbidden phrases.** `불편을 드려 죄송합니다`, `데이터가 없습니다`, `오류가 발생했습니다` (단독), `혁신적인`, `최고의`, `업계 최초` (마케팅 superlative). 영어 원문 노출 (`Get Started` → `시작하기`로 번역). 명령형 (`-해라`). Emoji는 product chrome에서 금지 (이모티콘은 콘텐츠라 OK, UI 텍스트엔 금지).
|
|
461
|
-
|
|
462
|
-
**Voice samples.**
|
|
463
|
-
|
|
464
|
-
- *"나의 첫 번째 AI 은행"* — corporate hero. <!-- verified: kakaobank.com, 2026-05-08 -->
|
|
465
|
-
- *"나의 일상 속 유용한 금융 서비스를 만듭니다"* — corporate sub-hero. <!-- verified: kakaobank.com, 2026-05-08 -->
|
|
466
|
-
- *"카카오뱅크의 서비스를 소개합니다"* — service page h1. <!-- verified: kakaobank.com/view/service, 2026-05-08 -->
|
|
467
|
-
- *"어렵고 복잡한 금융생활, 카카오뱅크 AI가 도와드릴게요."* — AI 서비스 section copy. <!-- verified: kakaobank.com/view/service, 2026-05-08 -->
|
|
468
|
-
- *"내 사업장에 맞는 보증서대출을 확인할 수 있어요."* — 사업자 보증서대출 product copy. <!-- verified: kakaobank.com/view/service, 2026-05-08 -->
|
|
469
|
-
- *"이체가 완료되었어요"* — illustrative success toast pattern. <!-- illustrative: pattern derived from Kakao family system messages, not verified verbatim in mobile app -->
|
|
470
|
-
- *"50,000원을 김카뱅에게 보냈어요"* — illustrative transfer confirmation. <!-- illustrative -->
|
|
265
|
+
KakaoBank's public voice makes finance feel ordinary and useful. It favors direct Korean nouns and verbs, names the service category clearly, and explains benefits without institutional ceremony. Service descriptions should state who a product is for, what financial task it supports, and what the visitor can learn next. Corporate and brand material may be more declarative, while compliance or Help content must stay precise and unambiguous. Avoid playful copy where money movement, identity, or risk is involved. Do not invent rates, user counts, or performance claims.
|
|
471
266
|
|
|
472
267
|
## 11. Brand Narrative
|
|
473
268
|
|
|
474
|
-
KakaoBank
|
|
475
|
-
|
|
476
|
-
The **2021-08-06 KOSPI IPO** at ₩39,000 priced KakaoBank at **56× book value** — a multiple that drew immediate "bubble or jackpot" headlines because traditional Korean bank price-to-book averages around 0.44× ([Korea Herald — Jackpot or bubble?](https://www.koreaherald.com/article/2666383), [KED Global — KakaoBank becomes Korea's most valuable lender](https://www.kedglobal.com/ipos/newsView/ked202108060001)). The IPO drew an all-time-high ₩2,585T in institutional bids, oversubscribed 1,733×. The stock subsequently fell — market cap dropped 58.7% in 2022 — but the operating story compounded (4-year revenue CAGR 29.2%, net income CAGR 40.3%), and the bank now occupies an unusual niche: a tech-multiple banking license, listed on KOSPI as ticker **323410**, generating banking-margin profits with consumer-tech engagement metrics.
|
|
477
|
-
|
|
478
|
-
What KakaoBank refuses: **branch infrastructure** (none — by design), **paper paperwork** (entire account opening is in-app), **Kakao parent's full yellow signature on every surface** (the corporate site is monochrome; yellow is reserved for product and brand moments per V2.0 guideline), and the imitative "fintech blue" that swept Western neobanks in the 2010s. What it embraces: **Kakao Friends mascots** as product flavoring (Ryan / Apeach / Tube / Muzi appear on debit card faces and 26주적금 challenge characters, never in compliance chrome), **cute-formal product naming** (`세이프박스`, `26주적금`, `모임통장`, `mini`), and a single-yellow brand discipline that is documented to **5-decimal precision in PANTONE Yellow 012 C/U** in the V2.0 brand guide ([KakaoBank Brand Identity Guidelines V2.0, 2024-08](https://www.kakaobank.com/static/etc/logo/KakaoBank_BrandIdentityGuidelines_V2.0.pdf)).
|
|
479
|
-
|
|
480
|
-
The CEO is **윤호영 (Yun Ho-young)**; 사업자번호 375-88-00197; 고객센터 1599-3333 (verified live in footer). The name *카카오뱅크* literally reads "Kakao Bank" — but the symbol is a stylized **'B' with an 'I' (나, "me") at its center**, and the brand resource page makes the meaning explicit: *"내가 중심이 되는 은행"* — "the bank with me at the center." That is the 1-sentence brand positioning, and every other decision in this document descends from it.
|
|
269
|
+
KakaoBank positions banking as a digital product embedded in everyday routines. The official symbol explains a bank centered on the individual, while the service catalog shows continuous expansion from basic accounts into youth, business, investment, global, and AI-related offerings. The visual identity balances Kakao-family recognition with the restraint expected of a bank: one unmistakable yellow, then a large field of neutral structure. This system allows the company to speak both as a consumer product and as a financial institution. Large Korean headings make service categories approachable; monochrome navigation and pale-gray sections keep attention on information rather than decoration. The protected wordmark and exact yellow establish ownership, but they do not dictate the geometry of native transfers, account cards, or compliance flows. Those product layers require their own evidence.
|
|
481
270
|
|
|
482
271
|
## 12. Principles
|
|
483
272
|
|
|
484
|
-
1. **
|
|
485
|
-
2. **
|
|
486
|
-
3. **
|
|
487
|
-
4. **
|
|
488
|
-
5. **Kakao family resemblance, not imitation.** `#1E1E1E` near-black, 12px radius, rounded-square avatars, flat-design — these are inherited from the Kakao parent system intentionally. *UI implication:* if you find yourself reaching for circular avatars or pure-black text, you've drifted out of the family.
|
|
489
|
-
6. **Cards over forms.** When the bank wants to show you something — a savings goal, a recent transfer, a 모임 settlement — it shows a card, not a row in a table. *UI implication:* default to card-based summary surfaces; reserve dense rows for searchable history (transactions, statements).
|
|
490
|
-
7. **One accent, real semantics.** Yellow is brand. Red `#E02000` is error. Green `#0FBE6C` is success. Blue `#007AFF` is iOS-aligned action affordance. There is no "KakaoBank green" or "KakaoBank red" — semantics stay semantic. *UI implication:* never use yellow to indicate warning or attention; use the warning amber `#FF9800` exclusively for that, and only sparingly.
|
|
273
|
+
1. **Put the individual at the center.** Organize information around the user's task, not the bank's internal structure.
|
|
274
|
+
2. **Use yellow with discipline.** Exact brand recognition is stronger than broad decorative use.
|
|
275
|
+
3. **Make finance readable.** Strong Korean typography and generous rhythm should reduce cognitive load.
|
|
276
|
+
4. **Do not confuse brand with product evidence.** A CI guide cannot authorize native transfer controls.
|
|
491
277
|
|
|
492
278
|
## 13. Personas
|
|
493
279
|
|
|
494
|
-
|
|
280
|
+
First-party material establishes task contexts only:
|
|
281
|
+
- An individual comparing everyday banking services.
|
|
282
|
+
- A young user or guardian exploring KakaoBank mini.
|
|
283
|
+
- A business owner reviewing business banking options.
|
|
284
|
+
- A visitor seeking official company, ESG, investor, or brand information.
|
|
495
285
|
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
**준호, 35, 부산.** 1인 카페 운영. **개인사업자통장** + **부가세박스** 조합으로 매출-경비-부가세를 자동 분류. 매년 부가세 신고 직전 서류 떼러 은행 가는 게 사라진 게 그에게 가장 큰 사건. 신용대출도 비대면으로 받았다 — `사장님 정책자금 대출도 비대면으로 간편하게!`라는 카피가 정확히 그를 지칭한다고 느낌.
|
|
499
|
-
|
|
500
|
-
**서연, 14, 대전.** 중2. **카카오뱅크 mini** 사용자. 부모님이 만들어준 mini 계정에 용돈이 들어오고, 본인이 mini 카드로 편의점·스타벅스 결제. **mini 내맘대로 저금**으로 굿즈 구입 자금을 모은다. 부모-자녀 공동 가시성이 그녀의 부모님이 mini를 신뢰하는 이유.
|
|
501
|
-
|
|
502
|
-
**Mr. 김, 52, 인천.** 중소기업 부장. 디지털 친화는 아니지만 코로나 이후 모든 송금을 카카오뱅크로 옮겼다. 큰 금액 이체할 때 인증 단계가 무서워서 일부러 천천히 진행한다. 빨간 경고색 + 명료한 한 줄 카피 (`잔액 5,000만 원 이상 이체는 추가 인증이 필요해요`)가 그가 신뢰의 신호로 받는 정확한 패턴.
|
|
286
|
+
Project-specific names, ages, balances, credit profiles, income, risk tolerance, and success metrics are intentionally unspecified and must come from the product brief.
|
|
503
287
|
|
|
504
288
|
## 14. States
|
|
505
289
|
|
|
506
|
-
|
|
507
|
-
|---|---|
|
|
508
|
-
| **Empty (계좌 없음, 신규 사용자)** | 16px / 600 / `#1E1E1E` `"아직 계좌가 없어요"` + 14px / 400 / `#A3A3A3` `"카카오뱅크 입출금통장을 만들어보세요"` + Yellow Solid CTA `"통장 만들기"`. 일러스트 1개 (Kakao Friends 캐릭터, 80px) 위에 배치 |
|
|
509
|
-
| **Empty (거래 내역 없음)** | 14px / 400 / `#A3A3A3` `"이번 달 거래 내역이 없어요"` 단독. 일러스트 없음. 추천 행동 없음 — 자연히 채워질 테니까 |
|
|
510
|
-
| **Empty (필터 결과 없음)** | 14px / 400 / `#A3A3A3` `"조건에 맞는 거래가 없어요"` + 14px / 600 `#1E1E1E` 텍스트 링크 `"필터 초기화"` |
|
|
511
|
-
| **Loading (계좌 잔액)** | 잔액 자리에 `#F7F7F7` 스켈레톤 박스 (실제 잔액 폭과 동일), 1.2s 시머. 절대 "0원"으로 채우지 않음 — 0원 표시는 잘못된 정보를 암시 |
|
|
512
|
-
| **Loading (이체 진행 중)** | 풀스크린 모달, KakaoBank Yellow 원형 로더 (24px), 아래 16px / 400 / `#A3A3A3` `"이체 중이에요"`. 사용자 입력 차단, 취소 버튼 없음 (이체 트랜잭션은 중단 불가) |
|
|
513
|
-
| **Loading (앱 첫 진입)** | KakaoBank 심볼 (`#FFE300` 배경 위 흰 'B+I'), 화면 중앙. 심볼 단독 등장, 텍스트 없음 |
|
|
514
|
-
| **Error (인라인 입력)** | 입력창 border `#E02000` 1.5px, 헬퍼 텍스트 13px / 400 / `#E02000`. 실행 가능한 한 줄 (`"계좌번호를 다시 확인해주세요"`) |
|
|
515
|
-
| **Error (네트워크)** | 토스트 상단, `#1E1E1E` 배경 흰 텍스트 14px / 400, 4초 자동 dismiss. `"연결이 불안정해요. 잠시 후 다시 시도해주세요."` |
|
|
516
|
-
| **Error (이체 실패 — 잔액 부족)** | 풀스크린, 64px `#E02000` ! 아이콘 → 24px / 700 / `#1E1E1E` `"잔액이 부족해요"` → 16px / 400 / `#A3A3A3` `"필요 금액: 50,000원 / 현재 잔액: 32,000원"` → Yellow Solid CTA `"다른 계좌에서 보내기"` + Outline `"확인"` |
|
|
517
|
-
| **Success (이체 완료)** | 풀스크린 confirmation. 64px `#0FBE6C` 체크 → 24px / 700 / `#1E1E1E` `"이체가 완료되었어요"` → 16px / 400 / `#A3A3A3` 메타 정보 (보낸 금액, 받는 사람, 시각) → Yellow Solid `"확인"` (sticky, 56px). 토스트 아님 — 이체는 expensive 액션이라 dedicated 화면 |
|
|
518
|
-
| **Success (인라인 — 즐겨찾기 추가 등)** | 200ms `#FFE300` 플래시 후 원래 색으로 페이드. 토스트 없음 |
|
|
519
|
-
| **Skeleton (거래 내역)** | 64px row 그대로, 텍스트 영역만 `#F7F7F7` 박스. 아바타 자리도 동일한 12px rounded square skeleton |
|
|
520
|
-
| **Disabled** | 버튼 bg `#F7F7F7`, 텍스트 `#CCCCCC`. 색상 반전 없음. 지오메트리 동일 — re-enable 시 frame-stable |
|
|
521
|
-
| **Loading (긴 작업: 신용 조회)** | 진행률 % + `"약 N분 남음"` 라벨. KakaoBank Yellow progress bar (`#FFE300` 채움, `#F7F7F7` 트랙) |
|
|
290
|
+
Top navigation exposed focus, hover, and pressed states. One current service control exposed a disabled state, but its semantic role was insufficient for promotion. Native loading, empty, transfer success, transfer failure, identity verification, and destructive states remain absent.
|
|
522
291
|
|
|
523
292
|
## 15. Motion & Easing
|
|
524
293
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
| Token | Value | Use |
|
|
528
|
-
|---|---|---|
|
|
529
|
-
| `motion-instant` | 0ms | 토글 / 체크박스 즉시 |
|
|
530
|
-
| `motion-fast` | 150ms | 버튼 active, hover, 인라인 success flash |
|
|
531
|
-
| `motion-standard` | 250ms | 모달 / 시트 enter, 카드 탭, 탭 전환 |
|
|
532
|
-
| `motion-success` | 350ms | 이체 성공 / 적금 완료 confirmation 화면 등장 |
|
|
533
|
-
| `motion-page` | 300ms | 네이티브 push/pop |
|
|
534
|
-
|
|
535
|
-
**Easings**:
|
|
536
|
-
|
|
537
|
-
| Token | Curve | Use |
|
|
538
|
-
|---|---|---|
|
|
539
|
-
| `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | 시트, 토스트, 화면 push 등장 |
|
|
540
|
-
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | 모달 dismiss, 토스트 자동 닫기 |
|
|
541
|
-
| `ease-standard` | `cubic-bezier(0.4, 0.0, 0.2, 1)` | 양방향 전환 |
|
|
542
|
-
| `ease-spring-success` | spring (mass 1, stiffness 380, damping 28) | 이체 성공 체크 아이콘 등장 (한정 사용) |
|
|
543
|
-
|
|
544
|
-
**Spring stance.** **Spring overshoot은 success confirmation에만 한정 허용** — 이체 성공 / 적금 목표 달성 같은 사용자가 "해냈다"고 느껴야 하는 순간에 한정. 일반 UI 모션은 spring 금지 (은행은 진중함이 우선). Pull-to-refresh는 OS 네이티브 spring 그대로 사용 (override가 더 어색).
|
|
545
|
-
|
|
546
|
-
**Signature motions.**
|
|
547
|
-
|
|
548
|
-
1. **이체 성공 체크 등장.** 64px 녹색 체크 아이콘이 `motion-success / ease-spring-success`로 0.6 → 1.0 scale + opacity 0 → 1. 이 한 모션이 KakaoBank의 "끝났어요" 시그니처. 흔들림 없는 완결감.
|
|
549
|
-
2. **카드 탭.** 카드가 98% scale로 압축 (`motion-fast / ease-standard`), tap-up에서 release, 이후 `motion-page / ease-enter`로 라우트 전환.
|
|
550
|
-
3. **잔액 업데이트.** 잔액 숫자가 변할 때, 새 숫자가 위에서 아래로 8px 슬라이드 + 0.5 → 1 opacity (300ms). 카운트업 애니메이션은 사용 안 함 — 정확한 금액이 즉시 보여야 함.
|
|
551
|
-
4. **노란 색 transition 금지.** `#FFE300`은 binary on/off — 중간 yellow tint를 거치는 transition은 brand 색상 인지도를 훼손하므로 허용되지 않음. 노란 surface가 등장할 때는 fade-in 또는 slide-in만, 색상 transition 없음.
|
|
552
|
-
5. **Reduce motion.** `prefers-reduced-motion: reduce` 시 모든 spring → instant fade, 모든 `motion-*` → `motion-instant`. 성공 체크는 spring 없이 0.5초 fade-in으로 대체. 앱은 fully usable 유지.
|
|
553
|
-
|
|
554
|
-
<!--
|
|
555
|
-
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
556
|
-
|
|
557
|
-
Tier 1 — Direct verification (playwright live DOM, 2026-05-08):
|
|
558
|
-
- https://www.kakaobank.com/ — hero "나의 첫 번째 AI 은행" 90px/800, sub-hero "나의 일상 속 유용한 금융 서비스를 만듭니다" 32px/700, body Pretendard Variable, monochrome canvas (`#FFFFFF` / `#F7F7F7` / `#F9F9F9`), top nav 14px/600 #1E1E1E.
|
|
559
|
-
- https://www.kakaobank.com/view/service — display 42px/700, section h2 32px/700, product copy ("어렵고 복잡한 금융생활, 카카오뱅크 AI가 도와드릴게요.", "내 사업장에 맞는 보증서대출을 확인할 수 있어요."), service tab strip (통장/저축/대출/투자/외환/카드/사업자), product names confirmed (AI 서비스, mini, 개인사업자통장, 부가세박스, 슈퍼뱅크, SCBX 프로젝트).
|
|
560
|
-
- https://www.kakaobank.com/view/about/brand/resource — official brand guideline V2.0 page. KakaoBank Yellow `#FFE300` (RGB 255/227/0, PANTONE Yellow 012 C/U), Black `#1E1E1E`, Gray `#A3A3A3`, Light Gray `#CCCCCC`. Symbol meaning ('B' + 'I' = "내가 중심이 되는 은행"). Wordmark follows Kakao 공동체 CI rules. Explicit prohibition: "유사한 다른 값의 노란색을 지정하지 않도록 유의".
|
|
561
|
-
|
|
562
|
-
Tier 1 — Brand Identity PDF:
|
|
563
|
-
- https://www.kakaobank.com/static/etc/logo/KakaoBank_BrandIdentityGuidelines_V2.0.pdf (referenced; not directly fetched but cross-confirmed via the web brand resource page rendering)
|
|
564
|
-
|
|
565
|
-
Tier 2 — Press / secondary (WebSearch, 2026-05):
|
|
566
|
-
- https://en.wikipedia.org/wiki/KakaoBank — 2017-07-27 launch, 1M users in 5 days, founding consortium (Kakao Corp + Korea Investment Holdings as lead financial partner — note: the user's task brief mentioned KB Bank as the consortium partner, but Wikipedia and primary press identify Korea Investment Holdings as the lead; this reference uses the verified attribution).
|
|
567
|
-
- https://www.kedglobal.com/ipos/newsView/ked202108060001 — KOSPI IPO 2021-08-06, ₩39,000 IPO price, becoming Korea's most valuable lender by market cap at listing.
|
|
568
|
-
- https://www.koreaherald.com/article/2666383 — IPO bubble/jackpot framing, 56× book value vs. peer 0.44× average.
|
|
569
|
-
- https://koalagains.com/stocks/KOSPI/323410 — FY2020→FY2024 loan book ₩20.7T → ₩44.5T, 4Y revenue CAGR 29.2%, net income CAGR 40.3%, market cap drop 58.7% in 2022.
|
|
570
|
-
- https://matrixbcg.com/blogs/brief-history/kakaobank — 2016-01 "Kakaobank Preparatory Corporation" formation, branchless cost-structure thesis, 23M+ users by Jan 2024.
|
|
571
|
-
|
|
572
|
-
Tier 2 — Product naming verification (WebSearch, 2026-05):
|
|
573
|
-
- 26주적금: https://www.kakaobank.com/products/26weeks (referenced)
|
|
574
|
-
- 세이프박스: https://www.kakaobank.com/products/safeboxes (referenced)
|
|
575
|
-
- 모임통장 + 모임 체크카드: https://www.kakaobank.com/products/moimcheckcard (referenced)
|
|
576
|
-
- mini: https://m.kakaobank.com/FaqTag;tag=mini (referenced)
|
|
577
|
-
|
|
578
|
-
Re-verification status:
|
|
579
|
-
- 23M+ users (Jan 2024) is carried from secondary press; numbers may drift; re-verify for public quotes.
|
|
580
|
-
- IPO price ₩39,000 (the upper-band finalization) — initial range was ₩33,000–₩39,000 per KED Global.
|
|
581
|
-
- The "KB Bank consortium" framing in the user task brief is amended to "Kakao Corp + Korea Investment Holdings" per Wikipedia; if KB Bank held a smaller IPO/consortium stake, that detail is not the controlling structure.
|
|
582
|
-
|
|
583
|
-
Not independently verified:
|
|
584
|
-
- Mobile-app component specs (Yellow Solid Primary CTA, debit card face, success confirmation screen) — these are inferred from the canonical `#FFE300` + Kakao-family 12px-radius pattern + brand guideline V2.0, not directly DOM-inspected. They live in the iOS/Android app, which playwright cannot reach.
|
|
585
|
-
- Voice samples marked `illustrative` are derived patterns from Kakao-family system messaging, not verbatim KakaoBank app strings.
|
|
586
|
-
|
|
587
|
-
Personas (§13) are fictional archetypes informed by publicly described KakaoBank user segments — Korean digital-native banking users 20s–40s, SMB/사업자 segment, youth/mini segment, late-adopting middle-aged users. Any resemblance to specific individuals is unintended.
|
|
588
|
-
|
|
589
|
-
Interpretive claims (editorial, not documented KakaoBank statements):
|
|
590
|
-
- "Banking-formal, character-flavored" framing (§12 Principle 3) — editorial reading.
|
|
591
|
-
- The "yellow is product, not chrome" principle (§12 Principle 1) — derived from V2.0 guideline restraint patterns + observation that the corporate site is monochrome, not a documented Kakao rule.
|
|
592
|
-
- "Cards over forms" (§12 Principle 6) — observational from product naming patterns + Kakao parent's flat design heritage.
|
|
593
|
-
-->
|
|
294
|
+
No reusable duration or easing curve is promoted. Public interaction capture establishes state presence, not native banking motion behavior.
|
|
594
295
|
|
|
595
296
|
---
|
|
596
297
|
|
|
597
|
-
**Verified:** 2026-
|
|
598
|
-
**Tier 1 sources
|
|
599
|
-
**Tier 2
|
|
600
|
-
**
|
|
601
|
-
**Style ref for tone:** `kakao` (Kakao 공동체 family resemblance — `해요체` body, `합니다체` legal), `toss` (Korean fintech voice posture).
|
|
602
|
-
**Conflicts unresolved:** none. The user task brief's "KB Bank consortium" framing is amended to "Korea Investment Holdings" per primary sources; KakaoBank Yellow is precisely `#FFE300` (not `#FAE100` as the brief speculated) per the V2.0 brand guideline.
|
|
298
|
+
**Verified:** 2026-07-12 (omd:migrate)
|
|
299
|
+
**Tier 1 sources:** https://www.kakaobank.com/ ; https://www.kakaobank.com/view/service ; https://www.kakaobank.com/view/about/brand/resource ; https://www.kakaobank.com/static/etc/logo/KakaoBank_BrandIdentityGuidelines_V2.0.pdf
|
|
300
|
+
**Tier 2 attempts:** getdesign.md/kakaobank returned no design record; Refero had no reliable KakaoBank match
|
|
301
|
+
**Conflicts unresolved:** none
|