zugzbot 1.3.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 (780) hide show
  1. package/.opencode/agents/sdd-coder.md +5 -4
  2. package/.opencode/agents/sdd-orchestrator.md +1 -1
  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/scripts/lint-charts.js +1 -2
  8. package/.opencode/skills/sdd-foundation-overview/SKILL.md +3 -4
  9. package/.opencode/skills/sdd-methodology/SKILL.md +8 -10
  10. package/.opencode/skills/sdd-quickstart/SKILL.md +5 -9
  11. package/.opencode/tools/sdd_core.ts +8 -6
  12. package/.opencode/tools/sdd_lucide.ts +112 -0
  13. package/README.md +1 -7
  14. package/opencode.json +0 -10
  15. package/package.json +1 -3
  16. package/.opencode/oh-my-design/design-md/11st/.verification.md +0 -37
  17. package/.opencode/oh-my-design/design-md/11st/DESIGN.md +0 -400
  18. package/.opencode/oh-my-design/design-md/17live/DESIGN.md +0 -467
  19. package/.opencode/oh-my-design/design-md/29cm/DESIGN.md +0 -495
  20. package/.opencode/oh-my-design/design-md/29cm/_promo.json +0 -23
  21. package/.opencode/oh-my-design/design-md/29cm/_research.md +0 -103
  22. package/.opencode/oh-my-design/design-md/3o3/.verification.md +0 -73
  23. package/.opencode/oh-my-design/design-md/3o3/DESIGN.md +0 -454
  24. package/.opencode/oh-my-design/design-md/91app/.verification.md +0 -25
  25. package/.opencode/oh-my-design/design-md/91app/DESIGN.md +0 -182
  26. package/.opencode/oh-my-design/design-md/abema/.verification.md +0 -64
  27. package/.opencode/oh-my-design/design-md/abema/DESIGN.md +0 -535
  28. package/.opencode/oh-my-design/design-md/ably/DESIGN.md +0 -646
  29. package/.opencode/oh-my-design/design-md/ably/_promo.json +0 -18
  30. package/.opencode/oh-my-design/design-md/ably/_research.md +0 -120
  31. package/.opencode/oh-my-design/design-md/accupass/.verification.md +0 -66
  32. package/.opencode/oh-my-design/design-md/accupass/DESIGN.md +0 -494
  33. package/.opencode/oh-my-design/design-md/adobe/.verification.md +0 -63
  34. package/.opencode/oh-my-design/design-md/adobe/DESIGN.md +0 -458
  35. package/.opencode/oh-my-design/design-md/airbnb/.verification.md +0 -143
  36. package/.opencode/oh-my-design/design-md/airbnb/DESIGN.md +0 -639
  37. package/.opencode/oh-my-design/design-md/airbnb/README.md +0 -23
  38. package/.opencode/oh-my-design/design-md/airbnb/preview-dark.html +0 -234
  39. package/.opencode/oh-my-design/design-md/airbnb/preview.html +0 -233
  40. package/.opencode/oh-my-design/design-md/airtable/.verification.md +0 -136
  41. package/.opencode/oh-my-design/design-md/airtable/DESIGN.md +0 -314
  42. package/.opencode/oh-my-design/design-md/airtable/README.md +0 -23
  43. package/.opencode/oh-my-design/design-md/airtable/preview-dark.html +0 -165
  44. package/.opencode/oh-my-design/design-md/airtable/preview.html +0 -164
  45. package/.opencode/oh-my-design/design-md/alipay/DESIGN.md +0 -506
  46. package/.opencode/oh-my-design/design-md/amazingtalker/.verification.md +0 -38
  47. package/.opencode/oh-my-design/design-md/amazingtalker/DESIGN.md +0 -434
  48. package/.opencode/oh-my-design/design-md/appier/DESIGN.md +0 -465
  49. package/.opencode/oh-my-design/design-md/apple/.verification.md +0 -162
  50. package/.opencode/oh-my-design/design-md/apple/DESIGN.md +0 -613
  51. package/.opencode/oh-my-design/design-md/apple/README.md +0 -24
  52. package/.opencode/oh-my-design/design-md/apple/preview-dark.html +0 -420
  53. package/.opencode/oh-my-design/design-md/apple/preview.html +0 -414
  54. package/.opencode/oh-my-design/design-md/baemin/.verification.md +0 -132
  55. package/.opencode/oh-my-design/design-md/baemin/DESIGN.md +0 -578
  56. package/.opencode/oh-my-design/design-md/baemin/README.md +0 -19
  57. package/.opencode/oh-my-design/design-md/baemin/_research.md +0 -84
  58. package/.opencode/oh-my-design/design-md/banksalad/DESIGN.md +0 -688
  59. package/.opencode/oh-my-design/design-md/banksalad/_promo.json +0 -29
  60. package/.opencode/oh-my-design/design-md/banksalad/_research.md +0 -190
  61. package/.opencode/oh-my-design/design-md/bilibili/DESIGN.md +0 -471
  62. package/.opencode/oh-my-design/design-md/bithumb/.verification.md +0 -31
  63. package/.opencode/oh-my-design/design-md/bithumb/DESIGN.md +0 -208
  64. package/.opencode/oh-my-design/design-md/bmw/.verification.md +0 -114
  65. package/.opencode/oh-my-design/design-md/bmw/DESIGN.md +0 -360
  66. package/.opencode/oh-my-design/design-md/bmw/README.md +0 -23
  67. package/.opencode/oh-my-design/design-md/bmw/preview-dark.html +0 -211
  68. package/.opencode/oh-my-design/design-md/bmw/preview.html +0 -210
  69. package/.opencode/oh-my-design/design-md/brandi/.verification.md +0 -29
  70. package/.opencode/oh-my-design/design-md/brandi/DESIGN.md +0 -414
  71. package/.opencode/oh-my-design/design-md/bunjang/DESIGN.md +0 -374
  72. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/.live-inspect-proof.json +0 -260
  73. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/fonts.json +0 -33
  74. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/logo-icon.svg +0 -10
  75. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/structure.json +0 -131
  76. package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/tokens.json +0 -147
  77. package/.opencode/oh-my-design/design-md/cakeresume/.verification.md +0 -25
  78. package/.opencode/oh-my-design/design-md/cakeresume/DESIGN.md +0 -191
  79. package/.opencode/oh-my-design/design-md/cal/.verification.md +0 -145
  80. package/.opencode/oh-my-design/design-md/cal/DESIGN.md +0 -481
  81. package/.opencode/oh-my-design/design-md/cal/README.md +0 -23
  82. package/.opencode/oh-my-design/design-md/cal/preview-dark.html +0 -449
  83. package/.opencode/oh-my-design/design-md/cal/preview.html +0 -575
  84. package/.opencode/oh-my-design/design-md/catchtable/DESIGN.md +0 -341
  85. package/.opencode/oh-my-design/design-md/catchtable/_research.md +0 -54
  86. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/.live-inspect-proof.json +0 -204
  87. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/.live-inspect-raw.json +0 -22
  88. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/fonts.json +0 -21
  89. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/structure.json +0 -42
  90. package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/tokens.json +0 -95
  91. package/.opencode/oh-my-design/design-md/cathay/.verification.md +0 -44
  92. package/.opencode/oh-my-design/design-md/cathay/DESIGN.md +0 -432
  93. package/.opencode/oh-my-design/design-md/channeltalk/DESIGN.md +0 -422
  94. package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/.live-inspect-proof.json +0 -320
  95. package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/fonts.json +0 -53
  96. package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/structure.json +0 -47
  97. package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/tokens.json +0 -78
  98. package/.opencode/oh-my-design/design-md/class101/DESIGN.md +0 -484
  99. package/.opencode/oh-my-design/design-md/classting/.verification.md +0 -32
  100. package/.opencode/oh-my-design/design-md/classting/DESIGN.md +0 -292
  101. package/.opencode/oh-my-design/design-md/classum/DESIGN.md +0 -279
  102. package/.opencode/oh-my-design/design-md/classum/assets/_reference/.live-inspect-proof.json +0 -72
  103. package/.opencode/oh-my-design/design-md/classum/assets/_reference/fonts.json +0 -20
  104. package/.opencode/oh-my-design/design-md/classum/assets/_reference/structure.json +0 -21
  105. package/.opencode/oh-my-design/design-md/classum/assets/_reference/tokens.json +0 -56
  106. package/.opencode/oh-my-design/design-md/claude/.verification.md +0 -106
  107. package/.opencode/oh-my-design/design-md/claude/DESIGN.md +0 -561
  108. package/.opencode/oh-my-design/design-md/claude/README.md +0 -24
  109. package/.opencode/oh-my-design/design-md/claude/preview-dark.html +0 -803
  110. package/.opencode/oh-my-design/design-md/claude/preview.html +0 -826
  111. package/.opencode/oh-my-design/design-md/clay/.verification.md +0 -129
  112. package/.opencode/oh-my-design/design-md/clay/DESIGN.md +0 -454
  113. package/.opencode/oh-my-design/design-md/clay/README.md +0 -23
  114. package/.opencode/oh-my-design/design-md/clay/preview-dark.html +0 -316
  115. package/.opencode/oh-my-design/design-md/clay/preview.html +0 -315
  116. package/.opencode/oh-my-design/design-md/clickhouse/.verification.md +0 -132
  117. package/.opencode/oh-my-design/design-md/clickhouse/DESIGN.md +0 -424
  118. package/.opencode/oh-my-design/design-md/clickhouse/README.md +0 -24
  119. package/.opencode/oh-my-design/design-md/clickhouse/preview-dark.html +0 -834
  120. package/.opencode/oh-my-design/design-md/clickhouse/preview.html +0 -786
  121. package/.opencode/oh-my-design/design-md/cloudflare/.verification.md +0 -21
  122. package/.opencode/oh-my-design/design-md/cloudflare/DESIGN.md +0 -637
  123. package/.opencode/oh-my-design/design-md/cohere/.verification.md +0 -136
  124. package/.opencode/oh-my-design/design-md/cohere/DESIGN.md +0 -409
  125. package/.opencode/oh-my-design/design-md/cohere/README.md +0 -24
  126. package/.opencode/oh-my-design/design-md/cohere/preview-dark.html +0 -803
  127. package/.opencode/oh-my-design/design-md/cohere/preview.html +0 -807
  128. package/.opencode/oh-my-design/design-md/coinbase/.verification.md +0 -116
  129. package/.opencode/oh-my-design/design-md/coinbase/DESIGN.md +0 -353
  130. package/.opencode/oh-my-design/design-md/coinbase/README.md +0 -23
  131. package/.opencode/oh-my-design/design-md/coinbase/preview-dark.html +0 -164
  132. package/.opencode/oh-my-design/design-md/coinbase/preview.html +0 -163
  133. package/.opencode/oh-my-design/design-md/coinone/.verification.md +0 -38
  134. package/.opencode/oh-my-design/design-md/coinone/DESIGN.md +0 -257
  135. package/.opencode/oh-my-design/design-md/composio/.verification.md +0 -143
  136. package/.opencode/oh-my-design/design-md/composio/DESIGN.md +0 -441
  137. package/.opencode/oh-my-design/design-md/composio/README.md +0 -24
  138. package/.opencode/oh-my-design/design-md/composio/preview-dark.html +0 -958
  139. package/.opencode/oh-my-design/design-md/composio/preview.html +0 -933
  140. package/.opencode/oh-my-design/design-md/cookpad/DESIGN.md +0 -394
  141. package/.opencode/oh-my-design/design-md/coupang/.verification.md +0 -141
  142. package/.opencode/oh-my-design/design-md/coupang/DESIGN.md +0 -557
  143. package/.opencode/oh-my-design/design-md/cursor/.verification.md +0 -141
  144. package/.opencode/oh-my-design/design-md/cursor/DESIGN.md +0 -460
  145. package/.opencode/oh-my-design/design-md/cursor/README.md +0 -24
  146. package/.opencode/oh-my-design/design-md/cursor/preview-dark.html +0 -393
  147. package/.opencode/oh-my-design/design-md/cursor/preview.html +0 -383
  148. package/.opencode/oh-my-design/design-md/dabang/DESIGN.md +0 -267
  149. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/.live-inspect-proof.json +0 -145
  150. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/fonts.json +0 -22
  151. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/raw-capture-map.json +0 -718
  152. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/raw-capture.json +0 -1125
  153. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/structure.json +0 -53
  154. package/.opencode/oh-my-design/design-md/dabang/assets/_reference/tokens.json +0 -130
  155. package/.opencode/oh-my-design/design-md/danawa/.verification.md +0 -60
  156. package/.opencode/oh-my-design/design-md/danawa/DESIGN.md +0 -477
  157. package/.opencode/oh-my-design/design-md/dcard/.verification.md +0 -118
  158. package/.opencode/oh-my-design/design-md/dcard/DESIGN.md +0 -633
  159. package/.opencode/oh-my-design/design-md/dcard/README.md +0 -12
  160. package/.opencode/oh-my-design/design-md/dcard/_research/forum-1440px.png +0 -0
  161. package/.opencode/oh-my-design/design-md/dcard/_research.md +0 -133
  162. package/.opencode/oh-my-design/design-md/dell/.verification.md +0 -21
  163. package/.opencode/oh-my-design/design-md/dell/DESIGN.md +0 -636
  164. package/.opencode/oh-my-design/design-md/devsisters/.verification.md +0 -32
  165. package/.opencode/oh-my-design/design-md/devsisters/DESIGN.md +0 -282
  166. package/.opencode/oh-my-design/design-md/discord/.verification.md +0 -21
  167. package/.opencode/oh-my-design/design-md/discord/DESIGN.md +0 -604
  168. package/.opencode/oh-my-design/design-md/dji/DESIGN.md +0 -454
  169. package/.opencode/oh-my-design/design-md/drnow/.verification.md +0 -41
  170. package/.opencode/oh-my-design/design-md/drnow/DESIGN.md +0 -383
  171. package/.opencode/oh-my-design/design-md/dropbox/.verification.md +0 -61
  172. package/.opencode/oh-my-design/design-md/dropbox/DESIGN.md +0 -445
  173. package/.opencode/oh-my-design/design-md/duolingo/.verification.md +0 -20
  174. package/.opencode/oh-my-design/design-md/duolingo/DESIGN.md +0 -563
  175. package/.opencode/oh-my-design/design-md/elevenlabs/.verification.md +0 -128
  176. package/.opencode/oh-my-design/design-md/elevenlabs/DESIGN.md +0 -415
  177. package/.opencode/oh-my-design/design-md/elevenlabs/README.md +0 -23
  178. package/.opencode/oh-my-design/design-md/elevenlabs/preview-dark.html +0 -252
  179. package/.opencode/oh-my-design/design-md/elevenlabs/preview.html +0 -251
  180. package/.opencode/oh-my-design/design-md/expo/.verification.md +0 -141
  181. package/.opencode/oh-my-design/design-md/expo/DESIGN.md +0 -412
  182. package/.opencode/oh-my-design/design-md/expo/README.md +0 -24
  183. package/.opencode/oh-my-design/design-md/expo/preview-dark.html +0 -533
  184. package/.opencode/oh-my-design/design-md/expo/preview.html +0 -533
  185. package/.opencode/oh-my-design/design-md/fastcampus/DESIGN.md +0 -529
  186. package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/.live-inspect-proof.json +0 -950
  187. package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/fonts.json +0 -14
  188. package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/structure.json +0 -30
  189. package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/tokens.json +0 -109
  190. package/.opencode/oh-my-design/design-md/ferrari/.verification.md +0 -119
  191. package/.opencode/oh-my-design/design-md/ferrari/DESIGN.md +0 -447
  192. package/.opencode/oh-my-design/design-md/ferrari/README.md +0 -23
  193. package/.opencode/oh-my-design/design-md/ferrari/preview-dark.html +0 -1162
  194. package/.opencode/oh-my-design/design-md/ferrari/preview.html +0 -1122
  195. package/.opencode/oh-my-design/design-md/figma/.verification.md +0 -206
  196. package/.opencode/oh-my-design/design-md/figma/DESIGN.md +0 -534
  197. package/.opencode/oh-my-design/design-md/figma/README.md +0 -24
  198. package/.opencode/oh-my-design/design-md/figma/preview-dark.html +0 -822
  199. package/.opencode/oh-my-design/design-md/figma/preview.html +0 -832
  200. package/.opencode/oh-my-design/design-md/finda/.verification.md +0 -33
  201. package/.opencode/oh-my-design/design-md/finda/DESIGN.md +0 -413
  202. package/.opencode/oh-my-design/design-md/firstory/.verification.md +0 -70
  203. package/.opencode/oh-my-design/design-md/firstory/DESIGN.md +0 -487
  204. package/.opencode/oh-my-design/design-md/flex/DESIGN.md +0 -356
  205. package/.opencode/oh-my-design/design-md/flex/_research.md +0 -49
  206. package/.opencode/oh-my-design/design-md/flex/assets/_reference/.live-inspect-proof.json +0 -192
  207. package/.opencode/oh-my-design/design-md/flex/assets/_reference/.raw-inspect.json +0 -873
  208. package/.opencode/oh-my-design/design-md/flex/assets/_reference/fonts.json +0 -17
  209. package/.opencode/oh-my-design/design-md/flex/assets/_reference/structure.json +0 -58
  210. package/.opencode/oh-my-design/design-md/flex/assets/_reference/tokens.json +0 -75
  211. package/.opencode/oh-my-design/design-md/flo/.verification.md +0 -33
  212. package/.opencode/oh-my-design/design-md/flo/DESIGN.md +0 -349
  213. package/.opencode/oh-my-design/design-md/framer/.verification.md +0 -147
  214. package/.opencode/oh-my-design/design-md/framer/DESIGN.md +0 -431
  215. package/.opencode/oh-my-design/design-md/framer/README.md +0 -23
  216. package/.opencode/oh-my-design/design-md/framer/preview-dark.html +0 -902
  217. package/.opencode/oh-my-design/design-md/framer/preview.html +0 -883
  218. package/.opencode/oh-my-design/design-md/freee/.verification.md +0 -145
  219. package/.opencode/oh-my-design/design-md/freee/DESIGN.md +0 -620
  220. package/.opencode/oh-my-design/design-md/freee/README.md +0 -12
  221. package/.opencode/oh-my-design/design-md/freee/_research/vibes-storybook-1440px.png +0 -0
  222. package/.opencode/oh-my-design/design-md/freee/_research.md +0 -116
  223. package/.opencode/oh-my-design/design-md/fugle/.verification.md +0 -40
  224. package/.opencode/oh-my-design/design-md/fugle/DESIGN.md +0 -290
  225. package/.opencode/oh-my-design/design-md/funnow/.verification.md +0 -62
  226. package/.opencode/oh-my-design/design-md/funnow/DESIGN.md +0 -431
  227. package/.opencode/oh-my-design/design-md/gangnamunni/DESIGN.md +0 -677
  228. package/.opencode/oh-my-design/design-md/gangnamunni/_promo.json +0 -26
  229. package/.opencode/oh-my-design/design-md/gangnamunni/_research.md +0 -113
  230. package/.opencode/oh-my-design/design-md/genie/.verification.md +0 -29
  231. package/.opencode/oh-my-design/design-md/genie/DESIGN.md +0 -415
  232. package/.opencode/oh-my-design/design-md/github/.verification.md +0 -21
  233. package/.opencode/oh-my-design/design-md/github/DESIGN.md +0 -727
  234. package/.opencode/oh-my-design/design-md/gmarket/DESIGN.md +0 -534
  235. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/.live-inspect-proof.json +0 -217
  236. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/fonts.json +0 -41
  237. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/raw-capture-bestsellers.json +0 -1929
  238. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/raw-capture-home.json +0 -3675
  239. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/structure.json +0 -65
  240. package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/tokens.json +0 -210
  241. package/.opencode/oh-my-design/design-md/gogolook/.verification.md +0 -31
  242. package/.opencode/oh-my-design/design-md/gogolook/DESIGN.md +0 -155
  243. package/.opencode/oh-my-design/design-md/gogoro/DESIGN.md +0 -441
  244. package/.opencode/oh-my-design/design-md/google/.verification.md +0 -61
  245. package/.opencode/oh-my-design/design-md/google/DESIGN.md +0 -499
  246. package/.opencode/oh-my-design/design-md/greenvines/.verification.md +0 -72
  247. package/.opencode/oh-my-design/design-md/greenvines/DESIGN.md +0 -454
  248. package/.opencode/oh-my-design/design-md/greeting/.verification.md +0 -64
  249. package/.opencode/oh-my-design/design-md/greeting/DESIGN.md +0 -462
  250. package/.opencode/oh-my-design/design-md/grip/.verification.md +0 -36
  251. package/.opencode/oh-my-design/design-md/grip/DESIGN.md +0 -289
  252. package/.opencode/oh-my-design/design-md/hahow/.verification.md +0 -31
  253. package/.opencode/oh-my-design/design-md/hahow/DESIGN.md +0 -184
  254. package/.opencode/oh-my-design/design-md/hashicorp/.verification.md +0 -142
  255. package/.opencode/oh-my-design/design-md/hashicorp/DESIGN.md +0 -411
  256. package/.opencode/oh-my-design/design-md/hashicorp/README.md +0 -24
  257. package/.opencode/oh-my-design/design-md/hashicorp/preview-dark.html +0 -1202
  258. package/.opencode/oh-my-design/design-md/hashicorp/preview.html +0 -1193
  259. package/.opencode/oh-my-design/design-md/hogangnono/.verification.md +0 -33
  260. package/.opencode/oh-my-design/design-md/hogangnono/DESIGN.md +0 -349
  261. package/.opencode/oh-my-design/design-md/hp/.verification.md +0 -21
  262. package/.opencode/oh-my-design/design-md/hp/DESIGN.md +0 -563
  263. package/.opencode/oh-my-design/design-md/hyperconnect/.verification.md +0 -40
  264. package/.opencode/oh-my-design/design-md/hyperconnect/DESIGN.md +0 -393
  265. package/.opencode/oh-my-design/design-md/hyundaicard/.verification.md +0 -25
  266. package/.opencode/oh-my-design/design-md/hyundaicard/DESIGN.md +0 -201
  267. package/.opencode/oh-my-design/design-md/ibm/.verification.md +0 -102
  268. package/.opencode/oh-my-design/design-md/ibm/DESIGN.md +0 -464
  269. package/.opencode/oh-my-design/design-md/ibm/README.md +0 -24
  270. package/.opencode/oh-my-design/design-md/ibm/preview-dark.html +0 -443
  271. package/.opencode/oh-my-design/design-md/ibm/preview.html +0 -428
  272. package/.opencode/oh-my-design/design-md/ichef/DESIGN.md +0 -455
  273. package/.opencode/oh-my-design/design-md/ikala/.verification.md +0 -35
  274. package/.opencode/oh-my-design/design-md/ikala/DESIGN.md +0 -400
  275. package/.opencode/oh-my-design/design-md/imweb/.verification.md +0 -61
  276. package/.opencode/oh-my-design/design-md/imweb/DESIGN.md +0 -460
  277. package/.opencode/oh-my-design/design-md/inflearn/DESIGN.md +0 -453
  278. package/.opencode/oh-my-design/design-md/inflearn/_promo.json +0 -29
  279. package/.opencode/oh-my-design/design-md/inflearn/_research.md +0 -85
  280. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/.live-inspect-proof-courses.json +0 -679
  281. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/.live-inspect-proof.json +0 -448
  282. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/fonts.json +0 -41
  283. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/structure.json +0 -110
  284. package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/tokens.json +0 -54
  285. package/.opencode/oh-my-design/design-md/intercom/.verification.md +0 -144
  286. package/.opencode/oh-my-design/design-md/intercom/DESIGN.md +0 -271
  287. package/.opencode/oh-my-design/design-md/intercom/README.md +0 -23
  288. package/.opencode/oh-my-design/design-md/intercom/preview-dark.html +0 -185
  289. package/.opencode/oh-my-design/design-md/intercom/preview.html +0 -184
  290. package/.opencode/oh-my-design/design-md/jandi/.verification.md +0 -26
  291. package/.opencode/oh-my-design/design-md/jandi/DESIGN.md +0 -382
  292. package/.opencode/oh-my-design/design-md/jkopay/.verification.md +0 -32
  293. package/.opencode/oh-my-design/design-md/jkopay/DESIGN.md +0 -283
  294. package/.opencode/oh-my-design/design-md/jobkorea/.verification.md +0 -30
  295. package/.opencode/oh-my-design/design-md/jobkorea/DESIGN.md +0 -349
  296. package/.opencode/oh-my-design/design-md/jumpit/DESIGN.md +0 -403
  297. package/.opencode/oh-my-design/design-md/jumpit/_research.md +0 -119
  298. package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/.live-inspect-proof.json +0 -182
  299. package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/fonts.json +0 -20
  300. package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/structure.json +0 -66
  301. package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/tokens.json +0 -108
  302. package/.opencode/oh-my-design/design-md/kakao/.verification.md +0 -137
  303. package/.opencode/oh-my-design/design-md/kakao/DESIGN.md +0 -568
  304. package/.opencode/oh-my-design/design-md/kakao/README.md +0 -18
  305. package/.opencode/oh-my-design/design-md/kakao/_research.md +0 -98
  306. package/.opencode/oh-my-design/design-md/kakaobank/.verification.md +0 -133
  307. package/.opencode/oh-my-design/design-md/kakaobank/DESIGN.md +0 -602
  308. package/.opencode/oh-my-design/design-md/kakaopay/DESIGN.md +0 -603
  309. package/.opencode/oh-my-design/design-md/kakaopay/_promo.json +0 -22
  310. package/.opencode/oh-my-design/design-md/kakaopay/_research.md +0 -84
  311. package/.opencode/oh-my-design/design-md/kakaot/DESIGN.md +0 -507
  312. package/.opencode/oh-my-design/design-md/karrot/.verification.md +0 -143
  313. package/.opencode/oh-my-design/design-md/karrot/DESIGN.md +0 -494
  314. package/.opencode/oh-my-design/design-md/karrot/README.md +0 -18
  315. package/.opencode/oh-my-design/design-md/karrot/_research.md +0 -57
  316. package/.opencode/oh-my-design/design-md/kbank/DESIGN.md +0 -252
  317. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/.live-inspect-proof.json +0 -215
  318. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/.live-inspect-raw.json +0 -1
  319. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/fonts.json +0 -20
  320. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/structure.json +0 -151
  321. package/.opencode/oh-my-design/design-md/kbank/assets/_reference/tokens.json +0 -101
  322. package/.opencode/oh-my-design/design-md/kdan/.verification.md +0 -30
  323. package/.opencode/oh-my-design/design-md/kdan/DESIGN.md +0 -193
  324. package/.opencode/oh-my-design/design-md/kintone/.verification.md +0 -21
  325. package/.opencode/oh-my-design/design-md/kintone/DESIGN.md +0 -586
  326. package/.opencode/oh-my-design/design-md/kkbox/.verification.md +0 -27
  327. package/.opencode/oh-my-design/design-md/kkbox/DESIGN.md +0 -136
  328. package/.opencode/oh-my-design/design-md/kkday/DESIGN.md +0 -470
  329. package/.opencode/oh-my-design/design-md/kmong/.verification.md +0 -30
  330. package/.opencode/oh-my-design/design-md/kmong/DESIGN.md +0 -427
  331. package/.opencode/oh-my-design/design-md/krafton/.verification.md +0 -38
  332. package/.opencode/oh-my-design/design-md/krafton/DESIGN.md +0 -267
  333. package/.opencode/oh-my-design/design-md/kraken/.verification.md +0 -143
  334. package/.opencode/oh-my-design/design-md/kraken/DESIGN.md +0 -277
  335. package/.opencode/oh-my-design/design-md/kraken/README.md +0 -23
  336. package/.opencode/oh-my-design/design-md/kraken/preview-dark.html +0 -169
  337. package/.opencode/oh-my-design/design-md/kraken/preview.html +0 -168
  338. package/.opencode/oh-my-design/design-md/krds/.verification.md +0 -373
  339. package/.opencode/oh-my-design/design-md/krds/DESIGN.md +0 -1060
  340. package/.opencode/oh-my-design/design-md/kream/DESIGN.md +0 -432
  341. package/.opencode/oh-my-design/design-md/kream/assets/_reference/.live-inspect-proof.json +0 -289
  342. package/.opencode/oh-my-design/design-md/kream/assets/_reference/fonts.json +0 -26
  343. package/.opencode/oh-my-design/design-md/kream/assets/_reference/structure.json +0 -56
  344. package/.opencode/oh-my-design/design-md/kream/assets/_reference/tokens.json +0 -154
  345. package/.opencode/oh-my-design/design-md/kurly/.verification.md +0 -126
  346. package/.opencode/oh-my-design/design-md/kurly/DESIGN.md +0 -620
  347. package/.opencode/oh-my-design/design-md/laftel/.verification.md +0 -39
  348. package/.opencode/oh-my-design/design-md/laftel/DESIGN.md +0 -293
  349. package/.opencode/oh-my-design/design-md/lamborghini/.verification.md +0 -127
  350. package/.opencode/oh-my-design/design-md/lamborghini/DESIGN.md +0 -430
  351. package/.opencode/oh-my-design/design-md/lamborghini/README.md +0 -23
  352. package/.opencode/oh-my-design/design-md/lamborghini/preview-dark.html +0 -303
  353. package/.opencode/oh-my-design/design-md/lamborghini/preview.html +0 -381
  354. package/.opencode/oh-my-design/design-md/laundrygo/.verification.md +0 -60
  355. package/.opencode/oh-my-design/design-md/laundrygo/DESIGN.md +0 -434
  356. package/.opencode/oh-my-design/design-md/layerx/.verification.md +0 -21
  357. package/.opencode/oh-my-design/design-md/layerx/DESIGN.md +0 -615
  358. package/.opencode/oh-my-design/design-md/lezhin/.verification.md +0 -47
  359. package/.opencode/oh-my-design/design-md/lezhin/DESIGN.md +0 -348
  360. package/.opencode/oh-my-design/design-md/line/.verification.md +0 -137
  361. package/.opencode/oh-my-design/design-md/line/DESIGN.md +0 -467
  362. package/.opencode/oh-my-design/design-md/line/README.md +0 -12
  363. package/.opencode/oh-my-design/design-md/line/_research/home-1440px.png +0 -0
  364. package/.opencode/oh-my-design/design-md/line/_research.md +0 -65
  365. package/.opencode/oh-my-design/design-md/linear.app/.verification.md +0 -143
  366. package/.opencode/oh-my-design/design-md/linear.app/DESIGN.md +0 -642
  367. package/.opencode/oh-my-design/design-md/linear.app/README.md +0 -24
  368. package/.opencode/oh-my-design/design-md/linear.app/preview-dark.html +0 -383
  369. package/.opencode/oh-my-design/design-md/linear.app/preview.html +0 -373
  370. package/.opencode/oh-my-design/design-md/loom/.verification.md +0 -31
  371. package/.opencode/oh-my-design/design-md/loom/DESIGN.md +0 -396
  372. package/.opencode/oh-my-design/design-md/lovable/.verification.md +0 -154
  373. package/.opencode/oh-my-design/design-md/lovable/DESIGN.md +0 -423
  374. package/.opencode/oh-my-design/design-md/lovable/README.md +0 -24
  375. package/.opencode/oh-my-design/design-md/lovable/preview-dark.html +0 -349
  376. package/.opencode/oh-my-design/design-md/lovable/preview.html +0 -348
  377. package/.opencode/oh-my-design/design-md/lunit/DESIGN.md +0 -296
  378. package/.opencode/oh-my-design/design-md/lunit/assets/_reference/.live-inspect-proof.json +0 -249
  379. package/.opencode/oh-my-design/design-md/lunit/assets/_reference/fonts.json +0 -24
  380. package/.opencode/oh-my-design/design-md/lunit/assets/_reference/structure.json +0 -162
  381. package/.opencode/oh-my-design/design-md/lunit/assets/_reference/tokens.json +0 -115
  382. package/.opencode/oh-my-design/design-md/mastercard/.verification.md +0 -19
  383. package/.opencode/oh-my-design/design-md/mastercard/DESIGN.md +0 -587
  384. package/.opencode/oh-my-design/design-md/meituan/DESIGN.md +0 -466
  385. package/.opencode/oh-my-design/design-md/melon/.verification.md +0 -27
  386. package/.opencode/oh-my-design/design-md/melon/DESIGN.md +0 -179
  387. package/.opencode/oh-my-design/design-md/mercari/.verification.md +0 -155
  388. package/.opencode/oh-my-design/design-md/mercari/DESIGN.md +0 -514
  389. package/.opencode/oh-my-design/design-md/mercari/README.md +0 -12
  390. package/.opencode/oh-my-design/design-md/mercari/_research/home-1440px.png +0 -0
  391. package/.opencode/oh-my-design/design-md/mercari/_research.md +0 -137
  392. package/.opencode/oh-my-design/design-md/mercury/.verification.md +0 -21
  393. package/.opencode/oh-my-design/design-md/mercury/DESIGN.md +0 -589
  394. package/.opencode/oh-my-design/design-md/meta/.verification.md +0 -21
  395. package/.opencode/oh-my-design/design-md/meta/DESIGN.md +0 -615
  396. package/.opencode/oh-my-design/design-md/microsoft/.verification.md +0 -62
  397. package/.opencode/oh-my-design/design-md/microsoft/DESIGN.md +0 -508
  398. package/.opencode/oh-my-design/design-md/millie/DESIGN.md +0 -584
  399. package/.opencode/oh-my-design/design-md/minimax/.verification.md +0 -135
  400. package/.opencode/oh-my-design/design-md/minimax/DESIGN.md +0 -396
  401. package/.opencode/oh-my-design/design-md/minimax/README.md +0 -24
  402. package/.opencode/oh-my-design/design-md/minimax/preview-dark.html +0 -1262
  403. package/.opencode/oh-my-design/design-md/minimax/preview.html +0 -1248
  404. package/.opencode/oh-my-design/design-md/mintlify/.verification.md +0 -160
  405. package/.opencode/oh-my-design/design-md/mintlify/DESIGN.md +0 -472
  406. package/.opencode/oh-my-design/design-md/mintlify/README.md +0 -24
  407. package/.opencode/oh-my-design/design-md/mintlify/preview-dark.html +0 -409
  408. package/.opencode/oh-my-design/design-md/mintlify/preview.html +0 -398
  409. package/.opencode/oh-my-design/design-md/miricanvas/.verification.md +0 -61
  410. package/.opencode/oh-my-design/design-md/miricanvas/DESIGN.md +0 -464
  411. package/.opencode/oh-my-design/design-md/miro/.verification.md +0 -138
  412. package/.opencode/oh-my-design/design-md/miro/DESIGN.md +0 -319
  413. package/.opencode/oh-my-design/design-md/miro/README.md +0 -23
  414. package/.opencode/oh-my-design/design-md/miro/preview-dark.html +0 -174
  415. package/.opencode/oh-my-design/design-md/miro/preview.html +0 -173
  416. package/.opencode/oh-my-design/design-md/mistral.ai/.verification.md +0 -146
  417. package/.opencode/oh-my-design/design-md/mistral.ai/DESIGN.md +0 -390
  418. package/.opencode/oh-my-design/design-md/mistral.ai/README.md +0 -24
  419. package/.opencode/oh-my-design/design-md/mistral.ai/preview-dark.html +0 -806
  420. package/.opencode/oh-my-design/design-md/mistral.ai/preview.html +0 -805
  421. package/.opencode/oh-my-design/design-md/modusign/.verification.md +0 -58
  422. package/.opencode/oh-my-design/design-md/modusign/DESIGN.md +0 -524
  423. package/.opencode/oh-my-design/design-md/momoshop/.verification.md +0 -36
  424. package/.opencode/oh-my-design/design-md/momoshop/DESIGN.md +0 -322
  425. package/.opencode/oh-my-design/design-md/money-forward/DESIGN.md +0 -443
  426. package/.opencode/oh-my-design/design-md/mongodb/.verification.md +0 -145
  427. package/.opencode/oh-my-design/design-md/mongodb/DESIGN.md +0 -401
  428. package/.opencode/oh-my-design/design-md/mongodb/README.md +0 -23
  429. package/.opencode/oh-my-design/design-md/mongodb/preview-dark.html +0 -260
  430. package/.opencode/oh-my-design/design-md/mongodb/preview.html +0 -259
  431. package/.opencode/oh-my-design/design-md/muji/.verification.md +0 -20
  432. package/.opencode/oh-my-design/design-md/muji/DESIGN.md +0 -605
  433. package/.opencode/oh-my-design/design-md/musinsa/.verification.md +0 -59
  434. package/.opencode/oh-my-design/design-md/musinsa/DESIGN.md +0 -593
  435. package/.opencode/oh-my-design/design-md/mustit/.verification.md +0 -37
  436. package/.opencode/oh-my-design/design-md/mustit/DESIGN.md +0 -328
  437. package/.opencode/oh-my-design/design-md/myrealtrip/DESIGN.md +0 -494
  438. package/.opencode/oh-my-design/design-md/naver/.verification.md +0 -134
  439. package/.opencode/oh-my-design/design-md/naver/DESIGN.md +0 -582
  440. package/.opencode/oh-my-design/design-md/naverwebtoon/DESIGN.md +0 -477
  441. package/.opencode/oh-my-design/design-md/netflix/.verification.md +0 -21
  442. package/.opencode/oh-my-design/design-md/netflix/DESIGN.md +0 -572
  443. package/.opencode/oh-my-design/design-md/nexon/.verification.md +0 -27
  444. package/.opencode/oh-my-design/design-md/nexon/DESIGN.md +0 -389
  445. package/.opencode/oh-my-design/design-md/nhncloud/.verification.md +0 -23
  446. package/.opencode/oh-my-design/design-md/nhncloud/DESIGN.md +0 -207
  447. package/.opencode/oh-my-design/design-md/nike/.verification.md +0 -21
  448. package/.opencode/oh-my-design/design-md/nike/DESIGN.md +0 -588
  449. package/.opencode/oh-my-design/design-md/note/DESIGN.md +0 -346
  450. package/.opencode/oh-my-design/design-md/notion/.verification.md +0 -141
  451. package/.opencode/oh-my-design/design-md/notion/DESIGN.md +0 -557
  452. package/.opencode/oh-my-design/design-md/notion/README.md +0 -24
  453. package/.opencode/oh-my-design/design-md/notion/preview-dark.html +0 -372
  454. package/.opencode/oh-my-design/design-md/notion/preview.html +0 -364
  455. package/.opencode/oh-my-design/design-md/nvidia/.verification.md +0 -127
  456. package/.opencode/oh-my-design/design-md/nvidia/DESIGN.md +0 -550
  457. package/.opencode/oh-my-design/design-md/nvidia/README.md +0 -24
  458. package/.opencode/oh-my-design/design-md/nvidia/_research.md +0 -68
  459. package/.opencode/oh-my-design/design-md/nvidia/preview-dark.html +0 -374
  460. package/.opencode/oh-my-design/design-md/nvidia/preview.html +0 -366
  461. package/.opencode/oh-my-design/design-md/ohouse/.verification.md +0 -87
  462. package/.opencode/oh-my-design/design-md/ohouse/DESIGN.md +0 -635
  463. package/.opencode/oh-my-design/design-md/oliveyoung/DESIGN.md +0 -407
  464. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/.live-inspect-proof.json +0 -158
  465. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_best_capture.json +0 -644
  466. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_detail_capture.json +0 -447
  467. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_main.html +0 -419
  468. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_main_capture.json +0 -1126
  469. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_search_capture.json +0 -912
  470. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/fonts.json +0 -20
  471. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/structure.json +0 -91
  472. package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/tokens.json +0 -79
  473. package/.opencode/oh-my-design/design-md/ollama/.verification.md +0 -138
  474. package/.opencode/oh-my-design/design-md/ollama/DESIGN.md +0 -393
  475. package/.opencode/oh-my-design/design-md/ollama/README.md +0 -24
  476. package/.opencode/oh-my-design/design-md/ollama/preview-dark.html +0 -678
  477. package/.opencode/oh-my-design/design-md/ollama/preview.html +0 -678
  478. package/.opencode/oh-my-design/design-md/omnichat/.verification.md +0 -74
  479. package/.opencode/oh-my-design/design-md/omnichat/DESIGN.md +0 -499
  480. package/.opencode/oh-my-design/design-md/openai/.verification.md +0 -21
  481. package/.opencode/oh-my-design/design-md/openai/DESIGN.md +0 -641
  482. package/.opencode/oh-my-design/design-md/opencode.ai/.verification.md +0 -136
  483. package/.opencode/oh-my-design/design-md/opencode.ai/DESIGN.md +0 -425
  484. package/.opencode/oh-my-design/design-md/opencode.ai/README.md +0 -24
  485. package/.opencode/oh-my-design/design-md/opencode.ai/preview-dark.html +0 -366
  486. package/.opencode/oh-my-design/design-md/opencode.ai/preview.html +0 -357
  487. package/.opencode/oh-my-design/design-md/payco/.verification.md +0 -28
  488. package/.opencode/oh-my-design/design-md/payco/DESIGN.md +0 -267
  489. package/.opencode/oh-my-design/design-md/paypay/.verification.md +0 -21
  490. package/.opencode/oh-my-design/design-md/paypay/DESIGN.md +0 -656
  491. package/.opencode/oh-my-design/design-md/pchome/.verification.md +0 -38
  492. package/.opencode/oh-my-design/design-md/pchome/DESIGN.md +0 -439
  493. package/.opencode/oh-my-design/design-md/perplexity/.verification.md +0 -21
  494. package/.opencode/oh-my-design/design-md/perplexity/DESIGN.md +0 -546
  495. package/.opencode/oh-my-design/design-md/piccollage/.verification.md +0 -34
  496. package/.opencode/oh-my-design/design-md/piccollage/DESIGN.md +0 -320
  497. package/.opencode/oh-my-design/design-md/pinkoi/.verification.md +0 -147
  498. package/.opencode/oh-my-design/design-md/pinkoi/DESIGN.md +0 -639
  499. package/.opencode/oh-my-design/design-md/pinkoi/README.md +0 -12
  500. package/.opencode/oh-my-design/design-md/pinkoi/_research/browse-1440px.png +0 -0
  501. package/.opencode/oh-my-design/design-md/pinkoi/_research.md +0 -167
  502. package/.opencode/oh-my-design/design-md/pinterest/.verification.md +0 -141
  503. package/.opencode/oh-my-design/design-md/pinterest/DESIGN.md +0 -366
  504. package/.opencode/oh-my-design/design-md/pinterest/README.md +0 -23
  505. package/.opencode/oh-my-design/design-md/pinterest/preview-dark.html +0 -233
  506. package/.opencode/oh-my-design/design-md/pinterest/preview.html +0 -232
  507. package/.opencode/oh-my-design/design-md/pixiv/.verification.md +0 -20
  508. package/.opencode/oh-my-design/design-md/pixiv/DESIGN.md +0 -613
  509. package/.opencode/oh-my-design/design-md/pixnet/.verification.md +0 -31
  510. package/.opencode/oh-my-design/design-md/pixnet/DESIGN.md +0 -430
  511. package/.opencode/oh-my-design/design-md/posthog/.verification.md +0 -159
  512. package/.opencode/oh-my-design/design-md/posthog/DESIGN.md +0 -480
  513. package/.opencode/oh-my-design/design-md/posthog/README.md +0 -23
  514. package/.opencode/oh-my-design/design-md/posthog/preview-dark.html +0 -699
  515. package/.opencode/oh-my-design/design-md/posthog/preview.html +0 -749
  516. package/.opencode/oh-my-design/design-md/postype/.verification.md +0 -61
  517. package/.opencode/oh-my-design/design-md/postype/DESIGN.md +0 -431
  518. package/.opencode/oh-my-design/design-md/publy/DESIGN.md +0 -563
  519. package/.opencode/oh-my-design/design-md/qanda/.verification.md +0 -121
  520. package/.opencode/oh-my-design/design-md/qanda/DESIGN.md +0 -516
  521. package/.opencode/oh-my-design/design-md/ragic/.verification.md +0 -37
  522. package/.opencode/oh-my-design/design-md/ragic/DESIGN.md +0 -444
  523. package/.opencode/oh-my-design/design-md/rakuten/.verification.md +0 -60
  524. package/.opencode/oh-my-design/design-md/rakuten/DESIGN.md +0 -440
  525. package/.opencode/oh-my-design/design-md/ramp/.verification.md +0 -21
  526. package/.opencode/oh-my-design/design-md/ramp/DESIGN.md +0 -634
  527. package/.opencode/oh-my-design/design-md/rayark/.verification.md +0 -22
  528. package/.opencode/oh-my-design/design-md/rayark/DESIGN.md +0 -154
  529. package/.opencode/oh-my-design/design-md/raycast/.verification.md +0 -138
  530. package/.opencode/oh-my-design/design-md/raycast/DESIGN.md +0 -467
  531. package/.opencode/oh-my-design/design-md/raycast/README.md +0 -23
  532. package/.opencode/oh-my-design/design-md/raycast/preview-dark.html +0 -606
  533. package/.opencode/oh-my-design/design-md/raycast/preview.html +0 -688
  534. package/.opencode/oh-my-design/design-md/remember/.verification.md +0 -135
  535. package/.opencode/oh-my-design/design-md/remember/DESIGN.md +0 -504
  536. package/.opencode/oh-my-design/design-md/remember/_promo.json +0 -27
  537. package/.opencode/oh-my-design/design-md/remember/_research.md +0 -90
  538. package/.opencode/oh-my-design/design-md/renault/.verification.md +0 -139
  539. package/.opencode/oh-my-design/design-md/renault/DESIGN.md +0 -439
  540. package/.opencode/oh-my-design/design-md/renault/README.md +0 -23
  541. package/.opencode/oh-my-design/design-md/renault/preview-dark.html +0 -406
  542. package/.opencode/oh-my-design/design-md/renault/preview.html +0 -606
  543. package/.opencode/oh-my-design/design-md/replicate/.verification.md +0 -154
  544. package/.opencode/oh-my-design/design-md/replicate/DESIGN.md +0 -387
  545. package/.opencode/oh-my-design/design-md/replicate/README.md +0 -24
  546. package/.opencode/oh-my-design/design-md/replicate/preview-dark.html +0 -828
  547. package/.opencode/oh-my-design/design-md/replicate/preview.html +0 -831
  548. package/.opencode/oh-my-design/design-md/resend/.verification.md +0 -143
  549. package/.opencode/oh-my-design/design-md/resend/DESIGN.md +0 -440
  550. package/.opencode/oh-my-design/design-md/resend/README.md +0 -23
  551. package/.opencode/oh-my-design/design-md/resend/preview-dark.html +0 -355
  552. package/.opencode/oh-my-design/design-md/resend/preview.html +0 -354
  553. package/.opencode/oh-my-design/design-md/retool/.verification.md +0 -21
  554. package/.opencode/oh-my-design/design-md/retool/DESIGN.md +0 -645
  555. package/.opencode/oh-my-design/design-md/revolut/.verification.md +0 -140
  556. package/.opencode/oh-my-design/design-md/revolut/DESIGN.md +0 -319
  557. package/.opencode/oh-my-design/design-md/revolut/README.md +0 -23
  558. package/.opencode/oh-my-design/design-md/revolut/preview-dark.html +0 -234
  559. package/.opencode/oh-my-design/design-md/revolut/preview.html +0 -233
  560. package/.opencode/oh-my-design/design-md/richart/.verification.md +0 -41
  561. package/.opencode/oh-my-design/design-md/richart/DESIGN.md +0 -465
  562. package/.opencode/oh-my-design/design-md/ridi/.verification.md +0 -108
  563. package/.opencode/oh-my-design/design-md/ridi/DESIGN.md +0 -573
  564. package/.opencode/oh-my-design/design-md/riiid/.verification.md +0 -33
  565. package/.opencode/oh-my-design/design-md/riiid/DESIGN.md +0 -260
  566. package/.opencode/oh-my-design/design-md/ringle/.verification.md +0 -53
  567. package/.opencode/oh-my-design/design-md/ringle/DESIGN.md +0 -444
  568. package/.opencode/oh-my-design/design-md/robinhood/.verification.md +0 -21
  569. package/.opencode/oh-my-design/design-md/robinhood/DESIGN.md +0 -604
  570. package/.opencode/oh-my-design/design-md/runwayml/.verification.md +0 -141
  571. package/.opencode/oh-my-design/design-md/runwayml/DESIGN.md +0 -431
  572. package/.opencode/oh-my-design/design-md/runwayml/README.md +0 -24
  573. package/.opencode/oh-my-design/design-md/runwayml/preview-dark.html +0 -664
  574. package/.opencode/oh-my-design/design-md/runwayml/preview.html +0 -665
  575. package/.opencode/oh-my-design/design-md/salesforce/.verification.md +0 -66
  576. package/.opencode/oh-my-design/design-md/salesforce/DESIGN.md +0 -473
  577. package/.opencode/oh-my-design/design-md/sanity/.verification.md +0 -174
  578. package/.opencode/oh-my-design/design-md/sanity/DESIGN.md +0 -499
  579. package/.opencode/oh-my-design/design-md/sanity/README.md +0 -24
  580. package/.opencode/oh-my-design/design-md/sanity/preview-dark.html +0 -990
  581. package/.opencode/oh-my-design/design-md/sanity/preview.html +0 -1135
  582. package/.opencode/oh-my-design/design-md/sansan/.verification.md +0 -21
  583. package/.opencode/oh-my-design/design-md/sansan/DESIGN.md +0 -631
  584. package/.opencode/oh-my-design/design-md/sendbird/.verification.md +0 -67
  585. package/.opencode/oh-my-design/design-md/sendbird/DESIGN.md +0 -331
  586. package/.opencode/oh-my-design/design-md/sentry/.verification.md +0 -157
  587. package/.opencode/oh-my-design/design-md/sentry/DESIGN.md +0 -397
  588. package/.opencode/oh-my-design/design-md/sentry/README.md +0 -24
  589. package/.opencode/oh-my-design/design-md/sentry/preview-dark.html +0 -626
  590. package/.opencode/oh-my-design/design-md/sentry/preview.html +0 -951
  591. package/.opencode/oh-my-design/design-md/shinhancard/.verification.md +0 -31
  592. package/.opencode/oh-my-design/design-md/shinhancard/DESIGN.md +0 -421
  593. package/.opencode/oh-my-design/design-md/shopline/.verification.md +0 -34
  594. package/.opencode/oh-my-design/design-md/shopline/DESIGN.md +0 -431
  595. package/.opencode/oh-my-design/design-md/slack/.verification.md +0 -21
  596. package/.opencode/oh-my-design/design-md/slack/DESIGN.md +0 -635
  597. package/.opencode/oh-my-design/design-md/smarthr/DESIGN.md +0 -452
  598. package/.opencode/oh-my-design/design-md/smartnews/DESIGN.md +0 -360
  599. package/.opencode/oh-my-design/design-md/socar/DESIGN.md +0 -438
  600. package/.opencode/oh-my-design/design-md/socar/_promo.json +0 -28
  601. package/.opencode/oh-my-design/design-md/socar/_research.md +0 -55
  602. package/.opencode/oh-my-design/design-md/soomgo/.verification.md +0 -27
  603. package/.opencode/oh-my-design/design-md/soomgo/DESIGN.md +0 -326
  604. package/.opencode/oh-my-design/design-md/spacex/.verification.md +0 -132
  605. package/.opencode/oh-my-design/design-md/spacex/DESIGN.md +0 -415
  606. package/.opencode/oh-my-design/design-md/spacex/README.md +0 -23
  607. package/.opencode/oh-my-design/design-md/spacex/_research.md +0 -69
  608. package/.opencode/oh-my-design/design-md/spacex/preview-dark.html +0 -221
  609. package/.opencode/oh-my-design/design-md/spacex/preview.html +0 -220
  610. package/.opencode/oh-my-design/design-md/spoon/DESIGN.md +0 -492
  611. package/.opencode/oh-my-design/design-md/spotify/.verification.md +0 -128
  612. package/.opencode/oh-my-design/design-md/spotify/DESIGN.md +0 -489
  613. package/.opencode/oh-my-design/design-md/spotify/README.md +0 -23
  614. package/.opencode/oh-my-design/design-md/spotify/preview-dark.html +0 -231
  615. package/.opencode/oh-my-design/design-md/spotify/preview.html +0 -230
  616. package/.opencode/oh-my-design/design-md/starbucks/.verification.md +0 -21
  617. package/.opencode/oh-my-design/design-md/starbucks/DESIGN.md +0 -597
  618. package/.opencode/oh-my-design/design-md/stores/.verification.md +0 -61
  619. package/.opencode/oh-my-design/design-md/stores/DESIGN.md +0 -447
  620. package/.opencode/oh-my-design/design-md/stripe/.verification.md +0 -140
  621. package/.opencode/oh-my-design/design-md/stripe/DESIGN.md +0 -571
  622. package/.opencode/oh-my-design/design-md/stripe/README.md +0 -24
  623. package/.opencode/oh-my-design/design-md/stripe/preview-dark.html +0 -428
  624. package/.opencode/oh-my-design/design-md/stripe/preview.html +0 -419
  625. package/.opencode/oh-my-design/design-md/studio/.verification.md +0 -21
  626. package/.opencode/oh-my-design/design-md/studio/DESIGN.md +0 -602
  627. package/.opencode/oh-my-design/design-md/supabase/.verification.md +0 -145
  628. package/.opencode/oh-my-design/design-md/supabase/DESIGN.md +0 -389
  629. package/.opencode/oh-my-design/design-md/supabase/README.md +0 -24
  630. package/.opencode/oh-my-design/design-md/supabase/preview-dark.html +0 -977
  631. package/.opencode/oh-my-design/design-md/supabase/preview.html +0 -955
  632. package/.opencode/oh-my-design/design-md/superhuman/.verification.md +0 -184
  633. package/.opencode/oh-my-design/design-md/superhuman/DESIGN.md +0 -453
  634. package/.opencode/oh-my-design/design-md/superhuman/README.md +0 -23
  635. package/.opencode/oh-my-design/design-md/superhuman/preview-dark.html +0 -973
  636. package/.opencode/oh-my-design/design-md/superhuman/preview.html +0 -951
  637. package/.opencode/oh-my-design/design-md/surveycake/.verification.md +0 -31
  638. package/.opencode/oh-my-design/design-md/surveycake/DESIGN.md +0 -442
  639. package/.opencode/oh-my-design/design-md/tada/DESIGN.md +0 -579
  640. package/.opencode/oh-my-design/design-md/teamblind/.verification.md +0 -76
  641. package/.opencode/oh-my-design/design-md/teamblind/DESIGN.md +0 -497
  642. package/.opencode/oh-my-design/design-md/tesla/.verification.md +0 -149
  643. package/.opencode/oh-my-design/design-md/tesla/DESIGN.md +0 -501
  644. package/.opencode/oh-my-design/design-md/tesla/README.md +0 -23
  645. package/.opencode/oh-my-design/design-md/tesla/_research.md +0 -70
  646. package/.opencode/oh-my-design/design-md/tesla/preview-dark.html +0 -947
  647. package/.opencode/oh-my-design/design-md/tesla/preview.html +0 -925
  648. package/.opencode/oh-my-design/design-md/theverge/.verification.md +0 -21
  649. package/.opencode/oh-my-design/design-md/theverge/DESIGN.md +0 -500
  650. package/.opencode/oh-my-design/design-md/timee/.verification.md +0 -67
  651. package/.opencode/oh-my-design/design-md/timee/DESIGN.md +0 -444
  652. package/.opencode/oh-my-design/design-md/together.ai/.verification.md +0 -145
  653. package/.opencode/oh-my-design/design-md/together.ai/DESIGN.md +0 -389
  654. package/.opencode/oh-my-design/design-md/together.ai/README.md +0 -24
  655. package/.opencode/oh-my-design/design-md/together.ai/preview-dark.html +0 -892
  656. package/.opencode/oh-my-design/design-md/together.ai/preview.html +0 -897
  657. package/.opencode/oh-my-design/design-md/toss/.verification.md +0 -120
  658. package/.opencode/oh-my-design/design-md/toss/DESIGN.md +0 -698
  659. package/.opencode/oh-my-design/design-md/toss/README.md +0 -19
  660. package/.opencode/oh-my-design/design-md/toss-securities/DESIGN.md +0 -247
  661. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-proof.json +0 -126
  662. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-raw.json +0 -619
  663. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-stock.json +0 -525
  664. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/fonts.json +0 -24
  665. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/structure.json +0 -35
  666. package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/tokens.json +0 -87
  667. package/.opencode/oh-my-design/design-md/tossbank/DESIGN.md +0 -576
  668. package/.opencode/oh-my-design/design-md/trenbe/.verification.md +0 -32
  669. package/.opencode/oh-my-design/design-md/trenbe/DESIGN.md +0 -293
  670. package/.opencode/oh-my-design/design-md/triple/DESIGN.md +0 -481
  671. package/.opencode/oh-my-design/design-md/tumblbug/DESIGN.md +0 -578
  672. package/.opencode/oh-my-design/design-md/tving/DESIGN.md +0 -317
  673. package/.opencode/oh-my-design/design-md/tving/assets/_reference/.live-inspect-proof.json +0 -131
  674. package/.opencode/oh-my-design/design-md/tving/assets/_reference/LICENSE-NOTE.md +0 -37
  675. package/.opencode/oh-my-design/design-md/tving/assets/_reference/attribution.md +0 -52
  676. package/.opencode/oh-my-design/design-md/tving/assets/_reference/fonts.json +0 -31
  677. package/.opencode/oh-my-design/design-md/tving/assets/_reference/screenshots/hero-desktop.png +0 -0
  678. package/.opencode/oh-my-design/design-md/tving/assets/_reference/structure.json +0 -55
  679. package/.opencode/oh-my-design/design-md/tving/assets/_reference/tokens.json +0 -115
  680. package/.opencode/oh-my-design/design-md/uber/.verification.md +0 -128
  681. package/.opencode/oh-my-design/design-md/uber/DESIGN.md +0 -423
  682. package/.opencode/oh-my-design/design-md/uber/README.md +0 -24
  683. package/.opencode/oh-my-design/design-md/uber/preview-dark.html +0 -1120
  684. package/.opencode/oh-my-design/design-md/uber/preview.html +0 -1119
  685. package/.opencode/oh-my-design/design-md/ubie/.verification.md +0 -21
  686. package/.opencode/oh-my-design/design-md/ubie/DESIGN.md +0 -615
  687. package/.opencode/oh-my-design/design-md/uniqlo/.verification.md +0 -21
  688. package/.opencode/oh-my-design/design-md/uniqlo/DESIGN.md +0 -575
  689. package/.opencode/oh-my-design/design-md/upbit/DESIGN.md +0 -337
  690. package/.opencode/oh-my-design/design-md/upbit/_research.md +0 -83
  691. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/.live-inspect-proof.json +0 -263
  692. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/fonts.json +0 -18
  693. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/raw-capture-exchange.json +0 -1901
  694. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/raw-capture.json +0 -1121
  695. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/structure.json +0 -52
  696. package/.opencode/oh-my-design/design-md/upbit/assets/_reference/tokens.json +0 -169
  697. package/.opencode/oh-my-design/design-md/upstage/DESIGN.md +0 -270
  698. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/.live-inspect-proof.json +0 -157
  699. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_brand-resource-center.json +0 -44
  700. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_curated-samples.json +0 -310
  701. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_raw-capture.json +0 -1560
  702. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_root-vars.json +0 -76
  703. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_structure-raw.json +0 -298
  704. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/fonts.json +0 -35
  705. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/structure.json +0 -72
  706. package/.opencode/oh-my-design/design-md/upstage/assets/_reference/tokens.json +0 -183
  707. package/.opencode/oh-my-design/design-md/velog/.verification.md +0 -26
  708. package/.opencode/oh-my-design/design-md/velog/DESIGN.md +0 -196
  709. package/.opencode/oh-my-design/design-md/vercel/.verification.md +0 -134
  710. package/.opencode/oh-my-design/design-md/vercel/DESIGN.md +0 -523
  711. package/.opencode/oh-my-design/design-md/vercel/README.md +0 -24
  712. package/.opencode/oh-my-design/design-md/vercel/preview-dark.html +0 -368
  713. package/.opencode/oh-my-design/design-md/vercel/preview.html +0 -367
  714. package/.opencode/oh-my-design/design-md/voicetube/.verification.md +0 -34
  715. package/.opencode/oh-my-design/design-md/voicetube/DESIGN.md +0 -266
  716. package/.opencode/oh-my-design/design-md/voltagent/.verification.md +0 -159
  717. package/.opencode/oh-my-design/design-md/voltagent/DESIGN.md +0 -454
  718. package/.opencode/oh-my-design/design-md/voltagent/README.md +0 -24
  719. package/.opencode/oh-my-design/design-md/voltagent/preview-dark.html +0 -487
  720. package/.opencode/oh-my-design/design-md/voltagent/preview.html +0 -766
  721. package/.opencode/oh-my-design/design-md/wadiz/DESIGN.md +0 -415
  722. package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/.live-inspect-proof.json +0 -137
  723. package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/fonts.json +0 -17
  724. package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/structure.json +0 -35
  725. package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/tokens.json +0 -80
  726. package/.opencode/oh-my-design/design-md/wanted/DESIGN.md +0 -575
  727. package/.opencode/oh-my-design/design-md/wanted/_promo.json +0 -31
  728. package/.opencode/oh-my-design/design-md/wanted/_research.md +0 -119
  729. package/.opencode/oh-my-design/design-md/wantedly/.verification.md +0 -53
  730. package/.opencode/oh-my-design/design-md/wantedly/DESIGN.md +0 -437
  731. package/.opencode/oh-my-design/design-md/warp/.verification.md +0 -156
  732. package/.opencode/oh-my-design/design-md/warp/DESIGN.md +0 -431
  733. package/.opencode/oh-my-design/design-md/warp/README.md +0 -23
  734. package/.opencode/oh-my-design/design-md/warp/preview-dark.html +0 -500
  735. package/.opencode/oh-my-design/design-md/warp/preview.html +0 -533
  736. package/.opencode/oh-my-design/design-md/watcha/DESIGN.md +0 -465
  737. package/.opencode/oh-my-design/design-md/wavve/DESIGN.md +0 -480
  738. package/.opencode/oh-my-design/design-md/wconcept/DESIGN.md +0 -556
  739. package/.opencode/oh-my-design/design-md/webflow/.verification.md +0 -151
  740. package/.opencode/oh-my-design/design-md/webflow/DESIGN.md +0 -330
  741. package/.opencode/oh-my-design/design-md/webflow/README.md +0 -23
  742. package/.opencode/oh-my-design/design-md/webflow/preview-dark.html +0 -147
  743. package/.opencode/oh-my-design/design-md/webflow/preview.html +0 -146
  744. package/.opencode/oh-my-design/design-md/wired/.verification.md +0 -21
  745. package/.opencode/oh-my-design/design-md/wired/DESIGN.md +0 -572
  746. package/.opencode/oh-my-design/design-md/wise/.verification.md +0 -141
  747. package/.opencode/oh-my-design/design-md/wise/DESIGN.md +0 -317
  748. package/.opencode/oh-my-design/design-md/wise/README.md +0 -23
  749. package/.opencode/oh-my-design/design-md/wise/preview-dark.html +0 -230
  750. package/.opencode/oh-my-design/design-md/wise/preview.html +0 -229
  751. package/.opencode/oh-my-design/design-md/x.ai/.verification.md +0 -140
  752. package/.opencode/oh-my-design/design-md/x.ai/DESIGN.md +0 -397
  753. package/.opencode/oh-my-design/design-md/x.ai/README.md +0 -24
  754. package/.opencode/oh-my-design/design-md/x.ai/preview-dark.html +0 -356
  755. package/.opencode/oh-my-design/design-md/x.ai/preview.html +0 -407
  756. package/.opencode/oh-my-design/design-md/xiaohongshu/DESIGN.md +0 -462
  757. package/.opencode/oh-my-design/design-md/yanolja/.verification.md +0 -83
  758. package/.opencode/oh-my-design/design-md/yanolja/DESIGN.md +0 -508
  759. package/.opencode/oh-my-design/design-md/yeogiotte/.verification.md +0 -210
  760. package/.opencode/oh-my-design/design-md/yeogiotte/DESIGN.md +0 -500
  761. package/.opencode/oh-my-design/design-md/yogiyo/DESIGN.md +0 -515
  762. package/.opencode/oh-my-design/design-md/yourator/.verification.md +0 -39
  763. package/.opencode/oh-my-design/design-md/yourator/DESIGN.md +0 -453
  764. package/.opencode/oh-my-design/design-md/zapier/.verification.md +0 -156
  765. package/.opencode/oh-my-design/design-md/zapier/DESIGN.md +0 -474
  766. package/.opencode/oh-my-design/design-md/zapier/README.md +0 -24
  767. package/.opencode/oh-my-design/design-md/zapier/preview-dark.html +0 -380
  768. package/.opencode/oh-my-design/design-md/zapier/preview.html +0 -372
  769. package/.opencode/oh-my-design/design-md/zigbang/DESIGN.md +0 -500
  770. package/.opencode/oh-my-design/design-md/zigbang/_promo.json +0 -16
  771. package/.opencode/oh-my-design/design-md/zigbang/_research.md +0 -101
  772. package/.opencode/oh-my-design/design-md/zigzag/DESIGN.md +0 -695
  773. package/.opencode/oh-my-design/design-md/zigzag/_promo.json +0 -23
  774. package/.opencode/oh-my-design/design-md/zigzag/_research.md +0 -64
  775. package/.opencode/oh-my-design/design-md/zozotown/.verification.md +0 -20
  776. package/.opencode/oh-my-design/design-md/zozotown/DESIGN.md +0 -578
  777. package/.opencode/oh-my-design/packages/mcp/dist/index.mjs +0 -21685
  778. package/.opencode/oh-my-design/packages/mcp/dist/index.mjs.map +0 -1
  779. package/.opencode/tools/extract-design-pattern.py +0 -182
  780. package/.opencode/tools/sdd_design.ts +0 -303
@@ -1,453 +0,0 @@
1
- ---
2
- id: inflearn
3
- name: Inflearn
4
- country: KR
5
- category: education
6
- homepage: "https://www.inflearn.com"
7
- primary_color: "#00c471"
8
- logo:
9
- type: favicon
10
- slug: "https://www.google.com/s2/favicons?domain=inflearn.com&sz=256"
11
- verified: "2026-05-15"
12
- omd: "0.1"
13
- tokens:
14
- source: prose-derived
15
- extracted: "2026-06-09"
16
- colors:
17
- primary: "#00c471"
18
- primary-pressed: "#00a760"
19
- heading: "#212529"
20
- body: "#495057"
21
- muted: "#868e96"
22
- canvas: "#ffffff"
23
- surface-neutral: "#f8f9fa"
24
- border: "#dee2e6"
25
- disabled-bg: "#f1f3f5"
26
- disabled-fg: "#adb5bd"
27
- error: "#fa5252"
28
- info: "#228be6"
29
- warning: "#fcc419"
30
- teal-tag: "#1098ad"
31
- typography:
32
- family: { sans: "Pretendard", mono: "ui-monospace, SFMono-Regular, monospace" }
33
- h1: { size: 34, weight: 700, lineHeight: 1.3, use: "Page hero phrase" }
34
- h2: { size: 20, weight: 700, lineHeight: 1.35, use: "Section title" }
35
- body: { size: 16, weight: 400, lineHeight: 1.5, use: "Default running text" }
36
- nav: { size: 16, weight: 600, lineHeight: 1.5, use: "Nav label, button label" }
37
- caption: { size: 14, weight: 400, lineHeight: 1.4, use: "Instructor name, view count, price subtext" }
38
- spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
39
- rounded: { sm: 4, md: 8, lg: 32, full: 9999 }
40
- shadow:
41
- flat: "none"
42
- components:
43
- button-search: { type: button, bg: "#00c471", fg: "#ffffff", radius: 9999, font: "16px weight 400", use: "Signature green circle search-submit, 42px" }
44
- button-primary: { type: button, bg: "#00c471", fg: "#ffffff", radius: 8, padding: "0 24px", font: "16px weight 600", use: "Filled label CTA, hover #00a760" }
45
- nav-pill: { type: tab, bg: "#f8f9fa", fg: "#495057", radius: 32, font: "16px weight 600", use: "GNB nav pill, resting", active: "green tint bg, #00c471 text" }
46
- button-ghost: { type: button, bg: "#ffffff", fg: "#495057", radius: 32, font: "16px weight 600", use: "Inline secondary GNB item, hover #f8f9fa" }
47
- pagination-default: { type: button, bg: "#ffffff", fg: "#212529", radius: 8, font: "14px weight 400", use: "Page number button, gray border" }
48
- pagination-active: { type: button, bg: "#00c471", fg: "#ffffff", radius: 8, font: "14px weight 400", use: "Selected page" }
49
- button-disabled: { type: button, bg: "#f1f3f5", fg: "#adb5bd", radius: 8, use: "Form-incomplete state" }
50
- components_harvested: true
51
- ---
52
-
53
- # Design System Inspiration of Inflearn
54
-
55
- ## 1. Visual Theme & Atmosphere
56
-
57
- Inflearn (인프런) is the design language of a **Korean lifelong-learning marketplace that wants to feel like a friendly bookshop, not a corporate LMS**. Where Coursera leans on muted academic blues and Udemy crowds the screen with discount stickers, Inflearn opens onto a **clean white canvas** with a single saturated **mint-green** (`#00C471`) doing all the interactive work — search submit, primary CTAs, active pagination, "free starter" tags. The green is specifically *Korean fintech-adjacent mint* (kin to Toss/Banksalad/Naver Pay families, but pulled brighter and more yellow-leaning than any of them), signalling "trustworthy, modern Korean web" without inheriting either Naver's dated green-tab idiom or KakaoTalk's yellow warmth.
58
-
59
- The page furniture is unmistakably **Mantine-built**: 162 `--mantine-color-*` CSS variables are exposed at runtime, plus the full `--mantine-radius-{xs,sm,md,lg,xl}` and `--mantine-spacing-*` scale. Inflearn has effectively adopted Mantine's theme primitives wholesale and overridden them with a brand green. This means the **radius vocabulary is mostly 8px (`md`)** for cards, inputs, and pagination — neither aggressive flat-2px (Banksalad's data-tool register) nor consumer-app plump-16px (Toss). Two exceptions tell the story: navigation pills round to **32px** (extra-soft, "browse-don't-task" feel) and the **search-submit and tag chips go full-pill at `999px`** — the green circle search button is the one decisive, on-brand moment in a deliberately calm GNB.
60
-
61
- Typography is **Pretendard-first** with no custom display face. Headings (H1 34px / 700, H2 20px / 700) sit in Mantine-dark `#212529`, body text in `#495057`, muted metadata in `#868E96` — Inflearn does not use pure `#000` anywhere on type. The visual silhouette is intentionally close to "modern Korean SaaS landing" (Pretendard + clean white + one branded green) — recognizable to anyone who has used Toss, Wanted, or Banksalad — because Inflearn's audience overlaps heavily with those products and the brand wants instant credibility, not novelty.
62
-
63
- **Key Characteristics:**
64
- - Pretendard-first system font stack (no bundled web-font; OS fallback handles Korean coverage)
65
- - Signature mint-green `#00C471` for all primary action; brighter and more yellow than Toss/Banksalad mints
66
- - Mantine theme primitives exposed live (`--mantine-radius-md = 0.5rem`, `--mantine-color-*`)
67
- - Two radius families: cards/inputs at `8px`, nav pills at `32px`, decisive CTAs full-pill `999px`
68
- - Sticky white GNB at 65px — no shadow, no border — the green search button is the only visual accent
69
- - Course tiles are borderless transparent cards (`article.mantine-Card-root`, radius 8px, ~230×310px) — thumbnail does the visual work
70
- - Pagination uses solid-green active page on white surroundings — the same green as the CTA, no second accent hue
71
- - No theatrical shadow / no gradient — Inflearn is "calm catalog, friendly green"
72
-
73
- ## 2. Color Palette & Roles
74
-
75
- ### Primary
76
- - **Inflearn Green** (`#00C471`): Primary brand color. Search submit, primary CTA, active pagination page, "starter / free" course tag fills, link accents.
77
- - **Inflearn Green Pressed** (`#00A760`): Pressed / focused / visited state. Observed as the high-frequency near-shade on the home palette histogram (450 instances) — likely the `:hover` / `:active` token paired with the primary.
78
-
79
- ### Text
80
- - **Heading** (`#212529`): Mantine dark-9 equivalent. H1/H2/H3, course tile titles.
81
- - **Body** (`#495057`): Default reading text and nav link colour.
82
- - **Muted / Caption** (`#868E96`): Metadata, instructor sublabels, view counts.
83
- - **On-Green** (`#FFFFFF`): Text colour on every green surface (search submit, primary CTA, active pagination).
84
-
85
- ### Surface
86
- - **Page** (`#FFFFFF`): Default canvas.
87
- - **Surface Neutral** (`#F8F9FA`): GNB pill button rest state, soft section dividers, secondary chip fills.
88
- - **Border / Divider Inferred** (`#DEE2E6`): Mantine gray-3 — implied separator hue (not directly captured but consistent with the Mantine system that Inflearn theme-extends).
89
-
90
- ### Semantic (Mantine-inherited)
91
- - **Error Red** (`#FA5252`): Form validation errors, destructive confirmation. (Mantine red-6.)
92
- - **Info Blue** (`#228BE6`): Inline informational accent, link-type chips. (Mantine blue-6.)
93
- - **Warning Yellow** (`#FCC419`): Caution / pending states. (Mantine yellow-5.)
94
- - **Teal Tag** (`#1098AD`): Category / lecture-type tag accent (mantine cyan-7). Appears with notable frequency on course cards.
95
-
96
- Inflearn does not maintain a separate brand semantic palette — it inherits Mantine's `red / blue / yellow / cyan` scales and overrides only the `green` scale with the Inflearn primary. Designers picking from Inflearn should treat the Mantine palette as the de-facto extended system.
97
-
98
- ## 3. Typography Rules
99
-
100
- ### Font Family
101
- - **Primary**: `Pretendard, -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`
102
- - **Mono**: `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace` (carried from Mantine default — surfaces inside code-snippet course previews and dev-tools-style screenshots)
103
- - No custom display face. Headings use the same Pretendard stack; differentiation comes from weight and size only.
104
- - No bundled web-font on `/`. Korean glyphs render through the OS fallback chain.
105
-
106
- ### Hierarchy
107
-
108
- | Role | Size | Weight | Line Height | Notes |
109
- |---|---|---|---|---|
110
- | H1 (page hero) | 34px | 700 | 44.2px (1.3) | Hero phrase: "인프런 - 라이프타임 커리어 플랫폼" |
111
- | H2 (section title) | 20px | 700 | 27px (1.35) | "0원으로 부담없이 시작하기" — section openers |
112
- | H3 (sub-section / card cluster head) | 18px (inferred) | 700 | 1.4 | Course-tile section labels |
113
- | Body | 16px | 400 | 1.5 | Default running text, nav default |
114
- | Nav label | 16px | 600 | 1.5 | "지식공유" / "로그인" / "카테고리" pills |
115
- | Button label (filled) | 16px | 600 | 1.0 | Primary CTA text |
116
- | Caption / Metadata | 13–14px (inferred) | 400 | 1.4 | Instructor name, view count, price subtext |
117
-
118
- ### Rules
119
- - **Pretendard everywhere.** No serif, no rounded display face. Discipline is part of the calm-catalog feel.
120
- - **700 = heading. 600 = nav and labelled button. 400 = body, icon-only button, input.** There is no 500 — the weight scale is intentionally binary-ish.
121
- - Numerals (course price, ratings) inherit body weight 400 — Inflearn does not embolden prices the way fintech does. The decision to enrol should feel low-pressure.
122
- - Korean punctuation: full-width quotes `「」` / `『』` are avoided in UI; straight quotes only.
123
-
124
- ## 4. Component Stylings
125
-
126
- ### Buttons
127
-
128
- **Primary CTA — Pill Search Submit**
129
- - Background: `#00C471`
130
- - Text: `#FFFFFF`
131
- - Border: 1px solid transparent
132
- - Radius: 999px
133
- - Padding: 0 (icon-only)
134
- - Height: 42px
135
- - Width: 42px
136
- - Font: 16px / 400 / Pretendard
137
- - Shadow: none
138
- - Use: The signature green circle search-submit button in the GNB — the single most-recognisable component on the site.
139
-
140
- **Primary CTA — Filled Label (Inferred)**
141
- - Background: `#00C471`
142
- - Text: `#FFFFFF`
143
- - Border: none
144
- - Radius: 8px
145
- - Padding: 0 16px (icon-button observed); 0 24px for labelled
146
- - Height: 42px
147
- - Font: 16px / 600 / Pretendard
148
- - Hover: background `#00A760`
149
- - Use: "수강신청", "결제하기", primary actions inside course detail / cart.
150
-
151
- **Nav Pill — Resting (Neutral)**
152
- - Background: `#F8F9FA`
153
- - Text: `#495057`
154
- - Border: 1px solid transparent
155
- - Radius: 32px
156
- - Padding: 0 22px (labelled) / 0 (icon-only 42×42)
157
- - Height: 42px
158
- - Font: 16px / 600 / Pretendard
159
- - Use: "로그인", "service-menu" icon, "카테고리" pill — every GNB action that is not the green search submit.
160
-
161
- **Nav Pill — Active (Selected)**
162
- - Background: `rgba(0, 196, 113, 0.1)` (inferred Mantine green tint)
163
- - Text: `#00C471`
164
- - Border: 1px solid transparent
165
- - Radius: 32px
166
- - Padding: 0 12px
167
- - Height: 42px
168
- - Font: 16px / 600 / Pretendard
169
- - Use: Active top-level nav section ("지식공유" when on /knowledge etc.).
170
-
171
- **Ghost / Text Link Button**
172
- - Background: transparent
173
- - Text: `#495057`
174
- - Border: 1px solid transparent
175
- - Radius: 32px
176
- - Padding: 0 12px
177
- - Font: 16px / 600 / Pretendard
178
- - Hover: background `#F8F9FA`
179
- - Use: Inline secondary GNB items ("지식공유"), category-row navigation.
180
-
181
- **Pagination — Default**
182
- - Background: `#FFFFFF`
183
- - Text: `#212529`
184
- - Border: 1px solid `#DEE2E6` (Mantine gray-3, inferred)
185
- - Radius: 8px
186
- - Padding: 0 12px
187
- - Height: 38px
188
- - Font: 14px / 400 / Pretendard
189
- - Use: Page number buttons on /courses listing.
190
-
191
- **Pagination — Active**
192
- - Background: `#00C471`
193
- - Text: `#FFFFFF`
194
- - Border: none
195
- - Radius: 8px
196
- - Padding: 0 12px
197
- - Height: 38px
198
- - Font: 14px / 400 / Pretendard
199
- - Use: Currently selected page in the /courses pagination cluster.
200
-
201
- **Disabled (Inferred from Mantine default)**
202
- - Background: `#F1F3F5`
203
- - Text: `#ADB5BD`
204
- - Border: none
205
- - Radius: 8px
206
- - Padding: 12px 24px
207
- - Font: 16px / 600 / Pretendard
208
- - Use: Form-incomplete state on enrol / payment flows.
209
-
210
- ### Inputs & Forms
211
-
212
- **Text Input — Default (Search)**
213
- - Background: `#FFFFFF`
214
- - Text: `#212529`
215
- - Placeholder: `#868E96` (inferred)
216
- - Border: 1px solid `#DEE2E6` (inferred — captured border was `0px none` on the inner input element; outer wrapper carries the border per Mantine pattern)
217
- - Radius: 8px
218
- - Padding: 0 12px
219
- - Height: 36px
220
- - Font: 16px / 400 / Pretendard
221
- - Use: GNB search field — paired with the green pill submit on its right.
222
-
223
- **Text Input — Focus (Inferred)**
224
- - Background: `#FFFFFF`
225
- - Border: 1px solid `#00C471`
226
- - Use: All form fields on focus.
227
-
228
- ### Cards & Containers
229
-
230
- **Course Tile (Default)**
231
- - Background: transparent
232
- - Border: none
233
- - Radius: 8px
234
- - Padding: 0 (thumbnail is the visual container; metadata sits below in flow)
235
- - Width × Height: ~230 × 310px (home) / ~230 × 325px (/courses)
236
- - Shadow: none
237
- - Use: The dominant content unit. A `article.mantine-Card-root` wrapper with a thumbnail image (radius 8px), title in `#212529` 700, instructor in `#868E96`, price in `#212529` 400, optional green starter / red discount tags.
238
-
239
- **Course Tile — Featured / Highlighted (Inferred)**
240
- - Background: `#FFFFFF`
241
- - Border: 1px solid `#DEE2E6` (Mantine gray-3)
242
- - Radius: 8px
243
- - Padding: 16px
244
- - Shadow: `0 1px 3px rgba(0, 0, 0, 0.05)` (Mantine `--mantine-shadow-xs` equivalent)
245
- - Use: "추천" / promoted course slot on home rails.
246
-
247
- **Tag — Free / Starter**
248
- - Background: `rgba(0, 196, 113, 0.12)`
249
- - Text: `#00C471`
250
- - Radius: 999px
251
- - Padding: 2px 10px
252
- - Font: 12px / 600 / Pretendard
253
- - Use: "무료" / starter-course indicator on course tiles.
254
-
255
- **Tag — Category (Cyan-Teal)**
256
- - Background: `rgba(16, 152, 173, 0.1)`
257
- - Text: `#1098AD`
258
- - Radius: 999px
259
- - Padding: 2px 10px
260
- - Font: 12px / 600 / Pretendard
261
- - Use: Category / lecture-type tags on tiles.
262
-
263
- ### Navigation
264
-
265
- **Global Nav (GNB)**
266
- - Background: `#FFFFFF`
267
- - Text: `#495057` (default) / `#212529` (heading & emphasized)
268
- - Border-bottom: none
269
- - Shadow: none
270
- - Position: sticky
271
- - Height: 65px
272
- - Layout: [logo] · [primary nav pills] · [search input + green pill submit] · [right-side icon pills + 로그인]
273
- - Use: The single GNB pattern; persists across home, courses, detail.
274
-
275
- **Footer (Inferred)**
276
- - Background: `#F8F9FA` (Mantine gray-0)
277
- - Text: `#495057` / `#868E96` for secondary lines
278
- - Padding: 48px 0 (block) — Mantine spacing-xl × 2
279
- - Use: Standard 4-column link list + company-info row.
280
-
281
- ---
282
-
283
- **Verified:** 2026-05-14
284
- **Tier 1 sources:**
285
- - `https://www.inflearn.com/` — live CDP inspect (browser-harness :9222) → `assets/_reference/.live-inspect-proof.json` (12 raw_samples + 162 `--mantine-*` CSS vars + h1/h2 typography sample)
286
- - `https://www.inflearn.com/courses` — second-surface live CDP inspect → `assets/_reference/.live-inspect-proof-courses.json` (8 raw_samples + pagination active-state observed `#00C471`)
287
- - `https://tech.inflab.com/20260305-new-header/` — Inflearn engineering blog post "MFE 환경에서 공통 헤더(GNB) 개편하기" confirming GNB rebuild as shared MFE component
288
-
289
- **Tier 2 sources:**
290
- - `https://getdesign.md/inflearn` — empty (verified 2026-05-14: "No designs found for 'inflearn'")
291
- - `https://styles.refero.design/?q=inflearn` — empty (verified 2026-05-14: no result cards returned)
292
-
293
- **Conflicts unresolved:** none
294
-
295
- **Inferred-but-not-live-captured tokens** (flagged for follow-up UPDATE on a course-detail / cart / payment surface): Primary CTA labelled fill (only icon-pill captured), focus state on inputs, disabled state, tag chip exact alpha values, footer exact spacing.
296
-
297
- ## 5. Layout & Spacing
298
-
299
- Inflearn inherits Mantine's spacing scale verbatim:
300
-
301
- | Token | Value | Typical use |
302
- |---|---|---|
303
- | `--mantine-spacing-xs` | `0.625rem` (10px) | Tight chip/tag padding, inline icon gaps |
304
- | `--mantine-spacing-sm` | `0.75rem` (12px) | Button horizontal padding, list-item gutters |
305
- | `--mantine-spacing-md` | `1rem` (16px) | Default card padding, form field gap |
306
- | `--mantine-spacing-lg` | `1.25rem` (20px) | Section content gutter |
307
- | `--mantine-spacing-xl` | `1.5rem` (24px) | Section block separator, footer column gap |
308
-
309
- Course rails on the home page use a **6-column horizontal grid** (`~230px` tile × 6 = 1380px content width) with `24px` gap between tiles. The GNB content sits inside a `max-w-1200` container with `16px` left/right padding on viewport widths < 1280px. Vertical rhythm between content blocks is `48px–64px` — Mantine `xl × 2` to `xl × 2.5`.
310
-
311
- Density is **catalog-tight, not Toss-airy** — Inflearn assumes a returning user scanning for the next course, so it packs more tiles per fold than a marketing-first SaaS landing would. This is the major visual difference between Inflearn and (for example) Wanted: same Pretendard font, same Mantine-like radius vocabulary, but Inflearn shows you ~24 tiles above the fold; Wanted shows ~6.
312
-
313
- ## 6. Iconography & Imagery
314
-
315
- - **Icon set**: Custom SVG line icons (24×24 viewbox, 1.5px stroke) for the GNB and inline actions. Stroke colour follows text-context (`#495057` default, `#00C471` when paired with active green surface).
316
- - **Course thumbnail style**: 16:9 photographic or illustrative — wide stylistic range because covers are author-submitted. Inflearn standardizes the radius (8px) and aspect ratio, not the art direction.
317
- - **Hero illustrations**: When used, soft flat-vector with a single mint-green accent so they read as "Inflearn-coloured" without dominating.
318
- - **Photography**: Sparse on product surfaces; reserved for instructor profile portraits in course detail.
319
-
320
- ## 7. Motion
321
-
322
- Inflearn motion is **minimal-functional**:
323
- - Nav pill hover: background fade `200ms ease`.
324
- - Card hover: thumbnail scale `1.0 → 1.02`, `200ms ease-out`, paired with a subtle elevation increase (shadow `xs` → `sm`).
325
- - Page transitions: no client-side animated transitions — full SSR navigation on link click; the perceived motion budget is spent on the in-place hover affordances.
326
- - Loading: Mantine `Loader` (rotating dot ring) in `#00C471`.
327
-
328
- Mantine's default transition timing function is `--mantine-transition-timing-function: ease` — Inflearn does not override it.
329
-
330
- ## 8. States
331
-
332
- - **Hover**: nav pill bg `#F8F9FA → #E9ECEF` (inferred); card thumbnail scale 1.02; CTA bg `#00C471 → #00A760`.
333
- - **Focus**: 2px outline `#00C471` at 2px offset on keyboard focus; input border swaps to `#00C471`.
334
- - **Active / Pressed**: CTA bg `#00A760`; pagination active page solid `#00C471` on white.
335
- - **Disabled**: Mantine default — `#F1F3F5` background, `#ADB5BD` text, `cursor: not-allowed`.
336
- - **Loading**: Mantine `Loader` in primary green; CTA can swap label for inline spinner.
337
- - **Empty**: Centered illustration + headline (`아직 수강 중인 강의가 없어요`) + secondary outlined CTA (`강의 둘러보기`).
338
- - **Error**: Inline `#FA5252` 14px text below the offending field; field border swaps to `#FA5252`.
339
- - **Success**: One-line confirmation in `#00C471` 14px, no toast theatre.
340
- - **Skeleton**: `#F1F3F5` block, shimmer `1.5s` linear (Mantine `Skeleton` default).
341
-
342
- ## 9. Accessibility & Internationalization
343
-
344
- - **Korean is the primary language.** English surfaces exist for `/en/` mirror but are translations, not parity. Date formats follow Korean conventions (`2026년 5월 14일`).
345
- - **Pretendard** is a Korean-display-first font — supports the full Hangul block plus extended Latin; English text reads naturally without a separate Latin font.
346
- - **Color contrast**: Heading `#212529` on `#FFFFFF` = 16.0:1 (AAA). Body `#495057` on `#FFFFFF` = 8.6:1 (AAA). Primary green `#00C471` on `#FFFFFF` = 2.45:1 — **fails AA for body text**; Inflearn correctly uses it only on white-on-green CTAs (where contrast is 4.4:1, passes AA), as accent fills, and for >18pt heading-scale text. Designers should not use `#00C471` for body-text links without a darker variant — use `#00A760` (3.5:1, still borderline AA for body) and prefer underline + bold.
347
- - **Keyboard nav**: Mantine `focusRing="auto"` — visible 2px green ring on Tab navigation.
348
- - **Screen reader**: GNB icon-only buttons carry `aria-label` (`search-menu`, `service-menu` observed). Course tiles use semantic `<article>`.
349
-
350
-
351
- ## 16. Do's and Don'ts
352
-
353
- ### Do
354
- - Use the single mint-green #00C471 for all primary action — search submit, primary CTA, active pagination, free/starter tag fills — and swap to #00A760 only for hover/pressed states
355
- - Set type in the Pretendard-first stack with a binary-ish weight scale: 700 for headings (H1 34px, H2 20px), 600 for nav and labelled buttons, 400 for body and prices — there is no 500
356
- - Apply the two-family radius vocabulary: 8px for cards, inputs, and pagination; 32px for nav pills; and full-pill 999px only for the green search submit and tag chips
357
- - Render the GNB as a sticky 65px white bar with no shadow and no border, letting the green circular search button be the only visual accent
358
- - Keep course tiles borderless and transparent (~230x310px, 8px thumbnail radius) so the thumbnail does the visual work, with title in #212529, instructor in #868E96, and price in #212529 weight 400
359
- - Inherit the Mantine semantic palette for non-brand needs — red #FA5252 for errors, blue #228BE6 for info, cyan-teal #1098AD for category tags — and reach for it instead of inventing new hues
360
-
361
- ### Don't
362
- - Introduce a second brand accent hue for a sub-product — tint the existing #00C471 (e.g. rgba(0,196,113,0.1)) or fall back to the Mantine red/blue/yellow/cyan scales instead
363
- - Use #00C471 for body-text links or small text — it scores only 2.45:1 on white and fails AA, so reserve it for white-on-green CTAs and >18pt headings
364
- - Embolden prices in red or add strikethrough discount callouts outside intentional sale rails — keep price in body weight 400 as a fact, not a flag
365
- - Add campaign drama like rotating banner carousels, parallax, or auto-advancing home rails — show ~24 calm catalog tiles above the fold and make card thumbnail scale (1.0 to 1.02) the only ambient motion
366
- - Use pressure or hype microcopy such as 지금 바로!, 놓치지 마세요, 최저가, 최고의 강의, Oops!, or 오류가 발생했습니다 — write agency-on-the-learner copy in casual-polite ~해요 instead
367
- - Call instructors 강사 or 교수 or pit them against each other with ranking labels — use the brand term 지식공유자님 and neutral counts like 수강생 12,400명
368
-
369
- ---
370
-
371
- ## 10. Voice & Tone
372
-
373
- Inflearn speaks like **the friendly senior who shows you their bookshelf**, not the strict instructor. The tagline "**라이프타임 커리어 플랫폼**" (lifetime career platform) is the single most load-bearing piece of voice on the site — every microcopy decision reinforces *"learning is something you keep doing"* rather than *"finish this course and pass"*. Where Coursera says *"Earn a verified certificate"* and Udemy says *"30-Day Money-Back Guarantee"*, Inflearn says *"부담없이 시작하기"* (start without pressure) — the verb framing is always agency-on-the-learner, not pressure-from-the-platform.
374
-
375
- Korean is the dominant register; English appears only for technical course titles (where the technology has an English name — "React", "Spring", "Kubernetes") and for the `/en` mirror. The voice avoids the formal `~합니다` ending in product surfaces (it survives in legal / refund / receipt screens) and uses the casual-polite `~해요` everywhere users are choosing what to learn.
376
-
377
- | Context | Tone |
378
- |---|---|
379
- | CTAs | Imperative + concrete outcome, no exclamation. `수강신청 하기`, `결제하기`, `장바구니에 담기`. Never `지금 바로!`. |
380
- | Section headlines | A friendly invitation, not a sales hook. `0원으로 부담없이 시작하기` rather than `무료 강의 BEST 100!`. |
381
- | Course tile metadata | Bare facts. Instructor name, run time, rating, price. No promotional copy on the tile itself. |
382
- | Free tag | Two characters: `무료`. Green pill on white tile. No "FREE!" / "Limited time!" framing. |
383
- | Empty states | Why empty + one next step. `아직 수강 중인 강의가 없어요. 관심 분야의 강의를 둘러보세요.` |
384
- | Error / validation | Specific cause + action. `이메일 형식이 올바르지 않아요. 다시 확인해주세요.` Never `오류가 발생했습니다`. |
385
- | Success | One line, no celebration. `수강신청이 완료되었어요. 내 강의실에서 확인할 수 있어요.` |
386
- | Instructor surfaces | Respectful 2nd-person `~님`. `지식공유자님` is the brand term for instructor — never `강사`, which would feel one-way. |
387
-
388
- **Forbidden phrases (illustrative — not from a published Inflearn guide; derived from observed restraint on `/` and `/courses`)**: `오류가 발생했습니다`, `놓치지 마세요`, `Oops!`, `지금 바로!`, `최저가`, exclamation marks on routine CTAs, emoji on price or enrolment surfaces, superlatives on course recommendations (`최고의 강의`, `이번 주 1등`). Where ranking matters, Inflearn uses neutral counts (`수강생 12,400명`) instead of editorialized rank labels.
389
-
390
- ## 11. Brand Narrative
391
-
392
- Inflearn was founded in **2015** by **Lee Hyung-joo (이형주)** under the parent company **Inflab (인프랩)**, headquartered in Seoul. The founding observation was specifically Korean: that working developers, designers, and PMs were learning more from short-form online courses than from university or formal certification, but the existing Korean e-learning market was dominated by exam-prep cram services (수능, 공무원) that treated adult professional learners as if they were teenagers preparing for the SAT.
393
-
394
- Inflearn's bet was that **the same people who built the Korean IT industry — engineers, designers, marketers — would also teach it**, if given a low-friction marketplace and a respectful split of the revenue. The platform brand name itself is *Information + Learn*, and Inflab's tagline frames the company as a **"lifetime career platform"** rather than an LMS or a course store — the design language reflects that framing: a calm catalog you return to, not a campaign-driven sales surface.
395
-
396
- By 2026, Inflearn lists tens of thousands of courses across IT, design, business, language, and lifestyle, and has expanded into roadmap-style course bundles, live mentoring, and a Q&A community. The visual evolution from the early-2010s blue-and-white directory layout to the current Mantine-built mint-green catalog is itself documented on the Inflab engineering blog (`tech.inflab.com`), where the team has written publicly about the design and infrastructure of the redesign — including, in 2026-03, a post on rebuilding the shared GNB header across the company's micro-frontend architecture.
397
-
398
- ## 12. Principles
399
-
400
- 1. **Friendly, not formal.** Casual-polite `~해요` is the default Korean ending. *UI implication:* avoid `~하시기 바랍니다` in product surfaces; reserve `~합니다` for legal screens.
401
-
402
- 2. **Catalog density over campaign drama.** Returning users dominate the audience; the home page is a place to *scan*, not to *be sold to*. *UI implication:* show ~24 course tiles above the fold; reserve hero space for one calm headline, not a rotating banner carousel.
403
-
404
- 3. **One green, used decisively.** A single brand colour for every interaction. *UI implication:* never introduce a secondary brand colour for a sub-product; tint the existing green or fall back to the Mantine semantic palette (red/blue/yellow/cyan).
405
-
406
- 4. **The instructor is `지식공유자님`.** Knowledge-sharer, not lecturer. *UI implication:* avoid hierarchy language (`강사` / `교수`) and avoid star/rating language that pits instructors against each other on the same screen.
407
-
408
- 5. **Price is a fact, not a flag.** Course prices appear in body weight 400, not bold red, not strikethrough-with-discount-callout (except on intentional sale rails). *UI implication:* a course tile is a content card first, a commerce card second.
409
-
410
- ## 13. Personas
411
-
412
- *(Personas inferred from observable surface targeting on `/`, `/courses`, `tech.inflab.com`; not from a published Inflearn persona doc.)*
413
-
414
- - **The Switching IC.** 28–35, working in a Korean tech / non-tech company, considering a role pivot (e.g., backend engineer thinking about ML, marketer thinking about product). Comes to Inflearn evenings and weekends; values roadmap-style course bundles; reads instructor credentials carefully.
415
-
416
- - **The Senior Upskilling.** 35–45, mid-to-senior IC or first-line manager, topping up a specific gap (Kubernetes, React Server Components, FP&A). Buys 1–2 courses per quarter; impatient with marketing fluff; wants the table-of-contents on screen before deciding.
417
-
418
- - **The Student-to-Industry.** 21–26, university or bootcamp student, building the portfolio for first-job applications. Uses the free starter (`무료`) courses heavily; price-sensitive; the green free-tag is the most-clicked element on the home page for this persona.
419
-
420
- - **The Adjacent-Function Curious.** 28–40, designer learning a bit of code, PM learning analytics, engineer learning design. Browses outside their core category; sensitive to course difficulty signalling; relies on instructor rating and student count more than course title.
421
-
422
- ## 14. States Catalog
423
-
424
- | Category | Treatment |
425
- |---|---|
426
- | **Empty — My Courses** | Center-aligned illustration; `아직 수강 중인 강의가 없어요`; secondary outlined CTA `강의 둘러보기` linking to `/courses`. |
427
- | **Empty — Wishlist** | `위시리스트가 비어 있어요. 마음에 드는 강의를 담아두세요.` + secondary CTA. |
428
- | **Empty — Search results** | `'<query>'에 대한 결과가 없어요.` + 3 chip suggestions from related categories. |
429
- | **Loading — page** | Mantine `Skeleton` placeholders for course tiles (6 tiles per row, 230×310). |
430
- | **Loading — submit** | Inline 16px spinner replaces CTA label; CTA remains green; pointer disabled. |
431
- | **Error — Network** | Inline banner `네트워크 연결을 확인해주세요. 다시 시도하시면 정상적으로 이용하실 수 있어요.` `다시 시도` outlined button. |
432
- | **Error — Validation** | 14px `#FA5252` text below field; field border `#FA5252`; field icon-side error icon. |
433
- | **Error — Payment** | Modal with specific cause line + `다른 결제 수단으로 시도하기` primary button. |
434
- | **Success — Enrolment** | Inline `수강신청이 완료되었어요.` `내 강의실로 가기` primary CTA. |
435
- | **Skeleton — Card** | `#F1F3F5` blocks for thumbnail (16:9) + 2 text lines; shimmer 1.5s linear. |
436
- | **Disabled — Form** | `#F1F3F5` bg, `#ADB5BD` text, `cursor: not-allowed`. Tooltip on hover explaining what is missing. |
437
-
438
- ## 15. Motion & Easing
439
-
440
- | Token | Value | Use |
441
- |---|---|---|
442
- | `motion-fast` | 150ms | Hover bg fade, focus ring appear |
443
- | `motion-base` | 200ms | Card thumbnail scale, nav pill bg, button colour |
444
- | `motion-slow` | 300ms | Modal open, drawer slide |
445
- | `easing-default` | `ease` | All hover / focus transitions (Mantine default — `--mantine-transition-timing-function`) |
446
- | `easing-emphasized` | `cubic-bezier(0.4, 0, 0.2, 1)` | Modal / drawer enter — material-style emphasized easing |
447
- | `easing-decelerate` | `cubic-bezier(0, 0, 0.2, 1)` | Skeleton shimmer, page-content fade-in |
448
-
449
- **Motion rules**:
450
- - No carousel auto-advance on home rails (a deliberate departure from Korean commerce convention; Inflearn's audience is reading instructor names, not glancing at banners).
451
- - No parallax. No scroll-triggered hero animation on the marketing surfaces.
452
- - Card hover is the only ambient motion — every other animation requires explicit user input.
453
- - Respect `prefers-reduced-motion: reduce` — fall back to instant transitions, keep colour fades only.
@@ -1,29 +0,0 @@
1
- {
2
- "id": "inflearn",
3
- "korean": "인프런",
4
- "logo_url": "https://www.inflearn.com/static/favicon.ico",
5
- "highlight": {
6
- "type": "palette",
7
- "tokens": {
8
- "primary": "#00C471",
9
- "pressed_inferred": "#00A760",
10
- "heading": "#212529",
11
- "body": "#495057",
12
- "muted": "#868E96",
13
- "surface_neutral": "#F8F9FA",
14
- "radius_card": "8px",
15
- "radius_nav_pill": "32px",
16
- "radius_cta_full_pill": "999px",
17
- "font": "Pretendard",
18
- "framework": "Mantine UI"
19
- },
20
- "label": "인프런 그린 × Mantine 8/32/999px — 캠페인 아닌 카탈로그의 톤"
21
- },
22
- "design_system": {
23
- "name": "Inflab Tech Blog",
24
- "url": "https://tech.inflab.com/",
25
- "type": "brand",
26
- "description": "Engineering blog of Inflab (Inflearn's parent). Contains MFE / shared-GNB architecture posts but no canonical token table; the DS lives in production code via Mantine theme overrides.",
27
- "live_verified": "2026-05-14"
28
- }
29
- }
@@ -1,85 +0,0 @@
1
- # Inflearn — Reference Research Log
2
-
3
- **Mode**: CREATE
4
- **Verification date**: 2026-05-14
5
- **Capture method**: CDP Runtime.evaluate via `localhost:9222` (browser-harness skill)
6
-
7
- ---
8
-
9
- ## Tier 1 — Live inspect + brand-owned sources
10
-
11
- | # | Source | Type | Status | Used in §§ |
12
- |---|--------|------|--------|------------|
13
- | 1 | `https://www.inflearn.com/` | Live DOM inspect (CDP, 12 raw_samples, 162 `--mantine-color-*` vars + `--mantine-radius-*` + `--mantine-spacing-*` + `--mantine-font-family`) | ✅ 200 | §1, §2, §3, §4, §5, §7, §9 |
14
- | 2 | `https://www.inflearn.com/courses` | Live DOM inspect (CDP, 8 raw_samples, pagination active-state `#00C471` confirmed, 38 mantine-Card-root tiles observed) | ✅ 200 | §4 (pagination), §5, §6 |
15
- | 3 | `https://tech.inflab.com/` | Inflearn engineering blog index | ✅ 200 | §11 |
16
- | 4 | `https://tech.inflab.com/20260305-new-header/` | Blog post: "MFE 환경에서 공통 헤더(GNB) 개편하기" — confirms GNB rebuild as shared MFE component | ✅ 200 | §11, §4 (GNB) |
17
-
18
- **Capture artefacts** (live-inspect proof, ≥5 raw_samples required, **20 captured**):
19
- - `assets/_reference/.live-inspect-proof.json` — home + courses raw_samples + palette histograms + mantine-evidence
20
- - `assets/_reference/.live-inspect-proof-courses.json` — full /courses second-surface capture
21
- - `assets/_reference/tokens.json` — distilled brand tokens
22
- - `assets/_reference/structure.json` — IA + layout signals
23
- - `assets/_reference/fonts.json` — typography sample
24
-
25
- ---
26
-
27
- ## Tier 2 — Third-party directories
28
-
29
- | # | Source | Status | Notes |
30
- |---|--------|--------|-------|
31
- | 5 | `https://getdesign.md/inflearn` | ❌ Empty | Verified 2026-05-14 — page returns explicit "No designs found for 'inflearn'". |
32
- | 6 | `https://styles.refero.design/?q=inflearn` | ❌ Empty | Verified 2026-05-14 — no result cards returned for the query. |
33
-
34
- **Tier 2 conclusion**: Same pattern as the 2026-05-13 KR-10 batch — Tier 2 directories have weak Korean coverage. No conflict to resolve because Tier 2 produced no values. Tier 1 carries the entire system.
35
-
36
- ---
37
-
38
- ## Tier 3 — Reconcile
39
-
40
- No conflicts. All §4 token values come from Tier 1 live inspect, with two explicit notes:
41
-
42
- 1. **`#00A760` hover / pressed green** is inferred from the palette histogram (it appears 450× and 248× on home and /courses respectively, alongside the captured primary `#00C471`). Designers wanting authoritative hover/active values should inspect a button on the courses-detail page (TODO: follow-up UPDATE pass).
43
- 2. **Disabled / focus / error focus tokens** are Mantine-default-inherited; called out as `(Inferred)` in §4 where directly captured values were not available.
44
-
45
- ---
46
-
47
- ## Tier 1 vs. Tier 2 matrix
48
-
49
- | Field | Tier 1 (live) | getdesign | refero | Resolution |
50
- |---|---|---|---|---|
51
- | Primary green | `#00C471` (rgb(0,196,113), search submit + pagination active) | — | — | Tier 1 |
52
- | Font family | Pretendard stack | — | — | Tier 1 |
53
- | Radius scale | `xs=2px`, `sm=4px`, `md=8px`, `lg=16px`, `xl=32px` (from `--mantine-radius-*`) | — | — | Tier 1 |
54
- | Heading colour | `#212529` | — | — | Tier 1 |
55
- | Framework | Mantine UI (162 `--mantine-color-*` vars) | — | — | Tier 1 |
56
- | GNB height | 65px sticky white | — | — | Tier 1 |
57
- | Instructor term | `지식공유자` (knowledge-sharer) — from product copy + tech.inflab.com | — | — | Tier 1 |
58
-
59
- No (unresolved) flags.
60
-
61
- ---
62
-
63
- ## Public design system surface
64
-
65
- **No public DS docs site found** (verified 2026-05-14):
66
- - `design.inflearn.com` — not resolving
67
- - `inflearn-design.github.io` — not present
68
- - Inflab GitHub org — no public DS / component-library repo discovered via `gh search`
69
- - `tech.inflab.com` — engineering blog, contains MFE / GNB / infra posts but no canonical token table
70
-
71
- → Inflearn DS lives **in code on production**, accessible only via runtime inspect of Mantine theme variables. This is the same pattern as `29cm` / `ably` / `zigbang` in the 2026-05-13 KR-10 batch.
72
-
73
- ---
74
-
75
- ## Confidence
76
-
77
- **High** for the captured surfaces (home + courses).
78
- **Medium** for inferred states (hover/pressed/focus/disabled/error-focus) — `(Inferred)` annotations in §4 are honest about this.
79
- **Follow-up UPDATE pass** recommended on a course detail + payment surface to capture the labelled-primary CTA, form focus, and disabled states authoritatively.
80
-
81
- ## IP guardrails applied
82
-
83
- - No verbatim taglines: Inflearn's *"라이프타임 커리어 플랫폼"* is quoted once in §11 as factual brand-narrative context, not adopted as design copy.
84
- - Brand assets are referenced for visual study only; no logo file copied into `assets/_reference/`.
85
- - Voice samples in §10 are illustrative reconstructions in the casual-polite Korean register; not lifted verbatim from Inflearn surfaces.