zugzbot 1.0.21 → 1.0.23

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 (1272) hide show
  1. package/.opencode/agents/sdd-coder.md +1 -0
  2. package/.opencode/agents/sdd-orchestrator.md +1 -0
  3. package/.opencode/skills/sdd-methodology/SKILL.md +8 -0
  4. package/.opencode/skills/sdd-tester-quickstart/SKILL.md +6 -0
  5. package/.opencode/tools/sdd_testing.ts +93 -0
  6. package/bin/init.js +38 -1
  7. package/opencode.json +9 -0
  8. package/package.json +14 -4
  9. package/.opencode/active-brief.md +0 -38
  10. package/.opencode/docs/shadcn/agents/openai.yml +0 -5
  11. package/.opencode/docs/shadcn/assets/shadcn-small.png +0 -0
  12. package/.opencode/docs/shadcn/assets/shadcn.png +0 -0
  13. package/.opencode/docs/shadcn/cli.md +0 -290
  14. package/.opencode/docs/shadcn/customization.md +0 -209
  15. package/.opencode/docs/shadcn/evals/evals.json +0 -47
  16. package/.opencode/docs/shadcn/mcp.md +0 -105
  17. package/.opencode/docs/shadcn/registry.md +0 -277
  18. package/.opencode/docs/shadcn/rules/base-vs-radix.md +0 -306
  19. package/.opencode/docs/shadcn/rules/composition.md +0 -195
  20. package/.opencode/docs/shadcn/rules/forms.md +0 -192
  21. package/.opencode/docs/shadcn/rules/icons.md +0 -101
  22. package/.opencode/docs/shadcn/rules/styling.md +0 -162
  23. package/.opencode/oh-my-design/.agents/skills/google-analytics/EXAMPLES.md +0 -441
  24. package/.opencode/oh-my-design/.agents/skills/google-analytics/REFERENCE.md +0 -342
  25. package/.opencode/oh-my-design/.agents/skills/google-analytics/SKILL.md +0 -153
  26. package/.opencode/oh-my-design/.agents/skills/google-analytics/requirements.txt +0 -6
  27. package/.opencode/oh-my-design/.agents/skills/google-analytics/scripts/analyze.py +0 -459
  28. package/.opencode/oh-my-design/.agents/skills/google-analytics/scripts/ga_client.py +0 -345
  29. package/.opencode/oh-my-design/.claude/agents/omd-a11y-auditor.md +0 -98
  30. package/.opencode/oh-my-design/.claude/agents/omd-asset-curator.md +0 -99
  31. package/.opencode/oh-my-design/.claude/agents/omd-codex-image.md +0 -49
  32. package/.opencode/oh-my-design/.claude/agents/omd-critic.md +0 -142
  33. package/.opencode/oh-my-design/.claude/agents/omd-designer-review.md +0 -38
  34. package/.opencode/oh-my-design/.claude/agents/omd-final-qa.md +0 -40
  35. package/.opencode/oh-my-design/.claude/agents/omd-kr-writer.md +0 -35
  36. package/.opencode/oh-my-design/.claude/agents/omd-locale-adapter.md +0 -32
  37. package/.opencode/oh-my-design/.claude/agents/omd-master.md +0 -317
  38. package/.opencode/oh-my-design/.claude/agents/omd-microcopy.md +0 -64
  39. package/.opencode/oh-my-design/.claude/agents/omd-orchestrator.md +0 -34
  40. package/.opencode/oh-my-design/.claude/agents/omd-persona-tester.md +0 -119
  41. package/.opencode/oh-my-design/.claude/agents/omd-ui-junior.md +0 -130
  42. package/.opencode/oh-my-design/.claude/agents/omd-ux-researcher.md +0 -63
  43. package/.opencode/oh-my-design/.claude/data/opt-out-corpus.json +0 -141
  44. package/.opencode/oh-my-design/.claude/data/reference-fingerprints.json +0 -6142
  45. package/.opencode/oh-my-design/.claude/data/reference-tags.md +0 -104
  46. package/.opencode/oh-my-design/.claude/data/synonyms.json +0 -79
  47. package/.opencode/oh-my-design/.claude/data/vocabulary.json +0 -516
  48. package/.opencode/oh-my-design/.claude/hooks/lib/preferences-parser.cjs +0 -91
  49. package/.opencode/oh-my-design/.claude/hooks/lib/preferences-writer.cjs +0 -118
  50. package/.opencode/oh-my-design/.claude/hooks/post-edit-watch.cjs +0 -295
  51. package/.opencode/oh-my-design/.claude/hooks/session-end-foldin.cjs +0 -149
  52. package/.opencode/oh-my-design/.claude/hooks/session-state-loader.cjs +0 -113
  53. package/.opencode/oh-my-design/.claude/hooks/skill-activation.cjs +0 -108
  54. package/.opencode/oh-my-design/.claude/settings.json +0 -55
  55. package/.opencode/oh-my-design/.claude/skills/omd/SKILL.md +0 -133
  56. package/.opencode/oh-my-design/.claude/skills/omd-add-reference/SKILL.md +0 -381
  57. package/.opencode/oh-my-design/.claude/skills/omd-add-reference/batch-instructions.md +0 -111
  58. package/.opencode/oh-my-design/.claude/skills/omd-apply/SKILL.md +0 -87
  59. package/.opencode/oh-my-design/.claude/skills/omd-batch-launch/SKILL.md +0 -270
  60. package/.opencode/oh-my-design/.claude/skills/omd-codex-image/SKILL.md +0 -162
  61. package/.opencode/oh-my-design/.claude/skills/omd-component-harvest/SKILL.md +0 -59
  62. package/.opencode/oh-my-design/.claude/skills/omd-designer-review/SKILL.md +0 -146
  63. package/.opencode/oh-my-design/.claude/skills/omd-final-qa/SKILL.md +0 -153
  64. package/.opencode/oh-my-design/.claude/skills/omd-harness/SKILL.md +0 -234
  65. package/.opencode/oh-my-design/.claude/skills/omd-init/SKILL.md +0 -169
  66. package/.opencode/oh-my-design/.claude/skills/omd-kr-writer/SKILL.md +0 -229
  67. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/SKILL.md +0 -53
  68. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/compare.md +0 -30
  69. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v1.md +0 -42
  70. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v2.md +0 -34
  71. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v3.md +0 -33
  72. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v4.md +0 -37
  73. package/.opencode/oh-my-design/.claude/skills/omd-lab-02-design-harness/SKILL.md +0 -131
  74. package/.opencode/oh-my-design/.claude/skills/omd-learn/SKILL.md +0 -83
  75. package/.opencode/oh-my-design/.claude/skills/omd-locale-adapter/SKILL.md +0 -124
  76. package/.opencode/oh-my-design/.claude/skills/omd-migrate/SKILL.md +0 -307
  77. package/.opencode/oh-my-design/.claude/skills/omd-orchestrator/SKILL.md +0 -124
  78. package/.opencode/oh-my-design/.claude/skills/omd-release-hygiene/SKILL.md +0 -113
  79. package/.opencode/oh-my-design/.claude/skills/omd-remember/SKILL.md +0 -46
  80. package/.opencode/oh-my-design/.claude/skills/omd-sync/SKILL.md +0 -40
  81. package/.opencode/oh-my-design/.claude/skills/omd-token-backfill/SKILL.md +0 -57
  82. package/.opencode/oh-my-design/.claude/skills/skill-rules.json +0 -84
  83. package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/agent-fidelity.md +0 -59
  84. package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/bug-report.md +0 -36
  85. package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/config.yml +0 -8
  86. package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/feature-request.md +0 -26
  87. package/.opencode/oh-my-design/.github/PULL_REQUEST_TEMPLATE.md +0 -134
  88. package/.opencode/oh-my-design/.github/assets/logo-bg.png +0 -0
  89. package/.opencode/oh-my-design/.github/workflows/release.yml +0 -55
  90. package/.opencode/oh-my-design/.husky/pre-commit +0 -23
  91. package/.opencode/oh-my-design/.mcp.json +0 -12
  92. package/.opencode/oh-my-design/AGENTS.md +0 -112
  93. package/.opencode/oh-my-design/CHANGELOG.md +0 -385
  94. package/.opencode/oh-my-design/LICENSE +0 -21
  95. package/.opencode/oh-my-design/README.ja.md +0 -74
  96. package/.opencode/oh-my-design/README.ko.md +0 -112
  97. package/.opencode/oh-my-design/README.md +0 -112
  98. package/.opencode/oh-my-design/README.zh-TW.md +0 -74
  99. package/.opencode/oh-my-design/agents/AGENT.md +0 -53
  100. package/.opencode/oh-my-design/agents/omd-a11y-auditor.md +0 -97
  101. package/.opencode/oh-my-design/agents/omd-asset-curator.md +0 -255
  102. package/.opencode/oh-my-design/agents/omd-codex-image.md +0 -49
  103. package/.opencode/oh-my-design/agents/omd-critic.md +0 -181
  104. package/.opencode/oh-my-design/agents/omd-designer-review.md +0 -38
  105. package/.opencode/oh-my-design/agents/omd-final-qa.md +0 -40
  106. package/.opencode/oh-my-design/agents/omd-kr-writer.md +0 -35
  107. package/.opencode/oh-my-design/agents/omd-locale-adapter.md +0 -32
  108. package/.opencode/oh-my-design/agents/omd-master.md +0 -559
  109. package/.opencode/oh-my-design/agents/omd-microcopy.md +0 -63
  110. package/.opencode/oh-my-design/agents/omd-orchestrator.md +0 -34
  111. package/.opencode/oh-my-design/agents/omd-persona-tester.md +0 -118
  112. package/.opencode/oh-my-design/agents/omd-ui-junior.md +0 -129
  113. package/.opencode/oh-my-design/agents/omd-ux-engineer.md +0 -267
  114. package/.opencode/oh-my-design/agents/omd-ux-researcher.md +0 -62
  115. package/.opencode/oh-my-design/agents/omd-ux-writer.md +0 -181
  116. package/.opencode/oh-my-design/bin/oh-my-design.ts +0 -77
  117. package/.opencode/oh-my-design/data/architecture-proposals/1.7.2-recommend-install-feedback.md +0 -614
  118. package/.opencode/oh-my-design/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +0 -189
  119. package/.opencode/oh-my-design/data/issues/2026-05-13-multi-surface-schema-rfc.md +0 -67
  120. package/.opencode/oh-my-design/data/opt-out-corpus.json +0 -141
  121. package/.opencode/oh-my-design/data/reference-audits/2026-05-13-kr10.md +0 -132
  122. package/.opencode/oh-my-design/data/reference-audits/2026-05-14-kr10.md +0 -72
  123. package/.opencode/oh-my-design/data/reference-audits/2026-05-15-kr10.md +0 -124
  124. package/.opencode/oh-my-design/data/reference-fingerprints.json +0 -6142
  125. package/.opencode/oh-my-design/data/reference-tags.md +0 -118
  126. package/.opencode/oh-my-design/data/synonyms.json +0 -79
  127. package/.opencode/oh-my-design/data/vocabulary.json +0 -516
  128. package/.opencode/oh-my-design/packages/mcp/README.md +0 -172
  129. package/.opencode/oh-my-design/packages/mcp/__tests__/smoke.test.ts +0 -64
  130. package/.opencode/oh-my-design/packages/mcp/data/.gitkeep +0 -0
  131. package/.opencode/oh-my-design/packages/mcp/scripts/sync-data.mjs +0 -38
  132. package/.opencode/oh-my-design/packages/mcp/src/data.ts +0 -178
  133. package/.opencode/oh-my-design/packages/mcp/src/index.ts +0 -58
  134. package/.opencode/oh-my-design/packages/mcp/src/prompts/design-from-ref.ts +0 -87
  135. package/.opencode/oh-my-design/packages/mcp/src/server.ts +0 -223
  136. package/.opencode/oh-my-design/packages/mcp/src/tools/get-design-md.ts +0 -44
  137. package/.opencode/oh-my-design/packages/mcp/src/tools/list-references.ts +0 -58
  138. package/.opencode/oh-my-design/packages/mcp/src/tools/search-by-vibe.ts +0 -114
  139. package/.opencode/oh-my-design/packages/mcp/tsconfig.json +0 -21
  140. package/.opencode/oh-my-design/packages/mcp/tsup.config.ts +0 -17
  141. package/.opencode/oh-my-design/packages/mcp/vitest.config.ts +0 -8
  142. package/.opencode/oh-my-design/scripts/bench/README.md +0 -72
  143. package/.opencode/oh-my-design/scripts/bench/score-init.mjs +0 -97
  144. package/.opencode/oh-my-design/scripts/bench/score-taste.mjs +0 -189
  145. package/.opencode/oh-my-design/scripts/check-release-hygiene.sh +0 -83
  146. package/.opencode/oh-my-design/scripts/context.cjs +0 -91
  147. package/.opencode/oh-my-design/scripts/ctx-prime.cjs +0 -266
  148. package/.opencode/oh-my-design/scripts/gen-llms-full.cjs +0 -143
  149. package/.opencode/oh-my-design/scripts/growth-snapshot.mjs +0 -59
  150. package/.opencode/oh-my-design/scripts/postinstall.cjs +0 -54
  151. package/.opencode/oh-my-design/scripts/smoke-md-twins.mjs +0 -98
  152. package/.opencode/oh-my-design/skills/claude-design/SKILL.md +0 -390
  153. package/.opencode/oh-my-design/skills/claude-design/references/claude-design-flow.md +0 -425
  154. package/.opencode/oh-my-design/skills/claude-design/references/codebase-analysis.md +0 -373
  155. package/.opencode/oh-my-design/skills/claude-design/scripts/analyze_codebase.py +0 -1369
  156. package/.opencode/oh-my-design/skills/claude-design/scripts/clickable_link.sh +0 -48
  157. package/.opencode/oh-my-design/skills/claude-design/scripts/collect_source.py +0 -178
  158. package/.opencode/oh-my-design/skills/claude-design/scripts/drive_claude_design.cjs +0 -378
  159. package/.opencode/oh-my-design/skills/claude-design/scripts/gather_references.py +0 -437
  160. package/.opencode/oh-my-design/skills/omd-apply/SKILL.md +0 -107
  161. package/.opencode/oh-my-design/skills/omd-asset-fetch/SKILL.md +0 -213
  162. package/.opencode/oh-my-design/skills/omd-codex-image/SKILL.md +0 -162
  163. package/.opencode/oh-my-design/skills/omd-designer-review/SKILL.md +0 -180
  164. package/.opencode/oh-my-design/skills/omd-experiment-gallery/SKILL.md +0 -164
  165. package/.opencode/oh-my-design/skills/omd-final-qa/SKILL.md +0 -182
  166. package/.opencode/oh-my-design/skills/omd-harness/SKILL.md +0 -726
  167. package/.opencode/oh-my-design/skills/omd-init/SKILL.md +0 -314
  168. package/.opencode/oh-my-design/skills/omd-kr-writer/SKILL.md +0 -299
  169. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/SKILL.md +0 -129
  170. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/playbooks/v1.md +0 -105
  171. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/live-2026-04-27-water-app/feedback-log.md +0 -230
  172. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/README.md +0 -46
  173. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/founder/README.md +0 -7
  174. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/junior-designer/src/components/Hero.tsx +0 -1
  175. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/junior-designer/src/components/Project.tsx +0 -1
  176. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Accordion.tsx +0 -4
  177. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Alert.tsx +0 -4
  178. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Avatar.tsx +0 -4
  179. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Badge.tsx +0 -4
  180. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Breadcrumb.tsx +0 -4
  181. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Button.tsx +0 -4
  182. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Card.tsx +0 -4
  183. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Combobox.tsx +0 -4
  184. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/DataTable.tsx +0 -4
  185. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Dialog.tsx +0 -4
  186. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Drawer.tsx +0 -4
  187. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Field.tsx +0 -4
  188. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Form.tsx +0 -4
  189. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Input.tsx +0 -4
  190. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Menu.tsx +0 -4
  191. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Modal.tsx +0 -4
  192. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Pagination.tsx +0 -4
  193. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Popover.tsx +0 -4
  194. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Select.tsx +0 -4
  195. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Sheet.tsx +0 -4
  196. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Spinner.tsx +0 -4
  197. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Tabs.tsx +0 -4
  198. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Toast.tsx +0 -4
  199. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Tooltip.tsx +0 -4
  200. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/VirtualList.tsx +0 -4
  201. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Alert.tsx +0 -3
  202. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Avatar.tsx +0 -3
  203. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Badge.tsx +0 -3
  204. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Button.tsx +0 -3
  205. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Card.tsx +0 -3
  206. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Input.tsx +0 -3
  207. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Modal.tsx +0 -3
  208. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Spinner.tsx +0 -3
  209. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Tabs.tsx +0 -3
  210. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Toast.tsx +0 -3
  211. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/styles/globals.css +0 -25
  212. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/tailwind.config.ts +0 -28
  213. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i1-findings.md +0 -51
  214. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-F.md +0 -133
  215. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-J.md +0 -171
  216. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-S.md +0 -232
  217. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-V.md +0 -73
  218. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-consolidated.md +0 -69
  219. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/postmortem.md +0 -128
  220. package/.opencode/oh-my-design/skills/omd-learn/SKILL.md +0 -121
  221. package/.opencode/oh-my-design/skills/omd-locale-adapter/SKILL.md +0 -124
  222. package/.opencode/oh-my-design/skills/omd-orchestrator/SKILL.md +0 -124
  223. package/.opencode/oh-my-design/skills/omd-reference-capture/SKILL.md +0 -722
  224. package/.opencode/oh-my-design/skills/omd-remember/SKILL.md +0 -122
  225. package/.opencode/oh-my-design/skills/omd-sync/SKILL.md +0 -162
  226. package/.opencode/oh-my-design/skills/omd-taste/SKILL.md +0 -79
  227. package/.opencode/oh-my-design/skills-lock.json +0 -10
  228. package/.opencode/oh-my-design/spec/components-schema.md +0 -179
  229. package/.opencode/oh-my-design/spec/migration-checklist.md +0 -148
  230. package/.opencode/oh-my-design/spec/migration-plan.md +0 -124
  231. package/.opencode/oh-my-design/spec/omd-v0.1.md +0 -382
  232. package/.opencode/oh-my-design/spec/regional-sources.yaml +0 -77
  233. package/.opencode/oh-my-design/spec/verification-pipeline.md +0 -154
  234. package/.opencode/oh-my-design/src/cli/install-skills.ts +0 -1116
  235. package/.opencode/oh-my-design/src/core/agent-detect.ts +0 -49
  236. package/.opencode/oh-my-design/test/README.md +0 -89
  237. package/.opencode/oh-my-design/test/scripts/check-backgrounds.ts +0 -10
  238. package/.opencode/oh-my-design/test/scripts/generate-preview.ts +0 -42
  239. package/.opencode/oh-my-design/test/unit/cli/install-skills.test.ts +0 -227
  240. package/.opencode/oh-my-design/test/unit/core/agent-detect.test.ts +0 -97
  241. package/.opencode/oh-my-design/test/unit/core/catalog-resolution-order.test.ts +0 -73
  242. package/.opencode/oh-my-design/test/unit/hooks/hooks.test.ts +0 -499
  243. package/.opencode/oh-my-design/tsconfig.json +0 -20
  244. package/.opencode/oh-my-design/tsup.config.ts +0 -12
  245. package/.opencode/oh-my-design/vitest.config.ts +0 -13
  246. package/.opencode/oh-my-design/web/.env.example +0 -21
  247. package/.opencode/oh-my-design/web/AGENTS.md +0 -5
  248. package/.opencode/oh-my-design/web/CLAUDE.md +0 -1
  249. package/.opencode/oh-my-design/web/README.md +0 -45
  250. package/.opencode/oh-my-design/web/__tests__/catalog-integrity.test.ts +0 -333
  251. package/.opencode/oh-my-design/web/components.json +0 -25
  252. package/.opencode/oh-my-design/web/docs/font-playground-analytics.md +0 -110
  253. package/.opencode/oh-my-design/web/eslint.config.mjs +0 -18
  254. package/.opencode/oh-my-design/web/next.config.ts +0 -31
  255. package/.opencode/oh-my-design/web/postcss.config.mjs +0 -7
  256. package/.opencode/oh-my-design/web/public/file.svg +0 -1
  257. package/.opencode/oh-my-design/web/public/globe.svg +0 -1
  258. package/.opencode/oh-my-design/web/public/llms-full.txt +0 -3149
  259. package/.opencode/oh-my-design/web/public/llms.ko.txt +0 -130
  260. package/.opencode/oh-my-design/web/public/llms.txt +0 -377
  261. package/.opencode/oh-my-design/web/public/logo-white.png +0 -0
  262. package/.opencode/oh-my-design/web/public/logo.png +0 -0
  263. package/.opencode/oh-my-design/web/public/next.svg +0 -1
  264. package/.opencode/oh-my-design/web/public/og-image.png +0 -0
  265. package/.opencode/oh-my-design/web/public/twitter-image.png +0 -0
  266. package/.opencode/oh-my-design/web/public/vercel.svg +0 -1
  267. package/.opencode/oh-my-design/web/public/window.svg +0 -1
  268. package/.opencode/oh-my-design/web/references/11st/.verification.md +0 -37
  269. package/.opencode/oh-my-design/web/references/11st/DESIGN.md +0 -400
  270. package/.opencode/oh-my-design/web/references/17live/DESIGN.md +0 -467
  271. package/.opencode/oh-my-design/web/references/29cm/DESIGN.md +0 -495
  272. package/.opencode/oh-my-design/web/references/29cm/_promo.json +0 -23
  273. package/.opencode/oh-my-design/web/references/29cm/_research.md +0 -103
  274. package/.opencode/oh-my-design/web/references/3o3/.verification.md +0 -73
  275. package/.opencode/oh-my-design/web/references/3o3/DESIGN.md +0 -454
  276. package/.opencode/oh-my-design/web/references/91app/.verification.md +0 -25
  277. package/.opencode/oh-my-design/web/references/91app/DESIGN.md +0 -182
  278. package/.opencode/oh-my-design/web/references/abema/.verification.md +0 -64
  279. package/.opencode/oh-my-design/web/references/abema/DESIGN.md +0 -535
  280. package/.opencode/oh-my-design/web/references/ably/DESIGN.md +0 -646
  281. package/.opencode/oh-my-design/web/references/ably/_promo.json +0 -18
  282. package/.opencode/oh-my-design/web/references/ably/_research.md +0 -120
  283. package/.opencode/oh-my-design/web/references/accupass/.verification.md +0 -66
  284. package/.opencode/oh-my-design/web/references/accupass/DESIGN.md +0 -494
  285. package/.opencode/oh-my-design/web/references/adobe/.verification.md +0 -63
  286. package/.opencode/oh-my-design/web/references/adobe/DESIGN.md +0 -458
  287. package/.opencode/oh-my-design/web/references/airbnb/.verification.md +0 -143
  288. package/.opencode/oh-my-design/web/references/airbnb/DESIGN.md +0 -639
  289. package/.opencode/oh-my-design/web/references/airbnb/README.md +0 -23
  290. package/.opencode/oh-my-design/web/references/airbnb/preview-dark.html +0 -234
  291. package/.opencode/oh-my-design/web/references/airbnb/preview.html +0 -233
  292. package/.opencode/oh-my-design/web/references/airtable/.verification.md +0 -136
  293. package/.opencode/oh-my-design/web/references/airtable/DESIGN.md +0 -314
  294. package/.opencode/oh-my-design/web/references/airtable/README.md +0 -23
  295. package/.opencode/oh-my-design/web/references/airtable/preview-dark.html +0 -165
  296. package/.opencode/oh-my-design/web/references/airtable/preview.html +0 -164
  297. package/.opencode/oh-my-design/web/references/alipay/DESIGN.md +0 -506
  298. package/.opencode/oh-my-design/web/references/amazingtalker/.verification.md +0 -38
  299. package/.opencode/oh-my-design/web/references/amazingtalker/DESIGN.md +0 -434
  300. package/.opencode/oh-my-design/web/references/appier/DESIGN.md +0 -465
  301. package/.opencode/oh-my-design/web/references/apple/.verification.md +0 -162
  302. package/.opencode/oh-my-design/web/references/apple/DESIGN.md +0 -613
  303. package/.opencode/oh-my-design/web/references/apple/README.md +0 -24
  304. package/.opencode/oh-my-design/web/references/apple/preview-dark.html +0 -420
  305. package/.opencode/oh-my-design/web/references/apple/preview.html +0 -414
  306. package/.opencode/oh-my-design/web/references/baemin/.verification.md +0 -132
  307. package/.opencode/oh-my-design/web/references/baemin/DESIGN.md +0 -578
  308. package/.opencode/oh-my-design/web/references/baemin/README.md +0 -19
  309. package/.opencode/oh-my-design/web/references/baemin/_research.md +0 -84
  310. package/.opencode/oh-my-design/web/references/banksalad/DESIGN.md +0 -688
  311. package/.opencode/oh-my-design/web/references/banksalad/_promo.json +0 -29
  312. package/.opencode/oh-my-design/web/references/banksalad/_research.md +0 -190
  313. package/.opencode/oh-my-design/web/references/bilibili/DESIGN.md +0 -471
  314. package/.opencode/oh-my-design/web/references/bithumb/.verification.md +0 -31
  315. package/.opencode/oh-my-design/web/references/bithumb/DESIGN.md +0 -208
  316. package/.opencode/oh-my-design/web/references/bmw/.verification.md +0 -114
  317. package/.opencode/oh-my-design/web/references/bmw/DESIGN.md +0 -360
  318. package/.opencode/oh-my-design/web/references/bmw/README.md +0 -23
  319. package/.opencode/oh-my-design/web/references/bmw/preview-dark.html +0 -211
  320. package/.opencode/oh-my-design/web/references/bmw/preview.html +0 -210
  321. package/.opencode/oh-my-design/web/references/brandi/.verification.md +0 -29
  322. package/.opencode/oh-my-design/web/references/brandi/DESIGN.md +0 -414
  323. package/.opencode/oh-my-design/web/references/bunjang/DESIGN.md +0 -374
  324. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/.live-inspect-proof.json +0 -260
  325. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/fonts.json +0 -33
  326. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/logo-icon.svg +0 -10
  327. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/structure.json +0 -131
  328. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/tokens.json +0 -147
  329. package/.opencode/oh-my-design/web/references/cakeresume/.verification.md +0 -25
  330. package/.opencode/oh-my-design/web/references/cakeresume/DESIGN.md +0 -191
  331. package/.opencode/oh-my-design/web/references/cal/.verification.md +0 -145
  332. package/.opencode/oh-my-design/web/references/cal/DESIGN.md +0 -481
  333. package/.opencode/oh-my-design/web/references/cal/README.md +0 -23
  334. package/.opencode/oh-my-design/web/references/cal/preview-dark.html +0 -449
  335. package/.opencode/oh-my-design/web/references/cal/preview.html +0 -575
  336. package/.opencode/oh-my-design/web/references/catchtable/DESIGN.md +0 -341
  337. package/.opencode/oh-my-design/web/references/catchtable/_research.md +0 -54
  338. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/.live-inspect-proof.json +0 -204
  339. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/.live-inspect-raw.json +0 -22
  340. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/fonts.json +0 -21
  341. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/structure.json +0 -42
  342. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/tokens.json +0 -95
  343. package/.opencode/oh-my-design/web/references/cathay/.verification.md +0 -44
  344. package/.opencode/oh-my-design/web/references/cathay/DESIGN.md +0 -432
  345. package/.opencode/oh-my-design/web/references/channeltalk/DESIGN.md +0 -422
  346. package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/.live-inspect-proof.json +0 -320
  347. package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/fonts.json +0 -53
  348. package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/structure.json +0 -47
  349. package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/tokens.json +0 -78
  350. package/.opencode/oh-my-design/web/references/class101/DESIGN.md +0 -484
  351. package/.opencode/oh-my-design/web/references/classting/.verification.md +0 -32
  352. package/.opencode/oh-my-design/web/references/classting/DESIGN.md +0 -292
  353. package/.opencode/oh-my-design/web/references/classum/DESIGN.md +0 -279
  354. package/.opencode/oh-my-design/web/references/classum/assets/_reference/.live-inspect-proof.json +0 -72
  355. package/.opencode/oh-my-design/web/references/classum/assets/_reference/fonts.json +0 -20
  356. package/.opencode/oh-my-design/web/references/classum/assets/_reference/structure.json +0 -21
  357. package/.opencode/oh-my-design/web/references/classum/assets/_reference/tokens.json +0 -56
  358. package/.opencode/oh-my-design/web/references/claude/.verification.md +0 -106
  359. package/.opencode/oh-my-design/web/references/claude/DESIGN.md +0 -561
  360. package/.opencode/oh-my-design/web/references/claude/README.md +0 -24
  361. package/.opencode/oh-my-design/web/references/claude/preview-dark.html +0 -803
  362. package/.opencode/oh-my-design/web/references/claude/preview.html +0 -826
  363. package/.opencode/oh-my-design/web/references/clay/.verification.md +0 -129
  364. package/.opencode/oh-my-design/web/references/clay/DESIGN.md +0 -454
  365. package/.opencode/oh-my-design/web/references/clay/README.md +0 -23
  366. package/.opencode/oh-my-design/web/references/clay/preview-dark.html +0 -316
  367. package/.opencode/oh-my-design/web/references/clay/preview.html +0 -315
  368. package/.opencode/oh-my-design/web/references/clickhouse/.verification.md +0 -132
  369. package/.opencode/oh-my-design/web/references/clickhouse/DESIGN.md +0 -424
  370. package/.opencode/oh-my-design/web/references/clickhouse/README.md +0 -24
  371. package/.opencode/oh-my-design/web/references/clickhouse/preview-dark.html +0 -834
  372. package/.opencode/oh-my-design/web/references/clickhouse/preview.html +0 -786
  373. package/.opencode/oh-my-design/web/references/cloudflare/.verification.md +0 -21
  374. package/.opencode/oh-my-design/web/references/cloudflare/DESIGN.md +0 -637
  375. package/.opencode/oh-my-design/web/references/cohere/.verification.md +0 -136
  376. package/.opencode/oh-my-design/web/references/cohere/DESIGN.md +0 -409
  377. package/.opencode/oh-my-design/web/references/cohere/README.md +0 -24
  378. package/.opencode/oh-my-design/web/references/cohere/preview-dark.html +0 -803
  379. package/.opencode/oh-my-design/web/references/cohere/preview.html +0 -807
  380. package/.opencode/oh-my-design/web/references/coinbase/.verification.md +0 -116
  381. package/.opencode/oh-my-design/web/references/coinbase/DESIGN.md +0 -353
  382. package/.opencode/oh-my-design/web/references/coinbase/README.md +0 -23
  383. package/.opencode/oh-my-design/web/references/coinbase/preview-dark.html +0 -164
  384. package/.opencode/oh-my-design/web/references/coinbase/preview.html +0 -163
  385. package/.opencode/oh-my-design/web/references/coinone/.verification.md +0 -38
  386. package/.opencode/oh-my-design/web/references/coinone/DESIGN.md +0 -257
  387. package/.opencode/oh-my-design/web/references/composio/.verification.md +0 -143
  388. package/.opencode/oh-my-design/web/references/composio/DESIGN.md +0 -441
  389. package/.opencode/oh-my-design/web/references/composio/README.md +0 -24
  390. package/.opencode/oh-my-design/web/references/composio/preview-dark.html +0 -958
  391. package/.opencode/oh-my-design/web/references/composio/preview.html +0 -933
  392. package/.opencode/oh-my-design/web/references/cookpad/DESIGN.md +0 -394
  393. package/.opencode/oh-my-design/web/references/coupang/.verification.md +0 -141
  394. package/.opencode/oh-my-design/web/references/coupang/DESIGN.md +0 -557
  395. package/.opencode/oh-my-design/web/references/cursor/.verification.md +0 -141
  396. package/.opencode/oh-my-design/web/references/cursor/DESIGN.md +0 -460
  397. package/.opencode/oh-my-design/web/references/cursor/README.md +0 -24
  398. package/.opencode/oh-my-design/web/references/cursor/preview-dark.html +0 -393
  399. package/.opencode/oh-my-design/web/references/cursor/preview.html +0 -383
  400. package/.opencode/oh-my-design/web/references/dabang/DESIGN.md +0 -267
  401. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/.live-inspect-proof.json +0 -145
  402. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/fonts.json +0 -22
  403. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/raw-capture-map.json +0 -718
  404. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/raw-capture.json +0 -1125
  405. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/structure.json +0 -53
  406. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/tokens.json +0 -130
  407. package/.opencode/oh-my-design/web/references/danawa/.verification.md +0 -60
  408. package/.opencode/oh-my-design/web/references/danawa/DESIGN.md +0 -477
  409. package/.opencode/oh-my-design/web/references/dcard/.verification.md +0 -118
  410. package/.opencode/oh-my-design/web/references/dcard/DESIGN.md +0 -633
  411. package/.opencode/oh-my-design/web/references/dcard/README.md +0 -12
  412. package/.opencode/oh-my-design/web/references/dcard/_research/forum-1440px.png +0 -0
  413. package/.opencode/oh-my-design/web/references/dcard/_research.md +0 -133
  414. package/.opencode/oh-my-design/web/references/dell/.verification.md +0 -21
  415. package/.opencode/oh-my-design/web/references/dell/DESIGN.md +0 -636
  416. package/.opencode/oh-my-design/web/references/devsisters/.verification.md +0 -32
  417. package/.opencode/oh-my-design/web/references/devsisters/DESIGN.md +0 -282
  418. package/.opencode/oh-my-design/web/references/discord/.verification.md +0 -21
  419. package/.opencode/oh-my-design/web/references/discord/DESIGN.md +0 -604
  420. package/.opencode/oh-my-design/web/references/dji/DESIGN.md +0 -454
  421. package/.opencode/oh-my-design/web/references/drnow/.verification.md +0 -41
  422. package/.opencode/oh-my-design/web/references/drnow/DESIGN.md +0 -383
  423. package/.opencode/oh-my-design/web/references/dropbox/.verification.md +0 -61
  424. package/.opencode/oh-my-design/web/references/dropbox/DESIGN.md +0 -445
  425. package/.opencode/oh-my-design/web/references/duolingo/.verification.md +0 -20
  426. package/.opencode/oh-my-design/web/references/duolingo/DESIGN.md +0 -563
  427. package/.opencode/oh-my-design/web/references/elevenlabs/.verification.md +0 -128
  428. package/.opencode/oh-my-design/web/references/elevenlabs/DESIGN.md +0 -415
  429. package/.opencode/oh-my-design/web/references/elevenlabs/README.md +0 -23
  430. package/.opencode/oh-my-design/web/references/elevenlabs/preview-dark.html +0 -252
  431. package/.opencode/oh-my-design/web/references/elevenlabs/preview.html +0 -251
  432. package/.opencode/oh-my-design/web/references/expo/.verification.md +0 -141
  433. package/.opencode/oh-my-design/web/references/expo/DESIGN.md +0 -412
  434. package/.opencode/oh-my-design/web/references/expo/README.md +0 -24
  435. package/.opencode/oh-my-design/web/references/expo/preview-dark.html +0 -533
  436. package/.opencode/oh-my-design/web/references/expo/preview.html +0 -533
  437. package/.opencode/oh-my-design/web/references/fastcampus/DESIGN.md +0 -529
  438. package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/.live-inspect-proof.json +0 -950
  439. package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/fonts.json +0 -14
  440. package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/structure.json +0 -30
  441. package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/tokens.json +0 -109
  442. package/.opencode/oh-my-design/web/references/ferrari/.verification.md +0 -119
  443. package/.opencode/oh-my-design/web/references/ferrari/DESIGN.md +0 -447
  444. package/.opencode/oh-my-design/web/references/ferrari/README.md +0 -23
  445. package/.opencode/oh-my-design/web/references/ferrari/preview-dark.html +0 -1162
  446. package/.opencode/oh-my-design/web/references/ferrari/preview.html +0 -1122
  447. package/.opencode/oh-my-design/web/references/figma/.verification.md +0 -206
  448. package/.opencode/oh-my-design/web/references/figma/DESIGN.md +0 -534
  449. package/.opencode/oh-my-design/web/references/figma/README.md +0 -24
  450. package/.opencode/oh-my-design/web/references/figma/preview-dark.html +0 -822
  451. package/.opencode/oh-my-design/web/references/figma/preview.html +0 -832
  452. package/.opencode/oh-my-design/web/references/finda/.verification.md +0 -33
  453. package/.opencode/oh-my-design/web/references/finda/DESIGN.md +0 -413
  454. package/.opencode/oh-my-design/web/references/firstory/.verification.md +0 -70
  455. package/.opencode/oh-my-design/web/references/firstory/DESIGN.md +0 -487
  456. package/.opencode/oh-my-design/web/references/flex/DESIGN.md +0 -356
  457. package/.opencode/oh-my-design/web/references/flex/_research.md +0 -49
  458. package/.opencode/oh-my-design/web/references/flex/assets/_reference/.live-inspect-proof.json +0 -192
  459. package/.opencode/oh-my-design/web/references/flex/assets/_reference/.raw-inspect.json +0 -873
  460. package/.opencode/oh-my-design/web/references/flex/assets/_reference/fonts.json +0 -17
  461. package/.opencode/oh-my-design/web/references/flex/assets/_reference/structure.json +0 -58
  462. package/.opencode/oh-my-design/web/references/flex/assets/_reference/tokens.json +0 -75
  463. package/.opencode/oh-my-design/web/references/flo/.verification.md +0 -33
  464. package/.opencode/oh-my-design/web/references/flo/DESIGN.md +0 -349
  465. package/.opencode/oh-my-design/web/references/framer/.verification.md +0 -147
  466. package/.opencode/oh-my-design/web/references/framer/DESIGN.md +0 -431
  467. package/.opencode/oh-my-design/web/references/framer/README.md +0 -23
  468. package/.opencode/oh-my-design/web/references/framer/preview-dark.html +0 -902
  469. package/.opencode/oh-my-design/web/references/framer/preview.html +0 -883
  470. package/.opencode/oh-my-design/web/references/freee/.verification.md +0 -145
  471. package/.opencode/oh-my-design/web/references/freee/DESIGN.md +0 -620
  472. package/.opencode/oh-my-design/web/references/freee/README.md +0 -12
  473. package/.opencode/oh-my-design/web/references/freee/_research/vibes-storybook-1440px.png +0 -0
  474. package/.opencode/oh-my-design/web/references/freee/_research.md +0 -116
  475. package/.opencode/oh-my-design/web/references/fugle/.verification.md +0 -40
  476. package/.opencode/oh-my-design/web/references/fugle/DESIGN.md +0 -290
  477. package/.opencode/oh-my-design/web/references/funnow/.verification.md +0 -62
  478. package/.opencode/oh-my-design/web/references/funnow/DESIGN.md +0 -431
  479. package/.opencode/oh-my-design/web/references/gangnamunni/DESIGN.md +0 -677
  480. package/.opencode/oh-my-design/web/references/gangnamunni/_promo.json +0 -26
  481. package/.opencode/oh-my-design/web/references/gangnamunni/_research.md +0 -113
  482. package/.opencode/oh-my-design/web/references/genie/.verification.md +0 -29
  483. package/.opencode/oh-my-design/web/references/genie/DESIGN.md +0 -415
  484. package/.opencode/oh-my-design/web/references/github/.verification.md +0 -21
  485. package/.opencode/oh-my-design/web/references/github/DESIGN.md +0 -727
  486. package/.opencode/oh-my-design/web/references/gmarket/DESIGN.md +0 -534
  487. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/.live-inspect-proof.json +0 -217
  488. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/fonts.json +0 -41
  489. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/raw-capture-bestsellers.json +0 -1929
  490. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/raw-capture-home.json +0 -3675
  491. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/structure.json +0 -65
  492. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/tokens.json +0 -210
  493. package/.opencode/oh-my-design/web/references/gogolook/.verification.md +0 -31
  494. package/.opencode/oh-my-design/web/references/gogolook/DESIGN.md +0 -155
  495. package/.opencode/oh-my-design/web/references/gogoro/DESIGN.md +0 -441
  496. package/.opencode/oh-my-design/web/references/google/.verification.md +0 -61
  497. package/.opencode/oh-my-design/web/references/google/DESIGN.md +0 -499
  498. package/.opencode/oh-my-design/web/references/greenvines/.verification.md +0 -72
  499. package/.opencode/oh-my-design/web/references/greenvines/DESIGN.md +0 -454
  500. package/.opencode/oh-my-design/web/references/greeting/.verification.md +0 -64
  501. package/.opencode/oh-my-design/web/references/greeting/DESIGN.md +0 -462
  502. package/.opencode/oh-my-design/web/references/grip/.verification.md +0 -36
  503. package/.opencode/oh-my-design/web/references/grip/DESIGN.md +0 -289
  504. package/.opencode/oh-my-design/web/references/hahow/.verification.md +0 -31
  505. package/.opencode/oh-my-design/web/references/hahow/DESIGN.md +0 -184
  506. package/.opencode/oh-my-design/web/references/hashicorp/.verification.md +0 -142
  507. package/.opencode/oh-my-design/web/references/hashicorp/DESIGN.md +0 -411
  508. package/.opencode/oh-my-design/web/references/hashicorp/README.md +0 -24
  509. package/.opencode/oh-my-design/web/references/hashicorp/preview-dark.html +0 -1202
  510. package/.opencode/oh-my-design/web/references/hashicorp/preview.html +0 -1193
  511. package/.opencode/oh-my-design/web/references/hogangnono/.verification.md +0 -33
  512. package/.opencode/oh-my-design/web/references/hogangnono/DESIGN.md +0 -349
  513. package/.opencode/oh-my-design/web/references/hp/.verification.md +0 -21
  514. package/.opencode/oh-my-design/web/references/hp/DESIGN.md +0 -563
  515. package/.opencode/oh-my-design/web/references/hyperconnect/.verification.md +0 -40
  516. package/.opencode/oh-my-design/web/references/hyperconnect/DESIGN.md +0 -393
  517. package/.opencode/oh-my-design/web/references/hyundaicard/.verification.md +0 -25
  518. package/.opencode/oh-my-design/web/references/hyundaicard/DESIGN.md +0 -201
  519. package/.opencode/oh-my-design/web/references/ibm/.verification.md +0 -102
  520. package/.opencode/oh-my-design/web/references/ibm/DESIGN.md +0 -464
  521. package/.opencode/oh-my-design/web/references/ibm/README.md +0 -24
  522. package/.opencode/oh-my-design/web/references/ibm/preview-dark.html +0 -443
  523. package/.opencode/oh-my-design/web/references/ibm/preview.html +0 -428
  524. package/.opencode/oh-my-design/web/references/ichef/DESIGN.md +0 -455
  525. package/.opencode/oh-my-design/web/references/ikala/.verification.md +0 -35
  526. package/.opencode/oh-my-design/web/references/ikala/DESIGN.md +0 -400
  527. package/.opencode/oh-my-design/web/references/imweb/.verification.md +0 -61
  528. package/.opencode/oh-my-design/web/references/imweb/DESIGN.md +0 -460
  529. package/.opencode/oh-my-design/web/references/inflearn/DESIGN.md +0 -453
  530. package/.opencode/oh-my-design/web/references/inflearn/_promo.json +0 -29
  531. package/.opencode/oh-my-design/web/references/inflearn/_research.md +0 -85
  532. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/.live-inspect-proof-courses.json +0 -679
  533. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/.live-inspect-proof.json +0 -448
  534. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/fonts.json +0 -41
  535. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/structure.json +0 -110
  536. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/tokens.json +0 -54
  537. package/.opencode/oh-my-design/web/references/intercom/.verification.md +0 -144
  538. package/.opencode/oh-my-design/web/references/intercom/DESIGN.md +0 -271
  539. package/.opencode/oh-my-design/web/references/intercom/README.md +0 -23
  540. package/.opencode/oh-my-design/web/references/intercom/preview-dark.html +0 -185
  541. package/.opencode/oh-my-design/web/references/intercom/preview.html +0 -184
  542. package/.opencode/oh-my-design/web/references/jandi/.verification.md +0 -26
  543. package/.opencode/oh-my-design/web/references/jandi/DESIGN.md +0 -382
  544. package/.opencode/oh-my-design/web/references/jkopay/.verification.md +0 -32
  545. package/.opencode/oh-my-design/web/references/jkopay/DESIGN.md +0 -283
  546. package/.opencode/oh-my-design/web/references/jobkorea/.verification.md +0 -30
  547. package/.opencode/oh-my-design/web/references/jobkorea/DESIGN.md +0 -349
  548. package/.opencode/oh-my-design/web/references/jumpit/DESIGN.md +0 -403
  549. package/.opencode/oh-my-design/web/references/jumpit/_research.md +0 -119
  550. package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/.live-inspect-proof.json +0 -182
  551. package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/fonts.json +0 -20
  552. package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/structure.json +0 -66
  553. package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/tokens.json +0 -108
  554. package/.opencode/oh-my-design/web/references/kakao/.verification.md +0 -137
  555. package/.opencode/oh-my-design/web/references/kakao/DESIGN.md +0 -568
  556. package/.opencode/oh-my-design/web/references/kakao/README.md +0 -18
  557. package/.opencode/oh-my-design/web/references/kakao/_research.md +0 -98
  558. package/.opencode/oh-my-design/web/references/kakaobank/.verification.md +0 -133
  559. package/.opencode/oh-my-design/web/references/kakaobank/DESIGN.md +0 -602
  560. package/.opencode/oh-my-design/web/references/kakaopay/DESIGN.md +0 -603
  561. package/.opencode/oh-my-design/web/references/kakaopay/_promo.json +0 -22
  562. package/.opencode/oh-my-design/web/references/kakaopay/_research.md +0 -84
  563. package/.opencode/oh-my-design/web/references/kakaot/DESIGN.md +0 -507
  564. package/.opencode/oh-my-design/web/references/karrot/.verification.md +0 -143
  565. package/.opencode/oh-my-design/web/references/karrot/DESIGN.md +0 -494
  566. package/.opencode/oh-my-design/web/references/karrot/README.md +0 -18
  567. package/.opencode/oh-my-design/web/references/karrot/_research.md +0 -57
  568. package/.opencode/oh-my-design/web/references/kbank/DESIGN.md +0 -252
  569. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/.live-inspect-proof.json +0 -215
  570. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/.live-inspect-raw.json +0 -1
  571. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/fonts.json +0 -20
  572. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/structure.json +0 -151
  573. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/tokens.json +0 -101
  574. package/.opencode/oh-my-design/web/references/kdan/.verification.md +0 -30
  575. package/.opencode/oh-my-design/web/references/kdan/DESIGN.md +0 -193
  576. package/.opencode/oh-my-design/web/references/kintone/.verification.md +0 -21
  577. package/.opencode/oh-my-design/web/references/kintone/DESIGN.md +0 -586
  578. package/.opencode/oh-my-design/web/references/kkbox/.verification.md +0 -27
  579. package/.opencode/oh-my-design/web/references/kkbox/DESIGN.md +0 -136
  580. package/.opencode/oh-my-design/web/references/kkday/DESIGN.md +0 -470
  581. package/.opencode/oh-my-design/web/references/kmong/.verification.md +0 -30
  582. package/.opencode/oh-my-design/web/references/kmong/DESIGN.md +0 -427
  583. package/.opencode/oh-my-design/web/references/krafton/.verification.md +0 -38
  584. package/.opencode/oh-my-design/web/references/krafton/DESIGN.md +0 -267
  585. package/.opencode/oh-my-design/web/references/kraken/.verification.md +0 -143
  586. package/.opencode/oh-my-design/web/references/kraken/DESIGN.md +0 -277
  587. package/.opencode/oh-my-design/web/references/kraken/README.md +0 -23
  588. package/.opencode/oh-my-design/web/references/kraken/preview-dark.html +0 -169
  589. package/.opencode/oh-my-design/web/references/kraken/preview.html +0 -168
  590. package/.opencode/oh-my-design/web/references/krds/.verification.md +0 -373
  591. package/.opencode/oh-my-design/web/references/krds/DESIGN.md +0 -1060
  592. package/.opencode/oh-my-design/web/references/kream/DESIGN.md +0 -432
  593. package/.opencode/oh-my-design/web/references/kream/assets/_reference/.live-inspect-proof.json +0 -289
  594. package/.opencode/oh-my-design/web/references/kream/assets/_reference/fonts.json +0 -26
  595. package/.opencode/oh-my-design/web/references/kream/assets/_reference/structure.json +0 -56
  596. package/.opencode/oh-my-design/web/references/kream/assets/_reference/tokens.json +0 -154
  597. package/.opencode/oh-my-design/web/references/kurly/.verification.md +0 -126
  598. package/.opencode/oh-my-design/web/references/kurly/DESIGN.md +0 -620
  599. package/.opencode/oh-my-design/web/references/laftel/.verification.md +0 -39
  600. package/.opencode/oh-my-design/web/references/laftel/DESIGN.md +0 -293
  601. package/.opencode/oh-my-design/web/references/lamborghini/.verification.md +0 -127
  602. package/.opencode/oh-my-design/web/references/lamborghini/DESIGN.md +0 -430
  603. package/.opencode/oh-my-design/web/references/lamborghini/README.md +0 -23
  604. package/.opencode/oh-my-design/web/references/lamborghini/preview-dark.html +0 -303
  605. package/.opencode/oh-my-design/web/references/lamborghini/preview.html +0 -381
  606. package/.opencode/oh-my-design/web/references/laundrygo/.verification.md +0 -60
  607. package/.opencode/oh-my-design/web/references/laundrygo/DESIGN.md +0 -434
  608. package/.opencode/oh-my-design/web/references/layerx/.verification.md +0 -21
  609. package/.opencode/oh-my-design/web/references/layerx/DESIGN.md +0 -615
  610. package/.opencode/oh-my-design/web/references/lezhin/.verification.md +0 -47
  611. package/.opencode/oh-my-design/web/references/lezhin/DESIGN.md +0 -348
  612. package/.opencode/oh-my-design/web/references/line/.verification.md +0 -137
  613. package/.opencode/oh-my-design/web/references/line/DESIGN.md +0 -467
  614. package/.opencode/oh-my-design/web/references/line/README.md +0 -12
  615. package/.opencode/oh-my-design/web/references/line/_research/home-1440px.png +0 -0
  616. package/.opencode/oh-my-design/web/references/line/_research.md +0 -65
  617. package/.opencode/oh-my-design/web/references/linear.app/.verification.md +0 -143
  618. package/.opencode/oh-my-design/web/references/linear.app/DESIGN.md +0 -642
  619. package/.opencode/oh-my-design/web/references/linear.app/README.md +0 -24
  620. package/.opencode/oh-my-design/web/references/linear.app/preview-dark.html +0 -383
  621. package/.opencode/oh-my-design/web/references/linear.app/preview.html +0 -373
  622. package/.opencode/oh-my-design/web/references/loom/.verification.md +0 -31
  623. package/.opencode/oh-my-design/web/references/loom/DESIGN.md +0 -396
  624. package/.opencode/oh-my-design/web/references/lovable/.verification.md +0 -154
  625. package/.opencode/oh-my-design/web/references/lovable/DESIGN.md +0 -423
  626. package/.opencode/oh-my-design/web/references/lovable/README.md +0 -24
  627. package/.opencode/oh-my-design/web/references/lovable/preview-dark.html +0 -349
  628. package/.opencode/oh-my-design/web/references/lovable/preview.html +0 -348
  629. package/.opencode/oh-my-design/web/references/lunit/DESIGN.md +0 -296
  630. package/.opencode/oh-my-design/web/references/lunit/assets/_reference/.live-inspect-proof.json +0 -249
  631. package/.opencode/oh-my-design/web/references/lunit/assets/_reference/fonts.json +0 -24
  632. package/.opencode/oh-my-design/web/references/lunit/assets/_reference/structure.json +0 -162
  633. package/.opencode/oh-my-design/web/references/lunit/assets/_reference/tokens.json +0 -115
  634. package/.opencode/oh-my-design/web/references/mastercard/.verification.md +0 -19
  635. package/.opencode/oh-my-design/web/references/mastercard/DESIGN.md +0 -587
  636. package/.opencode/oh-my-design/web/references/meituan/DESIGN.md +0 -466
  637. package/.opencode/oh-my-design/web/references/melon/.verification.md +0 -27
  638. package/.opencode/oh-my-design/web/references/melon/DESIGN.md +0 -179
  639. package/.opencode/oh-my-design/web/references/mercari/.verification.md +0 -155
  640. package/.opencode/oh-my-design/web/references/mercari/DESIGN.md +0 -514
  641. package/.opencode/oh-my-design/web/references/mercari/README.md +0 -12
  642. package/.opencode/oh-my-design/web/references/mercari/_research/home-1440px.png +0 -0
  643. package/.opencode/oh-my-design/web/references/mercari/_research.md +0 -137
  644. package/.opencode/oh-my-design/web/references/mercury/.verification.md +0 -21
  645. package/.opencode/oh-my-design/web/references/mercury/DESIGN.md +0 -589
  646. package/.opencode/oh-my-design/web/references/meta/.verification.md +0 -21
  647. package/.opencode/oh-my-design/web/references/meta/DESIGN.md +0 -615
  648. package/.opencode/oh-my-design/web/references/microsoft/.verification.md +0 -62
  649. package/.opencode/oh-my-design/web/references/microsoft/DESIGN.md +0 -508
  650. package/.opencode/oh-my-design/web/references/millie/DESIGN.md +0 -584
  651. package/.opencode/oh-my-design/web/references/minimax/.verification.md +0 -135
  652. package/.opencode/oh-my-design/web/references/minimax/DESIGN.md +0 -396
  653. package/.opencode/oh-my-design/web/references/minimax/README.md +0 -24
  654. package/.opencode/oh-my-design/web/references/minimax/preview-dark.html +0 -1262
  655. package/.opencode/oh-my-design/web/references/minimax/preview.html +0 -1248
  656. package/.opencode/oh-my-design/web/references/mintlify/.verification.md +0 -160
  657. package/.opencode/oh-my-design/web/references/mintlify/DESIGN.md +0 -472
  658. package/.opencode/oh-my-design/web/references/mintlify/README.md +0 -24
  659. package/.opencode/oh-my-design/web/references/mintlify/preview-dark.html +0 -409
  660. package/.opencode/oh-my-design/web/references/mintlify/preview.html +0 -398
  661. package/.opencode/oh-my-design/web/references/miricanvas/.verification.md +0 -61
  662. package/.opencode/oh-my-design/web/references/miricanvas/DESIGN.md +0 -464
  663. package/.opencode/oh-my-design/web/references/miro/.verification.md +0 -138
  664. package/.opencode/oh-my-design/web/references/miro/DESIGN.md +0 -319
  665. package/.opencode/oh-my-design/web/references/miro/README.md +0 -23
  666. package/.opencode/oh-my-design/web/references/miro/preview-dark.html +0 -174
  667. package/.opencode/oh-my-design/web/references/miro/preview.html +0 -173
  668. package/.opencode/oh-my-design/web/references/mistral.ai/.verification.md +0 -146
  669. package/.opencode/oh-my-design/web/references/mistral.ai/DESIGN.md +0 -390
  670. package/.opencode/oh-my-design/web/references/mistral.ai/README.md +0 -24
  671. package/.opencode/oh-my-design/web/references/mistral.ai/preview-dark.html +0 -806
  672. package/.opencode/oh-my-design/web/references/mistral.ai/preview.html +0 -805
  673. package/.opencode/oh-my-design/web/references/modusign/.verification.md +0 -58
  674. package/.opencode/oh-my-design/web/references/modusign/DESIGN.md +0 -524
  675. package/.opencode/oh-my-design/web/references/momoshop/.verification.md +0 -36
  676. package/.opencode/oh-my-design/web/references/momoshop/DESIGN.md +0 -322
  677. package/.opencode/oh-my-design/web/references/money-forward/DESIGN.md +0 -443
  678. package/.opencode/oh-my-design/web/references/mongodb/.verification.md +0 -145
  679. package/.opencode/oh-my-design/web/references/mongodb/DESIGN.md +0 -401
  680. package/.opencode/oh-my-design/web/references/mongodb/README.md +0 -23
  681. package/.opencode/oh-my-design/web/references/mongodb/preview-dark.html +0 -260
  682. package/.opencode/oh-my-design/web/references/mongodb/preview.html +0 -259
  683. package/.opencode/oh-my-design/web/references/muji/.verification.md +0 -20
  684. package/.opencode/oh-my-design/web/references/muji/DESIGN.md +0 -605
  685. package/.opencode/oh-my-design/web/references/musinsa/.verification.md +0 -59
  686. package/.opencode/oh-my-design/web/references/musinsa/DESIGN.md +0 -593
  687. package/.opencode/oh-my-design/web/references/mustit/.verification.md +0 -37
  688. package/.opencode/oh-my-design/web/references/mustit/DESIGN.md +0 -328
  689. package/.opencode/oh-my-design/web/references/myrealtrip/DESIGN.md +0 -494
  690. package/.opencode/oh-my-design/web/references/naver/.verification.md +0 -134
  691. package/.opencode/oh-my-design/web/references/naver/DESIGN.md +0 -582
  692. package/.opencode/oh-my-design/web/references/naverwebtoon/DESIGN.md +0 -477
  693. package/.opencode/oh-my-design/web/references/netflix/.verification.md +0 -21
  694. package/.opencode/oh-my-design/web/references/netflix/DESIGN.md +0 -572
  695. package/.opencode/oh-my-design/web/references/nexon/.verification.md +0 -27
  696. package/.opencode/oh-my-design/web/references/nexon/DESIGN.md +0 -389
  697. package/.opencode/oh-my-design/web/references/nhncloud/.verification.md +0 -23
  698. package/.opencode/oh-my-design/web/references/nhncloud/DESIGN.md +0 -207
  699. package/.opencode/oh-my-design/web/references/nike/.verification.md +0 -21
  700. package/.opencode/oh-my-design/web/references/nike/DESIGN.md +0 -588
  701. package/.opencode/oh-my-design/web/references/note/DESIGN.md +0 -346
  702. package/.opencode/oh-my-design/web/references/notion/.verification.md +0 -141
  703. package/.opencode/oh-my-design/web/references/notion/DESIGN.md +0 -557
  704. package/.opencode/oh-my-design/web/references/notion/README.md +0 -24
  705. package/.opencode/oh-my-design/web/references/notion/preview-dark.html +0 -372
  706. package/.opencode/oh-my-design/web/references/notion/preview.html +0 -364
  707. package/.opencode/oh-my-design/web/references/nvidia/.verification.md +0 -127
  708. package/.opencode/oh-my-design/web/references/nvidia/DESIGN.md +0 -550
  709. package/.opencode/oh-my-design/web/references/nvidia/README.md +0 -24
  710. package/.opencode/oh-my-design/web/references/nvidia/_research.md +0 -68
  711. package/.opencode/oh-my-design/web/references/nvidia/preview-dark.html +0 -374
  712. package/.opencode/oh-my-design/web/references/nvidia/preview.html +0 -366
  713. package/.opencode/oh-my-design/web/references/ohouse/.verification.md +0 -87
  714. package/.opencode/oh-my-design/web/references/ohouse/DESIGN.md +0 -635
  715. package/.opencode/oh-my-design/web/references/oliveyoung/DESIGN.md +0 -407
  716. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/.live-inspect-proof.json +0 -158
  717. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_best_capture.json +0 -644
  718. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_detail_capture.json +0 -447
  719. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_main.html +0 -419
  720. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_main_capture.json +0 -1126
  721. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_search_capture.json +0 -912
  722. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/fonts.json +0 -20
  723. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/structure.json +0 -91
  724. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/tokens.json +0 -79
  725. package/.opencode/oh-my-design/web/references/ollama/.verification.md +0 -138
  726. package/.opencode/oh-my-design/web/references/ollama/DESIGN.md +0 -393
  727. package/.opencode/oh-my-design/web/references/ollama/README.md +0 -24
  728. package/.opencode/oh-my-design/web/references/ollama/preview-dark.html +0 -678
  729. package/.opencode/oh-my-design/web/references/ollama/preview.html +0 -678
  730. package/.opencode/oh-my-design/web/references/omnichat/.verification.md +0 -74
  731. package/.opencode/oh-my-design/web/references/omnichat/DESIGN.md +0 -499
  732. package/.opencode/oh-my-design/web/references/openai/.verification.md +0 -21
  733. package/.opencode/oh-my-design/web/references/openai/DESIGN.md +0 -641
  734. package/.opencode/oh-my-design/web/references/opencode.ai/.verification.md +0 -136
  735. package/.opencode/oh-my-design/web/references/opencode.ai/DESIGN.md +0 -425
  736. package/.opencode/oh-my-design/web/references/opencode.ai/README.md +0 -24
  737. package/.opencode/oh-my-design/web/references/opencode.ai/preview-dark.html +0 -366
  738. package/.opencode/oh-my-design/web/references/opencode.ai/preview.html +0 -357
  739. package/.opencode/oh-my-design/web/references/payco/.verification.md +0 -28
  740. package/.opencode/oh-my-design/web/references/payco/DESIGN.md +0 -267
  741. package/.opencode/oh-my-design/web/references/paypay/.verification.md +0 -21
  742. package/.opencode/oh-my-design/web/references/paypay/DESIGN.md +0 -656
  743. package/.opencode/oh-my-design/web/references/pchome/.verification.md +0 -38
  744. package/.opencode/oh-my-design/web/references/pchome/DESIGN.md +0 -439
  745. package/.opencode/oh-my-design/web/references/perplexity/.verification.md +0 -21
  746. package/.opencode/oh-my-design/web/references/perplexity/DESIGN.md +0 -546
  747. package/.opencode/oh-my-design/web/references/piccollage/.verification.md +0 -34
  748. package/.opencode/oh-my-design/web/references/piccollage/DESIGN.md +0 -320
  749. package/.opencode/oh-my-design/web/references/pinkoi/.verification.md +0 -147
  750. package/.opencode/oh-my-design/web/references/pinkoi/DESIGN.md +0 -639
  751. package/.opencode/oh-my-design/web/references/pinkoi/README.md +0 -12
  752. package/.opencode/oh-my-design/web/references/pinkoi/_research/browse-1440px.png +0 -0
  753. package/.opencode/oh-my-design/web/references/pinkoi/_research.md +0 -167
  754. package/.opencode/oh-my-design/web/references/pinterest/.verification.md +0 -141
  755. package/.opencode/oh-my-design/web/references/pinterest/DESIGN.md +0 -366
  756. package/.opencode/oh-my-design/web/references/pinterest/README.md +0 -23
  757. package/.opencode/oh-my-design/web/references/pinterest/preview-dark.html +0 -233
  758. package/.opencode/oh-my-design/web/references/pinterest/preview.html +0 -232
  759. package/.opencode/oh-my-design/web/references/pixiv/.verification.md +0 -20
  760. package/.opencode/oh-my-design/web/references/pixiv/DESIGN.md +0 -613
  761. package/.opencode/oh-my-design/web/references/pixnet/.verification.md +0 -31
  762. package/.opencode/oh-my-design/web/references/pixnet/DESIGN.md +0 -430
  763. package/.opencode/oh-my-design/web/references/posthog/.verification.md +0 -159
  764. package/.opencode/oh-my-design/web/references/posthog/DESIGN.md +0 -480
  765. package/.opencode/oh-my-design/web/references/posthog/README.md +0 -23
  766. package/.opencode/oh-my-design/web/references/posthog/preview-dark.html +0 -699
  767. package/.opencode/oh-my-design/web/references/posthog/preview.html +0 -749
  768. package/.opencode/oh-my-design/web/references/postype/.verification.md +0 -61
  769. package/.opencode/oh-my-design/web/references/postype/DESIGN.md +0 -431
  770. package/.opencode/oh-my-design/web/references/publy/DESIGN.md +0 -563
  771. package/.opencode/oh-my-design/web/references/qanda/.verification.md +0 -121
  772. package/.opencode/oh-my-design/web/references/qanda/DESIGN.md +0 -516
  773. package/.opencode/oh-my-design/web/references/ragic/.verification.md +0 -37
  774. package/.opencode/oh-my-design/web/references/ragic/DESIGN.md +0 -444
  775. package/.opencode/oh-my-design/web/references/rakuten/.verification.md +0 -60
  776. package/.opencode/oh-my-design/web/references/rakuten/DESIGN.md +0 -440
  777. package/.opencode/oh-my-design/web/references/ramp/.verification.md +0 -21
  778. package/.opencode/oh-my-design/web/references/ramp/DESIGN.md +0 -634
  779. package/.opencode/oh-my-design/web/references/rayark/.verification.md +0 -22
  780. package/.opencode/oh-my-design/web/references/rayark/DESIGN.md +0 -154
  781. package/.opencode/oh-my-design/web/references/raycast/.verification.md +0 -138
  782. package/.opencode/oh-my-design/web/references/raycast/DESIGN.md +0 -467
  783. package/.opencode/oh-my-design/web/references/raycast/README.md +0 -23
  784. package/.opencode/oh-my-design/web/references/raycast/preview-dark.html +0 -606
  785. package/.opencode/oh-my-design/web/references/raycast/preview.html +0 -688
  786. package/.opencode/oh-my-design/web/references/remember/.verification.md +0 -135
  787. package/.opencode/oh-my-design/web/references/remember/DESIGN.md +0 -504
  788. package/.opencode/oh-my-design/web/references/remember/_promo.json +0 -27
  789. package/.opencode/oh-my-design/web/references/remember/_research.md +0 -90
  790. package/.opencode/oh-my-design/web/references/renault/.verification.md +0 -139
  791. package/.opencode/oh-my-design/web/references/renault/DESIGN.md +0 -439
  792. package/.opencode/oh-my-design/web/references/renault/README.md +0 -23
  793. package/.opencode/oh-my-design/web/references/renault/preview-dark.html +0 -406
  794. package/.opencode/oh-my-design/web/references/renault/preview.html +0 -606
  795. package/.opencode/oh-my-design/web/references/replicate/.verification.md +0 -154
  796. package/.opencode/oh-my-design/web/references/replicate/DESIGN.md +0 -387
  797. package/.opencode/oh-my-design/web/references/replicate/README.md +0 -24
  798. package/.opencode/oh-my-design/web/references/replicate/preview-dark.html +0 -828
  799. package/.opencode/oh-my-design/web/references/replicate/preview.html +0 -831
  800. package/.opencode/oh-my-design/web/references/resend/.verification.md +0 -143
  801. package/.opencode/oh-my-design/web/references/resend/DESIGN.md +0 -440
  802. package/.opencode/oh-my-design/web/references/resend/README.md +0 -23
  803. package/.opencode/oh-my-design/web/references/resend/preview-dark.html +0 -355
  804. package/.opencode/oh-my-design/web/references/resend/preview.html +0 -354
  805. package/.opencode/oh-my-design/web/references/retool/.verification.md +0 -21
  806. package/.opencode/oh-my-design/web/references/retool/DESIGN.md +0 -645
  807. package/.opencode/oh-my-design/web/references/revolut/.verification.md +0 -140
  808. package/.opencode/oh-my-design/web/references/revolut/DESIGN.md +0 -319
  809. package/.opencode/oh-my-design/web/references/revolut/README.md +0 -23
  810. package/.opencode/oh-my-design/web/references/revolut/preview-dark.html +0 -234
  811. package/.opencode/oh-my-design/web/references/revolut/preview.html +0 -233
  812. package/.opencode/oh-my-design/web/references/richart/.verification.md +0 -41
  813. package/.opencode/oh-my-design/web/references/richart/DESIGN.md +0 -465
  814. package/.opencode/oh-my-design/web/references/ridi/.verification.md +0 -108
  815. package/.opencode/oh-my-design/web/references/ridi/DESIGN.md +0 -573
  816. package/.opencode/oh-my-design/web/references/riiid/.verification.md +0 -33
  817. package/.opencode/oh-my-design/web/references/riiid/DESIGN.md +0 -260
  818. package/.opencode/oh-my-design/web/references/ringle/.verification.md +0 -53
  819. package/.opencode/oh-my-design/web/references/ringle/DESIGN.md +0 -444
  820. package/.opencode/oh-my-design/web/references/robinhood/.verification.md +0 -21
  821. package/.opencode/oh-my-design/web/references/robinhood/DESIGN.md +0 -604
  822. package/.opencode/oh-my-design/web/references/runwayml/.verification.md +0 -141
  823. package/.opencode/oh-my-design/web/references/runwayml/DESIGN.md +0 -431
  824. package/.opencode/oh-my-design/web/references/runwayml/README.md +0 -24
  825. package/.opencode/oh-my-design/web/references/runwayml/preview-dark.html +0 -664
  826. package/.opencode/oh-my-design/web/references/runwayml/preview.html +0 -665
  827. package/.opencode/oh-my-design/web/references/salesforce/.verification.md +0 -66
  828. package/.opencode/oh-my-design/web/references/salesforce/DESIGN.md +0 -473
  829. package/.opencode/oh-my-design/web/references/sanity/.verification.md +0 -174
  830. package/.opencode/oh-my-design/web/references/sanity/DESIGN.md +0 -499
  831. package/.opencode/oh-my-design/web/references/sanity/README.md +0 -24
  832. package/.opencode/oh-my-design/web/references/sanity/preview-dark.html +0 -990
  833. package/.opencode/oh-my-design/web/references/sanity/preview.html +0 -1135
  834. package/.opencode/oh-my-design/web/references/sansan/.verification.md +0 -21
  835. package/.opencode/oh-my-design/web/references/sansan/DESIGN.md +0 -631
  836. package/.opencode/oh-my-design/web/references/sendbird/.verification.md +0 -67
  837. package/.opencode/oh-my-design/web/references/sendbird/DESIGN.md +0 -331
  838. package/.opencode/oh-my-design/web/references/sentry/.verification.md +0 -157
  839. package/.opencode/oh-my-design/web/references/sentry/DESIGN.md +0 -397
  840. package/.opencode/oh-my-design/web/references/sentry/README.md +0 -24
  841. package/.opencode/oh-my-design/web/references/sentry/preview-dark.html +0 -626
  842. package/.opencode/oh-my-design/web/references/sentry/preview.html +0 -951
  843. package/.opencode/oh-my-design/web/references/shinhancard/.verification.md +0 -31
  844. package/.opencode/oh-my-design/web/references/shinhancard/DESIGN.md +0 -421
  845. package/.opencode/oh-my-design/web/references/shopline/.verification.md +0 -34
  846. package/.opencode/oh-my-design/web/references/shopline/DESIGN.md +0 -431
  847. package/.opencode/oh-my-design/web/references/slack/.verification.md +0 -21
  848. package/.opencode/oh-my-design/web/references/slack/DESIGN.md +0 -635
  849. package/.opencode/oh-my-design/web/references/smarthr/DESIGN.md +0 -452
  850. package/.opencode/oh-my-design/web/references/smartnews/DESIGN.md +0 -360
  851. package/.opencode/oh-my-design/web/references/socar/DESIGN.md +0 -438
  852. package/.opencode/oh-my-design/web/references/socar/_promo.json +0 -28
  853. package/.opencode/oh-my-design/web/references/socar/_research.md +0 -55
  854. package/.opencode/oh-my-design/web/references/soomgo/.verification.md +0 -27
  855. package/.opencode/oh-my-design/web/references/soomgo/DESIGN.md +0 -326
  856. package/.opencode/oh-my-design/web/references/spacex/.verification.md +0 -132
  857. package/.opencode/oh-my-design/web/references/spacex/DESIGN.md +0 -415
  858. package/.opencode/oh-my-design/web/references/spacex/README.md +0 -23
  859. package/.opencode/oh-my-design/web/references/spacex/_research.md +0 -69
  860. package/.opencode/oh-my-design/web/references/spacex/preview-dark.html +0 -221
  861. package/.opencode/oh-my-design/web/references/spacex/preview.html +0 -220
  862. package/.opencode/oh-my-design/web/references/spoon/DESIGN.md +0 -492
  863. package/.opencode/oh-my-design/web/references/spotify/.verification.md +0 -128
  864. package/.opencode/oh-my-design/web/references/spotify/DESIGN.md +0 -489
  865. package/.opencode/oh-my-design/web/references/spotify/README.md +0 -23
  866. package/.opencode/oh-my-design/web/references/spotify/preview-dark.html +0 -231
  867. package/.opencode/oh-my-design/web/references/spotify/preview.html +0 -230
  868. package/.opencode/oh-my-design/web/references/starbucks/.verification.md +0 -21
  869. package/.opencode/oh-my-design/web/references/starbucks/DESIGN.md +0 -597
  870. package/.opencode/oh-my-design/web/references/stores/.verification.md +0 -61
  871. package/.opencode/oh-my-design/web/references/stores/DESIGN.md +0 -447
  872. package/.opencode/oh-my-design/web/references/stripe/.verification.md +0 -140
  873. package/.opencode/oh-my-design/web/references/stripe/DESIGN.md +0 -571
  874. package/.opencode/oh-my-design/web/references/stripe/README.md +0 -24
  875. package/.opencode/oh-my-design/web/references/stripe/preview-dark.html +0 -428
  876. package/.opencode/oh-my-design/web/references/stripe/preview.html +0 -419
  877. package/.opencode/oh-my-design/web/references/studio/.verification.md +0 -21
  878. package/.opencode/oh-my-design/web/references/studio/DESIGN.md +0 -602
  879. package/.opencode/oh-my-design/web/references/supabase/.verification.md +0 -145
  880. package/.opencode/oh-my-design/web/references/supabase/DESIGN.md +0 -389
  881. package/.opencode/oh-my-design/web/references/supabase/README.md +0 -24
  882. package/.opencode/oh-my-design/web/references/supabase/preview-dark.html +0 -977
  883. package/.opencode/oh-my-design/web/references/supabase/preview.html +0 -955
  884. package/.opencode/oh-my-design/web/references/superhuman/.verification.md +0 -184
  885. package/.opencode/oh-my-design/web/references/superhuman/DESIGN.md +0 -453
  886. package/.opencode/oh-my-design/web/references/superhuman/README.md +0 -23
  887. package/.opencode/oh-my-design/web/references/superhuman/preview-dark.html +0 -973
  888. package/.opencode/oh-my-design/web/references/superhuman/preview.html +0 -951
  889. package/.opencode/oh-my-design/web/references/surveycake/.verification.md +0 -31
  890. package/.opencode/oh-my-design/web/references/surveycake/DESIGN.md +0 -442
  891. package/.opencode/oh-my-design/web/references/tada/DESIGN.md +0 -579
  892. package/.opencode/oh-my-design/web/references/teamblind/.verification.md +0 -76
  893. package/.opencode/oh-my-design/web/references/teamblind/DESIGN.md +0 -497
  894. package/.opencode/oh-my-design/web/references/tesla/.verification.md +0 -149
  895. package/.opencode/oh-my-design/web/references/tesla/DESIGN.md +0 -501
  896. package/.opencode/oh-my-design/web/references/tesla/README.md +0 -23
  897. package/.opencode/oh-my-design/web/references/tesla/_research.md +0 -70
  898. package/.opencode/oh-my-design/web/references/tesla/preview-dark.html +0 -947
  899. package/.opencode/oh-my-design/web/references/tesla/preview.html +0 -925
  900. package/.opencode/oh-my-design/web/references/theverge/.verification.md +0 -21
  901. package/.opencode/oh-my-design/web/references/theverge/DESIGN.md +0 -500
  902. package/.opencode/oh-my-design/web/references/timee/.verification.md +0 -67
  903. package/.opencode/oh-my-design/web/references/timee/DESIGN.md +0 -444
  904. package/.opencode/oh-my-design/web/references/together.ai/.verification.md +0 -145
  905. package/.opencode/oh-my-design/web/references/together.ai/DESIGN.md +0 -389
  906. package/.opencode/oh-my-design/web/references/together.ai/README.md +0 -24
  907. package/.opencode/oh-my-design/web/references/together.ai/preview-dark.html +0 -892
  908. package/.opencode/oh-my-design/web/references/together.ai/preview.html +0 -897
  909. package/.opencode/oh-my-design/web/references/toss/.verification.md +0 -120
  910. package/.opencode/oh-my-design/web/references/toss/DESIGN.md +0 -698
  911. package/.opencode/oh-my-design/web/references/toss/README.md +0 -19
  912. package/.opencode/oh-my-design/web/references/toss-securities/DESIGN.md +0 -247
  913. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-proof.json +0 -126
  914. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-raw.json +0 -619
  915. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-stock.json +0 -525
  916. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/fonts.json +0 -24
  917. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/structure.json +0 -35
  918. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/tokens.json +0 -87
  919. package/.opencode/oh-my-design/web/references/tossbank/DESIGN.md +0 -576
  920. package/.opencode/oh-my-design/web/references/trenbe/.verification.md +0 -32
  921. package/.opencode/oh-my-design/web/references/trenbe/DESIGN.md +0 -293
  922. package/.opencode/oh-my-design/web/references/triple/DESIGN.md +0 -481
  923. package/.opencode/oh-my-design/web/references/tumblbug/DESIGN.md +0 -578
  924. package/.opencode/oh-my-design/web/references/tving/DESIGN.md +0 -317
  925. package/.opencode/oh-my-design/web/references/tving/assets/_reference/.live-inspect-proof.json +0 -131
  926. package/.opencode/oh-my-design/web/references/tving/assets/_reference/LICENSE-NOTE.md +0 -37
  927. package/.opencode/oh-my-design/web/references/tving/assets/_reference/attribution.md +0 -52
  928. package/.opencode/oh-my-design/web/references/tving/assets/_reference/fonts.json +0 -31
  929. package/.opencode/oh-my-design/web/references/tving/assets/_reference/screenshots/hero-desktop.png +0 -0
  930. package/.opencode/oh-my-design/web/references/tving/assets/_reference/structure.json +0 -55
  931. package/.opencode/oh-my-design/web/references/tving/assets/_reference/tokens.json +0 -115
  932. package/.opencode/oh-my-design/web/references/uber/.verification.md +0 -128
  933. package/.opencode/oh-my-design/web/references/uber/DESIGN.md +0 -423
  934. package/.opencode/oh-my-design/web/references/uber/README.md +0 -24
  935. package/.opencode/oh-my-design/web/references/uber/preview-dark.html +0 -1120
  936. package/.opencode/oh-my-design/web/references/uber/preview.html +0 -1119
  937. package/.opencode/oh-my-design/web/references/ubie/.verification.md +0 -21
  938. package/.opencode/oh-my-design/web/references/ubie/DESIGN.md +0 -615
  939. package/.opencode/oh-my-design/web/references/uniqlo/.verification.md +0 -21
  940. package/.opencode/oh-my-design/web/references/uniqlo/DESIGN.md +0 -575
  941. package/.opencode/oh-my-design/web/references/upbit/DESIGN.md +0 -337
  942. package/.opencode/oh-my-design/web/references/upbit/_research.md +0 -83
  943. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/.live-inspect-proof.json +0 -263
  944. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/fonts.json +0 -18
  945. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/raw-capture-exchange.json +0 -1901
  946. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/raw-capture.json +0 -1121
  947. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/structure.json +0 -52
  948. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/tokens.json +0 -169
  949. package/.opencode/oh-my-design/web/references/upstage/DESIGN.md +0 -270
  950. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/.live-inspect-proof.json +0 -157
  951. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_brand-resource-center.json +0 -44
  952. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_curated-samples.json +0 -310
  953. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_raw-capture.json +0 -1560
  954. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_root-vars.json +0 -76
  955. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_structure-raw.json +0 -298
  956. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/fonts.json +0 -35
  957. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/structure.json +0 -72
  958. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/tokens.json +0 -183
  959. package/.opencode/oh-my-design/web/references/velog/.verification.md +0 -26
  960. package/.opencode/oh-my-design/web/references/velog/DESIGN.md +0 -196
  961. package/.opencode/oh-my-design/web/references/vercel/.verification.md +0 -134
  962. package/.opencode/oh-my-design/web/references/vercel/DESIGN.md +0 -523
  963. package/.opencode/oh-my-design/web/references/vercel/README.md +0 -24
  964. package/.opencode/oh-my-design/web/references/vercel/preview-dark.html +0 -368
  965. package/.opencode/oh-my-design/web/references/vercel/preview.html +0 -367
  966. package/.opencode/oh-my-design/web/references/voicetube/.verification.md +0 -34
  967. package/.opencode/oh-my-design/web/references/voicetube/DESIGN.md +0 -266
  968. package/.opencode/oh-my-design/web/references/voltagent/.verification.md +0 -159
  969. package/.opencode/oh-my-design/web/references/voltagent/DESIGN.md +0 -454
  970. package/.opencode/oh-my-design/web/references/voltagent/README.md +0 -24
  971. package/.opencode/oh-my-design/web/references/voltagent/preview-dark.html +0 -487
  972. package/.opencode/oh-my-design/web/references/voltagent/preview.html +0 -766
  973. package/.opencode/oh-my-design/web/references/wadiz/DESIGN.md +0 -415
  974. package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/.live-inspect-proof.json +0 -137
  975. package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/fonts.json +0 -17
  976. package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/structure.json +0 -35
  977. package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/tokens.json +0 -80
  978. package/.opencode/oh-my-design/web/references/wanted/DESIGN.md +0 -575
  979. package/.opencode/oh-my-design/web/references/wanted/_promo.json +0 -31
  980. package/.opencode/oh-my-design/web/references/wanted/_research.md +0 -119
  981. package/.opencode/oh-my-design/web/references/wantedly/.verification.md +0 -53
  982. package/.opencode/oh-my-design/web/references/wantedly/DESIGN.md +0 -437
  983. package/.opencode/oh-my-design/web/references/warp/.verification.md +0 -156
  984. package/.opencode/oh-my-design/web/references/warp/DESIGN.md +0 -431
  985. package/.opencode/oh-my-design/web/references/warp/README.md +0 -23
  986. package/.opencode/oh-my-design/web/references/warp/preview-dark.html +0 -500
  987. package/.opencode/oh-my-design/web/references/warp/preview.html +0 -533
  988. package/.opencode/oh-my-design/web/references/watcha/DESIGN.md +0 -465
  989. package/.opencode/oh-my-design/web/references/wavve/DESIGN.md +0 -480
  990. package/.opencode/oh-my-design/web/references/wconcept/DESIGN.md +0 -556
  991. package/.opencode/oh-my-design/web/references/webflow/.verification.md +0 -151
  992. package/.opencode/oh-my-design/web/references/webflow/DESIGN.md +0 -330
  993. package/.opencode/oh-my-design/web/references/webflow/README.md +0 -23
  994. package/.opencode/oh-my-design/web/references/webflow/preview-dark.html +0 -147
  995. package/.opencode/oh-my-design/web/references/webflow/preview.html +0 -146
  996. package/.opencode/oh-my-design/web/references/wired/.verification.md +0 -21
  997. package/.opencode/oh-my-design/web/references/wired/DESIGN.md +0 -572
  998. package/.opencode/oh-my-design/web/references/wise/.verification.md +0 -141
  999. package/.opencode/oh-my-design/web/references/wise/DESIGN.md +0 -317
  1000. package/.opencode/oh-my-design/web/references/wise/README.md +0 -23
  1001. package/.opencode/oh-my-design/web/references/wise/preview-dark.html +0 -230
  1002. package/.opencode/oh-my-design/web/references/wise/preview.html +0 -229
  1003. package/.opencode/oh-my-design/web/references/x.ai/.verification.md +0 -140
  1004. package/.opencode/oh-my-design/web/references/x.ai/DESIGN.md +0 -397
  1005. package/.opencode/oh-my-design/web/references/x.ai/README.md +0 -24
  1006. package/.opencode/oh-my-design/web/references/x.ai/preview-dark.html +0 -356
  1007. package/.opencode/oh-my-design/web/references/x.ai/preview.html +0 -407
  1008. package/.opencode/oh-my-design/web/references/xiaohongshu/DESIGN.md +0 -462
  1009. package/.opencode/oh-my-design/web/references/yanolja/.verification.md +0 -83
  1010. package/.opencode/oh-my-design/web/references/yanolja/DESIGN.md +0 -508
  1011. package/.opencode/oh-my-design/web/references/yeogiotte/.verification.md +0 -210
  1012. package/.opencode/oh-my-design/web/references/yeogiotte/DESIGN.md +0 -500
  1013. package/.opencode/oh-my-design/web/references/yogiyo/DESIGN.md +0 -515
  1014. package/.opencode/oh-my-design/web/references/yourator/.verification.md +0 -39
  1015. package/.opencode/oh-my-design/web/references/yourator/DESIGN.md +0 -453
  1016. package/.opencode/oh-my-design/web/references/zapier/.verification.md +0 -156
  1017. package/.opencode/oh-my-design/web/references/zapier/DESIGN.md +0 -474
  1018. package/.opencode/oh-my-design/web/references/zapier/README.md +0 -24
  1019. package/.opencode/oh-my-design/web/references/zapier/preview-dark.html +0 -380
  1020. package/.opencode/oh-my-design/web/references/zapier/preview.html +0 -372
  1021. package/.opencode/oh-my-design/web/references/zigbang/DESIGN.md +0 -500
  1022. package/.opencode/oh-my-design/web/references/zigbang/_promo.json +0 -16
  1023. package/.opencode/oh-my-design/web/references/zigbang/_research.md +0 -101
  1024. package/.opencode/oh-my-design/web/references/zigzag/DESIGN.md +0 -695
  1025. package/.opencode/oh-my-design/web/references/zigzag/_promo.json +0 -23
  1026. package/.opencode/oh-my-design/web/references/zigzag/_research.md +0 -64
  1027. package/.opencode/oh-my-design/web/references/zozotown/.verification.md +0 -20
  1028. package/.opencode/oh-my-design/web/references/zozotown/DESIGN.md +0 -578
  1029. package/.opencode/oh-my-design/web/scripts/build-registry.mjs +0 -257
  1030. package/.opencode/oh-my-design/web/scripts/extract-tokens.mjs +0 -117
  1031. package/.opencode/oh-my-design/web/scripts/fetch-og-images.mjs +0 -112
  1032. package/.opencode/oh-my-design/web/scripts/gen-favicon.mjs +0 -58
  1033. package/.opencode/oh-my-design/web/scripts/gen-og.mjs +0 -67
  1034. package/.opencode/oh-my-design/web/scripts/migrate-frontmatters.mjs +0 -637
  1035. package/.opencode/oh-my-design/web/scripts/sync-catalog.mjs +0 -140
  1036. package/.opencode/oh-my-design/web/scripts/token-sheet.mjs +0 -72
  1037. package/.opencode/oh-my-design/web/scripts/token-status.mjs +0 -94
  1038. package/.opencode/oh-my-design/web/scripts/verify-reference.mjs +0 -185
  1039. package/.opencode/oh-my-design/web/src/app/alternatives/[slug]/page.tsx +0 -399
  1040. package/.opencode/oh-my-design/web/src/app/api/font-playground/match/route.ts +0 -205
  1041. package/.opencode/oh-my-design/web/src/app/api/leaderboard/route.ts +0 -32
  1042. package/.opencode/oh-my-design/web/src/app/api/og/playground/route.tsx +0 -179
  1043. package/.opencode/oh-my-design/web/src/app/api/references/[id]/route.ts +0 -162
  1044. package/.opencode/oh-my-design/web/src/app/api/references/route.ts +0 -142
  1045. package/.opencode/oh-my-design/web/src/app/api/track/route.ts +0 -30
  1046. package/.opencode/oh-my-design/web/src/app/apple-icon.png +0 -0
  1047. package/.opencode/oh-my-design/web/src/app/builder/layout.tsx +0 -43
  1048. package/.opencode/oh-my-design/web/src/app/builder/page.tsx +0 -434
  1049. package/.opencode/oh-my-design/web/src/app/changelog/[version]/page.tsx +0 -160
  1050. package/.opencode/oh-my-design/web/src/app/changelog/page.tsx +0 -142
  1051. package/.opencode/oh-my-design/web/src/app/collections/[slug]/collection-grid.tsx +0 -27
  1052. package/.opencode/oh-my-design/web/src/app/collections/[slug]/page.tsx +0 -171
  1053. package/.opencode/oh-my-design/web/src/app/curation/layout.tsx +0 -43
  1054. package/.opencode/oh-my-design/web/src/app/curation/page.tsx +0 -78
  1055. package/.opencode/oh-my-design/web/src/app/design-systems/[id]/detail-view.tsx +0 -307
  1056. package/.opencode/oh-my-design/web/src/app/design-systems/[id]/page.tsx +0 -184
  1057. package/.opencode/oh-my-design/web/src/app/design-systems/layout.tsx +0 -24
  1058. package/.opencode/oh-my-design/web/src/app/design-systems/page.tsx +0 -95
  1059. package/.opencode/oh-my-design/web/src/app/docs/layout.tsx +0 -22
  1060. package/.opencode/oh-my-design/web/src/app/docs/page.tsx +0 -1453
  1061. package/.opencode/oh-my-design/web/src/app/faq/page.tsx +0 -324
  1062. package/.opencode/oh-my-design/web/src/app/font-playground/font-playground-view.tsx +0 -424
  1063. package/.opencode/oh-my-design/web/src/app/font-playground/page.tsx +0 -43
  1064. package/.opencode/oh-my-design/web/src/app/globals.css +0 -328
  1065. package/.opencode/oh-my-design/web/src/app/icon.png +0 -0
  1066. package/.opencode/oh-my-design/web/src/app/layout.tsx +0 -229
  1067. package/.opencode/oh-my-design/web/src/app/page.tsx +0 -50
  1068. package/.opencode/oh-my-design/web/src/app/playground/page.tsx +0 -81
  1069. package/.opencode/oh-my-design/web/src/app/playground/playground-view.tsx +0 -436
  1070. package/.opencode/oh-my-design/web/src/app/qa-references/page.tsx +0 -233
  1071. package/.opencode/oh-my-design/web/src/app/r/[id]/route.ts +0 -57
  1072. package/.opencode/oh-my-design/web/src/app/reference/[id]/page.tsx +0 -152
  1073. package/.opencode/oh-my-design/web/src/app/result/[typeCode]/layout.tsx +0 -70
  1074. package/.opencode/oh-my-design/web/src/app/result/[typeCode]/page.tsx +0 -280
  1075. package/.opencode/oh-my-design/web/src/app/robots.ts +0 -44
  1076. package/.opencode/oh-my-design/web/src/app/sitemap.ts +0 -156
  1077. package/.opencode/oh-my-design/web/src/app/what-is-design-md/page.tsx +0 -308
  1078. package/.opencode/oh-my-design/web/src/components/ab-picker.tsx +0 -74
  1079. package/.opencode/oh-my-design/web/src/components/analytics-init.tsx +0 -21
  1080. package/.opencode/oh-my-design/web/src/components/brand-logo.tsx +0 -101
  1081. package/.opencode/oh-my-design/web/src/components/browse-modal.tsx +0 -149
  1082. package/.opencode/oh-my-design/web/src/components/component-modal.tsx +0 -108
  1083. package/.opencode/oh-my-design/web/src/components/content-preview-modal.tsx +0 -213
  1084. package/.opencode/oh-my-design/web/src/components/customizer.tsx +0 -641
  1085. package/.opencode/oh-my-design/web/src/components/design-wizard.tsx +0 -691
  1086. package/.opencode/oh-my-design/web/src/components/ds-card.tsx +0 -162
  1087. package/.opencode/oh-my-design/web/src/components/export-panel.tsx +0 -162
  1088. package/.opencode/oh-my-design/web/src/components/font-card.tsx +0 -121
  1089. package/.opencode/oh-my-design/web/src/components/font-playground/color-palette.tsx +0 -86
  1090. package/.opencode/oh-my-design/web/src/components/font-playground/detail-modal.tsx +0 -789
  1091. package/.opencode/oh-my-design/web/src/components/font-playground/filter-bar.tsx +0 -192
  1092. package/.opencode/oh-my-design/web/src/components/font-playground/font-tile.tsx +0 -92
  1093. package/.opencode/oh-my-design/web/src/components/font-playground/gallery.tsx +0 -42
  1094. package/.opencode/oh-my-design/web/src/components/font-playground/hero-entry.tsx +0 -150
  1095. package/.opencode/oh-my-design/web/src/components/font-playground/labels.ts +0 -18
  1096. package/.opencode/oh-my-design/web/src/components/font-playground/match-results.tsx +0 -486
  1097. package/.opencode/oh-my-design/web/src/components/font-playground/my-fonts.tsx +0 -315
  1098. package/.opencode/oh-my-design/web/src/components/font-playground/preview-templates.tsx +0 -395
  1099. package/.opencode/oh-my-design/web/src/components/font-playground/sample-input.tsx +0 -30
  1100. package/.opencode/oh-my-design/web/src/components/font-playground/script-toggle.tsx +0 -73
  1101. package/.opencode/oh-my-design/web/src/components/font-playground/usage-guide.tsx +0 -172
  1102. package/.opencode/oh-my-design/web/src/components/install-cta.tsx +0 -133
  1103. package/.opencode/oh-my-design/web/src/components/landing-v2/hero.tsx +0 -459
  1104. package/.opencode/oh-my-design/web/src/components/landing-v2/live-proof.tsx +0 -464
  1105. package/.opencode/oh-my-design/web/src/components/landing-v2/nav.tsx +0 -126
  1106. package/.opencode/oh-my-design/web/src/components/landing-v2/sections.tsx +0 -1166
  1107. package/.opencode/oh-my-design/web/src/components/landing-v2/the-wall.tsx +0 -332
  1108. package/.opencode/oh-my-design/web/src/components/landing-v2/tokens.ts +0 -33
  1109. package/.opencode/oh-my-design/web/src/components/markdown.tsx +0 -168
  1110. package/.opencode/oh-my-design/web/src/components/playground/actions-header.tsx +0 -28
  1111. package/.opencode/oh-my-design/web/src/components/playground/contrast-badge.tsx +0 -112
  1112. package/.opencode/oh-my-design/web/src/components/playground/controls/category-section.tsx +0 -50
  1113. package/.opencode/oh-my-design/web/src/components/playground/controls/color-picker.tsx +0 -116
  1114. package/.opencode/oh-my-design/web/src/components/playground/controls/density-picker.tsx +0 -56
  1115. package/.opencode/oh-my-design/web/src/components/playground/controls/mood-picker.tsx +0 -53
  1116. package/.opencode/oh-my-design/web/src/components/playground/controls/motion-picker.tsx +0 -62
  1117. package/.opencode/oh-my-design/web/src/components/playground/controls/name-description.tsx +0 -55
  1118. package/.opencode/oh-my-design/web/src/components/playground/controls/palette-grid.tsx +0 -111
  1119. package/.opencode/oh-my-design/web/src/components/playground/controls/personas-picker.tsx +0 -85
  1120. package/.opencode/oh-my-design/web/src/components/playground/controls/radius-picker.tsx +0 -48
  1121. package/.opencode/oh-my-design/web/src/components/playground/controls/voice-picker.tsx +0 -120
  1122. package/.opencode/oh-my-design/web/src/components/playground/controls/weight-picker.tsx +0 -48
  1123. package/.opencode/oh-my-design/web/src/components/playground/export-box.tsx +0 -120
  1124. package/.opencode/oh-my-design/web/src/components/playground/header.tsx +0 -71
  1125. package/.opencode/oh-my-design/web/src/components/playground/layout.tsx +0 -50
  1126. package/.opencode/oh-my-design/web/src/components/playground/mobile-drawer.tsx +0 -78
  1127. package/.opencode/oh-my-design/web/src/components/playground/mood-override-badge.tsx +0 -40
  1128. package/.opencode/oh-my-design/web/src/components/playground/preview-pane.tsx +0 -82
  1129. package/.opencode/oh-my-design/web/src/components/playground/primitives-strip.tsx +0 -153
  1130. package/.opencode/oh-my-design/web/src/components/playground/reference-picker-modal.tsx +0 -146
  1131. package/.opencode/oh-my-design/web/src/components/playground/share-button.tsx +0 -42
  1132. package/.opencode/oh-my-design/web/src/components/playground/start-from.tsx +0 -90
  1133. package/.opencode/oh-my-design/web/src/components/preview-export-view.tsx +0 -205
  1134. package/.opencode/oh-my-design/web/src/components/preview.tsx +0 -869
  1135. package/.opencode/oh-my-design/web/src/components/reference-preview.tsx +0 -1187
  1136. package/.opencode/oh-my-design/web/src/components/reference-selector.tsx +0 -671
  1137. package/.opencode/oh-my-design/web/src/components/scroll-to-top.tsx +0 -41
  1138. package/.opencode/oh-my-design/web/src/components/status-badge.tsx +0 -64
  1139. package/.opencode/oh-my-design/web/src/components/survey/company-mini-ui.tsx +0 -669
  1140. package/.opencode/oh-my-design/web/src/components/survey/install-cta.tsx +0 -80
  1141. package/.opencode/oh-my-design/web/src/components/survey/mood-step.tsx +0 -260
  1142. package/.opencode/oh-my-design/web/src/components/survey/quiz-wizard.tsx +0 -528
  1143. package/.opencode/oh-my-design/web/src/components/survey/result-card.tsx +0 -242
  1144. package/.opencode/oh-my-design/web/src/components/survey/share-buttons.tsx +0 -320
  1145. package/.opencode/oh-my-design/web/src/components/survey/survey-wizard.tsx +0 -661
  1146. package/.opencode/oh-my-design/web/src/components/survey/typography-step.tsx +0 -192
  1147. package/.opencode/oh-my-design/web/src/components/theme-provider.tsx +0 -12
  1148. package/.opencode/oh-my-design/web/src/components/ui/badge.tsx +0 -52
  1149. package/.opencode/oh-my-design/web/src/components/ui/button.tsx +0 -58
  1150. package/.opencode/oh-my-design/web/src/components/ui/card.tsx +0 -103
  1151. package/.opencode/oh-my-design/web/src/components/ui/dialog.tsx +0 -160
  1152. package/.opencode/oh-my-design/web/src/components/ui/input.tsx +0 -20
  1153. package/.opencode/oh-my-design/web/src/components/ui/label.tsx +0 -20
  1154. package/.opencode/oh-my-design/web/src/components/ui/radio-group.tsx +0 -38
  1155. package/.opencode/oh-my-design/web/src/components/ui/scroll-area.tsx +0 -55
  1156. package/.opencode/oh-my-design/web/src/components/ui/select.tsx +0 -201
  1157. package/.opencode/oh-my-design/web/src/components/ui/separator.tsx +0 -25
  1158. package/.opencode/oh-my-design/web/src/components/ui/sheet.tsx +0 -138
  1159. package/.opencode/oh-my-design/web/src/components/ui/slider.tsx +0 -52
  1160. package/.opencode/oh-my-design/web/src/components/ui/switch.tsx +0 -32
  1161. package/.opencode/oh-my-design/web/src/components/ui/tabs.tsx +0 -82
  1162. package/.opencode/oh-my-design/web/src/components/ui/tooltip.tsx +0 -66
  1163. package/.opencode/oh-my-design/web/src/data/faq.ts +0 -81
  1164. package/.opencode/oh-my-design/web/src/data/registry.generated.ts +0 -304
  1165. package/.opencode/oh-my-design/web/src/data/version.generated.ts +0 -2
  1166. package/.opencode/oh-my-design/web/src/lib/changelog.ts +0 -96
  1167. package/.opencode/oh-my-design/web/src/lib/collections.ts +0 -252
  1168. package/.opencode/oh-my-design/web/src/lib/contrast.ts +0 -40
  1169. package/.opencode/oh-my-design/web/src/lib/core/builder-prompt.test.ts +0 -100
  1170. package/.opencode/oh-my-design/web/src/lib/core/builder-prompt.ts +0 -102
  1171. package/.opencode/oh-my-design/web/src/lib/core/color.ts +0 -122
  1172. package/.opencode/oh-my-design/web/src/lib/core/config-hash.test.ts +0 -157
  1173. package/.opencode/oh-my-design/web/src/lib/core/config-hash.ts +0 -133
  1174. package/.opencode/oh-my-design/web/src/lib/core/generate-css.test.ts +0 -813
  1175. package/.opencode/oh-my-design/web/src/lib/core/generate-css.ts +0 -586
  1176. package/.opencode/oh-my-design/web/src/lib/core/survey-hash.test.ts +0 -51
  1177. package/.opencode/oh-my-design/web/src/lib/core/survey-hash.ts +0 -56
  1178. package/.opencode/oh-my-design/web/src/lib/core/types.ts +0 -37
  1179. package/.opencode/oh-my-design/web/src/lib/design-systems.ts +0 -102
  1180. package/.opencode/oh-my-design/web/src/lib/extract-components.test.ts +0 -116
  1181. package/.opencode/oh-my-design/web/src/lib/extract-tokens.test.ts +0 -202
  1182. package/.opencode/oh-my-design/web/src/lib/extract-tokens.ts +0 -1335
  1183. package/.opencode/oh-my-design/web/src/lib/font-registry.ts +0 -376
  1184. package/.opencode/oh-my-design/web/src/lib/fonts/analytics.test.ts +0 -194
  1185. package/.opencode/oh-my-design/web/src/lib/fonts/analytics.ts +0 -234
  1186. package/.opencode/oh-my-design/web/src/lib/fonts/catalog.ts +0 -1509
  1187. package/.opencode/oh-my-design/web/src/lib/fonts/designmd-export.ts +0 -104
  1188. package/.opencode/oh-my-design/web/src/lib/fonts/loaders.test.ts +0 -169
  1189. package/.opencode/oh-my-design/web/src/lib/fonts/loaders.ts +0 -90
  1190. package/.opencode/oh-my-design/web/src/lib/fonts/match-intent.test.ts +0 -93
  1191. package/.opencode/oh-my-design/web/src/lib/fonts/match-intent.ts +0 -288
  1192. package/.opencode/oh-my-design/web/src/lib/fonts/preview-contexts.ts +0 -124
  1193. package/.opencode/oh-my-design/web/src/lib/fonts/rate-limit.ts +0 -43
  1194. package/.opencode/oh-my-design/web/src/lib/fonts/saved-store.ts +0 -113
  1195. package/.opencode/oh-my-design/web/src/lib/fonts/share-link.test.ts +0 -101
  1196. package/.opencode/oh-my-design/web/src/lib/fonts/share-link.ts +0 -52
  1197. package/.opencode/oh-my-design/web/src/lib/fonts/similarity.ts +0 -106
  1198. package/.opencode/oh-my-design/web/src/lib/fonts/tweaks.test.ts +0 -213
  1199. package/.opencode/oh-my-design/web/src/lib/fonts/tweaks.ts +0 -186
  1200. package/.opencode/oh-my-design/web/src/lib/fonts/types.ts +0 -96
  1201. package/.opencode/oh-my-design/web/src/lib/gtag.ts +0 -64
  1202. package/.opencode/oh-my-design/web/src/lib/hot-refs.ts +0 -41
  1203. package/.opencode/oh-my-design/web/src/lib/kv.ts +0 -30
  1204. package/.opencode/oh-my-design/web/src/lib/logos.ts +0 -39
  1205. package/.opencode/oh-my-design/web/src/lib/new-refs.ts +0 -30
  1206. package/.opencode/oh-my-design/web/src/lib/playground/codec.ts +0 -34
  1207. package/.opencode/oh-my-design/web/src/lib/playground/defaults.ts +0 -56
  1208. package/.opencode/oh-my-design/web/src/lib/playground/generate.ts +0 -384
  1209. package/.opencode/oh-my-design/web/src/lib/playground/palettes.ts +0 -259
  1210. package/.opencode/oh-my-design/web/src/lib/playground/rules/density.ts +0 -59
  1211. package/.opencode/oh-my-design/web/src/lib/playground/rules/mood.ts +0 -82
  1212. package/.opencode/oh-my-design/web/src/lib/playground/rules/motion.ts +0 -71
  1213. package/.opencode/oh-my-design/web/src/lib/playground/rules/personality.ts +0 -93
  1214. package/.opencode/oh-my-design/web/src/lib/playground/rules/philosophy.ts +0 -270
  1215. package/.opencode/oh-my-design/web/src/lib/playground/rules/radius.ts +0 -54
  1216. package/.opencode/oh-my-design/web/src/lib/playground/rules/weight.ts +0 -41
  1217. package/.opencode/oh-my-design/web/src/lib/playground/samples.ts +0 -280
  1218. package/.opencode/oh-my-design/web/src/lib/playground/state.ts +0 -194
  1219. package/.opencode/oh-my-design/web/src/lib/search-aliases.ts +0 -213
  1220. package/.opencode/oh-my-design/web/src/lib/survey/profiles.generated.ts +0 -1143
  1221. package/.opencode/oh-my-design/web/src/lib/survey/quiz-data.test.ts +0 -102
  1222. package/.opencode/oh-my-design/web/src/lib/survey/quiz-data.ts +0 -571
  1223. package/.opencode/oh-my-design/web/src/lib/survey/scoring.test.ts +0 -111
  1224. package/.opencode/oh-my-design/web/src/lib/survey/scoring.ts +0 -146
  1225. package/.opencode/oh-my-design/web/src/lib/survey/types.test.ts +0 -153
  1226. package/.opencode/oh-my-design/web/src/lib/survey/types.ts +0 -604
  1227. package/.opencode/oh-my-design/web/src/lib/utils.ts +0 -6
  1228. package/.opencode/oh-my-design/web/src/styles/shadcn.css +0 -95
  1229. package/.opencode/oh-my-design/web/src/styles/tw-animate.css +0 -1
  1230. package/.opencode/oh-my-design/web/src/types/gtag.d.ts +0 -3
  1231. package/.opencode/oh-my-design/web/tsconfig.json +0 -34
  1232. package/.opencode/oh-my-design/web/vitest.config.ts +0 -14
  1233. package/.utils/docs_opencode/acp.md +0 -165
  1234. package/.utils/docs_opencode/acp.pdf +0 -0
  1235. package/.utils/docs_opencode/agents.md +0 -803
  1236. package/.utils/docs_opencode/agents.pdf +0 -0
  1237. package/.utils/docs_opencode/commands.md +0 -354
  1238. package/.utils/docs_opencode/commands.pdf +0 -0
  1239. package/.utils/docs_opencode/custom-tools.md +0 -209
  1240. package/.utils/docs_opencode/custom-tools.pdf +0 -0
  1241. package/.utils/docs_opencode/ecosystem.md +0 -81
  1242. package/.utils/docs_opencode/ecosystem.pdf +0 -0
  1243. package/.utils/docs_opencode/formatters.md +0 -142
  1244. package/.utils/docs_opencode/formatters.pdf +0 -0
  1245. package/.utils/docs_opencode/keybinds.md +0 -205
  1246. package/.utils/docs_opencode/keybinds.pdf +0 -0
  1247. package/.utils/docs_opencode/lsp.md +0 -202
  1248. package/.utils/docs_opencode/lsp.pdf +0 -0
  1249. package/.utils/docs_opencode/mcp-servers.md +0 -565
  1250. package/.utils/docs_opencode/mcp-servers.pdf +0 -0
  1251. package/.utils/docs_opencode/models.md +0 -234
  1252. package/.utils/docs_opencode/models.pdf +0 -0
  1253. package/.utils/docs_opencode/permissions.md +0 -248
  1254. package/.utils/docs_opencode/permissions.pdf +0 -0
  1255. package/.utils/docs_opencode/plugins.md +0 -409
  1256. package/.utils/docs_opencode/plugins.pdf +0 -0
  1257. package/.utils/docs_opencode/rules.md +0 -189
  1258. package/.utils/docs_opencode/rules.pdf +0 -0
  1259. package/.utils/docs_opencode/sdk.md +0 -522
  1260. package/.utils/docs_opencode/sdk.pdf +0 -0
  1261. package/.utils/docs_opencode/server.md +0 -324
  1262. package/.utils/docs_opencode/server.pdf +0 -0
  1263. package/.utils/docs_opencode/skills.md +0 -235
  1264. package/.utils/docs_opencode/skills.pdf +0 -0
  1265. package/.utils/docs_opencode/themes.md +0 -378
  1266. package/.utils/docs_opencode/themes.pdf +0 -0
  1267. package/.utils/docs_opencode/tools.md +0 -364
  1268. package/.utils/docs_opencode/tools.pdf +0 -0
  1269. package/.utils/zugzweb/client/node_modules/.tmp/tsconfig.app.tsbuildinfo +0 -1
  1270. package/.utils/zugzweb/client/node_modules/.tmp/tsconfig.node.tsbuildinfo +0 -1
  1271. package/.utils/zugzweb/client/node_modules/nanoid/.claude/settings.local.json +0 -14
  1272. package/.utils/zugzweb/client/package-lock.json +0 -3707
@@ -1,677 +0,0 @@
1
- ---
2
- id: gangnamunni
3
- name: 강남언니
4
- display_name_kr: Gangnamunni (강남언니)
5
- country: KR
6
- category: consumer-tech
7
- homepage: "https://www.gangnamunni.com"
8
- primary_color: "#d54300"
9
- logo:
10
- type: favicon
11
- slug: "https://www.google.com/s2/favicons?domain=gangnamunni.com&sz=128"
12
- verified: "2026-05-15"
13
- omd: "0.1"
14
- ds:
15
- name: Gangnamunni Blog
16
- url: "https://blog.gangnamunni.com/post/welchis/"
17
- type: brand
18
- description: Healience design team blog — the Cell + Welchis two-system architecture behind Gangnamunni's medical-platform UI.
19
- og_image: "https://blog.gangnamunni.com/contents/posts/238d9338-d3d4-80ac-a8c6-da95db5bc8bc/cover/7d41f721-4cf0-408c-b2fd-f7aa403a5cbe.png"
20
- tokens:
21
- source: prose-derived
22
- extracted: "2026-06-09"
23
- colors:
24
- brand: "#d54300"
25
- brand-regular: "#f66336"
26
- brand-strong-fg: "#ab350c"
27
- brand-accent-raw: "#ff540f"
28
- brand-tint-100: "#feeee9"
29
- brand-tint-50: "#fef6f4"
30
- canvas: "#ffffff"
31
- heading: "#131517"
32
- body: "#3a444d"
33
- caption: "#697683"
34
- placeholder: "#8694a2"
35
- border: "#d8dfe6"
36
- border-weak: "#e4e8ec"
37
- surface-subtle: "#eff2f5"
38
- surface-faint: "#f7f9fa"
39
- success: "#27a86d"
40
- success-strong: "#1a8656"
41
- danger: "#d73f39"
42
- warning: "#f9c647"
43
- info: "#3270d6"
44
- typography:
45
- family: { sans: "Pretendard JP Variable", mono: "ui-monospace" }
46
- display-md: { size: 28, weight: 700, lineHeight: 1.3, use: "Feature headlines" }
47
- title-xl: { size: 32, weight: 700, lineHeight: 1.3, use: "Landing headlines" }
48
- title-lg: { size: 24, weight: 700, lineHeight: 1.3, use: "Page section titles" }
49
- title-md: { size: 20, weight: 700, lineHeight: 1.4, use: "Card headings, prices" }
50
- subhead: { size: 18, weight: 600, lineHeight: 1.4, use: "Section subheads" }
51
- body-lg: { size: 16, weight: 400, lineHeight: 1.5, use: "Primary body, card titles" }
52
- body: { size: 14, weight: 400, lineHeight: 1.5, use: "Default UI text" }
53
- label-sm: { size: 13, weight: 500, lineHeight: 1.4, use: "Secondary buttons, links" }
54
- label-xs: { size: 12, weight: 500, lineHeight: 1.4, use: "Chips, timestamps, tag pills" }
55
- meta: { size: 11, weight: 400, lineHeight: 1.4, use: "Smallest meta, fine print" }
56
- spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 32, section: 48 }
57
- rounded: { sm: 4, md: 12, lg: 16, full: 9999 }
58
- shadow:
59
- soft: "0 4px 12px rgba(0,0,0,0.08)"
60
- modal: "0 12px 32px rgba(0,0,0,0.16)"
61
- components:
62
- button-primary: { type: button, bg: "#d54300", fg: "#ffffff", radius: "16px", padding: "12px 20px", font: "16px / 600", use: "Primary brand CTA; hover #ab350c, disabled orange-200" }
63
- button-accent: { type: button, bg: "#ff540f", fg: "#ffffff", radius: "16px", padding: "12px 20px", font: "16px / 600", use: "Hot-deal / time-limited promo CTA" }
64
- button-outline: { type: button, bg: "#ffffff", fg: "#131517", radius: "16px", padding: "10px 16px", font: "14px / 500", use: "Neutral secondary, 1px #d8dfe6 border; hover #f7f9fa" }
65
- button-subtle: { type: button, bg: "#fef6f4", fg: "#d54300", radius: "16px", padding: "8px 14px", font: "14px / 600", use: "Secondary brand CTA, tinted" }
66
- button-danger: { type: button, bg: "#d73f39", fg: "#ffffff", radius: "16px", padding: "10px 16px", font: "14px / 600", use: "Destructive action" }
67
- input-text: { type: input, bg: "#ffffff", fg: "#131517", radius: "12px", padding: "12px 16px", font: "16px / 400", use: "Standard form field, 48px height; focus #d54300, error #d73f39" }
68
- card-clinic: { type: card, bg: "#ffffff", radius: "12px", padding: "16px", use: "Hospital / doctor card, 1px #d8dfe6 border, no shadow" }
69
- card-promo: { type: card, bg: "#fef6f4", radius: "12px", padding: "16px", use: "Event / promo card, 1px #feeee9 border" }
70
- badge-brand: { type: badge, bg: "#ff540f", fg: "#ffffff", radius: "4px", padding: "2px 6px", font: "12px / 700", use: "HOT / 특가 time-sensitive flag" }
71
- badge-success: { type: badge, bg: "#e8f6ec", fg: "#1a8656", radius: "9999px", padding: "2px 8px", font: "12px / 600", use: "인증 병원 verification badge" }
72
- badge-info: { type: badge, bg: "#ebf2ff", fg: "#1b59bd", radius: "4px", padding: "2px 6px", font: "11px / 600", use: "Regulatory / certification label" }
73
- pill-category: { type: badge, bg: "#ffffff", fg: "#131517", radius: "9999px", padding: "6px 12px", font: "14px / 500", use: "Category filter pill; selected #fef6f4 bg + #d54300 text + #fa8563 border" }
74
- toast: { type: toast, bg: "#131517", fg: "#ffffff", radius: "12px", padding: "12px 16px", font: "14px / 500", use: "Bottom-center toast, 3s duration" }
75
- components_harvested: true
76
- ---
77
-
78
- # Design System Inspiration of Gangnamunni (강남언니)
79
-
80
- ## 1. Visual Theme & Atmosphere
81
-
82
- 강남언니's web surface is the rare medical platform that reads as warm rather than clinical. The page opens on pure white (`#ffffff`) with deep blue-gray text (`#131517` — `--cell-base-color-bluegray-900`) and a single saturated orange (`#d54300` / `#FF540F` accent) doing all the brand work. There is no "medical blue", no surgical green, no pastel reassurance palette. Instead the system commits to one warm hue and lets the rest of the canvas stay cool-neutral — bluegray, never true gray. The combination reads as *honest information first, hospitality second* — appropriate for a category (성형수술·피부시술 reviews and hospital discovery) where users arrive cautious and need facts before they need feelings.
83
-
84
- The typography is **Pretendard JP Variable** (Korean: PretendardVariable) at five weights (300/400/500/600/700) across a 15-step size ramp (`--cell-base-font-size-100` = 11px through `--cell-base-font-size-1500` = 48px). Pretendard's tight metrics and excellent Korean-Latin pairing make it a natural choice for a market where every screen mixes 한글 (hospital names, body parts, procedure names) with Latin numerals and the occasional English brand term (보톡스, 필러, BTL EmFace). The system uses 600 weight for emphasis on labels, 700 for prices and amounts, and stays at 400 for body — *no display-light experimentation*, no Stripe-style weight 300 headlines. This is finance-precision typography in a beauty-medical context.
85
-
86
- What truly distinguishes 강남언니 is what it refuses: **no shadows on cards**, no gradients on CTAs, no decorative illustrations on empty states, no warm-pink consumer-beauty cues despite the category. Elevation is communicated by 1px hairline borders in `--cell-base-color-bluegray-200` (`#d8dfe6`) and surface tinting through bluegray-50 (`#f7f9fa`) or orange-50 (`#fef6f4`) instead of drop shadows. The footer is a single broad band of bluegray-100 (`#f5f5f5`) capped by a `4px solid #d6d6d6` top divider — the only "heavy" structural line in the whole layout, used like a paragraph break between content and meta.
87
-
88
- The brand operates **two design systems** by name (confirmed by the team's own engineering blog at https://blog.gangnamunni.com/post/welchis/):
89
- - **Cell** — mobile-first (iOS, Android, mobile web). Compiled tokens are visible on the public web bundle as `--cell-base-*` and `--cell-semantic-*`. This is what the consumer surface uses.
90
- - **Welchis** — PC back-office system. Welchis Design (tone/manner/style) + Welchis UI (Figma library + web library). Storybook is the handoff bridge; no Zeplin pixel-measure.
91
-
92
- This DESIGN.md focuses on **Cell** — the consumer-facing token system.
93
-
94
- **Key Characteristics:**
95
- - One brand hue: orange `#d54300` (semantic strong) / `#f66336` (semantic regular) / `#FF540F` (raw accent fill used on hot-deal and review badges)
96
- - Pretendard JP Variable across all surfaces — Korean-Latin parity at every weight
97
- - Bluegray 9-step neutral scale (50 → 900), never warm gray, never pure black
98
- - Zero card shadows by default — elevation = 1px hairline borders + tinted surfaces
99
- - 8px base spacing grid (`--cell-base-dimension-scale-200`)
100
- - Radius ramp 2px → 32px → `9999px`, with 16px (`radius-400`) as the default chrome radius for buttons / pills / cards
101
- - Status palette already wired: green-400 success, red-500 danger, yellow-400 warning, blue-500 info — used sparingly
102
- - Information-density bias: medical category data (price ranges, review counts, doctor specialties) gets list-and-table treatment, not card-hero treatment
103
-
104
- ## 2. Color Palette & Roles
105
-
106
- ### Brand (Orange)
107
- - **Brand Strong** (`#d54300`): `--cell-base-color-orange-500`. Deep brand orange. Used for the primary brand mark, brand-strong text, pressed states.
108
- - **Brand Regular** (`#f66336`): `--cell-base-color-orange-400`. `--cell-semantic-color-fg-brand-regular-default`. Primary brand FG — links, icons, accent text.
109
- - **Brand Strong FG** (`#ab350c`): `--cell-base-color-orange-600`. `--cell-semantic-color-fg-brand-strong-default`. Used where brand text must override a tinted background.
110
- - **Brand Subtle Border** (`#fa8563`): `--cell-base-color-orange-300`. `--cell-semantic-color-border-brand-subtle-default`. Subtle orange-tinted border on selected pills, chip outlines.
111
- - **Brand Tint 100** (`#feeee9`): `--cell-base-color-orange-100`. Surface for promoted rows, hot-deal cards, brand-tinted badges.
112
- - **Brand Tint 50** (`#fef6f4`): `--cell-base-color-orange-50`. Lightest brand wash — section backgrounds, hover wash on neutral surfaces.
113
- - **Brand Accent Raw** (`#FF540F`): Raw hex emitted by Tailwind utilities on the live home for "hot-deal" / review-flag fills. Slightly more saturated than `#d54300`; co-existent with the semantic ramp.
114
-
115
- ### Neutral (Bluegray)
116
- - **Text Primary** (`#131517`): `--cell-base-color-bluegray-900`. Headings, primary text, important labels.
117
- - **Text 800** (`#21272d`): `--cell-base-color-bluegray-800`. Strong border (`--border-neutral-strong-default`), inverse-bg text.
118
- - **Text Secondary** (`#3a444d`): `--cell-base-color-bluegray-700`. Body text, secondary headings.
119
- - **Text 600** (`#515e6a`): `--cell-base-color-bluegray-600`. Long-form body.
120
- - **Text Tertiary** (`#697683`): `--cell-base-color-bluegray-500`. Captions, meta info, timestamps.
121
- - **Text Placeholder** (`#8694a2`): `--cell-base-color-bluegray-400`. Input placeholders, disabled text.
122
- - **Border 300** (`#b5bfc9`): `--cell-base-color-bluegray-300`. Stronger dividers.
123
- - **Border Default** (`#d8dfe6`): `--cell-base-color-bluegray-200`. `--cell-semantic-color-border-neutral-subtle-default`. Default 1px border on cards, inputs, header sign-in button.
124
- - **Border Weak** (`#e4e8ec`): `--cell-base-color-bluegray-150`. `--cell-semantic-color-border-neutral-weak-default`. Hairline dividers in lists.
125
- - **Surface Subtle** (`#eff2f5`): `--cell-base-color-bluegray-100`. Card subtle bg, footer band, section break.
126
- - **Surface Faint** (`#f7f9fa`): `--cell-base-color-bluegray-50`. Lightest surface wash.
127
- - **Pure White** (`#ffffff`): `--cell-base-color-white`. Canvas, primary surface.
128
-
129
- ### Status
130
- - **Success FG** (`#27a86d`): `--cell-base-color-green-400`. Success badges, checkmarks.
131
- - **Success Strong** (`#1a8656`): `--cell-base-color-green-500`. Strong success border, badge stroke.
132
- - **Danger** (`#d73f39`): `--cell-base-color-red-500`. Field error, danger CTA, decline.
133
- - **Danger Weak** (`#f75e54`): `--cell-base-color-red-400`. Inline error text accent.
134
- - **Warning** (`#f9c647`): `--cell-base-color-yellow-400`. Caution badges (`#fff8e9` tint surface).
135
- - **Info / Certification** (`#3270d6`): `--cell-base-color-blue-500`. Verified-clinic badges, info banners.
136
- - **Payment** (`#0b819d`): `--cell-base-color-lightblue-500`. Payment-flow accents, refund states.
137
- - **Trending** (`pink-300` ramp present): `--cell-base-color-pink-300` is referenced by `--cell-semantic-color-border-trending-subtle-default` — soft pink for trending/popular chips. Used sparingly, never as primary brand.
138
-
139
- ### Tinted Surfaces (for badges)
140
- - Orange tint (`#feeee9` / `#fef6f4`)
141
- - Green tint (`#e8f6ec` / `#d5ebdc`)
142
- - Red tint (`#ffedeb` / `#fff6f5`)
143
- - Yellow tint (`#fff0d3` / `#fff8e9`)
144
- - Blue tint (`#ebf2ff` / `#f5f9ff`)
145
-
146
- ## 3. Typography Rules
147
-
148
- ### Font Family
149
- - **Primary**: `Pretendard JP Variable`, fallback `PretendardVariable` → `PretendardVariable Fallback` → `sans-serif`
150
- - **Monospace**: `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace`
151
- - **CJK variants in the token system** (selected by locale): `Pretendard JP Variable` (default/JP), Noto Sans JP, Noto Sans SC, Noto Sans TC, Noto Sans Thai, PingFang SC/TC, Hiragino Sans, Sukhumvit — the brand supports Korean, Japanese, Thai, and Chinese rendering through the same Cell semantic typography classes.
152
-
153
- ### Weights
154
- - **300 (light)**, **400 (regular)**, **500 (medium)**, **600 (semibold)**, **700 (bold)** — all five emitted from `--cell-base-font-weight-{300..700}`. The product uses 400 for body, 500-600 for labels/buttons, 700 for prices and amounts. 300 exists in the ramp but is rare on-product.
155
-
156
- ### Size Ramp (`--cell-base-font-size-*`)
157
-
158
- | Token | rem | px | Use |
159
- |---|---|---|---|
160
- | 100 | 0.6875 | 11 | Smallest meta — legal, very fine print |
161
- | 200 | 0.75 | 12 | `label-xs` — chips, timestamps, tag pills |
162
- | 300 | 0.8125 | 13 | `label-sm` — secondary buttons, "전체보기" links |
163
- | 400 | 0.875 | 14 | `label-md` / `body-md` — default UI text |
164
- | 500 | 1.0 | 16 | `label-lg` / `body-lg` — primary body, card titles |
165
- | 600 | 1.125 | 18 | `label-xl` / `title-md` — section subheads |
166
- | 700 | 1.25 | 20 | `title-md-strong` — card headings |
167
- | 800 | 1.375 | 22 | sub-display |
168
- | 900 | 1.5 | 24 | `title-lg-strong` — page section titles |
169
- | 1000 | 1.75 | 28 | `display-md-strongest` — feature headlines |
170
- | 1100 | 2.0 | 32 | `title-xl-strong` — landing headlines |
171
- | 1200 | 2.25 | 36 | hero |
172
- | 1300 | 2.5 | 40 | hero large |
173
- | 1400 | 2.75 | 44 | hero xl |
174
- | 1500 | 3.0 | 48 | display max (rare) |
175
-
176
- ### Semantic typography classes (Cell)
177
- The system emits 7 families × multiple sizes × {regular, strong, strongest, subtle}:
178
- - `cell-semantic-typography-display-{sm,md}-strongest`
179
- - `cell-semantic-typography-title-{xs,sm,md,lg,xl}-strong`
180
- - `cell-semantic-typography-label-{xxs,xs,sm,md,lg,xl}-{regular,strong,subtle}`
181
- - `cell-semantic-typography-body-single-{sm,md,lg,xl}-{regular,strong,subtle}`
182
- - `cell-semantic-typography-body-multi-{sm,md,lg,xl}-{regular,subtle}`
183
- - `cell-semantic-typography-description-{xs,sm,md,lg,xl}-{regular,subtle}`
184
- - `cell-semantic-typography-caption-*`
185
-
186
- ### Principles
187
- - **Pretendard everywhere.** No serif, no display custom font, no script. Pretendard's Korean-Latin metrics are the brand's typographic constant.
188
- - **Numbers are bold (700).** Prices, review counts ("후기 7,300건"), star ratings, distance ("0.4km") all use 700 weight against 400-weight body. The numeric weight contrast is how the eye picks out information.
189
- - **No tracking experiments.** Letter-spacing token `--cell-base-font-letterspacing-none` is the default everywhere; `letterspacing-200` exists only on `display-strongest`. No Stripe-style negative tracking on headlines.
190
- - **Display-strongest is rare.** Display sizes (`display-{sm,md}-strongest`) appear on marketing surfaces; the consumer app surface stays in `title-*-strong` (20-32px) and below.
191
-
192
- ## 4. Component Stylings
193
-
194
- ### Buttons
195
-
196
- **Primary Brand**
197
- - Background: `#d54300`
198
- - Text: `#ffffff`
199
- - Border: none
200
- - Radius: 16px (`--cell-base-radius-400`)
201
- - Padding: 12px 20px (`spacing-300` vertical / `spacing-500` horizontal)
202
- - Font: 16px / 600 / Pretendard JP Variable
203
- - Hover: Background `#ab350c` (`orange-600`)
204
- - Pressed: Background `#93250a` (`orange-700`)
205
- - Disabled: Background `#fbb8a4` (`orange-200`)
206
- - Use: Primary CTA — "병원 예약하기", "후기 작성하기", "이벤트 보기"
207
-
208
- **Primary Brand (raw accent variant)**
209
- - Background: `#FF540F`
210
- - Text: `#ffffff`
211
- - Border: 1px solid `#FF540F`
212
- - Radius: 16px
213
- - Padding: 12px 20px
214
- - Font: 16px / 600 / Pretendard JP Variable
215
- - Use: Hot-deal CTA, time-limited promo — raw Tailwind utility variant of the brand color, slightly more saturated than the semantic `#d54300`.
216
-
217
- **Outline / Secondary**
218
- - Background: `#ffffff`
219
- - Text: `#131517` (bluegray-900)
220
- - Border: 1px solid `#d8dfe6` (bluegray-200)
221
- - Radius: 16px (32px → pill when small)
222
- - Padding: 6px 14px (sign-in size) → 10px 16px (default) → 12px 20px (large)
223
- - Font: 14-16px / 400-500 / Pretendard JP Variable
224
- - Hover: Background `#f7f9fa` (bluegray-50)
225
- - Disabled: Text `#8694a2`, border `#e4e8ec`
226
- - Use: "로그인/가입" header CTA (32px tall, 16px radius — observed live), filter pills, neutral secondary action.
227
-
228
- **Ghost / Tertiary**
229
- - Background: transparent
230
- - Text: `#3a444d` (bluegray-700)
231
- - Border: none
232
- - Radius: 16px
233
- - Padding: 6px 12px
234
- - Font: 14px / 500 / Pretendard JP Variable
235
- - Hover: Background `rgba(216,223,230,0.4)`
236
- - Use: Tab strip, in-card secondary action, "더보기".
237
-
238
- **Brand Subtle (tinted)**
239
- - Background: `#fef6f4` (orange-50)
240
- - Text: `#d54300` (orange-500)
241
- - Border: 1px solid `#feeee9` (orange-100) — optional
242
- - Radius: 16px
243
- - Padding: 8px 14px
244
- - Font: 14px / 600 / Pretendard JP Variable
245
- - Use: Secondary-yet-brand CTA — "관심 병원에 추가", "쿠폰 받기".
246
-
247
- **Danger**
248
- - Background: `#d73f39` (red-500)
249
- - Text: `#ffffff`
250
- - Border: none
251
- - Radius: 16px
252
- - Padding: 10px 16px
253
- - Font: 14px / 600 / Pretendard JP Variable
254
- - Hover: Background `#b02b27` (red-600)
255
- - Use: Destructive action — "예약 취소", "후기 삭제".
256
-
257
- **Icon Button**
258
- - Background: transparent
259
- - Border: none
260
- - Radius: 9999px (`radius-full`)
261
- - Hit target: 40px × 40px (8px padding around 24px icon)
262
- - Hover: Background `#eff2f5` (bluegray-100)
263
- - Use: Bookmark, share, dismiss.
264
-
265
- ### Inputs & Forms
266
-
267
- **Text Input — Default**
268
- - Background: `#ffffff`
269
- - Text: `#131517`
270
- - Placeholder: `#8694a2` (bluegray-400)
271
- - Border: 1px solid `#d8dfe6` (bluegray-200)
272
- - Radius: 12px (`radius-300`)
273
- - Padding: 12px 16px
274
- - Font: 16px / 400 / Pretendard JP Variable
275
- - Height: 48px
276
- - Focus: Border `#d54300` (orange-500), focus ring `2px` outset of `radius-300`
277
- - Error: Border `#d73f39`, ring `red-500`
278
- - Disabled: Background `#f7f9fa`, text `#8694a2`, border `#e4e8ec`
279
- - Use: Standard form field — sign-in, review form, hospital review search.
280
-
281
- **Search Input — Hero**
282
- - Background: `#eff2f5` (bluegray-100) or `#ffffff` with border
283
- - Text: `#131517`
284
- - Placeholder: `#697683` (bluegray-500) — "병원, 시술, 의사 검색"
285
- - Border: none (pill) or 1px `#d8dfe6`
286
- - Radius: 9999px (`radius-full`)
287
- - Padding: 14px 20px (left icon 44px wide)
288
- - Font: 16px / 500 / Pretendard JP Variable
289
- - Height: 52px
290
- - Use: Hero search bar above category nav.
291
-
292
- ### Cards & Containers
293
-
294
- **Doctor / Clinic Card**
295
- - Background: `#ffffff`
296
- - Border: 1px solid `#d8dfe6` (bluegray-200) — or none on grid layouts where the bluegray-50 page bg provides separation
297
- - Radius: 12px (`radius-300`)
298
- - Padding: 16px
299
- - Shadow: **none by default** — elevation is conveyed by border + bluegray-50 page wash
300
- - Hover: Background tint `#f7f9fa`, no shadow change
301
- - Title: 16-18px / 700 / `#131517`
302
- - Meta row: 13px / 400 / `#697683` — "강남구 · 0.4km · 후기 7,300건"
303
- - Price row: 14px / 700 / `#131517` with strikethrough on `--list-price` in `#8694a2`
304
- - Use: Hospital list cards, doctor cards, treatment cards.
305
-
306
- **Review / Article Card (gap-2 column flex)**
307
- - Background: transparent (image-led)
308
- - Border: none
309
- - Radius: 12px on the image, no container border
310
- - Title: 16px / 400 / `#000000` (live-observed as `rgb(0,0,0)` — slightly heavier than the semantic bluegray-900 on rich-media surfaces)
311
- - Padding: 0 (image touches container edges, text below)
312
- - Height observed: 330px (image + title + meta)
313
- - Use: 칼럼/community article grid.
314
-
315
- **Event / Promo Card (orange-tinted)**
316
- - Background: `#fef6f4` (orange-50)
317
- - Border: 1px solid `#feeee9` (orange-100)
318
- - Radius: 12px
319
- - Padding: 16px
320
- - Heading accent: `#d54300` or `#FF540F` flag tag (top-left)
321
- - Use: 핫딜 / 이벤트 / 한정 promo block.
322
-
323
- ### Badges, Tags & Pills
324
-
325
- **Brand Badge ("HOT", "특가")**
326
- - Background: `#FF540F`
327
- - Text: `#ffffff`
328
- - Border: none
329
- - Radius: 4px (`radius-100`)
330
- - Padding: 2px 6px
331
- - Font: 11-12px / 700 / Pretendard JP Variable
332
- - Use: Time-sensitive flags overlaid on event cards.
333
-
334
- **Success Badge ("인증 병원")**
335
- - Background: `#e8f6ec` (green-100)
336
- - Text: `#1a8656` (green-500)
337
- - Border: 1px solid `#aed2ba` (green-200) — optional
338
- - Radius: 9999px
339
- - Padding: 2px 8px
340
- - Font: 12px / 600 / Pretendard JP Variable
341
- - Use: Verification, success indicators.
342
-
343
- **Info Badge ("의료광고 사전심의")**
344
- - Background: `#ebf2ff` (blue-100)
345
- - Text: `#1b59bd` (blue-600)
346
- - Border: none
347
- - Radius: 4px
348
- - Padding: 2px 6px
349
- - Font: 11px / 600 / Pretendard JP Variable
350
- - Use: Regulatory / certification labels.
351
-
352
- **Neutral Pill (category)**
353
- - Background: `#ffffff`
354
- - Text: `#131517`
355
- - Border: 1px solid `#d8dfe6`
356
- - Radius: 9999px
357
- - Padding: 6px 12px
358
- - Font: 13-14px / 500 / Pretendard JP Variable
359
- - Selected: Background `#fef6f4` (orange-50), text `#d54300`, border `#fa8563`
360
- - Use: Category filter strip — "보톡스", "필러", "리프팅", "지방성형".
361
-
362
- ### Navigation
363
-
364
- **Global Header**
365
- - Background: `#ffffff`
366
- - Border-bottom: `0px solid #f5f5f5` (effectively a hairline divider via Tailwind utility — visually a subtle seam)
367
- - Height: 48px (observed live)
368
- - Logo left, sign-in button right (`outline` variant — 32px tall, 16px radius)
369
- - Font: 16px / 400 / Pretendard JP Variable on link labels
370
-
371
- **Category Nav (icon + label, horizontal)**
372
- - Item: 88px tall (icon 56px stacked above 13px label)
373
- - Background: transparent
374
- - Font: 13px / 400 / `#131517`
375
- - Use: Procedure category grid on home (제모 / 가슴성형 / 보톡스 / 필러 / 리프팅 / 모발이식 ...)
376
-
377
- **Bottom Nav (mobile primary chrome)**
378
- - Background: `#ffffff` (translucent on iOS via backdrop-blur on real mobile shell)
379
- - Border-top: 1px solid `#d8dfe6`
380
- - Height: 64-65px
381
- - Five items: 홈 / 병원 / 이벤트 / 커뮤니티 / 칼럼
382
- - Active state: icon and label switch to `#d54300` (orange-500)
383
- - Font: 11px / 500 / Pretendard JP Variable on label
384
-
385
- ### Footer
386
- - Background: `#f5f5f5` (bluegray-100 alias)
387
- - Border-top: 4px solid `#d6d6d6` — the system's heaviest single divider
388
- - Padding: 30px
389
- - Text: 13-14px / 400 / `#3a444d`
390
- - Link rows: Company / PR / 병원입점신청 / 이용약관 / 인재영입 / 위치기반서비스 이용약관 / 개인정보처리방침
391
- - No social icon row inline — kept text-only.
392
-
393
- ### Status & Inline States
394
-
395
- **Field Error**
396
- - Border: 1px solid `#d73f39` on input
397
- - Helper text: 12-13px / 400 / `#d73f39` below input
398
- - Icon: optional 16px `info` glyph in `#d73f39`
399
-
400
- **Toast (bottom-center)**
401
- - Background: `#131517` (bluegray-900)
402
- - Text: `#ffffff` 14px / 500
403
- - Border: none
404
- - Radius: 12px
405
- - Padding: 12px 16px
406
- - Duration: 3s
407
-
408
- **Skeleton**
409
- - Background: `#eff2f5` (bluegray-100)
410
- - Radius: matches component being loaded (4 / 8 / 12 / 16)
411
- - Shimmer: 8% white gradient sweep, 1.2s linear
412
-
413
- ---
414
-
415
- **Verified:** 2026-05-13
416
- **Tier 1 sources:** https://www.gangnamunni.com/ (live DOM `getComputedStyle` on header / sign-in button / category nav / article card / bottom nav / footer); https://next-static.gangnamunni.com/cheetah/rc-ad53c62/_next/static/css/d246c5b2edcb00b6.css (production CSS bundle — full `--cell-base-*` + `--cell-semantic-*` token map extracted); https://blog.gangnamunni.com/post/welchis/ (engineering blog confirming Cell + Welchis two-system architecture)
417
- **Tier 2 sources:** Tier 2: not found in getdesign/refero as of 2026-05-13 (getdesign.md/gangnamunni → "No designs found"; styles.refero.design/?q=gangnamunni and ?q=강남언니 → no brand-matched style cards)
418
- **Conflicts unresolved:** none (no Tier 2 data to conflict with Tier 1)
419
-
420
- ## 5. Layout Principles
421
-
422
- ### Spacing System
423
- - Base unit: 8px (`--cell-base-dimension-scale-200` = 0.5rem)
424
- - Full scale (rem): 25 → 0.0625 (1px), 50 → 0.125 (2px), 75 → 0.1875 (3px), 100 → 0.25 (4px), 150 → 0.375 (6px), 200 → 0.5 (8px), 250 → 0.625 (10px), 300 → 0.75 (12px), 350 → 0.875 (14px), 400 → 1 (16px), 500 → 1.25 (20px), 600 → 1.5 (24px), 700 → 1.75 (28px), 800 → 2 (32px), 900 → 2.25 (36px), 1000 → 2.5 (40px), 1200 → 3 (48px), 1400 → 3.5 (56px), 1600 → 4 (64px), 1800 → 4.5 (72px), 2000 → 5 (80px), 2400 → 6 (96px)
425
- - Page-section vertical rhythm typically uses `spacing-1200` (48px) between major sections, `spacing-800` (32px) within sections.
426
-
427
- ### Grid & Container
428
- - Mobile-first; the consumer app surface is the primary design target. Web is a re-skin of the mobile layout.
429
- - Max content width on web home: ~1200px centered with 24px side padding on tablet, 48px+ on desktop.
430
- - Category nav: 4 columns mobile, 8-10 columns desktop, icons fixed 56px.
431
- - Card grids: 2 columns mobile, 3-4 columns desktop, 16px gap (`spacing-400`).
432
-
433
- ### Whitespace Philosophy
434
- - **Information density first.** The category-discovery surface is intentionally dense — users scanning for a treatment do not want a hero. Spacing within cards is tight (16px paddings) while between cards remains generous (16-24px gaps).
435
- - **Footer-as-paragraph-break.** The single 4px `#d6d6d6` divider is the strongest horizontal rule in the layout — it tells the user "you've reached company info, what's above was content."
436
- - **Tint, not shadow.** Section breaks use `bluegray-50` or `orange-50` washes rather than elevation. Saves visual budget for the few places where contrast really matters (price, review count, certified-clinic badge).
437
-
438
- ### Border Radius Scale
439
- - Micro (2-4px): Inline badges, small tags
440
- - Small (6-8px): Inline chips, status pills
441
- - Standard (12px): Cards, inputs — the workhorse
442
- - Medium (16px): **Default chrome radius** — buttons, sign-in pill, search containers, primary CTA
443
- - Large (20-24px): Bottom sheets, large card variants
444
- - 32px raw: Special-case rounded chrome (e.g., floating action buttons, full-width media containers)
445
- - `full` (9999px): Search bar, avatars, icon buttons, category pills
446
-
447
- ## 6. Depth & Elevation
448
-
449
- | Level | Treatment | Use |
450
- |---|---|---|
451
- | Flat (Level 0) | No shadow, no border | Inline text, page bg |
452
- | Hairline (Level 1) | 1px solid `#d8dfe6` (bluegray-200) | **Default for cards, inputs, headers** — replaces a drop shadow |
453
- | Tinted Surface (Level 2) | `bluegray-50` (`#f7f9fa`) or `bluegray-100` (`#eff2f5`) bg | Section backgrounds, hover surfaces |
454
- | Soft Shadow (Level 3) | `0 4px 12px rgba(0, 0, 0, 0.08)` | Bottom sheets, dropdowns, popovers |
455
- | Modal (Level 4) | `0 12px 32px rgba(0, 0, 0, 0.16)` + 60% black backdrop | Full-screen modals, reservation confirmation |
456
- | Heavy Divider | `border-top: 4px solid #d6d6d6` | Page footer separation — unique single use |
457
-
458
- **Elevation philosophy.** Gangnamunni's medical context demands trust, and dramatic shadows look "consumer-app fun" rather than "clinically clean". The system communicates depth through **hairline borders + tinted backgrounds** rather than shadow stacks. Drop shadows appear only at popover/sheet/modal levels — never on resting cards. The single heaviest divider (4px `#d6d6d6` footer top) carries the structural break that other systems would use a section shadow for.
459
-
460
- ## 7. Do's and Don'ts
461
-
462
- ### Do
463
- - Use `#d54300` (or raw `#FF540F` for time-sensitive flags) as the sole brand accent — orange is the entire brand identity
464
- - Use **bluegray** for neutrals — never warm gray, never pure black on text
465
- - Default to 1px `#d8dfe6` borders on cards instead of drop shadows
466
- - Use 700 weight for prices and quantitative data; let the numeric weight do the visual highlighting
467
- - Use orange-50 (`#fef6f4`) as a tint surface for event/promo cards — keeps the brand orange visible without an overwhelming CTA-orange wash
468
- - Pretendard JP Variable across all locales — the system is multilingual-by-design
469
- - Use the 16px (`radius-400`) chrome radius for buttons and sign-in CTAs — confirmed by live header inspection
470
- - Use bluegray-900 (`#131517`) for headings — not `#000`
471
-
472
- ### Don't
473
- - Don't introduce a second hue as a brand color — orange is singular
474
- - Don't use pink as a primary CTA fill (the trending-pink token exists but is reserved for chips, never CTA)
475
- - Don't apply drop shadows to resting cards — elevation = border + tint
476
- - Don't pick a display-light weight (300) for headlines — the brand is in the 400-700 register
477
- - Don't use pure black (`#000000`) for headings — always `#131517` bluegray-900 (live-observed black-on-rich-media images is an exception)
478
- - Don't substitute pure gray for the bluegray neutrals — the cool undertone is intentional
479
- - Don't add tracking experiments on Korean text — `letterspacing-none` is the default
480
- - Don't replace category icons with stock photography — the home is icon-grid-driven
481
-
482
- ## 8. Responsive Behavior
483
-
484
- ### Breakpoints
485
- | Name | Width | Key Changes |
486
- |---|---|---|
487
- | Mobile | <640px | 4-col category nav, 2-col card grid, bottom nav visible |
488
- | Tablet | 640-1024px | 6-col category nav, 3-col card grid, bottom nav hidden, header sign-in visible |
489
- | Desktop | 1024-1280px | 8-10 col category nav, 4-col card grid, full footer |
490
- | Large Desktop | >1280px | Content max 1200px centered, side padding 48px+ |
491
-
492
- ### Touch Targets
493
- - Bottom nav items: 64px tall, ≥ 48px wide
494
- - Sign-in button (header): 32px tall — small for desktop, the mobile shell uses a different chrome
495
- - Category icons: 56px icon + 13px label = 88px total touch target
496
- - Card-level tap zones span full card width (no hidden hit-targets)
497
-
498
- ### Collapsing Strategy
499
- - Header: full nav links → search icon + sign-in pill (mobile)
500
- - Category nav: 8-10 columns → 4 columns, scrollable horizontal strip on narrow tablet
501
- - Card grid: 4 → 3 → 2 → 1 column
502
- - Footer: link grid stacks vertically below 640px
503
-
504
- ### Image Behavior
505
- - Doctor / clinic / event card images use 12px radius (matching card radius)
506
- - Aspect ratios: 1:1 (doctor portrait), 4:3 (treatment), 16:9 (event banner)
507
- - Always `object-fit: cover` — never stretched
508
-
509
- ## 9. Agent Prompt Guide
510
-
511
- ### Quick Color Reference
512
- - Primary brand: Orange `#d54300` (`--cell-base-color-orange-500`)
513
- - Brand FG regular: Orange `#f66336` (`--cell-base-color-orange-400`)
514
- - Brand accent raw: `#FF540F`
515
- - Background canvas: `#ffffff`
516
- - Surface subtle: Bluegray-100 `#eff2f5` / Bluegray-50 `#f7f9fa`
517
- - Heading: Bluegray-900 `#131517`
518
- - Body: Bluegray-700 `#3a444d`
519
- - Caption: Bluegray-500 `#697683`
520
- - Border default: Bluegray-200 `#d8dfe6`
521
- - Success: Green-400 `#27a86d` / Green-500 `#1a8656`
522
- - Danger: Red-500 `#d73f39`
523
- - Warning: Yellow-400 `#f9c647`
524
- - Info: Blue-500 `#3270d6`
525
- - Footer divider: `#d6d6d6` (4px solid top border) on `#f5f5f5` band
526
-
527
- ### Example Component Prompts
528
- - "Create a primary brand CTA: background `#d54300`, text `#ffffff`, 16px radius, padding 12px 20px, Pretendard JP Variable 16px weight 600. Hover background `#ab350c`."
529
- - "Build a hospital card: white background, 1px solid `#d8dfe6` border, 12px radius, 16px padding, **no shadow**. Title at 16px Pretendard weight 700, color `#131517`. Meta row '강남구 · 0.4km · 후기 7,300건' at 13px weight 400 color `#697683`. Price `350,000원` at 14px weight 700 color `#131517` with list price strikethrough in `#8694a2`."
530
- - "Design a hot-deal badge: background `#FF540F`, white text, 4px radius, 2px 6px padding, 12px Pretendard weight 700. Position absolute top-left of event card."
531
- - "Create the global header: 48px tall, white background, hairline `#f5f5f5` bottom seam, Pretendard 16px / 400 link text in `#131517`. Sign-in button on the right: 32px tall, white bg, `1px solid #d8dfe6` border, 16px radius, 6px 14px padding, 14px Pretendard 400, '로그인/가입' label."
532
- - "Build the category nav: 4 columns mobile, 8 desktop. Each item is an 88px-tall stack: 56px icon, 8px gap, 13px Pretendard 400 label in `#131517`. Transparent background. Tap target spans full cell."
533
- - "Design the footer band: `#f5f5f5` background, `border-top: 4px solid #d6d6d6`, 30px padding, link text 13px Pretendard 400 in `#3a444d`. No social icons inline."
534
-
535
- ### Iteration Guide
536
- 1. **One brand hue only.** If your CTA isn't orange, it isn't the primary CTA. Pink, blue, green are reserved for status, trending chips, or info badges — never primary.
537
- 2. **Hairline > shadow.** Default to `1px solid #d8dfe6` borders on resting cards. Only apply shadows when an element actually floats (popover, sheet, modal).
538
- 3. **Bluegray, not gray.** Always `#697683` for caption, `#3a444d` for body, `#131517` for heading. The cool undertone separates the brand from generic warm-neutral medical UI.
539
- 4. **Numbers in 700.** Prices, review counts, distances all switch to weight 700. Don't mix; numbers should always read "heavier" than surrounding body.
540
- 5. **16px radius for chrome.** Buttons, sign-in pills, primary CTAs all use `radius-400` (16px). Smaller pills (chips, badges) use 4-8px. Search bars and avatars go to `radius-full`.
541
- 6. **No display-light.** Stick to 400-700. The brand does not use weight 300 on display headlines.
542
- 7. **Pretendard JP Variable** is the only font. No serif, no display custom, no script.
543
- 8. **Korean-first copy.** UI labels and CTAs should be Korean by default. English exists in technical labels (BTL, IPL) but never on chrome buttons.
544
-
545
- ---
546
-
547
- ## 10. Voice & Tone
548
-
549
- 강남언니's voice is the careful clinician who happens to be on your side — informational first, reassuring second, never sales-y. The product handles a category where users are nervous (성형수술, 피부시술, 모발이식 are not impulse purchases) and where misinformation is the historical norm in Korean beauty media. So the copy refuses the consumer-beauty register: no "✨ 예뻐지자!", no exclamation marks on routine CTAs, no rounded "약 30만원~" pricing. Information is exact ("후기 7,300건", "강남구 · 0.4km · 1,234곳"), and the system explains *why* before asking the user to act.
550
-
551
- Korean is the primary voice; English UI strings exist for overseas surfaces but are translations, not parity. Sentences in body copy end with `.`; CTA buttons do not. No emoji on medical-information surfaces.
552
-
553
- | Context | Tone |
554
- |---|---|
555
- | Card titles (hospital, doctor, treatment) | Factual, scan-friendly. "강남 OO성형외과 — 코재수술 전문". Never "예뻐지는 비결". |
556
- | CTAs | Imperative + concrete object. "병원 예약하기", "후기 작성하기", "쿠폰 받기", "상담 신청". Never "지금 시작하기!" with exclamation. |
557
- | Review prompts | Second-person, soft. "솔직한 후기를 들려주세요." Never "꼭 남겨주세요!!". |
558
- | Hospital meta | Comma-separated facts. `강남구 · 0.4km · 후기 7,300건 · 인증 병원`. Numerals always exact. |
559
- | Price display | `350,000원` (comma-separated), with `--list-price` strikethrough where applicable. Never `약 35만원`, never `35만원대`. |
560
- | Empty state (search) | One reassuring line in `#697683`: "조건에 맞는 결과가 없어요. 필터를 조정해보세요." |
561
- | Error (form / API) | Specific + blameless. "이메일 형식을 확인해주세요." Never "오류가 발생했습니다." |
562
- | Verification / regulatory | Formal medical-advertising tone — `의료광고 사전심의필`, `보건복지부 지침에 따라` — required by Korean medical-advertising regulation. |
563
- | Onboarding (overseas / Unni) | English mirror of Korean voice — same restraint, same factual register. |
564
-
565
- **Forbidden phrases.** `예뻐지세요!`, `~할 수 있어요!` (with exclamation), `약 ~원` on primary pricing, rounded review counts (`후기 약 7,000건`), generic `오류가 발생했습니다`, "✨", "💖", "🥺", any phrase that frames cosmetic surgery as cosmetic-only ("예쁘게"). Promotional sales-speak ("초특가", "100만원 할인!!") is restricted to flagged hot-deal cards with the `#FF540F` badge, never used in body copy.
566
-
567
- **Voice samples (verified against live home 2026-05-13).**
568
- 1. `종아리 보톡스 맞으면 발목 두꺼워져? 효과·부작용·용량·주기` — article title; question form invites the user, mid-dot separator lists exactly what will be covered. No fluff. *(Verified: gangnamunni.com home, observed via playwright snapshot 2026-05-13.)*
569
- 2. `보톡스 입문자 가이드, 효과·비용·부작용부터 국산vs수입 차이까지` — same pattern: target reader + comma-separated index of contents. Sets expectation precisely. *(Verified: gangnamunni.com home 2026-05-13.)*
570
- 3. `로그인/가입` — the sign-in CTA. One slash, no "회원가입은 무료입니다!". Zero salesmanship. *(Verified: gangnamunni.com header.)*
571
-
572
- ## 11. Brand Narrative
573
-
574
- 강남언니 is the consumer brand of **힐링페이퍼 (Healingpaper)**, a Korean medtech company founded in **July 2012** by **홍승일 (Hong Seung-il)** — co-founder and CEO ([Rocketpunch — 홍승일 / vanitymind](https://www.rocketpunch.com/@vanitymind), [Rocketpunch — Healingpaper](https://www.rocketpunch.com/companies/healingpaper)). The mission is straightforward and stated repeatedly in the company's own materials: *"더 좋은 의료를 더 많은 사람들이 접할 수 있도록"* (make better medical services accessible to more people). The product entered a Korean cosmetic-surgery information market that had been dominated by opaque pricing, paid placements masquerading as reviews, and 압구정 office-tower fliers — the design's refusal of beauty-app pinks-and-sparkles is a refusal of that media culture.
575
-
576
- The company crossed the **예비 유니콘 (pre-unicorn)** threshold by 2021 and as of recent funding has cumulative investment near **313억원 ($230M+)** across multiple rounds: Seed 2015-07 (3억), Series A 2019-07 (45억) with Premier Partners / Stonebridge Ventures / Won-Ik Investment, Series B 2020-03 (185억) with Premier / Stonebridge / Legend Capital / Hana Ventures / KB Investment, and a Series D growth round of **428억원** in **2025-02** ([Hankook Ilbo — 2025-02-17](https://www.hankookilbo.com/News/Read/A2025021715490005621), [TheVC — Healingpaper](https://thevc.kr/healingpaper)). The platform now serves **7M+ users globally** across Korea, Japan, Thailand, and other markets — the overseas-only app *Unni* alone passed **700,000 users by March 2024**.
577
-
578
- The design system is named **Cell** (mobile: iOS / Android / mWeb) and **Welchis** (PC back-office for partner clinics) — the team published the rationale on their own engineering blog: *"앱과 백오피스는 UX 패턴이 본질적으로 달라서 (앱은 바텀시트, 백오피스는 팝업·테이블), 한 시스템으로 묶기보다 둘로 나눴습니다."* (the back-office and the consumer app have fundamentally different UX patterns — bottom sheets vs. popups-and-tables — so they're split rather than merged) ([Welchis 소개 — gangnamunni blog](https://blog.gangnamunni.com/post/welchis/)). Welchis itself is split into **Welchis Design** (tone / manner / visual) and **Welchis UI** (Figma file + web component library), with Storybook as the design-engineering handoff bridge — explicitly replacing Zeplin pixel-measurement.
579
-
580
- What 강남언니 refuses: the visual vocabulary of consumer-beauty apps (cartoon pinks, sparkle emojis, "예뻐지는 비결"), the opacity of legacy cosmetic-surgery media (rounded pricing, anonymous testimonials, undisclosed paid placements), and the institutional sterility of hospital websites (cold blues, medical iconography). What it embraces: exact numerals (`후기 7,300건`, `0.4km`), single-hue brand restraint (orange-500 only), bluegray neutrals (warmer than pure gray, cooler than beige), and a footer that ends with `의료광고 사전심의` rather than social-media icons.
581
-
582
- ## 12. Principles
583
-
584
- 1. **Information density is hospitality.** A user opening 강남언니 is researching, not browsing for delight. Cards show price, distance, review count, and certification status simultaneously. Trimming any of those to "look cleaner" is unkind to the user's real task. *UI implication: hospital cards never hide review count behind a hover; price is never rounded for visual cleanliness.*
585
- 2. **One hue, one job.** Orange `#d54300` (or its raw cousin `#FF540F`) is the only brand color. Every other color in the system has a specific semantic role (green = success / certified, red = danger / decline, blue = info / regulatory, yellow = warning). Brand never bleeds into status; status never decorates brand. *UI implication: a "popular" tag cannot be orange; it goes pink-tinted or neutral. A success badge cannot use brand orange.*
586
- 3. **Trust comes from numerals.** Prices in `350,000원` (comma-separated, weight 700) rather than `약 35만원`. Distances in `0.4km` rather than `근거리`. Review counts in `7,300건` rather than `많음`. The exactness signals "we have the data; we are not rounding to soften a sale." *UI implication: numbers always tabular-weighted (700) and never abbreviated; ranges show both endpoints (`300,000 – 450,000원`), never a single rounded figure.*
587
- 4. **Hairlines over shadows.** Default elevation is a 1px `#d8dfe6` border, not a drop shadow. Shadows are reserved for surfaces that *literally* float (popover, sheet, modal). This is the system's strictest aesthetic line — consumer-app shadow stacks would make the surface feel less like a medical product. *UI implication: resting cards never have `box-shadow`. A designer adding one is making the surface "less trusted," even if it looks "more polished."*
588
- 5. **Two systems, one voice.** Cell (app) and Welchis (back-office) are split because their *form* differs, not because their *voice* differs. The tone of an error message on the partner-clinic dashboard reads the same as the tone of a review prompt on the consumer app — both refuse "오류가 발생했습니다" in favor of specific blameless guidance. *UI implication: a designer working in Welchis cannot import consumer-app voice patterns directly, but they cannot drift into IT-admin sterility either.*
589
- 6. **Regulatory disclosure is part of the design.** Korean medical advertising is regulated; `의료광고 사전심의필` and `보건복지부 지침` callouts are mandatory and visible on the footer. The system treats those badges as **part of trust** rather than legal afterthought — they're typeset with the same care as a UI label. *UI implication: never hide regulatory text in a sub-modal. It belongs on the surface, near the action.*
590
- 7. **Korean is primary, not localized.** The product is a Korean medical platform first; English and other-locale strings (Japanese, Thai) are translations of the Korean source-of-truth, not parallel design targets. Pretendard JP Variable was chosen because it renders Korean and Japanese with equal care — but the design grammar is Korean-first. *UI implication: a UI string that reads well in English but awkwardly in Korean must be rewritten. The reverse is acceptable.*
591
-
592
- ## 13. Personas
593
-
594
- *Personas below are fictional archetypes informed by publicly observable 강남언니 user segments (Korean cosmetic-procedure researchers, overseas medical-tourism inbound users, partner-clinic operators using the Welchis back-office). Names are illustrative — they do not refer to real people.*
595
-
596
- **지수 (Jisoo), 26, 서울 신촌.** Marketing associate considering 코재수술 after her first rhinoplasty 4 years ago. Opens 강남언니 most evenings, scrolls 칼럼 articles for 30-45 minutes before bed, has saved 18 hospitals in her shortlist. Will not consult any clinic that doesn't have at least 200 후기 with photos on 강남언니. Reads the regulatory `의료광고 사전심의필` badge specifically as a trust marker — if the certification icon is missing, the clinic moves to a "not yet" list. Distrusts any banner that uses an exclamation mark.
597
-
598
- **선생님 박 (Dr. Park), 47, 강남.** Plastic surgeon, head of a 4-doctor clinic. Uses the **Welchis** back-office daily to manage events, respond to consultations, and track inquiry-to-booking conversion. Has strong opinions about the consultation-response template UI — wants no animation delay between "new message" toast and the chat opening. Reads the Welchis Storybook component names ("HeaderDefault", "BookingTable") in the same language as his front-end developer son, which he considers oddly satisfying.
599
-
600
- **Mei (메이), 32, 上海 → 강남.** Inbound medical-tourism user, uses the *Unni* overseas app in English with occasional 한글 cross-references when she sees a doctor's name. Decision factors in priority order: certification badge → before/after photos (`수술 전후`) → English-fluent staff indicator → price range → distance from her hotel. Will not book without a written quote in writing within the app — phone-call-only clinics are filtered out.
601
-
602
- **준호 (Junho), 34, 대구.** Considering 모발이식 after a year of medication that plateaued. Browses on mobile during lunch breaks. Sensitive to pricing transparency — has bookmarked one clinic specifically because their event card shows `1,500모: 2,400,000원` (exact graft count, exact price) rather than the more common `상담 후 결정`. Reads the 칼럼 article gateway titles ("탈모 정도별 추천 시술") as decision aids, not entertainment.
603
-
604
- ## 14. States
605
-
606
- | State | Treatment |
607
- |---|---|
608
- | **Empty (saved-hospitals list)** | White canvas. Bluegray-700 body text at 16px: `아직 저장한 병원이 없어요.` Single brand CTA below: `병원 둘러보기` (16px Pretendard weight 600, white text, `#d54300` background, 16px radius). No illustration, no mascot. |
609
- | **Empty (search results)** | Bluegray-500 caption at 14px: `조건에 맞는 결과가 없어요.` Filter chips remain visible above so the user can adjust scope. No suggested-content fallback grid (the system trusts the user to refine the query themselves). |
610
- | **Empty (no reviews yet on a hospital page)** | Bluegray-700 single line: `아직 후기가 작성되지 않았어요.` + secondary brand-subtle CTA: `첫 후기 작성하기` in `#fef6f4` bg / `#d54300` text. |
611
- | **Loading (first paint — hospital list)** | Skeleton blocks at `#eff2f5` (bluegray-100), exact final card dimensions, 12px radius matching cards. 1.2s shimmer at 8% white. Price areas show narrower skeleton bars (matches the typographic width of `350,000원`) — never wider than the final value. |
612
- | **Loading (in-place refresh — review list)** | 2px `#d54300` progress bar across the top of the list. Previous reviews stay visible and interactive. No spinner overlay. |
613
- | **Error (form validation)** | Field-level. 1px solid `#d73f39` (red-500) border on the input. Below the input: 13px `#d73f39` text describing exactly what's invalid (`전화번호 형식을 확인해주세요. 예: 010-1234-5678.`). Never `필수 입력입니다.` alone. |
614
- | **Error (API call failed)** | Inline banner above the action area. `#fff6f5` (red-50) background, 1px `#fbb7af` (red-200) border, 13px `#d73f39` text. Message = what failed + concrete retry guidance (`예약 정보를 불러오지 못했어요. 잠시 후 다시 시도해주세요.`). Retry button as Outline secondary. |
615
- | **Error (network / offline)** | Full-screen state. White canvas. 16px `#131517` heading `연결이 끊어졌어요.` + 14px `#697683` subtitle `네트워크 상태를 확인해주세요.` + Outline retry button. |
616
- | **Success (booking confirmed)** | Dedicated confirmation surface — not a toast. `#27a86d` (green-400) checkmark icon top-center (40px), heading `예약이 완료됐어요` at 20px weight 700 below, then booking facts (clinic / doctor / date / price). Single brand CTA: `예약 내역 보기`. Money-affecting actions are never toasts. |
617
- | **Success (review saved / settings updated)** | 3s auto-dismiss toast bottom-center. `#131517` bg, white 14px weight 500 text, 12px radius, `후기를 저장했어요`. No emoji, no exclamation. |
618
- | **Skeleton** | `#eff2f5` blocks at exact final dimensions, radius matched to the loading component (4 / 8 / 12 / 16). Linear-gradient shimmer 8% white over 1.2s. Prices and other tabular numerals always render `--` rather than a skeleton block (a placeholder block where money is expected reads as "the system thinks something is here" — visually misleading). |
619
- | **Disabled** | Button opacity collapses surface and text together. Brand-orange CTA disabled → `#fbb8a4` (orange-200). Outline button disabled → text `#8694a2`, border `#e4e8ec`. Geometry never changes. |
620
- | **Selected (category pill)** | Background switches from white to `#fef6f4` (orange-50). Text switches from `#131517` to `#d54300`. Border switches from `#d8dfe6` to `#fa8563` (orange-300). |
621
-
622
- ## 15. Motion & Easing
623
-
624
- **Durations.**
625
-
626
- | Token | Value | Use |
627
- |---|---|---|
628
- | `motion-instant` | 0ms | Toggle flips, checkmark commits, focus rings |
629
- | `motion-fast` | 150ms | Hover, focus, small reveals, pill-select state change |
630
- | `motion-standard` | 250ms | Default — sheet open, card expand, tab switch, dropdown |
631
- | `motion-slow` | 350ms | Booking-confirmation surface entry, success checkmark draw |
632
- | `motion-page` | 320ms | Top-level route transitions on web; iOS-style push on mobile |
633
-
634
- **Easings.**
635
-
636
- | Token | Curve | Use |
637
- |---|---|---|
638
- | `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Things arriving — bottom sheets, toasts, success surfaces |
639
- | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals — sheet close, toast disappear |
640
- | `ease-standard` | `cubic-bezier(0.4, 0.0, 0.2, 1)` | Two-way transitions — tabs, collapsible filter, accordion |
641
-
642
- **Explicitly forbidden.** No spring, no bounce, no overshoot. The medical category cannot afford the consumer-app "delight" register. A button that wiggles on press reads less trustworthy. The system intentionally has no `ease-spring` token (unlike Toss, which licenses one specifically for the money-moved checkmark — 강남언니's confirmation surface uses `motion-slow / ease-enter` linear-checkmark draw instead, no overshoot).
643
-
644
- **Signature motions.**
645
-
646
- 1. **Bottom-sheet present (mobile).** Sheets rise from `y+40px` with `motion-standard / ease-enter`, synchronized backdrop fade from `rgba(19,21,23,0)` to `rgba(19,21,23,0.5)`. Dismissal uses `motion-fast / ease-exit`. The sheet is the dominant pattern for hospital-detail, doctor-detail, review-photo gallery.
647
- 2. **Category pill select.** When a user picks a procedure (보톡스 → selected), the pill background transitions from white → `#fef6f4` over `motion-fast / ease-standard`, the text color transitions in parallel. Border stroke transition is on the same curve. No scale animation, no shadow pulse.
648
- 3. **Booking confirmation entry.** When `예약 완료` surface mounts: checkmark icon draws from center over `motion-slow / ease-enter` (stroke-dashoffset animation, no bounce). Body content fades in at `motion-standard / ease-enter` with a `y+8px` slide. The entire sequence reads as **calm** rather than celebratory — appropriate for a high-stakes medical-procedure booking.
649
- 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`. The sheet appears in place. The checkmark renders complete. The app is fully usable without any kinetic feedback.
650
-
651
- <!--
652
- OmD v0.1 Sources — Philosophy Layer (§10-15)
653
-
654
- Direct verification (2026-05-13):
655
- - https://www.gangnamunni.com/ — voice samples §10 (article titles "종아리 보톡스...", "보톡스 입문자 가이드...", header CTA "로그인/가입")
656
- confirmed via playwright snapshot.
657
- - https://blog.gangnamunni.com/post/welchis/ — confirms Cell + Welchis architecture, Storybook handoff,
658
- custom UI library rationale (multiple products requiring consistent updates, third-party API
659
- conflicts with design specs, fork maintenance burden, missing component classes).
660
- - https://www.hankookilbo.com/News/Read/A2025021715490005621 — 2025-02 Series D 428억원 round.
661
- - https://thevc.kr/healingpaper — cumulative funding ≈ 313억, founder/CEO 홍승일.
662
- - https://www.rocketpunch.com/@vanitymind — confirms 홍승일 as Healingpaper Co-founder/CEO (vanitymind handle).
663
- - https://www.rocketpunch.com/companies/healingpaper — 2012-07 founding, company profile.
664
-
665
- Not independently verified — widely reported public facts used:
666
- - 7M+ global users across KR / JP / TH (multiple press cites, see WebSearch synthesis 2026-05-13).
667
- - 'Unni' overseas app at 700,000 users as of 2024-03.
668
-
669
- Personas (§13) are fictional archetypes informed by publicly observable 강남언니 user segments
670
- (Korean cosmetic-procedure researchers, overseas medical-tourism users, partner-clinic operators).
671
- Names and specific shortlist sizes / 모 counts are illustrative.
672
-
673
- Interpretive claims (e.g., "the brand's refusal of pink-and-sparkle consumer-beauty cues is a refusal
674
- of the legacy 압구정 media culture", "hairline borders are stricter aesthetic line than shadow stacks
675
- in a medical context") are editorial readings connecting the system's observed restraint to its
676
- category positioning, not directly sourced 강남언니 statements.
677
- -->