zugzbot 1.2.0 → 1.4.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 (786) hide show
  1. package/.opencode/agents/sdd-coder.md +5 -4
  2. package/.opencode/agents/sdd-orchestrator.md +11 -10
  3. package/.opencode/agents/sdd-spec-writer.md +3 -4
  4. package/.opencode/commands/loop.md +1 -1
  5. package/.opencode/plugins/loop-enforcer.ts +0 -1
  6. package/.opencode/plugins/sdd-bridge.ts +1 -1
  7. package/.opencode/rules/sdd-global.md +8 -0
  8. package/.opencode/scripts/lint-charts.js +1 -2
  9. package/.opencode/skills/sdd-foundation-overview/SKILL.md +3 -4
  10. package/.opencode/skills/sdd-methodology/SKILL.md +8 -10
  11. package/.opencode/skills/sdd-quickstart/SKILL.md +5 -9
  12. package/.opencode/skills/shadcn-templates/SKILL.md +93 -32
  13. package/.opencode/templates/nextjs-shadcn/components.json +4 -1
  14. package/.opencode/tools/sdd_bootstrap.ts +21 -0
  15. package/.opencode/tools/sdd_catalog.ts +1040 -0
  16. package/.opencode/tools/sdd_core.ts +8 -6
  17. package/.opencode/tools/sdd_lucide.ts +112 -0
  18. package/README.md +1 -7
  19. package/opencode.json +0 -10
  20. package/package.json +1 -3
  21. package/.opencode/oh-my-design/design-md/11st/.verification.md +0 -37
  22. package/.opencode/oh-my-design/design-md/11st/DESIGN.md +0 -400
  23. package/.opencode/oh-my-design/design-md/17live/DESIGN.md +0 -467
  24. package/.opencode/oh-my-design/design-md/29cm/DESIGN.md +0 -495
  25. package/.opencode/oh-my-design/design-md/29cm/_promo.json +0 -23
  26. package/.opencode/oh-my-design/design-md/29cm/_research.md +0 -103
  27. package/.opencode/oh-my-design/design-md/3o3/.verification.md +0 -73
  28. package/.opencode/oh-my-design/design-md/3o3/DESIGN.md +0 -454
  29. package/.opencode/oh-my-design/design-md/91app/.verification.md +0 -25
  30. package/.opencode/oh-my-design/design-md/91app/DESIGN.md +0 -182
  31. package/.opencode/oh-my-design/design-md/abema/.verification.md +0 -64
  32. package/.opencode/oh-my-design/design-md/abema/DESIGN.md +0 -535
  33. package/.opencode/oh-my-design/design-md/ably/DESIGN.md +0 -646
  34. package/.opencode/oh-my-design/design-md/ably/_promo.json +0 -18
  35. package/.opencode/oh-my-design/design-md/ably/_research.md +0 -120
  36. package/.opencode/oh-my-design/design-md/accupass/.verification.md +0 -66
  37. package/.opencode/oh-my-design/design-md/accupass/DESIGN.md +0 -494
  38. package/.opencode/oh-my-design/design-md/adobe/.verification.md +0 -63
  39. package/.opencode/oh-my-design/design-md/adobe/DESIGN.md +0 -458
  40. package/.opencode/oh-my-design/design-md/airbnb/.verification.md +0 -143
  41. package/.opencode/oh-my-design/design-md/airbnb/DESIGN.md +0 -639
  42. package/.opencode/oh-my-design/design-md/airbnb/README.md +0 -23
  43. package/.opencode/oh-my-design/design-md/airbnb/preview-dark.html +0 -234
  44. package/.opencode/oh-my-design/design-md/airbnb/preview.html +0 -233
  45. package/.opencode/oh-my-design/design-md/airtable/.verification.md +0 -136
  46. package/.opencode/oh-my-design/design-md/airtable/DESIGN.md +0 -314
  47. package/.opencode/oh-my-design/design-md/airtable/README.md +0 -23
  48. package/.opencode/oh-my-design/design-md/airtable/preview-dark.html +0 -165
  49. package/.opencode/oh-my-design/design-md/airtable/preview.html +0 -164
  50. package/.opencode/oh-my-design/design-md/alipay/DESIGN.md +0 -506
  51. package/.opencode/oh-my-design/design-md/amazingtalker/.verification.md +0 -38
  52. package/.opencode/oh-my-design/design-md/amazingtalker/DESIGN.md +0 -434
  53. package/.opencode/oh-my-design/design-md/appier/DESIGN.md +0 -465
  54. package/.opencode/oh-my-design/design-md/apple/.verification.md +0 -162
  55. package/.opencode/oh-my-design/design-md/apple/DESIGN.md +0 -613
  56. package/.opencode/oh-my-design/design-md/apple/README.md +0 -24
  57. package/.opencode/oh-my-design/design-md/apple/preview-dark.html +0 -420
  58. package/.opencode/oh-my-design/design-md/apple/preview.html +0 -414
  59. package/.opencode/oh-my-design/design-md/baemin/.verification.md +0 -132
  60. package/.opencode/oh-my-design/design-md/baemin/DESIGN.md +0 -578
  61. package/.opencode/oh-my-design/design-md/baemin/README.md +0 -19
  62. package/.opencode/oh-my-design/design-md/baemin/_research.md +0 -84
  63. package/.opencode/oh-my-design/design-md/banksalad/DESIGN.md +0 -688
  64. package/.opencode/oh-my-design/design-md/banksalad/_promo.json +0 -29
  65. package/.opencode/oh-my-design/design-md/banksalad/_research.md +0 -190
  66. package/.opencode/oh-my-design/design-md/bilibili/DESIGN.md +0 -471
  67. package/.opencode/oh-my-design/design-md/bithumb/.verification.md +0 -31
  68. package/.opencode/oh-my-design/design-md/bithumb/DESIGN.md +0 -208
  69. package/.opencode/oh-my-design/design-md/bmw/.verification.md +0 -114
  70. package/.opencode/oh-my-design/design-md/bmw/DESIGN.md +0 -360
  71. package/.opencode/oh-my-design/design-md/bmw/README.md +0 -23
  72. package/.opencode/oh-my-design/design-md/bmw/preview-dark.html +0 -211
  73. package/.opencode/oh-my-design/design-md/bmw/preview.html +0 -210
  74. package/.opencode/oh-my-design/design-md/brandi/.verification.md +0 -29
  75. package/.opencode/oh-my-design/design-md/brandi/DESIGN.md +0 -414
  76. package/.opencode/oh-my-design/design-md/bunjang/DESIGN.md +0 -374
  77. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/.live-inspect-proof.json +0 -260
  78. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/fonts.json +0 -33
  79. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/logo-icon.svg +0 -10
  80. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/structure.json +0 -131
  81. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/tokens.json +0 -147
  82. package/.opencode/oh-my-design/design-md/cakeresume/.verification.md +0 -25
  83. package/.opencode/oh-my-design/design-md/cakeresume/DESIGN.md +0 -191
  84. package/.opencode/oh-my-design/design-md/cal/.verification.md +0 -145
  85. package/.opencode/oh-my-design/design-md/cal/DESIGN.md +0 -481
  86. package/.opencode/oh-my-design/design-md/cal/README.md +0 -23
  87. package/.opencode/oh-my-design/design-md/cal/preview-dark.html +0 -449
  88. package/.opencode/oh-my-design/design-md/cal/preview.html +0 -575
  89. package/.opencode/oh-my-design/design-md/catchtable/DESIGN.md +0 -341
  90. package/.opencode/oh-my-design/design-md/catchtable/_research.md +0 -54
  91. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/.live-inspect-proof.json +0 -204
  92. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/.live-inspect-raw.json +0 -22
  93. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/fonts.json +0 -21
  94. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/structure.json +0 -42
  95. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/tokens.json +0 -95
  96. package/.opencode/oh-my-design/design-md/cathay/.verification.md +0 -44
  97. package/.opencode/oh-my-design/design-md/cathay/DESIGN.md +0 -432
  98. package/.opencode/oh-my-design/design-md/channeltalk/DESIGN.md +0 -422
  99. package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/.live-inspect-proof.json +0 -320
  100. package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/fonts.json +0 -53
  101. package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/structure.json +0 -47
  102. package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/tokens.json +0 -78
  103. package/.opencode/oh-my-design/design-md/class101/DESIGN.md +0 -484
  104. package/.opencode/oh-my-design/design-md/classting/.verification.md +0 -32
  105. package/.opencode/oh-my-design/design-md/classting/DESIGN.md +0 -292
  106. package/.opencode/oh-my-design/design-md/classum/DESIGN.md +0 -279
  107. package/.opencode/oh-my-design/design-md/classum/assets/_reference/.live-inspect-proof.json +0 -72
  108. package/.opencode/oh-my-design/design-md/classum/assets/_reference/fonts.json +0 -20
  109. package/.opencode/oh-my-design/design-md/classum/assets/_reference/structure.json +0 -21
  110. package/.opencode/oh-my-design/design-md/classum/assets/_reference/tokens.json +0 -56
  111. package/.opencode/oh-my-design/design-md/claude/.verification.md +0 -106
  112. package/.opencode/oh-my-design/design-md/claude/DESIGN.md +0 -561
  113. package/.opencode/oh-my-design/design-md/claude/README.md +0 -24
  114. package/.opencode/oh-my-design/design-md/claude/preview-dark.html +0 -803
  115. package/.opencode/oh-my-design/design-md/claude/preview.html +0 -826
  116. package/.opencode/oh-my-design/design-md/clay/.verification.md +0 -129
  117. package/.opencode/oh-my-design/design-md/clay/DESIGN.md +0 -454
  118. package/.opencode/oh-my-design/design-md/clay/README.md +0 -23
  119. package/.opencode/oh-my-design/design-md/clay/preview-dark.html +0 -316
  120. package/.opencode/oh-my-design/design-md/clay/preview.html +0 -315
  121. package/.opencode/oh-my-design/design-md/clickhouse/.verification.md +0 -132
  122. package/.opencode/oh-my-design/design-md/clickhouse/DESIGN.md +0 -424
  123. package/.opencode/oh-my-design/design-md/clickhouse/README.md +0 -24
  124. package/.opencode/oh-my-design/design-md/clickhouse/preview-dark.html +0 -834
  125. package/.opencode/oh-my-design/design-md/clickhouse/preview.html +0 -786
  126. package/.opencode/oh-my-design/design-md/cloudflare/.verification.md +0 -21
  127. package/.opencode/oh-my-design/design-md/cloudflare/DESIGN.md +0 -637
  128. package/.opencode/oh-my-design/design-md/cohere/.verification.md +0 -136
  129. package/.opencode/oh-my-design/design-md/cohere/DESIGN.md +0 -409
  130. package/.opencode/oh-my-design/design-md/cohere/README.md +0 -24
  131. package/.opencode/oh-my-design/design-md/cohere/preview-dark.html +0 -803
  132. package/.opencode/oh-my-design/design-md/cohere/preview.html +0 -807
  133. package/.opencode/oh-my-design/design-md/coinbase/.verification.md +0 -116
  134. package/.opencode/oh-my-design/design-md/coinbase/DESIGN.md +0 -353
  135. package/.opencode/oh-my-design/design-md/coinbase/README.md +0 -23
  136. package/.opencode/oh-my-design/design-md/coinbase/preview-dark.html +0 -164
  137. package/.opencode/oh-my-design/design-md/coinbase/preview.html +0 -163
  138. package/.opencode/oh-my-design/design-md/coinone/.verification.md +0 -38
  139. package/.opencode/oh-my-design/design-md/coinone/DESIGN.md +0 -257
  140. package/.opencode/oh-my-design/design-md/composio/.verification.md +0 -143
  141. package/.opencode/oh-my-design/design-md/composio/DESIGN.md +0 -441
  142. package/.opencode/oh-my-design/design-md/composio/README.md +0 -24
  143. package/.opencode/oh-my-design/design-md/composio/preview-dark.html +0 -958
  144. package/.opencode/oh-my-design/design-md/composio/preview.html +0 -933
  145. package/.opencode/oh-my-design/design-md/cookpad/DESIGN.md +0 -394
  146. package/.opencode/oh-my-design/design-md/coupang/.verification.md +0 -141
  147. package/.opencode/oh-my-design/design-md/coupang/DESIGN.md +0 -557
  148. package/.opencode/oh-my-design/design-md/cursor/.verification.md +0 -141
  149. package/.opencode/oh-my-design/design-md/cursor/DESIGN.md +0 -460
  150. package/.opencode/oh-my-design/design-md/cursor/README.md +0 -24
  151. package/.opencode/oh-my-design/design-md/cursor/preview-dark.html +0 -393
  152. package/.opencode/oh-my-design/design-md/cursor/preview.html +0 -383
  153. package/.opencode/oh-my-design/design-md/dabang/DESIGN.md +0 -267
  154. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/.live-inspect-proof.json +0 -145
  155. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/fonts.json +0 -22
  156. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/raw-capture-map.json +0 -718
  157. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/raw-capture.json +0 -1125
  158. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/structure.json +0 -53
  159. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/tokens.json +0 -130
  160. package/.opencode/oh-my-design/design-md/danawa/.verification.md +0 -60
  161. package/.opencode/oh-my-design/design-md/danawa/DESIGN.md +0 -477
  162. package/.opencode/oh-my-design/design-md/dcard/.verification.md +0 -118
  163. package/.opencode/oh-my-design/design-md/dcard/DESIGN.md +0 -633
  164. package/.opencode/oh-my-design/design-md/dcard/README.md +0 -12
  165. package/.opencode/oh-my-design/design-md/dcard/_research/forum-1440px.png +0 -0
  166. package/.opencode/oh-my-design/design-md/dcard/_research.md +0 -133
  167. package/.opencode/oh-my-design/design-md/dell/.verification.md +0 -21
  168. package/.opencode/oh-my-design/design-md/dell/DESIGN.md +0 -636
  169. package/.opencode/oh-my-design/design-md/devsisters/.verification.md +0 -32
  170. package/.opencode/oh-my-design/design-md/devsisters/DESIGN.md +0 -282
  171. package/.opencode/oh-my-design/design-md/discord/.verification.md +0 -21
  172. package/.opencode/oh-my-design/design-md/discord/DESIGN.md +0 -604
  173. package/.opencode/oh-my-design/design-md/dji/DESIGN.md +0 -454
  174. package/.opencode/oh-my-design/design-md/drnow/.verification.md +0 -41
  175. package/.opencode/oh-my-design/design-md/drnow/DESIGN.md +0 -383
  176. package/.opencode/oh-my-design/design-md/dropbox/.verification.md +0 -61
  177. package/.opencode/oh-my-design/design-md/dropbox/DESIGN.md +0 -445
  178. package/.opencode/oh-my-design/design-md/duolingo/.verification.md +0 -20
  179. package/.opencode/oh-my-design/design-md/duolingo/DESIGN.md +0 -563
  180. package/.opencode/oh-my-design/design-md/elevenlabs/.verification.md +0 -128
  181. package/.opencode/oh-my-design/design-md/elevenlabs/DESIGN.md +0 -415
  182. package/.opencode/oh-my-design/design-md/elevenlabs/README.md +0 -23
  183. package/.opencode/oh-my-design/design-md/elevenlabs/preview-dark.html +0 -252
  184. package/.opencode/oh-my-design/design-md/elevenlabs/preview.html +0 -251
  185. package/.opencode/oh-my-design/design-md/expo/.verification.md +0 -141
  186. package/.opencode/oh-my-design/design-md/expo/DESIGN.md +0 -412
  187. package/.opencode/oh-my-design/design-md/expo/README.md +0 -24
  188. package/.opencode/oh-my-design/design-md/expo/preview-dark.html +0 -533
  189. package/.opencode/oh-my-design/design-md/expo/preview.html +0 -533
  190. package/.opencode/oh-my-design/design-md/fastcampus/DESIGN.md +0 -529
  191. package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/.live-inspect-proof.json +0 -950
  192. package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/fonts.json +0 -14
  193. package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/structure.json +0 -30
  194. package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/tokens.json +0 -109
  195. package/.opencode/oh-my-design/design-md/ferrari/.verification.md +0 -119
  196. package/.opencode/oh-my-design/design-md/ferrari/DESIGN.md +0 -447
  197. package/.opencode/oh-my-design/design-md/ferrari/README.md +0 -23
  198. package/.opencode/oh-my-design/design-md/ferrari/preview-dark.html +0 -1162
  199. package/.opencode/oh-my-design/design-md/ferrari/preview.html +0 -1122
  200. package/.opencode/oh-my-design/design-md/figma/.verification.md +0 -206
  201. package/.opencode/oh-my-design/design-md/figma/DESIGN.md +0 -534
  202. package/.opencode/oh-my-design/design-md/figma/README.md +0 -24
  203. package/.opencode/oh-my-design/design-md/figma/preview-dark.html +0 -822
  204. package/.opencode/oh-my-design/design-md/figma/preview.html +0 -832
  205. package/.opencode/oh-my-design/design-md/finda/.verification.md +0 -33
  206. package/.opencode/oh-my-design/design-md/finda/DESIGN.md +0 -413
  207. package/.opencode/oh-my-design/design-md/firstory/.verification.md +0 -70
  208. package/.opencode/oh-my-design/design-md/firstory/DESIGN.md +0 -487
  209. package/.opencode/oh-my-design/design-md/flex/DESIGN.md +0 -356
  210. package/.opencode/oh-my-design/design-md/flex/_research.md +0 -49
  211. package/.opencode/oh-my-design/design-md/flex/assets/_reference/.live-inspect-proof.json +0 -192
  212. package/.opencode/oh-my-design/design-md/flex/assets/_reference/.raw-inspect.json +0 -873
  213. package/.opencode/oh-my-design/design-md/flex/assets/_reference/fonts.json +0 -17
  214. package/.opencode/oh-my-design/design-md/flex/assets/_reference/structure.json +0 -58
  215. package/.opencode/oh-my-design/design-md/flex/assets/_reference/tokens.json +0 -75
  216. package/.opencode/oh-my-design/design-md/flo/.verification.md +0 -33
  217. package/.opencode/oh-my-design/design-md/flo/DESIGN.md +0 -349
  218. package/.opencode/oh-my-design/design-md/framer/.verification.md +0 -147
  219. package/.opencode/oh-my-design/design-md/framer/DESIGN.md +0 -431
  220. package/.opencode/oh-my-design/design-md/framer/README.md +0 -23
  221. package/.opencode/oh-my-design/design-md/framer/preview-dark.html +0 -902
  222. package/.opencode/oh-my-design/design-md/framer/preview.html +0 -883
  223. package/.opencode/oh-my-design/design-md/freee/.verification.md +0 -145
  224. package/.opencode/oh-my-design/design-md/freee/DESIGN.md +0 -620
  225. package/.opencode/oh-my-design/design-md/freee/README.md +0 -12
  226. package/.opencode/oh-my-design/design-md/freee/_research/vibes-storybook-1440px.png +0 -0
  227. package/.opencode/oh-my-design/design-md/freee/_research.md +0 -116
  228. package/.opencode/oh-my-design/design-md/fugle/.verification.md +0 -40
  229. package/.opencode/oh-my-design/design-md/fugle/DESIGN.md +0 -290
  230. package/.opencode/oh-my-design/design-md/funnow/.verification.md +0 -62
  231. package/.opencode/oh-my-design/design-md/funnow/DESIGN.md +0 -431
  232. package/.opencode/oh-my-design/design-md/gangnamunni/DESIGN.md +0 -677
  233. package/.opencode/oh-my-design/design-md/gangnamunni/_promo.json +0 -26
  234. package/.opencode/oh-my-design/design-md/gangnamunni/_research.md +0 -113
  235. package/.opencode/oh-my-design/design-md/genie/.verification.md +0 -29
  236. package/.opencode/oh-my-design/design-md/genie/DESIGN.md +0 -415
  237. package/.opencode/oh-my-design/design-md/github/.verification.md +0 -21
  238. package/.opencode/oh-my-design/design-md/github/DESIGN.md +0 -727
  239. package/.opencode/oh-my-design/design-md/gmarket/DESIGN.md +0 -534
  240. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/.live-inspect-proof.json +0 -217
  241. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/fonts.json +0 -41
  242. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/raw-capture-bestsellers.json +0 -1929
  243. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/raw-capture-home.json +0 -3675
  244. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/structure.json +0 -65
  245. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/tokens.json +0 -210
  246. package/.opencode/oh-my-design/design-md/gogolook/.verification.md +0 -31
  247. package/.opencode/oh-my-design/design-md/gogolook/DESIGN.md +0 -155
  248. package/.opencode/oh-my-design/design-md/gogoro/DESIGN.md +0 -441
  249. package/.opencode/oh-my-design/design-md/google/.verification.md +0 -61
  250. package/.opencode/oh-my-design/design-md/google/DESIGN.md +0 -499
  251. package/.opencode/oh-my-design/design-md/greenvines/.verification.md +0 -72
  252. package/.opencode/oh-my-design/design-md/greenvines/DESIGN.md +0 -454
  253. package/.opencode/oh-my-design/design-md/greeting/.verification.md +0 -64
  254. package/.opencode/oh-my-design/design-md/greeting/DESIGN.md +0 -462
  255. package/.opencode/oh-my-design/design-md/grip/.verification.md +0 -36
  256. package/.opencode/oh-my-design/design-md/grip/DESIGN.md +0 -289
  257. package/.opencode/oh-my-design/design-md/hahow/.verification.md +0 -31
  258. package/.opencode/oh-my-design/design-md/hahow/DESIGN.md +0 -184
  259. package/.opencode/oh-my-design/design-md/hashicorp/.verification.md +0 -142
  260. package/.opencode/oh-my-design/design-md/hashicorp/DESIGN.md +0 -411
  261. package/.opencode/oh-my-design/design-md/hashicorp/README.md +0 -24
  262. package/.opencode/oh-my-design/design-md/hashicorp/preview-dark.html +0 -1202
  263. package/.opencode/oh-my-design/design-md/hashicorp/preview.html +0 -1193
  264. package/.opencode/oh-my-design/design-md/hogangnono/.verification.md +0 -33
  265. package/.opencode/oh-my-design/design-md/hogangnono/DESIGN.md +0 -349
  266. package/.opencode/oh-my-design/design-md/hp/.verification.md +0 -21
  267. package/.opencode/oh-my-design/design-md/hp/DESIGN.md +0 -563
  268. package/.opencode/oh-my-design/design-md/hyperconnect/.verification.md +0 -40
  269. package/.opencode/oh-my-design/design-md/hyperconnect/DESIGN.md +0 -393
  270. package/.opencode/oh-my-design/design-md/hyundaicard/.verification.md +0 -25
  271. package/.opencode/oh-my-design/design-md/hyundaicard/DESIGN.md +0 -201
  272. package/.opencode/oh-my-design/design-md/ibm/.verification.md +0 -102
  273. package/.opencode/oh-my-design/design-md/ibm/DESIGN.md +0 -464
  274. package/.opencode/oh-my-design/design-md/ibm/README.md +0 -24
  275. package/.opencode/oh-my-design/design-md/ibm/preview-dark.html +0 -443
  276. package/.opencode/oh-my-design/design-md/ibm/preview.html +0 -428
  277. package/.opencode/oh-my-design/design-md/ichef/DESIGN.md +0 -455
  278. package/.opencode/oh-my-design/design-md/ikala/.verification.md +0 -35
  279. package/.opencode/oh-my-design/design-md/ikala/DESIGN.md +0 -400
  280. package/.opencode/oh-my-design/design-md/imweb/.verification.md +0 -61
  281. package/.opencode/oh-my-design/design-md/imweb/DESIGN.md +0 -460
  282. package/.opencode/oh-my-design/design-md/inflearn/DESIGN.md +0 -453
  283. package/.opencode/oh-my-design/design-md/inflearn/_promo.json +0 -29
  284. package/.opencode/oh-my-design/design-md/inflearn/_research.md +0 -85
  285. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/.live-inspect-proof-courses.json +0 -679
  286. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/.live-inspect-proof.json +0 -448
  287. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/fonts.json +0 -41
  288. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/structure.json +0 -110
  289. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/tokens.json +0 -54
  290. package/.opencode/oh-my-design/design-md/intercom/.verification.md +0 -144
  291. package/.opencode/oh-my-design/design-md/intercom/DESIGN.md +0 -271
  292. package/.opencode/oh-my-design/design-md/intercom/README.md +0 -23
  293. package/.opencode/oh-my-design/design-md/intercom/preview-dark.html +0 -185
  294. package/.opencode/oh-my-design/design-md/intercom/preview.html +0 -184
  295. package/.opencode/oh-my-design/design-md/jandi/.verification.md +0 -26
  296. package/.opencode/oh-my-design/design-md/jandi/DESIGN.md +0 -382
  297. package/.opencode/oh-my-design/design-md/jkopay/.verification.md +0 -32
  298. package/.opencode/oh-my-design/design-md/jkopay/DESIGN.md +0 -283
  299. package/.opencode/oh-my-design/design-md/jobkorea/.verification.md +0 -30
  300. package/.opencode/oh-my-design/design-md/jobkorea/DESIGN.md +0 -349
  301. package/.opencode/oh-my-design/design-md/jumpit/DESIGN.md +0 -403
  302. package/.opencode/oh-my-design/design-md/jumpit/_research.md +0 -119
  303. package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/.live-inspect-proof.json +0 -182
  304. package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/fonts.json +0 -20
  305. package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/structure.json +0 -66
  306. package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/tokens.json +0 -108
  307. package/.opencode/oh-my-design/design-md/kakao/.verification.md +0 -137
  308. package/.opencode/oh-my-design/design-md/kakao/DESIGN.md +0 -568
  309. package/.opencode/oh-my-design/design-md/kakao/README.md +0 -18
  310. package/.opencode/oh-my-design/design-md/kakao/_research.md +0 -98
  311. package/.opencode/oh-my-design/design-md/kakaobank/.verification.md +0 -133
  312. package/.opencode/oh-my-design/design-md/kakaobank/DESIGN.md +0 -602
  313. package/.opencode/oh-my-design/design-md/kakaopay/DESIGN.md +0 -603
  314. package/.opencode/oh-my-design/design-md/kakaopay/_promo.json +0 -22
  315. package/.opencode/oh-my-design/design-md/kakaopay/_research.md +0 -84
  316. package/.opencode/oh-my-design/design-md/kakaot/DESIGN.md +0 -507
  317. package/.opencode/oh-my-design/design-md/karrot/.verification.md +0 -143
  318. package/.opencode/oh-my-design/design-md/karrot/DESIGN.md +0 -494
  319. package/.opencode/oh-my-design/design-md/karrot/README.md +0 -18
  320. package/.opencode/oh-my-design/design-md/karrot/_research.md +0 -57
  321. package/.opencode/oh-my-design/design-md/kbank/DESIGN.md +0 -252
  322. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/.live-inspect-proof.json +0 -215
  323. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/.live-inspect-raw.json +0 -1
  324. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/fonts.json +0 -20
  325. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/structure.json +0 -151
  326. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/tokens.json +0 -101
  327. package/.opencode/oh-my-design/design-md/kdan/.verification.md +0 -30
  328. package/.opencode/oh-my-design/design-md/kdan/DESIGN.md +0 -193
  329. package/.opencode/oh-my-design/design-md/kintone/.verification.md +0 -21
  330. package/.opencode/oh-my-design/design-md/kintone/DESIGN.md +0 -586
  331. package/.opencode/oh-my-design/design-md/kkbox/.verification.md +0 -27
  332. package/.opencode/oh-my-design/design-md/kkbox/DESIGN.md +0 -136
  333. package/.opencode/oh-my-design/design-md/kkday/DESIGN.md +0 -470
  334. package/.opencode/oh-my-design/design-md/kmong/.verification.md +0 -30
  335. package/.opencode/oh-my-design/design-md/kmong/DESIGN.md +0 -427
  336. package/.opencode/oh-my-design/design-md/krafton/.verification.md +0 -38
  337. package/.opencode/oh-my-design/design-md/krafton/DESIGN.md +0 -267
  338. package/.opencode/oh-my-design/design-md/kraken/.verification.md +0 -143
  339. package/.opencode/oh-my-design/design-md/kraken/DESIGN.md +0 -277
  340. package/.opencode/oh-my-design/design-md/kraken/README.md +0 -23
  341. package/.opencode/oh-my-design/design-md/kraken/preview-dark.html +0 -169
  342. package/.opencode/oh-my-design/design-md/kraken/preview.html +0 -168
  343. package/.opencode/oh-my-design/design-md/krds/.verification.md +0 -373
  344. package/.opencode/oh-my-design/design-md/krds/DESIGN.md +0 -1060
  345. package/.opencode/oh-my-design/design-md/kream/DESIGN.md +0 -432
  346. package/.opencode/oh-my-design/design-md/kream/assets/_reference/.live-inspect-proof.json +0 -289
  347. package/.opencode/oh-my-design/design-md/kream/assets/_reference/fonts.json +0 -26
  348. package/.opencode/oh-my-design/design-md/kream/assets/_reference/structure.json +0 -56
  349. package/.opencode/oh-my-design/design-md/kream/assets/_reference/tokens.json +0 -154
  350. package/.opencode/oh-my-design/design-md/kurly/.verification.md +0 -126
  351. package/.opencode/oh-my-design/design-md/kurly/DESIGN.md +0 -620
  352. package/.opencode/oh-my-design/design-md/laftel/.verification.md +0 -39
  353. package/.opencode/oh-my-design/design-md/laftel/DESIGN.md +0 -293
  354. package/.opencode/oh-my-design/design-md/lamborghini/.verification.md +0 -127
  355. package/.opencode/oh-my-design/design-md/lamborghini/DESIGN.md +0 -430
  356. package/.opencode/oh-my-design/design-md/lamborghini/README.md +0 -23
  357. package/.opencode/oh-my-design/design-md/lamborghini/preview-dark.html +0 -303
  358. package/.opencode/oh-my-design/design-md/lamborghini/preview.html +0 -381
  359. package/.opencode/oh-my-design/design-md/laundrygo/.verification.md +0 -60
  360. package/.opencode/oh-my-design/design-md/laundrygo/DESIGN.md +0 -434
  361. package/.opencode/oh-my-design/design-md/layerx/.verification.md +0 -21
  362. package/.opencode/oh-my-design/design-md/layerx/DESIGN.md +0 -615
  363. package/.opencode/oh-my-design/design-md/lezhin/.verification.md +0 -47
  364. package/.opencode/oh-my-design/design-md/lezhin/DESIGN.md +0 -348
  365. package/.opencode/oh-my-design/design-md/line/.verification.md +0 -137
  366. package/.opencode/oh-my-design/design-md/line/DESIGN.md +0 -467
  367. package/.opencode/oh-my-design/design-md/line/README.md +0 -12
  368. package/.opencode/oh-my-design/design-md/line/_research/home-1440px.png +0 -0
  369. package/.opencode/oh-my-design/design-md/line/_research.md +0 -65
  370. package/.opencode/oh-my-design/design-md/linear.app/.verification.md +0 -143
  371. package/.opencode/oh-my-design/design-md/linear.app/DESIGN.md +0 -642
  372. package/.opencode/oh-my-design/design-md/linear.app/README.md +0 -24
  373. package/.opencode/oh-my-design/design-md/linear.app/preview-dark.html +0 -383
  374. package/.opencode/oh-my-design/design-md/linear.app/preview.html +0 -373
  375. package/.opencode/oh-my-design/design-md/loom/.verification.md +0 -31
  376. package/.opencode/oh-my-design/design-md/loom/DESIGN.md +0 -396
  377. package/.opencode/oh-my-design/design-md/lovable/.verification.md +0 -154
  378. package/.opencode/oh-my-design/design-md/lovable/DESIGN.md +0 -423
  379. package/.opencode/oh-my-design/design-md/lovable/README.md +0 -24
  380. package/.opencode/oh-my-design/design-md/lovable/preview-dark.html +0 -349
  381. package/.opencode/oh-my-design/design-md/lovable/preview.html +0 -348
  382. package/.opencode/oh-my-design/design-md/lunit/DESIGN.md +0 -296
  383. package/.opencode/oh-my-design/design-md/lunit/assets/_reference/.live-inspect-proof.json +0 -249
  384. package/.opencode/oh-my-design/design-md/lunit/assets/_reference/fonts.json +0 -24
  385. package/.opencode/oh-my-design/design-md/lunit/assets/_reference/structure.json +0 -162
  386. package/.opencode/oh-my-design/design-md/lunit/assets/_reference/tokens.json +0 -115
  387. package/.opencode/oh-my-design/design-md/mastercard/.verification.md +0 -19
  388. package/.opencode/oh-my-design/design-md/mastercard/DESIGN.md +0 -587
  389. package/.opencode/oh-my-design/design-md/meituan/DESIGN.md +0 -466
  390. package/.opencode/oh-my-design/design-md/melon/.verification.md +0 -27
  391. package/.opencode/oh-my-design/design-md/melon/DESIGN.md +0 -179
  392. package/.opencode/oh-my-design/design-md/mercari/.verification.md +0 -155
  393. package/.opencode/oh-my-design/design-md/mercari/DESIGN.md +0 -514
  394. package/.opencode/oh-my-design/design-md/mercari/README.md +0 -12
  395. package/.opencode/oh-my-design/design-md/mercari/_research/home-1440px.png +0 -0
  396. package/.opencode/oh-my-design/design-md/mercari/_research.md +0 -137
  397. package/.opencode/oh-my-design/design-md/mercury/.verification.md +0 -21
  398. package/.opencode/oh-my-design/design-md/mercury/DESIGN.md +0 -589
  399. package/.opencode/oh-my-design/design-md/meta/.verification.md +0 -21
  400. package/.opencode/oh-my-design/design-md/meta/DESIGN.md +0 -615
  401. package/.opencode/oh-my-design/design-md/microsoft/.verification.md +0 -62
  402. package/.opencode/oh-my-design/design-md/microsoft/DESIGN.md +0 -508
  403. package/.opencode/oh-my-design/design-md/millie/DESIGN.md +0 -584
  404. package/.opencode/oh-my-design/design-md/minimax/.verification.md +0 -135
  405. package/.opencode/oh-my-design/design-md/minimax/DESIGN.md +0 -396
  406. package/.opencode/oh-my-design/design-md/minimax/README.md +0 -24
  407. package/.opencode/oh-my-design/design-md/minimax/preview-dark.html +0 -1262
  408. package/.opencode/oh-my-design/design-md/minimax/preview.html +0 -1248
  409. package/.opencode/oh-my-design/design-md/mintlify/.verification.md +0 -160
  410. package/.opencode/oh-my-design/design-md/mintlify/DESIGN.md +0 -472
  411. package/.opencode/oh-my-design/design-md/mintlify/README.md +0 -24
  412. package/.opencode/oh-my-design/design-md/mintlify/preview-dark.html +0 -409
  413. package/.opencode/oh-my-design/design-md/mintlify/preview.html +0 -398
  414. package/.opencode/oh-my-design/design-md/miricanvas/.verification.md +0 -61
  415. package/.opencode/oh-my-design/design-md/miricanvas/DESIGN.md +0 -464
  416. package/.opencode/oh-my-design/design-md/miro/.verification.md +0 -138
  417. package/.opencode/oh-my-design/design-md/miro/DESIGN.md +0 -319
  418. package/.opencode/oh-my-design/design-md/miro/README.md +0 -23
  419. package/.opencode/oh-my-design/design-md/miro/preview-dark.html +0 -174
  420. package/.opencode/oh-my-design/design-md/miro/preview.html +0 -173
  421. package/.opencode/oh-my-design/design-md/mistral.ai/.verification.md +0 -146
  422. package/.opencode/oh-my-design/design-md/mistral.ai/DESIGN.md +0 -390
  423. package/.opencode/oh-my-design/design-md/mistral.ai/README.md +0 -24
  424. package/.opencode/oh-my-design/design-md/mistral.ai/preview-dark.html +0 -806
  425. package/.opencode/oh-my-design/design-md/mistral.ai/preview.html +0 -805
  426. package/.opencode/oh-my-design/design-md/modusign/.verification.md +0 -58
  427. package/.opencode/oh-my-design/design-md/modusign/DESIGN.md +0 -524
  428. package/.opencode/oh-my-design/design-md/momoshop/.verification.md +0 -36
  429. package/.opencode/oh-my-design/design-md/momoshop/DESIGN.md +0 -322
  430. package/.opencode/oh-my-design/design-md/money-forward/DESIGN.md +0 -443
  431. package/.opencode/oh-my-design/design-md/mongodb/.verification.md +0 -145
  432. package/.opencode/oh-my-design/design-md/mongodb/DESIGN.md +0 -401
  433. package/.opencode/oh-my-design/design-md/mongodb/README.md +0 -23
  434. package/.opencode/oh-my-design/design-md/mongodb/preview-dark.html +0 -260
  435. package/.opencode/oh-my-design/design-md/mongodb/preview.html +0 -259
  436. package/.opencode/oh-my-design/design-md/muji/.verification.md +0 -20
  437. package/.opencode/oh-my-design/design-md/muji/DESIGN.md +0 -605
  438. package/.opencode/oh-my-design/design-md/musinsa/.verification.md +0 -59
  439. package/.opencode/oh-my-design/design-md/musinsa/DESIGN.md +0 -593
  440. package/.opencode/oh-my-design/design-md/mustit/.verification.md +0 -37
  441. package/.opencode/oh-my-design/design-md/mustit/DESIGN.md +0 -328
  442. package/.opencode/oh-my-design/design-md/myrealtrip/DESIGN.md +0 -494
  443. package/.opencode/oh-my-design/design-md/naver/.verification.md +0 -134
  444. package/.opencode/oh-my-design/design-md/naver/DESIGN.md +0 -582
  445. package/.opencode/oh-my-design/design-md/naverwebtoon/DESIGN.md +0 -477
  446. package/.opencode/oh-my-design/design-md/netflix/.verification.md +0 -21
  447. package/.opencode/oh-my-design/design-md/netflix/DESIGN.md +0 -572
  448. package/.opencode/oh-my-design/design-md/nexon/.verification.md +0 -27
  449. package/.opencode/oh-my-design/design-md/nexon/DESIGN.md +0 -389
  450. package/.opencode/oh-my-design/design-md/nhncloud/.verification.md +0 -23
  451. package/.opencode/oh-my-design/design-md/nhncloud/DESIGN.md +0 -207
  452. package/.opencode/oh-my-design/design-md/nike/.verification.md +0 -21
  453. package/.opencode/oh-my-design/design-md/nike/DESIGN.md +0 -588
  454. package/.opencode/oh-my-design/design-md/note/DESIGN.md +0 -346
  455. package/.opencode/oh-my-design/design-md/notion/.verification.md +0 -141
  456. package/.opencode/oh-my-design/design-md/notion/DESIGN.md +0 -557
  457. package/.opencode/oh-my-design/design-md/notion/README.md +0 -24
  458. package/.opencode/oh-my-design/design-md/notion/preview-dark.html +0 -372
  459. package/.opencode/oh-my-design/design-md/notion/preview.html +0 -364
  460. package/.opencode/oh-my-design/design-md/nvidia/.verification.md +0 -127
  461. package/.opencode/oh-my-design/design-md/nvidia/DESIGN.md +0 -550
  462. package/.opencode/oh-my-design/design-md/nvidia/README.md +0 -24
  463. package/.opencode/oh-my-design/design-md/nvidia/_research.md +0 -68
  464. package/.opencode/oh-my-design/design-md/nvidia/preview-dark.html +0 -374
  465. package/.opencode/oh-my-design/design-md/nvidia/preview.html +0 -366
  466. package/.opencode/oh-my-design/design-md/ohouse/.verification.md +0 -87
  467. package/.opencode/oh-my-design/design-md/ohouse/DESIGN.md +0 -635
  468. package/.opencode/oh-my-design/design-md/oliveyoung/DESIGN.md +0 -407
  469. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/.live-inspect-proof.json +0 -158
  470. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_best_capture.json +0 -644
  471. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_detail_capture.json +0 -447
  472. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_main.html +0 -419
  473. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_main_capture.json +0 -1126
  474. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_search_capture.json +0 -912
  475. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/fonts.json +0 -20
  476. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/structure.json +0 -91
  477. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/tokens.json +0 -79
  478. package/.opencode/oh-my-design/design-md/ollama/.verification.md +0 -138
  479. package/.opencode/oh-my-design/design-md/ollama/DESIGN.md +0 -393
  480. package/.opencode/oh-my-design/design-md/ollama/README.md +0 -24
  481. package/.opencode/oh-my-design/design-md/ollama/preview-dark.html +0 -678
  482. package/.opencode/oh-my-design/design-md/ollama/preview.html +0 -678
  483. package/.opencode/oh-my-design/design-md/omnichat/.verification.md +0 -74
  484. package/.opencode/oh-my-design/design-md/omnichat/DESIGN.md +0 -499
  485. package/.opencode/oh-my-design/design-md/openai/.verification.md +0 -21
  486. package/.opencode/oh-my-design/design-md/openai/DESIGN.md +0 -641
  487. package/.opencode/oh-my-design/design-md/opencode.ai/.verification.md +0 -136
  488. package/.opencode/oh-my-design/design-md/opencode.ai/DESIGN.md +0 -425
  489. package/.opencode/oh-my-design/design-md/opencode.ai/README.md +0 -24
  490. package/.opencode/oh-my-design/design-md/opencode.ai/preview-dark.html +0 -366
  491. package/.opencode/oh-my-design/design-md/opencode.ai/preview.html +0 -357
  492. package/.opencode/oh-my-design/design-md/payco/.verification.md +0 -28
  493. package/.opencode/oh-my-design/design-md/payco/DESIGN.md +0 -267
  494. package/.opencode/oh-my-design/design-md/paypay/.verification.md +0 -21
  495. package/.opencode/oh-my-design/design-md/paypay/DESIGN.md +0 -656
  496. package/.opencode/oh-my-design/design-md/pchome/.verification.md +0 -38
  497. package/.opencode/oh-my-design/design-md/pchome/DESIGN.md +0 -439
  498. package/.opencode/oh-my-design/design-md/perplexity/.verification.md +0 -21
  499. package/.opencode/oh-my-design/design-md/perplexity/DESIGN.md +0 -546
  500. package/.opencode/oh-my-design/design-md/piccollage/.verification.md +0 -34
  501. package/.opencode/oh-my-design/design-md/piccollage/DESIGN.md +0 -320
  502. package/.opencode/oh-my-design/design-md/pinkoi/.verification.md +0 -147
  503. package/.opencode/oh-my-design/design-md/pinkoi/DESIGN.md +0 -639
  504. package/.opencode/oh-my-design/design-md/pinkoi/README.md +0 -12
  505. package/.opencode/oh-my-design/design-md/pinkoi/_research/browse-1440px.png +0 -0
  506. package/.opencode/oh-my-design/design-md/pinkoi/_research.md +0 -167
  507. package/.opencode/oh-my-design/design-md/pinterest/.verification.md +0 -141
  508. package/.opencode/oh-my-design/design-md/pinterest/DESIGN.md +0 -366
  509. package/.opencode/oh-my-design/design-md/pinterest/README.md +0 -23
  510. package/.opencode/oh-my-design/design-md/pinterest/preview-dark.html +0 -233
  511. package/.opencode/oh-my-design/design-md/pinterest/preview.html +0 -232
  512. package/.opencode/oh-my-design/design-md/pixiv/.verification.md +0 -20
  513. package/.opencode/oh-my-design/design-md/pixiv/DESIGN.md +0 -613
  514. package/.opencode/oh-my-design/design-md/pixnet/.verification.md +0 -31
  515. package/.opencode/oh-my-design/design-md/pixnet/DESIGN.md +0 -430
  516. package/.opencode/oh-my-design/design-md/posthog/.verification.md +0 -159
  517. package/.opencode/oh-my-design/design-md/posthog/DESIGN.md +0 -480
  518. package/.opencode/oh-my-design/design-md/posthog/README.md +0 -23
  519. package/.opencode/oh-my-design/design-md/posthog/preview-dark.html +0 -699
  520. package/.opencode/oh-my-design/design-md/posthog/preview.html +0 -749
  521. package/.opencode/oh-my-design/design-md/postype/.verification.md +0 -61
  522. package/.opencode/oh-my-design/design-md/postype/DESIGN.md +0 -431
  523. package/.opencode/oh-my-design/design-md/publy/DESIGN.md +0 -563
  524. package/.opencode/oh-my-design/design-md/qanda/.verification.md +0 -121
  525. package/.opencode/oh-my-design/design-md/qanda/DESIGN.md +0 -516
  526. package/.opencode/oh-my-design/design-md/ragic/.verification.md +0 -37
  527. package/.opencode/oh-my-design/design-md/ragic/DESIGN.md +0 -444
  528. package/.opencode/oh-my-design/design-md/rakuten/.verification.md +0 -60
  529. package/.opencode/oh-my-design/design-md/rakuten/DESIGN.md +0 -440
  530. package/.opencode/oh-my-design/design-md/ramp/.verification.md +0 -21
  531. package/.opencode/oh-my-design/design-md/ramp/DESIGN.md +0 -634
  532. package/.opencode/oh-my-design/design-md/rayark/.verification.md +0 -22
  533. package/.opencode/oh-my-design/design-md/rayark/DESIGN.md +0 -154
  534. package/.opencode/oh-my-design/design-md/raycast/.verification.md +0 -138
  535. package/.opencode/oh-my-design/design-md/raycast/DESIGN.md +0 -467
  536. package/.opencode/oh-my-design/design-md/raycast/README.md +0 -23
  537. package/.opencode/oh-my-design/design-md/raycast/preview-dark.html +0 -606
  538. package/.opencode/oh-my-design/design-md/raycast/preview.html +0 -688
  539. package/.opencode/oh-my-design/design-md/remember/.verification.md +0 -135
  540. package/.opencode/oh-my-design/design-md/remember/DESIGN.md +0 -504
  541. package/.opencode/oh-my-design/design-md/remember/_promo.json +0 -27
  542. package/.opencode/oh-my-design/design-md/remember/_research.md +0 -90
  543. package/.opencode/oh-my-design/design-md/renault/.verification.md +0 -139
  544. package/.opencode/oh-my-design/design-md/renault/DESIGN.md +0 -439
  545. package/.opencode/oh-my-design/design-md/renault/README.md +0 -23
  546. package/.opencode/oh-my-design/design-md/renault/preview-dark.html +0 -406
  547. package/.opencode/oh-my-design/design-md/renault/preview.html +0 -606
  548. package/.opencode/oh-my-design/design-md/replicate/.verification.md +0 -154
  549. package/.opencode/oh-my-design/design-md/replicate/DESIGN.md +0 -387
  550. package/.opencode/oh-my-design/design-md/replicate/README.md +0 -24
  551. package/.opencode/oh-my-design/design-md/replicate/preview-dark.html +0 -828
  552. package/.opencode/oh-my-design/design-md/replicate/preview.html +0 -831
  553. package/.opencode/oh-my-design/design-md/resend/.verification.md +0 -143
  554. package/.opencode/oh-my-design/design-md/resend/DESIGN.md +0 -440
  555. package/.opencode/oh-my-design/design-md/resend/README.md +0 -23
  556. package/.opencode/oh-my-design/design-md/resend/preview-dark.html +0 -355
  557. package/.opencode/oh-my-design/design-md/resend/preview.html +0 -354
  558. package/.opencode/oh-my-design/design-md/retool/.verification.md +0 -21
  559. package/.opencode/oh-my-design/design-md/retool/DESIGN.md +0 -645
  560. package/.opencode/oh-my-design/design-md/revolut/.verification.md +0 -140
  561. package/.opencode/oh-my-design/design-md/revolut/DESIGN.md +0 -319
  562. package/.opencode/oh-my-design/design-md/revolut/README.md +0 -23
  563. package/.opencode/oh-my-design/design-md/revolut/preview-dark.html +0 -234
  564. package/.opencode/oh-my-design/design-md/revolut/preview.html +0 -233
  565. package/.opencode/oh-my-design/design-md/richart/.verification.md +0 -41
  566. package/.opencode/oh-my-design/design-md/richart/DESIGN.md +0 -465
  567. package/.opencode/oh-my-design/design-md/ridi/.verification.md +0 -108
  568. package/.opencode/oh-my-design/design-md/ridi/DESIGN.md +0 -573
  569. package/.opencode/oh-my-design/design-md/riiid/.verification.md +0 -33
  570. package/.opencode/oh-my-design/design-md/riiid/DESIGN.md +0 -260
  571. package/.opencode/oh-my-design/design-md/ringle/.verification.md +0 -53
  572. package/.opencode/oh-my-design/design-md/ringle/DESIGN.md +0 -444
  573. package/.opencode/oh-my-design/design-md/robinhood/.verification.md +0 -21
  574. package/.opencode/oh-my-design/design-md/robinhood/DESIGN.md +0 -604
  575. package/.opencode/oh-my-design/design-md/runwayml/.verification.md +0 -141
  576. package/.opencode/oh-my-design/design-md/runwayml/DESIGN.md +0 -431
  577. package/.opencode/oh-my-design/design-md/runwayml/README.md +0 -24
  578. package/.opencode/oh-my-design/design-md/runwayml/preview-dark.html +0 -664
  579. package/.opencode/oh-my-design/design-md/runwayml/preview.html +0 -665
  580. package/.opencode/oh-my-design/design-md/salesforce/.verification.md +0 -66
  581. package/.opencode/oh-my-design/design-md/salesforce/DESIGN.md +0 -473
  582. package/.opencode/oh-my-design/design-md/sanity/.verification.md +0 -174
  583. package/.opencode/oh-my-design/design-md/sanity/DESIGN.md +0 -499
  584. package/.opencode/oh-my-design/design-md/sanity/README.md +0 -24
  585. package/.opencode/oh-my-design/design-md/sanity/preview-dark.html +0 -990
  586. package/.opencode/oh-my-design/design-md/sanity/preview.html +0 -1135
  587. package/.opencode/oh-my-design/design-md/sansan/.verification.md +0 -21
  588. package/.opencode/oh-my-design/design-md/sansan/DESIGN.md +0 -631
  589. package/.opencode/oh-my-design/design-md/sendbird/.verification.md +0 -67
  590. package/.opencode/oh-my-design/design-md/sendbird/DESIGN.md +0 -331
  591. package/.opencode/oh-my-design/design-md/sentry/.verification.md +0 -157
  592. package/.opencode/oh-my-design/design-md/sentry/DESIGN.md +0 -397
  593. package/.opencode/oh-my-design/design-md/sentry/README.md +0 -24
  594. package/.opencode/oh-my-design/design-md/sentry/preview-dark.html +0 -626
  595. package/.opencode/oh-my-design/design-md/sentry/preview.html +0 -951
  596. package/.opencode/oh-my-design/design-md/shinhancard/.verification.md +0 -31
  597. package/.opencode/oh-my-design/design-md/shinhancard/DESIGN.md +0 -421
  598. package/.opencode/oh-my-design/design-md/shopline/.verification.md +0 -34
  599. package/.opencode/oh-my-design/design-md/shopline/DESIGN.md +0 -431
  600. package/.opencode/oh-my-design/design-md/slack/.verification.md +0 -21
  601. package/.opencode/oh-my-design/design-md/slack/DESIGN.md +0 -635
  602. package/.opencode/oh-my-design/design-md/smarthr/DESIGN.md +0 -452
  603. package/.opencode/oh-my-design/design-md/smartnews/DESIGN.md +0 -360
  604. package/.opencode/oh-my-design/design-md/socar/DESIGN.md +0 -438
  605. package/.opencode/oh-my-design/design-md/socar/_promo.json +0 -28
  606. package/.opencode/oh-my-design/design-md/socar/_research.md +0 -55
  607. package/.opencode/oh-my-design/design-md/soomgo/.verification.md +0 -27
  608. package/.opencode/oh-my-design/design-md/soomgo/DESIGN.md +0 -326
  609. package/.opencode/oh-my-design/design-md/spacex/.verification.md +0 -132
  610. package/.opencode/oh-my-design/design-md/spacex/DESIGN.md +0 -415
  611. package/.opencode/oh-my-design/design-md/spacex/README.md +0 -23
  612. package/.opencode/oh-my-design/design-md/spacex/_research.md +0 -69
  613. package/.opencode/oh-my-design/design-md/spacex/preview-dark.html +0 -221
  614. package/.opencode/oh-my-design/design-md/spacex/preview.html +0 -220
  615. package/.opencode/oh-my-design/design-md/spoon/DESIGN.md +0 -492
  616. package/.opencode/oh-my-design/design-md/spotify/.verification.md +0 -128
  617. package/.opencode/oh-my-design/design-md/spotify/DESIGN.md +0 -489
  618. package/.opencode/oh-my-design/design-md/spotify/README.md +0 -23
  619. package/.opencode/oh-my-design/design-md/spotify/preview-dark.html +0 -231
  620. package/.opencode/oh-my-design/design-md/spotify/preview.html +0 -230
  621. package/.opencode/oh-my-design/design-md/starbucks/.verification.md +0 -21
  622. package/.opencode/oh-my-design/design-md/starbucks/DESIGN.md +0 -597
  623. package/.opencode/oh-my-design/design-md/stores/.verification.md +0 -61
  624. package/.opencode/oh-my-design/design-md/stores/DESIGN.md +0 -447
  625. package/.opencode/oh-my-design/design-md/stripe/.verification.md +0 -140
  626. package/.opencode/oh-my-design/design-md/stripe/DESIGN.md +0 -571
  627. package/.opencode/oh-my-design/design-md/stripe/README.md +0 -24
  628. package/.opencode/oh-my-design/design-md/stripe/preview-dark.html +0 -428
  629. package/.opencode/oh-my-design/design-md/stripe/preview.html +0 -419
  630. package/.opencode/oh-my-design/design-md/studio/.verification.md +0 -21
  631. package/.opencode/oh-my-design/design-md/studio/DESIGN.md +0 -602
  632. package/.opencode/oh-my-design/design-md/supabase/.verification.md +0 -145
  633. package/.opencode/oh-my-design/design-md/supabase/DESIGN.md +0 -389
  634. package/.opencode/oh-my-design/design-md/supabase/README.md +0 -24
  635. package/.opencode/oh-my-design/design-md/supabase/preview-dark.html +0 -977
  636. package/.opencode/oh-my-design/design-md/supabase/preview.html +0 -955
  637. package/.opencode/oh-my-design/design-md/superhuman/.verification.md +0 -184
  638. package/.opencode/oh-my-design/design-md/superhuman/DESIGN.md +0 -453
  639. package/.opencode/oh-my-design/design-md/superhuman/README.md +0 -23
  640. package/.opencode/oh-my-design/design-md/superhuman/preview-dark.html +0 -973
  641. package/.opencode/oh-my-design/design-md/superhuman/preview.html +0 -951
  642. package/.opencode/oh-my-design/design-md/surveycake/.verification.md +0 -31
  643. package/.opencode/oh-my-design/design-md/surveycake/DESIGN.md +0 -442
  644. package/.opencode/oh-my-design/design-md/tada/DESIGN.md +0 -579
  645. package/.opencode/oh-my-design/design-md/teamblind/.verification.md +0 -76
  646. package/.opencode/oh-my-design/design-md/teamblind/DESIGN.md +0 -497
  647. package/.opencode/oh-my-design/design-md/tesla/.verification.md +0 -149
  648. package/.opencode/oh-my-design/design-md/tesla/DESIGN.md +0 -501
  649. package/.opencode/oh-my-design/design-md/tesla/README.md +0 -23
  650. package/.opencode/oh-my-design/design-md/tesla/_research.md +0 -70
  651. package/.opencode/oh-my-design/design-md/tesla/preview-dark.html +0 -947
  652. package/.opencode/oh-my-design/design-md/tesla/preview.html +0 -925
  653. package/.opencode/oh-my-design/design-md/theverge/.verification.md +0 -21
  654. package/.opencode/oh-my-design/design-md/theverge/DESIGN.md +0 -500
  655. package/.opencode/oh-my-design/design-md/timee/.verification.md +0 -67
  656. package/.opencode/oh-my-design/design-md/timee/DESIGN.md +0 -444
  657. package/.opencode/oh-my-design/design-md/together.ai/.verification.md +0 -145
  658. package/.opencode/oh-my-design/design-md/together.ai/DESIGN.md +0 -389
  659. package/.opencode/oh-my-design/design-md/together.ai/README.md +0 -24
  660. package/.opencode/oh-my-design/design-md/together.ai/preview-dark.html +0 -892
  661. package/.opencode/oh-my-design/design-md/together.ai/preview.html +0 -897
  662. package/.opencode/oh-my-design/design-md/toss/.verification.md +0 -120
  663. package/.opencode/oh-my-design/design-md/toss/DESIGN.md +0 -698
  664. package/.opencode/oh-my-design/design-md/toss/README.md +0 -19
  665. package/.opencode/oh-my-design/design-md/toss-securities/DESIGN.md +0 -247
  666. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-proof.json +0 -126
  667. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-raw.json +0 -619
  668. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-stock.json +0 -525
  669. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/fonts.json +0 -24
  670. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/structure.json +0 -35
  671. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/tokens.json +0 -87
  672. package/.opencode/oh-my-design/design-md/tossbank/DESIGN.md +0 -576
  673. package/.opencode/oh-my-design/design-md/trenbe/.verification.md +0 -32
  674. package/.opencode/oh-my-design/design-md/trenbe/DESIGN.md +0 -293
  675. package/.opencode/oh-my-design/design-md/triple/DESIGN.md +0 -481
  676. package/.opencode/oh-my-design/design-md/tumblbug/DESIGN.md +0 -578
  677. package/.opencode/oh-my-design/design-md/tving/DESIGN.md +0 -317
  678. package/.opencode/oh-my-design/design-md/tving/assets/_reference/.live-inspect-proof.json +0 -131
  679. package/.opencode/oh-my-design/design-md/tving/assets/_reference/LICENSE-NOTE.md +0 -37
  680. package/.opencode/oh-my-design/design-md/tving/assets/_reference/attribution.md +0 -52
  681. package/.opencode/oh-my-design/design-md/tving/assets/_reference/fonts.json +0 -31
  682. package/.opencode/oh-my-design/design-md/tving/assets/_reference/screenshots/hero-desktop.png +0 -0
  683. package/.opencode/oh-my-design/design-md/tving/assets/_reference/structure.json +0 -55
  684. package/.opencode/oh-my-design/design-md/tving/assets/_reference/tokens.json +0 -115
  685. package/.opencode/oh-my-design/design-md/uber/.verification.md +0 -128
  686. package/.opencode/oh-my-design/design-md/uber/DESIGN.md +0 -423
  687. package/.opencode/oh-my-design/design-md/uber/README.md +0 -24
  688. package/.opencode/oh-my-design/design-md/uber/preview-dark.html +0 -1120
  689. package/.opencode/oh-my-design/design-md/uber/preview.html +0 -1119
  690. package/.opencode/oh-my-design/design-md/ubie/.verification.md +0 -21
  691. package/.opencode/oh-my-design/design-md/ubie/DESIGN.md +0 -615
  692. package/.opencode/oh-my-design/design-md/uniqlo/.verification.md +0 -21
  693. package/.opencode/oh-my-design/design-md/uniqlo/DESIGN.md +0 -575
  694. package/.opencode/oh-my-design/design-md/upbit/DESIGN.md +0 -337
  695. package/.opencode/oh-my-design/design-md/upbit/_research.md +0 -83
  696. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/.live-inspect-proof.json +0 -263
  697. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/fonts.json +0 -18
  698. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/raw-capture-exchange.json +0 -1901
  699. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/raw-capture.json +0 -1121
  700. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/structure.json +0 -52
  701. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/tokens.json +0 -169
  702. package/.opencode/oh-my-design/design-md/upstage/DESIGN.md +0 -270
  703. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/.live-inspect-proof.json +0 -157
  704. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_brand-resource-center.json +0 -44
  705. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_curated-samples.json +0 -310
  706. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_raw-capture.json +0 -1560
  707. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_root-vars.json +0 -76
  708. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_structure-raw.json +0 -298
  709. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/fonts.json +0 -35
  710. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/structure.json +0 -72
  711. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/tokens.json +0 -183
  712. package/.opencode/oh-my-design/design-md/velog/.verification.md +0 -26
  713. package/.opencode/oh-my-design/design-md/velog/DESIGN.md +0 -196
  714. package/.opencode/oh-my-design/design-md/vercel/.verification.md +0 -134
  715. package/.opencode/oh-my-design/design-md/vercel/DESIGN.md +0 -523
  716. package/.opencode/oh-my-design/design-md/vercel/README.md +0 -24
  717. package/.opencode/oh-my-design/design-md/vercel/preview-dark.html +0 -368
  718. package/.opencode/oh-my-design/design-md/vercel/preview.html +0 -367
  719. package/.opencode/oh-my-design/design-md/voicetube/.verification.md +0 -34
  720. package/.opencode/oh-my-design/design-md/voicetube/DESIGN.md +0 -266
  721. package/.opencode/oh-my-design/design-md/voltagent/.verification.md +0 -159
  722. package/.opencode/oh-my-design/design-md/voltagent/DESIGN.md +0 -454
  723. package/.opencode/oh-my-design/design-md/voltagent/README.md +0 -24
  724. package/.opencode/oh-my-design/design-md/voltagent/preview-dark.html +0 -487
  725. package/.opencode/oh-my-design/design-md/voltagent/preview.html +0 -766
  726. package/.opencode/oh-my-design/design-md/wadiz/DESIGN.md +0 -415
  727. package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/.live-inspect-proof.json +0 -137
  728. package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/fonts.json +0 -17
  729. package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/structure.json +0 -35
  730. package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/tokens.json +0 -80
  731. package/.opencode/oh-my-design/design-md/wanted/DESIGN.md +0 -575
  732. package/.opencode/oh-my-design/design-md/wanted/_promo.json +0 -31
  733. package/.opencode/oh-my-design/design-md/wanted/_research.md +0 -119
  734. package/.opencode/oh-my-design/design-md/wantedly/.verification.md +0 -53
  735. package/.opencode/oh-my-design/design-md/wantedly/DESIGN.md +0 -437
  736. package/.opencode/oh-my-design/design-md/warp/.verification.md +0 -156
  737. package/.opencode/oh-my-design/design-md/warp/DESIGN.md +0 -431
  738. package/.opencode/oh-my-design/design-md/warp/README.md +0 -23
  739. package/.opencode/oh-my-design/design-md/warp/preview-dark.html +0 -500
  740. package/.opencode/oh-my-design/design-md/warp/preview.html +0 -533
  741. package/.opencode/oh-my-design/design-md/watcha/DESIGN.md +0 -465
  742. package/.opencode/oh-my-design/design-md/wavve/DESIGN.md +0 -480
  743. package/.opencode/oh-my-design/design-md/wconcept/DESIGN.md +0 -556
  744. package/.opencode/oh-my-design/design-md/webflow/.verification.md +0 -151
  745. package/.opencode/oh-my-design/design-md/webflow/DESIGN.md +0 -330
  746. package/.opencode/oh-my-design/design-md/webflow/README.md +0 -23
  747. package/.opencode/oh-my-design/design-md/webflow/preview-dark.html +0 -147
  748. package/.opencode/oh-my-design/design-md/webflow/preview.html +0 -146
  749. package/.opencode/oh-my-design/design-md/wired/.verification.md +0 -21
  750. package/.opencode/oh-my-design/design-md/wired/DESIGN.md +0 -572
  751. package/.opencode/oh-my-design/design-md/wise/.verification.md +0 -141
  752. package/.opencode/oh-my-design/design-md/wise/DESIGN.md +0 -317
  753. package/.opencode/oh-my-design/design-md/wise/README.md +0 -23
  754. package/.opencode/oh-my-design/design-md/wise/preview-dark.html +0 -230
  755. package/.opencode/oh-my-design/design-md/wise/preview.html +0 -229
  756. package/.opencode/oh-my-design/design-md/x.ai/.verification.md +0 -140
  757. package/.opencode/oh-my-design/design-md/x.ai/DESIGN.md +0 -397
  758. package/.opencode/oh-my-design/design-md/x.ai/README.md +0 -24
  759. package/.opencode/oh-my-design/design-md/x.ai/preview-dark.html +0 -356
  760. package/.opencode/oh-my-design/design-md/x.ai/preview.html +0 -407
  761. package/.opencode/oh-my-design/design-md/xiaohongshu/DESIGN.md +0 -462
  762. package/.opencode/oh-my-design/design-md/yanolja/.verification.md +0 -83
  763. package/.opencode/oh-my-design/design-md/yanolja/DESIGN.md +0 -508
  764. package/.opencode/oh-my-design/design-md/yeogiotte/.verification.md +0 -210
  765. package/.opencode/oh-my-design/design-md/yeogiotte/DESIGN.md +0 -500
  766. package/.opencode/oh-my-design/design-md/yogiyo/DESIGN.md +0 -515
  767. package/.opencode/oh-my-design/design-md/yourator/.verification.md +0 -39
  768. package/.opencode/oh-my-design/design-md/yourator/DESIGN.md +0 -453
  769. package/.opencode/oh-my-design/design-md/zapier/.verification.md +0 -156
  770. package/.opencode/oh-my-design/design-md/zapier/DESIGN.md +0 -474
  771. package/.opencode/oh-my-design/design-md/zapier/README.md +0 -24
  772. package/.opencode/oh-my-design/design-md/zapier/preview-dark.html +0 -380
  773. package/.opencode/oh-my-design/design-md/zapier/preview.html +0 -372
  774. package/.opencode/oh-my-design/design-md/zigbang/DESIGN.md +0 -500
  775. package/.opencode/oh-my-design/design-md/zigbang/_promo.json +0 -16
  776. package/.opencode/oh-my-design/design-md/zigbang/_research.md +0 -101
  777. package/.opencode/oh-my-design/design-md/zigzag/DESIGN.md +0 -695
  778. package/.opencode/oh-my-design/design-md/zigzag/_promo.json +0 -23
  779. package/.opencode/oh-my-design/design-md/zigzag/_research.md +0 -64
  780. package/.opencode/oh-my-design/design-md/zozotown/.verification.md +0 -20
  781. package/.opencode/oh-my-design/design-md/zozotown/DESIGN.md +0 -578
  782. package/.opencode/oh-my-design/packages/mcp/dist/index.mjs +0 -21685
  783. package/.opencode/oh-my-design/packages/mcp/dist/index.mjs.map +0 -1
  784. package/.opencode/tools/akash_catalog.ts +0 -596
  785. package/.opencode/tools/extract-design-pattern.py +0 -182
  786. package/.opencode/tools/sdd_design.ts +0 -303
@@ -1,620 +0,0 @@
1
- ---
2
- id: kurly
3
- name: Kurly
4
- country: KR
5
- category: ecommerce
6
- homepage: "https://www.kurly.com"
7
- primary_color: "#5f0080"
8
- logo:
9
- type: favicon
10
- slug: "https://res.kurly.com/icons/favicon-128x128.png"
11
- verified: "2026-05-15"
12
- omd: "0.1"
13
- tokens:
14
- source: reconciled
15
- extracted: "2026-06-08"
16
- components_harvested: true
17
- note: "deterministic picks (#bd76ff tint, #1a73e8 Google embed) rejected; canonical = Kurly Purple purple-900"
18
- colors:
19
- primary: "#5f0080"
20
- purple-800: "#672091"
21
- purple-700: "#7e3ab0"
22
- purple-500: "#9a60ca"
23
- purple-100: "#e8dbf3"
24
- purple-50: "#f5effa"
25
- canvas: "#ffffff"
26
- foreground: "#1c1c1c"
27
- body: "#393d41"
28
- muted: "#464c52"
29
- on-primary: "#ffffff"
30
- typography:
31
- family: { sans: "Noto Sans KR" }
32
- display-72: { size: 72, weight: 700, use: "Hero magazine headlines (web)" }
33
- display-44: { size: 44, weight: 700, use: "Editorial section headers" }
34
- headline-36: { size: 36, weight: 700, use: "Page titles, category banners" }
35
- headline-28: { size: 28, weight: 700, use: "Subsection headers" }
36
- title-24: { size: 24, weight: 600, use: "Card-cluster / dialog titles" }
37
- title-18: { size: 18, weight: 600, use: "Standard product / modal titles" }
38
- body-16: { size: 16, weight: 400, use: "Default reading text, button labels" }
39
- spacing: { xxs: 2, xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
40
- rounded: { sm: 4, md: 8, lg: 16, full: 9999 }
41
- shadow:
42
- subtle: "0px 2px 2px 0px rgba(0,0,0,0.03)"
43
- card-hover: "0px 0px 4px 0px rgba(0,0,0,0.15)"
44
- floating: "2px 2px 10px 0px rgba(0,0,0,0.10)"
45
- components:
46
- button-primary: { type: button, bg: "#5f0080", fg: "#ffffff", radius: "6px", padding: "16px 24px", font: "16px / 600", active: "#672091", disabled: "#dfe4eb bg, #848f9a text", use: "Primary commerce CTAs (구매하기, 장바구니 담기, 주문하기)" }
47
- button-secondary: { type: button, bg: "#ffffff", fg: "#5f0080", border: "1px solid #5f0080", radius: "6px", padding: "12px 20px", font: "14px / 600", active: "#f5effa bg", use: "Secondary actions (바로 구매, 옵션 변경)" }
48
- button-critical: { type: button, bg: "#e22d2e", fg: "#ffffff", radius: "6px", padding: "12px 20px", font: "14px / 600", active: "#d81b1c", use: "Last-chance sale CTAs, destructive confirms (삭제)" }
49
- card: { type: card, bg: "#ffffff", radius: "4px", padding: "12px 4px", shadow: "none", hover: "0px 0px 4px rgba(0,0,0,0.15)", use: "Category list, search results, recommendation rails" }
50
- ---
51
-
52
- # Design System Inspiration of Kurly (컬리 / 마켓컬리)
53
-
54
- ## 1. Visual Theme & Atmosphere
55
-
56
- Kurly's interface is the digital equivalent of a curator's grocer -- a quiet white-and-cream gallery wall where the only saturated thing in the room is one deep, editorial purple. The page opens on a near-pure white canvas (`#ffffff`) with a soft cool-gray utility fill (`#f2f5f8`) and ink-black headings (`#222`), and the unmistakable **Kurly Purple `#5f0080`** carries every brand moment that matters: the wordmark, the primary CTA, the `샛별배송` (dawn delivery) badge, the cart icon's active state. This is not a corporate purple of fintech dashboards or telco logos; it is closer to the deep aubergine of a high-end pâtisserie awning -- premium, restrained, slightly aristocratic.
57
-
58
- The system, internally referenced in compiled CSS as **KPDS (Kurly Product Design System)**, treats purple the way a fine-dining restaurant treats truffle: a small amount, deployed with intention. Typography is **Pretendard** -- Korea's de-facto product sans -- never a custom display face, because the photography of the food *is* the brand expression and the type's job is to step out of its way. The overall aesthetic is editorial-magazine-meets-grocery: dense product grids on cream/white, generous photographic real estate, restrained chrome, and the same purple repeated just often enough that the eye learns to associate it with "Kurly promised this."
59
-
60
- **Key Characteristics:**
61
- - Kurly Purple (`#5f0080`) as the singular brand mark -- premium, editorial, never a tint
62
- - Pretendard product font with system-font fallback chain (no custom display typeface)
63
- - Cool-gray neutral scale anchored at `#f2f5f8` (lightest) → `#222` (deepest), 12 steps total
64
- - KPDS three-tier token system (palette → semantic → component) compiled into CSS variables
65
- - Photography-forward product grids (1:1 thumbnail dominant, type secondary)
66
- - Whitespace-generous "보다 나은 삶" (better life) tone -- never crowded, never carnival
67
- - Dawn-delivery `샛별배송` badge as a recurring brand moment in purple
68
- - Mobile-first commerce density: 2-column product grid below 768px, 4-column on desktop
69
-
70
- ## 2. Color Palette & Roles
71
-
72
- ### Primary
73
- - **Kurly Purple** (`#5f0080`): KPDS `purple-900`. Primary CTA, brand wordmark, `샛별배송` (dawn delivery) badge, active states. The single defining color of the brand.
74
- - **Purple 800** (`#672091`): Pressed/hover for purple CTAs, dark contexts.
75
- - **Purple 700** (`#7e3ab0`): Mid-emphasis brand accent for editorial banners.
76
- - **Purple 500** (`#9a60ca`): Tints used in hero gradients, lifestyle banners.
77
- - **Purple 300** (`#c19edf`): Soft brand-tinted backgrounds, premium chips.
78
- - **Purple 100** (`#e8dbf3`): Brand-weak background for ribbons, callouts.
79
- - **Purple 50** (`#f5effa`): Whisper-tint for selected rows and subtle brand surfaces.
80
-
81
- ### Foreground (Ink)
82
- - **Ink 900** (`#1c1c1c`): KPDS `gray-900`. Reserved for highest-contrast headings.
83
- - **Ink 800** (`#222`): Default heading and price color. Slightly softer than pure black -- the warmth that keeps the white pages from going clinical.
84
- - **Ink 600** (`#393d41`): Body text on white.
85
- - **Ink 500** (`#464c52`): Sub-body, descriptions.
86
- - **Ink 400** (`#565e67`): Caption, metadata.
87
- - **Ink 300** (`#848f9a`): Disabled labels, placeholder.
88
-
89
- ### Surface & Border
90
- - **Pure White** (`#ffffff`): Page background, card surface.
91
- - **Cream Fill** (`#f2f5f8`): KPDS `gray-100`. Section background, search bar fill, neutral chip fill.
92
- - **Hairline Soft** (`#eceff3`): KPDS `gray-200`. Subtle separators.
93
- - **Hairline Default** (`#dfe4eb`): KPDS `gray-300`. Standard 1px borders.
94
- - **Hairline Strong** (`#cbd1d7`): KPDS `gray-400`. Definitive borders, input outlines.
95
- - **Mute Border** (`#bcc4cc`): KPDS `gray-500`. Pressed border on outline buttons.
96
-
97
- ### Semantic
98
- - **Sale Red** (`#e22d2e`): KPDS `red-700`. Discount %, error foreground, `세일` badge.
99
- - **Sale Red Deep** (`#d81b1c`): Pressed sale-red.
100
- - **Sale Red Tint** (`#fbe4e4`): Discount ribbon background, error inline tint.
101
- - **Coral** (`#fa622f`): KPDS `orange-700`. Limited-time offers, "오늘만" promotional color (used sparingly to avoid competing with purple).
102
- - **Coral Tint** (`#feebe4`): Promotional background.
103
- - **Success Green** (`#029568`): KPDS `green-600`. Success toasts, fresh/organic indicators.
104
- - **Info Blue** (`#216ba5`): Hyperlinks, informational states.
105
-
106
- ### Promotional Purple (Bright)
107
- - **Bright Purple** (`#bd76ff`): KPDS `purple-bright-300`. Promotional accent (mobile pill highlights, "Beauty Kurly" sub-brand) -- distinct from `#5f0080` by intent: deep purple = trust, bright purple = play.
108
- - **Bright Purple Soft** (`#f6edff`): Promotional background tint.
109
-
110
- ## 3. Typography Rules
111
-
112
- ### Font Family
113
- - **Primary**: `Pretendard, "Pretendard Variable", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif`
114
- - **Design Principle**: Pretendard is the entire type voice. There is no custom display face; the brand puts its visual personality into product photography and that one purple, not into letterforms.
115
-
116
- ### Hierarchy
117
-
118
- | Role | Size | Weight | Use |
119
- |------|------|--------|-----|
120
- | Display 72 | 72px | 700 | Hero magazine headlines (web only) |
121
- | Display 44 | 44px | 700 | Editorial section headers |
122
- | Headline 36 | 36px | 700 | Page titles, category banners |
123
- | Headline 28 | 28px | 700 | Subsection headers |
124
- | Title 24 | 24px | 600 | Card-cluster titles, dialog titles |
125
- | Title 20 | 20px | 600 | Strong product titles, list section headers |
126
- | Title 18 | 18px | 600 | Standard product titles, modal titles |
127
- | Body 16 | 16px | 400 | Default reading text, button labels (lg) |
128
- | Body 14 | 14px | 400 | Secondary body, button labels (md) |
129
- | Caption 13 | 13px | 400 | Metadata, brand line on product card |
130
- | Caption 12 | 12px | 400 | Timestamps, fine print |
131
- | Micro 10 | 10px | 600 | Badge text (`샛별배송`, `Kurly Only`) |
132
-
133
- ### Weights
134
- - **400 Regular**: Body, captions, descriptions.
135
- - **600 SemiBold**: Titles, button labels, pricing emphasis.
136
- - **700 Bold**: Headlines, hero copy, the price-with-discount stack.
137
-
138
- ### Principles
139
- - **Three weights only.** Pretendard offers more; Kurly uses 400/600/700 across the entire system to keep the editorial-grocery rhythm steady.
140
- - **Price typography is its own register.** Discount percentage in `Sale Red #e22d2e` 18-20px / 700, original price in `Ink 300` 13px / 400 with strikethrough, final price in `Ink 800 #222` 18-20px / 700. The triple-stack repeats on every product card.
141
- - **No italics in body.** Italics appear only inside long-form magazine content (recipe stories, supplier features), never in commerce chrome.
142
- - **Korean-first metrics.** Sizes are tuned for Korean glyph density; line-height runs slightly tighter (1.4-1.5x) than equivalent Latin-only systems.
143
-
144
- ## 4. Component Stylings
145
-
146
- ### Buttons
147
-
148
- **Primary (Kurly Purple)**
149
- - Background: `#5f0080`
150
- - Text: `#ffffff`
151
- - Radius: 6px
152
- - Padding: 16px 24px (lg), 12px 20px (md), 8px 16px (sm)
153
- - Font: 16px / 600 / Pretendard
154
- - Pressed: `#672091`
155
- - Disabled: `#dfe4eb` background, `#848f9a` text
156
- - Use: Primary commerce CTAs (`구매하기`, `장바구니 담기`, `주문하기`)
157
-
158
- **Secondary (Outline Purple)**
159
- - Background: `#ffffff`
160
- - Text: `#5f0080`
161
- - Border: 1px solid `#5f0080`
162
- - Radius: 6px
163
- - Padding: 12px 20px
164
- - Font: 14px / 600 / Pretendard
165
- - Pressed: `#f5effa` background
166
- - Use: Secondary actions (`바로 구매`, `옵션 변경`)
167
-
168
- **Neutral (Cream Fill)**
169
- - Background: `#f2f5f8`
170
- - Text: `#222`
171
- - Border: 1px solid `#dfe4eb`
172
- - Radius: 6px
173
- - Padding: 12px 20px
174
- - Font: 14px / 600 / Pretendard
175
- - Pressed: `#eceff3` background
176
- - Use: Tertiary actions (`취소`, `더보기`, filter open)
177
-
178
- **Ghost / Text Link**
179
- - Background: transparent
180
- - Text: `#5f0080`
181
- - Radius: 0
182
- - Padding: 4px 8px
183
- - Font: 14px / 600 / Pretendard with right-chevron glyph
184
- - Use: Inline navigation (`전체보기 >`, `더 알아보기 >`)
185
-
186
- **Critical (Sale / Destructive)**
187
- - Background: `#e22d2e`
188
- - Text: `#ffffff`
189
- - Radius: 6px
190
- - Padding: 12px 20px
191
- - Font: 14px / 600 / Pretendard
192
- - Pressed: `#d81b1c`
193
- - Use: Last-chance sale CTAs, destructive confirms (`삭제`)
194
-
195
- ### Inputs
196
-
197
- **Default**
198
- - Background: `#ffffff`
199
- - Border: 1px solid `#dfe4eb`
200
- - Radius: 6px
201
- - Padding: 12px 16px
202
- - Font: 16px / 400 / Pretendard, text `#222`
203
- - Placeholder: `#848f9a`
204
- - Focus: 1px solid `#5f0080` (no glow ring -- editorial restraint)
205
- - Disabled: `#f2f5f8` background, `#a7b2bc` text
206
- - Use: Standard text fields (login, address, search-modal)
207
-
208
- **Search Bar (Header)**
209
- - Background: `#f2f5f8`
210
- - Border: none
211
- - Radius: 6px
212
- - Padding: 10px 16px (left), 10px 44px (right -- search icon slot)
213
- - Font: 14px / 400 / Pretendard
214
- - Placeholder: `검색어를 입력해주세요` in `#848f9a`
215
- - Active: focus underline `#5f0080` 1px on bottom edge
216
- - Use: Persistent top-of-page search
217
-
218
- **Quantity Stepper**
219
- - Background: `#ffffff`
220
- - Border: 1px solid `#dfe4eb`
221
- - Radius: 4px
222
- - Height: 36px, width 96px (3 segments: − / count / +)
223
- - Font: 14px / 600 center segment
224
- - Use: Cart and product page quantity selection
225
-
226
- ### Cards
227
-
228
- **Product Card (Grid)**
229
- - Background: `#ffffff`
230
- - Border: none (separated by 16px gap on cream `#f2f5f8` page or 16px gap on white)
231
- - Radius: 4px on image (top), 0 on text block
232
- - Padding: 0 (image bleeds), 12px 4px (text block)
233
- - Shadow: none in default state, `0px 0px 4px rgba(0,0,0,0.15)` on hover (KPDS shadow-2)
234
- - Image: 1:1 aspect ratio, lazy-loaded WebP
235
- - Title: 14px / 400 / `#222`, max 2 lines with ellipsis
236
- - Brand line: 12px / 400 / `#848f9a`, max 1 line
237
- - Price stack: discount % `#e22d2e` 16px / 700 + final price `#222` 16px / 700 + original price `#a7b2bc` 13px / 400 strikethrough
238
- - Badges: `샛별배송` purple chip top-left of image area
239
- - Use: Category list, search results, recommendation rails
240
-
241
- **Editorial Banner Card**
242
- - Background: `#ffffff` or photographic full-bleed
243
- - Radius: 8px
244
- - Padding: 24px when copy is overlaid on white panel; 0 when full-bleed photo with caption below
245
- - Shadow: none (banners earn weight from photography, not chrome)
246
- - Use: Magazine-style storytelling tiles (`Kurly's Pick`, `오늘의 레시피`)
247
-
248
- **Modal / Dialog**
249
- - Background: `#ffffff`
250
- - Radius: 12px
251
- - Padding: 24px
252
- - Shadow: `0px 0px 30px rgba(0,0,0,0.25)` (KPDS shadow-elevated)
253
- - Max-width: 480px
254
- - Title: 20px / 700 / `#222`, body: 14px / 400 / `#393d41`
255
- - Use: Confirmation dialogs, address-edit, coupon-apply
256
-
257
- ### Badges
258
-
259
- **샛별배송 (Dawn Delivery)**
260
- - Background: `#5f0080`
261
- - Text: `#ffffff`
262
- - Radius: 4px
263
- - Padding: 4px 8px
264
- - Font: 11px / 700 / Pretendard
265
- - Use: Top-left overlay on product card image; signals dawn-delivery eligibility
266
-
267
- **Kurly Only**
268
- - Background: `#ffffff`
269
- - Text: `#5f0080`
270
- - Border: 1px solid `#5f0080`
271
- - Radius: 4px
272
- - Padding: 4px 8px
273
- - Font: 11px / 700
274
- - Use: Exclusive-to-Kurly product indicator
275
-
276
- **Sale (Discount)**
277
- - Background: `#e22d2e`
278
- - Text: `#ffffff`
279
- - Radius: 4px
280
- - Padding: 4px 6px
281
- - Font: 11px / 700
282
- - Use: Time-bound discount overlays on hero rails
283
-
284
- **Soldout**
285
- - Background: rgba(0,0,0,0.5) full-image overlay
286
- - Text: `#ffffff` 14px / 700 centered (`일시품절`)
287
- - Radius: matches parent card image radius
288
- - Use: Out-of-stock product card state
289
-
290
- **Neutral Tag**
291
- - Background: `#f2f5f8`
292
- - Text: `#393d41`
293
- - Radius: 4px
294
- - Padding: 4px 8px
295
- - Font: 12px / 400
296
- - Use: Category chips, filter chips (inactive)
297
-
298
- **Filter Chip — Selected**
299
- - Background: `#5f0080`
300
- - Text: `#ffffff`
301
- - Radius: 4px
302
- - Padding: 4px 8px
303
- - Font: 12px / 600
304
- - Use: Active filter selection in category browse
305
-
306
- ### Navigation
307
- - **Top GNB**: White background, 80px height on desktop, 56px on mobile. Wordmark in Kurly Purple `#5f0080`, nav links in `#222` 14px / 600. Underline-on-active in `#5f0080` 2px.
308
- - **Side category drawer**: Cream `#f2f5f8` background, hover state `#eceff3`, active row `#f5effa` with `#5f0080` left bar 3px.
309
- - **Bottom tab (mobile app surface)**: White background with hairline top border `#eceff3`. Active tab icon + label `#5f0080`, inactive `#848f9a`.
310
-
311
- ## 5. Layout Principles
312
-
313
- ### Spacing System
314
- - Base unit: 4px
315
- - Scale: 2px, 4px, 6px, 8px, 10px, 12px, 16px, 24px, 32px, 40px, 48px, 64px, 80px, 96px, 160px (KPDS spacing tokens)
316
- - Page horizontal gutter: 16px (mobile), 24px (tablet), 40px (desktop)
317
- - Section vertical rhythm: 64px between major content sections, 32px between sub-sections
318
-
319
- ### Grid & Container
320
- - Mobile: 2-column product grid, 8px gap
321
- - Tablet: 3-column product grid, 12px gap
322
- - Desktop: 4-column product grid, 16px gap, 1050px content max-width centered with editorial whitespace flanking
323
- - Header GNB: full-bleed white, 1050px content cluster centered
324
-
325
- ### Whitespace Philosophy
326
- - **Photography-forward, chrome-light.** Product images are the heroes; cards have no borders, hairlines stay quiet, shadows appear only on hover.
327
- - **Cream rests, white acts.** Page bands alternate `#f2f5f8` (rest sections, footers) and `#ffffff` (active product grids) so the eye gets pause between commerce density.
328
- - **Generous gutters in marketing, tight grids in commerce.** A `Kurly's Pick` editorial banner breathes at 64-96px vertical; a category grid tightens to 16-24px.
329
-
330
- ### Border Radius Scale
331
- - Small (4px): Product card image, badges, chips, filter pills, search bar
332
- - Medium (6px): Buttons, inputs, quantity stepper
333
- - Large (8px): Editorial banners, content tiles
334
- - XL (12px): Modals, sheets, large feature cards
335
-
336
- ## 6. Depth & Elevation
337
-
338
- | Level | Treatment | Use |
339
- |-------|-----------|-----|
340
- | Flat (Level 0) | No shadow | Default product cards, page sections |
341
- | Subtle | `0px 2px 2px 0px rgba(0,0,0,0.03)` | Sticky headers, gentle separation |
342
- | Card-Hover | `0px 0px 4px 0px rgba(0,0,0,0.15)` | Product card on hover |
343
- | Floating | `2px 2px 10px 0px rgba(0,0,0,0.10)` | Dropdown, popover, tooltip |
344
- | Elevated | `0px 0px 30px 0px rgba(0,0,0,0.25)` | Modal dialogs, full-screen sheet entries |
345
- | Overlay-Heavy | `0px 4px 10px 0px rgba(0,0,0,0.40)` | Image lightbox, full-takeover overlays |
346
-
347
- **Shadow Philosophy.** Kurly shadows are pure black with low opacity — never purple-tinted. The brand wants the purple to feel like one warm, deliberate object on the page; tinting shadows would dilute that singular role. Default cards stay flat; elevation appears only at meaningful interaction (hover, modal entry). The system has 6 named shadows but 4 of them are reserved for floating/modal contexts — most surfaces are flat.
348
-
349
- ## 7. Do's and Don'ts
350
-
351
- ### Do
352
- - Use Kurly Purple (`#5f0080`) as the singular brand mark — wordmark, primary CTA, dawn-delivery badge
353
- - Pair purple with cream `#f2f5f8` and white `#ffffff` only — let photography supply the warmth
354
- - Lead with photography on every product card — image takes the top 60% of the tile
355
- - Stack the price triple consistently: discount % (red), final price (ink), original price (strikethrough gray)
356
- - Use Pretendard at weights 400 / 600 / 700 only
357
- - Rest the page on cream sections between commerce-dense white grids
358
- - Reserve the bright purple `#bd76ff` for promotional sub-brand moments only (Beauty Kurly)
359
-
360
- ### Don't
361
- - Don't tint shadows purple — Kurly shadows are neutral so the purple stays singular
362
- - Don't use Kurly Purple for backgrounds at scale — it is for marks and CTAs, not hero fills
363
- - Don't introduce a second deep brand color (no "Kurly Green," no "Kurly Navy")
364
- - Don't crowd product cards with badges — at most 2 badges visible per card (`샛별배송` + one)
365
- - Don't use italics in commerce chrome — italics belong only to long-form editorial copy
366
- - Don't borrow Coupang/SSG visual cues (heavy red, dense ribbons) — Kurly is editorial, not arcade
367
- - Don't use pure black `#000` for text — `#222` (ink-800) keeps the page from going clinical
368
-
369
- ## 8. Responsive Behavior
370
-
371
- ### Breakpoints
372
- | Name | Width | Key Changes |
373
- |------|-------|-------------|
374
- | Mobile | <768px | 2-col product grid, 56px GNB, bottom tab bar |
375
- | Tablet | 768-1024px | 3-col product grid, GNB compresses category dropdowns |
376
- | Desktop | >1024px | 4-col grid, full GNB, 1050px content centered, editorial flanks |
377
-
378
- ### Touch Targets
379
- - Buttons: 48px (lg), 44px (md), 36px (sm) — all comfortably above 44px AAA
380
- - Tab bar items: 56px height with stacked icon + label
381
- - Product card tap target: full card area (image + text block)
382
- - Quantity stepper: 36px height, 32px wide segments
383
-
384
- ### Collapsing Strategy
385
- - Product grid: 4 → 3 → 2 columns as viewport narrows
386
- - GNB top: full menu on desktop → hamburger drawer on mobile
387
- - Bottom CTA on PDP: sticky full-width on mobile, inline column on desktop
388
- - Editorial banners: side-by-side on desktop → stacked single column on mobile
389
-
390
- ### Image Behavior
391
- - Product thumbnail: 1:1 ratio, 4px top corner radius, WebP / JPEG fallback, lazy-loaded
392
- - Hero banner: 16:9 on desktop, 4:3 on mobile
393
- - Full-bleed editorial: edge-to-edge, no radius
394
-
395
- ## 9. Agent Prompt Guide
396
-
397
- ### Quick Color Reference
398
- - Primary CTA: Kurly Purple (`#5f0080`)
399
- - CTA Pressed: Deep Purple (`#672091`)
400
- - Background: White (`#ffffff`) / Cream (`#f2f5f8`)
401
- - Heading: Ink (`#222`)
402
- - Body: Dark Gray (`#393d41`)
403
- - Caption: Mid Gray (`#565e67`)
404
- - Placeholder/Disabled: Light Gray (`#848f9a`)
405
- - Border: Hairline (`#dfe4eb`)
406
- - Sale Red: (`#e22d2e`)
407
- - Success: (`#029568`)
408
- - Bright Purple (promo): (`#bd76ff`)
409
-
410
- ### Example Component Prompts
411
- - "Create a Kurly product card: white bg, no border, 1:1 image with 4px top radius. `샛별배송` purple badge top-left of image. Below image: brand line 12px #848f9a, title 14px #222 max 2 lines, price triple-stack (discount % #e22d2e 16px/700, final price #222 16px/700, original price #a7b2bc 13px/400 strikethrough). Card-hover shadow 0px 0px 4px rgba(0,0,0,0.15)."
412
- - "Build a primary CTA: #5f0080 bg, white text, 16px weight 600 Pretendard, 6px radius, 16px 24px padding, full-width on mobile. Pressed: #672091. Disabled: #dfe4eb bg, #848f9a text."
413
- - "Design a search bar: #f2f5f8 bg, no border, 6px radius, 14px Pretendard placeholder #848f9a. Search icon right-padding 44px slot. Focus underline #5f0080 1px on bottom edge."
414
- - "Create a 샛별배송 badge: #5f0080 bg, white text 11px weight 700, 4px radius, 4px 8px padding. Place top-left over product image with 8px inset."
415
- - "Build an editorial banner card: full-bleed photographic top, white panel below with 24px padding, 8px radius corners, no shadow. Title 24px/700 #222, supporting line 14px/400 #393d41, ghost CTA `더 알아보기 >` in #5f0080."
416
-
417
- ### Iteration Guide
418
- 1. Primary purple is `#5f0080` — only this hex for brand mark and primary CTA
419
- 2. Pair with white `#ffffff` and cream `#f2f5f8`; never tint hero backgrounds purple
420
- 3. Pretendard at 400 / 600 / 700 only — no italics in commerce chrome
421
- 4. Border-radius defaults: 4px (cards/badges), 6px (buttons/inputs), 8-12px (banners/modals)
422
- 5. Shadows are neutral black, low opacity, used only at hover and elevation
423
- 6. Price triple-stack is sacred: red % + ink final + gray original (strikethrough)
424
- 7. `샛별배송` purple badge is the brand's most repeated micro-component — recognize it as a brand moment
425
-
426
- ---
427
-
428
- ## 10. Voice & Tone
429
-
430
- Kurly speaks like the friend who quietly knows the best butcher, the best baker, and the orchard that ships the strawberries before sunrise — confident without performing, warm without being chatty, and allergic to the gameshow shouting of mass e-commerce. The voice assumes a busy dual-income household at 10:47pm staring at an empty fridge: it does not exclaim, it does not gamify, it simply names the thing and confirms it will arrive while you sleep. Korean copy uses `-요` and `-습니다` registers fluidly — `장바구니에 담겼어요` for warmth, `주문이 완료되었습니다` for transactions — but never the playful `-야`/`-지` of younger consumer apps. English microcopy on the brand surfaces stays at the same register: *"Better Life for All"*, not *"Get groceries fast!!!"*
431
-
432
- | Context | Tone |
433
- |---|---|
434
- | CTAs | Verb-first Korean (`구매하기`, `장바구니 담기`, `샛별배송으로 받기`) — never exclamatory, never `Click here!` |
435
- | Empty states | One quiet sentence naming why it's empty + one low-key action. Never `데이터가 없습니다`. |
436
- | Error messages | Specific and blameless. `다시 시도해 주세요` over `오류가 발생했습니다`. |
437
- | Success toasts | Past-tense single sentence (`장바구니에 담겼어요`). No exclamation marks. |
438
- | Product descriptions | Editorial — supplier name, region, harvest method first. Marketing claims (`최고의`, `프리미엄`) only when sourced. |
439
- | Promotional banners | Restrained even in sales. `오늘만 이 가격` rather than `MEGA SALE!!!`. |
440
- | Trust & delivery copy | Calm and operational. `내일 아침 7시 전 도착` is more powerful than `초고속 배송`. |
441
- | Onboarding | One screen, one promise (dawn delivery), one CTA. No carousel of features. |
442
-
443
- **Forbidden phrases.** `대박`, `미친 가격`, `초특가`, `쇼킹`, English boilerplate like `Mind-blowing deals`, `Lightning fast`, `Don't miss out`. Excessive emoji are banned in price chrome and trust copy; allowed sparingly in editorial recipe content. The voice never uses three exclamation marks; rarely uses one. `혁신적인` is banned — Kurly does not call itself innovative; it just delivers before sunrise.
444
-
445
- **Voice samples.**
446
-
447
- - `Better Life for All` — corporate brand promise. <!-- verified: kurly.com og:site_name + meta, 2026-05 -->
448
- - `건강한 식재료부터 믿을 수 있는 뷰티, 라이프스타일 상품까지. 나와 내 가족이 사고 싶은 상품을 판매합니다.` — homepage meta description. <!-- verified: kurly.com meta description, 2026-05 -->
449
- - `내일 아침 문 앞에서 만나요!` — dawn-delivery brand line, homepage meta. <!-- verified: kurly.com meta description, 2026-05 -->
450
- - `샛별배송` — brand-defining badge for dawn delivery (delivered by 7am for orders by 11pm). <!-- verified: kurly.com brand surfaces, 2026-05 -->
451
- - `장바구니에 담겼어요` — illustrative success-toast pattern in Kurly register. <!-- illustrative: not verified as live Kurly copy -->
452
- - `오늘만 이 가격` — illustrative restrained promotion line in Kurly register. <!-- illustrative: not verified as live Kurly copy -->
453
- - `내일의 장보기, 오늘 끝.` — illustrative tagline pattern in Kurly register (dawn-delivery promise). <!-- illustrative: not verified as live Kurly copy -->
454
-
455
- ## 11. Brand Narrative
456
-
457
- Kurly (컬리, parent of 마켓컬리/Market Kurly) was founded on December 21, 2014 by **Sophie Kim (김슬아 / Kim Seul-ah)**, a Wellesley College political science graduate (2006, cum laude) who had spent her twenties at Goldman Sachs Hong Kong (2007, fixed income), McKinsey & Company (2010), Temasek Holdings (2012), and Bain & Company Korea (2013) — and who, at every stop, had been quietly frustrated that the produce in Korean grocery aisles never matched what her own family ate. The original company name was **The Farmers**; the consumer-facing service launched in 2015 with **30 SKUs**. The company rebranded to Kurly Inc. in 2018 ([Wikipedia: Sophie Kim](https://en.wikipedia.org/wiki/Sophie_Kim), [KED Global — Sophie Kim road less traveled](https://www.kedglobal.com/chief-executives/newsView/ked202201190017)).
458
-
459
- The product is built around a single idea: **샛별배송 (saetbyeol-baesong, "morning star delivery")** — order by 11pm, your fresh groceries arrive by 7am the next morning, full cold chain maintained from farm to apartment door. This was unprecedented in Korea when Kurly launched it; the entire e-grocery industry has since copied the model. Around that operational spine sits a deliberately editorial commerce surface: 1:1 product photography, magazine-style supplier features, restrained chrome, and one deep purple (`#5f0080`) repeated just often enough to brand the promise. The visual decision tracks the founder's positioning bet — Korean grocery shoppers (especially dual-income working couples in Seoul/Pangyo/Gangnam) would pay a premium *if* the product, the photography, and the trust narrative all signaled "curated." So everything signals curated, including the type-on-cream restraint and the absence of promotional carnival ([KED Global — dawn delivery pioneer](https://www.kedglobal.com/e-commerce/newsView/ked202412200010), [Marketline — Kurly pioneering dawn delivery](https://www.marketline.com/blog/kurly-pioneering-dawn-delivery-service-market-in-south-korea/)).
460
-
461
- The financial trajectory mirrors the visual one — quiet, then loud. Series A (2015), Series B (2017), then a string of high-conviction global rounds: **DST Global**, **Sequoia Capital China**, **Hillhouse**, **Aspex Management**, **Anchor Equity Partners**, plus strategic investors **CJ Logistics** and **SK Networks**. December 2021 pre-IPO closed at **$210M on a $3.3B valuation**, total funding around **$761M**. Kurly passed Korea Exchange preliminary IPO screening in **August 2022**, then **postponed the listing in January 2023** as global tech valuations cratered; a smaller pre-IPO round in **May 2023** repriced the company at roughly **2.5 trillion KRW**. The company has been re-targeting a KOSPI listing since early 2024 and posted its **first quarterly profit in Q1 2025**, reframing the IPO conversation around sustained profitability rather than growth-at-all-costs ([TechCrunch — IPO scrapped](https://techcrunch.com/2023/01/04/online-grocery-startup-kurly-scraps-ipo-amid-market-uncertainty/), [Korea Herald — Kurly opts for Korean market](https://www.koreaherald.com/article/2650215), [KED Global — first quarterly profit](https://www.kedglobal.com/earnings/newsView/ked202505130004)).
462
-
463
- What Kurly refuses: the gameshow ribbons of Coupang, the SuperSale carnival of 11st, the celebrity-endorsement pile-on of legacy home shopping, and the aggressive "타임딜" countdown psychology of generic Korean e-commerce. The brand's entire claim is that **time-pressed working professionals would rather have one curated thing tomorrow at 7am than ten cheap things this afternoon** — and the design system is the visible argument for that bet. Purple is scarce because trust has to be scarce to be legible; photography is generous because the product is the brand; chrome is quiet because the product is loud enough.
464
-
465
- ## 12. Principles
466
-
467
- 1. **Purple is scarce, on purpose.** `#5f0080` appears on the wordmark, primary CTA, `샛별배송` badge, and active states — and almost nowhere else. *UI implication:* at most one purple element per viewport in primary commerce flow; multiple purple CTAs competing on one screen must demote one to neutral or outline.
468
- 2. **Photography is the brand voice.** The product image carries 60% of every card; type is secondary. *UI implication:* never let chrome (badges, ribbons, gradients) cover more than 15% of the product image area. If a design fights the photography, the design is wrong.
469
- 3. **Cream rests, white acts.** Page sections alternate `#f2f5f8` (rest, footer, editorial breathers) and `#ffffff` (active product grids). *UI implication:* don't run three commerce-dense white sections in a row without a cream rest band; the eye fatigues.
470
- 4. **The price triple-stack is a brand moment.** Discount % (red) + final (ink) + original (gray strikethrough) is repeated identically on every card, every PDP, every cart row. *UI implication:* never break the order or weights — even when only two of three are present, preserve their slots.
471
- 5. **Pretendard, three weights, no italics.** 400 / 600 / 700 across the entire system. *UI implication:* if a comp introduces a fourth weight or italic body copy, it has drifted off-system; reject or re-scope.
472
- 6. **`샛별배송` is sacred chrome.** The dawn-delivery badge is the most-repeated brand component on the surface — it carries the operational promise that justifies the premium. *UI implication:* never restyle it for "balance"; it is intentionally the most purple thing on the card.
473
- 7. **Restraint over carnival in promotion.** Sale messaging is bounded — `오늘만 이 가격` rather than countdown timers and screen-shake animations. *UI implication:* no flashing, no screen-fill takeovers, no exclamation chains. If a promo design borrows Coupang's energy, it has betrayed the brand.
474
- 8. **One operational promise, surfaced everywhere.** Every page, every flow, every empty state can answer: *will it be there by 7am?* — yes, no, or by-when. *UI implication:* delivery context is a default, not a detail-screen reveal. Cards, cart, checkout, confirmation all surface the dawn-delivery slot.
475
-
476
- ## 13. Personas
477
-
478
- *Personas are fictional archetypes informed by publicly described Kurly customer segments (Korean dual-income working professionals, time-pressed parents, premium-grocery early adopters), not individual people.*
479
-
480
- **서연 (Seoyeon), 34, 강남구.** Marketing director at a Korean conglomerate, husband works in finance, one toddler in daycare. Opens Kurly between 10:30pm and 11:00pm three nights a week — past the cutoff and the morning is broken. Buys organic eggs, French butter, the Sunday roast, the pediatrician-recommended baby food. Doesn't comparison-shop on price; comparison-shops on supplier and harvest date. Will pay 30% premium for the right strawberries.
481
-
482
- **민준 (Minjun), 39, 판교.** Senior software engineer, wife runs a design studio, two elementary-age kids. Treats Kurly as the "weekday dinner solution" — meal kits, pre-marinated proteins, salad bases. Reads the supplier story on every product at least once. Has zero patience for the marketing language of legacy home shopping; the editorial restraint is exactly why he stayed after a one-week trial in 2019.
483
-
484
- **지은 (Jieun), 28, 마포구.** Single, works in tech PR, lives alone, cooks for one. Discovered Kurly through Beauty Kurly first — Korean K-beauty editorial commerce — then converted to grocery. Buys small portions, premium snacks, niche imported pantry items (Italian anchovies, Japanese soy sauce, French chocolate). The dawn-delivery promise matters less than the curation: she trusts the merchandiser more than she trusts herself.
485
-
486
- **Mr. & Mrs. Choi, 61, 잠실.** Empty-nesters, both retired professionals. Daughter set up the account during COVID; they kept using it because the produce quality is consistent and the customer-service tone is calm. Order weekly, primarily fresh fish, hanwoo beef, premium fruit boxes for grandchildren visits. Don't engage with promotions — engage with reliability.
487
-
488
- ## 14. States
489
-
490
- | State | Treatment |
491
- |---|---|
492
- | **Empty (cart)** | Single quiet line (`장바구니가 비어있어요`) + one secondary outline-purple CTA (`상품 보러 가기`). Never an illustration. Never `데이터가 없습니다`. |
493
- | **Empty (search no results)** | One line in `#565e67` 14px (`검색 결과가 없어요`). Single sub-line suggesting alternative searches. No button — user retypes themselves. |
494
- | **Empty (filter cleared)** | One line of caption text. No button. The user resets the filter. |
495
- | **Loading (product grid first paint)** | Skeleton blocks at `#f2f5f8` matching the final card layout — 1:1 thumbnail, 12px brand line, 14px title (2 lines), price stack. Subtle shimmer at 1.2s with 4% white highlight. |
496
- | **Loading (PDP image)** | Cream `#f2f5f8` placeholder block with center-loading 24px purple `#5f0080` spinner. Maintains 1:1 aspect ratio so layout doesn't reflow. |
497
- | **Loading (CTA in-flight)** | Button text replaced with 16px white spinner; button background stays `#5f0080`. No disabled state. |
498
- | **Error (inline field)** | Input border becomes `#e22d2e` 1px, helper text below in `#e22d2e` 12px / 400. One actionable sentence (`주소를 다시 확인해 주세요`). |
499
- | **Error (toast)** | `#222` background, `#ffffff` 14px / 400 text, 3s auto-dismiss. Bottom-of-screen with 24px inset above bottom tab. One sentence. No icon. |
500
- | **Error (network)** | Full-screen centered message in `#222` 18px / 700, `#393d41` 14px / 400 sub-line, retry button in Kurly Purple. No illustration. |
501
- | **Success (cart add)** | Inline 300ms flash of `#f5effa` (purple-50) behind the updated cart icon, then a bottom toast `장바구니에 담겼어요` for 2.5s. |
502
- | **Success (order complete)** | Dedicated confirmation page — not a toast. Order number, dawn-delivery slot (`내일 새벽 도착 예정`), and a single primary CTA `주문 상세 보기`. Quiet, not celebratory. |
503
- | **Skeleton** | `#f2f5f8` blocks at exact final dimensions matching the product card layout. Shimmer 1.2s. Brand-line and price slots stay blank until resolved — never imply a price that hasn't loaded. |
504
- | **Soldout** | Full-image overlay `rgba(0,0,0,0.5)` with white `일시품절` 14px / 700 centered. Card stays clickable for re-stock notification opt-in. |
505
- | **Disabled** | Button background `#dfe4eb`, text `#848f9a`. No color inversion. Geometry stays identical so re-enable is frame-stable. |
506
-
507
- ## 15. Motion & Easing
508
-
509
- **Durations** (named, not raw milliseconds):
510
-
511
- | Token | Value | Use |
512
- |---|---|---|
513
- | `motion-instant` | 0ms | Toggle flips, checkbox state, filter chip select |
514
- | `motion-fast` | 150ms | Hover lift, button press, inline cart-flash success |
515
- | `motion-standard` | 250ms | The default — card hover-shadow appearance, dropdown reveal, tab swap |
516
- | `motion-slow` | 350ms | Modal entry, full-sheet presentation, image lightbox |
517
- | `motion-page` | 300ms | Route transitions on PDP entry/exit |
518
-
519
- **Easings:**
520
-
521
- | Token | Curve | Use |
522
- |---|---|---|
523
- | `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Sheets, modals, toasts, cards-on-hover |
524
- | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals, modal close, toast auto-fade |
525
- | `ease-standard` | `cubic-bezier(0.4, 0.0, 0.2, 1)` | Two-way transitions — expandable accordion, tab content swap |
526
-
527
- **Spring stance.** Spring and overshoot easings are forbidden across Kurly commerce surfaces. The brand sells trust and dawn-delivery reliability to time-pressed professionals; bouncy motion reads as toy-like and undermines the editorial restraint that justifies the premium price point. The licensed exceptions are (a) the native-platform pull-to-refresh on the mobile app (inherits OS spring) and (b) image carousel snap on PDP galleries (inherits browser-native scroll-snap). Every other transition uses `ease-enter`, `ease-exit`, or `ease-standard`.
528
-
529
- **Signature motions.**
530
-
531
- 1. **Product card hover-lift.** On desktop hover, card raises with shadow `0px 0px 4px rgba(0,0,0,0.15)` over `motion-fast / ease-enter`. No scale change — the photography stays exactly the same size; only the shadow appears. The restraint is the brand.
532
- 2. **Cart-add flash.** When a product is added, the cart icon's background pulses to `#f5effa` (purple-50) over `motion-fast`, then fades back to default. A bottom toast (`장바구니에 담겼어요`) rises with `motion-standard / ease-enter` and dismisses with `motion-fast / ease-exit`.
533
- 3. **Modal entry.** Modals fade in (opacity 0 → 1) and rise from `y+16px` to `y+0` over `motion-slow / ease-enter`. Backdrop fades from `rgba(0,0,0,0)` to `rgba(0,0,0,0.5)` synchronized. Dismissal is lighter — `motion-fast / ease-exit`.
534
- 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`. Hover lift becomes immediate shadow toggle; modal cross-fades replace y-rise; cart flash becomes a 1-frame highlight then default. The app stays fully usable; just less kinetic.
535
-
536
- <!--
537
- OmD v0.1 Sources — Kurly DESIGN.md
538
-
539
- Tier 1 — Direct verification (2026-05-08):
540
- - https://www.kurly.com/main — homepage shell HTML + compiled KPDS CSS
541
- (https://res.kurly.com/v/2026.05.06.01/_next/static/css/51aa1e65e91a39af.css).
542
- Confirms: --kpds_ldmw172m: #5f0080 (Kurly Purple primary), full purple ramp
543
- (#672091, #7e3ab0, #8d4cc4, #9a60ca, #a775d2, #b489d8, #c19edf, #ceb2e6,
544
- #dcc7ed, #e8dbf3, #f5effa), bright purple promotional ramp (#bd76ff anchor),
545
- neutral gray scale (#1c1c1c → #222 → #393d41 → #464c52 → #565e67 → #848f9a
546
- → #a7b2bc → #bcc4cc → #cbd1d7 → #dfe4eb → #eceff3 → #f2f5f8), semantic colors
547
- (#e22d2e sale red, #fa622f coral, #029568 success, #216ba5 info), shadow tokens
548
- (0px 2px 2px rgba(0,0,0,0.03), 0px 0px 4px rgba(0,0,0,0.15),
549
- 2px 2px 10px rgba(0,0,0,0.10), 0px 0px 30px rgba(0,0,0,0.25),
550
- 0px 4px 10px rgba(0,0,0,0.40)), font stack
551
- Pretendard / Pretendard Variable / system fallback.
552
- - https://www.kurly.com/main — meta description + og tags. Confirms:
553
- "Better Life for All", "건강한 식재료부터 믿을 수 있는 뷰티, 라이프스타일 상품까지.
554
- 나와 내 가족이 사고 싶은 상품을 판매합니다. 내일 아침 문 앞에서 만나요!",
555
- Organization name "Kurly", customer support phone +82-1644-1107.
556
-
557
- Tier 2 — Cross-check:
558
- - https://getdesign.md/kurly — no record (queried 2026-05-08, "No designs found").
559
- - styles.refero.design — not separately queried (no record observed in Tier 1
560
- links; future migration sweep should verify).
561
-
562
- Tier 2 (Philosophy / founders):
563
- - https://en.wikipedia.org/wiki/Sophie_Kim — confirms Sophie Kim (Kim Seul-ah,
564
- 김슬아), b. 1983 Ulsan, Wellesley 2006 cum laude, Goldman Sachs HK 2007,
565
- McKinsey 2010, Temasek 2012, Bain Korea 2013, founded The Farmers 2014,
566
- Market Kurly launch 2015 with 30 SKUs, rebrand to Kurly Inc. 2018.
567
- - https://www.kedglobal.com/chief-executives/newsView/ked202201190017 —
568
- Kurly CEO Sophie Kim profile, founder background, premium positioning.
569
- - https://www.kedglobal.com/e-commerce/newsView/ked202412200010 —
570
- S.Korea's dawn delivery pioneer Kurly, luxury goods strategy.
571
- - https://www.marketline.com/blog/kurly-pioneering-dawn-delivery-service-market-in-south-korea/
572
- — dawn delivery pioneer framing, 새벽배송 origin.
573
- - https://techcrunch.com/2023/01/04/online-grocery-startup-kurly-scraps-ipo-amid-market-uncertainty/
574
- — January 2023 IPO postponement; KOSPI preliminary screening passed Aug 2022.
575
- - https://techcrunch.com/2021/12/19/kurly-lands-210m-pre-ipo-at-a-3-3b-valuation-just-months-after-its-last-funding/
576
- — Dec 2021 pre-IPO $210M at $3.3B valuation, total $761M.
577
- - https://www.koreaherald.com/article/2650215 — Kurly opts for Korean market
578
- for IPO (KOSPI rather than NYSE).
579
- - https://www.kedglobal.com/earnings/newsView/ked202505130004 —
580
- first-ever quarterly profit Q1 2025.
581
- - Investor list (DST Global, Sequoia Capital China, Hillhouse, Aspex,
582
- Anchor Equity Partners, MiraeAsset, CJ Logistics, SK Networks) —
583
- Crunchbase + KED Global + TechCrunch, cross-referenced.
584
-
585
- Re-verification status:
586
- - Kurly Purple #5f0080 verified directly from compiled KPDS CSS variable
587
- --kpds_ldmw172m, May 2026. The brand has shipped this hex consistently
588
- since at least the 2018 Kurly Inc. rebrand.
589
- - Sophie Kim career timeline: widely reported in KR/EN press; Wikipedia
590
- reflects published profile interviews, not independently audited.
591
- - Investor and valuation figures: TechCrunch/KED Global at retrieval date.
592
- Pre-IPO repricings have been frequent; verify before publishing as live.
593
- - Q1 2025 first-ever quarterly profit: KED Global May 2025; subsequent
594
- quarters not re-checked.
595
-
596
- Personas (§13) are fictional archetypes informed by publicly described Kurly
597
- customer segments (KR dual-income working professionals, time-pressed parents,
598
- premium-grocery early adopters). Any resemblance to specific individuals is
599
- unintended.
600
-
601
- Interpretive claims (editorial, not documented Kurly statements):
602
- - "Photography is the brand voice" / "purple is scarce because trust has to
603
- be scarce to be legible" (§11, §12) — editorial readings of observed design
604
- decisions, not sourced brand-team statements.
605
- - The spring-forbidden stance (§15) — derived from the overall brand posture
606
- (editorial restraint, premium curation, refusal of carnival promotion) as
607
- expressed in the live KPDS shadow tokens and the absence of overshoot
608
- easings in compiled CSS; not a documented KPDS rule.
609
- - "내일의 장보기, 오늘 끝." voice sample (§10) — illustrative pattern in
610
- Kurly register, not a verified live tagline.
611
- -->
612
-
613
- ---
614
-
615
- **Verified:** 2026-05-08 (Tier 1 live + Tier 2 cross-check)
616
- **Tier 1 sources:** kurly.com/main (homepage Next.js shell + KPDS compiled CSS at res.kurly.com — Kurly Purple `#5f0080` 6px / 16px·600 Primary CTA + cream `#f2f5f8` neutral fill + Pretendard product font); kurly.com/shopping/categories/list (category surface — same Next.js shell, 4-col product grid pattern + 샛별배송 purple badge convention).
617
- **Tier 2 sources:** getdesign.md/kurly — no record. styles.refero.design — not separately queried.
618
- **Tier 2 (Philosophy/founders):** Wikipedia (Sophie Kim), KED Global (CEO profile, dawn delivery, Q1 2025 first profit), Marketline (dawn delivery pioneer framing), TechCrunch (2021 pre-IPO $210M @ $3.3B, 2023 IPO postponement), Korea Herald (KOSPI listing path).
619
- **Style ref:** `karrot` (KR retail neighbor format, retained for §10-15 cadence).
620
- **Conflicts unresolved:** none.