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,453 @@
1
+ ---
2
+ id: cjonstyle
3
+ name: CJ ONSTYLE
4
+ display_name_kr: CJ온스타일
5
+ country: KR
6
+ category: ecommerce
7
+ homepage: "https://www.cjonstyle.com"
8
+ primary_color: "#640faf"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.google.com/s2/favicons?domain=cjonstyle.com&sz=128"
12
+ verified: "2026-07-02"
13
+ added: "2026-07-02"
14
+ omd: "0.1"
15
+ tokens:
16
+ source: live-extract
17
+ extracted: "2026-07-02"
18
+ note: "primary = live buy-CTA purple (#640faf, rgb 100,15,175) — CJ ONSTYLE signature violet, 52 bg + 143 fg occurrences; sale/price accent magenta (#ec0040); near-flat (box-shadow none). Body font legacy Nanum Barun Gothic; newer promo/PDP modules use Pretendard."
19
+ colors:
20
+ primary: "#640faf"
21
+ sale: "#ec0040"
22
+ accent-red: "#d53225"
23
+ accent-orange: "#f26d00"
24
+ ink: "#000000"
25
+ ink-nav: "#111111"
26
+ body: "#2a2a2a"
27
+ muted: "#666666"
28
+ muted-alt: "#767676"
29
+ faint: "#929292"
30
+ header-dark: "#26292a"
31
+ canvas: "#ffffff"
32
+ surface: "#f5f5f5"
33
+ surface-alt: "#f0f0f0"
34
+ hairline: "#e5e5e5"
35
+ border-strong: "#b2b2b2"
36
+ on-primary: "#ffffff"
37
+ typography:
38
+ family: { base: "Nanum Barun Gothic", alt: "Pretendard" }
39
+ wordmark: { size: 24, weight: 700, use: "CJ ONSTYLE logotype / page H1, Nanum Barun Gothic" }
40
+ promo-headline: { size: 26, weight: 700, use: "Banner promo headline, Pretendard, white on imagery" }
41
+ cta: { size: 20, weight: 400, use: "PDP 바로구매 buy CTA label" }
42
+ search: { size: 18, weight: 400, use: "Header search input, Pretendard" }
43
+ nav: { size: 15, weight: 400, lineHeight: 1.4, use: "Global nav menu items, Nanum Barun Gothic" }
44
+ submenu: { size: 14, weight: 400, use: "Sub-menu / PDP secondary links" }
45
+ badge: { size: 12, weight: 700, use: "Sale / benefit overlay pills, Pretendard" }
46
+ body: { size: 12, weight: 400, lineHeight: 1.5, use: "Default body / product meta, Nanum Barun Gothic" }
47
+ util: { size: 12, weight: 400, use: "Utility links (로그인/마이존), muted grey" }
48
+ spacing: { xs: 2, sm: 4, base: 8, md: 12, lg: 20, xl: 26, xxl: 48 }
49
+ rounded: { xs: 2, sm: 4, md: 11, lg: 18, full: 9999 }
50
+ shadow:
51
+ none: "none"
52
+ components:
53
+ buy-primary: { type: button, bg: "#640faf", fg: "#ffffff", border: "1px solid #640faf", radius: "4px", height: "60px", font: "20px / 400 Nanum Barun Gothic", use: "PDP 바로구매 primary buy CTA — the single saturated action color" }
54
+ inquiry-button: { type: button, bg: "#640faf", fg: "#ffffff", radius: "4px", height: "40px", font: "14px / 400", use: "PDP 상품문의 secondary purple action" }
55
+ wishlist-button: { type: button, bg: "#ffffff", fg: "#111111", border: "1px solid #b2b2b2", radius: "4px", height: "60px", font: "20px / 400", use: "PDP 찜 wishlist toggle, outlined neutral" }
56
+ sale-badge: { type: badge, fg: "#ffffff", radius: "2px", padding: "0px 8px", font: "12px / 700 Pretendard", use: "Discount/benefit overlay pill on product imagery, rgba(0,0,0,0.2) scrim bg" }
57
+ search-input: { type: input, bg: "#ffffff", fg: "#111111", border: "1px solid #111111", radius: "0px", height: "46px", font: "18px / 400 Pretendard", use: "Header search field, underline style" }
58
+ gnb-tab: { type: tab, fg: "#111111", font: "15px / 400 Nanum Barun Gothic", active: "text #640faf", use: "Global nav items (홈/혜택/TV쇼핑)" }
59
+ detail-tab: { type: tab, fg: "#767676", active: "text #111111 + 1px bottom border #e5e5e5", use: "PDP section tabs (상세설명/리뷰/Q&A)" }
60
+ product-card: { type: card, bg: "#ffffff", border: "1px solid #e5e5e5", radius: "2px", use: "Product grid card on home / listing, near-flat" }
61
+ components_harvested: true
62
+ ---
63
+
64
+ # Design System Inspiration of CJ ONSTYLE
65
+
66
+ ## 1. Visual Theme & Atmosphere
67
+
68
+ CJ ONSTYLE (CJ온스타일) is Korea's flagship TV-home-shopping-and-commerce brand, and its storefront reads exactly as that heritage suggests: a dense, information-rich, conversion-first retail grid rather than an airy editorial site. The canvas is pure white (`#ffffff`) segmented by cool-grey bands (`#f5f5f5`, `#f0f0f0`), and the type sits in unadorned black (`#000000`) and near-black navy-grey (`#111111`, `#2a2a2a`) for maximum scan-ability across hundreds of product tiles. The single saturated brand color is an unmistakable deep violet (`#640faf`, rgb 100,15,175) — the CJ ONSTYLE signature purple — which the system reserves almost exclusively for the primary buy action (the PDP `바로구매` button) and active-state accents, so a shopper's eye is trained to read that one hue as "commit to purchase."
69
+
70
+ The typographic personality is functional and legacy-Korean rather than boutique: body and navigation run in **Nanum Barun Gothic** (나눔바른고딕) — the workhorse hangul UI face — at a dense 12–15px, weight 400, while the wordmark and section heads step up to weight 700. Newer promotional and product-detail modules layer in **Pretendard**, which carries the loud sale copy: banner headlines at 26px/700 and discount badges at 12px/700. This split — quiet Nanum Barun Gothic for the shell, punchy Pretendard for the pitch — is the core tension of the system: calm where it lists, loud where it sells.
71
+
72
+ What distinguishes CJ ONSTYLE from design-forward fintech peers is its near-total absence of elevation. Live inspection returned `box-shadow: none` across the nav, GNB, buy CTA, and product cards; separation comes from flat tinted surfaces and thin `#e5e5e5` hairlines, not shadow. Geometry is overwhelmingly sharp — 0px corners on nav, inputs, and the main buttons — softened only by a dominant 2px micro-radius on the omnipresent sale/benefit overlay pills and a 4px radius on the purchase buttons. The pricing layer adds the second signal color, a hot magenta (`#ec0040`), with promotional module reds (`#d53225`) and oranges (`#f26d00`) reinforcing urgency. The result is a fast, flat, high-density commerce surface engineered for throughput.
73
+
74
+ **Key Characteristics:**
75
+ - Signature deep violet (`#640faf`) reserved for the primary buy CTA and active accents — the single "action" color
76
+ - Magenta (`#ec0040`) as the price/sale accent, with promo reds (`#d53225`) and oranges (`#f26d00`) for urgency
77
+ - Nanum Barun Gothic for the dense shell (nav/body 12–15px), Pretendard for loud promo/PDP copy
78
+ - Black (`#000000`) and near-black (`#111111`, `#2a2a2a`) text on white for maximum tile scan-ability
79
+ - Near-flat depth: `box-shadow: none`; separation via `#f5f5f5`/`#f0f0f0` tints and `#e5e5e5` hairlines
80
+ - Sharp geometry — 0px nav/inputs, 2px sale badges, 4px buy buttons; pills (11px/18px) only on carousel controls
81
+ - Dark utility chrome bar (`#26292a`) and grey utility links (`#767676`, `#929292`, `#666666`)
82
+
83
+ ## 2. Color Palette & Roles
84
+
85
+ ### Primary
86
+ - **CJ ONSTYLE Violet** (`#640faf`): The signature deep purple (rgb 100,15,175). Primary buy-CTA background (`바로구매`, `상품문의`), active-state text, and brand accents. The system's single saturated action color — 52 background and 143 text occurrences in the live scan.
87
+ - **On Primary** (`#ffffff`): White text on the violet buy buttons and dark chrome.
88
+
89
+ ### Sale & Promo Accents
90
+ - **Sale Magenta** (`#ec0040`): The hot pink-red used for discount rates and price emphasis (118 text occurrences). The dominant "deal" signal color.
91
+ - **Promo Red** (`#d53225`): Secondary promotional red for campaign badges and urgency modules.
92
+ - **Promo Orange** (`#f26d00`): Tertiary promotional orange for time-limited / benefit highlights.
93
+
94
+ ### Text Hierarchy
95
+ - **Ink Black** (`#000000`): Default body text and product titles — the dominant foreground (2424 occurrences).
96
+ - **Nav Ink** (`#111111`): Global-nav and menu text, input text — a near-black one notch softer than pure black.
97
+ - **Body Grey** (`#2a2a2a`): Dark secondary body copy and descriptions.
98
+ - **Muted Grey** (`#666666`): Tertiary text, product meta, captions.
99
+ - **Utility Grey** (`#767676`): Utility links (로그인/마이존/장바구니), inactive tab labels.
100
+ - **Faint Grey** (`#929292`): Lowest-emphasis labels, fine print, placeholders.
101
+
102
+ ### Neutral & Surface
103
+ - **Pure White** (`#ffffff`): Page background, card surfaces, text on violet/dark.
104
+ - **Surface Grey** (`#f5f5f5`): Cool-grey tinted surface for content bands and section separation.
105
+ - **Surface Alt** (`#f0f0f0`): A secondary grey surface for alternating blocks.
106
+ - **Hairline** (`#e5e5e5`): Thin borders, tab underlines, and dividers — the primary separation device in the shadow-free system.
107
+ - **Border Strong** (`#b2b2b2`): Heavier outline for neutral/outlined buttons (e.g. the 찜 wishlist toggle).
108
+ - **Chrome Dark** (`#26292a`): Near-black background for the top utility/skip-link chrome bar.
109
+
110
+ ## 3. Typography Rules
111
+
112
+ ### Font Family
113
+ - **Base**: `Nanum Barun Gothic` (나눔바른고딕, with `Malgun Gothic` / Arial fallbacks) — the document default, used for nav, body, product meta, and the wordmark.
114
+ - **Alt**: `Pretendard` (with `Malgun Gothic` fallback) — used in newer promotional banners, sale/benefit badges, and the header search input.
115
+
116
+ ### Hierarchy
117
+
118
+ | Role | Font | Size | Weight | Line Height | Notes |
119
+ |------|------|------|--------|-------------|-------|
120
+ | Wordmark / H1 | Nanum Barun Gothic | 24px | 700 | — | CJ ONSTYLE logotype / page heading |
121
+ | Promo Headline | Pretendard | 26px | 700 | — | Banner promo copy, white on imagery |
122
+ | Buy CTA | Nanum Barun Gothic | 20px | 400 | — | PDP 바로구매 button label |
123
+ | Search | Pretendard | 18px | 400 | — | Header search input |
124
+ | Nav | Nanum Barun Gothic | 15px | 400 | 1.4 | Global nav menu items |
125
+ | Sub-menu | Nanum Barun Gothic | 14px | 400 | — | Sub-menu / PDP secondary links |
126
+ | Badge | Pretendard | 12px | 700 | — | Sale / benefit overlay pills |
127
+ | Body | Nanum Barun Gothic | 12px | 400 | 1.5 (18px) | Default body / product meta |
128
+ | Utility | Nanum Barun Gothic | 12px | 400 | — | Utility links (로그인/마이존) |
129
+
130
+ ### Principles
131
+ - **Two fonts, two jobs**: Nanum Barun Gothic runs the quiet, dense retail shell; Pretendard carries the loud persuasive promo layer. They do not swap roles.
132
+ - **Weight as the only headline signal**: The system leans on weight 700 (vs 400 body) far more than size — there is little display-scale typography beyond the 24–26px heads.
133
+ - **Dense sizing for throughput**: Body sits at a compact 12px with 18px line-height, optimized for packing many product tiles and price rows above the fold.
134
+ - **Sale copy shouts, product copy whispers**: Discount rates and benefit badges use bold Pretendard and the magenta/violet palette; product titles stay plain black.
135
+
136
+ ## 4. Component Stylings
137
+
138
+ ### Buttons
139
+
140
+ **Buy Primary (바로구매)**
141
+ - Background: `#640faf`
142
+ - Text: `#ffffff`
143
+ - Border: 1px solid `#640faf`
144
+ - Radius: 4px
145
+ - Height: 60px
146
+ - Font: 20px / 400 / Nanum Barun Gothic
147
+ - Use: Product-detail primary buy CTA — the system's single saturated action color
148
+
149
+ **Inquiry (상품문의)**
150
+ - Background: `#640faf`
151
+ - Text: `#ffffff`
152
+ - Radius: 4px
153
+ - Height: 40px
154
+ - Font: 14px / 400
155
+ - Use: PDP secondary purple action (product inquiry)
156
+
157
+ **Wishlist (찜)**
158
+ - Background: `#ffffff`
159
+ - Text: `#111111`
160
+ - Border: 1px solid `#b2b2b2`
161
+ - Radius: 4px
162
+ - Height: 60px
163
+ - Font: 20px / 400
164
+ - Use: PDP wishlist toggle — outlined neutral counterpart to the buy CTA
165
+
166
+ ### Inputs
167
+
168
+ **Header Search**
169
+ - Background: `#ffffff`
170
+ - Text: `#111111`
171
+ - Border: 1px solid `#111111`
172
+ - Radius: 0px
173
+ - Height: 46px
174
+ - Font: 18px / 400 / Pretendard
175
+ - Use: Header search field, underline style (bottom rule)
176
+
177
+ ### Cards & Containers
178
+
179
+ **Product Card**
180
+ - Background: `#ffffff`
181
+ - Border: 1px solid `#e5e5e5`
182
+ - Radius: 2px
183
+ - Use: Product grid tile on home / listing — near-flat, no shadow
184
+
185
+ ### Badges
186
+
187
+ **Sale / Benefit Pill**
188
+ - Text: `#ffffff`
189
+ - Radius: 2px
190
+ - Padding: 0px 8px
191
+ - Font: 12px / 700 / Pretendard
192
+ - Use: Discount/benefit overlay on product imagery, sitting on a `rgba(0,0,0,0.2)` scrim with a `rgba(255,255,255,0.3)` hairline
193
+
194
+ ### Tabs
195
+
196
+ **Global Nav (GNB)**
197
+ - Text: `#111111`
198
+ - Font: 15px / 400 / Nanum Barun Gothic
199
+ - Active: violet `#640faf` text on active item
200
+ - Use: Top navigation (홈, 혜택, TV쇼핑, 카테고리)
201
+
202
+ **PDP Section Tab**
203
+ - Text: `#767676`
204
+ - Active: `#111111` text + 1px bottom border `#e5e5e5`
205
+ - Use: Product-detail section tabs (상세설명, 리뷰, Q&A)
206
+
207
+ ### Chrome & Carousel
208
+
209
+ **Utility / Skip-link Bar**
210
+ - Background: `#26292a`
211
+ - Text: `#ffffff`
212
+ - Padding: 0px 20px 0px 26px
213
+ - Height: 34px
214
+ - Use: Top accessibility skip-link / utility chrome bar
215
+
216
+ **Carousel Control**
217
+ - Background: `#ffffff`
218
+ - Border: 1px solid `#b2b2b2`
219
+ - Radius: 18px (prev/next), 50% (pause)
220
+ - Height: 36px
221
+ - Use: Hero banner carousel prev/next/pause controls
222
+
223
+ ---
224
+
225
+ **Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect, 2 surfaces)
226
+ **Tier 1 sources:** https://www.cjonstyle.com, https://display.cjonstyle.com/p/item/2086524438, https://medium.com/cj-onstyle
227
+ **Tier 2 sources:** getdesign.md/cjonstyle (app-shell only, no CJ ONSTYLE entry); styles.refero.design/?q=cjonstyle (not listed — generic browse grid)
228
+ **Conflicts unresolved:** none (Tier 2 supplied no CJ ONSTYLE data to conflict)
229
+
230
+ ## 5. Layout Principles
231
+
232
+ ### Spacing System
233
+ - Base unit: ~8px, dense at the small end (2px, 4px, 8px)
234
+ - Scale: 2px, 4px, 8px, 12px, 20px, 26px, 48px
235
+ - Notable: sale-badge padding lands at `0px 8px`; the utility bar uses asymmetric `0px 20px 0px 26px` — spacing is tuned per-module rather than from a strict global token set (legacy retail grid)
236
+
237
+ ### Grid & Container
238
+ - Fixed-width centered content column with a persistent header: utility chrome bar (`#26292a`), logo + search + GNB, then a dense product grid
239
+ - Home is a stack of full-width promotional banners over multi-column product tile grids
240
+ - PDP is a two-column layout (media left, buy panel right) with a sticky/prominent violet buy CTA
241
+ - Sections alternate white (`#ffffff`) and tinted grey (`#f5f5f5`, `#f0f0f0`) bands
242
+
243
+ ### Whitespace Philosophy
244
+ - **Density over air**: as a high-catalog commerce surface, tiles are packed tightly; whitespace is minimal and purposeful, prioritizing products-per-viewport.
245
+ - **Flat segmentation**: bands separate by background tint and `#e5e5e5` hairlines, never by shadow.
246
+ - **Signal by color, not space**: emphasis is created with the violet CTA and magenta price, not with generous margins.
247
+
248
+ ### Border Radius Scale
249
+ - Micro (2px): sale/benefit badges, product cards — the dominant rounding (×225 in scan)
250
+ - Small (4px): buy / inquiry / wishlist buttons
251
+ - Chip (11px): pill chips and small controls
252
+ - Control (18px): carousel prev/next controls
253
+ - Full (9999px / 50%): circular carousel pause / round controls
254
+
255
+ ## 6. Depth & Elevation
256
+
257
+ | Level | Treatment | Use |
258
+ |-------|-----------|-----|
259
+ | Flat (Level 0) | No shadow | Page background, product tiles, nav, buttons |
260
+ | Tint (Level 1) | `#f5f5f5` / `#f0f0f0` background shift | Card/section separation without elevation |
261
+ | Hairline (Level 2) | `1px solid #e5e5e5` border | Card outlines, tab underlines, dividers |
262
+ | Scrim (Level 3) | `rgba(0,0,0,0.2)` overlay on imagery | Sale badges + text legibility over product photos |
263
+
264
+ **Shadow Philosophy**: CJ ONSTYLE is a near-shadowless commerce system. Live inspection found `box-shadow: none` across the header, GNB, buy CTA, and product cards. Depth and grouping are communicated through flat tinted surfaces (`#f5f5f5`, `#f0f0f0`) and thin `#e5e5e5` hairlines, with a translucent black scrim (`rgba(0,0,0,0.2)`) used only to keep white badge text legible over product imagery. This flatness is characteristic of high-density Korean retail: it keeps the grid fast, printable-flat, and free of the heavy card-stack look that would slow scanning across hundreds of tiles.
265
+
266
+ ## 7. Do's and Don'ts
267
+
268
+ ### Do
269
+ - Reserve violet (`#640faf`) for the primary buy action and active states — keep it the single "commit" color
270
+ - Use magenta (`#ec0040`) for discount rates and price emphasis
271
+ - Set body and nav in Nanum Barun Gothic at a dense 12–15px, weight 400
272
+ - Use Pretendard weight 700 for loud promo headlines and sale/benefit badges
273
+ - Separate sections with flat tint (`#f5f5f5`/`#f0f0f0`) and `#e5e5e5` hairlines, not shadows
274
+ - Keep geometry sharp — 0px on nav/inputs, 2px on badges, 4px on buy buttons
275
+ - Use black (`#000000`) / near-black (`#111111`) for product titles for maximum tile scan-ability
276
+ - Overlay sale badges on a `rgba(0,0,0,0.2)` scrim so white text stays legible on imagery
277
+
278
+ ### Don't
279
+ - Spread violet across many elements — it dilutes the single buy-action signal
280
+ - Use drop shadows for elevation — CJ ONSTYLE is a near-flat system
281
+ - Set the shell in Pretendard — Nanum Barun Gothic owns the dense body/nav
282
+ - Use large pill radii on buttons or cards — buttons are 4px, cards 2px; pills only appear on carousel controls
283
+ - Add generous whitespace at the expense of product density — this is a throughput-first catalog
284
+ - Introduce a second saturated action color — violet is the only "commit" hue
285
+ - Use magenta (`#ec0040`) for navigation or non-price UI — it reads exclusively as "deal/price"
286
+
287
+ ## 8. Responsive Behavior
288
+
289
+ ### Breakpoints
290
+ | Name | Width | Key Changes |
291
+ |------|-------|-------------|
292
+ | Mobile | <768px | Single/two-up product grid, hamburger nav, sticky bottom buy bar on PDP |
293
+ | Tablet | 768-1024px | Moderate multi-column tile grid, condensed GNB |
294
+ | Desktop | 1024-1440px | Full fixed-width grid, full GNB, two-column PDP |
295
+
296
+ ### Touch Targets
297
+ - Buy CTA at 60px height, full-width on PDP — an unmistakable primary target
298
+ - Wishlist (찜) at 60px square-ish outlined button
299
+ - Nav items spaced within the header for touch; utility links compact at 12px
300
+
301
+ ### Collapsing Strategy
302
+ - Product grid: multi-column → two-up → single column on narrow viewports
303
+ - GNB: horizontal menu → hamburger / drawer
304
+ - PDP: two-column media+buy panel → stacked, with the violet buy CTA pinned to a sticky bottom bar
305
+ - Promotional banners: maintain full-width, crop imagery, scale the 26px headline down
306
+
307
+ ### Image Behavior
308
+ - Product imagery and banners carry no shadow at any size, consistent with the flat system
309
+ - Sale badges overlay imagery on a translucent scrim to preserve legibility
310
+ - Cards keep 2px radius across breakpoints
311
+
312
+ ## 9. Agent Prompt Guide
313
+
314
+ ### Quick Color Reference
315
+ - Primary buy CTA: CJ ONSTYLE Violet (`#640faf`)
316
+ - Sale / price accent: Magenta (`#ec0040`)
317
+ - Promo red / orange: `#d53225` / `#f26d00`
318
+ - Product title text: Ink Black (`#000000`)
319
+ - Nav / input text: Nav Ink (`#111111`)
320
+ - Secondary / muted text: `#2a2a2a`, `#666666`, `#767676`
321
+ - Background: Pure White (`#ffffff`)
322
+ - Tinted surface: `#f5f5f5` / `#f0f0f0`
323
+ - Hairline / tab underline: `#e5e5e5`
324
+ - Outlined-button border: `#b2b2b2`
325
+ - Dark chrome bar: `#26292a`
326
+
327
+ ### Example Component Prompts
328
+ - "Create a product-detail buy bar: a full-width `바로구매` button, background #640faf, white text, 1px solid #640faf border, 4px radius, 60px height, 20px Nanum Barun Gothic; beside it a square 찜 wishlist button, white background, #111111 text, 1px solid #b2b2b2 border, 4px radius."
329
+ - "Build a product card: white #ffffff background, 1px solid #e5e5e5 border, 2px radius, no shadow. Title in black #000000 12px Nanum Barun Gothic; price in black; a sale badge overlaying the image — white text, 12px/700 Pretendard, 2px radius, 0px 8px padding, on a rgba(0,0,0,0.2) scrim."
330
+ - "Create a global nav: white header with a dark #26292a utility bar above. Nav items 15px Nanum Barun Gothic #111111, violet #640faf on the active item. Header search input, Pretendard 18px, #111111 text, underline style."
331
+ - "Design a promo banner headline: Pretendard 26px weight 700, white text over imagery, with a magenta #ec0040 discount rate emphasized."
332
+
333
+ ### Iteration Guide
334
+ 1. Violet (`#640faf`) is the single buy-action color — don't spread it
335
+ 2. Magenta (`#ec0040`) means price/deal only
336
+ 3. Nanum Barun Gothic for the dense shell; Pretendard for loud promo copy
337
+ 4. No shadows — separate with `#f5f5f5`/`#f0f0f0` tint and `#e5e5e5` hairlines
338
+ 5. Sharp geometry — 0px nav/inputs, 2px badges/cards, 4px buttons
339
+ 6. Text is black/near-black on white for tile scan-ability
340
+ 7. Sale badges sit on a `rgba(0,0,0,0.2)` scrim for legibility over imagery
341
+
342
+ ---
343
+
344
+ ## 10. Voice & Tone
345
+
346
+ CJ ONSTYLE's voice is **brisk, benefit-forward, and deal-driven** — the register of a trusted home-shopping host translating a live pitch into a scannable screen. Copy leads with the offer ("~50%할인", "5%카드", "적립5%") and the concrete product benefit, in plain, high-energy Korean. It treats the shopper as a value-seeker who wants the discount, the terms, and the "buy" path with minimal friction. Where a fintech might reassure, CJ ONSTYLE motivates.
347
+
348
+ | Context | Tone |
349
+ |---|---|
350
+ | Promo headlines | High-energy, offer-first. "빕스바우처 ~56%". Numbers and rates lead. |
351
+ | Benefit badges | Terse, factual perks. "적립5%", "카드 5%", "네이버포인트". |
352
+ | Buy CTAs | Direct imperatives. "바로구매", "장바구니", "상품문의". |
353
+ | Product titles | Descriptive, spec-forward, plain black text. |
354
+ | Utility / nav | Neutral and functional. "로그인", "마이존", "카테고리". |
355
+
356
+ **Voice samples (verbatim from live surfaces):**
357
+ - "바로구매" — PDP primary buy CTA (direct commit imperative). *(verified live 2026-07-02)*
358
+ - "빕스바우처 ~56%" — promo banner headline (offer-first, rate leads). *(verified live 2026-07-02)*
359
+ - "적립5% / 카드 5% / 네이버포인트" — benefit overlay badges (terse perks). *(verified live 2026-07-02)*
360
+
361
+ **Forbidden register**: vague lifestyle poetry with no offer, undefined jargon, hesitant hedging on price, and low-contrast "quiet luxury" copy that hides the deal. The deal is the message.
362
+
363
+ ## 11. Brand Narrative
364
+
365
+ CJ ONSTYLE (CJ온스타일) is the commerce arm of Korea's CJ Group, born from the country's pioneering TV home-shopping business (CJ오쇼핑 / CJ홈쇼핑) and relaunched under the **CJ ONSTYLE** brand in **2021** as a converged "live commerce + mobile shopping" platform. The rebrand unified CJ's TV broadcast, mobile app, and web storefront into a single style-and-living destination — the name itself fuses "ON" (always-on, on-air, online) with "STYLE," signaling the shift from a channel you watch to a shopping surface you live in.
366
+
367
+ The product DNA is unmistakably retail-television: a host's job is to make the value legible in seconds and move the viewer to purchase before the segment ends. That urgency is baked into the digital surface — the offer leads, the benefit badges stack, and the violet buy button is never more than a glance away. CJ ONSTYLE positions itself as a curated style-and-home destination rather than a bargain-bin marketplace, which is why the chrome stays clean and black-on-white while the promotional layer carries the color and noise.
368
+
369
+ What the design refuses: the heavy, decorative card-stacking of legacy portals (it stays flat and fast) and the cold minimalism of design-boutique commerce (it keeps the deal loud). What it embraces: density that respects a catalog of thousands of SKUs, a single trustworthy violet for the commit action, and a magenta price accent that reads instantly as "here is the deal."
370
+
371
+ ## 12. Principles
372
+
373
+ 1. **The offer leads.** Home shopping sells the value first. *UI implication:* surface discount rate, benefit badges, and price before secondary detail; let the magenta (`#ec0040`) price accent do the pulling.
374
+ 2. **One color means "buy."** Violet (`#640faf`) is the commit signal. *UI implication:* reserve the saturated violet for the primary buy CTA and active states — never dilute it across decorative chrome.
375
+ 3. **Density is a feature, not a flaw.** A catalog of thousands must be scannable. *UI implication:* pack tiles tightly, keep type dense (12px body), and prefer tint/hairline separation over space-hungry cards.
376
+ 4. **Flat and fast.** Elevation slows a high-traffic grid. *UI implication:* no shadows; separate with `#f5f5f5`/`#f0f0f0` tint and `#e5e5e5` hairlines; keep the page quick to paint and scan.
377
+ 5. **Quiet shell, loud pitch.** *UI implication:* Nanum Barun Gothic black-on-white for the navigation and product chrome; Pretendard bold plus the violet/magenta palette for the promotional layer.
378
+
379
+ ## 13. Personas
380
+
381
+ *Personas below are fictional archetypes informed by publicly observable CJ ONSTYLE user segments (TV-home-shopping loyalists, mobile deal-seekers, style-and-home shoppers), not individual people.*
382
+
383
+ **이영숙, 54, 대전.** A long-time TV home-shopping viewer who now buys through the app during and after broadcasts. Trusts the CJ ONSTYLE brand and the host's pitch; wants the offer, the card benefit, and the buy button obvious without hunting.
384
+
385
+ **박지훈, 33, 서울.** A mobile-first deal-seeker who scans the home grid for the day's best discounts. Values density — he wants to compare many tiles and rates fast — and taps the violet 바로구매 the moment the price and points add up.
386
+
387
+ **최은정, 41, 경기.** A style-and-home shopper browsing curated fashion and living categories. Appreciates the clean black-on-white product chrome that lets the merchandise photography carry the page, with the deal badges layered only where they add value.
388
+
389
+ ## 14. States
390
+
391
+ | State | Treatment |
392
+ |---|---|
393
+ | **Empty (no search results)** | White canvas. Single black (`#000000`) line explaining no matching products, with a path back to categories. No decorative illustration. |
394
+ | **Empty (empty cart)** | Muted grey (`#666666`) line: nothing in the cart yet, plus a violet CTA back to shopping. Calm, functional. |
395
+ | **Loading (grid fetch)** | Skeleton tiles on `#f5f5f5` at final card dimensions, 2px radius. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
396
+ | **Loading (buy action)** | Inline spinner within the violet buy button; button stays `#640faf` and disables to prevent double-submit. |
397
+ | **Error (payment/checkout failed)** | Inline message in near-black (`#111111`) with a plain-language cause and a retry path. States what to do next, not just a generic failure. |
398
+ | **Error (form validation)** | Field-level message below the input; describes what is valid (e.g. address, card), not just "필수". |
399
+ | **Success (order placed)** | Confirmation screen with order summary; next-step detail (delivery, tracking) linked immediately. Restrained tone, no confetti. |
400
+ | **Skeleton** | `#f5f5f5` blocks at final tile dimensions, 2px radius, flat pulse. |
401
+ | **Sold out / unavailable** | Buy CTA switches to a disabled grey state; the violet is removed so "buy" is never implied when unavailable. |
402
+ | **Disabled** | Faint grey (`#929292`) text on reduced-opacity surface; violet actions fade rather than switch hue, preserving the brand read. |
403
+
404
+ ## 15. Motion & Easing
405
+
406
+ **Durations**:
407
+
408
+ | Token | Value | Use |
409
+ |---|---|---|
410
+ | `motion-fast` | 120ms | Hover, tap feedback, focus |
411
+ | `motion-standard` | 200ms | Tile/section reveal, dropdown, tab switch |
412
+ | `motion-slow` | 400ms | Hero banner carousel auto-advance transition |
413
+
414
+ **Easings**:
415
+
416
+ | Token | Curve | Use |
417
+ |---|---|---|
418
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — dropdowns, sheets, tiles |
419
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
420
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions, carousel slide |
421
+
422
+ **Motion rules**: Motion is functional and quiet — consistent with the flat, high-throughput grid. The hero banner carousel auto-advances on a slow cadence with a horizontal slide; tap feedback on buttons and tiles is a subtle opacity/scale shift. Nothing bounces or springs — a commerce grid signals reliability and speed, not playfulness. Under `prefers-reduced-motion: reduce`, the carousel stops auto-advancing and all transitions collapse to instant; the storefront remains fully functional.
423
+
424
+ <!--
425
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
426
+
427
+ Tier 1 live inspect (2026-07-02) via playwright getComputedStyle on
428
+ https://www.cjonstyle.com (→ display.cjonstyle.com/p/homeTab/main) and
429
+ https://display.cjonstyle.com/p/item/2086524438:
430
+ - Buy CTA "바로구매" — bg rgb(100,15,175) #640faf / white text / 4px radius / 60px height / 20px
431
+ - Sale/benefit badges "적립5%","카드 5%","~50%할인" — white 12px/700 Pretendard on rgba(0,0,0,0.2) scrim / 2px radius
432
+ - Promo banner headline "빕스바우처 ~56%" — Pretendard 26px/700 white
433
+ - GNB nav — Nanum Barun Gothic 15px #111111; body default #000000 12px/18px
434
+ - box-shadow none across nav/GNB/buy CTA/cards (near-flat system)
435
+ - document.title "홈 | CJ온스타일"
436
+
437
+ Token-level claims (§1-9) are sourced from this live inspection (see .verification.md Proof block).
438
+
439
+ Voice samples (§10) are verbatim from live surfaces (PDP buy CTA, promo banner headline, benefit badges).
440
+
441
+ Brand narrative (§11): CJ ONSTYLE is the CJ Group commerce brand relaunched in 2021 from
442
+ CJ오쇼핑/CJ홈쇼핑 (TV home shopping) as a converged live-commerce + mobile platform. These are
443
+ widely documented public facts about the company; specific details beyond the homepage are
444
+ general public knowledge, not directly quoted from a verified CJ ONSTYLE statement in this turn.
445
+
446
+ Personas (§13) are fictional archetypes informed by publicly observable CJ ONSTYLE user
447
+ segments (TV home-shopping loyalists, mobile deal-seekers, style-and-home shoppers). Names
448
+ are illustrative; they do not refer to real people.
449
+
450
+ Interpretive claims (e.g., "the offer leads", "one color means buy", "quiet shell, loud pitch")
451
+ are editorial readings connecting CJ ONSTYLE's observed design to its home-shopping heritage,
452
+ not directly sourced CJ ONSTYLE statements.
453
+ -->