oh-my-design-cli 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +15 -18
  2. package/data/reference-fingerprints.json +337 -3
  3. package/data/reference-tags.md +15 -1
  4. package/package.json +2 -2
  5. package/skills/omd-init/SKILL.md +1 -1
  6. package/web/AGENTS.md +5 -0
  7. package/{references → web/references}/airbnb/DESIGN.md +158 -19
  8. package/web/references/airtable/DESIGN.md +241 -0
  9. package/{references → web/references}/apple/DESIGN.md +131 -76
  10. package/web/references/baemin/DESIGN.md +470 -0
  11. package/{references → web/references}/bmw/DESIGN.md +138 -9
  12. package/{references → web/references}/cal/DESIGN.md +173 -17
  13. package/{references → web/references}/claude/DESIGN.md +11 -1
  14. package/{references → web/references}/clay/DESIGN.md +75 -0
  15. package/{references → web/references}/clickhouse/DESIGN.md +74 -0
  16. package/{references → web/references}/cohere/DESIGN.md +75 -0
  17. package/web/references/coinbase/DESIGN.md +205 -0
  18. package/{references → web/references}/composio/DESIGN.md +74 -0
  19. package/web/references/coupang/DESIGN.md +487 -0
  20. package/{references → web/references}/cursor/DESIGN.md +74 -0
  21. package/web/references/dcard/DESIGN.md +567 -0
  22. package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
  23. package/{references → web/references}/expo/DESIGN.md +72 -0
  24. package/{references → web/references}/ferrari/DESIGN.md +72 -0
  25. package/{references → web/references}/figma/DESIGN.md +124 -48
  26. package/{references → web/references}/framer/DESIGN.md +143 -16
  27. package/web/references/freee/DESIGN.md +558 -0
  28. package/{references → web/references}/hashicorp/DESIGN.md +72 -0
  29. package/{references → web/references}/ibm/DESIGN.md +68 -0
  30. package/{references → web/references}/intercom/DESIGN.md +73 -0
  31. package/web/references/kakao/DESIGN.md +490 -0
  32. package/web/references/kakaobank/DESIGN.md +533 -0
  33. package/web/references/karrot/DESIGN.md +431 -0
  34. package/web/references/kraken/DESIGN.md +219 -0
  35. package/web/references/krds/DESIGN.md +982 -0
  36. package/web/references/kurly/DESIGN.md +574 -0
  37. package/{references → web/references}/lamborghini/DESIGN.md +74 -0
  38. package/{references → web/references}/line/DESIGN.md +84 -43
  39. package/{references → web/references}/linear.app/DESIGN.md +8 -1
  40. package/{references → web/references}/lovable/DESIGN.md +73 -0
  41. package/web/references/mercari/DESIGN.md +464 -0
  42. package/{references → web/references}/minimax/DESIGN.md +72 -0
  43. package/{references → web/references}/mintlify/DESIGN.md +72 -0
  44. package/web/references/miro/DESIGN.md +252 -0
  45. package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
  46. package/{references → web/references}/mongodb/DESIGN.md +72 -0
  47. package/web/references/musinsa/DESIGN.md +536 -0
  48. package/web/references/naver/DESIGN.md +518 -0
  49. package/{references → web/references}/notion/DESIGN.md +9 -1
  50. package/web/references/nvidia/DESIGN.md +491 -0
  51. package/web/references/ohouse/DESIGN.md +570 -0
  52. package/{references → web/references}/ollama/DESIGN.md +72 -0
  53. package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
  54. package/web/references/pinkoi/DESIGN.md +575 -0
  55. package/{references → web/references}/pinterest/DESIGN.md +73 -0
  56. package/{references → web/references}/posthog/DESIGN.md +172 -18
  57. package/web/references/qanda/DESIGN.md +459 -0
  58. package/{references → web/references}/raycast/DESIGN.md +169 -34
  59. package/{references → web/references}/renault/DESIGN.md +72 -0
  60. package/{references → web/references}/replicate/DESIGN.md +73 -0
  61. package/{references → web/references}/resend/DESIGN.md +73 -0
  62. package/{references → web/references}/revolut/DESIGN.md +74 -0
  63. package/web/references/ridi/DESIGN.md +517 -0
  64. package/{references → web/references}/runwayml/DESIGN.md +152 -24
  65. package/{references → web/references}/sanity/DESIGN.md +72 -0
  66. package/{references → web/references}/sentry/DESIGN.md +73 -0
  67. package/web/references/spacex/DESIGN.md +379 -0
  68. package/web/references/spotify/DESIGN.md +426 -0
  69. package/{references → web/references}/stripe/DESIGN.md +44 -1
  70. package/{references → web/references}/supabase/DESIGN.md +73 -0
  71. package/{references → web/references}/superhuman/DESIGN.md +159 -17
  72. package/{references → web/references}/tesla/DESIGN.md +170 -0
  73. package/{references → web/references}/together.ai/DESIGN.md +73 -0
  74. package/{references → web/references}/toss/DESIGN.md +304 -50
  75. package/{references → web/references}/uber/DESIGN.md +73 -0
  76. package/{references → web/references}/vercel/DESIGN.md +9 -1
  77. package/{references → web/references}/voltagent/DESIGN.md +73 -0
  78. package/{references → web/references}/warp/DESIGN.md +142 -15
  79. package/web/references/webflow/DESIGN.md +253 -0
  80. package/{references → web/references}/wise/DESIGN.md +84 -0
  81. package/{references → web/references}/x.ai/DESIGN.md +85 -0
  82. package/web/references/yanolja/DESIGN.md +448 -0
  83. package/web/references/yeogiotte/DESIGN.md +424 -0
  84. package/{references → web/references}/zapier/DESIGN.md +85 -0
  85. package/references/airtable/DESIGN.md +0 -107
  86. package/references/baemin/DESIGN.md +0 -260
  87. package/references/coinbase/DESIGN.md +0 -129
  88. package/references/dcard/DESIGN.md +0 -302
  89. package/references/freee/DESIGN.md +0 -308
  90. package/references/kakao/DESIGN.md +0 -261
  91. package/references/karrot/DESIGN.md +0 -252
  92. package/references/kraken/DESIGN.md +0 -146
  93. package/references/mercari/DESIGN.md +0 -294
  94. package/references/miro/DESIGN.md +0 -108
  95. package/references/nvidia/DESIGN.md +0 -308
  96. package/references/pinkoi/DESIGN.md +0 -309
  97. package/references/spacex/DESIGN.md +0 -205
  98. package/references/spotify/DESIGN.md +0 -246
  99. package/references/webflow/DESIGN.md +0 -109
@@ -330,3 +330,71 @@ What defines IBM's visual identity beyond monochrome-plus-blue is the reliance o
330
330
  6. Inputs have bottom-border only, never fully boxed
331
331
  7. Use `--cds-` prefix for token naming to stay Carbon-compatible
332
332
  8. 48px is the universal interactive element height
333
+
334
+ ## 10. Voice & Tone
335
+
336
+ IBM's voice is **enterprise-technical and Carbon-systematic.** Carbon Design System discipline shows up in every surface — uppercase labels, IBM Plex font, 0px-radius buttons, IBM Blue `#0f62fe` primary. The voice is closer to a research lab + enterprise contract than to consumer marketing.
337
+
338
+ | Context | Tone |
339
+ |---|---|
340
+ | CTA | Verb. "Get started", "Try free", "Talk to sales" |
341
+ | Marketing | Enterprise-fluent. SOC 2 / FedRAMP / ISO references |
342
+ | Documentation | Carbon-component-named; deep-linked component docs |
343
+ | Error | Specific. "Authentication failed (HTTP 401). Check API key." |
344
+
345
+ **Voice samples**
346
+ - Marketing CTA (KR): *"무료로 시작하기"* <!-- verified: ibm.com/kr-ko 2026-05 -->
347
+
348
+ **Forbidden phrases.** "Revolutionary AI" without specifics. Casual emoji.
349
+
350
+ ## 11. Brand Narrative
351
+
352
+ IBM was founded **June 16 1911** as the **Computing-Tabulating-Recording Company (CTR)** by **Charles Ranlett Flint** — a Wall Street financier who **amalgamated four companies** (Tabulating Machine Company, International Time Recording Company, Computing Scale Company of America, Bundy Manufacturing Company) ([Charles Ranlett Flint — Wikipedia](https://en.wikipedia.org/wiki/Charles_Ranlett_Flint), [IBM — The origins of IBM](https://www.ibm.com/history/ctr-and-ibm)). **Renamed "International Business Machines" 1924** under **Thomas J. Watson Sr.**, who had joined CTR in 1914. The contemporary brand identity was established through **Paul Rand**, hired by **Thomas J. Watson Jr. in 1956** — Rand replaced Beton Bold with **City Medium** and created the iconic 8-bar (later 13-bar) striped IBM logo, with a directive to "**herald a new era of IBM while also communicating continuity**" ([History of IBM logo — Hatchwise](https://www.hatchwise.com/resources/the-history-of-the-ibm-logo)). The Rand→**Eddy Opara** design legacy continues today through the **Carbon Design System** (open-sourced 2018, [carbondesignsystem.com](https://carbondesignsystem.com/)) — IBM Plex font, IBM Blue `#0f62fe`, 0px-radius buttons. Carbon makes IBM one of the few enterprise vendors with a publicly documented design system that's also adopted by external teams. **In 2024-2025 IBM acquired HashiCorp** ($6.4B announced April 24 2024, **closed February 27 2025**), folding HashiCorp's products into IBM's hybrid cloud strategy.
353
+
354
+ ## 12. Principles
355
+
356
+ 1. **Carbon is the system.** *UI implication:* every component has a Carbon spec — read carbondesignsystem.com before deviating.
357
+ 2. **0px radius is intentional.** Carbon's defining aesthetic choice. *UI implication:* never round corners on Carbon-spec elements.
358
+ 3. **IBM Plex is the type voice.** Sans / Mono / Serif variants. *UI implication:* don't substitute system fonts; Plex is the brand register.
359
+ 4. **48px universal interactive height.** *UI implication:* all clickable elements meet 48px tap target.
360
+ 5. **`#0f62fe` IBM Blue is THE accent.** *UI implication:* other Carbon tokens carry semantic meaning; IBM Blue is for "primary action" only.
361
+
362
+ ## 13. Personas
363
+
364
+ *Personas are fictional archetypes informed by IBM user segments (enterprise IT architects, watsonx AI/ML platform users, regulated-industry compliance), not individual people.*
365
+
366
+ **Catherine Liu, 47, Toronto.** Principal architect at a global insurance company. IBM Cloud + watsonx the chosen path for compliant AI deployment.
367
+
368
+ **Hiroshi Tanaka, 52, Tokyo.** CIO at multinational logistics. IBM partnership for hybrid cloud modernization.
369
+
370
+ **Aisha Khan, 35, Dubai.** Senior consultant at IBM Consulting. Translates client needs into Carbon-compliant deliverables.
371
+
372
+ ## 14. States
373
+
374
+ | State | Treatment |
375
+ |---|---|
376
+ | **Empty (no resources)** | "Create your first resource" Carbon Button.Primary |
377
+ | **Empty (no data)** | Carbon EmptyState component pattern + CTA |
378
+ | **Loading** | Carbon InlineLoading or Loading component, never custom |
379
+ | **Error** | Carbon Notification.error variant; persistent until dismissed |
380
+ | **Success** | Carbon Notification.success; auto-dismiss 4s |
381
+ | **Skeleton** | Carbon SkeletonText / SkeletonPlaceholder components |
382
+ | **Disabled** | Carbon disabled state — explicit visual contrast (not just opacity) |
383
+ | **Loading (long)** | Carbon ProgressBar with explicit ETA |
384
+
385
+ ## 15. Motion & Easing
386
+
387
+ Carbon Motion tokens: `productive` (110ms / 240ms / 400ms), `expressive` (175ms / 240ms / 400ms / 700ms). Curves: `standard / entrance / exit / expressive`.
388
+
389
+ **Motion rules.**
390
+ 1. Carbon productive curves for utility motions
391
+ 2. Carbon expressive curves for marketing
392
+ 3. `prefers-reduced-motion: reduce` collapses to instant
393
+
394
+ ---
395
+
396
+ **Verified:** 2026-05-08 (omd:migrate run 28 — Apple-tier)
397
+ **Tier 1 sources:** ibm.com/us-en home + /products (live DOM via playwright — Primary `#0f62fe` IBM Blue 0px / asymmetric 14-15×15-16 / 48px / 14px·400; triple-confirmed against Carbon DS `$blue-60` token ✓).
398
+ **Tier 1 (DS-official):** carbondesignsystem.com — Carbon Design System open-source spec, the rare case where a brand publishes its own DS as authoritative.
399
+ **Tier 2 (Philosophy/history):** Wikipedia (Charles Flint, IBM, CTR, History of IBM), IBM corporate history (`ibm.com/history/ctr-and-ibm`), Hatchwise IBM logo timeline.
400
+ **Style ref:** `stripe`. **Conflicts unresolved:** none.
@@ -144,3 +144,76 @@ Breakpoints: 425px, 530px, 600px, 640px, 768px, 896px
144
144
 
145
145
  ### Example Component Prompts
146
146
  - "Create hero: warm cream (#faf9f6) background. Saans 80px weight 400, line-height 1.00, letter-spacing -2.4px, #111111. Dark button (#111111, 4px radius). Hover: scale(1.1), white bg."
147
+
148
+ ## 10. Voice & Tone
149
+
150
+ Intercom's voice is **support-team-first and product-agentic** — speaks as a customer messaging platform that's positioned itself for the AI agent era ("the only helpdesk designed for the AI Agent era"). Marketing copy emphasizes the support team workflow + AI agent integration.
151
+
152
+ | Context | Tone |
153
+ |---|---|
154
+ | CTA | Verb. "Get started", "Try Fin", "Book a demo" |
155
+ | Marketing | AI-agent-positioned. Fin (their AI agent) is first-class brand element |
156
+ | Documentation | Practical, integration-heavy |
157
+ | Error | Specific. "Conversation not synced. Refresh to retry." |
158
+
159
+ **Voice samples**
160
+ - Marketing tagline: *"The only helpdesk designed for the AI Agent era"* <!-- verified: intercom.com homepage 2026-05 -->
161
+
162
+ **Forbidden phrases.** "Revolutionary support", "AI-powered" without specifics.
163
+
164
+ ## 11. Brand Narrative
165
+
166
+ Intercom was founded **2011** in **California** by **four Irish designers and engineers** — **Eoghan McCabe (Chairman, ex-CEO)**, **Des Traynor**, **Ciaran Lee**, and **David Barrett** ([Intercom — Wikipedia](https://en.wikipedia.org/wiki/Intercom,_Inc.), [Eoghan McCabe — Crunchbase](https://www.crunchbase.com/person/eoghan-mccabe)). The four had previously run a Dublin design consultancy named **Contrast** and built the bug-tracking tool **Exceptional**, which they **sold to Rackspace 2011** — those proceeds funded Intercom. Initially employed 30 people in **Dublin** before the founders relocated HQ to **San Francisco**. Funding/lineage: **2012 angel from Twitter co-founder Biz Stone**, then seed from **David Sacks, Andy McLoughlin (Huddle), Dan Martell, 500 Global, Digital Garage** → **Series A $6M March 2013** led by **Social Capital** ([Irish Times — Four Irishmen on a billion-dollar mission](https://www.irishtimes.com/business/technology/four-irishmen-on-a-mission-to-build-a-billion-dollar-company-1.1664244)) → **$250M debt financing 2025** alongside **€87M / $94M extra AI investment 2024** ([Irish Times — €87M AI investment](https://www.irishtimes.com/business/2024/05/14/intercom-boss-wants-aggression-on-all-fronts-amid-extra-94m-ai-investment/), [Silicon Republic — $250M debt](https://www.siliconrepublic.com/business/intercom-eoghan-mccabe-debt-financing-hiring-jobs-ai)). Originally positioned as "the customer messaging platform" (challenging Zendesk's ticketing model with conversation-first UX). **2023 launch of Fin** — AI chatbot powered by GPT-4 — became the central product story; in 2025 the AI Agent now ships on **fin.ai** as a discrete product surface alongside intercom.com helpdesk chrome.
167
+
168
+ ## 12. Principles
169
+
170
+ 1. **Conversations over tickets.** *UI implication:* main inbox is conversation-shaped, not row-shaped.
171
+ 2. **Fin is the agent layer.** *UI implication:* Fin Resolutions metric has main-nav placement; AI agent isn't a sub-feature.
172
+ 3. **Saans is the type voice.** *UI implication:* warm cream + Saans 80px hero is the brand register.
173
+ 4. **Hover scale signals interactive.** Buttons grow on hover (scale 1.1). *UI implication:* preserve hover scale; don't replace with color-only transition.
174
+ 5. **Cream over white.** Default canvas `#faf9f6`. *UI implication:* don't use pure white — the cream is intentional warmth.
175
+
176
+ ## 13. Personas
177
+
178
+ *Personas are fictional archetypes informed by Intercom user segments (support team leads, RevOps, AI/Fin admins), not individual people.*
179
+
180
+ **Aisha Patel, 33, Dublin.** Support team lead at SaaS startup. Configures Fin to deflect 60% of tier-1 tickets.
181
+
182
+ **Marcus Webb, 41, San Francisco.** RevOps at B2B SaaS. Uses Intercom outbound for product-led growth campaigns.
183
+
184
+ **Priya Krishnan, 28, Bengaluru.** Frontline support agent. Cares about Inbox keyboard shortcuts + macros.
185
+
186
+ ## 14. States
187
+
188
+ | State | Treatment |
189
+ |---|---|
190
+ | **Empty (no conversations)** | "Welcome to your Inbox" + onboarding tour |
191
+ | **Empty (Fin disabled)** | "Enable Fin to deflect tickets" with single CTA |
192
+ | **Loading (conversation history)** | Skeleton message bubbles in cream tones |
193
+ | **Loading (Fin response)** | Typing indicator with Fin avatar |
194
+ | **Error (sync)** | Banner top-of-inbox with retry |
195
+ | **Error (Fin failed)** | Inline below message + escalate-to-human option |
196
+ | **Success (assigned)** | Subtle bg shift on conversation row |
197
+ | **Success (Fin resolved)** | Resolution badge appears on conversation |
198
+ | **Skeleton (inbox)** | Cream rows with subtle shimmer |
199
+ | **Disabled (no permission)** | 0.5 opacity + tooltip permission level |
200
+ | **Loading (long Fin run)** | Per-step "Searching knowledge base..." trace |
201
+
202
+ ## 15. Motion & Easing
203
+
204
+ | Token | Value | Use |
205
+ |---|---|---|
206
+ | `motion-instant` | 0ms | Selection |
207
+ | `motion-fast` | 150ms | Hover scale (1.0 → 1.1) |
208
+ | `motion-standard` | 250ms | Modal, panel |
209
+ | `motion-typing` | continuous | Fin "typing" indicator |
210
+
211
+ Standard cubic-bezier; **hover scale 1.1 is signature**. `prefers-reduced-motion: reduce` disables hover scale (color shift only).
212
+
213
+ ---
214
+
215
+ **Verified:** 2026-05-08 (omd:migrate run 29 — Apple-tier)
216
+ **Tier 1 sources:** intercom.com home + fin.ai/ (dual-product live DOM via playwright — Hero Primary `#000` 6px / 42px / 12×16 / 16px·400 (intercom.com Cream `#faf9f6` canvas) and `#fff` 6px (fin.ai dark canvas); Compact Primary **`#111111`** Intercom Charcoal 4px / 40px / 0×14).
217
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
218
+ **Tier 2 (Philosophy/founders):** Wikipedia (Intercom Inc.), Crunchbase (McCabe), Irish Times (4-Irishmen origin + €87M AI investment), Silicon Republic ($250M debt), Tracxn, Paperflite.
219
+ **Style ref:** `claude`. **Conflicts unresolved:** none. **Earlier mistake reverted:** prior footer captured only nav + canvas; canonical Primary is Black 6px hero + Charcoal `#111111` 4px compact across dual-product (intercom.com + fin.ai) chrome.
@@ -0,0 +1,490 @@
1
+ # Design System Inspiration of Kakao (카카오)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Kakao is the connective tissue of Korean digital life -- KakaoTalk is on virtually every smartphone in the country, and the iconic yellow is as recognizable as any global tech brand's signature. The interface presents a clean, functional canvas where conversations take center stage, accented by that unmistakable Kakao Yellow (`#FEE500`) that radiates warmth and friendliness. This isn't the cautious, muted yellow of enterprise warnings; it's full-saturation sunshine that feels like a friend's smile.
6
+
7
+ 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.
8
+
9
+ Typography is deliberately neutral -- system fonts (San Francisco on iOS, Roboto on Android) so messages feel personal, not branded. When personality is needed, the custom **Kakao Font** steps in: Big Sans for confident headlines, Small Sans for legible small-screen details. The overall aesthetic is flat, warm, and content-forward. Minimal shadows, minimal gradients, strong color coding through yellow and clean neutrals.
10
+
11
+ **Key Characteristics:**
12
+ - Kakao Yellow (`#FEE500`) as the singular brand accent -- pure sunshine
13
+ - System font stack for conversations -- messages feel personal, not designed
14
+ - Kakao Font (Big Sans + Small Sans) for brand display moments (OFL open-source)
15
+ - Chat bubble-centric UI: yellow for self, white for others -- the defining pattern
16
+ - Flat design with minimal shadow -- depth through background color layering, not elevation
17
+ - Near-black (`#1E1E1E`) brand base instead of pure black -- subtle warmth
18
+ - 12px border-radius as the universal standard for interactive elements
19
+ - 9-patch chat bubble system for pixel-perfect messaging UI
20
+
21
+ ## 2. Color Palette & Roles
22
+
23
+ ### Primary
24
+ - **Kakao Yellow** (`#FEE500`): Primary brand color, login button, send button, CTA accent. Compliance-mandated for Kakao Login. The iconic color.
25
+ - **Near Black** (`#1E1E1E`): Brand base color (Pantone 433 C). Wordmark, symbol, primary text in corporate contexts.
26
+ - **Pure White** (`#ffffff`): Chat background, card surfaces, other-person chat bubbles.
27
+
28
+ ### Chat-Specific
29
+ - **My Bubble** (`#FEE500`): Yellow -- your messages are sunshine.
30
+ - **Other's Bubble** (`#ffffff`): Clean white with subtle `#E5E5E5` border.
31
+ - **System Message** (`#F0F0F0`): Date dividers, join/leave notices.
32
+ - **Unread Count** (`#FAEB00`): Yellow text on unread badge -- draws attention.
33
+
34
+ ### Semantic
35
+ - **Error Red** (`#E02000`): Error messages, destructive actions, critical alerts.
36
+ - **Link Blue** (`#2196F3`): Hyperlinks within chat and content.
37
+ - **Success Green** (`#47B881`): Completion states, verified status.
38
+ - **Warning Orange** (`#FF9800`): Attention-needed states.
39
+
40
+ ### Neutral Scale
41
+ - **Text Primary** (`#222222`): Friend names, chat titles, strong labels.
42
+ - **Text Standard** (`#333333`): Chat messages, body text, action bar titles. The workhorse.
43
+ - **Text Secondary** (`#666666`): Secondary labels, descriptions.
44
+ - **Text Muted** (`#808080`): Status messages, placeholder-level text.
45
+ - **Text Light** (`#999999`): Captions, timestamps, system messages.
46
+ - **Text Lightest** (`#BBBBBB`): Disabled text, hint text.
47
+
48
+ ### Surface & Borders
49
+ - **Surface Elevated** (`#F8F8F8`): Subtle elevation through background shift.
50
+ - **Surface Fill** (`#F0F0F0`): Secondary surfaces, search bars, disabled fields.
51
+ - **Border Default** (`#E5E5E5`): Standard borders, dividers, input outlines.
52
+ - **Border Subtle** (`#F0F0F0`): Lightest borders, subtle separation.
53
+ - **Overlay** (`rgba(0,0,0,0.4)`): Modal backdrops -- lighter than most systems, keeping context visible.
54
+
55
+ ## 3. Typography Rules
56
+
57
+ ### Font Family
58
+ - **UI Primary**: `-apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", Roboto, "Noto Sans KR", "Malgun Gothic", sans-serif`
59
+ - **Monospace**: `"SF Mono", SFMono-Regular, Menlo, Consolas, monospace`
60
+ - **Brand Display**: `"Kakao Big Sans"` -- confident headlines, promotional banners
61
+ - **Brand Body**: `"Kakao Small Sans"` -- legible small-screen brand text
62
+
63
+ Kakao Font is open-source (OFL-1.1) on GitHub. Big Sans has Regular/Bold/ExtraBold weights, Small Sans has Light/Regular/Bold. Both support full Hangul (11,172 characters).
64
+
65
+ ### Hierarchy
66
+
67
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
68
+ |------|------|------|--------|-------------|----------------|-------|
69
+ | Display Hero | Kakao Big Sans | 36px | 800 | 1.25 | normal | Splash screens, marketing |
70
+ | Display Large | Kakao Big Sans | 28px | 700 | 1.30 | normal | Service section titles |
71
+ | Heading Large | System | 22px | 700 | 1.36 | normal | Screen titles, major sections |
72
+ | Heading | System | 20px | 600 | 1.40 | normal | Navigation titles, modal headers |
73
+ | Title | System | 18px | 600 | 1.44 | normal | Friend names, chat room titles |
74
+ | Body | System | 16px | 400 | 1.50 | normal | Chat messages, descriptions |
75
+ | Body Small | System | 14px | 400 | 1.57 | normal | Secondary info, metadata |
76
+ | Caption | System | 13px | 400 | 1.54 | normal | Timestamps, status text |
77
+ | Caption Small | System | 12px | 400 | 1.50 | normal | Fine print, badges |
78
+ | Micro | System | 11px | 400 | 1.45 | normal | Tab bar text, smallest labels |
79
+
80
+ ### Principles
81
+ - **System fonts for trust**: Custom fonts would make conversations feel "designed" rather than personal. Messages should feel like YOUR messages.
82
+ - **Kakao Font for brand**: When the brand speaks (promotions, onboarding, empty states), Big Sans adds personality. When users speak, the system font stays neutral.
83
+ - **Weight restraint**: Most UI uses 400-500 weight. Bold (700) only for names, titles, amounts. Chat-heavy apps need typographic calm, not emphasis competition.
84
+
85
+ ## 4. Component Stylings
86
+
87
+ ### Buttons
88
+
89
+ Kakao surfaces use two yellows: `#FEE500` for the Kakao Login compliance button (mandated by Kakao Developers) and `#fae100` for marketing CTAs (verified at kakaocorp.com). Bordered (2px solid black) buttons are a distinctive Kakao marketing pattern.
90
+
91
+ **Kakao Login (Compliance-Mandated)**
92
+ - Background: `#FEE500`
93
+ - Text: `#000000`
94
+ - Border: none
95
+ - Radius: 12px
96
+ - Padding: 12px 20px
97
+ - Font: 16px / 600 / KakaoSmall
98
+ - Disabled: opacity 0.5
99
+ - Use: Kakao Login integration — specs are non-negotiable per Kakao Developers (do not modify color, text, or icon)
100
+
101
+ **Marketing Pill (Bordered)**
102
+ - Background: `#fae100`
103
+ - Text: `#000000`
104
+ - Border: 2px solid `#000000`
105
+ - Radius: 16px
106
+ - Padding: 7px 13px
107
+ - Font: 13px / 700 / KakaoSmall
108
+ - Use: Brand marketing CTA on kakaocorp.com (카카오톡 다운로드) — bordered yellow pill is the signature shape
109
+
110
+ **Dark Marketing Pill (Bordered)**
111
+ - Background: `#111111`
112
+ - Text: `#ffffff`
113
+ - Border: 2px solid `#ffffff`
114
+ - Radius: 16px
115
+ - Padding: 7px 8px
116
+ - Font: 13px / 700 / KakaoSmall
117
+ - Use: Marketing CTA paired with the yellow Marketing Pill (Kanana, sub-brands)
118
+
119
+ **Nav Pill**
120
+ - Background: `#ffffff`
121
+ - Text: `#000000`
122
+ - Border: none
123
+ - Radius: 999px
124
+ - Padding: 3px 14px
125
+ - Font: 16px / 700 / KakaoBig
126
+ - Use: Top-nav active item (소개, 카카오 문화) — full-pill rounded, KakaoBig display weight
127
+
128
+ **Secondary (Outline)**
129
+ - Background: transparent
130
+ - Text: `#333333`
131
+ - Border: 1px solid `#E5E5E5`
132
+ - Radius: 12px
133
+ - Padding: 12px 20px
134
+ - Font: 16px / 600 / KakaoSmall
135
+ - Use: Secondary action in product UI (취소, 더보기)
136
+
137
+ **Footer Link Pill**
138
+ - Background: `#eeeeee`
139
+ - Text: `#000000`
140
+ - Border: none
141
+ - Radius: 24px
142
+ - Padding: 10px 20px
143
+ - Font: 12px / 400 / KakaoSmall
144
+ - Use: Footer link/관련사이트 (verified at kakaocorp.com)
145
+
146
+ **Danger**
147
+ - Background: `#E02000`
148
+ - Text: `#ffffff`
149
+ - Border: none
150
+ - Radius: 12px
151
+ - Padding: 12px 20px
152
+ - Font: 16px / 600 / KakaoSmall
153
+ - Use: Destructive actions (삭제, 차단)
154
+
155
+ ### Inputs
156
+
157
+ **Default**
158
+ - Background: `#ffffff`
159
+ - Text: `#222222`
160
+ - Border: 1px solid `#E5E5E5`
161
+ - Radius: 12px
162
+ - Padding: 12px 16px
163
+ - Font: 16px / 400 / Apple SD Gothic Neo
164
+ - Placeholder: `#BBBBBB`
165
+ - Focus: border changes to `#333333`
166
+ - Use: Form fields (login, profile edit, signup)
167
+
168
+ **Chat Input**
169
+ - Background: `#F0F0F0`
170
+ - Text: `#222222`
171
+ - Border: none
172
+ - Radius: 20px
173
+ - Padding: 10px 16px
174
+ - Font: 16px / 400 / Apple SD Gothic Neo
175
+ - Placeholder: `#BBBBBB`
176
+ - Use: Chat composer at bottom of conversation
177
+
178
+ **Search**
179
+ - Background: `#F0F0F0`
180
+ - Text: `#222222`
181
+ - Border: none
182
+ - Radius: 20px
183
+ - Padding: 10px 16px 10px 40px
184
+ - Font: 14px / 400 / Apple SD Gothic Neo
185
+ - Placeholder: `#999999`
186
+ - Use: Search bar (friends, chat history) — left-icon at `#999999`
187
+
188
+ ### Cards
189
+
190
+ **Standard**
191
+ - Background: `#ffffff`
192
+ - Border: none
193
+ - Radius: 12px
194
+ - Padding: 16px
195
+ - Shadow: `0px 1px 3px rgba(0,0,0,0.04)`
196
+ - Use: Most surfaces — Kakao is intentionally flat, shadows are barely-there
197
+
198
+ **Bordered**
199
+ - Background: `#ffffff`
200
+ - Border: 1px solid `#E5E5E5`
201
+ - Radius: 12px
202
+ - Padding: 16px
203
+ - Shadow: none
204
+ - Use: Inline cards on content surfaces where shadow would clash
205
+
206
+ **My Message (Chat Bubble)**
207
+ - Background: `#FEE500`
208
+ - Text: `#333333`
209
+ - Border: none
210
+ - Radius: 18px 4px 18px 18px
211
+ - Padding: 8px 12px
212
+ - Font: 14px / 400 / Apple SD Gothic Neo
213
+ - Use: Sender's outgoing chat bubble (right-aligned) — asymmetric 9-patch radius
214
+
215
+ **Other's Message (Chat Bubble)**
216
+ - Background: `#ffffff`
217
+ - Text: `#333333`
218
+ - Border: 1px solid `#E5E5E5`
219
+ - Radius: 4px 18px 18px 18px
220
+ - Padding: 8px 12px
221
+ - Font: 14px / 400 / Apple SD Gothic Neo
222
+ - Use: Counterparty's incoming chat bubble (left-aligned)
223
+
224
+ **System Message (Chat Bubble)**
225
+ - Background: `#F0F0F0`
226
+ - Text: `#999999`
227
+ - Border: none
228
+ - Radius: 9999px
229
+ - Padding: 4px 12px
230
+ - Font: 12px / 400 / Apple SD Gothic Neo
231
+ - Use: System notice in chat ("친구가 입장했습니다")
232
+
233
+ ### Badges
234
+
235
+ **Notification Dot**
236
+ - Background: `#E02000`
237
+ - Text: `#ffffff`
238
+ - Border: none
239
+ - Radius: 9999px
240
+ - Padding: 2px 6px
241
+ - Font: 11px / 700 / Apple SD Gothic Neo
242
+ - Use: Unread count on tab/list (caps to "99+" past 99)
243
+
244
+ **Tag (Default)**
245
+ - Background: `#F0F0F0`
246
+ - Text: `#666666`
247
+ - Border: none
248
+ - Radius: 4px
249
+ - Padding: 2px 6px
250
+ - Font: 11px / 500 / Apple SD Gothic Neo
251
+ - Use: Generic metadata tag (channel/category)
252
+
253
+ ### Tabs
254
+
255
+ **Top Tab**
256
+ - Background: `#ffffff`
257
+ - Text: `#999999`
258
+ - Border: 1px solid `#E5E5E5`
259
+ - Active: `#333333` text + 2px solid `#333333` bottom border
260
+ - Padding: 12px 16px
261
+ - Font: 14px / 600 / Apple SD Gothic Neo
262
+ - Use: Tab bar — 4 equal tabs, 44px height
263
+
264
+ ### List items
265
+
266
+ **Friend List Item**
267
+ - Text: `#222222`
268
+ - 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.
269
+
270
+ ---
271
+
272
+ **Verified:** 2026-05-08
273
+ **Tier 1 sources:** kakaocorp.com (live DOM via playwright — Marketing Pill `#FAE100` / `#000000` / 16px / 7×13/30 / 13px·700·32px ✓; Dark Marketing Pill `#111111` 16px ✓; Nav Pill `#ffffff` / `#000000` / 999px / 3×14 / 16px·700·36px ✓; Footer Link Pill `#eeeeee` / 24px / 12px·400·40px ✓; KakaoTalk compliance Login button `#FEE500` retained per Kakao Developers requirement)
274
+ **Tier 2 sources:** styles.refero.design — no record (?q=Kakao returns 0 brand match). getdesign.md/kakao — no record.
275
+ **Tier 2b status:** unavailable; Tier 1 (kakaocorp.com live inspect) treated as authoritative.
276
+ **Conflicts unresolved:** none. The dual-yellow split (`#FEE500` compliance vs `#FAE100` marketing) is verified against both Kakao Developers docs and the live kakaocorp.com DOM.
277
+
278
+ ## 5. Layout Principles
279
+
280
+ ### Spacing System
281
+ - Base unit: 8px
282
+ - Scale: 4px, 8px, 12px, 16px, 20px, 24px, 32px, 40px, 48px
283
+ - Horizontal screen padding: 16px
284
+ - Chat message gap (same sender): 4px, (different sender): 16px
285
+ - List item vertical padding: 12px
286
+
287
+ ### Grid & Container
288
+ - Mobile: full-width, 16px horizontal padding
289
+ - Chat messages: left-aligned (others) or right-aligned (self) with 16px margins
290
+ - Friend list: single-column, full-width items
291
+ - Grid menu (More tab): 3-4 column icon grid
292
+
293
+ ### Whitespace Philosophy
294
+ - **Conversation-optimized**: Message bubbles are compact but well-separated between senders. Maximize visible messages while maintaining clear attribution.
295
+ - **List efficiency**: Friend/chat lists prioritize density -- 64px rows show avatar + name + status in a scannable format.
296
+ - **Flat layering**: Instead of shadows, Kakao uses background color shifts (`#ffffff` → `#F0F0F0` → `#E5E5E5`) for visual hierarchy. Lightweight, fast-rendering.
297
+
298
+ ### Border Radius Scale
299
+ - Standard (12px): Buttons, cards, avatars (rounded square), inputs, login button
300
+ - Rounded (20px): Search bars, rounded containers
301
+ - Pill (9999px): System message bubbles, notification badges
302
+ - Chat bubble: asymmetric via 9-patch assets
303
+
304
+ ## 6. Depth & Elevation
305
+
306
+ | Level | Treatment | Use |
307
+ |-------|-----------|-----|
308
+ | Flat (Level 0) | No shadow | Primary — most elements. Chat bubbles, list items, cards |
309
+ | Minimal (Level 1) | `0px 1px 3px rgba(0,0,0,0.04)` | Rare — floating action button, keyboard toolbar |
310
+ | Subtle (Level 2) | `0px 2px 6px rgba(0,0,0,0.08)` | Popovers, dropdown menus |
311
+ | Elevated (Level 3) | `0px 4px 12px rgba(0,0,0,0.12)` | Bottom sheets, modal dialogs |
312
+
313
+ **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.
314
+
315
+ ## 7. Do's and Don'ts
316
+
317
+ ### Do
318
+ - Use Kakao Yellow (`#FEE500`) as the primary brand accent
319
+ - Follow Kakao Login button specs exactly -- they are compliance-mandated
320
+ - Use system fonts for all conversational/functional UI
321
+ - Use 12px border-radius as the standard for most interactive elements
322
+ - Keep the interface flat -- rely on background color, not shadows, for depth
323
+ - Use yellow bubbles for self-messages, white for others -- the universal Kakao pattern
324
+ - Use rounded squares (12px radius) for KakaoTalk-style avatars
325
+
326
+ ### Don't
327
+ - Don't modify Kakao Login button colors, radius, or proportions
328
+ - Don't use heavy shadows -- Kakao is one of the flattest design systems in production
329
+ - Don't use yellow for text on white backgrounds -- contrast ratio is insufficient
330
+ - Don't use pure black (`#000000`) for text -- use `#222222` or `#333333` for warmth
331
+ - Don't override system fonts in chat contexts -- messages should feel personal
332
+ - Don't use rounded circles for KakaoTalk avatars -- they use 12px rounded squares
333
+ - Don't add gradient or 3D effects to brand elements -- strictly prohibited
334
+
335
+ ## 8. Responsive Behavior
336
+
337
+ ### Breakpoints
338
+ | Name | Width | Key Changes |
339
+ |------|-------|-------------|
340
+ | Mobile (Primary) | <480px | Full design fidelity, KakaoTalk native layout |
341
+ | Tablet | 480-768px | Side panel for chat list + detail |
342
+ | Desktop | >768px | Fixed sidebar + chat panel + optional right panel |
343
+
344
+ ### Touch Targets
345
+ - Chat bubble: entire bubble tappable for context menu
346
+ - Friend list items: 64px row height, full-width tappable
347
+ - Tab bar items: 56px height, evenly distributed
348
+ - Send button: 36px minimum, right side of input bar
349
+
350
+ ### Collapsing Strategy
351
+ - Desktop: multi-column (chat list | conversation | info panel)
352
+ - Tablet: 2-column (chat list | conversation)
353
+ - Mobile: single screen with navigation between views
354
+ - Chat input: always bottom-fixed with safe area handling
355
+
356
+ ### Image Behavior
357
+ - Chat photos: grid layout (1/2/3+ images), 8px rounded corners
358
+ - Profile avatars: 48px in lists, 80-100px in profile view, rounded square (12px)
359
+ - Stickers/Emoticons: centered in bubble area, 120-200px display
360
+
361
+ ## 9. Agent Prompt Guide
362
+
363
+ ### Quick Color Reference
364
+ - Primary CTA: Kakao Yellow (`#FEE500`)
365
+ - CTA Text: Near Black (`#333333`) -- NOT white on yellow
366
+ - Background: Pure White (`#ffffff`)
367
+ - Background Fill: Light Gray (`#F0F0F0`)
368
+ - Heading text: Dark (`#222222`)
369
+ - Body text: Charcoal (`#333333`)
370
+ - Secondary text: Gray (`#666666`)
371
+ - Caption text: Muted (`#999999`)
372
+ - Placeholder: Light (`#BBBBBB`)
373
+ - Border: Soft Gray (`#E5E5E5`)
374
+ - My Bubble: Kakao Yellow (`#FEE500`)
375
+ - Other Bubble: White (`#ffffff`)
376
+ - Link: Blue (`#2196F3`)
377
+ - Error: Red (`#E02000`)
378
+
379
+ ### Example Component Prompts
380
+ - "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."
381
+ - "Build a Kakao Login button: #FEE500 bg, 12px radius. Left: black chat bubble icon. Center: '카카오 로그인' in #000000 at 85% opacity. Full-width, 16px margin."
382
+ - "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."
383
+ - "Create a tab bar: white bg, 44px height, 4 tabs. Active: #333333 text (14px weight 600) + 2px bottom border. Inactive: #999999 text."
384
+ - "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."
385
+
386
+ ### Iteration Guide
387
+ 1. System fonts for ALL functional UI -- Kakao Font for brand/marketing only
388
+ 2. Primary yellow is `#FEE500` -- text ON yellow is `#333333` (never white)
389
+ 3. Chat bubbles are the visual DNA: yellow = self, white = other, pill = system
390
+ 4. 12px is THE border-radius -- buttons, cards, avatars, login, all 12px
391
+ 5. Flat design: no shadows on chat bubbles, minimal elsewhere, depth via background color
392
+ 6. Gray hierarchy: #222222 → #333333 → #666666 → #808080 → #999999 → #BBBBBB
393
+ 7. Kakao Login specs are non-negotiable compliance requirements
394
+
395
+ ## 10. Voice & Tone
396
+
397
+ Kakao's voice is **친근하고 일상적이며 따뜻한 (familiar, everyday, warm)** — the language of a friend explaining something, not a corporation announcing something. The phrase that anchors the company brand on kakaocorp.com is *"나의 세계를 바꾸는 카카오"* (Kakao that transforms my world), which sets the register: personal scale ("나의"), present-tense action ("바꾸는"), product-as-companion. The product surfaces extend this — system messages in KakaoTalk read as observations rather than alerts ("친구가 입장했습니다"), and onboarding microcopy uses the polite-conversational `해요체` rather than `합니다체`.
398
+
399
+ | Context | Tone |
400
+ |---|---|
401
+ | 시스템 메시지 (chat) | 관찰형 단문. "OOO님이 들어왔습니다." 사실 묘사, 감정 부재 |
402
+ | CTA / 버튼 | 동사+명사 혹은 동사 단독, 짧게. "보내기", "친구 추가하기", "확인" |
403
+ | 에러 (네트워크/인증) | 구체적 원인 + 즉시 행동 가능한 한 줄. "다시 시도해주세요"는 마지막 fallback |
404
+ | 약관 / 정책 | 격식체 (`-합니다`) — 법무성 명확함이 우선 |
405
+ | 프로모션 / 마케팅 | 짧은 카피, 종결어미 다양화 ("받아요!", "지금 시작") |
406
+ | 빈 상태 (Empty) | 다음 행동 1개를 제시. 위로하지 않음 ("친구를 추가하면 대화를 시작할 수 있어요") |
407
+ | 성공 확인 | 토스트 1초, 짧은 확인 — 축하 이모지·과한 메시지 금지 |
408
+
409
+ **Voice samples**
410
+ - 카카오 로그인 버튼 라벨: *"카카오 계정으로 로그인"* <!-- verified: developers.kakao.com Kakao Login docs (2026-05) -->
411
+ - 친구 추가 화면 빈 상태: *"친구가 없어요. 추천 친구를 살펴보세요."* <!-- illustrative: not verified as live KakaoTalk copy -->
412
+ - 네트워크 오류: *"연결이 불안정해요. Wi-Fi를 확인해주세요."* <!-- illustrative -->
413
+
414
+ **Forbidden phrases.** "혁신", "최고의" 같은 마케팅 superlative (kakaocorp.com 어디에도 안 보임). 영어 원문 그대로 (Get Started → "시작하기"로 번역). 명령형 (`-해라`). 이모지 in product chrome (스티커/이모티콘은 콘텐츠라 OK, UI 텍스트엔 금지).
415
+
416
+ ## 11. Brand Narrative
417
+
418
+ Kakao는 **2006년 11월 29일** 김범수(Brian Kim, 前 NHN 임원)와 이제범 공동창업으로 **iWilab(아이위랩)** 으로 출발했다 — Mountain View 실리콘밸리의 한국 창업가 인큐베이터를 모태로 한국에 설립 ([Kim Beom-soo — Wikipedia](https://en.wikipedia.org/wiki/Kim_Beom-soo_(businessman)), [PortersFiveForce — Kakao Brief History](https://portersfiveforce.com/blogs/brief-history/kakaocorp)). **카카오톡 출시(2010-03)** 가 한국 모바일 인터넷의 분기점 — 90% 스마트폰 침투율의 메신저 인프라가 됐다. 첫 흑자 $42M(2012), 100M 누적가입자 돌파(2013), **2014-10 다음(Daum)과 합병** 'Daum Kakao'(2015 Kakao로 재브랜딩) — 김범수는 22.2% 최대주주가 됐다 ([Kakao — Wikipedia](https://en.wikipedia.org/wiki/Kakao)). 회사는 통신·결제·모빌리티·콘텐츠로 확장하면서도 *"사람과 세상을 연결한다"* 는 단일 명제를 brand positioning의 중심으로 유지한다. 공식 brand 페이지(kakaocorp.com)에 노출되는 문구 *"그 어떤 목소리도 소외되지 않도록"* 은 inclusivity를 명시적 design constraint로 못박는다 — 글꼴 크기·접근성·다국어 등 미시 결정의 윗단 origin.
419
+
420
+ 2024-2025년의 **카나나(Kanana)** AI 브랜드 launch는 *"나에게 가장 가까운, 가장 쉬운 AI"* 로 캐치프레이즈 — 여전히 `나의 / 가까운 / 쉬운` 의 personal·proximity·simplicity 삼각형이다. 즉 brand evolution은 있어도 voice의 핵심은 "1인칭, 친근, 단순"으로 일관.
421
+
422
+ What Kakao refuses: corporate 거리감, 기능 자랑, 영어 원문 노출. What it embraces: KakaoTalk 노란 색의 일관성(15년 동일), 한국 텍스트 우선, 시스템 폰트 (KakaoFont는 marketing 한정), 챗 거품의 시각 DNA.
423
+
424
+ ## 12. Principles
425
+
426
+ 1. **Familiar over impressive.** 사용자가 "어, 이거 그냥 친구한테 말하듯 쓰면 되네"라고 느껴야 한다. *UI implication:* 마이크로카피는 `해요체`, 동사 단독, ≤8 글자 우선.
427
+ 2. **Connection is the product.** 모든 surface는 "사람-사람" 또는 "사람-서비스" 연결이라는 1차 목적을 지운다. *UI implication:* 친구·메시지·전송·통화 entry는 main nav에서 ≤2 tap 이내.
428
+ 3. **Inclusivity is a constraint, not a value.** *"그 어떤 목소리도 소외되지 않도록"* 은 슬로건이 아니라 색상 contrast·글자 크기·다국어·접근성 라벨의 mandatory check. *UI implication:* 모든 interactive element WCAG AA 이상, 글자 14px 미만은 정보 보조 용도로만.
429
+ 4. **Yellow is sacred.** `#FEE500` Kakao Login은 Kakao Developers compliance 사항으로 **변경 불가** — 색상·텍스트·아이콘 전부 spec 그대로. *UI implication:* 로그인 버튼 = 제3의 design choice 영역 아님. 비-compliance 마케팅 yellow는 `#FAE100` 분리 토큰.
430
+ 5. **Korean text first.** UI 텍스트는 한글이 우선이며 영어는 보조. 폰트 매트릭(line-height, letter-spacing)도 한글 기준으로 튜닝됨. *UI implication:* 영어 placeholder를 한글로 의역, 글자 가운데정렬은 한글이 짧을 때만.
431
+
432
+ ## 13. Personas
433
+
434
+ *Personas are fictional archetypes informed by publicly described KakaoTalk user segments (universal Korean adult population, small-business owners, content creators), not individual people.*
435
+
436
+ **김지영, 38, 서울.** 마케팅 회사 팀장. KakaoTalk으로 가족·동료·거래처 모두 소통. 페르소나라기엔 너무 평범한 게 핵심 — Kakao 디자인의 성공은 "이 사람이 친구의 카톡과 회사 거래처 카톡을 같은 앱에서 안 헷갈리게" 만드는 것.
437
+
438
+ **이용운, 56, 부산.** 식당 운영. 카카오 비즈니스(고객 응대), 카카오페이(결제), 카카오맵(위치)을 매일 쓴다. 새로운 기능을 자발적으로 탐색하지 않으며, 기능이 *조용히* 추가되어 *우연히* 발견되는 패턴이 가장 잘 맞는다.
439
+
440
+ **박서연, 22, 대전.** 대학생, 이모티콘 스토어 즐겨 사용. 친구들과 채팅의 대부분을 이모티콘으로 한다 — 감정의 미세 조정을 텍스트가 아닌 그림으로. Kakao가 글꼴·이모티콘·스티커를 콘텐츠 카테고리로 격상시킨 게 이 페르소나의 일상에 깊이 박혀 있음.
441
+
442
+ ## 14. States
443
+
444
+ | State | Treatment |
445
+ |---|---|
446
+ | **Empty (친구 목록)** | 16px Apple SD Gothic Neo, `#222222` "친구가 없어요." + 14px `#666666` "추천 친구를 살펴보세요." + 카카오 옐로우 텍스트 링크 1개. 일러스트 없음 (Kakao Empty는 일관되게 텍스트만) |
447
+ | **Empty (대화 없음)** | 시스템 메시지 톤. "아직 메시지가 없어요" 14px `#999999`. 추천 행동 없음 — 첫 메시지를 입력하면 자연히 채워지므로 |
448
+ | **Loading (친구 목록 새로고침)** | Pull-to-refresh 시 카카오 옐로우 dot 3개 progressive loader. Native iOS/Android 인디케이터 그대로 |
449
+ | **Loading (이미지)** | `#F0F0F0` skeleton 박스, 8px radius (이미지 grid radius와 일치). 시머 없음 |
450
+ | **Error (네트워크)** | Toast 상단, `#E02000` 배경 white text, "연결이 불안정해요. Wi-Fi를 확인해주세요." 자동 dismiss 4s |
451
+ | **Error (메시지 발송 실패)** | 메시지 옆 빨간 ! 아이콘 + 길게 누르면 "다시 보내기 / 삭제" 메뉴. 메시지 자체는 yellow bubble 유지 |
452
+ | **Success (메시지 전송)** | 보낸 직후 옅은 회색 시계 → 한 사람 읽으면 회색 1, 모두 읽으면 표시 사라짐. 토스트 없음 — 메시지 자체가 confirmation |
453
+ | **Success (결제)** | 별도 모달 — 카카오페이 노란 체크 마크, 지불 액수 큰 글씨, "확인" CTA. 0.6초 spring scale 애니메이션 |
454
+ | **Skeleton (대화 목록)** | 64px row 그대로 사용, 텍스트 영역만 `#F0F0F0` 박스. 아바타 자리도 동일한 12px rounded square skeleton |
455
+ | **Disabled** | 버튼 opacity 0.4, 배경·텍스트 색조 그대로 — Kakao yellow disabled는 `#DEE2E6` `#ADB5BD`로 *바뀜* (위 §4 기재) |
456
+ | **Loading (긴 작업: 백업)** | 진행률 % + "약 N분 남음" 라벨. 카카오 옐로우 progress bar |
457
+
458
+ ## 15. Motion & Easing
459
+
460
+ **Durations**:
461
+
462
+ | Token | Value | Use |
463
+ |---|---|---|
464
+ | `motion-instant` | 0ms | 토글 / 체크박스 즉시 |
465
+ | `motion-fast` | 150ms | 버튼 active 피드백, hover |
466
+ | `motion-standard` | 250ms | 모달 / 시트 enter / exit |
467
+ | `motion-message` | 300ms | 채팅 메시지 fade-in (yellow bubble 등장) |
468
+ | `motion-spring` | variable | pull-to-refresh, 친구 추가 콜백 |
469
+
470
+ **Easings**:
471
+
472
+ | Token | Curve | Use |
473
+ |---|---|---|
474
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | 메시지·시트 등장 |
475
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | 모달 dismiss |
476
+ | `ease-spring` | spring (mass 1, stiffness 380) | 결제 confirm scale, 친구 추가 callback |
477
+
478
+ **Motion rules.**
479
+ 1. 메시지 거품은 **항상** spring scale (0.95 → 1.0)로 등장 — Kakao 채팅의 시그니처 모션
480
+ 2. 노란 색조에 색상 transition 사용 금지 — `#FEE500` 은 binary on/off, 중간색 사용 시 brand 인지도 하락
481
+ 3. `prefers-reduced-motion: reduce` 시 모든 spring → 즉시 fade. 채팅 거품도 spring 제거하고 100ms fade-in
482
+ 4. 토스트는 항상 상단(notch 아래) 등장 — 하단은 채팅 input과 충돌
483
+
484
+ ---
485
+
486
+ **Verified:** 2026-05-08
487
+ **Tier 1 sources (Philosophy):** kakaocorp.com (mission/vision quotes "나의 세계를 바꾸는 카카오", "그 어떤 목소리도 소외되지 않도록"), developers.kakao.com (Kakao Login compliance spec for §12 Principle 4)
488
+ **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.
489
+ **Style ref for tone:** `toss` (한국어 페르소나 어조 일관성).
490
+ **Conflicts unresolved:** none.