oh-my-design-cli 1.8.6 → 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 (275) 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 +2761 -85
  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/airbridge/DESIGN.md +451 -0
  71. package/web/references/alipay/DESIGN.md +179 -420
  72. package/web/references/apple/DESIGN.md +224 -498
  73. package/web/references/asleep/DESIGN.md +402 -0
  74. package/web/references/au/DESIGN.md +334 -0
  75. package/web/references/autopedia/DESIGN.md +382 -0
  76. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  77. package/web/references/baemin/DESIGN.md +332 -491
  78. package/web/references/banksalad/DESIGN.md +269 -180
  79. package/web/references/barogo/DESIGN.md +416 -0
  80. package/web/references/beusable/DESIGN.md +464 -0
  81. package/web/references/bigin/DESIGN.md +454 -0
  82. package/web/references/bilibili/DESIGN.md +206 -374
  83. package/web/references/bmw/DESIGN.md +162 -276
  84. package/web/references/brandi/DESIGN.md +184 -325
  85. package/web/references/buzzvil/DESIGN.md +457 -0
  86. package/web/references/cafe24/DESIGN.md +472 -0
  87. package/web/references/catchtable/DESIGN.md +219 -264
  88. package/web/references/cgv/DESIGN.md +317 -0
  89. package/web/references/channeltalk/DESIGN.md +210 -336
  90. package/web/references/china-airlines/DESIGN.md +291 -0
  91. package/web/references/cjonstyle/DESIGN.md +453 -0
  92. package/web/references/class101/DESIGN.md +168 -387
  93. package/web/references/classum/DESIGN.md +228 -203
  94. package/web/references/claude/DESIGN.md +242 -479
  95. package/web/references/clay/DESIGN.md +179 -377
  96. package/web/references/clickhouse/DESIGN.md +254 -343
  97. package/web/references/codeit/DESIGN.md +470 -0
  98. package/web/references/cohere/DESIGN.md +214 -324
  99. package/web/references/coinone/DESIGN.md +199 -179
  100. package/web/references/corca/DESIGN.md +414 -0
  101. package/web/references/coupang/DESIGN.md +205 -475
  102. package/web/references/cursor/DESIGN.md +240 -381
  103. package/web/references/dabang/DESIGN.md +248 -213
  104. package/web/references/dable/DESIGN.md +431 -0
  105. package/web/references/datarize/DESIGN.md +338 -0
  106. package/web/references/dealicious/DESIGN.md +402 -0
  107. package/web/references/drdiary/DESIGN.md +404 -0
  108. package/web/references/elastic/DESIGN.md +238 -0
  109. package/web/references/elevenlabs/DESIGN.md +183 -321
  110. package/web/references/elice/DESIGN.md +445 -0
  111. package/web/references/eslite/DESIGN.md +257 -0
  112. package/web/references/evaair/DESIGN.md +338 -0
  113. package/web/references/expo/DESIGN.md +238 -331
  114. package/web/references/familymart-tw/DESIGN.md +254 -0
  115. package/web/references/ferrari/DESIGN.md +160 -377
  116. package/web/references/figma/DESIGN.md +197 -451
  117. package/web/references/fitpet/DESIGN.md +445 -0
  118. package/web/references/flex/DESIGN.md +170 -253
  119. package/web/references/framer/DESIGN.md +197 -340
  120. package/web/references/freee/DESIGN.md +211 -533
  121. package/web/references/friendliai/DESIGN.md +431 -0
  122. package/web/references/frip/DESIGN.md +440 -0
  123. package/web/references/furiosaai/DESIGN.md +450 -0
  124. package/web/references/gangnamunni/DESIGN.md +154 -591
  125. package/web/references/gaudiolab/DESIGN.md +414 -0
  126. package/web/references/google/DESIGN.md +290 -398
  127. package/web/references/goorm/DESIGN.md +470 -0
  128. package/web/references/greencar/DESIGN.md +420 -0
  129. package/web/references/hackle/DESIGN.md +472 -0
  130. package/web/references/hashicorp/DESIGN.md +273 -318
  131. package/web/references/heydealer/DESIGN.md +429 -0
  132. package/web/references/humanscape/DESIGN.md +433 -0
  133. package/web/references/hwahae/DESIGN.md +453 -0
  134. package/web/references/hyundai/DESIGN.md +158 -368
  135. package/web/references/hyundaicard/DESIGN.md +171 -121
  136. package/web/references/ibm/DESIGN.md +227 -378
  137. package/web/references/idus/DESIGN.md +450 -0
  138. package/web/references/igaworks/DESIGN.md +437 -0
  139. package/web/references/inflearn/DESIGN.md +221 -366
  140. package/web/references/intuit/DESIGN.md +244 -0
  141. package/web/references/jandi/DESIGN.md +191 -291
  142. package/web/references/jobplanet/DESIGN.md +415 -0
  143. package/web/references/kakao/DESIGN.md +287 -475
  144. package/web/references/kakaobank/DESIGN.md +220 -521
  145. package/web/references/kakaogames/DESIGN.md +220 -0
  146. package/web/references/kakaopay/DESIGN.md +207 -526
  147. package/web/references/karrot/DESIGN.md +227 -251
  148. package/web/references/kb-kookmin/DESIGN.md +308 -0
  149. package/web/references/kbank/DESIGN.md +220 -175
  150. package/web/references/kcd/DESIGN.md +432 -0
  151. package/web/references/kmong/DESIGN.md +281 -356
  152. package/web/references/krds/DESIGN.md +245 -19
  153. package/web/references/kream/DESIGN.md +224 -359
  154. package/web/references/kurly/DESIGN.md +211 -533
  155. package/web/references/kyobobook/DESIGN.md +445 -0
  156. package/web/references/lablup/DESIGN.md +474 -0
  157. package/web/references/lamborghini/DESIGN.md +198 -360
  158. package/web/references/lemonbase/DESIGN.md +452 -0
  159. package/web/references/lguplus/DESIGN.md +259 -0
  160. package/web/references/likelion/DESIGN.md +283 -0
  161. package/web/references/line/DESIGN.md +396 -355
  162. package/web/references/linear.app/DESIGN.md +209 -562
  163. package/web/references/lotteon/DESIGN.md +386 -0
  164. package/web/references/lovable/DESIGN.md +255 -349
  165. package/web/references/makinarocks/DESIGN.md +242 -0
  166. package/web/references/maum-ai/DESIGN.md +423 -0
  167. package/web/references/medibloc/DESIGN.md +425 -0
  168. package/web/references/megabox/DESIGN.md +232 -0
  169. package/web/references/mercari/DESIGN.md +217 -434
  170. package/web/references/microsoft/DESIGN.md +234 -388
  171. package/web/references/mildang/DESIGN.md +411 -0
  172. package/web/references/millie/DESIGN.md +183 -504
  173. package/web/references/minimax/DESIGN.md +264 -322
  174. package/web/references/miricanvas/DESIGN.md +182 -355
  175. package/web/references/miro/DESIGN.md +234 -232
  176. package/web/references/mistral.ai/DESIGN.md +231 -314
  177. package/web/references/mixi/DESIGN.md +234 -0
  178. package/web/references/moin/DESIGN.md +445 -0
  179. package/web/references/mongodb/DESIGN.md +219 -316
  180. package/web/references/moreh/DESIGN.md +437 -0
  181. package/web/references/musinsa/DESIGN.md +184 -510
  182. package/web/references/mynavi/DESIGN.md +242 -0
  183. package/web/references/myrealtrip/DESIGN.md +169 -406
  184. package/web/references/naver/DESIGN.md +328 -499
  185. package/web/references/naverwebtoon/DESIGN.md +172 -395
  186. package/web/references/neosapience/DESIGN.md +441 -0
  187. package/web/references/nhn/DESIGN.md +169 -346
  188. package/web/references/nhncloud/DESIGN.md +185 -123
  189. package/web/references/nota/DESIGN.md +451 -0
  190. package/web/references/notion/DESIGN.md +271 -475
  191. package/web/references/nrise/DESIGN.md +417 -0
  192. package/web/references/ohouse/DESIGN.md +210 -549
  193. package/web/references/oliveyoung/DESIGN.md +217 -326
  194. package/web/references/ollama/DESIGN.md +241 -308
  195. package/web/references/onestore/DESIGN.md +248 -0
  196. package/web/references/palantir/DESIGN.md +256 -0
  197. package/web/references/panasonic/DESIGN.md +276 -0
  198. package/web/references/patternfly/DESIGN.md +259 -0
  199. package/web/references/payhere/DESIGN.md +438 -0
  200. package/web/references/pega/DESIGN.md +262 -0
  201. package/web/references/peoplefund/DESIGN.md +431 -0
  202. package/web/references/petfriends/DESIGN.md +428 -0
  203. package/web/references/pinkfong/DESIGN.md +199 -367
  204. package/web/references/pinterest/DESIGN.md +258 -308
  205. package/web/references/portone/DESIGN.md +446 -0
  206. package/web/references/poya/DESIGN.md +286 -0
  207. package/web/references/pozalabs/DESIGN.md +438 -0
  208. package/web/references/protopie/DESIGN.md +419 -0
  209. package/web/references/qraft/DESIGN.md +448 -0
  210. package/web/references/queenit/DESIGN.md +432 -0
  211. package/web/references/quotabook/DESIGN.md +449 -0
  212. package/web/references/rebellions/DESIGN.md +449 -0
  213. package/web/references/recruit/DESIGN.md +247 -0
  214. package/web/references/remember/DESIGN.md +202 -396
  215. package/web/references/resend/DESIGN.md +274 -348
  216. package/web/references/returnzero/DESIGN.md +460 -0
  217. package/web/references/sakura-internet/DESIGN.md +269 -0
  218. package/web/references/samsung/DESIGN.md +157 -359
  219. package/web/references/sandoll/DESIGN.md +445 -0
  220. package/web/references/sanity/DESIGN.md +241 -375
  221. package/web/references/saramin/DESIGN.md +465 -0
  222. package/web/references/scatterlab/DESIGN.md +412 -0
  223. package/web/references/selectstar/DESIGN.md +439 -0
  224. package/web/references/servicenow/DESIGN.md +289 -0
  225. package/web/references/shiftee/DESIGN.md +468 -0
  226. package/web/references/shinhanbank/DESIGN.md +161 -341
  227. package/web/references/shinhancard/DESIGN.md +208 -319
  228. package/web/references/sionic/DESIGN.md +454 -0
  229. package/web/references/sktelecom/DESIGN.md +310 -0
  230. package/web/references/socar/DESIGN.md +125 -32
  231. package/web/references/softbank/DESIGN.md +231 -0
  232. package/web/references/solapi/DESIGN.md +483 -0
  233. package/web/references/sony/DESIGN.md +234 -0
  234. package/web/references/soop/DESIGN.md +261 -0
  235. package/web/references/spacex/DESIGN.md +184 -323
  236. package/web/references/spotify/DESIGN.md +253 -394
  237. package/web/references/squeezebits/DESIGN.md +441 -0
  238. package/web/references/stayfolio/DESIGN.md +422 -0
  239. package/web/references/stripe/DESIGN.md +212 -491
  240. package/web/references/supabase/DESIGN.md +244 -316
  241. package/web/references/supertone/DESIGN.md +413 -0
  242. package/web/references/tabling/DESIGN.md +415 -0
  243. package/web/references/taishinbank/DESIGN.md +243 -0
  244. package/web/references/teamlab/DESIGN.md +240 -0
  245. package/web/references/teamsparta/DESIGN.md +472 -0
  246. package/web/references/tellingme/DESIGN.md +392 -0
  247. package/web/references/tesla/DESIGN.md +244 -427
  248. package/web/references/thsr/DESIGN.md +284 -0
  249. package/web/references/thumbtack/DESIGN.md +302 -0
  250. package/web/references/together.ai/DESIGN.md +257 -304
  251. package/web/references/toss/DESIGN.md +251 -593
  252. package/web/references/toss-securities/DESIGN.md +255 -178
  253. package/web/references/tossbank/DESIGN.md +195 -491
  254. package/web/references/toyota/DESIGN.md +238 -0
  255. package/web/references/tving/DESIGN.md +197 -245
  256. package/web/references/typed/DESIGN.md +413 -0
  257. package/web/references/uber/DESIGN.md +256 -333
  258. package/web/references/udn/DESIGN.md +250 -0
  259. package/web/references/upbit/DESIGN.md +145 -256
  260. package/web/references/upstage/DESIGN.md +211 -204
  261. package/web/references/uswds/DESIGN.md +287 -0
  262. package/web/references/vercel/DESIGN.md +236 -440
  263. package/web/references/vuno/DESIGN.md +413 -0
  264. package/web/references/wanted/DESIGN.md +215 -487
  265. package/web/references/weverse/DESIGN.md +437 -0
  266. package/web/references/wise/DESIGN.md +223 -231
  267. package/web/references/wisetracker/DESIGN.md +462 -0
  268. package/web/references/wooribank/DESIGN.md +245 -0
  269. package/web/references/yanolja/DESIGN.md +250 -419
  270. package/web/references/yeogiotte/DESIGN.md +235 -418
  271. package/web/references/zapier/DESIGN.md +256 -377
  272. package/web/references/zendesk/DESIGN.md +288 -0
  273. package/web/references/zigzag/DESIGN.md +200 -621
  274. package/dist/install-skills-7UUDOLG2.js +0 -734
  275. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -4,474 +4,251 @@ name: Naver Webtoon
4
4
  country: KR
5
5
  category: consumer-tech
6
6
  homepage: "https://comic.naver.com"
7
- primary_color: "#00DC64"
7
+ primary_color: "#00dc64"
8
8
  logo:
9
9
  type: favicon
10
10
  slug: "https://www.google.com/s2/favicons?domain=comic.naver.com&sz=128"
11
- verified: "2026-05-27"
11
+ verified: "2026-07-13"
12
12
  omd: "0.1"
13
+ verification_v2:
14
+ schema: 2
15
+ checked: "2026-07-13"
16
+ surfaces:
17
+ - { id: home, kind: product-home, url: "https://comic.naver.com/index", inspected: "2026-07-13" }
18
+ - { id: webtoon-list, kind: product-browse, url: "https://comic.naver.com/webtoon", inspected: "2026-07-13" }
19
+ - { id: best-challenge, kind: product-creator-discovery, url: "https://comic.naver.com/bestChallenge", inspected: "2026-07-13" }
20
+ sources:
21
+ - { id: home-capture, kind: product-surface, url: "https://comic.naver.com/index", captured: "2026-07-13" }
22
+ - { id: webtoon-list-capture, kind: product-surface, url: "https://comic.naver.com/webtoon", captured: "2026-07-13" }
23
+ - { id: best-challenge-capture, kind: product-surface, url: "https://comic.naver.com/bestChallenge", captured: "2026-07-13" }
24
+ - { id: company-about, kind: official-doc, url: "https://about.webtoon.com/", captured: "2026-07-13" }
25
+ - { id: company-brands, kind: official-doc, url: "https://about.webtoon.com/our-brands?company=naverWebtoon", captured: "2026-07-13" }
26
+ - { id: font-design, kind: official-doc, url: "https://github.com/orioncactus/pretendard/blob/main/packages/pretendard/docs/en/README.md", captured: "2026-07-13" }
27
+ - { id: font-license, kind: license, url: "https://github.com/orioncactus/pretendard/blob/main/LICENSE", captured: "2026-07-13" }
28
+ conflicts: []
29
+ claims:
30
+ "tokens.colors.primary": &product { surface_id: home, source_id: home-capture, method: computed-style, captured: "2026-07-13" }
31
+ "tokens.colors.surface": *product
32
+ "tokens.colors.foreground": *product
33
+ "tokens.colors.muted": *product
34
+ "tokens.colors.tag-surface": *product
35
+ "tokens.colors.on-primary": &webtoon { surface_id: webtoon-list, source_id: webtoon-list-capture, method: computed-style, captured: "2026-07-13" }
36
+ "tokens.typography.family.ui": *product
37
+ "tokens.typography.brand-title.size": *product
38
+ "tokens.typography.brand-title.weight": *product
39
+ "tokens.typography.brand-title.use": *product
40
+ "tokens.typography.section-title.size": *product
41
+ "tokens.typography.section-title.weight": *product
42
+ "tokens.typography.section-title.lineHeight": *product
43
+ "tokens.typography.section-title.use": *product
44
+ "tokens.typography.tab.size": *product
45
+ "tokens.typography.tab.weight": *product
46
+ "tokens.typography.tab.lineHeight": *product
47
+ "tokens.typography.tab.use": *product
48
+ "tokens.typography.tag.size": *product
49
+ "tokens.typography.tag.weight": *product
50
+ "tokens.typography.tag.lineHeight": *product
51
+ "tokens.typography.tag.use": *product
52
+ "tokens.rounded.square": *product
53
+ "tokens.rounded.compact": *product
54
+ "tokens.components.content-tab.type": *product
55
+ "tokens.components.content-tab.fg": *product
56
+ "tokens.components.content-tab.font": *product
57
+ "tokens.components.content-tab.states": *product
58
+ "tokens.components.content-tab.use": *product
59
+ "tokens.components.tag-link.type": *product
60
+ "tokens.components.tag-link.bg": *product
61
+ "tokens.components.tag-link.fg": *product
62
+ "tokens.components.tag-link.radius": *product
63
+ "tokens.components.tag-link.padding": *product
64
+ "tokens.components.tag-link.font": *product
65
+ "tokens.components.tag-link.use": *product
66
+ "tokens.components.pagination.type": &challenge { surface_id: best-challenge, source_id: best-challenge-capture, method: computed-style, captured: "2026-07-13" }
67
+ "tokens.components.pagination.fg": *challenge
68
+ "tokens.components.pagination.font": *challenge
69
+ "tokens.components.pagination.states": *challenge
70
+ "tokens.components.pagination.use": *challenge
13
71
  tokens:
14
- source: prose-derived
15
- extracted: "2026-06-09"
72
+ source: reconciled
73
+ extracted: "2026-07-13"
74
+ note: "Selector-backed values are restricted to the supplied public comic.naver.com product capture. NAVER global-shell chrome and zero-use font declarations are not product-token substitutes."
16
75
  colors:
17
76
  primary: "#00dc64"
18
- primary-hover: "#00c758"
19
- brand: "#00dc64"
20
- canvas: "#ffffff"
21
- surface: "#f7f7f7"
22
- foreground: "#1a1a1a"
23
- body: "#666666"
24
- muted: "#999999"
77
+ surface: "#ffffff"
78
+ foreground: "#000000"
79
+ muted: "#666666"
80
+ tag-surface: "#f6f6f6"
25
81
  on-primary: "#ffffff"
26
- hairline: "#eeeeee"
27
- border-strong: "#dddddd"
28
- accent-like: "#ff4d6d"
29
- accent-star: "#ffb300"
30
- error: "#f5444c"
31
- viewer-black: "#000000"
32
82
  typography:
33
- family: { sans: "Pretendard", mono: "Pretendard" }
34
- display: { size: 28, weight: 700, lineHeight: 1.3, use: "Featured banner, event headers" }
35
- section: { size: 20, weight: 700, lineHeight: 1.35, use: "Row headers" }
36
- title-card: { size: 16, weight: 600, lineHeight: 1.4, use: "Webtoon title under thumbnail" }
37
- author: { size: 13, weight: 400, lineHeight: 1.4, use: "Author name, genre line" }
38
- body: { size: 14, weight: 400, lineHeight: 1.6, use: "Synopsis, descriptions" }
39
- label: { size: 14, weight: 600, lineHeight: 1.4, use: "Buttons, day tabs" }
40
- caption: { size: 12, weight: 400, lineHeight: 1.4, use: "View/like counts, timestamps" }
41
- rank: { size: 22, weight: 700, use: "Chart rank, tabular" }
42
- spacing: [4, 8, 12, 16, 20, 24, 32]
43
- rounded: { sm: 4, md: 8, lg: 12, full: 9999 }
44
- shadow:
45
- subtle: "0px 2px 8px rgba(0,0,0,0.06)"
46
- floating: "0px 4px 12px rgba(0,0,0,0.12)"
47
- toast: "0px 4px 12px rgba(0,0,0,0.16)"
48
- components_harvested: true
83
+ family: { ui: "Pretendard" }
84
+ brand-title: { size: 24, weight: 700, use: "Product header wordmark area" }
85
+ section-title: { size: 20, weight: 600, lineHeight: 1.05, use: "Product-home section heading" }
86
+ tab: { size: 15, weight: 500, lineHeight: 1.40, use: "Product content tab" }
87
+ tag: { size: 14, weight: 500, lineHeight: 2.14, use: "Product-home tag link" }
88
+ rounded: { square: 0, compact: 4 }
49
89
  components:
50
- button-primary: { type: button, bg: "#00dc64", fg: "#ffffff", radius: "8px", padding: "10px 18px", font: "14px / 600", states: "hover #00c758, disabled bg #eeeeee fg #bbbbbb", use: "Primary read CTA" }
51
- button-outline: { type: button, bg: "#ffffff", fg: "#333333", border: "1px solid #dddddd", radius: "8px", padding: "10px 18px", font: "14px / 600", use: "Secondary action" }
52
- button-subscribe: { type: button, bg: "rgba(0,220,100,0.10)", fg: "#00c758", radius: "8px", padding: "10px 18px", font: "14px / 600", use: "관심웹툰 subscribe toggle, green-tinted when active" }
53
- input-search: { type: input, bg: "#f7f7f7", fg: "#333333", radius: "8px", padding: "12px 14px", font: "14px / 400", focus: "1px border #00dc64", use: "Title/author search" }
54
- card-thumbnail: { type: card, bg: "transparent", radius: "8px", states: "hover scale 1.03 + title emphasis", use: "Webtoon thumbnail card, art is the card" }
55
- card-info: { type: card, bg: "#ffffff", radius: "12px", padding: "20px", shadow: "0px 2px 8px rgba(0,0,0,0.06)", use: "Title-detail header" }
56
- badge-up: { type: badge, bg: "#00dc64", fg: "#ffffff", radius: "4px", padding: "1px 5px", font: "11px / 700", use: "UP / new-episode flag, the green ritual" }
57
- chip: { type: badge, bg: "#f7f7f7", fg: "#666666", radius: "999px", padding: "6px 14px", font: "13px / 500", active: "bg #00dc64, fg #ffffff", use: "요일별 day tabs, genre filters" }
58
- badge-rating: { type: badge, bg: "transparent", fg: "#ffb300", font: "12px / 700", use: "별점 average beside a star" }
59
- tab: { type: tab, fg: "#999999", font: "15px / 600", active: "fg #00dc64, 2px #00dc64 underline", use: "Day-of-week tab" }
60
- toast: { type: toast, bg: "#1a1a1a", fg: "#ffffff", radius: "8px", padding: "12px 16px", shadow: "0px 4px 12px rgba(0,0,0,0.16)", font: "14px / 500", use: "Transient feedback, 3s auto-dismiss" }
90
+ content-tab: { type: tab, fg: "#00dc64", font: "15px / 500 Pretendard", states: "unselected #666666; selected #00dc64 via captured tab interaction", use: "Product content tabs, selectors home::[data-omd-capture=16] and home::[data-omd-capture=17]" }
91
+ tag-link: { type: badge, bg: "#f6f6f6", fg: "#666666", radius: "4px", padding: "0px 10px", font: "14px / 500 Pretendard", use: "Product-home tag link, selector home::[data-omd-capture=64]" }
92
+ pagination: { type: button, fg: "#00dc64", font: "14px / 500 Pretendard", states: "static disabled previous control observed separately with #000000; no general disabled rule", use: "Best Challenge selected page, selector surface-3::[data-omd-capture=133]" }
93
+ components_harvested: true
61
94
  ---
62
95
 
63
96
  # Design System Inspiration of Naver Webtoon (네이버웹툰)
64
97
 
65
98
  ## 1. Visual Theme & Atmosphere
66
99
 
67
- Naver Webtoon is the platform that invented the format the vertical-scroll, mobile-native comic ("webtoon") that turned Korean digital comics into a global medium. Its interface exists to do one thing supremely well: get out of the way so a thumbnail grid of cover art can pull you into the next binge. The browse experience is bright and clean predominantly white surfaces with crisp black-and-gray text punctuated by the unmistakable **Webtoon green `#00DC64`** ("WT GREEN"), a fresh, almost electric grass-green that marks brand moments, the logo, primary CTAs, and "UP"/new-episode signals. This green is the brand's whole personality: young, energetic, optimistic — the color of "something new just dropped."
68
-
69
- What defines Webtoon visually is **the grid is the design**. Cover thumbnails — vivid, illustrated, every genre and art style imaginable — are the source of color and energy; the chrome around them is deliberately calm so the art screams and the UI whispers. Ranking numbers, genre chips, day-of-week tabs (요일별), and "UP" badges form a tight, scannable information layer over a white canvas. When you actually read, the viewer flips to a focused, distraction-free vertical scroll where the strip itself fills the screen. Two modes, one identity: a buzzy discovery grid and a quiet reading canvas.
100
+ NAVER WEBTOON is WEBTOON Entertainment's Korean webcomic platform. The company describes it as Korea's largest webcomic platform, launched in 2005 to let both emerging and established creators build an audience and earn from webcomics; its BEST CHALLENGE route is the self-publishing path for up-and-coming creators. In the supplied public capture, that creator-and-reader service is expressed with a compact white product shell, black text, a bright green creator entry, and image/content-led browsing rather than a marketing campaign system.
70
101
 
71
- Typography is Korean-system-led Naver's own typefaces and the standard Korean web/app stack (**Pretendard**, Apple SD Gothic Neo, Malgun Gothic, with Nanum lineage), rendered black-on-white with green accents. Type is friendly and rounded in feel, sentence-case, optimized for fast scanning of dozens of titles and for long-form reading comfort in the viewer.
72
-
73
- **Key Characteristics:**
74
- - Webtoon green `#00DC64` ("WT GREEN") as the brand + primary interactive accent — logo, CTAs, "UP" / new badges
75
- - Bright white canvas with black/gray text — chrome whispers so cover art screams
76
- - Thumbnail-grid-first discovery; focused vertical-scroll reading viewer
77
- - Naver / Pretendard-led Korean type stack, black-on-white with green accents
78
- - Day-of-week (요일별) tabs and ranking numbers as a core scannable info layer
79
- - Young, energetic, optimistic tone — "something new just dropped"
80
- - "UP" badge culture: the green new-episode signal is a brand ritual
102
+ The captured product surfaces share a short, practical visual vocabulary: white `#FFFFFF`, black `#000000`, muted `#666666`, pale tag fills `#F6F6F6`, and green `#00DC64` on a creator entry, selected tabs, selected pagination, and a browse heading. This is a record of the current captured routes—not a claim that every NAVER, WEBTOON Entertainment, mobile, reader, payment, or logged-in surface follows the same contract. NAVER account/service utility chrome appears in the artifact as a separate inherited shell and is not promoted into these product tokens.
81
103
 
82
104
  ## 2. Color Palette & Roles
83
105
 
84
- Webtoon green `#00DC64` is the documented "WT GREEN" brand color (RGB 0,220,100). comic.naver.com is bot-protected (WebFetch blocked), so product grays/blacks below follow Naver web conventions and the documented brand palette; treat product hexes as conventional, not from a live-inspected token doc.
85
-
86
- ### Brand / Interactive
87
- - **WT Green** (`#00DC64`): The signature color (RGB 0, 220, 100). Logo, primary CTA, "UP"/new-episode badge, active selection, brand moments. The single energetic accent.
88
- - **WT Green Deep** (`#00C758`): Pressed / hover variant of the green.
89
- - **WT Green Light** (`rgba(0,220,100,0.10)`): Subtle green-tinted highlight backgrounds.
106
+ - **Product green** (`#00DC64`): Observed on the creator-entry button, selected content tabs, selected pagination, and a weekday browse heading.
107
+ - **Surface white** (`#FFFFFF`): Observed header-search background and the text on the captured green weekday heading.
108
+ - **Foreground black** (`#000000`): Observed search text, product headings, and creator-entry text.
109
+ - **Muted gray** (`#666666`): Observed unselected content-tab text and tag-link text.
110
+ - **Tag surface** (`#F6F6F6`): Observed tag-link background on the product home.
90
111
 
91
- ### Surfaces
92
- - **Pure White** (`#FFFFFF`): Browse canvas, cards, headers — the bright base behind the grid.
93
- - **Surface Gray** (`#F7F7F7`): Section backgrounds, inactive chip fills, skeleton blocks.
94
- - **Surface Gray Strong** (`#EEEEEE`): Secondary fills, dividers' surface variant.
95
- - **Viewer Black** (`#000000`): The reading-viewer background option (dark reading mode) so the strip art is the only light.
112
+ No hover color, error color, dark reader surface, shadow ladder, or universal brand palette is promoted because it was not established by the supplied product capture.
96
113
 
97
- ### Text
98
- - **Text Primary** (`#1A1A1A`): Titles, author names, primary labels.
99
- - **Text Strong** (`#333333`): Strong body labels, episode titles.
100
- - **Text Body** (`#666666`): Body text, synopsis, metadata.
101
- - **Text Secondary** (`#999999`): Captions, view/like counts, timestamps.
102
- - **Text Tertiary** (`#BBBBBB`): Placeholder, disabled labels.
114
+ ## 3. Typography Rules
103
115
 
104
- ### Borders
105
- - **Divider** (`#EEEEEE`): Hairline row/grid separators.
106
- - **Border Strong** (`#DDDDDD`): Active input outlines, emphasized edges.
116
+ ### Font evidence classes
107
117
 
108
- ### Semantic
109
- - **New / UP** (`#00DC64`): The green doubles as the "new episode / UP" semantic.
110
- - **Like / Heart** (`#FF4D6D`): Favorite/like heart a warm pink-red, distinct from brand green.
111
- - **Rating / Star** (`#FFB300`): Star ratings (별점) accent.
112
- - **Error** (`#F5444C`): Form errors, failures.
118
+ - **Live product computed use:** `Pretendard` is the computed family on 1,371 captured elements across the three product routes. The collector reports a high-confidence loaded FontFaceSet match, so it is the sole `tokens.typography.family.ui` family.
119
+ - **Declared-only font asset:** `Pretendard Variable` has 92 captured `@font-face` source URLs but zero visible computed uses. It remains a declared asset, not a substituted UI-family token.
120
+ - **Declared-only faces:** `hind`, `NanumBarunGothic`, `NanumSquare`, and `Volte` have zero visible uses in this artifact. They remain declared-only.
121
+ - **Unresolved shell family:** `나눔고딕` occurs in 12 global NAVER utility-shell observations but has no matching loaded FontFace in the artifact. It remains unresolved and is excluded from the product family token.
122
+ - **Upstream asset and licence:** Pretendard's upstream README describes its cross-platform, multilingual family and variable distribution. Its upstream LICENSE is SIL Open Font License 1.1. These sources explain the font asset; the product-use conclusion comes from computed use plus the loaded FontFaceSet match above.
113
123
 
114
- ## 3. Typography Rules
124
+ ### Observed hierarchy
115
125
 
116
- ### Font Family
117
- - **Primary**: `Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, BlinkMacSystemFont, "Noto Sans KR", "Nanum Gothic", sans-serif`
118
- - **Brand surfaces**: Naver's house typefaces appear in marketing/logo lockups
119
- - **Numerals**: tabular-friendly for ranking numbers and view/like counts
120
-
121
- ### Hierarchy
122
-
123
- | Role | Size | Weight | Line Height | Use |
124
- |------|------|--------|-------------|-----|
125
- | Display Hero | 28–32px | 700 | 1.3 | Featured banner, event headers |
126
- | Section Heading | 20–22px | 700 | 1.35 | Row headers (오늘의 신작, 인기 급상승) |
127
- | Title Card | 15–16px | 600 | 1.4 | Webtoon title under thumbnail |
128
- | Author / Sub | 13px | 400 | 1.4 | Author name, genre line |
129
- | Body | 14px | 400 | 1.6 | Synopsis, descriptions (looser LH for reading) |
130
- | Label / CTA | 14px | 600 | 1.4 | Buttons, day tabs |
131
- | Caption | 12px | 400 | 1.4 | View/like counts, timestamps |
132
- | Ranking Number | 18–22px | 700 | tight | Chart rank — tabular |
133
-
134
- ### Conventions
135
- - **700 for headings + ranks, 600 for titles/CTAs, 400 for body** — a clean three-weight rhythm.
136
- - **Numbers are content** — ranking positions, episode numbers, view counts, ratings are first-class typography, tabular-aligned.
137
- - **Looser line-height for reading** — synopsis and viewer captions use ~1.6 LH for long-form comfort.
138
- - **Sentence-case, no all-caps** — Korean and Latin both; the grid stays friendly, not shouty.
126
+ | Role | Size | Weight | Line height | Captured use |
127
+ |---|---:|---:|---:|---|
128
+ | Header wordmark area | 24px | 700 | normal | `home::h1` |
129
+ | Section title | 20px | 600 | 21px | `ComponentHead__title` on product home |
130
+ | Content tab | 15px | 500 | 21px | selected and unselected `ComponentHead__button_tab` |
131
+ | Tag link | 14px | 500 | 30px | `TagGroup__tag` on product home |
139
132
 
140
133
  ## 4. Component Stylings
141
134
 
142
- comic.naver.com blocks automated fetch; geometry below follows Naver web conventions + the documented WT GREEN brand. Treat as conventional, not live-inspected tokens.
135
+ ### Header search
143
136
 
144
- ### Buttons
145
-
146
- **Primary (WT Green)**
147
- - Background: `#00DC64`
148
- - Text: `#FFFFFF`
149
- - Border: none
150
- - Radius: 8px
151
- - Padding: 10px 18px
152
- - Font: 14px / 600 / Pretendard
153
- - Hover: background `#00C758`
154
- - Disabled: background `#EEEEEE`, text `#BBBBBB`
155
- - Use: Primary CTA — 첫화 보기, 구독하기, 정주행. The green call-to-read.
156
-
157
- **Outline / Secondary**
137
+ **Default**
158
138
  - Background: `#FFFFFF`
159
- - Text: `#333333`
160
- - Border: 1px solid `#DDDDDD`
161
- - Radius: 8px
162
- - Padding: 10px 18px
163
- - Font: 14px / 600 / Pretendard
164
- - Use: Secondary action (관심 등록, 미리보기)
165
-
166
- **Subscribe / Toggle CTA**
167
- - Background (subscribed): `rgba(0,220,100,0.10)`
168
- - Text (subscribed): `#00C758`
169
- - Border: none
170
- - Radius: 8px
171
- - Padding: 10px 18px
172
- - Font: 14px / 600 / Pretendard
173
- - Use: 관심웹툰 subscribe toggle — fills green-tinted once active
174
-
175
- ### Inputs
176
-
177
- **Search Field**
178
- - Background: `#F7F7F7`
179
- - Text: `#333333`
180
- - Border: none (filled)
181
- - Radius: 8px
182
- - Padding: 12px 14px
183
- - Font: 14px / 400 / Pretendard
184
- - Placeholder: `#BBBBBB`
185
- - Focus: 1px border `#00DC64`
186
- - Use: Title/author search — green focus ring
187
-
188
- ### Cards
189
-
190
- **Webtoon Thumbnail Card**
191
- - Background: transparent (cover art fills)
192
- - Border: none
193
- - Radius: 8px (cover), `50%` for character/round thumbs
194
- - Aspect: vertical poster (commonly ~3:4) or square in some rows
195
- - Hover: subtle scale ~1.03 + title emphasis
196
- - Use: The atomic unit of every browse row/grid — the art is the card, chrome stays off it
197
-
198
- **Info Card (title detail header)**
199
- - Background: `#FFFFFF`
200
- - Border: none
201
- - Radius: 12px
202
- - Padding: 20px
203
- - Shadow: `0px 2px 8px rgba(0,0,0,0.06)`
204
- - Use: Title-detail header — cover, title, author, genre, rating, 구독 CTA
139
+ - Text: `#000000`
140
+ - Radius: `0px`
141
+ - Padding: `0px 65px 0px 10px`
142
+ - Font: `14px / 400 Pretendard`
143
+ - Use: Product-home header search input; `home::[data-omd-capture="4"]`.
205
144
 
206
- ### Badges / Chips
145
+ ### Creator entry
207
146
 
208
- **UP / New Badge**
147
+ **Default**
209
148
  - Background: `#00DC64`
210
- - Text: `#FFFFFF`
211
- - Border: none
212
- - Radius: 4px
213
- - Padding: 1px 5px
214
- - Font: 11px / 700 / Pretendard
215
- - Use: The signature "UP" / new-episode flag on thumbnails — the green ritual
216
-
217
- **Genre / Day Chip**
218
- - Background: `#F7F7F7`
149
+ - Text: `#000000`
150
+ - Radius: `4px`
151
+ - Padding: `11px 33px`
152
+ - Font: `12px / 400 Pretendard`
153
+ - Use: Product global-navigation creator entry; `home::[data-omd-capture="14"]`.
154
+
155
+ ### Content tab
156
+
157
+ **Default**
219
158
  - Text: `#666666`
220
- - Border: none
221
- - Radius: 999px
222
- - Padding: 6px 14px
223
- - Font: 13px / 500 / Pretendard
224
- - Active: `#00DC64` bg + `#FFFFFF` text
225
- - Use: 요일별 day tabs, genre filters
226
-
227
- **Rating Badge**
228
- - Background: transparent
229
- - Text: `#FFB300`
230
- - Font: 12px / 700 / Pretendard
231
- - Use: 별점 average beside a star
232
-
233
- ### Tabs / Nav
234
-
235
- **Day-of-Week Tab (요일별)**
236
- - Active text: `#00DC64`
237
- - Inactive text: `#999999`
238
- - Indicator: 2px `#00DC64` underline (active)
239
- - Font: 15px / 600 / Pretendard
240
- - Use: 월/화/수/목/금/토/일 + 완결 switcher — the core browse organizer
241
-
242
- **Bottom Tab (Active)**
243
- - Active icon/text: `#1A1A1A` (with green accent on the primary tab)
244
- - Inactive: `#BBBBBB`
245
- - Border: 1px solid `#EEEEEE` (top only)
246
- - Font: 11px / 500 / Pretendard
247
- - Use: 웹툰 / 베스트도전 / MY / etc.
248
-
249
- ### Toasts
250
-
251
- **Snackbar**
252
- - Background: `#1A1A1A`
253
- - Text: `#FFFFFF`
254
- - Border: none
255
- - Radius: 8px
256
- - Padding: 12px 16px
257
- - Shadow: `0px 4px 12px rgba(0,0,0,0.16)`
258
- - Font: 14px / 500 / Pretendard
259
- - Use: "관심웹툰에 추가했어요" transient feedback, 3s auto-dismiss
159
+ - Font: `15px / 500 Pretendard`
160
+ - Use: Unselected product content tab; `home::[data-omd-capture="16"]`.
161
+ - Selected: Text `#00DC64`; observed at `home::[data-omd-capture="17"]` and in the captured tab interaction.
260
162
 
261
- ---
163
+ ### Tag link
262
164
 
263
- **Verified:** 2026-05-27
264
- **Tier 1 sources:** comic.naver.com (WebFetch blocked — bot-protected; visual atmosphere from prior knowledge + brand search). WT GREEN `#00DC64` (RGB 0,220,100) confirmed via brand search (logos-world / 1000logos brand-palette records + WEBTOON Canvas logo guidelines lineage). Product grays/blacks/component geometry follow Naver web conventions — not live-inspected tokens.
265
- **Tier 2 sources:** getdesign.md/naverwebtoon — not checked. styles.refero.design — not checked.
266
- **Conflicts unresolved:** Live computed-style inspection unavailable (comic.naver.com blocks automated fetch). All §4 component values flagged conventional; WT GREEN `#00DC64` is the one verified token. A future UPDATE pass with browser inspection should re-confirm component geometry.
165
+ **Default**
166
+ - Background: `#F6F6F6`
167
+ - Text: `#666666`
168
+ - Radius: `4px`
169
+ - Padding: `0px 10px`
170
+ - Font: `14px / 500 Pretendard`
171
+ - Use: Product-home tag link; `home::[data-omd-capture="64"]`.
267
172
 
268
- ## 5. Layout Principles
173
+ The same class also appears at 16px/500/37px on the home route. That is an observed route-local size record, not a generalized size scale.
269
174
 
270
- ### Spacing System
271
- - Base unit: 8px
272
- - Common values: 4, 8, 12, 16, 20, 24, 32
273
- - Grid gutter: ~12px between thumbnails; ~24px between content rows
175
+ ### Pagination
274
176
 
275
- ### Grid & Container
276
- - Browse: responsive thumbnail grid — 3–4 cols mobile, 6+ desktop, within a max content width (~1200px)
277
- - Day-tabs row sticky near the top organizing the whole browse
278
- - Viewer: single-column full-width vertical scroll, the strip fills the reading width
177
+ **Selected page**
178
+ - Text: `#00DC64`
179
+ - Font: `14px / 500 Pretendard`
180
+ - Use: Best Challenge selected page; `surface-3::[data-omd-capture="133"]`.
181
+ - Disabled: A disabled previous control is statically observed at `surface-3::[data-omd-capture="132"]` with `#000000`; no reusable disabled treatment is inferred from that single observation.
279
182
 
280
- ### Whitespace Philosophy
281
- - **The grid is the design.** Chrome (tabs, ranks, chips) is calm and compact so cover art carries the color and energy.
282
- - **Two densities.** Discovery is tight and scannable (many titles per screen); the reading viewer is spacious and focused (one strip, nothing else).
283
- - **Scannable info layer.** Ranking numbers, UP badges, and day tabs form a consistent, low-chrome overlay on the art.
183
+ Only tab selection has interaction provenance in the supplied bundle (`interactionCount: 7`). No hover, pressed, focus, menu, dialog, error, toast, responsive, card, thumbnail, reading-viewer, or checkout variant is asserted.
284
184
 
285
- ### Border Radius Scale
286
- - Compact (4px): UP/new badges, inline flags
287
- - Standard (8px): buttons, inputs, thumbnail cards
288
- - Comfortable (12px): info cards, detail headers
289
- - Pill (999px): genre/day chips
290
- - Circle (50%): character/round thumbnails, avatars
185
+ ---
186
+ **Verified:** 2026-07-13
187
+ **Tier 1 sources:** `https://comic.naver.com/index` (product home), `https://comic.naver.com/webtoon` (product browse), `https://comic.naver.com/bestChallenge` (product creator discovery), `https://about.webtoon.com/` and `https://about.webtoon.com/our-brands?company=naverWebtoon` (official company and service context), `https://github.com/orioncactus/pretendard/blob/main/packages/pretendard/docs/en/README.md` (upstream font distribution/design), `https://github.com/orioncactus/pretendard/blob/main/LICENSE` (upstream font licence)
188
+ **Tier 2 sources:** `https://getdesign.md/naverwebtoon` (attempted; built-in web open safe-open failure and no search record), `https://styles.refero.design/?q=naver%20webtoon` (attempted; built-in web open safe-open failure and no search record)
189
+ **Conflicts unresolved:** none
291
190
 
292
- ## 6. Depth & Elevation
191
+ The legacy prose-derived token sheet, hover/pressed/focus treatments, reader and payment states, logo-color assertions, shadow ladder, universal spacing/radius rules, and unobserved component variants were removed because the supplied 2026 capture does not substantiate them.
293
192
 
294
- | Level | Treatment | Use |
295
- |-------|-----------|-----|
296
- | Flat (0) | No shadow | Browse grid, thumbnails (the gutter separates them) |
297
- | Subtle (1) | `0px 2px 8px rgba(0,0,0,0.06)` | Info cards, detail headers |
298
- | Floating (2) | `0px 4px 12px rgba(0,0,0,0.12)` | Dropdowns, sticky tab bar on scroll |
299
- | Toast (3) | `0px 4px 12px rgba(0,0,0,0.16)` | Snackbars |
193
+ ## 5. Layout Principles
300
194
 
301
- **Shadow philosophy.** On the bright white grid, shadows are minimal thumbnails are separated by the gutter, not by drop shadows, so the art reads edge-to-edge. Elevation appears only where chrome floats (sticky tabs, dropdowns, toasts). Soft, neutral, single-layer. In the dark reading viewer, depth (if any) comes from surface lightness, not shadow.
195
+ The capture establishes a 1440×900 view of three public product routes, not a responsive layout system. Observed geometry includes a 35px header search input, a 39px creator entry, 21px content tabs, 30px and 37px tag links, and a 45px green weekday heading. It does not establish breakpoints, a reusable grid, poster aspect ratios, sticky behavior, or reader layout rules.
196
+
197
+ ## 6. Depth & Elevation
198
+
199
+ The documented search, creator entry, tabs, tags, weekday heading, and pagination samples all report `box-shadow: none`. No elevation token is promoted.
302
200
 
303
201
  ## 7. Do's and Don'ts
304
202
 
305
203
  ### Do
306
- - Use WT Green `#00DC64` for the logo, primary CTA, UP badge, and active selection
307
- - Keep the browse canvas white and let cover art supply the color
308
- - Render ranking numbers, episode numbers, and counts as first-class tabular typography
309
- - Use the UP badge (green, 4px radius) consistently as the new-episode signal
310
- - Give the reading viewer maximum focus — strip fills the screen, chrome hides
311
204
 
312
- ### Don't
313
- - Don't put drop shadows or borders on thumbnail cards the gutter separates them
314
- - Don't introduce a second saturated accent competing with the green
315
- - Don't crowd the reading viewer with chrome — reading is a focused mode
316
- - Don't use all-caps or marketing-shouty type on the grid
317
- - Don't tint the browse canvas — white keeps the cover art vivid
205
+ - Reuse only the selector-backed white, black, gray, and green treatments documented above when recreating these specific public-route patterns.
206
+ - Preserve the selected/unselected tab color split only in contexts with the captured tab semantics.
207
+ - Keep `Pretendard` as the product UI family only where a compatible loaded-font path is available.
318
208
 
319
- ## 8. Responsive Behavior
209
+ ### Don't
320
210
 
321
- ### Breakpoints
322
- | Name | Width | Key Changes |
323
- |------|-------|-------------|
324
- | Mobile (Primary) | <768px | 3–4 thumbnails per row, bottom tab nav, swipeable day tabs |
325
- | Tablet | 768–1024px | 4–5 per row, condensed top nav |
326
- | Desktop (Web) | >1024px | 6+ per row, full top nav, max ~1200px content |
211
+ - Don't treat the inherited NAVER utility shell as a NAVER WEBTOON product-token source.
212
+ - Don't substitute `Pretendard Variable`, `NanumSquare`, or another declared font for the verified computed `Pretendard` family.
213
+ - Don't infer card, reader, payment, hover, focus, error, or responsive contracts from this three-route capture.
327
214
 
328
- ### Touch & Media
329
- - Thumbnail is the primary touch target; min ~44px controls
330
- - Day-of-week tabs swipeable on mobile
331
- - Reading viewer: vertical scroll, tap-zones for UI toggle, full-bleed strip
215
+ ## 8. Responsive Behavior
332
216
 
333
- ### Image Behavior
334
- - Cover thumbnails: `object-fit: cover`, lazy-loaded, 8px radius
335
- - Reading strip: full reading-width, native aspect, sequential vertical
336
- - Character/round thumbs: 50% circle
217
+ No responsive viewport comparison was supplied. The reference makes no breakpoint, touch-target, image-ratio, or mobile-reader assertion.
337
218
 
338
219
  ## 9. Agent Prompt Guide
339
220
 
340
- ### Quick Color Reference
341
- - Primary CTA / brand / UP: WT Green `#00DC64` (hover `#00C758`)
342
- - Canvas: white `#FFFFFF`; surface `#F7F7F7`; viewer black `#000000`
343
- - Text: primary `#1A1A1A`; body `#666666`; secondary `#999999`
344
- - Divider `#EEEEEE`; like/heart `#FF4D6D`; rating `#FFB300`
345
-
346
- ### Example Component Prompts
347
- - "Build a Webtoon primary CTA: bg `#00DC64`, white 14px/600 text, 8px radius, 10px 18px padding. Hover bg `#00C758`. Disabled bg `#EEEEEE` text `#BBBBBB`."
348
- - "Create a Webtoon browse grid: white `#FFFFFF` bg, responsive grid of vertical cover cards (8px radius, no border, ~12px gutter). Each card: cover image + a green UP badge (`#00DC64`, 4px radius, 11px/700 white, '\''UP'\'') top-left when new + title (15px/600 `#1A1A1A`) + author (13px/400 `#999999`) below."
349
- - "Design a day-of-week tab row: 월~일 + 완결, active text `#00DC64` with a 2px `#00DC64` underline, inactive `#999999`, 15px/600, swipeable."
350
- - "Create a title-detail header card: white bg, 12px radius, `0px 2px 8px rgba(0,0,0,0.06)` shadow, 20px padding. Cover thumb left, title 20px/700, author 13px/400 `#999999`, rating `#FFB300` star + number, green 구독 CTA."
351
-
352
- ### Iteration Guide
353
- 1. WT Green `#00DC64` = logo + primary CTA + UP badge + active state
354
- 2. White canvas; cover art carries the color and energy
355
- 3. Pretendard / Korean system stack, black-on-white with green accents
356
- 4. Numbers (rank/episode/count) are tabular first-class typography
357
- 5. Radius: 4px UP badge, 8px buttons/cards, 12px info cards, 999px chips, 50% round thumbs
358
- 6. Two densities: tight discovery grid, focused reading viewer
359
-
360
- ---
221
+ For a captured content-tab pattern, use `15px / 500 Pretendard`, `#666666` unselected text, and `#00DC64` selected text; retain the state only where tab-selection behavior exists. For the captured header search, use a white, square-cornered 35px field with `0px 65px 0px 10px` padding and `14px / 400 Pretendard`. Do not extend these snippets into a generic WEBTOON app system.
361
222
 
362
223
  ## 10. Voice & Tone
363
224
 
364
- Naver Webtoon speaks like an excited friend who can't wait to show you the next great series — warm, upbeat, second-person, and a little playful, but never spammy. The default register is soft-polite `해요체` (`새 회차가 올라왔어요`, `관심웹툰에 추가했어요`), friendly and young. Korean is the unquestioned primary voice; English appears in title romanizations and the "WEBTOON" wordmark. The energy maps to the green: copy is about *what's new*, *what's hot*, *what you'll love next* — the buzz of discovery.
365
-
366
- | Context | Tone |
367
- |---|---|
368
- | CTAs | Short Korean verb (`첫화 보기`, `정주행`, `구독하기`, `미리보기`). |
369
- | New-content nudges | Upbeat, second person (`기다리던 새 회차가 올라왔어요`). |
370
- | Success toasts | Past-tense single sentence, soft ending (`관심웹툰에 추가했어요`). No emoji on system chrome. |
371
- | Error messages | Blameless, specific, one action (`잠시 후 다시 시도해 주세요`). Never `오류가 발생했습니다`. |
372
- | Empty states | Warm + one action (`아직 관심웹툰이 없어요. 마음에 드는 작품을 추가해 보세요`). |
373
- | Recommendation rows | Energetic, taste-led (`이런 작품 어때요?`, `요즘 뜨는 작품`). |
374
- | Legal / payment (쿠키/대여) | Formal `합니다` register — the single exception. |
375
-
376
- **Forbidden phrases.** `오류가 발생했습니다` (generic error), exclamation-as-pressure stacking, marketing superlatives piled on chrome, English-first strings on Korean surfaces, emoji on system-generated toasts (emoji belongs to user comments, not UI chrome).
377
-
378
- **Voice samples.**
379
- - `첫화 보기` — common read-CTA pattern. <!-- illustrative: follows Naver Webtoon's standard read CTA; comic.naver.com blocks automated verification -->
380
- - `새 회차가 올라왔어요` — illustrative new-episode nudge. <!-- illustrative: follows the UP/new-episode ritual; not verified verbatim -->
381
- - `관심웹툰에 추가했어요` — illustrative subscribe-success toast. <!-- illustrative: not verified as live copy -->
382
- - `요즘 뜨는 작품` — illustrative trending-row header. <!-- illustrative: not verified verbatim -->
225
+ The supplied evidence contains Korean product labels but no official voice guide or verified product-copy inventory. No reusable tone rule, do/don't table, or sample copy is asserted.
383
226
 
384
227
  ## 11. Brand Narrative
385
228
 
386
- Naver Webtoon (네이버웹툰) launched in **2004** inside the Naver portal and effectively *created the modern webtoon* the vertical-scroll, mobile-native digital comic read top-to-bottom rather than page-by-page. By building a free, ad/IP-supported platform open to amateur creators (베스트도전 도전만화 정식 연재), it turned reading comics into a daily habit organized around the 요일별 (day-of-week) release schedule, and turned drawing them into a viable career. The format became a global export; the company (now WEBTOON / Webtoon Entertainment) took the model worldwide and to a US listing.
387
-
388
- The design follows the mission directly: a bright, friendly, low-friction grid that makes *discovering and following* series effortless, and a focused viewer that makes *reading* them comfortable. The WT GREEN `#00DC64` is the emotional core — fresh, young, optimistic — the color of the "UP" badge that says a new episode of the series you love just dropped. That little green flag is a genuine brand ritual: a daily dopamine signal that keeps a generation coming back.
389
-
390
- What Naver Webtoon refuses: the dense, text-heavy seriousness of legacy comic portals, and the dark, cinematic moodiness of video-OTT browse (Webtoon's discovery canvas is bright and buzzy, not a dim lobby). It's a friendly newsstand where the covers do the selling and the green means "new."
229
+ WEBTOON Entertainment describes NAVER WEBTOON as Korea's largest webcomic platform. Its official brands page says it launched in 2005 and enables new and established creators to build an audience and make money from webcomics; it distinguishes BEST CHALLENGE as the self-publishing path for emerging creators. The official company site frames the wider organization as a story-oriented entertainment service and a platform where creators and users discover, create, and share stories. These are service and company facts, not proof of a visual or interaction system beyond the captured routes.
391
230
 
392
231
  ## 12. Principles
393
232
 
394
- 1. **The grid is the design.** Cover art carries the color and energy; chrome whispers. *UI implication:* no borders/shadows on thumbnails; calm, compact tabs/ranks/chips over a white canvas.
395
- 2. **Green means new.** `#00DC64` is the brand and the UP/new-episode signal. *UI implication:* reserve green for the logo, primary CTA, UP badge, and active state — never decoration.
396
- 3. **Two modes, one identity.** Buzzy discovery and quiet reading are distinct densities. *UI implication:* the browse grid is tight and scannable; the reading viewer hides chrome and gives the strip the screen.
397
- 4. **Numbers are content.** Ranks, episode numbers, and counts are first-class. *UI implication:* render them as tabular, high-emphasis typography, not afterthoughts.
398
- 5. **Friendly, never shouty.** The brand is young and warm, not aggressive marketing. *UI implication:* sentence-case, soft `해요체`, no all-caps or exclamation pressure on the grid.
399
- 6. **Daily ritual.** The 요일별 schedule and the UP badge make Webtoon a habit. *UI implication:* surface "what's new for you today" prominently; the green flag is the reward loop.
233
+ 1. **Creator participation.** Official material says the service gives new and established creators ways to build an audience and make money. *UI implication:* the captured global product navigation includes a green creator entry; no broader creator-flow pattern is inferred.
234
+ 2. **Discovery, creation, and sharing.** WEBTOON Entertainment describes its platform around those three participant activities. *UI implication:* no unmeasured navigation, recommendation, or sharing pattern is prescribed here.
235
+ 3. **Emerging-creator publishing.** The official brands page identifies BEST CHALLENGE as the self-publishing path for up-and-coming creators. *UI implication:* the captured Best Challenge route is retained as a distinct product surface rather than generalized to reader browsing.
400
236
 
401
237
  ## 13. Personas
402
238
 
403
- *Personas are fictional archetypes informed by publicly described Korean webtoon-reader segments, not individual people.*
404
-
405
- **다은 (Da-eun), 19, Seoul.** University freshman, reads 8 series across the week, each on its release day. Lives for the green UP badge — checks the app the moment a new episode is due. Reads on the subway in the focused vertical viewer; comments and shares with friends.
406
-
407
- **준호 (Jun-ho), 27, Daejeon.** Office worker and casual reader. Binges completed (완결) series on weekends, spends 쿠키 to unlock ahead. Discovers via the trending and recommendation rows, judges by cover art and rating number first.
408
-
409
- **소민 (So-min), 23, Busan.** Aspiring creator. Posts to 베스트도전 hoping to go pro, reads obsessively to study what works. Treats the platform as both library and career ladder — the open creator pipeline is why she's here.
239
+ This reference does not invent demographic personas. The official context identifies three stakeholder groups: readers/users who discover stories, new and established webcomic creators who build audiences and monetize work, and emerging self-publishers using BEST CHALLENGE. No motivations, demographics, or task flows beyond those official descriptions are asserted.
410
240
 
411
241
  ## 14. States
412
242
 
413
- | State | Treatment |
243
+ | State | Captured treatment |
414
244
  |---|---|
415
- | **Empty (no subscriptions)** | Single `#999999` warm line (`아직 관심웹툰이 없어요`) + one green CTA (`작품 둘러보기`). No clutter on white. |
416
- | **Empty (search no results)** | Single `#999999` caption (`검색 결과가 없어요`). No spammy suggestions. |
417
- | **Loading (grid first paint)** | Thumbnail-shaped skeleton blocks at `#F7F7F7` with a subtle shimmer toward `#EEEEEE`, layout-matched. |
418
- | **Loading (viewer)** | Centered spinner in `#00DC64` over the dim viewer; each panel lazy-loads as you scroll. |
419
- | **Error (load failed)** | Centered `#1A1A1A` line (`불러올 수 없어요. 잠시 후 다시 시도해 주세요`) + green retry. |
420
- | **Error (inline field)** | Input border `#F5444C`, caption below `#F5444C` 12px, one actionable sentence. |
421
- | **Success (subscribed)** | Snackbar `#1A1A1A` white text (`관심웹툰에 추가했어요`), 3s; subscribe CTA fills green-tinted. |
422
- | **Success (cookie purchased)** | Confirmation surface — green checkmark, balance, single `확인`. |
423
- | **Skeleton** | `#F7F7F7` blocks at exact thumbnail dimensions, 8px radius, ~1.2s shimmer to `#EEEEEE`. |
424
- | **Disabled (CTA)** | Green button → bg `#EEEEEE`, text `#BBBBBB`. Geometry unchanged. |
245
+ | Content tab, unselected | `#666666`, 15px/500, `home::[data-omd-capture="16"]` |
246
+ | Content tab, selected | `#00DC64`, 15px/500, `home::[data-omd-capture="17"]`; tab interaction provenance exists |
247
+ | Pagination, selected page | `#00DC64`, 14px/500, `surface-3::[data-omd-capture="133"]` |
248
+ | Pagination, disabled previous | Statically disabled with `#000000`, 14px/500, `surface-3::[data-omd-capture="132"]`; not a generalized disabled rule |
249
+
250
+ No loading, empty, success, error, toast, skeleton, focus, hover, or pressed state was captured for promotion.
425
251
 
426
252
  ## 15. Motion & Easing
427
253
 
428
- Naver Webtoon's motion is light and energetic in discovery, calm and uninterrupted in reading never bouncy enough to feel like a toy, never so still it feels dull.
429
-
430
- **Durations:**
431
-
432
- | Token | Value | Use |
433
- |---|---|---|
434
- | `motion-instant` | 0ms | Toggle flips, UP badge appear |
435
- | `motion-fast` | 150ms | Hover lift, chip select, button press |
436
- | `motion-standard` | 250ms | Thumbnail hover scale, tab switch, sheet open |
437
- | `motion-slow` | 400ms | Banner crossfade, page-to-detail transition |
438
-
439
- **Easings:**
440
-
441
- | Token | Curve | Use |
442
- |---|---|---|
443
- | `ease-standard` | `cubic-bezier(0.4, 0, 0.2, 1)` | Default — most motion |
444
- | `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Modals, sheets, toasts appearing |
445
- | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
446
- | `ease-pop` | `cubic-bezier(0.34, 1.4, 0.64, 1)` | Reserved — UP/new-badge appearance only |
447
-
448
- **Signature motions.**
449
- 1. **Thumbnail hover.** Cover scales `1.0 → 1.03` over `motion-standard / ease-standard` with a subtle title emphasis. No shadow pulse — the scale is the lift.
450
- 2. **UP badge pop.** When a new episode lands, the green UP badge appears with a brief 1.1 scale-pop (`ease-pop`) — the one licensed bit of bounce, because "new episode" deserves a tiny celebration.
451
- 3. **Reading scroll.** The viewer is pure native vertical scroll — no parallax, no transition gimmicks; chrome fades out on scroll-down, back in on tap. Reading must never be interrupted by motion.
452
- 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, hover scales and the UP pop collapse to instant opacity changes; shimmer skeletons become static `#F7F7F7`. No exceptions.
453
-
454
- <!--
455
- OmD v0.1 Sources — Philosophy Layer (sections 10–15)
456
-
457
- Tier 1 (UI tokens, §1–9): comic.naver.com WebFetch BLOCKED (bot-protected) on
458
- 2026-05-27 — no live computed-style inspection was possible. WT GREEN `#00DC64`
459
- (RGB 0,220,100) confirmed via brand search (logos-world.net / 1000logos.net
460
- Webtoon brand-color records + WEBTOON Canvas logo guidelines lineage). All §4
461
- component values and product grays/blacks are CONVENTIONAL (Naver web norms +
462
- documented brand green), not live-inspected tokens — flagged in the §4 footer.
463
-
464
- Tier 2 (founding/narrative): Naver Webtoon launched 2004 inside the Naver
465
- portal; pioneered vertical-scroll mobile webtoons and the 요일별 release model
466
- and amateur-creator pipeline (베스트도전/도전만화); the company became WEBTOON /
467
- Webtoon Entertainment with global + US-listing reach. General industry
468
- knowledge for the format history.
469
-
470
- Voice samples: all four (`첫화 보기`, `새 회차가 올라왔어요`, `관심웹툰에
471
- 추가했어요`, `요즘 뜨는 작품`) are ILLUSTRATIVE patterns following Naver
472
- Webtoon's `해요체` register and UP/new-episode discovery ritual — NOT verified
473
- verbatim, since the site blocked automated inspection.
474
-
475
- Personas (§13) are fictional archetypes. Any resemblance to specific users is
476
- unintended.
477
- -->
254
+ No duration, easing, animation, or reduced-motion behavior was captured. Tab selection is the only observed interaction kind; it establishes state provenance, not a motion token.