oh-my-design-cli 1.8.7 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +1995 -38
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -8,460 +8,501 @@ primary_color: "#06c755"
8
8
  logo:
9
9
  type: simpleicons
10
10
  slug: line
11
- verified: "2026-05-15"
11
+ verified: "2026-07-11"
12
12
  omd: "0.1"
13
13
  ds:
14
14
  name: LINE Design System
15
15
  url: "https://designsystem.line.me"
16
16
  type: system
17
- description: LINE's shared design system for products across the LINE family.
17
+ description: "LINE Messenger and Global Family Service design guidance, including foundations, components, UX guidelines, principles, and LINE Voice."
18
18
  og_image: "https://designsystem.line.me/static/36a4ead41b7b972b1130287e849a14b1/73f08/SEO_IMG_1741574443.png"
19
+ verification_v2:
20
+ schema: 2
21
+ checked: "2026-07-11"
22
+ surfaces:
23
+ - { id: home, kind: marketing, url: "https://www.line.me/ko/", inspected: "2026-07-11" }
24
+ - { id: ds-home, kind: design-system, url: "https://designsystem.line.me/", inspected: "2026-07-11" }
25
+ - { id: colors, kind: design-system, url: "https://designsystem.line.me/LDSM/foundation/color/line-color-guide-ex-en/", inspected: "2026-07-11" }
26
+ - { id: typography, kind: design-system, url: "https://designsystem.line.me/LDSM/foundation/typography-ex-en/", inspected: "2026-07-11" }
27
+ - { id: layout, kind: design-system, url: "https://designsystem.line.me/LDSM/foundation/layout-ex-en/", inspected: "2026-07-11" }
28
+ - { id: box-button, kind: design-system, url: "https://designsystem.line.me/LDSM/components/box-button-ex-en/", inspected: "2026-07-11" }
29
+ - { id: capsule-button, kind: design-system, url: "https://designsystem.line.me/LDSM/components/capsule-button-ex-en/", inspected: "2026-07-11" }
30
+ - { id: input, kind: design-system, url: "https://designsystem.line.me/LDSM/components/input-ex-en/", inspected: "2026-07-11" }
31
+ - { id: popup, kind: design-system, url: "https://designsystem.line.me/LDSM/components/popup-ex-en/", inspected: "2026-07-11" }
32
+ - { id: tabs, kind: design-system, url: "https://designsystem.line.me/LDSM/components/tabs-ex-en/", inspected: "2026-07-11" }
33
+ - { id: badge, kind: design-system, url: "https://designsystem.line.me/LDSM/components/badge-ex-en/", inspected: "2026-07-11" }
34
+ - { id: principles, kind: design-system, url: "https://designsystem.line.me/about/design-principle-en", inspected: "2026-07-11" }
35
+ - { id: voice, kind: design-system, url: "https://designsystem.line.me/about/line-voice-en", inspected: "2026-07-11" }
36
+ - { id: corporate-style, kind: corporate, url: "https://www.lycorp.co.jp/en/technology-design/design/", inspected: "2026-07-11" }
37
+ sources:
38
+ - { id: home-live, kind: product-surface, url: "https://www.line.me/ko/", captured: "2026-07-11" }
39
+ - { id: ds-home-doc, kind: official-doc, url: "https://designsystem.line.me/", captured: "2026-07-11" }
40
+ - { id: colors-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/foundation/color/line-color-guide-ex-en/", captured: "2026-07-11" }
41
+ - { id: typography-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/foundation/typography-ex-en/", captured: "2026-07-11" }
42
+ - { id: layout-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/foundation/layout-ex-en/", captured: "2026-07-11" }
43
+ - { id: box-button-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/components/box-button-ex-en/", captured: "2026-07-11" }
44
+ - { id: capsule-button-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/components/capsule-button-ex-en/", captured: "2026-07-11" }
45
+ - { id: input-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/components/input-ex-en/", captured: "2026-07-11" }
46
+ - { id: popup-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/components/popup-ex-en/", captured: "2026-07-11" }
47
+ - { id: tabs-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/components/tabs-ex-en/", captured: "2026-07-11" }
48
+ - { id: badge-doc, kind: official-doc, url: "https://designsystem.line.me/LDSM/components/badge-ex-en/", captured: "2026-07-11" }
49
+ - { id: principles-doc, kind: official-doc, url: "https://designsystem.line.me/about/design-principle-en", captured: "2026-07-11" }
50
+ - { id: voice-doc, kind: official-doc, url: "https://designsystem.line.me/about/line-voice-en", captured: "2026-07-11" }
51
+ - { id: corporate-style-doc, kind: official-doc, url: "https://www.lycorp.co.jp/en/technology-design/design/", captured: "2026-07-11" }
52
+ claims:
53
+ "tokens.colors.action-blue": &color_evidence { surface_id: colors, source_id: colors-doc, method: official-doc, captured: "2026-07-11" }
54
+ "tokens.colors.android-primary": *color_evidence
55
+ "tokens.colors.border": *color_evidence
56
+ "tokens.colors.canvas": *color_evidence
57
+ "tokens.colors.danger": *color_evidence
58
+ "tokens.colors.foreground": *color_evidence
59
+ "tokens.colors.on-primary": *color_evidence
60
+ "tokens.colors.outline": *color_evidence
61
+ "tokens.colors.primary": *color_evidence
62
+ "tokens.colors.text-muted": *color_evidence
63
+ "tokens.colors.text-secondary": *color_evidence
64
+ "tokens.components.box-button-destructive.bg": &button_evidence { surface_id: box-button, source_id: box-button-doc, method: official-doc, captured: "2026-07-11" }
65
+ "tokens.components.box-button-destructive.fg": *button_evidence
66
+ "tokens.components.box-button-destructive.height": *button_evidence
67
+ "tokens.components.box-button-destructive.radius": *button_evidence
68
+ "tokens.components.box-button-destructive.states": *button_evidence
69
+ "tokens.components.box-button-destructive.type": *button_evidence
70
+ "tokens.components.box-button-destructive.use": *button_evidence
71
+ "tokens.components.box-button-outline.bg": *button_evidence
72
+ "tokens.components.box-button-outline.border": *button_evidence
73
+ "tokens.components.box-button-outline.fg": *button_evidence
74
+ "tokens.components.box-button-outline.height": *button_evidence
75
+ "tokens.components.box-button-outline.radius": *button_evidence
76
+ "tokens.components.box-button-outline.states": *button_evidence
77
+ "tokens.components.box-button-outline.type": *button_evidence
78
+ "tokens.components.box-button-outline.use": *button_evidence
79
+ "tokens.components.box-button-primary.bg": *button_evidence
80
+ "tokens.components.box-button-primary.fg": *button_evidence
81
+ "tokens.components.box-button-primary.height": *button_evidence
82
+ "tokens.components.box-button-primary.radius": *button_evidence
83
+ "tokens.components.box-button-primary.states": *button_evidence
84
+ "tokens.components.box-button-primary.type": *button_evidence
85
+ "tokens.components.box-button-primary.use": *button_evidence
86
+ "tokens.components.capsule-button.bg": &capsule_evidence { surface_id: capsule-button, source_id: capsule-button-doc, method: official-doc, captured: "2026-07-11" }
87
+ "tokens.components.capsule-button.fg": *capsule_evidence
88
+ "tokens.components.capsule-button.radius": *capsule_evidence
89
+ "tokens.components.capsule-button.states": *capsule_evidence
90
+ "tokens.components.capsule-button.type": *capsule_evidence
91
+ "tokens.components.capsule-button.use": *capsule_evidence
92
+ "tokens.components.notification-badge.bg": &badge_evidence { surface_id: badge, source_id: badge-doc, method: official-doc, captured: "2026-07-11" }
93
+ "tokens.components.notification-badge.fg": *badge_evidence
94
+ "tokens.components.notification-badge.radius": *badge_evidence
95
+ "tokens.components.notification-badge.type": *badge_evidence
96
+ "tokens.components.notification-badge.use": *badge_evidence
97
+ "tokens.components.popup.bg": &popup_evidence { surface_id: popup, source_id: popup-doc, method: official-doc, captured: "2026-07-11" }
98
+ "tokens.components.popup.fg": *popup_evidence
99
+ "tokens.components.popup.states": *popup_evidence
100
+ "tokens.components.popup.type": *popup_evidence
101
+ "tokens.components.popup.use": *popup_evidence
102
+ "tokens.components.tabs.bg": &tabs_evidence { surface_id: tabs, source_id: tabs-doc, method: official-doc, captured: "2026-07-11" }
103
+ "tokens.components.tabs.border": *tabs_evidence
104
+ "tokens.components.tabs.fg": *tabs_evidence
105
+ "tokens.components.tabs.states": *tabs_evidence
106
+ "tokens.components.tabs.type": *tabs_evidence
107
+ "tokens.components.tabs.use": *tabs_evidence
108
+ "tokens.components.text-input.bg": &input_evidence { surface_id: input, source_id: input-doc, method: official-doc, captured: "2026-07-11" }
109
+ "tokens.components.text-input.border": *input_evidence
110
+ "tokens.components.text-input.fg": *input_evidence
111
+ "tokens.components.text-input.states": *input_evidence
112
+ "tokens.components.text-input.type": *input_evidence
113
+ "tokens.components.text-input.use": *input_evidence
114
+ "tokens.rounded.button": *button_evidence
115
+ "tokens.rounded.button-large": *button_evidence
116
+ "tokens.rounded.full": *capsule_evidence
117
+ "tokens.shadow.flat": &ds_home_evidence { surface_id: ds-home, source_id: ds-home-doc, method: official-doc, captured: "2026-07-11" }
118
+ "tokens.spacing.card-margin": &layout_evidence { surface_id: layout, source_id: layout-doc, method: official-doc, captured: "2026-07-11" }
119
+ "tokens.spacing.gutter-2-column": *layout_evidence
120
+ "tokens.spacing.gutter-3-column": *layout_evidence
121
+ "tokens.spacing.gutter-4-column": *layout_evidence
122
+ "tokens.spacing.screen-margin": *layout_evidence
123
+ "tokens.typography.body-1.size": &typography_evidence { surface_id: typography, source_id: typography-doc, method: official-doc, captured: "2026-07-11" }
124
+ "tokens.typography.body-1.use": *typography_evidence
125
+ "tokens.typography.body-1.weight": *typography_evidence
126
+ "tokens.typography.body-2.size": *typography_evidence
127
+ "tokens.typography.body-2.use": *typography_evidence
128
+ "tokens.typography.body-2.weight": *typography_evidence
129
+ "tokens.typography.body-4.size": *typography_evidence
130
+ "tokens.typography.body-4.use": *typography_evidence
131
+ "tokens.typography.body-4.weight": *typography_evidence
132
+ "tokens.typography.family.display": &home_evidence { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-07-11" }
133
+ "tokens.typography.family.sans": *typography_evidence
134
+ "tokens.typography.heading-1.size": *typography_evidence
135
+ "tokens.typography.heading-1.use": *typography_evidence
136
+ "tokens.typography.heading-1.weight": *typography_evidence
137
+ "tokens.typography.heading-2.size": *typography_evidence
138
+ "tokens.typography.heading-2.use": *typography_evidence
139
+ "tokens.typography.heading-2.weight": *typography_evidence
140
+ "tokens.typography.marketing-hero.size": *home_evidence
141
+ "tokens.typography.marketing-hero.use": *home_evidence
142
+ "tokens.typography.marketing-hero.weight": *home_evidence
143
+ "tokens.typography.marketing-service.lineHeight": *home_evidence
144
+ "tokens.typography.marketing-service.size": *home_evidence
145
+ "tokens.typography.marketing-service.use": *home_evidence
146
+ "tokens.typography.marketing-service.weight": *home_evidence
147
+ "tokens.typography.title-1.size": *typography_evidence
148
+ "tokens.typography.title-1.use": *typography_evidence
149
+ "tokens.typography.title-1.weight": *typography_evidence
150
+ "tokens.typography.title-3.size": *typography_evidence
151
+ "tokens.typography.title-3.use": *typography_evidence
152
+ "tokens.typography.title-3.weight": *typography_evidence
153
+
19
154
  tokens:
20
- source: prose-derived
21
- extracted: "2026-06-09"
22
- components_harvested: true
155
+ source: reconciled
156
+ extracted: "2026-07-11"
157
+ note: "LINE Messenger product UI uses OS system fonts; public marketing and design-system headings use loaded LINESeed. The official v3.5 palette defines #06c755, replacing the legacy #07b53b value. LY corporate chrome is a separate domain and is not mixed into Messenger tokens."
23
158
  colors:
24
- primary: "#07b53b"
25
- primary-hover: "#069030"
159
+ primary: "#06c755"
160
+ android-primary: "#4cc764"
26
161
  canvas: "#ffffff"
27
- ink: "#1e1e1e"
28
- body: "#000000"
29
- swiper-blue: "#007aff"
162
+ foreground: "#000000"
163
+ text-secondary: "#616161"
164
+ text-muted: "#949494"
165
+ border: "#e8e8e8"
166
+ outline: "#efefef"
167
+ action-blue: "#638dff"
168
+ danger: "#ff334b"
30
169
  on-primary: "#ffffff"
31
170
  typography:
32
- family: { sans: "SFPro", mono: "SFPro" }
33
- hero: { size: 70, weight: 700, use: "Hero headline, Life on LINE" }
34
- service: { size: 40, weight: 700, use: "Service names, section heads" }
35
- title: { size: 20, weight: 700, use: "Page title H1" }
36
- body: { size: 20, weight: 400, lineHeight: 1.5, use: "Body default, editorial scale" }
37
- button: { size: 16, weight: 700, lineHeight: 1.0, use: "Button / pill / nav labels" }
38
- caption: { size: 14, weight: 400, use: "Card descriptions, supporting copy" }
39
- badge: { size: 12, weight: 700, use: "Pill badge label" }
40
- spacing: { xs: 4, sm: 8, md: 15, base: 16, lg: 24, xl: 32, xxl: 48, section: 100 }
41
- rounded: { sm: 12, md: 12, lg: 12, full: 9999 }
171
+ family: { sans: "System", display: "LINESeed" }
172
+ marketing-hero: { size: 70, weight: 700, use: "Public line.me Life on LINE heading" }
173
+ marketing-service: { size: 60, weight: 700, lineHeight: 1.334, use: "Public line.me Messenger and Services headings" }
174
+ heading-1: { size: 24, weight: 900, use: "Messenger product heading 1; official Heavy role" }
175
+ heading-2: { size: 17, weight: 700, use: "Messenger product heading 2" }
176
+ title-1: { size: 23, weight: 700, use: "Messenger product title 1" }
177
+ title-3: { size: 16, weight: 500, use: "Messenger product title 3; Medium or Semibold" }
178
+ body-1: { size: 16, weight: 400, use: "Messenger primary body" }
179
+ body-2: { size: 14, weight: 400, use: "Messenger secondary body" }
180
+ body-4: { size: 12, weight: 400, use: "Minimum recommended Messenger body role" }
181
+ spacing:
182
+ gutter-4-column: 5
183
+ gutter-3-column: 8
184
+ gutter-2-column: 9
185
+ screen-margin: 16
186
+ card-margin: 16
187
+ rounded: { button: 5, button-large: 6, full: 9999 }
42
188
  shadow:
43
- header: "0 1px 0 rgba(0,0,0,0.1)"
44
- card: "0 2px 8px rgba(0,0,0,0.04)"
45
- modal: "0 4px 24px rgba(0,0,0,0.15)"
189
+ flat: "none"
190
+ components_harvested: true
46
191
  components:
47
- button-pill-active: { type: button, bg: "#07b53b", fg: "#ffffff", radius: 9999, padding: "8px 15px", font: "16px/700", use: "Active category pill, primary CTA" }
48
- button-pill-inactive: { type: button, bg: "transparent", fg: "#1e1e1e", radius: 9999, padding: "8px 15px", font: "16px/700", use: "Unselected category pill" }
49
- button-pill-pressed: { type: button, bg: "#069030", fg: "#ffffff", radius: 9999, padding: "8px 15px", use: "Hover/pressed primary pill" }
50
- input-default: { type: input, bg: "#ffffff", fg: "#1e1e1e", radius: 12, padding: "12px 16px", font: "16px/400", use: "Form field, green focus border" }
51
- card-service: { type: card, bg: "#ffffff", fg: "#1e1e1e", radius: 12, padding: "24px", use: "Service/feature card with icon + title" }
52
- card-image: { type: card, bg: "#ffffff", radius: 12, use: "Image-dominant tile, STICKERS/WEBTOON" }
53
- card-download: { type: card, bg: "#ffffff", radius: 12, padding: "12px", use: "App download tile, 56px touch target" }
54
- badge-pill: { type: badge, bg: "#07b53b", fg: "#ffffff", radius: 9999, padding: "4px 10px", font: "12px/700", use: "Pill-style badge" }
192
+ box-button-primary: { type: button, bg: "#06c755", fg: "#ffffff", radius: "5px", height: "36px", states: "active, inactive, pressed, loading, on, off", use: "Primary general action; official medium box-button geometry" }
193
+ box-button-destructive: { type: button, bg: "#ff334b", fg: "#ffffff", radius: "5px", height: "36px", states: "active, inactive, pressed, loading", use: "Delete, replace, remove, and other destructive actions" }
194
+ box-button-outline: { type: button, bg: "#ffffff", fg: "#000000", border: "1px solid #efefef", radius: "5px", height: "36px", states: "active, inactive, pressed, loading, off", use: "Secondary or turned-off box-button action" }
195
+ capsule-button: { type: button, bg: "#06c755", fg: "#ffffff", radius: "9999px", states: "active, pressed; disappears after completing its scroll action", use: "Move to new content above or below the current scroll position" }
196
+ text-input: { type: input, bg: "#ffffff", fg: "#000000", border: "0 0 1px solid #949494", states: "inactive, focused #06c755, typing, completed, error #ff334b, disabled", use: "Text, password, and code input with required underline and reset action" }
197
+ popup: { type: dialog, bg: "#ffffff", fg: "#000000", states: "light, dark, one-button, two-button, three-button, affirmative-disabled", use: "Important information or user decision with content, action area, and scrim" }
198
+ tabs: { type: tab, bg: "transparent", fg: "#000000", border: "selected indicator uses #06c755", states: "selected, unselected, pressed", use: "Text, box, or icon grouping at the top of dependent content" }
199
+ notification-badge: { type: badge, bg: "#06c755", fg: "#ffffff", radius: "9999px", use: "N, dot, or number update badge; red is reserved for GNB placement" }
55
200
  ---
56
201
 
57
202
  # Design System Inspiration of LINE
58
203
 
59
204
  ## 1. Visual Theme & Atmosphere
60
205
 
61
- LINE is the messaging platform that anchors daily life across Japan, Taiwan, Thailand, and Indonesia, and its visual identity reflects exactly that role confident, friendly, instantly recognizable. The page chrome is bright white with the famous **LINE Green** (`#07b53b`) reserved for the brand mark and the most important interactive moments. Headlines are oversized and bold (`Life on LINE` renders at 70px weight 700, in near-black `#1e1e1e`), creating a high-contrast editorial feel that matches LINE's positioning as a media-style super-app rather than a utility messenger.
206
+ LINE is a communication product whose identity begins with helping people stay close, then extends into services that support everyday life. Its current evidence has two related but distinct public design surfaces. The consumer marketing site uses large `LINESeed` display typography and lifestyle imagery, while the official LINE Design System for Messenger specifies OS-native system fonts, compact product type roles, a structured color palette, and reusable interaction patterns. They share LINE Green and a direct, approachable tone, but their typography and density must not be collapsed into one generic marketing system.
62
207
 
63
- The signature interaction primitive is the **fully pill-shaped button** (`border-radius: 50px`) used for category filters, navigation chips, and CTAs. This is LINE's tactile fingerprint: every clickable surface curves into a complete oval, signaling approachability and a touch-friendly design heritage. Contrast this with Pinkoi's sharp 4px corners or Dcard's modest 8px Material radii LINE's pill-shape is unmistakably its own.
208
+ The July 11 capture covered the Korean consumer site plus seven official design-system routes: home, color, typography, layout, box buttons, inputs, and popups. It found 8 surfaces, 41 color candidates, 10 font families, 45 component variants, five tab interactions, and coverage 87/100. `system-ui` was visibly used on 682 elements across the design-system pages; loaded `LINESeed` appeared on 107 elements. The previous `SFPro` canonical claim is no longer sufficient: `SFPro` remained unresolved on the marketing page, while declared `SF Pro Text` and `SF Pro Display` had zero observed usage.
64
209
 
65
- Typography is **multi-locale system fonts** with the global SF Pro foundation: `SFPro, Arial, "Noto Sans JP", "Noto Sans KR", sans-serif`. The Korean and Japanese fallbacks are first-class LINE serves localized markets where native font rendering is non-negotiable. There is no custom brand typeface; instead, weight 700 and large display sizes do the visual work. Body text starts at a generous 20px (vs. typical 14-16px), reinforcing the editorial, content-forward atmosphere of LINE's marketing surfaces.
66
-
67
- **Key Characteristics:**
68
- - LINE Green (`#07b53b`) reserved for the brand mark and primary "selected" / active states
69
- - Pill-shaped controls: `border-radius: 50px` is the workhorse on buttons, category chips, and navigation
70
- - Weight 700 dominant on headlines (H2 70px, H3 40px), buttons, and category labels
71
- - Editorial-scale hero typography — display headlines 40-70px, body 20px (much larger than commerce sites)
72
- - Locale-aware font stack: `SFPro, Arial, Noto Sans JP, Noto Sans KR` — Japanese and Korean as first-class fallbacks
73
- - Dimmed inactive states via alpha — `rgba(30, 30, 30, 0.7)` for unselected pills (vs. solid `#1e1e1e` active)
74
- - White surface background with bright green accents — never dark mode or muted palettes for the marketing chrome
75
- - Subtle grid: oversized hero images with vertical scroll narrative (services listed below the hero)
76
- - "Life on LINE" voice: aspirational, lifestyle-led, not utility-functional
210
+ Current product identity is anchored by official LINE Green `#06c755`, white `#ffffff`, black `#000000`, and a deep gray scale. The official component system is broader than pills: box buttons, capsule buttons, inputs, popups, tabs, badges, sheets, navigation, lists, cards, and feedback components each have defined anatomy, usage, and state behavior.
77
211
 
78
212
  ## 2. Color Palette & Roles
79
213
 
80
- ### Brand
81
- - **LINE Green** (`#07b53b`): The signature brand color. Used as button bg for the active/selected state, brand iconography, the LINE logo bubble. RGB: `rgb(7, 181, 59)`.
82
- - **LINE Green Dark** (`#069030`): Inferred hover/pressed state — darker variant for press feedback (estimated, not officially confirmed).
83
- - **Pure White** (`#ffffff`): Default page surface, pill button text on green bg.
214
+ ### Official Messenger palette
215
+ - **LINE Green** `#06c755`: brand color and primary action.
216
+ - **Android Green** `#4cc764`: Android display-environment variant.
217
+ - **White** `#ffffff`: canvas and on-dark/on-brand content.
218
+ - **Black** — `#000000`: primary foreground.
219
+ - **Gray 650** — `#616161`: recurring secondary text in all eight captured surfaces.
220
+ - **Gray 500** — `#949494`: muted navigation, inactive labels, and input underline reference.
221
+ - **Gray 250** — `#e8e8e8`: repeated structural border.
222
+ - **Gray 200** — `#efefef`: official outline-button asset border.
223
+ - **Blue 500** — `#638dff`: documented button-background and large-tooltip blue.
224
+ - **Red 400** — `#ff334b`: destructive action and error state.
84
225
 
85
- ### Text & Foreground
86
- - **Near Black** (`#1e1e1e`): Primary headline color, active pill label, body emphasis.
87
- - **Pure Black** (`#000000`): Body text default.
88
- - **Inactive Label** (`rgba(30, 30, 30, 0.7)`): Unselected pill labels, secondary text.
89
- - **Tertiary** (`rgba(30, 30, 30, 0.4)`): Hint text, muted captions (estimated).
226
+ The official color guide does not permit arbitrary opacity changes except for LINE Black and LINE White. Text should generally use palette values numbered 500 or higher to maintain at least 3:1 contrast; Gray 400 is restricted to the least important text. Highlighted colors are generated by documented HSV rules, and disabled labels use 40% treatment according to foreground context.
90
227
 
91
- ### Surface
92
- - **Page White** (`#ffffff`): Default background. LINE marketing rarely uses gray surfaces — content sits on white with rich imagery providing visual interest.
93
- - **Image Overlay**: Hero sections layer text on full-bleed photography; no card chrome required.
228
+ The previous `#07b53b` green was removed. It appeared in an older live tab capture, but the current v3.5 official palette and current product metadata identify `#06c755` as LINE Green.
94
229
 
95
- ### Sectional / Service Brand Accents
96
- LINE products span Communication / Entertainment / Lifestyle / Shopping / Fintech / Business / News categories. Each LINE service (LINE NEWS, LINE MUSIC, LINE Pay, etc.) carries its own accent color in product UIs. Marketing surfaces stay green-anchored; product UIs may use service-specific palettes.
230
+ ## 3. Typography Rules
97
231
 
98
- ### Swiper Defaults (carousel UI)
99
- - **Swiper Theme** (`#007aff`): iOS system blue used for carousel navigation arrows (`--swiper-theme-color`).
100
- - **Swiper Nav Size**: `44px` (`--swiper-navigation-size`) — touch-friendly circular controls.
232
+ ### Font evidence boundary
101
233
 
102
- ## 3. Typography Rules
234
+ | Evidence class | Resolution |
235
+ |---|---|
236
+ | Official product-use | Messenger guidance specifies OS-native system fonts by platform. |
237
+ | Live surface-use | Design-system pages use `system-ui`; marketing and documentation display roles use loaded `LINESeed`. |
238
+ | Official distributed asset | LINESeed is official, but distribution does not make it the Messenger UI default. |
239
+ | Declared-only | `SF Pro Text` and `SF Pro Display` declarations had zero observed usage. |
240
+ | Unresolved | `SFPro` on the marketing surface had no resolved loaded face. |
103
241
 
104
- ### Font Stack
105
- ```
106
- SFPro, Arial, "Noto Sans JP", "Noto Sans KR", sans-serif
107
- ```
242
+ Specimen availability is separate for system UI and LINESeed; neither is a substitute for the other.
108
243
 
109
- LINE leads with `SFPro` (Apple system font) for instant familiarity on iOS/macOS, then falls back to Noto Sans JP and Noto Sans KR for Japanese and Korean content. There is **no custom brand typeface** — system fonts respect each market's native reading habits.
244
+ ### Product UI
110
245
 
111
- ### Weights
112
- - **700 (bold)**: The dominant weight. All headlines, all buttons, all category pills, all emphasis. LINE almost never uses weight 400 or 500 for visible interactive text.
113
- - **400 (regular)**: Reserved for long-form body copy and supporting captions.
246
+ The official Messenger typography guideline explicitly uses each operating system's system font. It lists SF Pro Text/Display and localized iOS fonts such as Hiragino Sans, PingFang, Apple SD Gothic Neo, and Thonburi. These are platform mappings, not a license to hard-code SF Pro as the universal LINE font.
114
247
 
115
- ### Size Scale (verified live on `line.me`)
116
- | Use | Size | Weight |
117
- |---|---|---|
118
- | Body default | `20px` | 400 |
119
- | Hero subtitle | `20px` | 400-700 |
120
- | H1 (page title) | `20px` | 700 |
121
- | H3 (service names — LINE NEWS, LINE MUSIC) | `40px` | 700 |
122
- | H2 (hero "Life on LINE") | `70px` | 700 |
248
+ | Role | Size | Weight |
249
+ |---|---:|---|
250
+ | Heading 1 | 24pt | Heavy |
251
+ | Heading 2 | 17pt | Bold |
252
+ | Heading 3 | 14pt | Bold |
253
+ | Heading 4 | 13pt | Regular |
254
+ | Title 1 | 23pt | Bold |
255
+ | Title 2 | 19pt | Semibold or Bold |
256
+ | Title 3 | 16pt | Medium or Semibold |
257
+ | Title 4 | 15pt | Medium or Semibold |
258
+ | Title 5 | 14pt | Medium or Semibold |
259
+ | Body 1 | 16pt | Regular |
260
+ | Body 2 | 14pt | Regular |
261
+ | Body 3 | 13pt | Regular |
262
+ | Body 4 | 12pt | Regular |
123
263
 
124
- The size jumps are aggressive: 20px body 40px section heads → 70px hero. There is no quiet middle tier (no 24/32 between body and 40). Headlines exist to dominate the viewport, not to fill it.
264
+ Sizes smaller than 12pt are not recommended. The scale is recommended rather than mandatory so designers can combine roles when content hierarchy requires it.
125
265
 
126
- ### Conventions
127
- - **No letter-spacing tweaks** — system defaults trusted.
128
- - **`font-style: italic` not used** in marketing chrome.
129
- - **No tabular numerals** — body type flows naturally.
130
- - **All-caps reserved** for the LINE wordmark itself.
266
+ ### Marketing and documentation
267
+
268
+ The public consumer surface uses loaded `LINESeed` for major display roles: “Life on LINE” is 70px/700, while “Messenger APP” and “Services” are 60px/700. The design-system documentation also uses LINESeed for 48px/900 page titles and 32px/700 section titles, while its explanatory body uses system-ui.
131
269
 
132
270
  ## 4. Component Stylings
133
271
 
134
- ### Buttons
272
+ ### Box Button
135
273
 
136
- **Active Pill (`.productCategory`)**
137
- - Background: `#07b53b` (LINE Green)
274
+ **Primary Medium**
275
+ - Type: button
276
+ - Background: `#06c755`
277
+ - Text: `#ffffff`
278
+ - Radius: 5px
279
+ - Height: 36px
280
+ - States: active, inactive, pressed, loading, on, off
281
+ - Use: the most important general action in content or the bottom action area
282
+
283
+ **Destructive Medium**
284
+ - Type: button
285
+ - Background: `#ff334b`
138
286
  - Text: `#ffffff`
139
- - Radius: 50px (fully pill-shaped)
140
- - Padding: 8px 15px
141
- - Font: 14-16px / 700
142
- - Use: Active/selected category pill, primary CTA verified live on line.me
287
+ - Radius: 5px
288
+ - Height: 36px
289
+ - States: active, inactive, pressed, loading
290
+ - Use: delete, replace, remove, and other destructive actions
143
291
 
144
- **Inactive Pill**
145
- - Background: transparent
146
- - Text: `rgba(30, 30, 30, 0.7)`
147
- - Radius: 50px
148
- - Padding: 8px 15px
149
- - Font: 14-16px / 700
150
- - Hover: text opacity transitions to `rgba(30, 30, 30, 1)`
151
- - Use: Unselected category pill — no shadow, no border
152
-
153
- **Hover Pressed**
154
- - Background: `#069030` (LINE Green Dark, inferred)
292
+ **Outline Medium**
293
+ - Type: button
294
+ - Background: `#ffffff`
295
+ - Text: `#000000`
296
+ - Border: `1px solid #efefef`
297
+ - Radius: 5px
298
+ - Height: 36px
299
+ - States: active, inactive, pressed, loading, off
300
+ - Use: secondary action or turned-off state
301
+
302
+ Official SVG assets expose a progression from approximately 29–30px small controls through 36px medium, 43px large, and 48px extra-large controls, using 5px radius at medium and 6px at large/extra-large.
303
+
304
+ ### Capsule Button
305
+
306
+ **Green**
307
+ - Type: button
308
+ - Background: `#06c755`
155
309
  - Text: `#ffffff`
156
- - Radius: 50px
157
- - Padding: 8px 15px
158
- - Use: Hover/pressed state for primary pill
310
+ - Radius: 9999px
311
+ - States: active, pressed
312
+ - Use: scroll to newly available content above or below the current position, then disappear
159
313
 
160
- ### Inputs
314
+ ### Text Input
161
315
 
162
- **Default**
316
+ **Underline Input**
317
+ - Type: input
163
318
  - Background: `#ffffff`
164
- - Text: `#1e1e1e`
165
- - Border: 1px solid `rgba(0, 0, 0, 0.06)`
166
- - Radius: 12px
167
- - Padding: 12px 16px
168
- - Font: 16px / 400 / SFPro
169
- - Focus: border `#07b53b`
170
- - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
319
+ - Text: `#000000`
320
+ - Border: bottom underline using Gray 500
321
+ - Focus: underline changes to `#06c755`
322
+ - Error: underline, cursor, and helper text change to `#ff334b`
323
+ - States: inactive, focused, typing, completed, error, disabled
324
+ - Use: text, password, or code entry with reset action and optional label/helper/counter
171
325
 
172
- ### Cards
326
+ ### Popup
173
327
 
174
- **Service / Feature Card**
328
+ **Messenger Modal**
329
+ - Type: dialog
175
330
  - Background: `#ffffff`
176
- - Text: `#1e1e1e`
177
- - Border: 1px solid `rgba(0, 0, 0, 0.06)` (whisper-light)
178
- - Radius: 12px
179
- - Padding: 20-24px
180
- - Shadow: `0 2px 8px rgba(0, 0, 0, 0.04)`
181
- - Use: Service / feature card with icon (32-40px) + title (16px / 700) + 1-line description (14px / 400 `rgba(30,30,30,0.7)`)
182
-
183
- **Image-Led Card (LINE STICKERS, WEBTOON tiles)**
184
- - Background: `#ffffff` (image fills 70-80%)
185
- - Radius: 12px (image inside `border-radius: 12px 12px 0 0`)
186
- - Padding: 0px (title strip uses `rgba(0, 0, 0, 0.6)` overlay + white text at bottom)
187
- - Use: Image-dominant tile
188
-
189
- **App Download Tile**
190
- - Background: `#ffffff`
191
- - Border: 1px solid `rgba(0, 0, 0, 0.06)`
192
- - Radius: 12px
193
- - Padding: 12px (56px square touch target)
194
- - Hover: background tints to very light green or gray
195
- - Use: App store badges (Apple, Google Play, Desktop)
331
+ - Text: `#000000`
332
+ - States: light, dark, one-button, two-button, three-button, affirmative-disabled
333
+ - Use: important information or a user decision with content area, action area, and scrim
196
334
 
197
- ### Badges
335
+ The action area must include a dismissal path. Affirmative actions sit right or above dismissive actions. Only one popup may be exposed at a time.
198
336
 
199
- **Default**
200
- - Background: `#07b53b`
201
- - Text: `#ffffff`
202
- - Radius: 50px
203
- - Padding: 4px 10px
204
- - Font: 12px / 700 / SFPro
205
- - Use: Inferred from §1-§2 baseline (no explicit DS variant in source) — pill-style badge matching LINE's pill control language.
337
+ ### Tabs
206
338
 
207
- ### Navigation
208
- - Sticky horizontal header: LINE logo left, page-section nav center, language switcher right
209
- - Active nav link gets a `2px` solid `#1e1e1e` underline accent
210
- - Nav items: `font-weight: 700`, `font-size: 16px`, color `#1e1e1e`
211
- - Background: `#ffffff` with subtle bottom border on scroll
339
+ **Content Grouping**
340
+ - Type: tab
341
+ - Background: transparent
342
+ - Text: `#000000`
343
+ - Active: selected indicator uses `#06c755`
344
+ - States: selected, unselected, pressed
345
+ - Use: text, box, or icon grouping at the top of dependent content
212
346
 
213
- ### Hero Sections
214
- - Full-bleed background image (typically lifestyle photography)
215
- - Centered overlay text (white or near-black depending on background contrast)
216
- - Hero CTA below the headline, often using app store badges (Apple, Google Play, Desktop)
347
+ Only one tab can be active. Tabs may scroll horizontally when all items do not fit; fixed tabs divide the width into two to four columns.
217
348
 
218
- ### Scroll Indicators
219
- - Centered "Scroll" label below the hero with a subtle vertical line animation
220
- - Reinforces the magazine-like vertical narrative
349
+ ### Notification Badge
221
350
 
222
- **Anti-pattern**
223
- - Don't apply the pill `50px` button radius to cards — that's reserved for interactive controls only.
351
+ **Update Badge**
352
+ - Type: badge
353
+ - Background: `#06c755`
354
+ - Text: `#ffffff`
355
+ - Radius: 9999px
356
+ - Use: N, dot, or number notification; red is reserved for GNB placement
224
357
 
225
- ## 5. Layout Principles
358
+ ---
226
359
 
227
- ### Spacing
228
- LINE marketing pages use **vertical sections of generous height** each service block (LINE NEWS, LINE MUSIC, etc.) takes a full viewport scroll. Section paddings are large (typically 80-120px vertical).
360
+ **Verified:** 2026-07-11 (eight-surface collector plus in-app visual verification)
361
+ **Tier 1 sources:** https://www.line.me/ko/ , https://designsystem.line.me/ , https://designsystem.line.me/LDSM/foundation/color/line-color-guide-ex-en/ , https://designsystem.line.me/LDSM/foundation/typography-ex-en/ , https://designsystem.line.me/LDSM/foundation/layout-ex-en/ , https://designsystem.line.me/LDSM/components/box-button-ex-en/ , https://designsystem.line.me/LDSM/components/capsule-button-ex-en/ , https://designsystem.line.me/LDSM/components/input-ex-en/ , https://designsystem.line.me/LDSM/components/popup-ex-en/ , https://designsystem.line.me/LDSM/components/tabs-ex-en/ , https://designsystem.line.me/LDSM/components/badge-ex-en/ , https://designsystem.line.me/about/design-principle-en , https://designsystem.line.me/about/line-voice-en , https://www.lycorp.co.jp/en/technology-design/design/
362
+ **Tier 2 sources:** https://getdesign.md/line returned “No designs found for line”; https://styles.refero.design/?q=LINE exposed no LINE-specific style result after top and bottom rendered-path inspection.
363
+ **Conflicts unresolved:** none
229
364
 
230
- | Use | Padding |
231
- |---|---|
232
- | Pill button | `8px 15px` |
233
- | Section vertical | `80–120px` |
234
- | Hero vertical | `100vh` (full viewport) |
365
+ LY Corporation's corporate Design Style is retained as organizational context only. Its corporate chrome and values are not used as LINE Messenger component tokens.
235
366
 
236
- ### Grid
237
- - Single-column hero with overlay text
238
- - Service blocks use full-width imagery + centered or left-aligned text overlay
239
- - Footer uses 3-4 column grid for links
367
+ ## 5. Layout Principles
240
368
 
241
- ### Density
242
- LINE is **low-density, high-impact**. Each viewport scroll reveals one service or one message. Don't pack multiple features into a single fold — let imagery dominate, let typography shout.
369
+ The official Messenger layout uses a common 16pt left and right screen margin and repeats 16pt inside cards. Its reference grid defines:
243
370
 
244
- ## 6. Depth & Elevation
371
+ | Grid | Column width | Gutter | Margin |
372
+ |---|---:|---:|---:|
373
+ | 2 columns | 167pt | 9pt | 16pt |
374
+ | 3 columns | 109pt | 8pt | 16pt |
375
+ | 4 columns | 82pt | 5pt | 16pt |
245
376
 
246
- LINE marketing chrome is **almost entirely flat**. Buttons have no shadow. Cards (when used) have no shadow. The visual depth comes from full-bleed photography behind the chrome.
377
+ When resolution increases, the guideline keeps the gutter and increases column count while maintaining proportional column widths. This is a product grid rule, not a claim about the wide marketing site's layout.
247
378
 
248
- ### Where shadow does appear
249
- - **Sticky header on scroll**: very subtle `0 1px 0 rgba(0, 0, 0, 0.1)` bottom border (or inset shadow)
250
- - **Modal / popup**: `0 4px 24px rgba(0, 0, 0, 0.15)` (estimated — LINE rarely uses modals on marketing surfaces)
251
- - **App download icon hover**: subtle lift via `box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)`
379
+ ## 6. Depth & Elevation
252
380
 
253
- ### Z-Index Hierarchy
254
- - Sticky header above scroll content
255
- - Modal/popup above all chrome
256
- - Toast/snackbar at the highest level
381
+ The captured public and documentation surfaces are predominantly flat and reported `box-shadow: none`. Component hierarchy is expressed through color, borders, scrims, fixed placement, and content order.
257
382
 
258
- ### Animation
259
- - Scroll-triggered fade-in for hero text and service blocks
260
- - Pill hover transition: `0.2s ease` color/bg transition
261
- - Image parallax: subtle vertical translate on scroll within hero
383
+ A popup is elevated semantically in front of app content using a scrim. Sticky buttons sit above scrolling content but below dialogs and sheets. No reusable shadow value was published or reliably extracted, so the canonical shadow token remains `none` rather than an invented modal shadow.
262
384
 
263
385
  ## 7. Do's and Don'ts
264
386
 
265
- - **DO** use weight 700 for everything visible — headlines, buttons, pills, nav, captions. LINE doesn't whisper.
266
- - **DON'T** use weight 300 or 400 for interactive text. Buttons that look quiet read as broken in LINE's voice.
267
- - **DO** use pill-shaped buttons (`border-radius: 50px`). This is LINE's tactile signature.
268
- - **DON'T** use 4px, 8px, or any "rectangular" radius for primary CTAs that breaks the brand language entirely.
269
- - **DO** reserve LINE Green (`#07b53b`) for the brand mark, the active selected state, and the primary "Download LINE" CTA. It's a finite signal.
270
- - **DON'T** use LINE Green for warnings, links, or general accents — it dilutes the brand association.
271
- - **DO** lead with the locale-aware font stack: `SFPro, Arial, Noto Sans JP, Noto Sans KR` — Japanese and Korean as first-class.
272
- - **DON'T** load a custom web font. LINE's audience reads on phones across many markets; system fonts are fastest and most native.
273
- - **DO** use oversized display headlines (40-70px) with high vertical spacing. LINE's marketing is editorial, not utilitarian.
274
- - **DON'T** pack a viewport with multiple competing CTAs. One scroll = one service block = one message.
275
- - **DO** dim inactive UI with alpha (`rgba(30, 30, 30, 0.7)`) instead of swapping to a different gray hex.
276
- - **DON'T** introduce shadow to flatten interactive controls. LINE chrome is overwhelmingly flat — depth comes from photography.
387
+ ### Do
388
+ - Use official `#06c755` LINE Green for primary Messenger actions.
389
+ - Use each OS's system font for product UI and LINESeed for verified marketing/display roles.
390
+ - Keep the primary task intuitive and visually dominant.
391
+ - Use one primary green or red box button per screen.
392
+ - Place affirmative popup actions on the right or above dismissive actions.
393
+ - Support multilingual labels and change horizontal controls to vertical when translation length requires it.
394
+ - Use green badges in content areas and red badges only in GNB placement.
395
+ - Preserve 16pt screen and card margins.
396
+
397
+ ### Don't
398
+ - Hard-code SF Pro as the universal cross-platform LINE font.
399
+ - Use the legacy `#07b53b` as current LINE Green.
400
+ - Place more than one popup on screen.
401
+ - Disable the dismissive popup action while waiting for an affirmative selection.
402
+ - Expose nested tabs or connect tabs directly to bottom navigation.
403
+ - Repeat label text as placeholder text without adding guidance.
404
+ - Use capsule buttons in the center of content; place them at the top or bottom scroll boundary.
405
+ - Merge LY corporate charcoal chrome into Messenger tokens.
277
406
 
278
407
  ## 8. Responsive Behavior
279
408
 
280
- ### Breakpoints (inferred from line.me layout shifts)
281
- | Width | Behavior |
282
- |---|---|
283
- | Desktop `>1024px` | Full nav visible, hero at 70px, services full-width with overlay text |
284
- | Tablet `768–1024px` | Nav condenses, hero shrinks to ~50px, service blocks stack |
285
- | Mobile `<768px` | Hamburger nav, hero scales to ~40px, service blocks become full-mobile views |
409
+ LINE's official guidance is resolution-adaptive rather than breakpoint-specific. Gutters remain stable while the number of grid columns increases, and screen/card margins remain 16pt in the documented mobile grid.
286
410
 
287
- ### Touch & Mobile
288
- - Pill buttons stay touch-friendly at all sizes (min `44px` tappable height per Apple HIG)
289
- - App download badges remain prominent on mobile (top of fold)
290
- - Image-heavy hero sections gracefully crop on portrait orientation
411
+ Multilingual behavior is part of responsiveness. English, Japanese, Korean, Chinese, and Thai labels can vary substantially in length. Buttons and popups should switch from horizontal to vertical arrangements when translations would truncate action labels. Tabs can become horizontally scrollable, but labels remain single-line and the selected tab must be fully revealed.
291
412
 
292
- ### Image Behavior
293
- - Hero photography: full-bleed, lazy-loaded, art-directed for desktop vs. mobile crops
294
- - Service icons: vector SVG (LINE NEWS, LINE MUSIC, LINE Pay icons all single-color or 2-tone)
295
- - Carousel (`swiper`-based): horizontal scroll with `44px` circular nav arrows in `#007aff`
413
+ No canonical CSS breakpoints were published in the inspected Messenger documents.
296
414
 
297
415
  ## 9. Agent Prompt Guide
298
416
 
299
- ### Quick Color Reference
300
- - LINE Green (brand / active CTA): `#07b53b` (`rgb(7, 181, 59)`)
301
- - Headline / active text: `#1e1e1e`
302
- - Inactive text: `rgba(30, 30, 30, 0.7)`
303
- - Body text: `#000000` (or `#1e1e1e`)
304
- - Page bg: `#ffffff`
305
- - Carousel theme: `#007aff` (iOS system blue)
306
-
307
- ### Example Component Prompts
308
- - "Create a LINE-style category pill: `border-radius: 50px`, `padding: 8px 15px`, `font-weight: 700`, `font-size: 14px`. Active state: bg `#07b53b`, white text. Inactive: transparent bg, `rgba(30, 30, 30, 0.7)` text. No shadow, no border. Smooth `0.2s ease` transition on color/bg."
309
- - "Build a LINE hero: full-viewport white bg with full-bleed lifestyle photography behind. Centered headline 'Life on LINE' at 70px weight 700 color `#1e1e1e` (or white if photo is dark). Subhead at 20px weight 400 below. Three app download icon tiles (Apple, Google, Desktop) — 56px squares, `12px` radius, thin border, no fill."
310
- - "Design a LINE service card: full-bleed product screenshot on left, oversized `40px` weight 700 service name (e.g., 'LINE NEWS') on right with brand accent color, supporting copy at 20px weight 400 below. No card chrome — section uses background color contrast for separation."
311
- - "Create a LINE sticky nav: white bg, 56-64px height, LINE logo wordmark left, horizontal pill nav center (active item gets `#1e1e1e` 2px underline), language switcher (globe icon + locale code) right. On scroll, add a subtle `0 1px 0 rgba(0, 0, 0, 0.1)` bottom shadow."
312
- - "Build a LINE 'Download Now' primary CTA: `border-radius: 50px`, bg `#07b53b`, white text, `font-weight: 700`, `padding: 16px 32px`, `font-size: 18px`. Hover: bg darkens to `#069030`. Active: scale `0.98`. Add LINE icon (the speech bubble) to the left of the text label."
313
-
314
- ### Iteration Guide
315
- 1. **Always default to weight 700** for visible interactive text. LINE never whispers.
316
- 2. **Pill radius (50px) is non-negotiable** for buttons and chips — it's the brand signature.
317
- 3. **LINE Green (`#07b53b`) is rare** use it for the brand mark, the single primary CTA, and the active "selected" state. Nothing else.
318
- 4. **Use the locale-aware font stack with Noto Sans JP and Noto Sans KR** in the fallback chain — never hardcode a single Latin-only font family.
319
- 5. **Body type is 20px** (not 14-16px). Editorial scale, not utility scale.
320
- 6. **Hero typography 40-70px** at weight 700. No middle tier between 20px and 40px — LINE's hierarchy jumps.
321
- 7. **No shadow on the modern button system** — depth comes from photography behind the chrome, not from elevation primitives.
322
- 8. **Use alpha (`rgba(30, 30, 30, 0.7)`) for inactive states**, not a different gray hex. Maintains color-family coherence.
323
- 9. **One viewport = one message** — let each service block breathe with full-screen vertical sections.
324
- 10. **Service-specific color accents** (LINE NEWS green, LINE MUSIC pink, etc.) belong inside product UIs — marketing chrome stays green-anchored.
325
-
326
- ---
417
+ ### Product UI tokens
418
+ - Primary: `#06c755`
419
+ - Android primary: `#4cc764`
420
+ - Foreground: `#000000`
421
+ - Secondary text: `#616161`
422
+ - Muted: `#949494`
423
+ - Danger: `#ff334b`
424
+ - Product font: platform `System`
425
+ - Screen and card margin: 16pt
426
+ - Standard body: 16pt/Regular
427
+ - Minimum recommended body: 12pt/Regular
428
+
429
+ ### Construction prompts
430
+ - Build a LINE Messenger medium primary box button with `#06c755` fill, white text, 36px height, and 5px radius. Include active, inactive, pressed, and loading states.”
431
+ - “Build a LINE underline input with a Gray 500 default underline, green focused underline, red error underline/helper text, reset action, optional label, and password visibility toggle.”
432
+ - “Build a LINE popup with content, optional area, mandatory dismissal path, action area, and scrim. Keep affirmative action right or above dismissive action and allow only one popup.”
433
+ - “Build a LINE tab row with selected, unselected, and pressed states. Use a green selected indicator and enable horizontal scroll when localized labels do not fit.”
434
+
435
+ Treat the public 70px LINESeed headline as marketing typography. Do not transfer it into Messenger product screens.
327
436
 
328
437
  ## 10. Voice & Tone
329
438
 
330
- LINE's marketing voice is warm, aspirational, and lifestyle-forward — *"Life on LINE"* is the whole stance. The product is framed not as utility but as **infrastructure for everyday moments**: keeping in touch with family, paying a friend back, reading news on the commute, sending a sticker to soften a pricing question. The voice is confident but never boastful, friendly but never childish, and locale-aware enough to speak differently to Tokyo, Taipei, Bangkok, and Jakarta audiences while keeping brand character consistent.
439
+ The official LINE Voice defines three qualities:
331
440
 
332
- | Context | Tone |
333
- |---|---|
334
- | Headlines | Short, declarative, aspirational. "Life on LINE." "Always at your side." No hedge words, no superlatives. |
335
- | CTAs | Imperative verb + noun ("Download LINE", "Start chatting"). Plain, not clever. |
336
- | Service descriptions | Lifestyle-framed ("Discover what's happening around you") — never feature-listed ("40 million news articles"). |
337
- | Error / system messages | Direct and blameless in each locale's polite register (Japanese keigo 丁寧語; Korean 존댓말). |
338
- | Onboarding | Friendly first-person plural ("Let's get started"), never technical jargon. |
339
- | Sticker store copy | Playful but disciplined — LINE stickers ARE the emoji, so external emoji flooding is unnecessary. |
340
- | Push notifications | Context-aware; news pushes, friend-message pushes, and payment pushes all differ in register. |
341
- | Business / LINE for Business surfaces | Slightly more formal, reads closer to a B2B tone — a deliberate shift the consumer voice does not make. |
441
+ 1. **Clear** remove unimportant information, prefer unambiguous language, and choose clarity over rigid consistency.
442
+ 2. **Conversational** — translate complex concepts into the user's language, use active sentences, and treat buttons as the user's voice.
443
+ 3. **Considerate** avoid assumptions, focus on user goals, anticipate problems, and emphasize what users can do.
342
444
 
343
- **Forbidden phrases.** "Revolutionary", "unparalleled", "next-generation", "world-class". In Japanese user-facing copy: avoid カタカナ-heavy jargon like イノベーティブ, ディスラプティブ. In Korean: avoid 혁신적인, 완벽한 as self-descriptors. Generic tech-bro emoji (🚀 💡) on product surfaces — LINE has its own sticker/sticon ecosystem; external emoji dilute it.
445
+ Official examples include “Keep it short,” “Buttons are the user's voice,” and “Use descriptive links instead of URLs paired with instructions.” These are current first-party writing rules, not inferred marketing tone.
344
446
 
345
447
  ## 11. Brand Narrative
346
448
 
347
- LINE was born **June 2011** in Japan, launched by **NHN Japan** (a subsidiary of Korean internet giant **Naver/NHN**), in direct response to the **March 11 2011 Tōhoku earthquake and tsunami**. **Naver/NHN co-founder and chairman Lee Hae-Jin** and a team of engineers were in Japan when the disaster struck phone lines and SMS networks were overwhelmed, leaving millions unable to reach family and friends. Lee tasked NHN Japan with building a messenger; **a beta version was testing within two months**, and the app shipped as **Line in June 2011** ([LINE — Wikipedia](https://en.wikipedia.org/wiki/Line_(software)), [Line Corporation — Wikipedia](https://en.wikipedia.org/wiki/Line_Corporation)). That founding moment still shapes the brand: being "always at your side" is not a marketing phrase but a literal design goal inherited from how the app was conceived. **April 1 2013** NHN Japan was renamed **LINE Corporation**. Over the following decade LINE grew from a crisis-era messenger into a **super-app that anchors daily life** across Japan, Taiwan, Thailand, and Indonesia: payments, news, music, manga, mobile commerce, business tools — all held together by a single chat metaphor. **December 2020**: LINE Corporation **delisted from NYSE + Tokyo Stock Exchange** ahead of an absorption-type merger; **March 1 2021** SoftBank Group affiliate **Z Holdings** (Yahoo! Japan operator) completed the merger with LINE under **A Holdings** (SoftBank + Naver, 65.3% Z Holdings). **October 1 2023**: LINE Corporation merged with **Z Holdings + Yahoo Japan** into **LY Corporation**, reflecting LINE's scale as Japan's de facto communication and lifestyle infrastructure ([LY Corp — corporate](https://www.lycorp.co.jp/en/), [KED Global — LY-Naver tech tie cut 2024](https://www.kedglobal.com/business-politics/newsView/ked202406190005)).
449
+ LINE's current first-party design documentation frames its mission as closing the distance between information, services, and people. The core product priority is conversation: the official principle “Chat comes first” states that sharing messages with people closest to the user is central to LINE's values.
450
+
451
+ The public marketing site describes LINE as more than a messenger and as infrastructure for everyday life. This supports the product's broad service surface without requiring unverified name-origin, founding, or ownership mythology. LY Corporation is the current publisher of these documents, but its separate corporate visual system is not treated as Messenger UI.
348
452
 
349
- What LINE refuses: the utility-minimalism of Western messengers (WhatsApp, iMessage), the engagement-bait aesthetics of most content super-apps, and the cold enterprise blue of Japanese incumbents. What it embraces: full-bleed lifestyle photography, oversized editorial typography, finite use of LINE Green, and a **sticker-first emotional vocabulary** that respects local cultural register in every market it serves.
453
+ That boundary is part of LINE's current design identity. The consumer brand can use LINESeed, lifestyle imagery, and expansive display copy, while Messenger relies on native type, compact roles, and predictable interaction patterns. Green and conversational clarity connect the surfaces; identical typography does not. Keeping those layers separate makes the reference useful for recreating a product flow without flattening the wider brand.
350
454
 
351
455
  ## 12. Principles
352
456
 
353
- 1. **"Always at your side" is a design constraint.** The app must work when connectivity is poor. Offline-first patterns, light payloads, minimal shell — interfaces that load in 1s on a train in rural Hokkaido or a subway in Bangkok.
354
- 2. **LINE Green is a finite signal.** `#07b53b` appears only for the brand mark, the primary "Download LINE" CTA, and the active-selected state. Used decoratively, it stops meaning anything.
355
- 3. **Weight 700 or weight 400. No middle.** Hierarchy jumps are aggressive by design — body 20px → service head 40px → hero 70px. Quiet in-between weights undermine the editorial voice.
356
- 4. **Pill radius (50px) is the tactile signature.** Buttons, chips, category filters — always pills on marketing surfaces. A 4px or 8px corner breaks the brand language entirely.
357
- 5. **Photography carries depth; chrome stays flat.** Shadows are absent from interactive controls. Hero imagery is the elevation system.
358
- 6. **Locale fidelity is first-class, not a fallback.** Japanese, Korean, Thai, Indonesian, Traditional Chinese rendering — every market's native font stack and cultural register matter equally to English.
359
- 7. **One viewport = one message.** Scrolling a LINE marketing page is chapters, not feature bullets. Each service gets its own 100vh block with imagery + one CTA.
360
- 8. **The sticker ecosystem is the emoji vocabulary.** External emoji (🚀 ✨ 💡) are banned on product surfaces; LINE has its own emotional primitives (Brown, Cony, Moon + the creator sticker economy).
457
+ The official LINE Design Principles are:
361
458
 
362
- ## 13. Personas
459
+ 1. **WE ≠ USERS.** Investigate what users actually need rather than assuming designer perspectives are universal.
460
+ *UI implication:* validate tasks and localization with real usage evidence.
461
+
462
+ 2. **Clear primary tasks.** Make primary tasks intuitive.
463
+ *UI implication:* one primary action should dominate the screen and remain easy to identify.
363
464
 
364
- *Personas below are fictional archetypes informed by publicly described LINE user segments across its four primary markets (JP / TW / TH / ID), not individual people.*
465
+ 3. **Chat comes first.** New features should reinforce conversation between people.
466
+ *UI implication:* avoid features or flows that obscure the messaging core.
365
467
 
366
- **Haruka Takeda, 34, Tokyo.** Product manager at a consumer electronics company. Uses LINE for everything family group chat with her parents in Osaka, splitting dinner bills with colleagues via LINE Pay, checking LINE NEWS on the Yamanote Line commute, sending Brown stickers to her 6-year-old daughter. Expects the app to Just Work in tunnels where signal drops. Does not use other messengers except for overseas work contacts on Slack.
468
+ 4. **Reliable design.** Pursue trustworthy, intuitive design for all ages and varied use cases.
469
+ *UI implication:* prioritize clear states, accessibility, and predictable actions.
367
470
 
368
- **Chih-Wei Chen, 27, Taipei.** Designer at a startup. Uses LINE primarily for Taiwanese friends and family; follows international accounts on Instagram for design inspiration. Watches LINE WEBTOON daily at lunch. Pays via LINE Pay at 7-Eleven and sees the QR flow as unremarkable — it's simply how paying works now. Appreciates that LINE respects Traditional Chinese font rendering in a way that apps designed primarily in San Francisco don't.
471
+ 5. **A cohesive experience.** Design seamless flows across related screens.
472
+ *UI implication:* components and terminology must remain consistent across journeys.
369
473
 
370
- **Somchai Boonmee, 41, Bangkok.** Small business owner (restaurant). Uses LINE Official Account to message his regulars about daily specials. Would be lost running his business without LINE OA as a CRM substitute. Uses LINE stickers to soften direct pricing questions — Thai business communication norms reward warmth, and a Cony sticker alongside an invoice changes the emotional register entirely.
474
+ 6. **Respect for legacy.** Phase beneficial changes carefully because users develop familiarity and unexpected workflows.
475
+ *UI implication:* migration and redesign need compatibility and staged rollout plans.
371
476
 
372
- **Ibu Dwi Lestari, 23, Jakarta.** University student. Opens LINE primarily for friend group chats and LINE TODAY (news feed). Uses LINE stickers more than typed emoji. Treats the app as her close-friends social layer while Instagram handles the broader social feed. Notices immediately when a brand uses English-only copy in Indonesia — it reads as lazy localization and she mentally downgrades the company.
477
+ ## 13. Personas
478
+
479
+ No current first-party LINE persona definitions were found in the inspected public design-system documents. Supported task contexts include starting and maintaining a chat, reading notifications, sharing content, recovering from a communication error, and using localized interfaces across operating systems. Do not convert the broad global audience into fictional demographic profiles inside the canonical reference. Persona research should be stored separately with market, language, task, device, and observed behavior.
373
480
 
374
481
  ## 14. States
375
482
 
376
- | State | Treatment |
483
+ | Component | Official states |
377
484
  |---|---|
378
- | **Empty (friend list, no contacts)** | White canvas. One near-black line of body copy (20px weight 400) in the local register explaining what "adding friends" does in LINE. One pill CTA "Add friends" at the bottom of the viewport. No illustration. |
379
- | **Empty (chat, no messages)** | White canvas with centered 14px `rgba(30,30,30,0.7)` hint in the local register ("Say hi with a sticker"). Sticker picker button is more visible than the text input. |
380
- | **Loading (chat messages)** | Message bubbles render as `#f5f5f5` blocks at their final width and height. 1.2s shimmer. Sender avatar as circular gray placeholder. Timestamp skeletons are narrower than final width — never wider. |
381
- | **Loading (sticker store)** | Sticker tiles render as 1:1 grayscale squares matching the final grid. Shimmer pass over the whole grid, not per tile — faster visual scan. |
382
- | **Error (message send failed)** | Red exclamation circle (`#e50019` variant) next to the pending bubble. Tap to retry inline. Never a modal — the failure stays attached to the message that failed, where it happened. |
383
- | **Error (service unavailable)** | Top banner in warm gray (`#f5f5f5`) with near-black text. One sentence + retry pill. Banner never blocks content. |
384
- | **Error (network)** | Inline banner at top of the chat view: "Not connected". LINE's core brand promise is connectivity; the banner is honest about when the promise is unmet and disappears without fanfare when it returns. |
385
- | **Success (payment sent via LINE Pay)** | Full-screen LINE Green (`#07b53b`) confirmation with white checkmark. Amount + recipient in 40px weight 700. Single "Done" pill CTA. This is the one place the brand green floods the screen — confidence about money, not delight about it. |
386
- | **Success (sticker purchased)** | Brief inline toast: "Stickers added". 3s auto-dismiss. No celebratory illustration — the sticker itself, appearing in the sticker picker immediately, is the reward. |
387
- | **Skeleton** | `#f5f5f5` blocks at exact final dimensions. 1.2s shimmer. Never on price/amount fields — those show the proper locale-formatted placeholder (`¥ -`, `NT$ -`, `฿ -`, `Rp -`). |
388
- | **Disabled** | Opacity on text and fill together. Disabled pill keeps its 50px radius — never flattens to a rectangle. |
389
- | **Read receipt (既読 / 읽음 / อ่านแล้ว)** | Tiny 11px `rgba(30,30,30,0.5)` label below the message bubble on the sender's side. Culturally significant in JP / KR / TW markets; never hide this. |
485
+ | Box button | Active, inactive, pressed, loading, on, off |
486
+ | Text input | Inactive, focused, typing, completed, error, disabled |
487
+ | Password input | Inactive, focused, typing visible, typing hidden |
488
+ | Code input | Initial focused, typing, submitted, error |
489
+ | Capsule button | Active, pressed, disappears after scroll completion |
490
+ | Tabs | Selected, unselected, pressed |
491
+ | Popup | Light, dark, one/two/three actions, affirmative disabled |
492
+ | Badge | N, dot, number; appears on update and dismisses by defined action |
493
+ | Destructive action | Solid red; may be affirmative depending on context |
494
+ | Disabled label | 40% treatment according to white or Gray 900 foreground rules |
495
+
496
+ The collector safely exercised five official documentation tab controls and recorded selected/tab-selected variants. It did not execute form submission, destructive actions, or popup actions.
390
497
 
391
498
  ## 15. Motion & Easing
392
499
 
393
- **Durations**:
394
-
395
- | Token | Value | Use |
396
- |---|---|---|
397
- | `motion-instant` | 0ms | Toggle commits, selection state |
398
- | `motion-fast` | 150ms | Pill hover/press feedback, sticker tap scale |
399
- | `motion-standard` | 250ms | Sheet rise, modal appear, chat bubble send |
400
- | `motion-slow` | 400ms | Full-screen success (payment confirmation) |
401
- | `motion-page` | 350ms | Navigation push/pop in app shell |
402
-
403
- **Easings**:
404
-
405
- | Token | Curve | Use |
406
- |---|---|---|
407
- | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Things arriving — sheets, toasts, pushed views |
408
- | `ease-exit` | `cubic-bezier(0.4, 0.0, 0.9, 1)` | Dismissals |
409
- | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
410
- | `ease-sticker` | `cubic-bezier(0.34, 1.3, 0.64, 1)` | **Reserved.** Sticker send animation only — soft overshoot, never on other elements. |
411
-
412
- **Signature motions.**
413
-
414
- 1. **Sticker send.** When a sticker is sent, it scales from `0.8` → `1.05` → `1.0` over `motion-standard` with `ease-sticker`. The tiny overshoot is the only spring in the product, and it matches the emotional register of sending a Brown or Cony to a friend.
415
- 2. **Pill state transition.** Category pills and buttons use `motion-fast` on `background-color` and `color` simultaneously. Never transition one without the other — creates a weird half-state where text and surface disagree.
416
- 3. **Hero scroll parallax.** On marketing pages, hero photography translates vertically at `0.5×` the scroll rate. Text stays fixed. This creates the "infrastructure of your life" feeling of content flowing past you rather than being navigated.
417
- 4. **Payment success.** The full-screen green confirmation (§14) fades in at `motion-slow` with `ease-enter`. The checkmark draws as a path over 500ms. No spring — payment is about confidence, not delight.
418
- 5. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`, and the sticker overshoot flattens to a simple scale-to-1.0 appearance. The app stays fully functional; there is no delightful motion at the cost of accessibility.
419
-
420
- <!--
421
- OmD v0.1 Sources — Philosophy Layer (sections 10–15)
422
-
423
- Direct verification via WebFetch (2026-04-19):
424
- - https://line.me/en/ — confirms marketing taglines "LINE—always at your side"
425
- and "More than just a messenger app. LINE is new level of communication, and
426
- the very infrastructure of your life". Also confirms the multi-locale footprint
427
- through published language options (EN / JP / KR / TW / TH / ID).
428
- - https://engineering.linecorp.com/en — confirms LINE Corporation rebranded to
429
- LY Corporation on 2023-10-01 (footer: "© LY Corporation"), and publishes
430
- engineering culture values: "Take Ownership", "Be Open", "Trust & Respect".
431
- - https://designsystem.line.me/ — public entry point for LINE Design System
432
- confirmed to exist. Detailed sub-pages (e.g., LDSM at designsystem.line.me/LDSM/)
433
- are access-restricted (returned HTTP 403), so no further specific token values
434
- could be verified directly.
435
-
436
- Base DESIGN.md (sections 1–9) is the source for all token-level claims including
437
- LINE Green #07b53b, pill radius 50px, weight-700 dominance on interactive text,
438
- the SFPro / Arial / Noto Sans JP / Noto Sans KR font stack, and the 20 / 40 / 70
439
- size scale.
440
-
441
- Not independently verified via WebFetch — widely documented public facts used:
442
- - LINE launched in 2011 in Japan (originally by NHN Japan Corporation), built
443
- in response to the 2011 Tōhoku earthquake when phone networks were disrupted.
444
- - The LINE Stickers ecosystem (Brown, Cony, Moon plus a creator sticker economy)
445
- is a culturally significant brand primitive across LINE's primary markets.
446
- - LINE's primary-market footprint (Japan, Taiwan, Thailand, Indonesia) is
447
- reported consistently in tech press and in LY Corporation's own communications.
448
-
449
- Personas (§13) are fictional archetypes informed by publicly described LINE
450
- user segments across the four primary markets. Names are illustrative and do
451
- not refer to real people.
452
-
453
- Interpretive claims (e.g., "the 2011 earthquake origin shaped the 'always at
454
- your side' brand positioning", or the framing of LINE Green as a "finite
455
- signal") are editorial readings that connect public facts; they are not
456
- directly sourced LINE statements.
457
- -->
458
-
459
- ---
500
+ The inspected documents define interaction outcomes but do not publish canonical duration or easing tokens.
460
501
 
461
- **Verified:** 2026-05-08 (omd:migrate run 33 Apple-tier)
462
- **Tier 1 sources:** line.me/en (consumer LINE Green `#07b53b` 50px full-pill / 8×15 / 36px / 13px·**700** BOLD + inactive `rgba(30,30,30,0.7)` ghost); lycorp.co.jp/en (corporate **LY Charcoal `#2e2e2e`** 4px / 56px / 16px·400 + asymmetric block links + 50% circular carousel chrome).
463
- **Tier 2 sources:** styles.refero.design / getdesign.md no record.
464
- **Tier 2 (Philosophy/founders):** Wikipedia (LINE software, LINE Corporation, Naver), KED Global (LY-Naver tech-tie split 2024-06), LY Corporation corporate, KEIA.
465
- **Style ref:** `line` (self).
466
- **Conflicts unresolved:** none. **Earlier mistake reverted:** prior footer captured only consumer surface; LY Corporate is a separate Charcoal `#2e2e2e` 4px / 16px·400 enterprise track that should be documented alongside.
502
+ - Capsule buttons scroll to new content and disappear after the destination is reached.
503
+ - Tabs navigate through press or content swipe, subject to documented gesture-priority rules.
504
+ - Box buttons may show loading progress for save/download-like actions.
505
+ - Code inputs submit automatically after the final digit.
506
+ - Popup content can scroll while its button area remains fixed.
467
507
 
508
+ `[FILL IN: capture computed transition-duration, transition-timing-function, animation-duration, and reduced-motion behavior before adding motion tokens.]`