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
@@ -0,0 +1,259 @@
1
+ ---
2
+ id: lguplus
3
+ name: LG유플러스
4
+ country: KR
5
+ category: consumer-tech
6
+ homepage: "https://www.lguplus.com/"
7
+ primary_color: "#e6007e"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=lguplus.com&sz=128"
11
+ verified: "2026-07-13"
12
+ omd: "0.1"
13
+ verification_v2:
14
+ schema: 2
15
+ checked: "2026-07-13"
16
+ surfaces:
17
+ - { id: home, kind: public-service-home, url: "https://www.lguplus.com/", inspected: "2026-07-13" }
18
+ - { id: subscription-product, kind: public-subscription-product, url: "https://www.lguplus.com/pogg/product/%EC%9C%A0%ED%8A%9C%EB%B8%8C-%ED%94%84%EB%A6%AC%EB%AF%B8%EC%97%84-%EC%9C%A0%EB%8F%85pick-2?utm_campaign=o25o25udok04pfm&utm_source=uplusapp&utm_medium=main_eventbanner_empty_empty&utm_content=notsetpick2_6&utm_term=notsetnone", inspected: "2026-07-13" }
19
+ - { id: corporate-about, kind: corporate-about, url: "https://www.lguplus.com/about/ko", inspected: "2026-07-13" }
20
+ sources:
21
+ - { id: lguplus-home-live, kind: product-surface, url: "https://www.lguplus.com/", captured: "2026-07-13" }
22
+ - { id: lguplus-subscription-live, kind: product-surface, url: "https://www.lguplus.com/pogg/product/%EC%9C%A0%ED%8A%9C%EB%B8%8C-%ED%94%84%EB%A6%AC%EB%AF%B8%EC%97%84-%EC%9C%A0%EB%8F%85pick-2?utm_campaign=o25o25udok04pfm&utm_source=uplusapp&utm_medium=main_eventbanner_empty_empty&utm_content=notsetpick2_6&utm_term=notsetnone", captured: "2026-07-13" }
23
+ - { id: lguplus-about-live, kind: product-surface, url: "https://www.lguplus.com/about/ko", captured: "2026-07-13" }
24
+ - { id: lguplus-pretendard-asset, kind: brand-asset, url: "https://www.lguplus.com/static/pc-static/common/fonts/Pretendard-Regular.subset.woff2", captured: "2026-07-13" }
25
+ - { id: pretendard-license, kind: license, url: "https://github.com/orioncactus/pretendard/blob/main/LICENSE", captured: "2026-07-14" }
26
+ conflicts: []
27
+ claims:
28
+ "tokens.colors.primary": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
29
+ "tokens.colors.ink": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::body", captured: "2026-07-13" }
30
+ "tokens.colors.canvas": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::body", captured: "2026-07-13" }
31
+ "tokens.colors.muted": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"0\"]", captured: "2026-07-13" }
32
+ "tokens.colors.soft": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"34\"]", captured: "2026-07-13" }
33
+ "tokens.colors.border": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
34
+ "tokens.typography.family.home": { surface_id: home, source_id: lguplus-pretendard-asset, method: computed-style-and-font-face, selector: "home::body", captured: "2026-07-13" }
35
+ "tokens.typography.family.subscription": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style-and-font-face, selector: "surface-2::[data-omd-capture=\"15\"]", captured: "2026-07-13" }
36
+ "tokens.typography.body.size": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::body", captured: "2026-07-13" }
37
+ "tokens.typography.body.weight": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::body", captured: "2026-07-13" }
38
+ "tokens.typography.body.lineHeight": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::body", captured: "2026-07-13" }
39
+ "tokens.typography.body.use": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::body", captured: "2026-07-13" }
40
+ "tokens.typography.subscription-action.size": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"15\"]", captured: "2026-07-13" }
41
+ "tokens.typography.subscription-action.weight": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"15\"]", captured: "2026-07-13" }
42
+ "tokens.typography.subscription-action.lineHeight": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"15\"]", captured: "2026-07-13" }
43
+ "tokens.typography.subscription-action.use": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"15\"]", captured: "2026-07-13" }
44
+ "tokens.spacing.xs": { surface_id: home, source_id: lguplus-home-live, method: computed-style-cluster, captured: "2026-07-13" }
45
+ "tokens.spacing.sm": { surface_id: home, source_id: lguplus-home-live, method: computed-style-cluster, captured: "2026-07-13" }
46
+ "tokens.spacing.md": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style-cluster, captured: "2026-07-13" }
47
+ "tokens.spacing.lg": { surface_id: home, source_id: lguplus-home-live, method: computed-style-cluster, captured: "2026-07-13" }
48
+ "tokens.rounded.none": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::body", captured: "2026-07-13" }
49
+ "tokens.rounded.row": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
50
+ "tokens.rounded.primary-cta": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
51
+ "tokens.components.home-primary-cta.type": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
52
+ "tokens.components.home-primary-cta.bg": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
53
+ "tokens.components.home-primary-cta.fg": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
54
+ "tokens.components.home-primary-cta.border": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
55
+ "tokens.components.home-primary-cta.radius": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
56
+ "tokens.components.home-primary-cta.padding": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
57
+ "tokens.components.home-primary-cta.height": { surface_id: home, source_id: lguplus-home-live, method: bounding-rect-and-computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
58
+ "tokens.components.home-primary-cta.font": { surface_id: home, source_id: lguplus-home-live, method: computed-style, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
59
+ "tokens.components.home-primary-cta.states": { surface_id: home, source_id: lguplus-home-live, method: interaction-summary, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
60
+ "tokens.components.home-primary-cta.use": { surface_id: home, source_id: lguplus-home-live, method: selector-context, selector: "home::[data-omd-capture=\"19\"]", captured: "2026-07-13" }
61
+ "tokens.components.subscription-information-row.type": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: semantic-element-and-computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
62
+ "tokens.components.subscription-information-row.bg": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
63
+ "tokens.components.subscription-information-row.fg": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
64
+ "tokens.components.subscription-information-row.border": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
65
+ "tokens.components.subscription-information-row.radius": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
66
+ "tokens.components.subscription-information-row.padding": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
67
+ "tokens.components.subscription-information-row.height": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: bounding-rect-and-computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
68
+ "tokens.components.subscription-information-row.font": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: computed-style, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
69
+ "tokens.components.subscription-information-row.use": { surface_id: subscription-product, source_id: lguplus-subscription-live, method: selector-context, selector: "surface-2::[data-omd-capture=\"14\"]", captured: "2026-07-13" }
70
+ tokens:
71
+ source: reconciled
72
+ extracted: "2026-07-13"
73
+ note: "Only selector-backed values from the supplied Home and public subscription-product capture are tokenized. Corporate, newsroom, declared-only, and license evidence remains separately scoped."
74
+ colors:
75
+ primary: "#e6007e"
76
+ ink: "#000000"
77
+ canvas: "#ffffff"
78
+ muted: "#888888"
79
+ soft: "#f5f5f5"
80
+ border: "#ebebeb"
81
+ typography:
82
+ family: { home: "Pretendard", subscription: "nskr" }
83
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Observed public Home body" }
84
+ subscription-action: { size: 16, weight: 700, lineHeight: 1.5, use: "Observed public subscription purchase action" }
85
+ spacing: { xs: 4, sm: 8, md: 12, lg: 16 }
86
+ rounded: { none: 0, row: 8, primary-cta: 20 }
87
+ components_harvested: true
88
+ components:
89
+ home-primary-cta: { type: button, bg: "#e6007e", fg: "#ffffff", border: "0px solid #ffffff", radius: "20px", padding: "0px 30px", height: "40px", font: "16px / 400 / Pretendard", states: "default captured; interactionCount 0, so no hover, focus, pressed, disabled, or error value was observed", use: "Public Home solid CTA at home::[data-omd-capture=\"19\"]" }
90
+ subscription-information-row: { type: listItem, bg: "transparent", fg: "#222222", border: "1px solid #ebebeb", radius: "8px", padding: "19px", height: "65px", font: "14px / 500 / nskr", use: "Public subscription product information row at surface-2::[data-omd-capture=\"14\"]" }
91
+ ---
92
+
93
+ # Design System Inspiration of LG유플러스
94
+
95
+ ## 1. Visual Theme & Atmosphere
96
+
97
+ LG유플러스 is a Korean telecommunications and consumer-technology company, established in 1996, with public services for mobile, home internet and IPTV, smart home, and people-centred AI as well as enterprise offerings. Its recognizable public expression combines a white, near-black service foundation with a high-visibility magenta action signal, while its current Simply. U+ direction frames the brand around reducing the complexity customers encounter in everyday telecom tasks. The supplied capture shows this in a deliberately bounded way: the public service home uses Pretendard with magenta calls to action; the public subscription-product page uses its own loaded `nskr` stack and more compact information rows; the corporate About page is context rather than a shared product-token source. The result is not a single universal LG U+ design system, nor evidence for authenticated, native-app, checkout, or support flows.
98
+
99
+ **Observed characteristics:**
100
+
101
+ - `#e6007e` is a selector-backed filled action color on both captured public service and subscription surfaces.
102
+ - `#000000` on `#ffffff` is the repeated public working base; `#f5f5f5`, `#888888`, and `#ebebeb` are scoped subscription-detail siblings.
103
+ - Loaded typography is surface-specific: Home uses Pretendard and the public subscription detail uses computed family `nskr`.
104
+ - The captured Home CTA is a 40px-high 20px-radius control; the subscription detail also has a static 65px information row with an 8px outline geometry.
105
+ - The 2025 Simply. U+ narrative is brand context only. It does not create colors, components, states, or motion tokens.
106
+
107
+ ## 2. Color Palette & Roles
108
+
109
+ ### Observed public-surface foundation
110
+
111
+ - **Primary** — `#e6007e`: measured fill on the public Home solid CTA and the public subscription purchase CTA.
112
+ - **Ink** — `#000000`: measured Home body ink and repeated public-surface text baseline.
113
+ - **Canvas** — `#ffffff`: measured Home canvas and CTA text color.
114
+ - **Muted** — `#888888`: measured public subscription-detail supporting-link text only.
115
+ - **Soft** — `#f5f5f5`: measured fill on the compact public subscription `pr-btne add` control only.
116
+ - **Border** — `#ebebeb`: measured 1px outline on the public subscription information row.
117
+
118
+ The product-detail row’s text is `#222222`; it is retained in that component’s measured fields rather than promoted as a general foreground token. Corporate About ink values and low-frequency page-specific colors remain useful raw evidence but are not merged into this product-scoped palette.
119
+
120
+ ## 3. Typography Rules
121
+
122
+ ### Font evidence classes
123
+
124
+ | Evidence class | Resolution |
125
+ |---|---|
126
+ | Official product-use | No first-party announcement reviewed here names one type family for every LG U+ product. |
127
+ | Live computed surface-use | Home has loaded Pretendard with 231 observed uses. The public subscription product has loaded `nskr` with 162 observed uses; its delivered filenames identify NotoSansKR assets. |
128
+ | Official distributed brand asset | The supplied runtime bundle delivers LG U+-hosted Pretendard and NotoSansKR font files. This proves delivery on the captured web surfaces, not ownership of a proprietary LG U+ typeface. |
129
+ | Declared-only | Geist, Geist Fallback, slick, and swiper-icons have no visible use in the supplied bundle and are omitted from tokens. |
130
+ | License | Pretendard’s upstream repository states SIL Open Font License 1.1. This license concerns Pretendard, not an LG U+ trademark or cross-product font policy. |
131
+
132
+ ### Captured hierarchy
133
+
134
+ | Surface and role | Computed family | Size | Weight | Line height | Boundary |
135
+ |---|---|---:|---:|---:|---|
136
+ | Public Home body | Pretendard | 16px | 400 | 24px | `home::body`; not a universal product scale |
137
+ | Public Home primary CTA | Pretendard | 16px | 400 | 24px | `home::[data-omd-capture="19"]` |
138
+ | Public subscription purchase CTA | `nskr` | 16px | 700 | 24px | `surface-2::[data-omd-capture="15"]` |
139
+ | Public subscription information row | `nskr` | 14px | 500 | 21px | `surface-2::[data-omd-capture="14"]` |
140
+
141
+ Do not substitute an unavailable system font and call it Pretendard or `nskr`; do not extend either family from these two captured domains to uninspected LG U+ surfaces.
142
+
143
+ ## 4. Component Stylings
144
+
145
+ ### Button
146
+
147
+ **Home primary CTA**
148
+ - Background: `#e6007e`
149
+ - Text: `#ffffff`
150
+ - Border: `0px solid #ffffff`
151
+ - Radius: 20px
152
+ - Padding: 0px 30px
153
+ - Height: 40px
154
+ - Font: 16px / 400 / Pretendard
155
+ - Observed-state summary: Default captured; `interactionCount: 0`, so no hover, focus, pressed, disabled, or error value was observed.
156
+ - Use: Public Home solid CTA at `home::[data-omd-capture="19"]`.
157
+
158
+ ### List item
159
+
160
+ **Subscription information row**
161
+ - Background: transparent
162
+ - Text: `#222222`
163
+ - Border: `1px solid #ebebeb`
164
+ - Radius: 8px
165
+ - Padding: 19px
166
+ - Height: 65px
167
+ - Font: 14px / 500 / nskr
168
+ - Use: Public subscription product information row at `surface-2::[data-omd-capture="14"]`; it is an observed link/row and is classified as `listItem`, not as a button.
169
+
170
+ ---
171
+ **Verified:** 2026-07-13
172
+ **Tier 1 sources:** https://www.lguplus.com/ ; https://www.lguplus.com/pogg/product/%EC%9C%A0%ED%8A%9C%EB%B8%8C-%ED%94%84%EB%A6%AC%EB%AF%B8%EC%97%84-%EC%9C%A0%EB%8F%85pick-2?utm_campaign=o25o25udok04pfm&utm_source=uplusapp&utm_medium=main_eventbanner_empty_empty&utm_content=notsetpick2_6&utm_term=notsetnone ; https://www.lguplus.com/about/ko
173
+ **Tier 2 sources:** https://getdesign.md/lguplus (attempted) ; https://styles.refero.design/?q=lguplus (attempted)
174
+ **Conflicts unresolved:** none
175
+
176
+ ## 5. Layout Principles
177
+
178
+ - The supplied desktop observations repeatedly include 4px, 8px, 12px, and 16px spacing values. Treat this as a measured local cluster, not a complete grid declaration.
179
+ - Preserve the named component geometry rather than averaging it: the Home CTA is 40px high with 20px corners, whereas the subscription row is 65px high with 8px corners.
180
+ - The capture establishes no canonical column count, maximum container width, or authenticated checkout layout.
181
+
182
+ ## 6. Responsive Behavior
183
+
184
+ The supplied evidence was captured at 1440×900. It supports only the listed desktop geometry. No mobile breakpoint, touch-target rule, safe-area behavior, or responsive reflow is promoted.
185
+
186
+ ## 7. Do's and Don'ts
187
+
188
+ ### Do
189
+
190
+ - Keep Home and public subscription values explicitly scoped to their observed surfaces.
191
+ - Use `#e6007e` with white text for the measured action variants.
192
+ - Use the actual loaded family only where the relevant captured surface is being recreated.
193
+ - Preserve the static row as `listItem` geometry rather than changing the observed link/row into button semantics.
194
+
195
+ ### Don't
196
+
197
+ - Treat declared-only fonts as visible LG U+ type families.
198
+ - Substitute a system font and label it Pretendard or `nskr`.
199
+ - Invent hover, focus, pressed, disabled, error, toast, dialog, or motion values from this zero-interaction capture.
200
+ - Merge corporate About styling into the product-token namespace without a product-surface observation.
201
+
202
+ ## 8. Reference Implementation Notes
203
+
204
+ Use only the frontmatter tokens that have a matching `verification_v2.claims` path. The two promoted components preserve measured default geometry: the button includes the truthful zero-interaction state summary, and the static subscription link/row preserves its measured default fields without fabricated interactive states.
205
+
206
+ ## 9. Verification Scope
207
+
208
+ Raw UI proof comes only from `artifacts/reference-evidence/lguplus.json`: Home, one public subscription product detail, and corporate About. Product, corporate, newsroom, font-license, and Tier 2 evidence are retained in separate domains in `.verification.md` and `_research.md`. The official company and current-brand narrative provides context; it does not create UI tokens.
209
+
210
+ ## 10. Voice & Tone
211
+
212
+ The official Simply. U+ material describes a customer-centred effort to remove complexity, retain what is essential, and make telecom tasks easier to understand. The cues below are bounded implementation guidance derived from that stated direction, not an approved LG U+ copy manual: **plain**, **reassuring**, and **next-step oriented**.
213
+
214
+ | Do | Don't |
215
+ |---|---|
216
+ | Put the service outcome and next action close together. | Make a customer decode a technical term before learning its consequence. |
217
+ | Use everyday Korean service language for a practical task. | Hide conditions behind celebratory language. |
218
+ | Explain a choice in one clear step before adding detail. | Turn a routine telecom task into a dense multi-step instruction. |
219
+
220
+ Illustrative, not LG U+ copy: “요금제 확인하기”; “내게 맞는 혜택 보기”; “필요한 정보부터 확인하세요.”
221
+
222
+ ## 11. Brand Narrative
223
+
224
+ LG유플러스 states that it has worked to make meaningful change in customers’ lives since its 1996 establishment. Its official company presentation spans personal mobile, home internet and IPTV, smart-home, AI, and enterprise services; the common narrative is connection and practical service value rather than a single consumer product.
225
+
226
+ The current evolution is Simply. U+. In official 2025 material, LG유플러스 describes the direction as reducing customers’ complexity and discomfort, leaving the essential, and building trustworthy, easier experiences. Simple Lab is presented as a channel for customer ideas to be proposed and shared through implementation. These are corporate and campaign facts, not evidence that all legacy pages already share a new visual system.
227
+
228
+ ## 12. Principles
229
+
230
+ 1. **Remove customer complexity.** *UI implication:* Put the immediate outcome and the required action together; do not add unmeasured interaction patterns.
231
+ 2. **Keep what is essential.** *UI implication:* Prefer the observed white/ink foundation and purpose-specific magenta CTA over decorative color expansion.
232
+ 3. **Make service choices understandable.** *UI implication:* Preserve surface-specific type and row geometry where it carries practical subscription information.
233
+ 4. **Listen through customer participation.** *UI implication:* A feedback flow must be evidenced before it is treated as a reusable component pattern.
234
+
235
+ ## 13. Personas
236
+
237
+ These are service-domain archetypes inferred from LG U+’s own public service categories, not surveyed personas, demographics, or observed product-flow behavior.
238
+
239
+ - **Mobile service customer:** compares plans, benefits, or device-related options on public service pages. No authenticated account behavior is claimed.
240
+ - **Home and family service customer:** evaluates internet, IPTV, or smart-home information. The capture does not establish household-management UI.
241
+ - **Enterprise service evaluator:** reviews AI, infrastructure, or security service information. No enterprise console pattern is inferred.
242
+
243
+ ## 14. States
244
+
245
+ The supplied evidence reports `interactionCount: 0`; no state color, message, control, or animation specification is available. The categories below preserve that boundary rather than inventing brand facts.
246
+
247
+ | Category | Verified boundary |
248
+ |---|---|
249
+ | Empty | No captured empty-state treatment. |
250
+ | Loading | No captured loading treatment. |
251
+ | Error — validation | No captured validation-error treatment. |
252
+ | Error — service | No captured service-error treatment. |
253
+ | Success | No captured success treatment. |
254
+ | Skeleton | No captured skeleton treatment. |
255
+ | Disabled | No captured disabled treatment. |
256
+
257
+ ## 15. Motion & Easing
258
+
259
+ No duration scale, easing curve, transition, carousel behavior, or motion-reduction rule is verified by the supplied static capture. Do not introduce a named LG U+ motion token from this reference. If motion is added to a new implementation, treat it as a local extension and document it separately from these verified tokens.
@@ -0,0 +1,283 @@
1
+ ---
2
+ id: likelion
3
+ name: LikeLion
4
+ display_name_kr: 멋쟁이사자처럼
5
+ country: KR
6
+ category: education
7
+ homepage: "https://likelion.net/"
8
+ primary_color: "#ff6000"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://likelion.net/img/favicon.png"
12
+ verified: "2026-07-13"
13
+ added: "2026-07-02"
14
+ ds:
15
+ name: LikeLion Design System
16
+ url: "https://designsystem.likelion.net/"
17
+ type: system
18
+ description: Official public documentation surface. The supplied capture covers its documentation chrome, not component-story tokens.
19
+ omd: "0.1"
20
+ verification_v2:
21
+ schema: 2
22
+ checked: "2026-07-13"
23
+ surfaces:
24
+ - { id: home, kind: marketing-course-catalog, url: "https://likelion.net/", inspected: "2026-07-13" }
25
+ - { id: docs, kind: documentation-chrome, url: "https://designsystem.likelion.net/?path=/docs/intro-introduction--docs", inspected: "2026-07-13" }
26
+ sources:
27
+ - { id: home-live, kind: product-surface, url: "https://likelion.net/", captured: "2026-07-13" }
28
+ - { id: docs-live, kind: official-doc, url: "https://designsystem.likelion.net/?path=/docs/intro-introduction--docs", captured: "2026-07-13" }
29
+ - { id: history-context, kind: official-doc, url: "https://k-digital.likelion.net/364c521d-31d4-425e-a281-7d056ce3f8a6", captured: "2026-07-13" }
30
+ - { id: b2b-context, kind: official-doc, url: "https://likelion.net/b2b", captured: "2026-07-13" }
31
+ - { id: pretendard-license, kind: license, url: "https://github.com/orioncactus/pretendard/blob/main/LICENSE", captured: "2026-07-13" }
32
+ conflicts: []
33
+ claims:
34
+ "tokens.colors.primary": &home { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
35
+ "tokens.colors.foreground": *home
36
+ "tokens.colors.muted": *home
37
+ "tokens.colors.muted-secondary": *home
38
+ "tokens.colors.hairline": *home
39
+ "tokens.colors.promo": *home
40
+ "tokens.colors.nav-border": *home
41
+ "tokens.typography.body.size": *home
42
+ "tokens.typography.body.weight": *home
43
+ "tokens.typography.body.lineHeight": *home
44
+ "tokens.typography.body.use": *home
45
+ "tokens.typography.section-heading.size": *home
46
+ "tokens.typography.section-heading.weight": *home
47
+ "tokens.typography.section-heading.lineHeight": *home
48
+ "tokens.typography.section-heading.use": *home
49
+ "tokens.typography.search.size": *home
50
+ "tokens.typography.search.weight": *home
51
+ "tokens.typography.search.lineHeight": *home
52
+ "tokens.typography.search.use": *home
53
+ "tokens.rounded.promo": *home
54
+ "tokens.shadow.none": *home
55
+ "tokens.components.promo-tile.type": *home
56
+ "tokens.components.promo-tile.bg": *home
57
+ "tokens.components.promo-tile.fg": *home
58
+ "tokens.components.promo-tile.radius": *home
59
+ "tokens.components.promo-tile.padding": *home
60
+ "tokens.components.promo-tile.font": *home
61
+ "tokens.components.promo-tile.states": *home
62
+ "tokens.components.promo-tile.use": *home
63
+ "tokens.components.account-pill.type": *home
64
+ "tokens.components.account-pill.fg": *home
65
+ "tokens.components.account-pill.border": *home
66
+ "tokens.components.account-pill.radius": *home
67
+ "tokens.components.account-pill.padding": *home
68
+ "tokens.components.account-pill.font": *home
69
+ "tokens.components.account-pill.states": *home
70
+ "tokens.components.account-pill.use": *home
71
+ "tokens.components.course-search.type": *home
72
+ "tokens.components.course-search.fg": *home
73
+ "tokens.components.course-search.font": *home
74
+ "tokens.components.course-search.states": *home
75
+ "tokens.components.course-search.use": *home
76
+ tokens:
77
+ source: live-extract
78
+ extracted: "2026-07-13"
79
+ components_harvested: true
80
+ colors:
81
+ primary: "#ff6000"
82
+ foreground: "#222222"
83
+ muted: "#a3a3a3"
84
+ muted-secondary: "#737373"
85
+ hairline: "#e5e5e5"
86
+ promo: "#fcf4ee"
87
+ nav-border: "#d4d4d4"
88
+ typography:
89
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Observed home body copy; the computed Pretendard Variable face is unresolved, so no UI-family token is assigned." }
90
+ section-heading: { size: 32, weight: 700, lineHeight: 1.5, use: "Observed home course-section heading." }
91
+ search: { size: 20, weight: 600, lineHeight: 1.2, use: "Observed home course-search input." }
92
+ spacing: {}
93
+ rounded: { promo: 16 }
94
+ shadow: { none: "none" }
95
+ components:
96
+ promo-tile: { type: button, bg: "#fcf4ee", fg: "#222222", radius: "16px", padding: "40px", font: "16px / 400 / unresolved computed stack", states: "default observed only", use: "home::[data-omd-capture=\"13\"] clickable warm promotional tile; 310px rendered height." }
97
+ account-pill: { type: button, fg: "#222222", border: "1px solid #d4d4d4", radius: "9999px", padding: "10px 16px", font: "16px / 400 / unresolved computed stack", states: "default observed only", use: "home::[data-omd-capture=\"6\"] 로그인/회원가입 control; 43px rendered height; low-confidence collector classification." }
98
+ course-search: { type: input, fg: "#ff6000", font: "20px / 600 / unresolved computed stack", states: "default plus focus and pressed pseudo-state samples only", use: "home::[data-omd-capture=\"7\"] course-search input; no complete interaction or result state was captured." }
99
+ ---
100
+
101
+ # Design System Inspiration of LikeLion
102
+
103
+ ## 1. Visual Theme & Atmosphere
104
+
105
+ LikeLion (멋쟁이사자처럼) is a Korean programming-education brand whose public home surface currently groups course discovery, K-Digital Training bootcamps, AI education, and business education. Its official history page traces the brand to 2013 and the “HACK YOUR LIFE!” idea of turning an individual’s idea into something they can make; its current business page frames learning around practical problems, mentoring, and shared experience. The supplied desktop homepage translates that welcoming, action-oriented positioning into a restrained field of `#222222` copy and `#e5e5e5` hairlines, with `#ff6000` concentrated in the search/attention treatment and `#fcf4ee` warming a large promotional tile. The public design-system URL is retained as official documentation, but this collector run reached its Storybook documentation chrome rather than component stories; it is not used to fill in a generic component library.
106
+
107
+ The reference deliberately keeps the two domains distinct. Homepage measurements describe a public course-marketing/catalog surface. Documentation chrome establishes only that the public documentation route exists; its controls, colors, and loaded font observation do not authorize product or marketing component tokens.
108
+
109
+ **Key Characteristics:**
110
+
111
+ - Orange `#ff6000` is an observed attention/search color on the captured homepage, not a universal semantic palette.
112
+ - Homepage foreground is `#222222`, with `#a3a3a3` and `#737373` as observed lower-emphasis text.
113
+ - An observed warm `#fcf4ee` promo tile supplies the strongest surfaced color block.
114
+ - The verified geometry is local: a 16px promo tile and a 9999px navigation-account pill.
115
+ - The observed marketing computed face is unresolved; a loaded Pretendard observation on documentation chrome is not promoted to a homepage UI-family token.
116
+
117
+ ## 2. Color Palette & Roles
118
+
119
+ ### Observed homepage roles
120
+
121
+ - **Attention / search** (`#ff6000`): observed as the course-search input foreground at `home::[data-omd-capture="7"]`.
122
+ - **Primary foreground** (`#222222`): repeated homepage text color, including the warm promo tile.
123
+ - **Muted text** (`#a3a3a3`): repeated lower-emphasis homepage text.
124
+ - **Secondary muted text** (`#737373`): observed on the homepage search-input border sample and other low-emphasis text.
125
+ - **Hairline** (`#e5e5e5`): repeated homepage border color in the collector output.
126
+ - **Warm promo surface** (`#fcf4ee`): `home::[data-omd-capture="13"]` background.
127
+ - **Account-pill border** (`#d4d4d4`): observed on the navigation account control.
128
+
129
+ ### Boundary
130
+
131
+ The supplied homepage evidence does not establish a filled orange CTA, orange hover color, semantic success/error palette, a neutral scale, or a general canvas token. Documentation-chrome values such as `#6b7583`, `#4e5967`, `#f3f4f6`, and `#e5e7ea` are not marketed as LikeLion product tokens here.
132
+
133
+ ## 3. Typography Rules
134
+
135
+ ### Evidence classes
136
+
137
+ - **Live product/marketing computed use — unresolved:** the homepage computes `Pretendard Variable` on 193 visible captured elements. The collector found no matching loaded FontFaceSet record or source URL for that exact family, so it is not a `tokens.typography.family` token.
138
+ - **Documentation-chrome computed use — loaded:** the Storybook documentation route computes `pretendard` / `Pretendard` on 34 visible elements; it has loaded FontFaceSet corroboration and 22 source URLs, including LikeLion-hosted static Pretendard files and the Pretendard CDN. This verifies the documentation-chrome observation only, not course-product use.
139
+ - **Declared-only:** Gotham, HeirofLight, Noto Sans Mono, Nunito Sans, and slick have declared font-face assets with zero visible captured use. They are not family tokens or specimens.
140
+ - **Official font and licence context:** the upstream Pretendard project publishes its files under SIL Open Font License 1.1. That licence describes Pretendard’s upstream distribution; it does not establish that the declared Gotham, HeirofLight, or Noto Sans Mono files are reusable assets. [Pretendard licence](https://github.com/orioncactus/pretendard/blob/main/LICENSE)
141
+ - **System fallback:** the homepage’s fallback list is a fallback list, not evidence for a substitute branded family.
142
+
143
+ ### Measured homepage hierarchy
144
+
145
+ | Role | Size | Weight | Line height | Provenance |
146
+ |---|---:|---:|---:|---|
147
+ | Default body | 16px | 400 | 24px | `home::body` |
148
+ | Course-section heading | 32px | 700 | 48px | Homepage `h3` samples |
149
+ | Course-search input | 20px | 600 | 24px | `home::[data-omd-capture="7"]` |
150
+ | Course-card title | 20px | 600 | 30px | Captured homepage card text |
151
+
152
+ Do not substitute a system font and call it Pretendard. The exact marketing computed family remains unresolved until matching FontFaceSet/source evidence is captured on that surface.
153
+
154
+ ## 4. Component Stylings
155
+
156
+ All component observations below are scoped to the supplied `home` desktop capture. The bundle records one documentation form-error interaction and no homepage interaction flow; focus/pressed rows on the course search are pseudo-state samples, not a general product-state contract. Documentation-chrome controls are excluded.
157
+
158
+ ### Promotional tile
159
+
160
+ **Warm promotional tile — observed default**
161
+ - Background: `#fcf4ee`
162
+ - Text: `#222222`
163
+ - Radius: `16px`
164
+ - Padding: `40px`
165
+ - Font: `16px / 400 / unresolved computed stack`
166
+ - States: Default observed only
167
+ - Use: `home::[data-omd-capture="13"]`; clickable warm promotional tile, 310px rendered height.
168
+
169
+ ### Navigation account control
170
+
171
+ **Login / sign-up pill — observed default**
172
+ - Text: `#222222`
173
+ - Border: `1px solid #d4d4d4`
174
+ - Radius: `9999px`
175
+ - Padding: `10px 16px`
176
+ - Font: `16px / 400 / unresolved computed stack`
177
+ - States: Default observed only
178
+ - Use: `home::[data-omd-capture="6"]`; 로그인/회원가입 control, 43px rendered height. The collector’s component classification is low confidence, so no further variant is inferred.
179
+
180
+ ### Course search
181
+
182
+ **Course-search input — captured pseudo-state samples**
183
+ - Text: `#ff6000`
184
+ - Font: `20px / 600 / unresolved computed stack`
185
+ - Focus: border-color `#2563eb` in the captured pseudo-state sample while border width remains `0px`
186
+ - Pressed: captured pseudo-state sample only
187
+ - Use: `home::[data-omd-capture="7"]`; course-search input. No result list, validation, disabled, or complete focus-flow state is specified.
188
+
189
+ No ActionButton, TextField, chip, tab, tag, toast, dialog, card, or responsive variant is specified: the supplied design-system route is documentation chrome rather than a component-story capture, and the homepage does not provide selector-backed observations for those variants.
190
+
191
+ ---
192
+ **Verified:** 2026-07-13
193
+ **Tier 1 sources:** https://likelion.net/; https://designsystem.likelion.net/?path=/docs/intro-introduction--docs; https://k-digital.likelion.net/364c521d-31d4-425e-a281-7d056ce3f8a6; https://likelion.net/b2b
194
+ **Tier 2 sources:** https://getdesign.md/likelion (attempted; no usable LikeLion record extracted); https://styles.refero.design/?q=likelion (attempted; no usable LikeLion record extracted)
195
+ **Conflicts unresolved:** none
196
+
197
+ ## 5. Layout Principles
198
+
199
+ The supplied home surface is a 1440×900 desktop capture. Its reliable layout observations are local: the course-search input rendered 731px wide, the promo tile rendered 310px high with 40px padding, and the account pill rendered 43px high. No public mobile viewport, course-grid rule, carousel behavior, sticky header behavior, or breakpoint was captured, so none is specified.
200
+
201
+ ## 6. Depth & Elevation
202
+
203
+ Representative homepage and documentation-chrome samples report `box-shadow: none`. The observed promo tile is distinguished by `#fcf4ee`, type, and a 16px radius rather than an elevation value. No global shadow scale or overlay treatment is established.
204
+
205
+ ## 7. Do's and Don'ts
206
+
207
+ ### Do
208
+
209
+ - Keep the observed homepage scope separate from documentation chrome and official narrative sources.
210
+ - Use `#ff6000` only for the observed attention/search treatment unless another component has its own selector-backed evidence.
211
+ - Preserve the warm promo tile’s `#fcf4ee`, 16px radius, and 40px padding only in its captured homepage context.
212
+ - Treat `Pretendard Variable` on the homepage as unresolved until exact loaded-face/source corroboration exists.
213
+
214
+ ### Don't
215
+
216
+ - Do not turn the public Storybook’s documentation controls into LikeLion product components.
217
+ - Do not recreate historical ActionButton, chip, tab, tag, toast, dialog, hover, disabled, or error variants without current selector and state provenance.
218
+ - Do not label Gotham, HeirofLight, Noto Sans Mono, Nunito Sans, or slick as a live UI family.
219
+ - Do not derive a semantic palette, breakpoint, or motion system from this two-surface desktop bundle.
220
+
221
+ ## 8. Responsive Behavior
222
+
223
+ No mobile viewport or responsive transition was captured. Touch-target, grid, menu-collapse, carousel-scroll, and breakpoint rules require a public responsive observation before they can be specified.
224
+
225
+ ## 9. Agent Prompt Guide
226
+
227
+ ### Verified prompt boundary
228
+
229
+ “Recreate only the observed LikeLion desktop homepage elements: `#222222` foreground with `#e5e5e5` hairlines, an `#ff6000` course-search input at 20px/600, a warm `#fcf4ee` promotional tile with 16px radius and 40px padding, and the outlined login pill. Do not add an orange CTA, Storybook component set, mobile layout, semantic states, or a Pretendard substitution.”
230
+
231
+ ## 10. Voice & Tone
232
+
233
+ LikeLion’s official materials are practical, encouraging, and learning-oriented. The history page’s “HACK YOUR LIFE!” framing pairs self-directed making with programming education; the current business page describes learning through repeated problem solving, experience sharing, and a shift from AI as a tool to AI as a collaborator. These are brand and educational-context sources, not homepage microcopy rules.
234
+
235
+ | Do | Don't |
236
+ |---|---|
237
+ | State the learner’s practical next step plainly. | Attribute unobserved error, enrollment, or support copy to the product. |
238
+ | Connect technical learning to a problem the learner or team can work on. | Convert corporate-training language into a visual token. |
239
+ | Keep the distinction between public course, business, and documentation surfaces. | Invent urgency, guarantees, or personal outcomes. |
240
+
241
+ **Source-grounded samples.**
242
+
243
+ - “HACK YOUR LIFE!” — official history-page slogan. <!-- verified: k-digital.likelion.net 2026-07-13 -->
244
+ - “문제 해결 반복 및 경험 공유” — official business-education process label. <!-- verified: likelion.net/b2b 2026-07-13 -->
245
+ - “AI = 동료” — official business-education process label. <!-- verified: likelion.net/b2b 2026-07-13 -->
246
+
247
+ ## 11. Brand Narrative
248
+
249
+ LikeLion’s official history page describes an online/offline programming-education brand that began in 2013 around the value of realizing one’s own idea. It presents “HACK YOUR LIFE!” as the through-line, then describes a move into a commercial corporation and additional education initiatives. The current public home surface shows the present offer as a mix of courses, bootcamps, AI education, and business education; the business surface describes AX learning as problem-led, mentored, and collaborative. [Official history](https://k-digital.likelion.net/364c521d-31d4-425e-a281-7d056ce3f8a6) · [Business education](https://likelion.net/b2b)
250
+
251
+ The orange-and-warm-neutral homepage is a separately observed public course-marketing expression of that educational role. It should not be read as proof of a single interface across the learner product, business program, or documentation site.
252
+
253
+ ## 12. Principles
254
+
255
+ 1. **Make ideas buildable.** The official history frames programming as a means to realize an individual idea. *UI implication:* describe a learning path in concrete terms; do not manufacture product features or outcomes.
256
+ 2. **Start from practical problems.** The business surface says its AI learning begins with members’ work problems. *UI implication:* lead educational copy with the task or problem being addressed.
257
+ 3. **Learn through repetition and sharing.** The published process names repeated problem solving and experience sharing. *UI implication:* where learning progress is evidenced, make the next activity and shared context legible.
258
+ 4. **Keep domains honest.** Homepage, business education, and documentation serve different contexts. *UI implication:* do not carry a token or component from one domain into another without direct evidence.
259
+
260
+ ## 13. Personas
261
+
262
+ The first-party sources in this pass establish learner and organisation-facing education contexts, but do not supply enough persona research to support invented demographic archetypes.
263
+
264
+ - **Individual learners:** public course and bootcamp visitors. [FILL IN: task, constraints, and needs from user-provided research]
265
+ - **Organisation learning teams:** business/AX education decision-makers and participants. [FILL IN: task, constraints, and needs from user-provided research]
266
+ - **Documentation readers:** public Storybook/documentation visitors. [FILL IN: task and component-story evidence]
267
+
268
+ ## 14. States
269
+
270
+ No course-product empty, loading, success, disabled, or error state was captured. The only recorded interaction is a form-error sample on documentation chrome, which is not promoted to the course surface.
271
+
272
+ | Category | Evidence status |
273
+ |---|---|
274
+ | Empty | [FILL IN: public course-surface observation required] |
275
+ | Loading | [FILL IN: public course-surface observation required] |
276
+ | Error | [FILL IN: public course-surface observation required] |
277
+ | Success | [FILL IN: public course-surface observation required] |
278
+ | Skeleton | [FILL IN: public course-surface observation required] |
279
+ | Disabled | [FILL IN: public course-surface observation required] |
280
+
281
+ ## 15. Motion & Easing
282
+
283
+ No motion, transition, or user-flow state was supplied for the homepage. [FILL IN: selector-backed public motion evidence required]