oh-my-design-cli 0.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 (317) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +145 -0
  3. package/README.ko.md +245 -0
  4. package/README.md +245 -0
  5. package/README.zh-TW.md +145 -0
  6. package/data/reference-tags.md +104 -0
  7. package/data/synonyms.json +79 -0
  8. package/data/vocabulary.json +516 -0
  9. package/dist/bin/oh-my-design.js +858 -0
  10. package/dist/bin/oh-my-design.js.map +1 -0
  11. package/dist/chunk-6YNSV3VY.js +35 -0
  12. package/dist/chunk-6YNSV3VY.js.map +1 -0
  13. package/dist/chunk-MHFYGZSO.js +337 -0
  14. package/dist/chunk-MHFYGZSO.js.map +1 -0
  15. package/dist/chunk-N2JG6N4Q.js +264 -0
  16. package/dist/chunk-N2JG6N4Q.js.map +1 -0
  17. package/dist/chunk-OOQQEUGX.js +46 -0
  18. package/dist/chunk-OOQQEUGX.js.map +1 -0
  19. package/dist/chunk-OR5DHENY.js +250 -0
  20. package/dist/chunk-OR5DHENY.js.map +1 -0
  21. package/dist/customizer-CM76752R.js +8 -0
  22. package/dist/customizer-CM76752R.js.map +1 -0
  23. package/dist/index.d.ts +559 -0
  24. package/dist/index.js +3113 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/init-STACB7E5.js +635 -0
  27. package/dist/init-STACB7E5.js.map +1 -0
  28. package/dist/install-skills-CM6VXFZJ.js +152 -0
  29. package/dist/install-skills-CM6VXFZJ.js.map +1 -0
  30. package/dist/learn-33LHKEJA.js +140 -0
  31. package/dist/learn-33LHKEJA.js.map +1 -0
  32. package/dist/reference-YMNAOXJQ.js +47 -0
  33. package/dist/reference-YMNAOXJQ.js.map +1 -0
  34. package/dist/reference-parser-TM3CJPNE.js +10 -0
  35. package/dist/reference-parser-TM3CJPNE.js.map +1 -0
  36. package/dist/remember-UAFA5B2O.js +78 -0
  37. package/dist/remember-UAFA5B2O.js.map +1 -0
  38. package/dist/sync-P7X4S2DK.js +404 -0
  39. package/dist/sync-P7X4S2DK.js.map +1 -0
  40. package/dist/templates/templates/design-md.hbs +44 -0
  41. package/dist/templates/templates/partials/agent-prompt-guide.hbs +28 -0
  42. package/dist/templates/templates/partials/color-palette.hbs +49 -0
  43. package/dist/templates/templates/partials/component-stylings.hbs +28 -0
  44. package/dist/templates/templates/partials/depth-elevation.hbs +31 -0
  45. package/dist/templates/templates/partials/dos-donts.hbs +13 -0
  46. package/dist/templates/templates/partials/layout.hbs +30 -0
  47. package/dist/templates/templates/partials/responsive.hbs +25 -0
  48. package/dist/templates/templates/partials/shadcn-tokens.hbs +64 -0
  49. package/dist/templates/templates/partials/typography.hbs +43 -0
  50. package/dist/templates/templates/partials/visual-theme.hbs +26 -0
  51. package/package.json +68 -0
  52. package/references/Claude-Design-Sys-Prompt.txt +421 -0
  53. package/references/airbnb/DESIGN.md +427 -0
  54. package/references/airbnb/README.md +23 -0
  55. package/references/airbnb/preview-dark.html +234 -0
  56. package/references/airbnb/preview.html +233 -0
  57. package/references/airtable/DESIGN.md +107 -0
  58. package/references/airtable/README.md +23 -0
  59. package/references/airtable/preview-dark.html +165 -0
  60. package/references/airtable/preview.html +164 -0
  61. package/references/apple/DESIGN.md +496 -0
  62. package/references/apple/README.md +24 -0
  63. package/references/apple/preview-dark.html +420 -0
  64. package/references/apple/preview.html +414 -0
  65. package/references/baemin/DESIGN.md +260 -0
  66. package/references/baemin/README.md +19 -0
  67. package/references/bmw/DESIGN.md +180 -0
  68. package/references/bmw/README.md +23 -0
  69. package/references/bmw/preview-dark.html +211 -0
  70. package/references/bmw/preview.html +210 -0
  71. package/references/cal/DESIGN.md +259 -0
  72. package/references/cal/README.md +23 -0
  73. package/references/cal/preview-dark.html +449 -0
  74. package/references/cal/preview.html +575 -0
  75. package/references/claude/DESIGN.md +455 -0
  76. package/references/claude/README.md +24 -0
  77. package/references/claude/preview-dark.html +803 -0
  78. package/references/claude/preview.html +826 -0
  79. package/references/clay/DESIGN.md +304 -0
  80. package/references/clay/README.md +23 -0
  81. package/references/clay/preview-dark.html +316 -0
  82. package/references/clay/preview.html +315 -0
  83. package/references/clickhouse/DESIGN.md +281 -0
  84. package/references/clickhouse/README.md +24 -0
  85. package/references/clickhouse/preview-dark.html +834 -0
  86. package/references/clickhouse/preview.html +786 -0
  87. package/references/cohere/DESIGN.md +266 -0
  88. package/references/cohere/README.md +24 -0
  89. package/references/cohere/preview-dark.html +803 -0
  90. package/references/cohere/preview.html +807 -0
  91. package/references/coinbase/DESIGN.md +129 -0
  92. package/references/coinbase/README.md +23 -0
  93. package/references/coinbase/preview-dark.html +164 -0
  94. package/references/coinbase/preview.html +163 -0
  95. package/references/composio/DESIGN.md +307 -0
  96. package/references/composio/README.md +24 -0
  97. package/references/composio/preview-dark.html +958 -0
  98. package/references/composio/preview.html +933 -0
  99. package/references/cursor/DESIGN.md +322 -0
  100. package/references/cursor/README.md +24 -0
  101. package/references/cursor/preview-dark.html +393 -0
  102. package/references/cursor/preview.html +383 -0
  103. package/references/dcard/DESIGN.md +302 -0
  104. package/references/dcard/README.md +12 -0
  105. package/references/dcard/_research/forum-1440px.png +0 -0
  106. package/references/dcard/_research.md +77 -0
  107. package/references/elevenlabs/DESIGN.md +265 -0
  108. package/references/elevenlabs/README.md +23 -0
  109. package/references/elevenlabs/preview-dark.html +252 -0
  110. package/references/elevenlabs/preview.html +251 -0
  111. package/references/expo/DESIGN.md +281 -0
  112. package/references/expo/README.md +24 -0
  113. package/references/expo/preview-dark.html +533 -0
  114. package/references/expo/preview.html +533 -0
  115. package/references/ferrari/DESIGN.md +314 -0
  116. package/references/ferrari/README.md +23 -0
  117. package/references/ferrari/preview-dark.html +1162 -0
  118. package/references/ferrari/preview.html +1122 -0
  119. package/references/figma/DESIGN.md +399 -0
  120. package/references/figma/README.md +24 -0
  121. package/references/figma/preview-dark.html +822 -0
  122. package/references/figma/preview.html +832 -0
  123. package/references/framer/DESIGN.md +246 -0
  124. package/references/framer/README.md +23 -0
  125. package/references/framer/preview-dark.html +902 -0
  126. package/references/framer/preview.html +883 -0
  127. package/references/freee/DESIGN.md +308 -0
  128. package/references/freee/README.md +12 -0
  129. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  130. package/references/freee/_research.md +77 -0
  131. package/references/hashicorp/DESIGN.md +278 -0
  132. package/references/hashicorp/README.md +24 -0
  133. package/references/hashicorp/preview-dark.html +1202 -0
  134. package/references/hashicorp/preview.html +1193 -0
  135. package/references/ibm/DESIGN.md +332 -0
  136. package/references/ibm/README.md +24 -0
  137. package/references/ibm/preview-dark.html +443 -0
  138. package/references/ibm/preview.html +428 -0
  139. package/references/intercom/DESIGN.md +146 -0
  140. package/references/intercom/README.md +23 -0
  141. package/references/intercom/preview-dark.html +185 -0
  142. package/references/intercom/preview.html +184 -0
  143. package/references/kakao/DESIGN.md +261 -0
  144. package/references/kakao/README.md +18 -0
  145. package/references/karrot/DESIGN.md +252 -0
  146. package/references/karrot/README.md +18 -0
  147. package/references/kraken/DESIGN.md +146 -0
  148. package/references/kraken/README.md +23 -0
  149. package/references/kraken/preview-dark.html +169 -0
  150. package/references/kraken/preview.html +168 -0
  151. package/references/lamborghini/DESIGN.md +288 -0
  152. package/references/lamborghini/README.md +23 -0
  153. package/references/lamborghini/preview-dark.html +303 -0
  154. package/references/lamborghini/preview.html +381 -0
  155. package/references/line/DESIGN.md +375 -0
  156. package/references/line/README.md +12 -0
  157. package/references/line/_research/home-1440px.png +0 -0
  158. package/references/line/_research.md +65 -0
  159. package/references/linear.app/DESIGN.md +526 -0
  160. package/references/linear.app/README.md +24 -0
  161. package/references/linear.app/preview-dark.html +383 -0
  162. package/references/linear.app/preview.html +373 -0
  163. package/references/lovable/DESIGN.md +298 -0
  164. package/references/lovable/README.md +24 -0
  165. package/references/lovable/preview-dark.html +349 -0
  166. package/references/lovable/preview.html +348 -0
  167. package/references/mercari/DESIGN.md +294 -0
  168. package/references/mercari/README.md +12 -0
  169. package/references/mercari/_research/home-1440px.png +0 -0
  170. package/references/mercari/_research.md +77 -0
  171. package/references/minimax/DESIGN.md +257 -0
  172. package/references/minimax/README.md +24 -0
  173. package/references/minimax/preview-dark.html +1262 -0
  174. package/references/minimax/preview.html +1248 -0
  175. package/references/mintlify/DESIGN.md +341 -0
  176. package/references/mintlify/README.md +24 -0
  177. package/references/mintlify/preview-dark.html +409 -0
  178. package/references/mintlify/preview.html +398 -0
  179. package/references/miro/DESIGN.md +108 -0
  180. package/references/miro/README.md +23 -0
  181. package/references/miro/preview-dark.html +174 -0
  182. package/references/miro/preview.html +173 -0
  183. package/references/mistral.ai/DESIGN.md +261 -0
  184. package/references/mistral.ai/README.md +24 -0
  185. package/references/mistral.ai/preview-dark.html +806 -0
  186. package/references/mistral.ai/preview.html +805 -0
  187. package/references/mongodb/DESIGN.md +266 -0
  188. package/references/mongodb/README.md +23 -0
  189. package/references/mongodb/preview-dark.html +260 -0
  190. package/references/mongodb/preview.html +259 -0
  191. package/references/notion/DESIGN.md +492 -0
  192. package/references/notion/README.md +24 -0
  193. package/references/notion/preview-dark.html +372 -0
  194. package/references/notion/preview.html +364 -0
  195. package/references/nvidia/DESIGN.md +308 -0
  196. package/references/nvidia/README.md +24 -0
  197. package/references/nvidia/preview-dark.html +374 -0
  198. package/references/nvidia/preview.html +366 -0
  199. package/references/ollama/DESIGN.md +267 -0
  200. package/references/ollama/README.md +24 -0
  201. package/references/ollama/preview-dark.html +678 -0
  202. package/references/ollama/preview.html +678 -0
  203. package/references/opencode.ai/DESIGN.md +295 -0
  204. package/references/opencode.ai/README.md +24 -0
  205. package/references/opencode.ai/preview-dark.html +366 -0
  206. package/references/opencode.ai/preview.html +357 -0
  207. package/references/pinkoi/DESIGN.md +309 -0
  208. package/references/pinkoi/README.md +12 -0
  209. package/references/pinkoi/_research/browse-1440px.png +0 -0
  210. package/references/pinkoi/_research.md +115 -0
  211. package/references/pinterest/DESIGN.md +230 -0
  212. package/references/pinterest/README.md +23 -0
  213. package/references/pinterest/preview-dark.html +233 -0
  214. package/references/pinterest/preview.html +232 -0
  215. package/references/posthog/DESIGN.md +256 -0
  216. package/references/posthog/README.md +23 -0
  217. package/references/posthog/preview-dark.html +699 -0
  218. package/references/posthog/preview.html +749 -0
  219. package/references/raycast/DESIGN.md +268 -0
  220. package/references/raycast/README.md +23 -0
  221. package/references/raycast/preview-dark.html +606 -0
  222. package/references/raycast/preview.html +688 -0
  223. package/references/renault/DESIGN.md +311 -0
  224. package/references/renault/README.md +23 -0
  225. package/references/renault/preview-dark.html +406 -0
  226. package/references/renault/preview.html +606 -0
  227. package/references/replicate/DESIGN.md +261 -0
  228. package/references/replicate/README.md +24 -0
  229. package/references/replicate/preview-dark.html +828 -0
  230. package/references/replicate/preview.html +831 -0
  231. package/references/resend/DESIGN.md +303 -0
  232. package/references/resend/README.md +23 -0
  233. package/references/resend/preview-dark.html +355 -0
  234. package/references/resend/preview.html +354 -0
  235. package/references/revolut/DESIGN.md +185 -0
  236. package/references/revolut/README.md +23 -0
  237. package/references/revolut/preview-dark.html +234 -0
  238. package/references/revolut/preview.html +233 -0
  239. package/references/runwayml/DESIGN.md +244 -0
  240. package/references/runwayml/README.md +24 -0
  241. package/references/runwayml/preview-dark.html +664 -0
  242. package/references/runwayml/preview.html +665 -0
  243. package/references/sanity/DESIGN.md +357 -0
  244. package/references/sanity/README.md +24 -0
  245. package/references/sanity/preview-dark.html +990 -0
  246. package/references/sanity/preview.html +1135 -0
  247. package/references/sentry/DESIGN.md +262 -0
  248. package/references/sentry/README.md +24 -0
  249. package/references/sentry/preview-dark.html +626 -0
  250. package/references/sentry/preview.html +951 -0
  251. package/references/spacex/DESIGN.md +205 -0
  252. package/references/spacex/README.md +23 -0
  253. package/references/spacex/preview-dark.html +221 -0
  254. package/references/spacex/preview.html +220 -0
  255. package/references/spotify/DESIGN.md +246 -0
  256. package/references/spotify/README.md +23 -0
  257. package/references/spotify/preview-dark.html +231 -0
  258. package/references/spotify/preview.html +230 -0
  259. package/references/stripe/DESIGN.md +473 -0
  260. package/references/stripe/README.md +24 -0
  261. package/references/stripe/preview-dark.html +428 -0
  262. package/references/stripe/preview.html +419 -0
  263. package/references/supabase/DESIGN.md +255 -0
  264. package/references/supabase/README.md +24 -0
  265. package/references/supabase/preview-dark.html +977 -0
  266. package/references/supabase/preview.html +955 -0
  267. package/references/superhuman/DESIGN.md +252 -0
  268. package/references/superhuman/README.md +23 -0
  269. package/references/superhuman/preview-dark.html +973 -0
  270. package/references/superhuman/preview.html +951 -0
  271. package/references/tesla/DESIGN.md +286 -0
  272. package/references/tesla/README.md +23 -0
  273. package/references/tesla/preview-dark.html +947 -0
  274. package/references/tesla/preview.html +925 -0
  275. package/references/together.ai/DESIGN.md +263 -0
  276. package/references/together.ai/README.md +24 -0
  277. package/references/together.ai/preview-dark.html +892 -0
  278. package/references/together.ai/preview.html +897 -0
  279. package/references/toss/DESIGN.md +387 -0
  280. package/references/toss/README.md +19 -0
  281. package/references/uber/DESIGN.md +295 -0
  282. package/references/uber/README.md +24 -0
  283. package/references/uber/preview-dark.html +1120 -0
  284. package/references/uber/preview.html +1119 -0
  285. package/references/vercel/DESIGN.md +456 -0
  286. package/references/vercel/README.md +24 -0
  287. package/references/vercel/preview-dark.html +368 -0
  288. package/references/vercel/preview.html +367 -0
  289. package/references/voltagent/DESIGN.md +323 -0
  290. package/references/voltagent/README.md +24 -0
  291. package/references/voltagent/preview-dark.html +487 -0
  292. package/references/voltagent/preview.html +766 -0
  293. package/references/warp/DESIGN.md +253 -0
  294. package/references/warp/README.md +23 -0
  295. package/references/warp/preview-dark.html +500 -0
  296. package/references/warp/preview.html +533 -0
  297. package/references/webflow/DESIGN.md +109 -0
  298. package/references/webflow/README.md +23 -0
  299. package/references/webflow/preview-dark.html +147 -0
  300. package/references/webflow/preview.html +146 -0
  301. package/references/wise/DESIGN.md +173 -0
  302. package/references/wise/README.md +23 -0
  303. package/references/wise/preview-dark.html +230 -0
  304. package/references/wise/preview.html +229 -0
  305. package/references/x.ai/DESIGN.md +267 -0
  306. package/references/x.ai/README.md +24 -0
  307. package/references/x.ai/preview-dark.html +356 -0
  308. package/references/x.ai/preview.html +407 -0
  309. package/references/zapier/DESIGN.md +328 -0
  310. package/references/zapier/README.md +24 -0
  311. package/references/zapier/preview-dark.html +380 -0
  312. package/references/zapier/preview.html +372 -0
  313. package/skills/omd-apply/SKILL.md +85 -0
  314. package/skills/omd-init/SKILL.md +167 -0
  315. package/skills/omd-learn/SKILL.md +81 -0
  316. package/skills/omd-remember/SKILL.md +44 -0
  317. package/skills/omd-sync/SKILL.md +38 -0
@@ -0,0 +1,375 @@
1
+ ---
2
+ omd: 0.1
3
+ brand: LINE
4
+ ---
5
+
6
+ # Design System Inspiration of LINE
7
+
8
+ ## 1. Visual Theme & Atmosphere
9
+
10
+ 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.
11
+
12
+ 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.
13
+
14
+ 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.
15
+
16
+ **Key Characteristics:**
17
+ - LINE Green (`#07b53b`) reserved for the brand mark and primary "selected" / active states
18
+ - Pill-shaped controls: `border-radius: 50px` is the workhorse on buttons, category chips, and navigation
19
+ - Weight 700 dominant on headlines (H2 70px, H3 40px), buttons, and category labels
20
+ - Editorial-scale hero typography — display headlines 40-70px, body 20px (much larger than commerce sites)
21
+ - Locale-aware font stack: `SFPro, Arial, Noto Sans JP, Noto Sans KR` — Japanese and Korean as first-class fallbacks
22
+ - Dimmed inactive states via alpha — `rgba(30, 30, 30, 0.7)` for unselected pills (vs. solid `#1e1e1e` active)
23
+ - White surface background with bright green accents — never dark mode or muted palettes for the marketing chrome
24
+ - Subtle grid: oversized hero images with vertical scroll narrative (services listed below the hero)
25
+ - "Life on LINE" voice: aspirational, lifestyle-led, not utility-functional
26
+
27
+ ## 2. Color Palette & Roles
28
+
29
+ ### Brand
30
+ - **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)`.
31
+ - **LINE Green Dark** (`#069030`): Inferred hover/pressed state — darker variant for press feedback (estimated, not officially confirmed).
32
+ - **Pure White** (`#ffffff`): Default page surface, pill button text on green bg.
33
+
34
+ ### Text & Foreground
35
+ - **Near Black** (`#1e1e1e`): Primary headline color, active pill label, body emphasis.
36
+ - **Pure Black** (`#000000`): Body text default.
37
+ - **Inactive Label** (`rgba(30, 30, 30, 0.7)`): Unselected pill labels, secondary text.
38
+ - **Tertiary** (`rgba(30, 30, 30, 0.4)`): Hint text, muted captions (estimated).
39
+
40
+ ### Surface
41
+ - **Page White** (`#ffffff`): Default background. LINE marketing rarely uses gray surfaces — content sits on white with rich imagery providing visual interest.
42
+ - **Image Overlay**: Hero sections layer text on full-bleed photography; no card chrome required.
43
+
44
+ ### Sectional / Service Brand Accents
45
+ 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.
46
+
47
+ ### Swiper Defaults (carousel UI)
48
+ - **Swiper Theme** (`#007aff`): iOS system blue used for carousel navigation arrows (`--swiper-theme-color`).
49
+ - **Swiper Nav Size**: `44px` (`--swiper-navigation-size`) — touch-friendly circular controls.
50
+
51
+ ## 3. Typography Rules
52
+
53
+ ### Font Stack
54
+ ```
55
+ SFPro, Arial, "Noto Sans JP", "Noto Sans KR", sans-serif
56
+ ```
57
+
58
+ 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.
59
+
60
+ ### Weights
61
+ - **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.
62
+ - **400 (regular)**: Reserved for long-form body copy and supporting captions.
63
+
64
+ ### Size Scale (verified live on `line.me`)
65
+ | Use | Size | Weight |
66
+ |---|---|---|
67
+ | Body default | `20px` | 400 |
68
+ | Hero subtitle | `20px` | 400-700 |
69
+ | H1 (page title) | `20px` | 700 |
70
+ | H3 (service names — LINE NEWS, LINE MUSIC) | `40px` | 700 |
71
+ | H2 (hero — "Life on LINE") | `70px` | 700 |
72
+
73
+ 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.
74
+
75
+ ### Conventions
76
+ - **No letter-spacing tweaks** — system defaults trusted.
77
+ - **`font-style: italic` not used** in marketing chrome.
78
+ - **No tabular numerals** — body type flows naturally.
79
+ - **All-caps reserved** for the LINE wordmark itself.
80
+
81
+ ## 4. Component Stylings
82
+
83
+ ### Buttons / Pills (`.productCategory`, generic CTAs)
84
+ The signature LINE control. Verified live on `line.me`:
85
+
86
+ - `border-radius: 50px` — fully pill-shaped (not 4px or 8px — always 50px)
87
+ - `padding: 8px 15px` for compact category pills
88
+ - `font-weight: 700`, default `font-size: 14-16px`
89
+ - **Active state**: bg `#07b53b` (LINE Green), text `#ffffff`
90
+ - **Inactive state**: bg `transparent`, text `rgba(30, 30, 30, 0.7)`
91
+ - **Hover**: text gains opacity (transitions to `rgba(30, 30, 30, 1)`)
92
+ - No shadow, no border on the inactive state
93
+
94
+ ### Hero Sections
95
+ - Full-bleed background image (typically lifestyle photography)
96
+ - Centered overlay text (white or near-black depending on background contrast)
97
+ - Hero CTA below the headline, often using app store badges (Apple, Google Play, Desktop)
98
+
99
+ ### Navigation
100
+ - Sticky horizontal header: LINE logo left, page-section nav center, language switcher right
101
+ - Active nav link gets a `2px` solid `#1e1e1e` underline accent
102
+ - Nav items: `font-weight: 700`, `font-size: 16px`, color `#1e1e1e`
103
+ - Background: `#ffffff` with subtle bottom border on scroll
104
+
105
+ ### App Download CTAs
106
+ Iconified app store badges (App Store, Google Play, Desktop) instead of textual buttons:
107
+ - Square white tiles with thin `1px` border, `~12px` radius
108
+ - 56px square (touch-friendly), inline icon for the platform
109
+ - Hover: background tints to a very light green or gray
110
+
111
+ ### Scroll Indicators
112
+ - Centered "Scroll" label below the hero with a subtle vertical line animation
113
+ - Reinforces the magazine-like vertical narrative
114
+
115
+ ### Cards
116
+
117
+ LINE marketing chrome rarely uses traditional card containers — content sits directly on photographic backgrounds. When cards do appear (LINE STORE, LINE SHOPPING, in-product UI), they follow a minimal pattern:
118
+
119
+ **Service / Feature Card**
120
+ - Background: `#ffffff` on the gray content tier, OR full-bleed image with overlay text
121
+ - Radius: `12px` (medium-rounded — softer than the marketing pill buttons would suggest)
122
+ - Padding: `20–24px`
123
+ - Border: `1px solid rgba(0, 0, 0, 0.06)` — whisper-light
124
+ - Shadow: `0 2px 8px rgba(0, 0, 0, 0.04)` for subtle elevation only
125
+ - Service icon (top-left, 32–40px) + title (16px weight 700 `#1e1e1e`) + 1-line description (14px weight 400 `rgba(30,30,30,0.7)`)
126
+
127
+ **Image-Led Card (LINE STICKERS, LINE WEBTOON tiles)**
128
+ - Image fills 70-80% of the card
129
+ - Title strip at bottom with `rgba(0, 0, 0, 0.6)` overlay + white text
130
+ - `12px` radius on the outer container, image inside `border-radius: 12px 12px 0 0`
131
+
132
+ **App Download Tile**
133
+ - Square tile, 56px touch target
134
+ - White bg, `1px` border, `~12px` radius
135
+ - Platform icon (Apple / Google Play / Desktop) centered
136
+
137
+ **Anti-pattern**
138
+ - Don't apply the pill `50px` button radius to cards — that's reserved for interactive controls only.
139
+
140
+ ## 5. Layout Principles
141
+
142
+ ### Spacing
143
+ 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).
144
+
145
+ | Use | Padding |
146
+ |---|---|
147
+ | Pill button | `8px 15px` |
148
+ | Section vertical | `80–120px` |
149
+ | Hero vertical | `100vh` (full viewport) |
150
+
151
+ ### Grid
152
+ - Single-column hero with overlay text
153
+ - Service blocks use full-width imagery + centered or left-aligned text overlay
154
+ - Footer uses 3-4 column grid for links
155
+
156
+ ### Density
157
+ 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.
158
+
159
+ ## 6. Depth & Elevation
160
+
161
+ 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.
162
+
163
+ ### Where shadow does appear
164
+ - **Sticky header on scroll**: very subtle `0 1px 0 rgba(0, 0, 0, 0.1)` bottom border (or inset shadow)
165
+ - **Modal / popup**: `0 4px 24px rgba(0, 0, 0, 0.15)` (estimated — LINE rarely uses modals on marketing surfaces)
166
+ - **App download icon hover**: subtle lift via `box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)`
167
+
168
+ ### Z-Index Hierarchy
169
+ - Sticky header above scroll content
170
+ - Modal/popup above all chrome
171
+ - Toast/snackbar at the highest level
172
+
173
+ ### Animation
174
+ - Scroll-triggered fade-in for hero text and service blocks
175
+ - Pill hover transition: `0.2s ease` color/bg transition
176
+ - Image parallax: subtle vertical translate on scroll within hero
177
+
178
+ ## 7. Do's and Don'ts
179
+
180
+ - **DO** use weight 700 for everything visible — headlines, buttons, pills, nav, captions. LINE doesn't whisper.
181
+ - **DON'T** use weight 300 or 400 for interactive text. Buttons that look quiet read as broken in LINE's voice.
182
+ - **DO** use pill-shaped buttons (`border-radius: 50px`). This is LINE's tactile signature.
183
+ - **DON'T** use 4px, 8px, or any "rectangular" radius for primary CTAs — that breaks the brand language entirely.
184
+ - **DO** reserve LINE Green (`#07b53b`) for the brand mark, the active selected state, and the primary "Download LINE" CTA. It's a finite signal.
185
+ - **DON'T** use LINE Green for warnings, links, or general accents — it dilutes the brand association.
186
+ - **DO** lead with the locale-aware font stack: `SFPro, Arial, Noto Sans JP, Noto Sans KR` — Japanese and Korean as first-class.
187
+ - **DON'T** load a custom web font. LINE's audience reads on phones across many markets; system fonts are fastest and most native.
188
+ - **DO** use oversized display headlines (40-70px) with high vertical spacing. LINE's marketing is editorial, not utilitarian.
189
+ - **DON'T** pack a viewport with multiple competing CTAs. One scroll = one service block = one message.
190
+ - **DO** dim inactive UI with alpha (`rgba(30, 30, 30, 0.7)`) instead of swapping to a different gray hex.
191
+ - **DON'T** introduce shadow to flatten interactive controls. LINE chrome is overwhelmingly flat — depth comes from photography.
192
+
193
+ ## 8. Responsive Behavior
194
+
195
+ ### Breakpoints (inferred from line.me layout shifts)
196
+ | Width | Behavior |
197
+ |---|---|
198
+ | Desktop `>1024px` | Full nav visible, hero at 70px, services full-width with overlay text |
199
+ | Tablet `768–1024px` | Nav condenses, hero shrinks to ~50px, service blocks stack |
200
+ | Mobile `<768px` | Hamburger nav, hero scales to ~40px, service blocks become full-mobile views |
201
+
202
+ ### Touch & Mobile
203
+ - Pill buttons stay touch-friendly at all sizes (min `44px` tappable height per Apple HIG)
204
+ - App download badges remain prominent on mobile (top of fold)
205
+ - Image-heavy hero sections gracefully crop on portrait orientation
206
+
207
+ ### Image Behavior
208
+ - Hero photography: full-bleed, lazy-loaded, art-directed for desktop vs. mobile crops
209
+ - Service icons: vector SVG (LINE NEWS, LINE MUSIC, LINE Pay icons all single-color or 2-tone)
210
+ - Carousel (`swiper`-based): horizontal scroll with `44px` circular nav arrows in `#007aff`
211
+
212
+ ## 9. Agent Prompt Guide
213
+
214
+ ### Quick Color Reference
215
+ - LINE Green (brand / active CTA): `#07b53b` (`rgb(7, 181, 59)`)
216
+ - Headline / active text: `#1e1e1e`
217
+ - Inactive text: `rgba(30, 30, 30, 0.7)`
218
+ - Body text: `#000000` (or `#1e1e1e`)
219
+ - Page bg: `#ffffff`
220
+ - Carousel theme: `#007aff` (iOS system blue)
221
+
222
+ ### Example Component Prompts
223
+ - "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."
224
+ - "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."
225
+ - "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."
226
+ - "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."
227
+ - "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."
228
+
229
+ ### Iteration Guide
230
+ 1. **Always default to weight 700** for visible interactive text. LINE never whispers.
231
+ 2. **Pill radius (50px) is non-negotiable** for buttons and chips — it's the brand signature.
232
+ 3. **LINE Green (`#07b53b`) is rare** — use it for the brand mark, the single primary CTA, and the active "selected" state. Nothing else.
233
+ 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.
234
+ 5. **Body type is 20px** (not 14-16px). Editorial scale, not utility scale.
235
+ 6. **Hero typography 40-70px** at weight 700. No middle tier between 20px and 40px — LINE's hierarchy jumps.
236
+ 7. **No shadow on the modern button system** — depth comes from photography behind the chrome, not from elevation primitives.
237
+ 8. **Use alpha (`rgba(30, 30, 30, 0.7)`) for inactive states**, not a different gray hex. Maintains color-family coherence.
238
+ 9. **One viewport = one message** — let each service block breathe with full-screen vertical sections.
239
+ 10. **Service-specific color accents** (LINE NEWS green, LINE MUSIC pink, etc.) belong inside product UIs — marketing chrome stays green-anchored.
240
+
241
+ ---
242
+
243
+ ## 10. Voice & Tone
244
+
245
+ 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.
246
+
247
+ | Context | Tone |
248
+ |---|---|
249
+ | Headlines | Short, declarative, aspirational. "Life on LINE." "Always at your side." No hedge words, no superlatives. |
250
+ | CTAs | Imperative verb + noun ("Download LINE", "Start chatting"). Plain, not clever. |
251
+ | Service descriptions | Lifestyle-framed ("Discover what's happening around you") — never feature-listed ("40 million news articles"). |
252
+ | Error / system messages | Direct and blameless in each locale's polite register (Japanese keigo 丁寧語; Korean 존댓말). |
253
+ | Onboarding | Friendly first-person plural ("Let's get started"), never technical jargon. |
254
+ | Sticker store copy | Playful but disciplined — LINE stickers ARE the emoji, so external emoji flooding is unnecessary. |
255
+ | Push notifications | Context-aware; news pushes, friend-message pushes, and payment pushes all differ in register. |
256
+ | Business / LINE for Business surfaces | Slightly more formal, reads closer to a B2B tone — a deliberate shift the consumer voice does not make. |
257
+
258
+ **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.
259
+
260
+ ## 11. Brand Narrative
261
+
262
+ LINE was born in 2011 in Japan in response to the Tōhoku earthquake, when disrupted phone networks left people unable to reach family and friends. The original product was a way to stay connected when infrastructure failed — and that founding moment still shapes the brand. Being "always at your side" is not a marketing phrase; it is a literal design goal inherited from how the app was conceived.
263
+
264
+ 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. In October 2023, LINE Corporation and Yahoo Japan merged into **LY Corporation**, reflecting LINE's scale as Japan's de facto communication and lifestyle infrastructure.
265
+
266
+ 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.
267
+
268
+ ## 12. Principles
269
+
270
+ 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.
271
+ 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.
272
+ 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.
273
+ 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.
274
+ 5. **Photography carries depth; chrome stays flat.** Shadows are absent from interactive controls. Hero imagery is the elevation system.
275
+ 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.
276
+ 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.
277
+ 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).
278
+
279
+ ## 13. Personas
280
+
281
+ *Personas below are fictional archetypes informed by publicly described LINE user segments across its four primary markets (JP / TW / TH / ID), not individual people.*
282
+
283
+ **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.
284
+
285
+ **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.
286
+
287
+ **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.
288
+
289
+ **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.
290
+
291
+ ## 14. States
292
+
293
+ | State | Treatment |
294
+ |---|---|
295
+ | **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. |
296
+ | **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. |
297
+ | **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. |
298
+ | **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. |
299
+ | **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. |
300
+ | **Error (service unavailable)** | Top banner in warm gray (`#f5f5f5`) with near-black text. One sentence + retry pill. Banner never blocks content. |
301
+ | **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. |
302
+ | **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. |
303
+ | **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. |
304
+ | **Skeleton** | `#f5f5f5` blocks at exact final dimensions. 1.2s shimmer. Never on price/amount fields — those show the proper locale-formatted placeholder (`¥ -`, `NT$ -`, `฿ -`, `Rp -`). |
305
+ | **Disabled** | Opacity on text and fill together. Disabled pill keeps its 50px radius — never flattens to a rectangle. |
306
+ | **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. |
307
+
308
+ ## 15. Motion & Easing
309
+
310
+ **Durations**:
311
+
312
+ | Token | Value | Use |
313
+ |---|---|---|
314
+ | `motion-instant` | 0ms | Toggle commits, selection state |
315
+ | `motion-fast` | 150ms | Pill hover/press feedback, sticker tap scale |
316
+ | `motion-standard` | 250ms | Sheet rise, modal appear, chat bubble send |
317
+ | `motion-slow` | 400ms | Full-screen success (payment confirmation) |
318
+ | `motion-page` | 350ms | Navigation push/pop in app shell |
319
+
320
+ **Easings**:
321
+
322
+ | Token | Curve | Use |
323
+ |---|---|---|
324
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Things arriving — sheets, toasts, pushed views |
325
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 0.9, 1)` | Dismissals |
326
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
327
+ | `ease-sticker` | `cubic-bezier(0.34, 1.3, 0.64, 1)` | **Reserved.** Sticker send animation only — soft overshoot, never on other elements. |
328
+
329
+ **Signature motions.**
330
+
331
+ 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.
332
+ 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.
333
+ 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.
334
+ 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.
335
+ 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.
336
+
337
+ <!--
338
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
339
+
340
+ Direct verification via WebFetch (2026-04-19):
341
+ - https://line.me/en/ — confirms marketing taglines "LINE—always at your side"
342
+ and "More than just a messenger app. LINE is new level of communication, and
343
+ the very infrastructure of your life". Also confirms the multi-locale footprint
344
+ through published language options (EN / JP / KR / TW / TH / ID).
345
+ - https://engineering.linecorp.com/en — confirms LINE Corporation rebranded to
346
+ LY Corporation on 2023-10-01 (footer: "© LY Corporation"), and publishes
347
+ engineering culture values: "Take Ownership", "Be Open", "Trust & Respect".
348
+ - https://designsystem.line.me/ — public entry point for LINE Design System
349
+ confirmed to exist. Detailed sub-pages (e.g., LDSM at designsystem.line.me/LDSM/)
350
+ are access-restricted (returned HTTP 403), so no further specific token values
351
+ could be verified directly.
352
+
353
+ Base DESIGN.md (sections 1–9) is the source for all token-level claims including
354
+ LINE Green #07b53b, pill radius 50px, weight-700 dominance on interactive text,
355
+ the SFPro / Arial / Noto Sans JP / Noto Sans KR font stack, and the 20 / 40 / 70
356
+ size scale.
357
+
358
+ Not independently verified via WebFetch — widely documented public facts used:
359
+ - LINE launched in 2011 in Japan (originally by NHN Japan Corporation), built
360
+ in response to the 2011 Tōhoku earthquake when phone networks were disrupted.
361
+ - The LINE Stickers ecosystem (Brown, Cony, Moon plus a creator sticker economy)
362
+ is a culturally significant brand primitive across LINE's primary markets.
363
+ - LINE's primary-market footprint (Japan, Taiwan, Thailand, Indonesia) is
364
+ reported consistently in tech press and in LY Corporation's own communications.
365
+
366
+ Personas (§13) are fictional archetypes informed by publicly described LINE
367
+ user segments across the four primary markets. Names are illustrative and do
368
+ not refer to real people.
369
+
370
+ Interpretive claims (e.g., "the 2011 earthquake origin shaped the 'always at
371
+ your side' brand positioning", or the framing of LINE Green as a "finite
372
+ signal") are editorial readings that connect public facts; they are not
373
+ directly sourced LINE statements.
374
+ -->
375
+
@@ -0,0 +1,12 @@
1
+ # LINE Inspired Design System
2
+
3
+ [DESIGN.md](./DESIGN.md) extracted from the public [LINE](https://line.me) marketing site and the meta-documentation at [designsystem.line.me](https://designsystem.line.me). LINE does not expose runtime design tokens publicly, so this reference reverse-engineers the live production CSS via Playwright MCP at 1440px viewport on 2026-04-17. See [_research.md](./_research.md) for source detail and confidence per item.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |------|-------------|
9
+ | `DESIGN.md` | Complete design system documentation (9 sections) |
10
+ | `_research.md` | Sources used, extraction methodology, and confidence per item |
11
+
12
+ Use [DESIGN.md](./DESIGN.md) as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the LINE design language — Japan/Taiwan/Thailand/Indonesia super-app with LINE Green (`#07b53b`) as the brand mark, fully pill-shaped buttons (`border-radius: 50px`), oversized editorial hero typography (40-70px weight 700), and a locale-aware font stack with Noto Sans JP/KR as first-class fallbacks.
@@ -0,0 +1,65 @@
1
+ # Research Sources for LINE
2
+
3
+ 추출 일자: 2026-04-17
4
+ 스킬: `omd:add-reference` (5-tier methodology)
5
+ 입력 URL: `https://line.me`
6
+
7
+ ## Tier 1 — Official Design System
8
+
9
+ **Status: PARTIAL — meta-documentation site found, runtime tokens not exposed**
10
+
11
+ - [`designsystem.line.me`](https://designsystem.line.me) (200) — LINE Design System overview hub. Hosts principles, voice guidelines, and FAQ pages. Does NOT expose runtime CSS tokens on `:root` (verified `rootVarCount: 0`).
12
+ - [`design.line.me`](https://design.line.me) (200) — secondary docs landing.
13
+ - The actual design tokens for LINE products are not published as a public CSS variable layer.
14
+
15
+ ## Tier 2 — Brand / Press Kit
16
+
17
+ Not investigated separately — moved to Tier 4 (live site recon) for token extraction.
18
+
19
+ ## Tier 3 — Engineering / Design Blog
20
+
21
+ [engineering.linecorp.com](https://engineering.linecorp.com) hosts technical posts; not deeply mined for this initial extraction.
22
+
23
+ ## Tier 4 — Live Site Recon (Primary source for tokens)
24
+
25
+ **Method**: Playwright MCP at viewport 1440×900 on `https://line.me/ko/`.
26
+
27
+ ### Verified at runtime
28
+ - Brand green: `rgb(7, 181, 59)` = `#07b53b` (active "All Product" pill bg)
29
+ - Inactive pill text: `rgba(30, 30, 30, 0.7)` (`#1e1e1e` at 70% alpha)
30
+ - Pill `border-radius: 50px` (fully pill-shaped) — confirmed across all category controls
31
+ - Pill padding: `8px 15px`, `font-weight: 700`
32
+ - H2 hero "Life on LINE": `font-size: 70px`, `font-weight: 700`, `color: rgb(30, 30, 30)`
33
+ - H3 service names (LINE NEWS, LINE MUSIC): `font-size: 40px`, weight 700, same color
34
+ - H1: `20px` weight 700 (page-title role; smaller than H2 — editorial inversion)
35
+ - Body font: `SFPro, Arial, "Noto Sans JP", "Noto Sans KR", sans-serif`
36
+ - Body size: `20px` (editorial scale, not utility)
37
+ - Body color: `rgb(0, 0, 0)`
38
+ - Body bg: `rgba(0, 0, 0, 0)` (transparent — surface controlled by parent containers)
39
+ - Swiper carousel: `--swiper-theme-color: #007aff`, `--swiper-navigation-size: 44px`
40
+
41
+ Screenshot saved: `_research/home-1440px.png`
42
+
43
+ ## Confidence
44
+
45
+ ### High Confidence (verified live via Playwright)
46
+ - Brand green `#07b53b`
47
+ - Pill radius `50px`
48
+ - Weight 700 dominance
49
+ - Hero typography sizes (20 / 40 / 70px)
50
+ - Font stack with Noto Sans JP/KR fallbacks
51
+
52
+ ### Medium Confidence
53
+ - "Hover/active" state values (estimated as darker brand green `#069030`, not confirmed via interaction testing)
54
+ - Modal/overlay shadow values (LINE marketing rarely surfaces modals; estimated)
55
+
56
+ ### Inferred (verify before relying on)
57
+ - Per-service color accents (LINE NEWS, LINE MUSIC, LINE Pay) — only confirmed at the service-product level, not in marketing chrome
58
+ - Touch target sizing — assumed 44px minimum per Apple HIG
59
+
60
+ ## Notes
61
+ - LINE Design System (`designsystem.line.me`) is **meta documentation** — principles, voice, FAQ — not a token registry. Compare with Dcard's runtime `:root` exposure or Mercari's `--alias-color-*` system, both of which are far more agent-friendly.
62
+ - The `rgba(30, 30, 30, X)` alpha pattern for state variation is a key LINE characteristic — same hue, varied opacity for hover/inactive/disabled.
63
+ - Body text at 20px is unusually large (vs. typical 14-16px web standard) — confirms LINE's editorial / lifestyle voice.
64
+ - Multi-language stack (SF Pro, Noto JP, Noto KR) reflects LINE's primary markets (Japan, Taiwan, Thailand, Indonesia, Korea-adjacent).
65
+ - This reference may drift if LINE ships a redesign. Re-running `omd:add-reference https://line.me` annually captures updates.