zugzbot 1.0.21 → 1.0.22

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 (1271) 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/opencode.json +8 -0
  7. package/package.json +14 -4
  8. package/.opencode/active-brief.md +0 -38
  9. package/.opencode/docs/shadcn/agents/openai.yml +0 -5
  10. package/.opencode/docs/shadcn/assets/shadcn-small.png +0 -0
  11. package/.opencode/docs/shadcn/assets/shadcn.png +0 -0
  12. package/.opencode/docs/shadcn/cli.md +0 -290
  13. package/.opencode/docs/shadcn/customization.md +0 -209
  14. package/.opencode/docs/shadcn/evals/evals.json +0 -47
  15. package/.opencode/docs/shadcn/mcp.md +0 -105
  16. package/.opencode/docs/shadcn/registry.md +0 -277
  17. package/.opencode/docs/shadcn/rules/base-vs-radix.md +0 -306
  18. package/.opencode/docs/shadcn/rules/composition.md +0 -195
  19. package/.opencode/docs/shadcn/rules/forms.md +0 -192
  20. package/.opencode/docs/shadcn/rules/icons.md +0 -101
  21. package/.opencode/docs/shadcn/rules/styling.md +0 -162
  22. package/.opencode/oh-my-design/.agents/skills/google-analytics/EXAMPLES.md +0 -441
  23. package/.opencode/oh-my-design/.agents/skills/google-analytics/REFERENCE.md +0 -342
  24. package/.opencode/oh-my-design/.agents/skills/google-analytics/SKILL.md +0 -153
  25. package/.opencode/oh-my-design/.agents/skills/google-analytics/requirements.txt +0 -6
  26. package/.opencode/oh-my-design/.agents/skills/google-analytics/scripts/analyze.py +0 -459
  27. package/.opencode/oh-my-design/.agents/skills/google-analytics/scripts/ga_client.py +0 -345
  28. package/.opencode/oh-my-design/.claude/agents/omd-a11y-auditor.md +0 -98
  29. package/.opencode/oh-my-design/.claude/agents/omd-asset-curator.md +0 -99
  30. package/.opencode/oh-my-design/.claude/agents/omd-codex-image.md +0 -49
  31. package/.opencode/oh-my-design/.claude/agents/omd-critic.md +0 -142
  32. package/.opencode/oh-my-design/.claude/agents/omd-designer-review.md +0 -38
  33. package/.opencode/oh-my-design/.claude/agents/omd-final-qa.md +0 -40
  34. package/.opencode/oh-my-design/.claude/agents/omd-kr-writer.md +0 -35
  35. package/.opencode/oh-my-design/.claude/agents/omd-locale-adapter.md +0 -32
  36. package/.opencode/oh-my-design/.claude/agents/omd-master.md +0 -317
  37. package/.opencode/oh-my-design/.claude/agents/omd-microcopy.md +0 -64
  38. package/.opencode/oh-my-design/.claude/agents/omd-orchestrator.md +0 -34
  39. package/.opencode/oh-my-design/.claude/agents/omd-persona-tester.md +0 -119
  40. package/.opencode/oh-my-design/.claude/agents/omd-ui-junior.md +0 -130
  41. package/.opencode/oh-my-design/.claude/agents/omd-ux-researcher.md +0 -63
  42. package/.opencode/oh-my-design/.claude/data/opt-out-corpus.json +0 -141
  43. package/.opencode/oh-my-design/.claude/data/reference-fingerprints.json +0 -6142
  44. package/.opencode/oh-my-design/.claude/data/reference-tags.md +0 -104
  45. package/.opencode/oh-my-design/.claude/data/synonyms.json +0 -79
  46. package/.opencode/oh-my-design/.claude/data/vocabulary.json +0 -516
  47. package/.opencode/oh-my-design/.claude/hooks/lib/preferences-parser.cjs +0 -91
  48. package/.opencode/oh-my-design/.claude/hooks/lib/preferences-writer.cjs +0 -118
  49. package/.opencode/oh-my-design/.claude/hooks/post-edit-watch.cjs +0 -295
  50. package/.opencode/oh-my-design/.claude/hooks/session-end-foldin.cjs +0 -149
  51. package/.opencode/oh-my-design/.claude/hooks/session-state-loader.cjs +0 -113
  52. package/.opencode/oh-my-design/.claude/hooks/skill-activation.cjs +0 -108
  53. package/.opencode/oh-my-design/.claude/settings.json +0 -55
  54. package/.opencode/oh-my-design/.claude/skills/omd/SKILL.md +0 -133
  55. package/.opencode/oh-my-design/.claude/skills/omd-add-reference/SKILL.md +0 -381
  56. package/.opencode/oh-my-design/.claude/skills/omd-add-reference/batch-instructions.md +0 -111
  57. package/.opencode/oh-my-design/.claude/skills/omd-apply/SKILL.md +0 -87
  58. package/.opencode/oh-my-design/.claude/skills/omd-batch-launch/SKILL.md +0 -270
  59. package/.opencode/oh-my-design/.claude/skills/omd-codex-image/SKILL.md +0 -162
  60. package/.opencode/oh-my-design/.claude/skills/omd-component-harvest/SKILL.md +0 -59
  61. package/.opencode/oh-my-design/.claude/skills/omd-designer-review/SKILL.md +0 -146
  62. package/.opencode/oh-my-design/.claude/skills/omd-final-qa/SKILL.md +0 -153
  63. package/.opencode/oh-my-design/.claude/skills/omd-harness/SKILL.md +0 -234
  64. package/.opencode/oh-my-design/.claude/skills/omd-init/SKILL.md +0 -169
  65. package/.opencode/oh-my-design/.claude/skills/omd-kr-writer/SKILL.md +0 -229
  66. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/SKILL.md +0 -53
  67. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/compare.md +0 -30
  68. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v1.md +0 -42
  69. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v2.md +0 -34
  70. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v3.md +0 -33
  71. package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v4.md +0 -37
  72. package/.opencode/oh-my-design/.claude/skills/omd-lab-02-design-harness/SKILL.md +0 -131
  73. package/.opencode/oh-my-design/.claude/skills/omd-learn/SKILL.md +0 -83
  74. package/.opencode/oh-my-design/.claude/skills/omd-locale-adapter/SKILL.md +0 -124
  75. package/.opencode/oh-my-design/.claude/skills/omd-migrate/SKILL.md +0 -307
  76. package/.opencode/oh-my-design/.claude/skills/omd-orchestrator/SKILL.md +0 -124
  77. package/.opencode/oh-my-design/.claude/skills/omd-release-hygiene/SKILL.md +0 -113
  78. package/.opencode/oh-my-design/.claude/skills/omd-remember/SKILL.md +0 -46
  79. package/.opencode/oh-my-design/.claude/skills/omd-sync/SKILL.md +0 -40
  80. package/.opencode/oh-my-design/.claude/skills/omd-token-backfill/SKILL.md +0 -57
  81. package/.opencode/oh-my-design/.claude/skills/skill-rules.json +0 -84
  82. package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/agent-fidelity.md +0 -59
  83. package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/bug-report.md +0 -36
  84. package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/config.yml +0 -8
  85. package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/feature-request.md +0 -26
  86. package/.opencode/oh-my-design/.github/PULL_REQUEST_TEMPLATE.md +0 -134
  87. package/.opencode/oh-my-design/.github/assets/logo-bg.png +0 -0
  88. package/.opencode/oh-my-design/.github/workflows/release.yml +0 -55
  89. package/.opencode/oh-my-design/.husky/pre-commit +0 -23
  90. package/.opencode/oh-my-design/.mcp.json +0 -12
  91. package/.opencode/oh-my-design/AGENTS.md +0 -112
  92. package/.opencode/oh-my-design/CHANGELOG.md +0 -385
  93. package/.opencode/oh-my-design/LICENSE +0 -21
  94. package/.opencode/oh-my-design/README.ja.md +0 -74
  95. package/.opencode/oh-my-design/README.ko.md +0 -112
  96. package/.opencode/oh-my-design/README.md +0 -112
  97. package/.opencode/oh-my-design/README.zh-TW.md +0 -74
  98. package/.opencode/oh-my-design/agents/AGENT.md +0 -53
  99. package/.opencode/oh-my-design/agents/omd-a11y-auditor.md +0 -97
  100. package/.opencode/oh-my-design/agents/omd-asset-curator.md +0 -255
  101. package/.opencode/oh-my-design/agents/omd-codex-image.md +0 -49
  102. package/.opencode/oh-my-design/agents/omd-critic.md +0 -181
  103. package/.opencode/oh-my-design/agents/omd-designer-review.md +0 -38
  104. package/.opencode/oh-my-design/agents/omd-final-qa.md +0 -40
  105. package/.opencode/oh-my-design/agents/omd-kr-writer.md +0 -35
  106. package/.opencode/oh-my-design/agents/omd-locale-adapter.md +0 -32
  107. package/.opencode/oh-my-design/agents/omd-master.md +0 -559
  108. package/.opencode/oh-my-design/agents/omd-microcopy.md +0 -63
  109. package/.opencode/oh-my-design/agents/omd-orchestrator.md +0 -34
  110. package/.opencode/oh-my-design/agents/omd-persona-tester.md +0 -118
  111. package/.opencode/oh-my-design/agents/omd-ui-junior.md +0 -129
  112. package/.opencode/oh-my-design/agents/omd-ux-engineer.md +0 -267
  113. package/.opencode/oh-my-design/agents/omd-ux-researcher.md +0 -62
  114. package/.opencode/oh-my-design/agents/omd-ux-writer.md +0 -181
  115. package/.opencode/oh-my-design/bin/oh-my-design.ts +0 -77
  116. package/.opencode/oh-my-design/data/architecture-proposals/1.7.2-recommend-install-feedback.md +0 -614
  117. package/.opencode/oh-my-design/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +0 -189
  118. package/.opencode/oh-my-design/data/issues/2026-05-13-multi-surface-schema-rfc.md +0 -67
  119. package/.opencode/oh-my-design/data/opt-out-corpus.json +0 -141
  120. package/.opencode/oh-my-design/data/reference-audits/2026-05-13-kr10.md +0 -132
  121. package/.opencode/oh-my-design/data/reference-audits/2026-05-14-kr10.md +0 -72
  122. package/.opencode/oh-my-design/data/reference-audits/2026-05-15-kr10.md +0 -124
  123. package/.opencode/oh-my-design/data/reference-fingerprints.json +0 -6142
  124. package/.opencode/oh-my-design/data/reference-tags.md +0 -118
  125. package/.opencode/oh-my-design/data/synonyms.json +0 -79
  126. package/.opencode/oh-my-design/data/vocabulary.json +0 -516
  127. package/.opencode/oh-my-design/packages/mcp/README.md +0 -172
  128. package/.opencode/oh-my-design/packages/mcp/__tests__/smoke.test.ts +0 -64
  129. package/.opencode/oh-my-design/packages/mcp/data/.gitkeep +0 -0
  130. package/.opencode/oh-my-design/packages/mcp/scripts/sync-data.mjs +0 -38
  131. package/.opencode/oh-my-design/packages/mcp/src/data.ts +0 -178
  132. package/.opencode/oh-my-design/packages/mcp/src/index.ts +0 -58
  133. package/.opencode/oh-my-design/packages/mcp/src/prompts/design-from-ref.ts +0 -87
  134. package/.opencode/oh-my-design/packages/mcp/src/server.ts +0 -223
  135. package/.opencode/oh-my-design/packages/mcp/src/tools/get-design-md.ts +0 -44
  136. package/.opencode/oh-my-design/packages/mcp/src/tools/list-references.ts +0 -58
  137. package/.opencode/oh-my-design/packages/mcp/src/tools/search-by-vibe.ts +0 -114
  138. package/.opencode/oh-my-design/packages/mcp/tsconfig.json +0 -21
  139. package/.opencode/oh-my-design/packages/mcp/tsup.config.ts +0 -17
  140. package/.opencode/oh-my-design/packages/mcp/vitest.config.ts +0 -8
  141. package/.opencode/oh-my-design/scripts/bench/README.md +0 -72
  142. package/.opencode/oh-my-design/scripts/bench/score-init.mjs +0 -97
  143. package/.opencode/oh-my-design/scripts/bench/score-taste.mjs +0 -189
  144. package/.opencode/oh-my-design/scripts/check-release-hygiene.sh +0 -83
  145. package/.opencode/oh-my-design/scripts/context.cjs +0 -91
  146. package/.opencode/oh-my-design/scripts/ctx-prime.cjs +0 -266
  147. package/.opencode/oh-my-design/scripts/gen-llms-full.cjs +0 -143
  148. package/.opencode/oh-my-design/scripts/growth-snapshot.mjs +0 -59
  149. package/.opencode/oh-my-design/scripts/postinstall.cjs +0 -54
  150. package/.opencode/oh-my-design/scripts/smoke-md-twins.mjs +0 -98
  151. package/.opencode/oh-my-design/skills/claude-design/SKILL.md +0 -390
  152. package/.opencode/oh-my-design/skills/claude-design/references/claude-design-flow.md +0 -425
  153. package/.opencode/oh-my-design/skills/claude-design/references/codebase-analysis.md +0 -373
  154. package/.opencode/oh-my-design/skills/claude-design/scripts/analyze_codebase.py +0 -1369
  155. package/.opencode/oh-my-design/skills/claude-design/scripts/clickable_link.sh +0 -48
  156. package/.opencode/oh-my-design/skills/claude-design/scripts/collect_source.py +0 -178
  157. package/.opencode/oh-my-design/skills/claude-design/scripts/drive_claude_design.cjs +0 -378
  158. package/.opencode/oh-my-design/skills/claude-design/scripts/gather_references.py +0 -437
  159. package/.opencode/oh-my-design/skills/omd-apply/SKILL.md +0 -107
  160. package/.opencode/oh-my-design/skills/omd-asset-fetch/SKILL.md +0 -213
  161. package/.opencode/oh-my-design/skills/omd-codex-image/SKILL.md +0 -162
  162. package/.opencode/oh-my-design/skills/omd-designer-review/SKILL.md +0 -180
  163. package/.opencode/oh-my-design/skills/omd-experiment-gallery/SKILL.md +0 -164
  164. package/.opencode/oh-my-design/skills/omd-final-qa/SKILL.md +0 -182
  165. package/.opencode/oh-my-design/skills/omd-harness/SKILL.md +0 -726
  166. package/.opencode/oh-my-design/skills/omd-init/SKILL.md +0 -314
  167. package/.opencode/oh-my-design/skills/omd-kr-writer/SKILL.md +0 -299
  168. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/SKILL.md +0 -129
  169. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/playbooks/v1.md +0 -105
  170. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/live-2026-04-27-water-app/feedback-log.md +0 -230
  171. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/README.md +0 -46
  172. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/founder/README.md +0 -7
  173. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/junior-designer/src/components/Hero.tsx +0 -1
  174. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/junior-designer/src/components/Project.tsx +0 -1
  175. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Accordion.tsx +0 -4
  176. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Alert.tsx +0 -4
  177. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Avatar.tsx +0 -4
  178. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Badge.tsx +0 -4
  179. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Breadcrumb.tsx +0 -4
  180. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Button.tsx +0 -4
  181. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Card.tsx +0 -4
  182. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Combobox.tsx +0 -4
  183. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/DataTable.tsx +0 -4
  184. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Dialog.tsx +0 -4
  185. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Drawer.tsx +0 -4
  186. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Field.tsx +0 -4
  187. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Form.tsx +0 -4
  188. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Input.tsx +0 -4
  189. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Menu.tsx +0 -4
  190. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Modal.tsx +0 -4
  191. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Pagination.tsx +0 -4
  192. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Popover.tsx +0 -4
  193. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Select.tsx +0 -4
  194. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Sheet.tsx +0 -4
  195. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Spinner.tsx +0 -4
  196. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Tabs.tsx +0 -4
  197. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Toast.tsx +0 -4
  198. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Tooltip.tsx +0 -4
  199. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/VirtualList.tsx +0 -4
  200. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Alert.tsx +0 -3
  201. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Avatar.tsx +0 -3
  202. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Badge.tsx +0 -3
  203. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Button.tsx +0 -3
  204. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Card.tsx +0 -3
  205. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Input.tsx +0 -3
  206. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Modal.tsx +0 -3
  207. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Spinner.tsx +0 -3
  208. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Tabs.tsx +0 -3
  209. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Toast.tsx +0 -3
  210. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/styles/globals.css +0 -25
  211. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/tailwind.config.ts +0 -28
  212. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i1-findings.md +0 -51
  213. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-F.md +0 -133
  214. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-J.md +0 -171
  215. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-S.md +0 -232
  216. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-V.md +0 -73
  217. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-consolidated.md +0 -69
  218. package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/postmortem.md +0 -128
  219. package/.opencode/oh-my-design/skills/omd-learn/SKILL.md +0 -121
  220. package/.opencode/oh-my-design/skills/omd-locale-adapter/SKILL.md +0 -124
  221. package/.opencode/oh-my-design/skills/omd-orchestrator/SKILL.md +0 -124
  222. package/.opencode/oh-my-design/skills/omd-reference-capture/SKILL.md +0 -722
  223. package/.opencode/oh-my-design/skills/omd-remember/SKILL.md +0 -122
  224. package/.opencode/oh-my-design/skills/omd-sync/SKILL.md +0 -162
  225. package/.opencode/oh-my-design/skills/omd-taste/SKILL.md +0 -79
  226. package/.opencode/oh-my-design/skills-lock.json +0 -10
  227. package/.opencode/oh-my-design/spec/components-schema.md +0 -179
  228. package/.opencode/oh-my-design/spec/migration-checklist.md +0 -148
  229. package/.opencode/oh-my-design/spec/migration-plan.md +0 -124
  230. package/.opencode/oh-my-design/spec/omd-v0.1.md +0 -382
  231. package/.opencode/oh-my-design/spec/regional-sources.yaml +0 -77
  232. package/.opencode/oh-my-design/spec/verification-pipeline.md +0 -154
  233. package/.opencode/oh-my-design/src/cli/install-skills.ts +0 -1116
  234. package/.opencode/oh-my-design/src/core/agent-detect.ts +0 -49
  235. package/.opencode/oh-my-design/test/README.md +0 -89
  236. package/.opencode/oh-my-design/test/scripts/check-backgrounds.ts +0 -10
  237. package/.opencode/oh-my-design/test/scripts/generate-preview.ts +0 -42
  238. package/.opencode/oh-my-design/test/unit/cli/install-skills.test.ts +0 -227
  239. package/.opencode/oh-my-design/test/unit/core/agent-detect.test.ts +0 -97
  240. package/.opencode/oh-my-design/test/unit/core/catalog-resolution-order.test.ts +0 -73
  241. package/.opencode/oh-my-design/test/unit/hooks/hooks.test.ts +0 -499
  242. package/.opencode/oh-my-design/tsconfig.json +0 -20
  243. package/.opencode/oh-my-design/tsup.config.ts +0 -12
  244. package/.opencode/oh-my-design/vitest.config.ts +0 -13
  245. package/.opencode/oh-my-design/web/.env.example +0 -21
  246. package/.opencode/oh-my-design/web/AGENTS.md +0 -5
  247. package/.opencode/oh-my-design/web/CLAUDE.md +0 -1
  248. package/.opencode/oh-my-design/web/README.md +0 -45
  249. package/.opencode/oh-my-design/web/__tests__/catalog-integrity.test.ts +0 -333
  250. package/.opencode/oh-my-design/web/components.json +0 -25
  251. package/.opencode/oh-my-design/web/docs/font-playground-analytics.md +0 -110
  252. package/.opencode/oh-my-design/web/eslint.config.mjs +0 -18
  253. package/.opencode/oh-my-design/web/next.config.ts +0 -31
  254. package/.opencode/oh-my-design/web/postcss.config.mjs +0 -7
  255. package/.opencode/oh-my-design/web/public/file.svg +0 -1
  256. package/.opencode/oh-my-design/web/public/globe.svg +0 -1
  257. package/.opencode/oh-my-design/web/public/llms-full.txt +0 -3149
  258. package/.opencode/oh-my-design/web/public/llms.ko.txt +0 -130
  259. package/.opencode/oh-my-design/web/public/llms.txt +0 -377
  260. package/.opencode/oh-my-design/web/public/logo-white.png +0 -0
  261. package/.opencode/oh-my-design/web/public/logo.png +0 -0
  262. package/.opencode/oh-my-design/web/public/next.svg +0 -1
  263. package/.opencode/oh-my-design/web/public/og-image.png +0 -0
  264. package/.opencode/oh-my-design/web/public/twitter-image.png +0 -0
  265. package/.opencode/oh-my-design/web/public/vercel.svg +0 -1
  266. package/.opencode/oh-my-design/web/public/window.svg +0 -1
  267. package/.opencode/oh-my-design/web/references/11st/.verification.md +0 -37
  268. package/.opencode/oh-my-design/web/references/11st/DESIGN.md +0 -400
  269. package/.opencode/oh-my-design/web/references/17live/DESIGN.md +0 -467
  270. package/.opencode/oh-my-design/web/references/29cm/DESIGN.md +0 -495
  271. package/.opencode/oh-my-design/web/references/29cm/_promo.json +0 -23
  272. package/.opencode/oh-my-design/web/references/29cm/_research.md +0 -103
  273. package/.opencode/oh-my-design/web/references/3o3/.verification.md +0 -73
  274. package/.opencode/oh-my-design/web/references/3o3/DESIGN.md +0 -454
  275. package/.opencode/oh-my-design/web/references/91app/.verification.md +0 -25
  276. package/.opencode/oh-my-design/web/references/91app/DESIGN.md +0 -182
  277. package/.opencode/oh-my-design/web/references/abema/.verification.md +0 -64
  278. package/.opencode/oh-my-design/web/references/abema/DESIGN.md +0 -535
  279. package/.opencode/oh-my-design/web/references/ably/DESIGN.md +0 -646
  280. package/.opencode/oh-my-design/web/references/ably/_promo.json +0 -18
  281. package/.opencode/oh-my-design/web/references/ably/_research.md +0 -120
  282. package/.opencode/oh-my-design/web/references/accupass/.verification.md +0 -66
  283. package/.opencode/oh-my-design/web/references/accupass/DESIGN.md +0 -494
  284. package/.opencode/oh-my-design/web/references/adobe/.verification.md +0 -63
  285. package/.opencode/oh-my-design/web/references/adobe/DESIGN.md +0 -458
  286. package/.opencode/oh-my-design/web/references/airbnb/.verification.md +0 -143
  287. package/.opencode/oh-my-design/web/references/airbnb/DESIGN.md +0 -639
  288. package/.opencode/oh-my-design/web/references/airbnb/README.md +0 -23
  289. package/.opencode/oh-my-design/web/references/airbnb/preview-dark.html +0 -234
  290. package/.opencode/oh-my-design/web/references/airbnb/preview.html +0 -233
  291. package/.opencode/oh-my-design/web/references/airtable/.verification.md +0 -136
  292. package/.opencode/oh-my-design/web/references/airtable/DESIGN.md +0 -314
  293. package/.opencode/oh-my-design/web/references/airtable/README.md +0 -23
  294. package/.opencode/oh-my-design/web/references/airtable/preview-dark.html +0 -165
  295. package/.opencode/oh-my-design/web/references/airtable/preview.html +0 -164
  296. package/.opencode/oh-my-design/web/references/alipay/DESIGN.md +0 -506
  297. package/.opencode/oh-my-design/web/references/amazingtalker/.verification.md +0 -38
  298. package/.opencode/oh-my-design/web/references/amazingtalker/DESIGN.md +0 -434
  299. package/.opencode/oh-my-design/web/references/appier/DESIGN.md +0 -465
  300. package/.opencode/oh-my-design/web/references/apple/.verification.md +0 -162
  301. package/.opencode/oh-my-design/web/references/apple/DESIGN.md +0 -613
  302. package/.opencode/oh-my-design/web/references/apple/README.md +0 -24
  303. package/.opencode/oh-my-design/web/references/apple/preview-dark.html +0 -420
  304. package/.opencode/oh-my-design/web/references/apple/preview.html +0 -414
  305. package/.opencode/oh-my-design/web/references/baemin/.verification.md +0 -132
  306. package/.opencode/oh-my-design/web/references/baemin/DESIGN.md +0 -578
  307. package/.opencode/oh-my-design/web/references/baemin/README.md +0 -19
  308. package/.opencode/oh-my-design/web/references/baemin/_research.md +0 -84
  309. package/.opencode/oh-my-design/web/references/banksalad/DESIGN.md +0 -688
  310. package/.opencode/oh-my-design/web/references/banksalad/_promo.json +0 -29
  311. package/.opencode/oh-my-design/web/references/banksalad/_research.md +0 -190
  312. package/.opencode/oh-my-design/web/references/bilibili/DESIGN.md +0 -471
  313. package/.opencode/oh-my-design/web/references/bithumb/.verification.md +0 -31
  314. package/.opencode/oh-my-design/web/references/bithumb/DESIGN.md +0 -208
  315. package/.opencode/oh-my-design/web/references/bmw/.verification.md +0 -114
  316. package/.opencode/oh-my-design/web/references/bmw/DESIGN.md +0 -360
  317. package/.opencode/oh-my-design/web/references/bmw/README.md +0 -23
  318. package/.opencode/oh-my-design/web/references/bmw/preview-dark.html +0 -211
  319. package/.opencode/oh-my-design/web/references/bmw/preview.html +0 -210
  320. package/.opencode/oh-my-design/web/references/brandi/.verification.md +0 -29
  321. package/.opencode/oh-my-design/web/references/brandi/DESIGN.md +0 -414
  322. package/.opencode/oh-my-design/web/references/bunjang/DESIGN.md +0 -374
  323. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/.live-inspect-proof.json +0 -260
  324. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/fonts.json +0 -33
  325. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/logo-icon.svg +0 -10
  326. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/structure.json +0 -131
  327. package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/tokens.json +0 -147
  328. package/.opencode/oh-my-design/web/references/cakeresume/.verification.md +0 -25
  329. package/.opencode/oh-my-design/web/references/cakeresume/DESIGN.md +0 -191
  330. package/.opencode/oh-my-design/web/references/cal/.verification.md +0 -145
  331. package/.opencode/oh-my-design/web/references/cal/DESIGN.md +0 -481
  332. package/.opencode/oh-my-design/web/references/cal/README.md +0 -23
  333. package/.opencode/oh-my-design/web/references/cal/preview-dark.html +0 -449
  334. package/.opencode/oh-my-design/web/references/cal/preview.html +0 -575
  335. package/.opencode/oh-my-design/web/references/catchtable/DESIGN.md +0 -341
  336. package/.opencode/oh-my-design/web/references/catchtable/_research.md +0 -54
  337. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/.live-inspect-proof.json +0 -204
  338. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/.live-inspect-raw.json +0 -22
  339. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/fonts.json +0 -21
  340. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/structure.json +0 -42
  341. package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/tokens.json +0 -95
  342. package/.opencode/oh-my-design/web/references/cathay/.verification.md +0 -44
  343. package/.opencode/oh-my-design/web/references/cathay/DESIGN.md +0 -432
  344. package/.opencode/oh-my-design/web/references/channeltalk/DESIGN.md +0 -422
  345. package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/.live-inspect-proof.json +0 -320
  346. package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/fonts.json +0 -53
  347. package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/structure.json +0 -47
  348. package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/tokens.json +0 -78
  349. package/.opencode/oh-my-design/web/references/class101/DESIGN.md +0 -484
  350. package/.opencode/oh-my-design/web/references/classting/.verification.md +0 -32
  351. package/.opencode/oh-my-design/web/references/classting/DESIGN.md +0 -292
  352. package/.opencode/oh-my-design/web/references/classum/DESIGN.md +0 -279
  353. package/.opencode/oh-my-design/web/references/classum/assets/_reference/.live-inspect-proof.json +0 -72
  354. package/.opencode/oh-my-design/web/references/classum/assets/_reference/fonts.json +0 -20
  355. package/.opencode/oh-my-design/web/references/classum/assets/_reference/structure.json +0 -21
  356. package/.opencode/oh-my-design/web/references/classum/assets/_reference/tokens.json +0 -56
  357. package/.opencode/oh-my-design/web/references/claude/.verification.md +0 -106
  358. package/.opencode/oh-my-design/web/references/claude/DESIGN.md +0 -561
  359. package/.opencode/oh-my-design/web/references/claude/README.md +0 -24
  360. package/.opencode/oh-my-design/web/references/claude/preview-dark.html +0 -803
  361. package/.opencode/oh-my-design/web/references/claude/preview.html +0 -826
  362. package/.opencode/oh-my-design/web/references/clay/.verification.md +0 -129
  363. package/.opencode/oh-my-design/web/references/clay/DESIGN.md +0 -454
  364. package/.opencode/oh-my-design/web/references/clay/README.md +0 -23
  365. package/.opencode/oh-my-design/web/references/clay/preview-dark.html +0 -316
  366. package/.opencode/oh-my-design/web/references/clay/preview.html +0 -315
  367. package/.opencode/oh-my-design/web/references/clickhouse/.verification.md +0 -132
  368. package/.opencode/oh-my-design/web/references/clickhouse/DESIGN.md +0 -424
  369. package/.opencode/oh-my-design/web/references/clickhouse/README.md +0 -24
  370. package/.opencode/oh-my-design/web/references/clickhouse/preview-dark.html +0 -834
  371. package/.opencode/oh-my-design/web/references/clickhouse/preview.html +0 -786
  372. package/.opencode/oh-my-design/web/references/cloudflare/.verification.md +0 -21
  373. package/.opencode/oh-my-design/web/references/cloudflare/DESIGN.md +0 -637
  374. package/.opencode/oh-my-design/web/references/cohere/.verification.md +0 -136
  375. package/.opencode/oh-my-design/web/references/cohere/DESIGN.md +0 -409
  376. package/.opencode/oh-my-design/web/references/cohere/README.md +0 -24
  377. package/.opencode/oh-my-design/web/references/cohere/preview-dark.html +0 -803
  378. package/.opencode/oh-my-design/web/references/cohere/preview.html +0 -807
  379. package/.opencode/oh-my-design/web/references/coinbase/.verification.md +0 -116
  380. package/.opencode/oh-my-design/web/references/coinbase/DESIGN.md +0 -353
  381. package/.opencode/oh-my-design/web/references/coinbase/README.md +0 -23
  382. package/.opencode/oh-my-design/web/references/coinbase/preview-dark.html +0 -164
  383. package/.opencode/oh-my-design/web/references/coinbase/preview.html +0 -163
  384. package/.opencode/oh-my-design/web/references/coinone/.verification.md +0 -38
  385. package/.opencode/oh-my-design/web/references/coinone/DESIGN.md +0 -257
  386. package/.opencode/oh-my-design/web/references/composio/.verification.md +0 -143
  387. package/.opencode/oh-my-design/web/references/composio/DESIGN.md +0 -441
  388. package/.opencode/oh-my-design/web/references/composio/README.md +0 -24
  389. package/.opencode/oh-my-design/web/references/composio/preview-dark.html +0 -958
  390. package/.opencode/oh-my-design/web/references/composio/preview.html +0 -933
  391. package/.opencode/oh-my-design/web/references/cookpad/DESIGN.md +0 -394
  392. package/.opencode/oh-my-design/web/references/coupang/.verification.md +0 -141
  393. package/.opencode/oh-my-design/web/references/coupang/DESIGN.md +0 -557
  394. package/.opencode/oh-my-design/web/references/cursor/.verification.md +0 -141
  395. package/.opencode/oh-my-design/web/references/cursor/DESIGN.md +0 -460
  396. package/.opencode/oh-my-design/web/references/cursor/README.md +0 -24
  397. package/.opencode/oh-my-design/web/references/cursor/preview-dark.html +0 -393
  398. package/.opencode/oh-my-design/web/references/cursor/preview.html +0 -383
  399. package/.opencode/oh-my-design/web/references/dabang/DESIGN.md +0 -267
  400. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/.live-inspect-proof.json +0 -145
  401. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/fonts.json +0 -22
  402. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/raw-capture-map.json +0 -718
  403. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/raw-capture.json +0 -1125
  404. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/structure.json +0 -53
  405. package/.opencode/oh-my-design/web/references/dabang/assets/_reference/tokens.json +0 -130
  406. package/.opencode/oh-my-design/web/references/danawa/.verification.md +0 -60
  407. package/.opencode/oh-my-design/web/references/danawa/DESIGN.md +0 -477
  408. package/.opencode/oh-my-design/web/references/dcard/.verification.md +0 -118
  409. package/.opencode/oh-my-design/web/references/dcard/DESIGN.md +0 -633
  410. package/.opencode/oh-my-design/web/references/dcard/README.md +0 -12
  411. package/.opencode/oh-my-design/web/references/dcard/_research/forum-1440px.png +0 -0
  412. package/.opencode/oh-my-design/web/references/dcard/_research.md +0 -133
  413. package/.opencode/oh-my-design/web/references/dell/.verification.md +0 -21
  414. package/.opencode/oh-my-design/web/references/dell/DESIGN.md +0 -636
  415. package/.opencode/oh-my-design/web/references/devsisters/.verification.md +0 -32
  416. package/.opencode/oh-my-design/web/references/devsisters/DESIGN.md +0 -282
  417. package/.opencode/oh-my-design/web/references/discord/.verification.md +0 -21
  418. package/.opencode/oh-my-design/web/references/discord/DESIGN.md +0 -604
  419. package/.opencode/oh-my-design/web/references/dji/DESIGN.md +0 -454
  420. package/.opencode/oh-my-design/web/references/drnow/.verification.md +0 -41
  421. package/.opencode/oh-my-design/web/references/drnow/DESIGN.md +0 -383
  422. package/.opencode/oh-my-design/web/references/dropbox/.verification.md +0 -61
  423. package/.opencode/oh-my-design/web/references/dropbox/DESIGN.md +0 -445
  424. package/.opencode/oh-my-design/web/references/duolingo/.verification.md +0 -20
  425. package/.opencode/oh-my-design/web/references/duolingo/DESIGN.md +0 -563
  426. package/.opencode/oh-my-design/web/references/elevenlabs/.verification.md +0 -128
  427. package/.opencode/oh-my-design/web/references/elevenlabs/DESIGN.md +0 -415
  428. package/.opencode/oh-my-design/web/references/elevenlabs/README.md +0 -23
  429. package/.opencode/oh-my-design/web/references/elevenlabs/preview-dark.html +0 -252
  430. package/.opencode/oh-my-design/web/references/elevenlabs/preview.html +0 -251
  431. package/.opencode/oh-my-design/web/references/expo/.verification.md +0 -141
  432. package/.opencode/oh-my-design/web/references/expo/DESIGN.md +0 -412
  433. package/.opencode/oh-my-design/web/references/expo/README.md +0 -24
  434. package/.opencode/oh-my-design/web/references/expo/preview-dark.html +0 -533
  435. package/.opencode/oh-my-design/web/references/expo/preview.html +0 -533
  436. package/.opencode/oh-my-design/web/references/fastcampus/DESIGN.md +0 -529
  437. package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/.live-inspect-proof.json +0 -950
  438. package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/fonts.json +0 -14
  439. package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/structure.json +0 -30
  440. package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/tokens.json +0 -109
  441. package/.opencode/oh-my-design/web/references/ferrari/.verification.md +0 -119
  442. package/.opencode/oh-my-design/web/references/ferrari/DESIGN.md +0 -447
  443. package/.opencode/oh-my-design/web/references/ferrari/README.md +0 -23
  444. package/.opencode/oh-my-design/web/references/ferrari/preview-dark.html +0 -1162
  445. package/.opencode/oh-my-design/web/references/ferrari/preview.html +0 -1122
  446. package/.opencode/oh-my-design/web/references/figma/.verification.md +0 -206
  447. package/.opencode/oh-my-design/web/references/figma/DESIGN.md +0 -534
  448. package/.opencode/oh-my-design/web/references/figma/README.md +0 -24
  449. package/.opencode/oh-my-design/web/references/figma/preview-dark.html +0 -822
  450. package/.opencode/oh-my-design/web/references/figma/preview.html +0 -832
  451. package/.opencode/oh-my-design/web/references/finda/.verification.md +0 -33
  452. package/.opencode/oh-my-design/web/references/finda/DESIGN.md +0 -413
  453. package/.opencode/oh-my-design/web/references/firstory/.verification.md +0 -70
  454. package/.opencode/oh-my-design/web/references/firstory/DESIGN.md +0 -487
  455. package/.opencode/oh-my-design/web/references/flex/DESIGN.md +0 -356
  456. package/.opencode/oh-my-design/web/references/flex/_research.md +0 -49
  457. package/.opencode/oh-my-design/web/references/flex/assets/_reference/.live-inspect-proof.json +0 -192
  458. package/.opencode/oh-my-design/web/references/flex/assets/_reference/.raw-inspect.json +0 -873
  459. package/.opencode/oh-my-design/web/references/flex/assets/_reference/fonts.json +0 -17
  460. package/.opencode/oh-my-design/web/references/flex/assets/_reference/structure.json +0 -58
  461. package/.opencode/oh-my-design/web/references/flex/assets/_reference/tokens.json +0 -75
  462. package/.opencode/oh-my-design/web/references/flo/.verification.md +0 -33
  463. package/.opencode/oh-my-design/web/references/flo/DESIGN.md +0 -349
  464. package/.opencode/oh-my-design/web/references/framer/.verification.md +0 -147
  465. package/.opencode/oh-my-design/web/references/framer/DESIGN.md +0 -431
  466. package/.opencode/oh-my-design/web/references/framer/README.md +0 -23
  467. package/.opencode/oh-my-design/web/references/framer/preview-dark.html +0 -902
  468. package/.opencode/oh-my-design/web/references/framer/preview.html +0 -883
  469. package/.opencode/oh-my-design/web/references/freee/.verification.md +0 -145
  470. package/.opencode/oh-my-design/web/references/freee/DESIGN.md +0 -620
  471. package/.opencode/oh-my-design/web/references/freee/README.md +0 -12
  472. package/.opencode/oh-my-design/web/references/freee/_research/vibes-storybook-1440px.png +0 -0
  473. package/.opencode/oh-my-design/web/references/freee/_research.md +0 -116
  474. package/.opencode/oh-my-design/web/references/fugle/.verification.md +0 -40
  475. package/.opencode/oh-my-design/web/references/fugle/DESIGN.md +0 -290
  476. package/.opencode/oh-my-design/web/references/funnow/.verification.md +0 -62
  477. package/.opencode/oh-my-design/web/references/funnow/DESIGN.md +0 -431
  478. package/.opencode/oh-my-design/web/references/gangnamunni/DESIGN.md +0 -677
  479. package/.opencode/oh-my-design/web/references/gangnamunni/_promo.json +0 -26
  480. package/.opencode/oh-my-design/web/references/gangnamunni/_research.md +0 -113
  481. package/.opencode/oh-my-design/web/references/genie/.verification.md +0 -29
  482. package/.opencode/oh-my-design/web/references/genie/DESIGN.md +0 -415
  483. package/.opencode/oh-my-design/web/references/github/.verification.md +0 -21
  484. package/.opencode/oh-my-design/web/references/github/DESIGN.md +0 -727
  485. package/.opencode/oh-my-design/web/references/gmarket/DESIGN.md +0 -534
  486. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/.live-inspect-proof.json +0 -217
  487. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/fonts.json +0 -41
  488. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/raw-capture-bestsellers.json +0 -1929
  489. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/raw-capture-home.json +0 -3675
  490. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/structure.json +0 -65
  491. package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/tokens.json +0 -210
  492. package/.opencode/oh-my-design/web/references/gogolook/.verification.md +0 -31
  493. package/.opencode/oh-my-design/web/references/gogolook/DESIGN.md +0 -155
  494. package/.opencode/oh-my-design/web/references/gogoro/DESIGN.md +0 -441
  495. package/.opencode/oh-my-design/web/references/google/.verification.md +0 -61
  496. package/.opencode/oh-my-design/web/references/google/DESIGN.md +0 -499
  497. package/.opencode/oh-my-design/web/references/greenvines/.verification.md +0 -72
  498. package/.opencode/oh-my-design/web/references/greenvines/DESIGN.md +0 -454
  499. package/.opencode/oh-my-design/web/references/greeting/.verification.md +0 -64
  500. package/.opencode/oh-my-design/web/references/greeting/DESIGN.md +0 -462
  501. package/.opencode/oh-my-design/web/references/grip/.verification.md +0 -36
  502. package/.opencode/oh-my-design/web/references/grip/DESIGN.md +0 -289
  503. package/.opencode/oh-my-design/web/references/hahow/.verification.md +0 -31
  504. package/.opencode/oh-my-design/web/references/hahow/DESIGN.md +0 -184
  505. package/.opencode/oh-my-design/web/references/hashicorp/.verification.md +0 -142
  506. package/.opencode/oh-my-design/web/references/hashicorp/DESIGN.md +0 -411
  507. package/.opencode/oh-my-design/web/references/hashicorp/README.md +0 -24
  508. package/.opencode/oh-my-design/web/references/hashicorp/preview-dark.html +0 -1202
  509. package/.opencode/oh-my-design/web/references/hashicorp/preview.html +0 -1193
  510. package/.opencode/oh-my-design/web/references/hogangnono/.verification.md +0 -33
  511. package/.opencode/oh-my-design/web/references/hogangnono/DESIGN.md +0 -349
  512. package/.opencode/oh-my-design/web/references/hp/.verification.md +0 -21
  513. package/.opencode/oh-my-design/web/references/hp/DESIGN.md +0 -563
  514. package/.opencode/oh-my-design/web/references/hyperconnect/.verification.md +0 -40
  515. package/.opencode/oh-my-design/web/references/hyperconnect/DESIGN.md +0 -393
  516. package/.opencode/oh-my-design/web/references/hyundaicard/.verification.md +0 -25
  517. package/.opencode/oh-my-design/web/references/hyundaicard/DESIGN.md +0 -201
  518. package/.opencode/oh-my-design/web/references/ibm/.verification.md +0 -102
  519. package/.opencode/oh-my-design/web/references/ibm/DESIGN.md +0 -464
  520. package/.opencode/oh-my-design/web/references/ibm/README.md +0 -24
  521. package/.opencode/oh-my-design/web/references/ibm/preview-dark.html +0 -443
  522. package/.opencode/oh-my-design/web/references/ibm/preview.html +0 -428
  523. package/.opencode/oh-my-design/web/references/ichef/DESIGN.md +0 -455
  524. package/.opencode/oh-my-design/web/references/ikala/.verification.md +0 -35
  525. package/.opencode/oh-my-design/web/references/ikala/DESIGN.md +0 -400
  526. package/.opencode/oh-my-design/web/references/imweb/.verification.md +0 -61
  527. package/.opencode/oh-my-design/web/references/imweb/DESIGN.md +0 -460
  528. package/.opencode/oh-my-design/web/references/inflearn/DESIGN.md +0 -453
  529. package/.opencode/oh-my-design/web/references/inflearn/_promo.json +0 -29
  530. package/.opencode/oh-my-design/web/references/inflearn/_research.md +0 -85
  531. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/.live-inspect-proof-courses.json +0 -679
  532. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/.live-inspect-proof.json +0 -448
  533. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/fonts.json +0 -41
  534. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/structure.json +0 -110
  535. package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/tokens.json +0 -54
  536. package/.opencode/oh-my-design/web/references/intercom/.verification.md +0 -144
  537. package/.opencode/oh-my-design/web/references/intercom/DESIGN.md +0 -271
  538. package/.opencode/oh-my-design/web/references/intercom/README.md +0 -23
  539. package/.opencode/oh-my-design/web/references/intercom/preview-dark.html +0 -185
  540. package/.opencode/oh-my-design/web/references/intercom/preview.html +0 -184
  541. package/.opencode/oh-my-design/web/references/jandi/.verification.md +0 -26
  542. package/.opencode/oh-my-design/web/references/jandi/DESIGN.md +0 -382
  543. package/.opencode/oh-my-design/web/references/jkopay/.verification.md +0 -32
  544. package/.opencode/oh-my-design/web/references/jkopay/DESIGN.md +0 -283
  545. package/.opencode/oh-my-design/web/references/jobkorea/.verification.md +0 -30
  546. package/.opencode/oh-my-design/web/references/jobkorea/DESIGN.md +0 -349
  547. package/.opencode/oh-my-design/web/references/jumpit/DESIGN.md +0 -403
  548. package/.opencode/oh-my-design/web/references/jumpit/_research.md +0 -119
  549. package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/.live-inspect-proof.json +0 -182
  550. package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/fonts.json +0 -20
  551. package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/structure.json +0 -66
  552. package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/tokens.json +0 -108
  553. package/.opencode/oh-my-design/web/references/kakao/.verification.md +0 -137
  554. package/.opencode/oh-my-design/web/references/kakao/DESIGN.md +0 -568
  555. package/.opencode/oh-my-design/web/references/kakao/README.md +0 -18
  556. package/.opencode/oh-my-design/web/references/kakao/_research.md +0 -98
  557. package/.opencode/oh-my-design/web/references/kakaobank/.verification.md +0 -133
  558. package/.opencode/oh-my-design/web/references/kakaobank/DESIGN.md +0 -602
  559. package/.opencode/oh-my-design/web/references/kakaopay/DESIGN.md +0 -603
  560. package/.opencode/oh-my-design/web/references/kakaopay/_promo.json +0 -22
  561. package/.opencode/oh-my-design/web/references/kakaopay/_research.md +0 -84
  562. package/.opencode/oh-my-design/web/references/kakaot/DESIGN.md +0 -507
  563. package/.opencode/oh-my-design/web/references/karrot/.verification.md +0 -143
  564. package/.opencode/oh-my-design/web/references/karrot/DESIGN.md +0 -494
  565. package/.opencode/oh-my-design/web/references/karrot/README.md +0 -18
  566. package/.opencode/oh-my-design/web/references/karrot/_research.md +0 -57
  567. package/.opencode/oh-my-design/web/references/kbank/DESIGN.md +0 -252
  568. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/.live-inspect-proof.json +0 -215
  569. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/.live-inspect-raw.json +0 -1
  570. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/fonts.json +0 -20
  571. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/structure.json +0 -151
  572. package/.opencode/oh-my-design/web/references/kbank/assets/_reference/tokens.json +0 -101
  573. package/.opencode/oh-my-design/web/references/kdan/.verification.md +0 -30
  574. package/.opencode/oh-my-design/web/references/kdan/DESIGN.md +0 -193
  575. package/.opencode/oh-my-design/web/references/kintone/.verification.md +0 -21
  576. package/.opencode/oh-my-design/web/references/kintone/DESIGN.md +0 -586
  577. package/.opencode/oh-my-design/web/references/kkbox/.verification.md +0 -27
  578. package/.opencode/oh-my-design/web/references/kkbox/DESIGN.md +0 -136
  579. package/.opencode/oh-my-design/web/references/kkday/DESIGN.md +0 -470
  580. package/.opencode/oh-my-design/web/references/kmong/.verification.md +0 -30
  581. package/.opencode/oh-my-design/web/references/kmong/DESIGN.md +0 -427
  582. package/.opencode/oh-my-design/web/references/krafton/.verification.md +0 -38
  583. package/.opencode/oh-my-design/web/references/krafton/DESIGN.md +0 -267
  584. package/.opencode/oh-my-design/web/references/kraken/.verification.md +0 -143
  585. package/.opencode/oh-my-design/web/references/kraken/DESIGN.md +0 -277
  586. package/.opencode/oh-my-design/web/references/kraken/README.md +0 -23
  587. package/.opencode/oh-my-design/web/references/kraken/preview-dark.html +0 -169
  588. package/.opencode/oh-my-design/web/references/kraken/preview.html +0 -168
  589. package/.opencode/oh-my-design/web/references/krds/.verification.md +0 -373
  590. package/.opencode/oh-my-design/web/references/krds/DESIGN.md +0 -1060
  591. package/.opencode/oh-my-design/web/references/kream/DESIGN.md +0 -432
  592. package/.opencode/oh-my-design/web/references/kream/assets/_reference/.live-inspect-proof.json +0 -289
  593. package/.opencode/oh-my-design/web/references/kream/assets/_reference/fonts.json +0 -26
  594. package/.opencode/oh-my-design/web/references/kream/assets/_reference/structure.json +0 -56
  595. package/.opencode/oh-my-design/web/references/kream/assets/_reference/tokens.json +0 -154
  596. package/.opencode/oh-my-design/web/references/kurly/.verification.md +0 -126
  597. package/.opencode/oh-my-design/web/references/kurly/DESIGN.md +0 -620
  598. package/.opencode/oh-my-design/web/references/laftel/.verification.md +0 -39
  599. package/.opencode/oh-my-design/web/references/laftel/DESIGN.md +0 -293
  600. package/.opencode/oh-my-design/web/references/lamborghini/.verification.md +0 -127
  601. package/.opencode/oh-my-design/web/references/lamborghini/DESIGN.md +0 -430
  602. package/.opencode/oh-my-design/web/references/lamborghini/README.md +0 -23
  603. package/.opencode/oh-my-design/web/references/lamborghini/preview-dark.html +0 -303
  604. package/.opencode/oh-my-design/web/references/lamborghini/preview.html +0 -381
  605. package/.opencode/oh-my-design/web/references/laundrygo/.verification.md +0 -60
  606. package/.opencode/oh-my-design/web/references/laundrygo/DESIGN.md +0 -434
  607. package/.opencode/oh-my-design/web/references/layerx/.verification.md +0 -21
  608. package/.opencode/oh-my-design/web/references/layerx/DESIGN.md +0 -615
  609. package/.opencode/oh-my-design/web/references/lezhin/.verification.md +0 -47
  610. package/.opencode/oh-my-design/web/references/lezhin/DESIGN.md +0 -348
  611. package/.opencode/oh-my-design/web/references/line/.verification.md +0 -137
  612. package/.opencode/oh-my-design/web/references/line/DESIGN.md +0 -467
  613. package/.opencode/oh-my-design/web/references/line/README.md +0 -12
  614. package/.opencode/oh-my-design/web/references/line/_research/home-1440px.png +0 -0
  615. package/.opencode/oh-my-design/web/references/line/_research.md +0 -65
  616. package/.opencode/oh-my-design/web/references/linear.app/.verification.md +0 -143
  617. package/.opencode/oh-my-design/web/references/linear.app/DESIGN.md +0 -642
  618. package/.opencode/oh-my-design/web/references/linear.app/README.md +0 -24
  619. package/.opencode/oh-my-design/web/references/linear.app/preview-dark.html +0 -383
  620. package/.opencode/oh-my-design/web/references/linear.app/preview.html +0 -373
  621. package/.opencode/oh-my-design/web/references/loom/.verification.md +0 -31
  622. package/.opencode/oh-my-design/web/references/loom/DESIGN.md +0 -396
  623. package/.opencode/oh-my-design/web/references/lovable/.verification.md +0 -154
  624. package/.opencode/oh-my-design/web/references/lovable/DESIGN.md +0 -423
  625. package/.opencode/oh-my-design/web/references/lovable/README.md +0 -24
  626. package/.opencode/oh-my-design/web/references/lovable/preview-dark.html +0 -349
  627. package/.opencode/oh-my-design/web/references/lovable/preview.html +0 -348
  628. package/.opencode/oh-my-design/web/references/lunit/DESIGN.md +0 -296
  629. package/.opencode/oh-my-design/web/references/lunit/assets/_reference/.live-inspect-proof.json +0 -249
  630. package/.opencode/oh-my-design/web/references/lunit/assets/_reference/fonts.json +0 -24
  631. package/.opencode/oh-my-design/web/references/lunit/assets/_reference/structure.json +0 -162
  632. package/.opencode/oh-my-design/web/references/lunit/assets/_reference/tokens.json +0 -115
  633. package/.opencode/oh-my-design/web/references/mastercard/.verification.md +0 -19
  634. package/.opencode/oh-my-design/web/references/mastercard/DESIGN.md +0 -587
  635. package/.opencode/oh-my-design/web/references/meituan/DESIGN.md +0 -466
  636. package/.opencode/oh-my-design/web/references/melon/.verification.md +0 -27
  637. package/.opencode/oh-my-design/web/references/melon/DESIGN.md +0 -179
  638. package/.opencode/oh-my-design/web/references/mercari/.verification.md +0 -155
  639. package/.opencode/oh-my-design/web/references/mercari/DESIGN.md +0 -514
  640. package/.opencode/oh-my-design/web/references/mercari/README.md +0 -12
  641. package/.opencode/oh-my-design/web/references/mercari/_research/home-1440px.png +0 -0
  642. package/.opencode/oh-my-design/web/references/mercari/_research.md +0 -137
  643. package/.opencode/oh-my-design/web/references/mercury/.verification.md +0 -21
  644. package/.opencode/oh-my-design/web/references/mercury/DESIGN.md +0 -589
  645. package/.opencode/oh-my-design/web/references/meta/.verification.md +0 -21
  646. package/.opencode/oh-my-design/web/references/meta/DESIGN.md +0 -615
  647. package/.opencode/oh-my-design/web/references/microsoft/.verification.md +0 -62
  648. package/.opencode/oh-my-design/web/references/microsoft/DESIGN.md +0 -508
  649. package/.opencode/oh-my-design/web/references/millie/DESIGN.md +0 -584
  650. package/.opencode/oh-my-design/web/references/minimax/.verification.md +0 -135
  651. package/.opencode/oh-my-design/web/references/minimax/DESIGN.md +0 -396
  652. package/.opencode/oh-my-design/web/references/minimax/README.md +0 -24
  653. package/.opencode/oh-my-design/web/references/minimax/preview-dark.html +0 -1262
  654. package/.opencode/oh-my-design/web/references/minimax/preview.html +0 -1248
  655. package/.opencode/oh-my-design/web/references/mintlify/.verification.md +0 -160
  656. package/.opencode/oh-my-design/web/references/mintlify/DESIGN.md +0 -472
  657. package/.opencode/oh-my-design/web/references/mintlify/README.md +0 -24
  658. package/.opencode/oh-my-design/web/references/mintlify/preview-dark.html +0 -409
  659. package/.opencode/oh-my-design/web/references/mintlify/preview.html +0 -398
  660. package/.opencode/oh-my-design/web/references/miricanvas/.verification.md +0 -61
  661. package/.opencode/oh-my-design/web/references/miricanvas/DESIGN.md +0 -464
  662. package/.opencode/oh-my-design/web/references/miro/.verification.md +0 -138
  663. package/.opencode/oh-my-design/web/references/miro/DESIGN.md +0 -319
  664. package/.opencode/oh-my-design/web/references/miro/README.md +0 -23
  665. package/.opencode/oh-my-design/web/references/miro/preview-dark.html +0 -174
  666. package/.opencode/oh-my-design/web/references/miro/preview.html +0 -173
  667. package/.opencode/oh-my-design/web/references/mistral.ai/.verification.md +0 -146
  668. package/.opencode/oh-my-design/web/references/mistral.ai/DESIGN.md +0 -390
  669. package/.opencode/oh-my-design/web/references/mistral.ai/README.md +0 -24
  670. package/.opencode/oh-my-design/web/references/mistral.ai/preview-dark.html +0 -806
  671. package/.opencode/oh-my-design/web/references/mistral.ai/preview.html +0 -805
  672. package/.opencode/oh-my-design/web/references/modusign/.verification.md +0 -58
  673. package/.opencode/oh-my-design/web/references/modusign/DESIGN.md +0 -524
  674. package/.opencode/oh-my-design/web/references/momoshop/.verification.md +0 -36
  675. package/.opencode/oh-my-design/web/references/momoshop/DESIGN.md +0 -322
  676. package/.opencode/oh-my-design/web/references/money-forward/DESIGN.md +0 -443
  677. package/.opencode/oh-my-design/web/references/mongodb/.verification.md +0 -145
  678. package/.opencode/oh-my-design/web/references/mongodb/DESIGN.md +0 -401
  679. package/.opencode/oh-my-design/web/references/mongodb/README.md +0 -23
  680. package/.opencode/oh-my-design/web/references/mongodb/preview-dark.html +0 -260
  681. package/.opencode/oh-my-design/web/references/mongodb/preview.html +0 -259
  682. package/.opencode/oh-my-design/web/references/muji/.verification.md +0 -20
  683. package/.opencode/oh-my-design/web/references/muji/DESIGN.md +0 -605
  684. package/.opencode/oh-my-design/web/references/musinsa/.verification.md +0 -59
  685. package/.opencode/oh-my-design/web/references/musinsa/DESIGN.md +0 -593
  686. package/.opencode/oh-my-design/web/references/mustit/.verification.md +0 -37
  687. package/.opencode/oh-my-design/web/references/mustit/DESIGN.md +0 -328
  688. package/.opencode/oh-my-design/web/references/myrealtrip/DESIGN.md +0 -494
  689. package/.opencode/oh-my-design/web/references/naver/.verification.md +0 -134
  690. package/.opencode/oh-my-design/web/references/naver/DESIGN.md +0 -582
  691. package/.opencode/oh-my-design/web/references/naverwebtoon/DESIGN.md +0 -477
  692. package/.opencode/oh-my-design/web/references/netflix/.verification.md +0 -21
  693. package/.opencode/oh-my-design/web/references/netflix/DESIGN.md +0 -572
  694. package/.opencode/oh-my-design/web/references/nexon/.verification.md +0 -27
  695. package/.opencode/oh-my-design/web/references/nexon/DESIGN.md +0 -389
  696. package/.opencode/oh-my-design/web/references/nhncloud/.verification.md +0 -23
  697. package/.opencode/oh-my-design/web/references/nhncloud/DESIGN.md +0 -207
  698. package/.opencode/oh-my-design/web/references/nike/.verification.md +0 -21
  699. package/.opencode/oh-my-design/web/references/nike/DESIGN.md +0 -588
  700. package/.opencode/oh-my-design/web/references/note/DESIGN.md +0 -346
  701. package/.opencode/oh-my-design/web/references/notion/.verification.md +0 -141
  702. package/.opencode/oh-my-design/web/references/notion/DESIGN.md +0 -557
  703. package/.opencode/oh-my-design/web/references/notion/README.md +0 -24
  704. package/.opencode/oh-my-design/web/references/notion/preview-dark.html +0 -372
  705. package/.opencode/oh-my-design/web/references/notion/preview.html +0 -364
  706. package/.opencode/oh-my-design/web/references/nvidia/.verification.md +0 -127
  707. package/.opencode/oh-my-design/web/references/nvidia/DESIGN.md +0 -550
  708. package/.opencode/oh-my-design/web/references/nvidia/README.md +0 -24
  709. package/.opencode/oh-my-design/web/references/nvidia/_research.md +0 -68
  710. package/.opencode/oh-my-design/web/references/nvidia/preview-dark.html +0 -374
  711. package/.opencode/oh-my-design/web/references/nvidia/preview.html +0 -366
  712. package/.opencode/oh-my-design/web/references/ohouse/.verification.md +0 -87
  713. package/.opencode/oh-my-design/web/references/ohouse/DESIGN.md +0 -635
  714. package/.opencode/oh-my-design/web/references/oliveyoung/DESIGN.md +0 -407
  715. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/.live-inspect-proof.json +0 -158
  716. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_best_capture.json +0 -644
  717. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_detail_capture.json +0 -447
  718. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_main.html +0 -419
  719. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_main_capture.json +0 -1126
  720. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_search_capture.json +0 -912
  721. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/fonts.json +0 -20
  722. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/structure.json +0 -91
  723. package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/tokens.json +0 -79
  724. package/.opencode/oh-my-design/web/references/ollama/.verification.md +0 -138
  725. package/.opencode/oh-my-design/web/references/ollama/DESIGN.md +0 -393
  726. package/.opencode/oh-my-design/web/references/ollama/README.md +0 -24
  727. package/.opencode/oh-my-design/web/references/ollama/preview-dark.html +0 -678
  728. package/.opencode/oh-my-design/web/references/ollama/preview.html +0 -678
  729. package/.opencode/oh-my-design/web/references/omnichat/.verification.md +0 -74
  730. package/.opencode/oh-my-design/web/references/omnichat/DESIGN.md +0 -499
  731. package/.opencode/oh-my-design/web/references/openai/.verification.md +0 -21
  732. package/.opencode/oh-my-design/web/references/openai/DESIGN.md +0 -641
  733. package/.opencode/oh-my-design/web/references/opencode.ai/.verification.md +0 -136
  734. package/.opencode/oh-my-design/web/references/opencode.ai/DESIGN.md +0 -425
  735. package/.opencode/oh-my-design/web/references/opencode.ai/README.md +0 -24
  736. package/.opencode/oh-my-design/web/references/opencode.ai/preview-dark.html +0 -366
  737. package/.opencode/oh-my-design/web/references/opencode.ai/preview.html +0 -357
  738. package/.opencode/oh-my-design/web/references/payco/.verification.md +0 -28
  739. package/.opencode/oh-my-design/web/references/payco/DESIGN.md +0 -267
  740. package/.opencode/oh-my-design/web/references/paypay/.verification.md +0 -21
  741. package/.opencode/oh-my-design/web/references/paypay/DESIGN.md +0 -656
  742. package/.opencode/oh-my-design/web/references/pchome/.verification.md +0 -38
  743. package/.opencode/oh-my-design/web/references/pchome/DESIGN.md +0 -439
  744. package/.opencode/oh-my-design/web/references/perplexity/.verification.md +0 -21
  745. package/.opencode/oh-my-design/web/references/perplexity/DESIGN.md +0 -546
  746. package/.opencode/oh-my-design/web/references/piccollage/.verification.md +0 -34
  747. package/.opencode/oh-my-design/web/references/piccollage/DESIGN.md +0 -320
  748. package/.opencode/oh-my-design/web/references/pinkoi/.verification.md +0 -147
  749. package/.opencode/oh-my-design/web/references/pinkoi/DESIGN.md +0 -639
  750. package/.opencode/oh-my-design/web/references/pinkoi/README.md +0 -12
  751. package/.opencode/oh-my-design/web/references/pinkoi/_research/browse-1440px.png +0 -0
  752. package/.opencode/oh-my-design/web/references/pinkoi/_research.md +0 -167
  753. package/.opencode/oh-my-design/web/references/pinterest/.verification.md +0 -141
  754. package/.opencode/oh-my-design/web/references/pinterest/DESIGN.md +0 -366
  755. package/.opencode/oh-my-design/web/references/pinterest/README.md +0 -23
  756. package/.opencode/oh-my-design/web/references/pinterest/preview-dark.html +0 -233
  757. package/.opencode/oh-my-design/web/references/pinterest/preview.html +0 -232
  758. package/.opencode/oh-my-design/web/references/pixiv/.verification.md +0 -20
  759. package/.opencode/oh-my-design/web/references/pixiv/DESIGN.md +0 -613
  760. package/.opencode/oh-my-design/web/references/pixnet/.verification.md +0 -31
  761. package/.opencode/oh-my-design/web/references/pixnet/DESIGN.md +0 -430
  762. package/.opencode/oh-my-design/web/references/posthog/.verification.md +0 -159
  763. package/.opencode/oh-my-design/web/references/posthog/DESIGN.md +0 -480
  764. package/.opencode/oh-my-design/web/references/posthog/README.md +0 -23
  765. package/.opencode/oh-my-design/web/references/posthog/preview-dark.html +0 -699
  766. package/.opencode/oh-my-design/web/references/posthog/preview.html +0 -749
  767. package/.opencode/oh-my-design/web/references/postype/.verification.md +0 -61
  768. package/.opencode/oh-my-design/web/references/postype/DESIGN.md +0 -431
  769. package/.opencode/oh-my-design/web/references/publy/DESIGN.md +0 -563
  770. package/.opencode/oh-my-design/web/references/qanda/.verification.md +0 -121
  771. package/.opencode/oh-my-design/web/references/qanda/DESIGN.md +0 -516
  772. package/.opencode/oh-my-design/web/references/ragic/.verification.md +0 -37
  773. package/.opencode/oh-my-design/web/references/ragic/DESIGN.md +0 -444
  774. package/.opencode/oh-my-design/web/references/rakuten/.verification.md +0 -60
  775. package/.opencode/oh-my-design/web/references/rakuten/DESIGN.md +0 -440
  776. package/.opencode/oh-my-design/web/references/ramp/.verification.md +0 -21
  777. package/.opencode/oh-my-design/web/references/ramp/DESIGN.md +0 -634
  778. package/.opencode/oh-my-design/web/references/rayark/.verification.md +0 -22
  779. package/.opencode/oh-my-design/web/references/rayark/DESIGN.md +0 -154
  780. package/.opencode/oh-my-design/web/references/raycast/.verification.md +0 -138
  781. package/.opencode/oh-my-design/web/references/raycast/DESIGN.md +0 -467
  782. package/.opencode/oh-my-design/web/references/raycast/README.md +0 -23
  783. package/.opencode/oh-my-design/web/references/raycast/preview-dark.html +0 -606
  784. package/.opencode/oh-my-design/web/references/raycast/preview.html +0 -688
  785. package/.opencode/oh-my-design/web/references/remember/.verification.md +0 -135
  786. package/.opencode/oh-my-design/web/references/remember/DESIGN.md +0 -504
  787. package/.opencode/oh-my-design/web/references/remember/_promo.json +0 -27
  788. package/.opencode/oh-my-design/web/references/remember/_research.md +0 -90
  789. package/.opencode/oh-my-design/web/references/renault/.verification.md +0 -139
  790. package/.opencode/oh-my-design/web/references/renault/DESIGN.md +0 -439
  791. package/.opencode/oh-my-design/web/references/renault/README.md +0 -23
  792. package/.opencode/oh-my-design/web/references/renault/preview-dark.html +0 -406
  793. package/.opencode/oh-my-design/web/references/renault/preview.html +0 -606
  794. package/.opencode/oh-my-design/web/references/replicate/.verification.md +0 -154
  795. package/.opencode/oh-my-design/web/references/replicate/DESIGN.md +0 -387
  796. package/.opencode/oh-my-design/web/references/replicate/README.md +0 -24
  797. package/.opencode/oh-my-design/web/references/replicate/preview-dark.html +0 -828
  798. package/.opencode/oh-my-design/web/references/replicate/preview.html +0 -831
  799. package/.opencode/oh-my-design/web/references/resend/.verification.md +0 -143
  800. package/.opencode/oh-my-design/web/references/resend/DESIGN.md +0 -440
  801. package/.opencode/oh-my-design/web/references/resend/README.md +0 -23
  802. package/.opencode/oh-my-design/web/references/resend/preview-dark.html +0 -355
  803. package/.opencode/oh-my-design/web/references/resend/preview.html +0 -354
  804. package/.opencode/oh-my-design/web/references/retool/.verification.md +0 -21
  805. package/.opencode/oh-my-design/web/references/retool/DESIGN.md +0 -645
  806. package/.opencode/oh-my-design/web/references/revolut/.verification.md +0 -140
  807. package/.opencode/oh-my-design/web/references/revolut/DESIGN.md +0 -319
  808. package/.opencode/oh-my-design/web/references/revolut/README.md +0 -23
  809. package/.opencode/oh-my-design/web/references/revolut/preview-dark.html +0 -234
  810. package/.opencode/oh-my-design/web/references/revolut/preview.html +0 -233
  811. package/.opencode/oh-my-design/web/references/richart/.verification.md +0 -41
  812. package/.opencode/oh-my-design/web/references/richart/DESIGN.md +0 -465
  813. package/.opencode/oh-my-design/web/references/ridi/.verification.md +0 -108
  814. package/.opencode/oh-my-design/web/references/ridi/DESIGN.md +0 -573
  815. package/.opencode/oh-my-design/web/references/riiid/.verification.md +0 -33
  816. package/.opencode/oh-my-design/web/references/riiid/DESIGN.md +0 -260
  817. package/.opencode/oh-my-design/web/references/ringle/.verification.md +0 -53
  818. package/.opencode/oh-my-design/web/references/ringle/DESIGN.md +0 -444
  819. package/.opencode/oh-my-design/web/references/robinhood/.verification.md +0 -21
  820. package/.opencode/oh-my-design/web/references/robinhood/DESIGN.md +0 -604
  821. package/.opencode/oh-my-design/web/references/runwayml/.verification.md +0 -141
  822. package/.opencode/oh-my-design/web/references/runwayml/DESIGN.md +0 -431
  823. package/.opencode/oh-my-design/web/references/runwayml/README.md +0 -24
  824. package/.opencode/oh-my-design/web/references/runwayml/preview-dark.html +0 -664
  825. package/.opencode/oh-my-design/web/references/runwayml/preview.html +0 -665
  826. package/.opencode/oh-my-design/web/references/salesforce/.verification.md +0 -66
  827. package/.opencode/oh-my-design/web/references/salesforce/DESIGN.md +0 -473
  828. package/.opencode/oh-my-design/web/references/sanity/.verification.md +0 -174
  829. package/.opencode/oh-my-design/web/references/sanity/DESIGN.md +0 -499
  830. package/.opencode/oh-my-design/web/references/sanity/README.md +0 -24
  831. package/.opencode/oh-my-design/web/references/sanity/preview-dark.html +0 -990
  832. package/.opencode/oh-my-design/web/references/sanity/preview.html +0 -1135
  833. package/.opencode/oh-my-design/web/references/sansan/.verification.md +0 -21
  834. package/.opencode/oh-my-design/web/references/sansan/DESIGN.md +0 -631
  835. package/.opencode/oh-my-design/web/references/sendbird/.verification.md +0 -67
  836. package/.opencode/oh-my-design/web/references/sendbird/DESIGN.md +0 -331
  837. package/.opencode/oh-my-design/web/references/sentry/.verification.md +0 -157
  838. package/.opencode/oh-my-design/web/references/sentry/DESIGN.md +0 -397
  839. package/.opencode/oh-my-design/web/references/sentry/README.md +0 -24
  840. package/.opencode/oh-my-design/web/references/sentry/preview-dark.html +0 -626
  841. package/.opencode/oh-my-design/web/references/sentry/preview.html +0 -951
  842. package/.opencode/oh-my-design/web/references/shinhancard/.verification.md +0 -31
  843. package/.opencode/oh-my-design/web/references/shinhancard/DESIGN.md +0 -421
  844. package/.opencode/oh-my-design/web/references/shopline/.verification.md +0 -34
  845. package/.opencode/oh-my-design/web/references/shopline/DESIGN.md +0 -431
  846. package/.opencode/oh-my-design/web/references/slack/.verification.md +0 -21
  847. package/.opencode/oh-my-design/web/references/slack/DESIGN.md +0 -635
  848. package/.opencode/oh-my-design/web/references/smarthr/DESIGN.md +0 -452
  849. package/.opencode/oh-my-design/web/references/smartnews/DESIGN.md +0 -360
  850. package/.opencode/oh-my-design/web/references/socar/DESIGN.md +0 -438
  851. package/.opencode/oh-my-design/web/references/socar/_promo.json +0 -28
  852. package/.opencode/oh-my-design/web/references/socar/_research.md +0 -55
  853. package/.opencode/oh-my-design/web/references/soomgo/.verification.md +0 -27
  854. package/.opencode/oh-my-design/web/references/soomgo/DESIGN.md +0 -326
  855. package/.opencode/oh-my-design/web/references/spacex/.verification.md +0 -132
  856. package/.opencode/oh-my-design/web/references/spacex/DESIGN.md +0 -415
  857. package/.opencode/oh-my-design/web/references/spacex/README.md +0 -23
  858. package/.opencode/oh-my-design/web/references/spacex/_research.md +0 -69
  859. package/.opencode/oh-my-design/web/references/spacex/preview-dark.html +0 -221
  860. package/.opencode/oh-my-design/web/references/spacex/preview.html +0 -220
  861. package/.opencode/oh-my-design/web/references/spoon/DESIGN.md +0 -492
  862. package/.opencode/oh-my-design/web/references/spotify/.verification.md +0 -128
  863. package/.opencode/oh-my-design/web/references/spotify/DESIGN.md +0 -489
  864. package/.opencode/oh-my-design/web/references/spotify/README.md +0 -23
  865. package/.opencode/oh-my-design/web/references/spotify/preview-dark.html +0 -231
  866. package/.opencode/oh-my-design/web/references/spotify/preview.html +0 -230
  867. package/.opencode/oh-my-design/web/references/starbucks/.verification.md +0 -21
  868. package/.opencode/oh-my-design/web/references/starbucks/DESIGN.md +0 -597
  869. package/.opencode/oh-my-design/web/references/stores/.verification.md +0 -61
  870. package/.opencode/oh-my-design/web/references/stores/DESIGN.md +0 -447
  871. package/.opencode/oh-my-design/web/references/stripe/.verification.md +0 -140
  872. package/.opencode/oh-my-design/web/references/stripe/DESIGN.md +0 -571
  873. package/.opencode/oh-my-design/web/references/stripe/README.md +0 -24
  874. package/.opencode/oh-my-design/web/references/stripe/preview-dark.html +0 -428
  875. package/.opencode/oh-my-design/web/references/stripe/preview.html +0 -419
  876. package/.opencode/oh-my-design/web/references/studio/.verification.md +0 -21
  877. package/.opencode/oh-my-design/web/references/studio/DESIGN.md +0 -602
  878. package/.opencode/oh-my-design/web/references/supabase/.verification.md +0 -145
  879. package/.opencode/oh-my-design/web/references/supabase/DESIGN.md +0 -389
  880. package/.opencode/oh-my-design/web/references/supabase/README.md +0 -24
  881. package/.opencode/oh-my-design/web/references/supabase/preview-dark.html +0 -977
  882. package/.opencode/oh-my-design/web/references/supabase/preview.html +0 -955
  883. package/.opencode/oh-my-design/web/references/superhuman/.verification.md +0 -184
  884. package/.opencode/oh-my-design/web/references/superhuman/DESIGN.md +0 -453
  885. package/.opencode/oh-my-design/web/references/superhuman/README.md +0 -23
  886. package/.opencode/oh-my-design/web/references/superhuman/preview-dark.html +0 -973
  887. package/.opencode/oh-my-design/web/references/superhuman/preview.html +0 -951
  888. package/.opencode/oh-my-design/web/references/surveycake/.verification.md +0 -31
  889. package/.opencode/oh-my-design/web/references/surveycake/DESIGN.md +0 -442
  890. package/.opencode/oh-my-design/web/references/tada/DESIGN.md +0 -579
  891. package/.opencode/oh-my-design/web/references/teamblind/.verification.md +0 -76
  892. package/.opencode/oh-my-design/web/references/teamblind/DESIGN.md +0 -497
  893. package/.opencode/oh-my-design/web/references/tesla/.verification.md +0 -149
  894. package/.opencode/oh-my-design/web/references/tesla/DESIGN.md +0 -501
  895. package/.opencode/oh-my-design/web/references/tesla/README.md +0 -23
  896. package/.opencode/oh-my-design/web/references/tesla/_research.md +0 -70
  897. package/.opencode/oh-my-design/web/references/tesla/preview-dark.html +0 -947
  898. package/.opencode/oh-my-design/web/references/tesla/preview.html +0 -925
  899. package/.opencode/oh-my-design/web/references/theverge/.verification.md +0 -21
  900. package/.opencode/oh-my-design/web/references/theverge/DESIGN.md +0 -500
  901. package/.opencode/oh-my-design/web/references/timee/.verification.md +0 -67
  902. package/.opencode/oh-my-design/web/references/timee/DESIGN.md +0 -444
  903. package/.opencode/oh-my-design/web/references/together.ai/.verification.md +0 -145
  904. package/.opencode/oh-my-design/web/references/together.ai/DESIGN.md +0 -389
  905. package/.opencode/oh-my-design/web/references/together.ai/README.md +0 -24
  906. package/.opencode/oh-my-design/web/references/together.ai/preview-dark.html +0 -892
  907. package/.opencode/oh-my-design/web/references/together.ai/preview.html +0 -897
  908. package/.opencode/oh-my-design/web/references/toss/.verification.md +0 -120
  909. package/.opencode/oh-my-design/web/references/toss/DESIGN.md +0 -698
  910. package/.opencode/oh-my-design/web/references/toss/README.md +0 -19
  911. package/.opencode/oh-my-design/web/references/toss-securities/DESIGN.md +0 -247
  912. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-proof.json +0 -126
  913. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-raw.json +0 -619
  914. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-stock.json +0 -525
  915. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/fonts.json +0 -24
  916. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/structure.json +0 -35
  917. package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/tokens.json +0 -87
  918. package/.opencode/oh-my-design/web/references/tossbank/DESIGN.md +0 -576
  919. package/.opencode/oh-my-design/web/references/trenbe/.verification.md +0 -32
  920. package/.opencode/oh-my-design/web/references/trenbe/DESIGN.md +0 -293
  921. package/.opencode/oh-my-design/web/references/triple/DESIGN.md +0 -481
  922. package/.opencode/oh-my-design/web/references/tumblbug/DESIGN.md +0 -578
  923. package/.opencode/oh-my-design/web/references/tving/DESIGN.md +0 -317
  924. package/.opencode/oh-my-design/web/references/tving/assets/_reference/.live-inspect-proof.json +0 -131
  925. package/.opencode/oh-my-design/web/references/tving/assets/_reference/LICENSE-NOTE.md +0 -37
  926. package/.opencode/oh-my-design/web/references/tving/assets/_reference/attribution.md +0 -52
  927. package/.opencode/oh-my-design/web/references/tving/assets/_reference/fonts.json +0 -31
  928. package/.opencode/oh-my-design/web/references/tving/assets/_reference/screenshots/hero-desktop.png +0 -0
  929. package/.opencode/oh-my-design/web/references/tving/assets/_reference/structure.json +0 -55
  930. package/.opencode/oh-my-design/web/references/tving/assets/_reference/tokens.json +0 -115
  931. package/.opencode/oh-my-design/web/references/uber/.verification.md +0 -128
  932. package/.opencode/oh-my-design/web/references/uber/DESIGN.md +0 -423
  933. package/.opencode/oh-my-design/web/references/uber/README.md +0 -24
  934. package/.opencode/oh-my-design/web/references/uber/preview-dark.html +0 -1120
  935. package/.opencode/oh-my-design/web/references/uber/preview.html +0 -1119
  936. package/.opencode/oh-my-design/web/references/ubie/.verification.md +0 -21
  937. package/.opencode/oh-my-design/web/references/ubie/DESIGN.md +0 -615
  938. package/.opencode/oh-my-design/web/references/uniqlo/.verification.md +0 -21
  939. package/.opencode/oh-my-design/web/references/uniqlo/DESIGN.md +0 -575
  940. package/.opencode/oh-my-design/web/references/upbit/DESIGN.md +0 -337
  941. package/.opencode/oh-my-design/web/references/upbit/_research.md +0 -83
  942. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/.live-inspect-proof.json +0 -263
  943. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/fonts.json +0 -18
  944. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/raw-capture-exchange.json +0 -1901
  945. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/raw-capture.json +0 -1121
  946. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/structure.json +0 -52
  947. package/.opencode/oh-my-design/web/references/upbit/assets/_reference/tokens.json +0 -169
  948. package/.opencode/oh-my-design/web/references/upstage/DESIGN.md +0 -270
  949. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/.live-inspect-proof.json +0 -157
  950. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_brand-resource-center.json +0 -44
  951. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_curated-samples.json +0 -310
  952. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_raw-capture.json +0 -1560
  953. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_root-vars.json +0 -76
  954. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_structure-raw.json +0 -298
  955. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/fonts.json +0 -35
  956. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/structure.json +0 -72
  957. package/.opencode/oh-my-design/web/references/upstage/assets/_reference/tokens.json +0 -183
  958. package/.opencode/oh-my-design/web/references/velog/.verification.md +0 -26
  959. package/.opencode/oh-my-design/web/references/velog/DESIGN.md +0 -196
  960. package/.opencode/oh-my-design/web/references/vercel/.verification.md +0 -134
  961. package/.opencode/oh-my-design/web/references/vercel/DESIGN.md +0 -523
  962. package/.opencode/oh-my-design/web/references/vercel/README.md +0 -24
  963. package/.opencode/oh-my-design/web/references/vercel/preview-dark.html +0 -368
  964. package/.opencode/oh-my-design/web/references/vercel/preview.html +0 -367
  965. package/.opencode/oh-my-design/web/references/voicetube/.verification.md +0 -34
  966. package/.opencode/oh-my-design/web/references/voicetube/DESIGN.md +0 -266
  967. package/.opencode/oh-my-design/web/references/voltagent/.verification.md +0 -159
  968. package/.opencode/oh-my-design/web/references/voltagent/DESIGN.md +0 -454
  969. package/.opencode/oh-my-design/web/references/voltagent/README.md +0 -24
  970. package/.opencode/oh-my-design/web/references/voltagent/preview-dark.html +0 -487
  971. package/.opencode/oh-my-design/web/references/voltagent/preview.html +0 -766
  972. package/.opencode/oh-my-design/web/references/wadiz/DESIGN.md +0 -415
  973. package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/.live-inspect-proof.json +0 -137
  974. package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/fonts.json +0 -17
  975. package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/structure.json +0 -35
  976. package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/tokens.json +0 -80
  977. package/.opencode/oh-my-design/web/references/wanted/DESIGN.md +0 -575
  978. package/.opencode/oh-my-design/web/references/wanted/_promo.json +0 -31
  979. package/.opencode/oh-my-design/web/references/wanted/_research.md +0 -119
  980. package/.opencode/oh-my-design/web/references/wantedly/.verification.md +0 -53
  981. package/.opencode/oh-my-design/web/references/wantedly/DESIGN.md +0 -437
  982. package/.opencode/oh-my-design/web/references/warp/.verification.md +0 -156
  983. package/.opencode/oh-my-design/web/references/warp/DESIGN.md +0 -431
  984. package/.opencode/oh-my-design/web/references/warp/README.md +0 -23
  985. package/.opencode/oh-my-design/web/references/warp/preview-dark.html +0 -500
  986. package/.opencode/oh-my-design/web/references/warp/preview.html +0 -533
  987. package/.opencode/oh-my-design/web/references/watcha/DESIGN.md +0 -465
  988. package/.opencode/oh-my-design/web/references/wavve/DESIGN.md +0 -480
  989. package/.opencode/oh-my-design/web/references/wconcept/DESIGN.md +0 -556
  990. package/.opencode/oh-my-design/web/references/webflow/.verification.md +0 -151
  991. package/.opencode/oh-my-design/web/references/webflow/DESIGN.md +0 -330
  992. package/.opencode/oh-my-design/web/references/webflow/README.md +0 -23
  993. package/.opencode/oh-my-design/web/references/webflow/preview-dark.html +0 -147
  994. package/.opencode/oh-my-design/web/references/webflow/preview.html +0 -146
  995. package/.opencode/oh-my-design/web/references/wired/.verification.md +0 -21
  996. package/.opencode/oh-my-design/web/references/wired/DESIGN.md +0 -572
  997. package/.opencode/oh-my-design/web/references/wise/.verification.md +0 -141
  998. package/.opencode/oh-my-design/web/references/wise/DESIGN.md +0 -317
  999. package/.opencode/oh-my-design/web/references/wise/README.md +0 -23
  1000. package/.opencode/oh-my-design/web/references/wise/preview-dark.html +0 -230
  1001. package/.opencode/oh-my-design/web/references/wise/preview.html +0 -229
  1002. package/.opencode/oh-my-design/web/references/x.ai/.verification.md +0 -140
  1003. package/.opencode/oh-my-design/web/references/x.ai/DESIGN.md +0 -397
  1004. package/.opencode/oh-my-design/web/references/x.ai/README.md +0 -24
  1005. package/.opencode/oh-my-design/web/references/x.ai/preview-dark.html +0 -356
  1006. package/.opencode/oh-my-design/web/references/x.ai/preview.html +0 -407
  1007. package/.opencode/oh-my-design/web/references/xiaohongshu/DESIGN.md +0 -462
  1008. package/.opencode/oh-my-design/web/references/yanolja/.verification.md +0 -83
  1009. package/.opencode/oh-my-design/web/references/yanolja/DESIGN.md +0 -508
  1010. package/.opencode/oh-my-design/web/references/yeogiotte/.verification.md +0 -210
  1011. package/.opencode/oh-my-design/web/references/yeogiotte/DESIGN.md +0 -500
  1012. package/.opencode/oh-my-design/web/references/yogiyo/DESIGN.md +0 -515
  1013. package/.opencode/oh-my-design/web/references/yourator/.verification.md +0 -39
  1014. package/.opencode/oh-my-design/web/references/yourator/DESIGN.md +0 -453
  1015. package/.opencode/oh-my-design/web/references/zapier/.verification.md +0 -156
  1016. package/.opencode/oh-my-design/web/references/zapier/DESIGN.md +0 -474
  1017. package/.opencode/oh-my-design/web/references/zapier/README.md +0 -24
  1018. package/.opencode/oh-my-design/web/references/zapier/preview-dark.html +0 -380
  1019. package/.opencode/oh-my-design/web/references/zapier/preview.html +0 -372
  1020. package/.opencode/oh-my-design/web/references/zigbang/DESIGN.md +0 -500
  1021. package/.opencode/oh-my-design/web/references/zigbang/_promo.json +0 -16
  1022. package/.opencode/oh-my-design/web/references/zigbang/_research.md +0 -101
  1023. package/.opencode/oh-my-design/web/references/zigzag/DESIGN.md +0 -695
  1024. package/.opencode/oh-my-design/web/references/zigzag/_promo.json +0 -23
  1025. package/.opencode/oh-my-design/web/references/zigzag/_research.md +0 -64
  1026. package/.opencode/oh-my-design/web/references/zozotown/.verification.md +0 -20
  1027. package/.opencode/oh-my-design/web/references/zozotown/DESIGN.md +0 -578
  1028. package/.opencode/oh-my-design/web/scripts/build-registry.mjs +0 -257
  1029. package/.opencode/oh-my-design/web/scripts/extract-tokens.mjs +0 -117
  1030. package/.opencode/oh-my-design/web/scripts/fetch-og-images.mjs +0 -112
  1031. package/.opencode/oh-my-design/web/scripts/gen-favicon.mjs +0 -58
  1032. package/.opencode/oh-my-design/web/scripts/gen-og.mjs +0 -67
  1033. package/.opencode/oh-my-design/web/scripts/migrate-frontmatters.mjs +0 -637
  1034. package/.opencode/oh-my-design/web/scripts/sync-catalog.mjs +0 -140
  1035. package/.opencode/oh-my-design/web/scripts/token-sheet.mjs +0 -72
  1036. package/.opencode/oh-my-design/web/scripts/token-status.mjs +0 -94
  1037. package/.opencode/oh-my-design/web/scripts/verify-reference.mjs +0 -185
  1038. package/.opencode/oh-my-design/web/src/app/alternatives/[slug]/page.tsx +0 -399
  1039. package/.opencode/oh-my-design/web/src/app/api/font-playground/match/route.ts +0 -205
  1040. package/.opencode/oh-my-design/web/src/app/api/leaderboard/route.ts +0 -32
  1041. package/.opencode/oh-my-design/web/src/app/api/og/playground/route.tsx +0 -179
  1042. package/.opencode/oh-my-design/web/src/app/api/references/[id]/route.ts +0 -162
  1043. package/.opencode/oh-my-design/web/src/app/api/references/route.ts +0 -142
  1044. package/.opencode/oh-my-design/web/src/app/api/track/route.ts +0 -30
  1045. package/.opencode/oh-my-design/web/src/app/apple-icon.png +0 -0
  1046. package/.opencode/oh-my-design/web/src/app/builder/layout.tsx +0 -43
  1047. package/.opencode/oh-my-design/web/src/app/builder/page.tsx +0 -434
  1048. package/.opencode/oh-my-design/web/src/app/changelog/[version]/page.tsx +0 -160
  1049. package/.opencode/oh-my-design/web/src/app/changelog/page.tsx +0 -142
  1050. package/.opencode/oh-my-design/web/src/app/collections/[slug]/collection-grid.tsx +0 -27
  1051. package/.opencode/oh-my-design/web/src/app/collections/[slug]/page.tsx +0 -171
  1052. package/.opencode/oh-my-design/web/src/app/curation/layout.tsx +0 -43
  1053. package/.opencode/oh-my-design/web/src/app/curation/page.tsx +0 -78
  1054. package/.opencode/oh-my-design/web/src/app/design-systems/[id]/detail-view.tsx +0 -307
  1055. package/.opencode/oh-my-design/web/src/app/design-systems/[id]/page.tsx +0 -184
  1056. package/.opencode/oh-my-design/web/src/app/design-systems/layout.tsx +0 -24
  1057. package/.opencode/oh-my-design/web/src/app/design-systems/page.tsx +0 -95
  1058. package/.opencode/oh-my-design/web/src/app/docs/layout.tsx +0 -22
  1059. package/.opencode/oh-my-design/web/src/app/docs/page.tsx +0 -1453
  1060. package/.opencode/oh-my-design/web/src/app/faq/page.tsx +0 -324
  1061. package/.opencode/oh-my-design/web/src/app/font-playground/font-playground-view.tsx +0 -424
  1062. package/.opencode/oh-my-design/web/src/app/font-playground/page.tsx +0 -43
  1063. package/.opencode/oh-my-design/web/src/app/globals.css +0 -328
  1064. package/.opencode/oh-my-design/web/src/app/icon.png +0 -0
  1065. package/.opencode/oh-my-design/web/src/app/layout.tsx +0 -229
  1066. package/.opencode/oh-my-design/web/src/app/page.tsx +0 -50
  1067. package/.opencode/oh-my-design/web/src/app/playground/page.tsx +0 -81
  1068. package/.opencode/oh-my-design/web/src/app/playground/playground-view.tsx +0 -436
  1069. package/.opencode/oh-my-design/web/src/app/qa-references/page.tsx +0 -233
  1070. package/.opencode/oh-my-design/web/src/app/r/[id]/route.ts +0 -57
  1071. package/.opencode/oh-my-design/web/src/app/reference/[id]/page.tsx +0 -152
  1072. package/.opencode/oh-my-design/web/src/app/result/[typeCode]/layout.tsx +0 -70
  1073. package/.opencode/oh-my-design/web/src/app/result/[typeCode]/page.tsx +0 -280
  1074. package/.opencode/oh-my-design/web/src/app/robots.ts +0 -44
  1075. package/.opencode/oh-my-design/web/src/app/sitemap.ts +0 -156
  1076. package/.opencode/oh-my-design/web/src/app/what-is-design-md/page.tsx +0 -308
  1077. package/.opencode/oh-my-design/web/src/components/ab-picker.tsx +0 -74
  1078. package/.opencode/oh-my-design/web/src/components/analytics-init.tsx +0 -21
  1079. package/.opencode/oh-my-design/web/src/components/brand-logo.tsx +0 -101
  1080. package/.opencode/oh-my-design/web/src/components/browse-modal.tsx +0 -149
  1081. package/.opencode/oh-my-design/web/src/components/component-modal.tsx +0 -108
  1082. package/.opencode/oh-my-design/web/src/components/content-preview-modal.tsx +0 -213
  1083. package/.opencode/oh-my-design/web/src/components/customizer.tsx +0 -641
  1084. package/.opencode/oh-my-design/web/src/components/design-wizard.tsx +0 -691
  1085. package/.opencode/oh-my-design/web/src/components/ds-card.tsx +0 -162
  1086. package/.opencode/oh-my-design/web/src/components/export-panel.tsx +0 -162
  1087. package/.opencode/oh-my-design/web/src/components/font-card.tsx +0 -121
  1088. package/.opencode/oh-my-design/web/src/components/font-playground/color-palette.tsx +0 -86
  1089. package/.opencode/oh-my-design/web/src/components/font-playground/detail-modal.tsx +0 -789
  1090. package/.opencode/oh-my-design/web/src/components/font-playground/filter-bar.tsx +0 -192
  1091. package/.opencode/oh-my-design/web/src/components/font-playground/font-tile.tsx +0 -92
  1092. package/.opencode/oh-my-design/web/src/components/font-playground/gallery.tsx +0 -42
  1093. package/.opencode/oh-my-design/web/src/components/font-playground/hero-entry.tsx +0 -150
  1094. package/.opencode/oh-my-design/web/src/components/font-playground/labels.ts +0 -18
  1095. package/.opencode/oh-my-design/web/src/components/font-playground/match-results.tsx +0 -486
  1096. package/.opencode/oh-my-design/web/src/components/font-playground/my-fonts.tsx +0 -315
  1097. package/.opencode/oh-my-design/web/src/components/font-playground/preview-templates.tsx +0 -395
  1098. package/.opencode/oh-my-design/web/src/components/font-playground/sample-input.tsx +0 -30
  1099. package/.opencode/oh-my-design/web/src/components/font-playground/script-toggle.tsx +0 -73
  1100. package/.opencode/oh-my-design/web/src/components/font-playground/usage-guide.tsx +0 -172
  1101. package/.opencode/oh-my-design/web/src/components/install-cta.tsx +0 -133
  1102. package/.opencode/oh-my-design/web/src/components/landing-v2/hero.tsx +0 -459
  1103. package/.opencode/oh-my-design/web/src/components/landing-v2/live-proof.tsx +0 -464
  1104. package/.opencode/oh-my-design/web/src/components/landing-v2/nav.tsx +0 -126
  1105. package/.opencode/oh-my-design/web/src/components/landing-v2/sections.tsx +0 -1166
  1106. package/.opencode/oh-my-design/web/src/components/landing-v2/the-wall.tsx +0 -332
  1107. package/.opencode/oh-my-design/web/src/components/landing-v2/tokens.ts +0 -33
  1108. package/.opencode/oh-my-design/web/src/components/markdown.tsx +0 -168
  1109. package/.opencode/oh-my-design/web/src/components/playground/actions-header.tsx +0 -28
  1110. package/.opencode/oh-my-design/web/src/components/playground/contrast-badge.tsx +0 -112
  1111. package/.opencode/oh-my-design/web/src/components/playground/controls/category-section.tsx +0 -50
  1112. package/.opencode/oh-my-design/web/src/components/playground/controls/color-picker.tsx +0 -116
  1113. package/.opencode/oh-my-design/web/src/components/playground/controls/density-picker.tsx +0 -56
  1114. package/.opencode/oh-my-design/web/src/components/playground/controls/mood-picker.tsx +0 -53
  1115. package/.opencode/oh-my-design/web/src/components/playground/controls/motion-picker.tsx +0 -62
  1116. package/.opencode/oh-my-design/web/src/components/playground/controls/name-description.tsx +0 -55
  1117. package/.opencode/oh-my-design/web/src/components/playground/controls/palette-grid.tsx +0 -111
  1118. package/.opencode/oh-my-design/web/src/components/playground/controls/personas-picker.tsx +0 -85
  1119. package/.opencode/oh-my-design/web/src/components/playground/controls/radius-picker.tsx +0 -48
  1120. package/.opencode/oh-my-design/web/src/components/playground/controls/voice-picker.tsx +0 -120
  1121. package/.opencode/oh-my-design/web/src/components/playground/controls/weight-picker.tsx +0 -48
  1122. package/.opencode/oh-my-design/web/src/components/playground/export-box.tsx +0 -120
  1123. package/.opencode/oh-my-design/web/src/components/playground/header.tsx +0 -71
  1124. package/.opencode/oh-my-design/web/src/components/playground/layout.tsx +0 -50
  1125. package/.opencode/oh-my-design/web/src/components/playground/mobile-drawer.tsx +0 -78
  1126. package/.opencode/oh-my-design/web/src/components/playground/mood-override-badge.tsx +0 -40
  1127. package/.opencode/oh-my-design/web/src/components/playground/preview-pane.tsx +0 -82
  1128. package/.opencode/oh-my-design/web/src/components/playground/primitives-strip.tsx +0 -153
  1129. package/.opencode/oh-my-design/web/src/components/playground/reference-picker-modal.tsx +0 -146
  1130. package/.opencode/oh-my-design/web/src/components/playground/share-button.tsx +0 -42
  1131. package/.opencode/oh-my-design/web/src/components/playground/start-from.tsx +0 -90
  1132. package/.opencode/oh-my-design/web/src/components/preview-export-view.tsx +0 -205
  1133. package/.opencode/oh-my-design/web/src/components/preview.tsx +0 -869
  1134. package/.opencode/oh-my-design/web/src/components/reference-preview.tsx +0 -1187
  1135. package/.opencode/oh-my-design/web/src/components/reference-selector.tsx +0 -671
  1136. package/.opencode/oh-my-design/web/src/components/scroll-to-top.tsx +0 -41
  1137. package/.opencode/oh-my-design/web/src/components/status-badge.tsx +0 -64
  1138. package/.opencode/oh-my-design/web/src/components/survey/company-mini-ui.tsx +0 -669
  1139. package/.opencode/oh-my-design/web/src/components/survey/install-cta.tsx +0 -80
  1140. package/.opencode/oh-my-design/web/src/components/survey/mood-step.tsx +0 -260
  1141. package/.opencode/oh-my-design/web/src/components/survey/quiz-wizard.tsx +0 -528
  1142. package/.opencode/oh-my-design/web/src/components/survey/result-card.tsx +0 -242
  1143. package/.opencode/oh-my-design/web/src/components/survey/share-buttons.tsx +0 -320
  1144. package/.opencode/oh-my-design/web/src/components/survey/survey-wizard.tsx +0 -661
  1145. package/.opencode/oh-my-design/web/src/components/survey/typography-step.tsx +0 -192
  1146. package/.opencode/oh-my-design/web/src/components/theme-provider.tsx +0 -12
  1147. package/.opencode/oh-my-design/web/src/components/ui/badge.tsx +0 -52
  1148. package/.opencode/oh-my-design/web/src/components/ui/button.tsx +0 -58
  1149. package/.opencode/oh-my-design/web/src/components/ui/card.tsx +0 -103
  1150. package/.opencode/oh-my-design/web/src/components/ui/dialog.tsx +0 -160
  1151. package/.opencode/oh-my-design/web/src/components/ui/input.tsx +0 -20
  1152. package/.opencode/oh-my-design/web/src/components/ui/label.tsx +0 -20
  1153. package/.opencode/oh-my-design/web/src/components/ui/radio-group.tsx +0 -38
  1154. package/.opencode/oh-my-design/web/src/components/ui/scroll-area.tsx +0 -55
  1155. package/.opencode/oh-my-design/web/src/components/ui/select.tsx +0 -201
  1156. package/.opencode/oh-my-design/web/src/components/ui/separator.tsx +0 -25
  1157. package/.opencode/oh-my-design/web/src/components/ui/sheet.tsx +0 -138
  1158. package/.opencode/oh-my-design/web/src/components/ui/slider.tsx +0 -52
  1159. package/.opencode/oh-my-design/web/src/components/ui/switch.tsx +0 -32
  1160. package/.opencode/oh-my-design/web/src/components/ui/tabs.tsx +0 -82
  1161. package/.opencode/oh-my-design/web/src/components/ui/tooltip.tsx +0 -66
  1162. package/.opencode/oh-my-design/web/src/data/faq.ts +0 -81
  1163. package/.opencode/oh-my-design/web/src/data/registry.generated.ts +0 -304
  1164. package/.opencode/oh-my-design/web/src/data/version.generated.ts +0 -2
  1165. package/.opencode/oh-my-design/web/src/lib/changelog.ts +0 -96
  1166. package/.opencode/oh-my-design/web/src/lib/collections.ts +0 -252
  1167. package/.opencode/oh-my-design/web/src/lib/contrast.ts +0 -40
  1168. package/.opencode/oh-my-design/web/src/lib/core/builder-prompt.test.ts +0 -100
  1169. package/.opencode/oh-my-design/web/src/lib/core/builder-prompt.ts +0 -102
  1170. package/.opencode/oh-my-design/web/src/lib/core/color.ts +0 -122
  1171. package/.opencode/oh-my-design/web/src/lib/core/config-hash.test.ts +0 -157
  1172. package/.opencode/oh-my-design/web/src/lib/core/config-hash.ts +0 -133
  1173. package/.opencode/oh-my-design/web/src/lib/core/generate-css.test.ts +0 -813
  1174. package/.opencode/oh-my-design/web/src/lib/core/generate-css.ts +0 -586
  1175. package/.opencode/oh-my-design/web/src/lib/core/survey-hash.test.ts +0 -51
  1176. package/.opencode/oh-my-design/web/src/lib/core/survey-hash.ts +0 -56
  1177. package/.opencode/oh-my-design/web/src/lib/core/types.ts +0 -37
  1178. package/.opencode/oh-my-design/web/src/lib/design-systems.ts +0 -102
  1179. package/.opencode/oh-my-design/web/src/lib/extract-components.test.ts +0 -116
  1180. package/.opencode/oh-my-design/web/src/lib/extract-tokens.test.ts +0 -202
  1181. package/.opencode/oh-my-design/web/src/lib/extract-tokens.ts +0 -1335
  1182. package/.opencode/oh-my-design/web/src/lib/font-registry.ts +0 -376
  1183. package/.opencode/oh-my-design/web/src/lib/fonts/analytics.test.ts +0 -194
  1184. package/.opencode/oh-my-design/web/src/lib/fonts/analytics.ts +0 -234
  1185. package/.opencode/oh-my-design/web/src/lib/fonts/catalog.ts +0 -1509
  1186. package/.opencode/oh-my-design/web/src/lib/fonts/designmd-export.ts +0 -104
  1187. package/.opencode/oh-my-design/web/src/lib/fonts/loaders.test.ts +0 -169
  1188. package/.opencode/oh-my-design/web/src/lib/fonts/loaders.ts +0 -90
  1189. package/.opencode/oh-my-design/web/src/lib/fonts/match-intent.test.ts +0 -93
  1190. package/.opencode/oh-my-design/web/src/lib/fonts/match-intent.ts +0 -288
  1191. package/.opencode/oh-my-design/web/src/lib/fonts/preview-contexts.ts +0 -124
  1192. package/.opencode/oh-my-design/web/src/lib/fonts/rate-limit.ts +0 -43
  1193. package/.opencode/oh-my-design/web/src/lib/fonts/saved-store.ts +0 -113
  1194. package/.opencode/oh-my-design/web/src/lib/fonts/share-link.test.ts +0 -101
  1195. package/.opencode/oh-my-design/web/src/lib/fonts/share-link.ts +0 -52
  1196. package/.opencode/oh-my-design/web/src/lib/fonts/similarity.ts +0 -106
  1197. package/.opencode/oh-my-design/web/src/lib/fonts/tweaks.test.ts +0 -213
  1198. package/.opencode/oh-my-design/web/src/lib/fonts/tweaks.ts +0 -186
  1199. package/.opencode/oh-my-design/web/src/lib/fonts/types.ts +0 -96
  1200. package/.opencode/oh-my-design/web/src/lib/gtag.ts +0 -64
  1201. package/.opencode/oh-my-design/web/src/lib/hot-refs.ts +0 -41
  1202. package/.opencode/oh-my-design/web/src/lib/kv.ts +0 -30
  1203. package/.opencode/oh-my-design/web/src/lib/logos.ts +0 -39
  1204. package/.opencode/oh-my-design/web/src/lib/new-refs.ts +0 -30
  1205. package/.opencode/oh-my-design/web/src/lib/playground/codec.ts +0 -34
  1206. package/.opencode/oh-my-design/web/src/lib/playground/defaults.ts +0 -56
  1207. package/.opencode/oh-my-design/web/src/lib/playground/generate.ts +0 -384
  1208. package/.opencode/oh-my-design/web/src/lib/playground/palettes.ts +0 -259
  1209. package/.opencode/oh-my-design/web/src/lib/playground/rules/density.ts +0 -59
  1210. package/.opencode/oh-my-design/web/src/lib/playground/rules/mood.ts +0 -82
  1211. package/.opencode/oh-my-design/web/src/lib/playground/rules/motion.ts +0 -71
  1212. package/.opencode/oh-my-design/web/src/lib/playground/rules/personality.ts +0 -93
  1213. package/.opencode/oh-my-design/web/src/lib/playground/rules/philosophy.ts +0 -270
  1214. package/.opencode/oh-my-design/web/src/lib/playground/rules/radius.ts +0 -54
  1215. package/.opencode/oh-my-design/web/src/lib/playground/rules/weight.ts +0 -41
  1216. package/.opencode/oh-my-design/web/src/lib/playground/samples.ts +0 -280
  1217. package/.opencode/oh-my-design/web/src/lib/playground/state.ts +0 -194
  1218. package/.opencode/oh-my-design/web/src/lib/search-aliases.ts +0 -213
  1219. package/.opencode/oh-my-design/web/src/lib/survey/profiles.generated.ts +0 -1143
  1220. package/.opencode/oh-my-design/web/src/lib/survey/quiz-data.test.ts +0 -102
  1221. package/.opencode/oh-my-design/web/src/lib/survey/quiz-data.ts +0 -571
  1222. package/.opencode/oh-my-design/web/src/lib/survey/scoring.test.ts +0 -111
  1223. package/.opencode/oh-my-design/web/src/lib/survey/scoring.ts +0 -146
  1224. package/.opencode/oh-my-design/web/src/lib/survey/types.test.ts +0 -153
  1225. package/.opencode/oh-my-design/web/src/lib/survey/types.ts +0 -604
  1226. package/.opencode/oh-my-design/web/src/lib/utils.ts +0 -6
  1227. package/.opencode/oh-my-design/web/src/styles/shadcn.css +0 -95
  1228. package/.opencode/oh-my-design/web/src/styles/tw-animate.css +0 -1
  1229. package/.opencode/oh-my-design/web/src/types/gtag.d.ts +0 -3
  1230. package/.opencode/oh-my-design/web/tsconfig.json +0 -34
  1231. package/.opencode/oh-my-design/web/vitest.config.ts +0 -14
  1232. package/.utils/docs_opencode/acp.md +0 -165
  1233. package/.utils/docs_opencode/acp.pdf +0 -0
  1234. package/.utils/docs_opencode/agents.md +0 -803
  1235. package/.utils/docs_opencode/agents.pdf +0 -0
  1236. package/.utils/docs_opencode/commands.md +0 -354
  1237. package/.utils/docs_opencode/commands.pdf +0 -0
  1238. package/.utils/docs_opencode/custom-tools.md +0 -209
  1239. package/.utils/docs_opencode/custom-tools.pdf +0 -0
  1240. package/.utils/docs_opencode/ecosystem.md +0 -81
  1241. package/.utils/docs_opencode/ecosystem.pdf +0 -0
  1242. package/.utils/docs_opencode/formatters.md +0 -142
  1243. package/.utils/docs_opencode/formatters.pdf +0 -0
  1244. package/.utils/docs_opencode/keybinds.md +0 -205
  1245. package/.utils/docs_opencode/keybinds.pdf +0 -0
  1246. package/.utils/docs_opencode/lsp.md +0 -202
  1247. package/.utils/docs_opencode/lsp.pdf +0 -0
  1248. package/.utils/docs_opencode/mcp-servers.md +0 -565
  1249. package/.utils/docs_opencode/mcp-servers.pdf +0 -0
  1250. package/.utils/docs_opencode/models.md +0 -234
  1251. package/.utils/docs_opencode/models.pdf +0 -0
  1252. package/.utils/docs_opencode/permissions.md +0 -248
  1253. package/.utils/docs_opencode/permissions.pdf +0 -0
  1254. package/.utils/docs_opencode/plugins.md +0 -409
  1255. package/.utils/docs_opencode/plugins.pdf +0 -0
  1256. package/.utils/docs_opencode/rules.md +0 -189
  1257. package/.utils/docs_opencode/rules.pdf +0 -0
  1258. package/.utils/docs_opencode/sdk.md +0 -522
  1259. package/.utils/docs_opencode/sdk.pdf +0 -0
  1260. package/.utils/docs_opencode/server.md +0 -324
  1261. package/.utils/docs_opencode/server.pdf +0 -0
  1262. package/.utils/docs_opencode/skills.md +0 -235
  1263. package/.utils/docs_opencode/skills.pdf +0 -0
  1264. package/.utils/docs_opencode/themes.md +0 -378
  1265. package/.utils/docs_opencode/themes.pdf +0 -0
  1266. package/.utils/docs_opencode/tools.md +0 -364
  1267. package/.utils/docs_opencode/tools.pdf +0 -0
  1268. package/.utils/zugzweb/client/node_modules/.tmp/tsconfig.app.tsbuildinfo +0 -1
  1269. package/.utils/zugzweb/client/node_modules/.tmp/tsconfig.node.tsbuildinfo +0 -1
  1270. package/.utils/zugzweb/client/node_modules/nanoid/.claude/settings.local.json +0 -14
  1271. package/.utils/zugzweb/client/package-lock.json +0 -3707
@@ -1,1060 +0,0 @@
1
- ---
2
- id: krds
3
- name: KRDS
4
- country: KR
5
- category: government
6
- homepage: "https://www.krds.go.kr/html/site/index.html"
7
- primary_color: "#000000"
8
- logo:
9
- type: favicon
10
- slug: "https://www.krds.go.kr/resources/img/guide/favicon_192.png"
11
- verified: "2026-05-15"
12
- omd: "0.1"
13
- ds:
14
- name: KRDS — Korea Republic Design System
15
- url: "https://www.krds.go.kr/html/site/index.html"
16
- type: system
17
- description: "행정안전부 주관 범정부 통합 디자인 시스템. Government Blue #256EF4, Pretendard GOV, WCAG/KWCAG 2.2 a11y-first tokens and components."
18
- og_image: "https://www.krds.go.kr/resources/img/guide/KRDS_Open_Graph.png"
19
- tokens:
20
- source: prose-derived
21
- extracted: "2026-06-09"
22
- colors:
23
- primary: "#256ef4"
24
- primary-hover: "#0b50d0"
25
- primary-deep: "#083891"
26
- brand: "#256ef4"
27
- canvas: "#ffffff"
28
- foreground: "#1e2124"
29
- muted: "#6d7882"
30
- on-primary: "#ffffff"
31
- surface: "#f4f5f6"
32
- surface-primary: "#ecf2fe"
33
- hairline: "#b1b8be"
34
- border-strong: "#58616a"
35
- body: "#464c53"
36
- secondary: "#346fb2"
37
- point: "#d63d4a"
38
- danger: "#de3412"
39
- warning: "#ffb114"
40
- success: "#228738"
41
- information: "#0b78cb"
42
- typography:
43
- family: { sans: "Pretendard GOV", mono: "SF Mono" }
44
- display-large: { size: 60, weight: 700, lineHeight: 1.5, tracking: "1px", use: "Marketing/banner display (no body use)" }
45
- display-small: { size: 36, weight: 700, lineHeight: 1.5, tracking: "1px", use: "Small display banner" }
46
- heading-xlarge: { size: 40, weight: 700, lineHeight: 1.5, tracking: "1px", use: "H1 page/section top title (28px mobile)" }
47
- heading-large: { size: 32, weight: 700, lineHeight: 1.5, tracking: "1px", use: "H1 narrow / H2" }
48
- heading-medium: { size: 24, weight: 700, lineHeight: 1.5, use: "H2 / H3" }
49
- heading-small: { size: 19, weight: 700, lineHeight: 1.5, use: "H3 / H4" }
50
- heading-xsmall: { size: 17, weight: 700, lineHeight: 1.5, use: "H4 / H5" }
51
- body-large: { size: 19, weight: 400, lineHeight: 1.5, use: "Emphasized body / key copy" }
52
- body-medium: { size: 17, weight: 400, lineHeight: 1.5, use: "Standard body (default)" }
53
- body-small: { size: 15, weight: 400, lineHeight: 1.5, use: "Caption / small label" }
54
- body-xsmall: { size: 13, weight: 400, lineHeight: 1.5, use: "Annotation / meta / footer" }
55
- spacing: { xs: 2, sm: 4, md: 8, base: 16, lg: 24, xl: 32, xxl: 40 }
56
- rounded: { sm: 4, md: 6, lg: 8, full: 1000 }
57
- shadow:
58
- focus: "0 0 0 0.4rem #256ef4"
59
- modal: "0 0.2rem 0 0 rgba(0,0,0,0.1), 0 0.4rem 0.8rem 0 rgba(0,0,0,0.1)"
60
- components_harvested: true
61
- components:
62
- button-primary: { type: button, bg: "#256ef4", fg: "#ffffff", border: "1px solid #256ef4", radius: "6px", padding: "0 16px", height: "48px", font: "17px / 400", hover: "#0b50d0", active: "#083891", disabled: "bg #cdd1d5 fg #6d7882", use: "Core action 신청하기/확인 (1 per screen)" }
63
- button-secondary: { type: button, bg: "#ecf2fe", fg: "#0b50d0", border: "1px solid #256ef4", radius: "6px", padding: "0 16px", height: "48px", font: "17px / 400", use: "Secondary action 자세히 보기/이전 단계" }
64
- button-tertiary: { type: button, bg: "transparent", fg: "#1e2124", border: "1px solid #58616a", radius: "6px", padding: "0 16px", height: "48px", font: "17px / 400", hover: "#f4f5f6", use: "Cancel/reset 취소/초기화/닫기" }
65
- button-floating: { type: button, bg: "#256ef4", fg: "#ffffff", radius: "1000px", shadow: "weak box-shadow", use: "Bottom-right floating action 맨 위로/챗봇" }
66
- input-text: { type: input, bg: "#ffffff", fg: "#464c53", border: "1px solid #58616a", radius: "8px", padding: "0 16px", height: "56px", font: "19px / 400", focus: "0 0 0 4px #256ef4 halo", disabled: "bg #cdd1d5 fg #6d7882 border #b1b8be", states: "error border 2px solid #de3412", use: "Standard text input (large default)" }
67
- select: { type: input, bg: "#ffffff", fg: "#1e2124", border: "1px solid #58616a", radius: "6px", padding: "0 48px 0 16px", height: "56px", font: "19px / 400", disabled: "bg #cdd1d5 border #b1b8be", states: "error border 2px solid #ab2b36", use: "Native select with chevron" }
68
- toggle-checkbox: { type: toggle, bg: "#ffffff", border: "1px solid #58616a", radius: "4px", active: "bg #256ef4 + white check icon", use: "Multi-select checkbox" }
69
- toggle-switch: { type: toggle, bg: "#b1b8be", fg: "#ffffff", radius: "1000px", active: "#256ef4 track, white thumb right", disabled: "bg #cdd1d5", use: "On/off toggle switch" }
70
- card: { type: card, bg: "#ffffff", border: "1px solid #b1b8be", radius: "8px", padding: "24px", shadow: "none", use: "Standard content panel, border-defined" }
71
- card-info: { type: card, bg: "#ecf2fe", fg: "#1e2124", radius: "8px", padding: "16px 24px", use: "Info/help panel 안내·도움말" }
72
- card-critical: { type: card, bg: "#de3412", fg: "#ffffff", radius: "0", use: "Full-bleed urgent notice banner top of page" }
73
- dialog: { type: dialog, bg: "#ffffff", fg: "#1e2124", radius: "12px", padding: "40px", shadow: "0 0.2rem 0 0 rgba(0,0,0,0.1), 0 0.4rem 0.8rem 0 rgba(0,0,0,0.1)", use: "Modal dialog, backdrop fade 0->0.5 black, min-height 264px" }
74
- badge-primary: { type: badge, bg: "#256ef4", fg: "#ffffff", border: "1px solid #256ef4", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Content classification, action emphasis" }
75
- badge-point: { type: badge, bg: "#d63d4a", fg: "#ffffff", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Emphasis/new/important (red point)" }
76
- badge-success: { type: badge, bg: "#228738", fg: "#ffffff", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Completed / success" }
77
- badge-danger: { type: badge, bg: "#de3412", fg: "#ffffff", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Error / rejected" }
78
- badge-warning: { type: badge, bg: "#ffb114", fg: "#1e2124", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Caution (black text on warning bg)" }
79
- badge-tag: { type: badge, bg: "#ffffff", fg: "#1e2124", border: "1px solid #cdd1d5", radius: "1000px", padding: "8px 10px", font: "15px / 400", active: "bg #ecf2fe fg #0b50d0 border #256ef4", use: "Selectable filter chip with delete button" }
80
- tab-horizontal: { type: tab, bg: "transparent", fg: "#464c53", font: "17px / 400", active: "fg #256ef4 700 + 2px bottom border #256ef4", use: "In-page section switch, keyboard L/R nav" }
81
- toast: { type: toast, bg: "#1e2124", fg: "#ffffff", radius: "8px", padding: "16px", use: "Center/bottom card, 3s auto-dismiss" }
82
- ---
83
-
84
- # Design System Inspiration of KRDS (대한민국 정부 디자인 시스템)
85
-
86
- ## 1. Visual Theme & Atmosphere
87
-
88
- KRDS는 대한민국 행정·공공기관 웹·앱이 공유하는 정부 표준 디자인 시스템입니다. 화면은 마케팅 브랜드가 아니라 **공공 서비스의 도구**처럼 보이도록 설계되었습니다 — 순백 배경(`#ffffff`) 위에 거의 검정에 가까운 본문(`#1E2124`), 그리고 신뢰감을 주는 정부 블루(`#256EF4`)가 단 하나의 강조색으로 작동합니다. 강조색은 그래픽 장식이 아니라 행위(action), 즉 "신청", "확인", "다음 단계"가 있는 자리에만 나타납니다. 영역 분리는 그림자가 아니라 **얇은 회색 보더**(`#58616A` 1px / `#B1B8BE` 1px / `#CDD1D5` 1px)와 **8px 라운드**로 처리되어, 시각적 무게가 일관되게 가라앉아 있습니다.
89
-
90
- 이 시스템은 "디지털 정부서비스 UI/UX 가이드라인"을 표준 토큰·컴포넌트로 정착시킨 것으로, 행정안전부(MOIS)가 2024년 4월에 공식 배포했습니다 ([행정안전부 보도자료](https://www.mois.go.kr/frt/bbs/type010/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000008&nttId=115144)). 분위기를 한 줄로 요약하면 **"읽기 쉽고, 예측 가능하며, 접근성을 우선하는 공공 유틸리티"**입니다. 화려한 일러스트, 그라데이션, 톤다운된 마케팅 영문 카피, 과장된 모션은 의도적으로 배제되어 있습니다.
91
-
92
- **Key Characteristics:**
93
- - 정부 블루 Primary 50 `#256EF4`(액션) + Primary 60 `#0B50D0`(텍스트·pressed) + Primary 5 `#ECF2FE`(약한 배경) — Primary는 11단계(5~95) 명도 팔레트로 정의되어 있고, 모든 UI는 이 중 3~4단계만 사용
94
- - **Pretendard GOV** 단일 폰트 패밀리 (한글·라틴·숫자 일체) — 시스템 한글 폴백 포함
95
- - 본문 기본 17px·400 / 1.5 line-height, 페이지 제목 H1 xlarge = **40px(PC) / 28px(mobile)**·700 — Display(36/44/60), Heading(15~40), Body(13~19) 세 레이어 스케일
96
- - 5단계 컴포넌트 사이즈 (xsmall · small · medium · large · xlarge) — 버튼·인풋·셀렉트·태그 전반에 동일 적용
97
- - **글자·화면 표시 설정** UI 내장 — 사용자가 폰트 크기를 90% / 100% / 110% / 130% / 150%로 직접 확대 (`--krds-zoom-*`)
98
- - 라운드 스케일: 2px / 4px / 6px / 8px / 10px / 12px / 1000px — 그림자는 거의 사용하지 않음 (`--krds-box-shadow-outline`만 focus용)
99
- - 컨텐츠 폭 1200px (gutter 24px) + 4단계 브레이크포인트 (small 360 / medium 768 / large 1024 / xlarge 1280) — 정부 사이트의 표준 와이드 레이아웃
100
- - **매직 넘버 컬러 시스템** — 명도 단계별로 WCAG 대비율을 보장: 매직넘버 40=3:1, 50=4.5:1, 70=7:1, 90=15:1. 토큰 단계부터 KWCAG 2.1 / WCAG 2.1 AA 준수가 강제됨
101
- - 시스템 컬러 4종 — Danger `#DE3412` / Warning `#FFB114` / Success `#228738` / Information `#0B78CB` (모두 50단계 base, light/high-contrast 토큰 레이어 자동 매핑)
102
- - **선명한 화면 모드(High-contrast mode) 내장** — 일반 모드와 동일 컴포넌트가 `--krds-color-high-contrast-*` 레이어 한 줄 교체만으로 전환
103
-
104
- **디지털 포용·접근성 강령 (Accessibility Mandate).** KRDS는 시각적 선호가 아니라 **법적·정책적 의무**에서 출발합니다. 대한민국 「장애인차별금지 및 권리구제 등에 관한 법률」(장차법)과 「웹 접근성 국가표준 KWCAG 2.1 (KS X OT 0003)」이 공공기관 웹·앱에 WCAG 2.1 AA 동등 이상의 접근성을 요구하며, KRDS는 이를 토큰·컴포넌트 단계부터 강제하는 기술 표준 역할을 합니다. 행정안전부는 KRDS를 "**누구나 쉽게 사용할 수 있는 공공 웹·앱**"의 구현 수단으로 정의했고 ([행정안전부 보도자료](https://www.mois.go.kr/frt/bbs/type010/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000008&nttId=115144)), 라이브 사이트 푸터에는 **웹 접근성 인증 마크**가 상시 표시됩니다 ([기본 패턴 summary](https://www.krds.go.kr/html/site/global/global_summary.html) 페이지 푸터 확인). 따라서 색대비 4.5:1 (매직넘버 50), 4px focus halo, 사용자 줌 90~150%, 선명한 화면 모드는 "권고"가 아니라 KRDS의 **기본 동작**입니다.
105
-
106
- ## 2. Color Palette & Roles
107
-
108
- ### Brand
109
-
110
- - **Government Blue** (`#256EF4`): Primary brand color — buttons, active links, primary CTA, focus rings.
111
- - **Primary Deep** (`#0B50D0`): Primary text on light surface, secondary-button text, pressed state.
112
- - **Navy** (`#346FB2`): Secondary brand color — side menu, segmented controls, header secondary.
113
- - **Government Red (Point)** (`#D63D4A`): Restricted accent — emphasis badges, critical alerts only.
114
-
115
- ### Surface & Background
116
-
117
- - **Page Background** (`#FFFFFF`): The primary page background — card and input default canvas.
118
- - **Subtle Surface** (`#F4F5F6`): Table headers, gray subtle surfaces.
119
- - **Divider** (`#E6E8EA`): Light dividers.
120
-
121
- ### Foreground (Text)
122
-
123
- - **Body Text** (`#1E2124`): Primary body text and H1 headlines.
124
- - **Subtle Text** (`#464C53`): Placeholder, inactive GNB items.
125
- - **Caption Text** (`#6D7882`): Captions, meta, helper text.
126
-
127
- ### Semantic
128
-
129
- - **Danger / Critical** (`#DE3412`): Validation errors, required-field errors, immediate alerts.
130
- - **Warning** (`#FFB114`): Warning badge backgrounds (use `#9E6A00` for text-on-light contrast).
131
- - **Success** (`#228738`): Confirmation, completed states.
132
- - **Information** (`#0B78CB`): Informational panels, info icons.
133
-
134
- ---
135
-
136
- ### Standard Style — Full Token Scale
137
-
138
- KRDS의 색상 시스템은 **표준형 스타일(Standard Style)** 기준으로 11단계 명도(5/10/20/30/40/50/60/70/80/90/95) × 8개 색상군(Gray, Primary, Secondary, Point, Danger, Warning, Success, Information) + Gray 0/100 (white/black)으로 구성됩니다. 각 토큰은 `--krds-color-light-<name>-<step>` 형태로 노출되며, 선명한 화면 모드는 `--krds-color-high-contrast-<name>-<step>`로 동일 의미를 다른 명도에 매핑합니다.
139
-
140
- ### Primary (Government Blue — 정부 청색)
141
-
142
- | Step | Hex | Token | Role |
143
- |------|------|-------|------|
144
- | 5 | `#ECF2FE` | `--krds-color-light-primary-5` | Secondary 버튼 배경, 정보 패널 표면, 약한 강조 |
145
- | 10 | `#D8E5FD` | `--krds-color-light-primary-10` | hover/selected 표면 |
146
- | 20 | `#B1CEFB` | `--krds-color-light-primary-20` | divider, illustration 보조 |
147
- | 30 | `#86AFF9` | `--krds-color-light-primary-30` | disabled-on-primary, 보조 그래픽 |
148
- | 40 | `#4C87F6` | `--krds-color-light-primary-40` | 보조 액션 / 비활성 보더 |
149
- | **50** | **`#256EF4`** | `--krds-color-light-primary-50` | **Primary 액션 — 버튼 배경, 활성 링크, 활성 탭. 정부의 행위(action) 컬러** |
150
- | **60** | **`#0B50D0`** | `--krds-color-light-primary-60` | Primary text on light surface, Secondary 버튼 텍스트, pressed 상태 |
151
- | 70 | `#083891` | `--krds-color-light-primary-70` | 강한 강조 텍스트 |
152
- | 80 | `#052561` | `--krds-color-light-primary-80` | 진한 정보 컨테이너 |
153
- | 90 | `#03163A` | `--krds-color-light-primary-90` | 다크 표면 |
154
- | 95 | `#020F27` | `--krds-color-light-primary-95` | 다크 모드 본문 배경 |
155
-
156
- ### Secondary (Navy — 정부 회청)
157
-
158
- 세컨더리는 Primary와 보조를 맞추는 안정적인 네이비 톤으로, 사이드 메뉴·세그먼티드 컨트롤·헤더 보조 영역에 쓰입니다.
159
-
160
- | Step | Hex | Role |
161
- |------|------|------|
162
- | 5 | `#EEF2F7` | 사이드 메뉴 배경 |
163
- | 50 | `#346FB2` | secondary base |
164
- | 60 | `#1C589C` | secondary action |
165
- | 70 | `#063A74` | secondary text |
166
- | 80 | `#052B57` | secondary heading |
167
-
168
- ### Gray (회색 — 텍스트 / 보더 / 표면)
169
-
170
- | Step | Hex | Role | Token semantic |
171
- |------|------|------|----------|
172
- | 0 | `#FFFFFF` | Page / card / input 기본 배경 | `--krds-light-color-surface-white-static` |
173
- | 5 | `#F4F5F6` | 표 헤더, gray subtle 표면 | `--krds-light-color-surface-gray-subtler` |
174
- | 10 | `#E6E8EA` | divider 약 | — |
175
- | 20 | `#CDD1D5` | **Disabled 표면 배경 / 보더 약** | input disabled bg |
176
- | 30 | `#B1B8BE` | 카드·패널 보더 (subtle) | `--krds-color-border-gray-light` |
177
- | 40 | `#8A949E` | bg-disabled, disabled badge | — |
178
- | 50 | `#6D7882` | 보조 텍스트 (caption/meta) | — |
179
- | 60 | `#58616A` | **표준 보더 (input·tertiary 버튼)** | `--krds-color-border-gray` |
180
- | 70 | `#464C53` | 보조 텍스트 (placeholder, GNB 비활성) | `--krds-color-text-subtle` |
181
- | 80 | `#33363D` | 강한 텍스트 / divider |
182
- | 90 | `#1E2124` | **본문 / H1 텍스트** | `--krds-color-text-basic` |
183
- | 95 | `#131416` | 다크 표면 |
184
- | 100 | `#000000` | 절대 검정 (사용 빈도 낮음) |
185
-
186
- ### System Colors (Semantic)
187
-
188
- | Role | 50 (base) | 5 (subtle bg) | 70 (deep text) | Token |
189
- |------|-----------|----------------|------------------|-------|
190
- | **Danger / Critical** | **`#DE3412`** | `#FDEFEC` | `#8A240F` | `--krds-color-light-danger-*` |
191
- | **Warning** | `#9E6A00` (text) / `#FFB114` (30, bg) | `#FFF3DB` | `#614100` | `--krds-color-light-warning-*` |
192
- | **Success** | **`#228738`** | `#EAF6EC` | `#285D33` | `--krds-color-light-success-*` |
193
- | **Information** | `#0B78CB` | `#E7F4FE` | `#085691` | `--krds-color-light-information-*` |
194
- | **Point (Accent — 정부 적색)** | `#D63D4A` | `#FBEFF0` | `#7A1F26` | `--krds-color-light-point-*` |
195
-
196
- — Danger는 입력 검증·필수 오류·즉시 알림에 사용 (`border 2px solid #DE3412`).
197
- — Warning은 노란색 톤이지만 텍스트로 쓰일 때는 콘트라스트 확보를 위해 `#9E6A00`(warning-50). 배경 50단계 `#FFB114` 위 텍스트는 `#1E2124`로 사용.
198
- — Point(정부 적색)는 강조 배지·중요 알림에 매우 제한적으로 사용 (Select error 보더가 이 컬러: `#AB2B36`).
199
-
200
- ### Focus
201
-
202
- - **Focus Ring**: `--krds-box-shadow-outline: 0 0 0 0.4rem #256EF4` (4px outline halo). 모든 인터랙티브 요소(버튼·input·select·체크박스·라디오·링크)에 일관 적용. 인셋 버전 `--krds-box-shadow-outline-inset: inset 0 0 0 0.2rem #256EF4`도 함께 정의.
203
- - 정부 사이트는 키보드 사용자(스크린 리더 / 보조기기 사용자)가 첫 번째 사용자 그룹이므로 focus 가시성은 타협 항목이 아닙니다.
204
-
205
- ### 매직 넘버 (Magic Number)
206
-
207
- KRDS 컬러 팔레트는 명도 단계 간 차이를 **WCAG 대비율과 직접 매핑**합니다:
208
- - 매직넘버 40 → 3:1
209
- - 매직넘버 50 → 4.5:1 (AA normal text 통과 기준)
210
- - 매직넘버 70 → 7:1 (AAA)
211
- - 매직넘버 90 → 15:1
212
-
213
- 이 매핑 덕분에 디자이너는 "primary-50 위 gray-0" 같은 조합을 선택하면 즉시 대비율을 보장받습니다.
214
-
215
- ## 3. Typography Rules
216
-
217
- ### Font Family
218
- - **Primary**: `"Pretendard GOV", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif`
219
- - **설계 원칙**: KRDS 전용 빌드인 **Pretendard GOV**는 라이선스가 명확하고(오픈 폰트), 한글·라틴·기호의 메트릭이 균일하여 정부 문서에서 자주 발생하는 혼용 표기(예: "민원 24", "행정 API")가 정렬·자간 어긋남 없이 표현됩니다. 라이브 페이지에서 `--krds-font-family-base: Pretendard GOV`로 확인됨.
220
- - **확장형 스타일** (자체 폰트를 가진 기관의 경우): 노토 산스 / 나눔 고딕 / 스포카 한 산스 등 고딕 계열만 허용. 자체 폰트가 고딕이 아니면 본문·제목에 사용 금지.
221
-
222
- ### 3-Layer Type Scale
223
-
224
- KRDS는 **Display / Heading / Body** 3계층 + Navigation / Label 시멘틱 토큰으로 구성됩니다. 모두 line-height 150%, regular 400 / bold 700 두 두께만 사용.
225
-
226
- **Display** (마케팅 / 배너 전용 — 본문 사용 금지)
227
-
228
- | Style | PC | Mobile | Weight | Letter-spacing |
229
- |-------|----|---------|--------|------------------|
230
- | Display Large | 60px | 44px | 700 | 1px |
231
- | Display Medium | 44px | 32px | 700 | 1px |
232
- | Display Small | 36px | 28px | 700 | 1px |
233
-
234
- **Heading** (H1~H5)
235
-
236
- | Style | PC | Mobile | Weight | Letter-spacing | 적용 |
237
- |-------|----|---------|--------|------------------|------|
238
- | Heading xlarge | **40px** | **28px** | 700 | 1px | H1 — 페이지 / 섹션 최상위 제목 |
239
- | Heading large | 32px | 24px | 700 | 1px | H1 (좁은 페이지) / H2 |
240
- | Heading medium | 24px | 22px | 700 | 0 | H2 / H3 |
241
- | Heading small | 19px | 19px | 700 | 0 | H3 / H4 |
242
- | Heading xsmall | 17px | 17px | 700 | 0 | H4 / H5 |
243
- | Heading xxsmall | 15px | 15px | 700 | 0 | H5 |
244
-
245
- **Body** (본문 — bold / regular 각 4단계)
246
-
247
- | Style | Size | Weight | 적용 |
248
- |-------|------|--------|------|
249
- | Body large bold / large | 19px | 700 / 400 | 강조 본문 / 핵심 카피 |
250
- | Body medium bold / **medium** | 17px | 700 / **400** | **표준 본문 (`<body>` 기본)** |
251
- | Body small bold / small | 15px | 700 / 400 | 캡션 / 보조 / 작은 라벨 |
252
- | Body xsmall bold / xsmall | 13px | 700 / 400 | 주석 / 메타 / 푸터 |
253
-
254
- **Semantic Role Tokens** (Navigation / Label)
255
-
256
- | Role | Style | PC | Weight |
257
- |------|-------|----|---------|
258
- | Navigation | title-large | 24px | 700 |
259
- | Navigation | title-small | 19px (mobile 17) | 700 |
260
- | Navigation | depth-medium-bold / depth-medium | 17px | 700 / 400 |
261
- | Navigation | depth-small-bold / depth-small | 15px | 700 / 400 |
262
- | Label (button / input / radio / checkbox) | large / medium / small / xsmall | 19 / 17 / 15 / 13 | 400 |
263
-
264
- ### Principles
265
- - **두 굵기 원칙**: Regular(400)와 Bold(700)만 (`--krds-font-weight-regular`, `--krds-font-weight-bold`). Medium 단계 없음 — 정부 문서 톤의 절제.
266
- - **17px가 본문 기본**: 일반적인 14~16px보다 살짝 큰 17px를 기본 본문으로 채택해 노안·저시력 사용자 가독성을 우선 (Pretendard GOV가 다른 서체 대비 작아 보이기 때문에 의도적으로 +1px).
267
- - **줄간격 1.5 (150%)**: WCAG 1.4.12 Text Spacing AA를 준수해 모든 텍스트 line-height는 150% 이상.
268
- - **사용자 직접 확대**: `--krds-zoom-{small, medium, large, xlarge, xxlarge} = 0.9 / 1 / 1.1 / 1.3 / 1.5`. 헤더의 "글자·화면 설정"에서 최대 150%까지 확대 가능. 브라우저 줌과 별개의 1차 컨트롤.
269
- - **letter-spacing 0 (Display만 1px)**: 자간을 인위적으로 좁히지 않음 (`--krds-letter-spacing-none: 0rem`). 한글 가독성 우선.
270
- - **rem 단위 기본**: 모든 토큰이 `rem` 단위. `font-size-base: 62.5%`로 1rem = 10px로 설정해 px↔rem 환산이 자명.
271
-
272
- ## 4. Component Stylings
273
-
274
- KRDS 컴포넌트는 5단계 크기 토큰(xsmall/small/medium/large/xlarge)을 공유하며 모든 변형이 `aria-disabled` / 키보드 포커스 / 4px focus-ring halo를 기본 제공합니다. 각 variant 블록은 default 크기(Button=medium, Input=large, Select=large)의 측정값을 기준으로 하고, 크기 스케일은 표/프로즈로 보조합니다.
275
-
276
- ### Buttons
277
-
278
- 소스: `component_05_02.html`. 5단계 크기 × 6개 변형 = 30개 컴포넌트 슬롯.
279
-
280
- **Primary**
281
- - Background: `#256EF4`
282
- - Text: `#FFFFFF`
283
- - Border: 1px solid `#256EF4`
284
- - Radius: 6px
285
- - Padding: 0 16px
286
- - Font: 17px / 400
287
- - Hover: Primary 60 `#0B50D0` 배경
288
- - Active: Primary 70 `#083891` 배경 (pressed)
289
- - Disabled: Gray 20 `#CDD1D5` 배경 + Gray 50 `#6D7882` 텍스트 + cursor not-allowed
290
- - Use: 핵심 액션 — "시작하기", "신청하기", "확인", "다음 단계" (한 화면당 1개 권장)
291
-
292
- 사이즈 스케일 (height / radius / padding / font):
293
- - xsmall: 32px / 4px / 0 10px / 15px·400
294
- - small: 40px / 6px / 0 12px / 15px·400
295
- - medium (default): 48px / 6px / 0 16px / 17px·400
296
- - large: 56px / 8px / 0 20px / 19px·400
297
- - xlarge: 64px / 8px / 0 24px / 19px·400
298
-
299
- **Secondary**
300
- - Background: `#ECF2FE` (Primary 5)
301
- - Text: `#0B50D0` (Primary 60)
302
- - Border: 1px solid `#256EF4`
303
- - Radius: 6px
304
- - Padding: 0 16px
305
- - Font: 17px / 400
306
- - Use: 보조 액션 — "자세히 보기", "이전 단계", "다운로드" (Primary 옆 동일 위계, 사이즈 스케일 Primary와 동일 — radius 4/6/6/8/8)
307
-
308
- **Tertiary (Outline)**
309
- - Background: transparent
310
- - Text: `#1E2124` (Gray 90)
311
- - Border: 1px solid `#58616A` (Gray 60)
312
- - Radius: 6px
313
- - Padding: 0 16px
314
- - Font: 17px / 400
315
- - Hover: Gray 5 `#F4F5F6` 배경
316
- - Use: 부가 / 취소 / 초기화 — "취소", "초기화", "닫기" (사이즈 스케일 Primary와 동일)
317
-
318
- **Text / Link**
319
- - Background: transparent
320
- - Text: `#1E2124` (text variant) 또는 `#256EF4` (link variant)
321
- - Border: 1px transparent (focus 시 가시화)
322
- - Radius: 4~8px (크기별)
323
- - Padding: 0 2px~9px (텍스트 흐름에 맞춤)
324
- - Font: medium height 28px
325
- - Use: 인라인 액션 — "파일 다운로드", "문의 및 건의", "찜하기"
326
-
327
- **Icon Only**
328
- - Background: transparent
329
- - Text: `#1E2124`
330
- - Radius: 6~8px (크기별)
331
- - Padding: 0 (icon-size 1.6/2/2.4rem = 16/20/24px, `--krds-icon--size-*`)
332
- - Use: 단독 아이콘 컨트롤 — 검색 / 닫기 / 도움말 토글
333
-
334
- **Icon + Border**
335
- - Background: `#FFFFFF`
336
- - Text: `#1E2124`
337
- - Border: 1px solid `#B1B8BE` (Gray 30)
338
- - Radius: 1000px (`--krds-radius-max`, 원형)
339
- - Use: 보조 컨트롤 — "새로고침", "맨 위로"
340
-
341
- **Floating**
342
- - Background: Primary `#256EF4`
343
- - Text: `#FFFFFF`
344
- - Radius: 1000px (원형)
345
- - Shadow: 약한 box-shadow
346
- - Use: 페이지 우하단 부유 액션 — "맨 위로 / 챗봇 / 음성지원" (스크롤 시 표시, `component_05_03.html`)
347
-
348
- ### Inputs
349
-
350
- 소스: `component_09_*.html`. 5단계 크기 + 4단계 상태. Default = large.
351
-
352
- **Text Input**
353
- - Background: `#FFFFFF`
354
- - Text: `#464C53` (Gray 70, placeholder 포함)
355
- - Border: 1px solid `#58616A`
356
- - Radius: 8px
357
- - Padding: 0 16px
358
- - Font: 19px / 400
359
- - Focus: 보더 유지 + `box-shadow: 0 0 0 4px #256EF4` halo (focus ring)
360
- - Disabled: bg `#CDD1D5` (Gray 20) / text `#6D7882` (Gray 50) / border 1px `#B1B8BE` (Gray 30) / `aria-disabled="true"`
361
- - Use: 일반 텍스트 입력 (`component_09_03.html`) — height 56px default
362
-
363
- 상태 — Required: 라벨 옆 빨간 별표(`*` Danger 50 `#DE3412`) + `aria-required="true"`. Error: border 2px solid `#DE3412` + helper text Danger 50 + `aria-invalid="true"` + 에러 영역 자동 포커스 이동.
364
-
365
- 사이즈 스케일 (height / radius / padding / font / border):
366
- | Size | Height | Radius | Padding | Font | 기본 보더 |
367
- |------|--------|--------|----------|------|-----------|
368
- | xsmall | 32px | 4px | 0 12px | 13px·400 | 1px `#58616A` |
369
- | small | 40px | 6px | 0 16px | 15px·400 | 1px `#58616A` |
370
- | medium | 48px | 6px | 0 16px | 17px·400 | 1px `#58616A` |
371
- | **large (default)** | **56px** | **8px** | 0 16px | **19px·400** | 1px `#58616A` |
372
- | xlarge | 80px | 10px | 0 24px | 24px·700 | 1px `#58616A` |
373
-
374
- **Textarea**
375
- - Background: `#FFFFFF`
376
- - Text: `#464C53`
377
- - Border: 1px solid `#58616A`
378
- - Radius: 8px
379
- - Padding: 0 16px
380
- - Font: 19px / 400
381
- - Use: 다행 입력 (`component_09_02.html`) — Text Input과 동일 토큰 + 기본 높이 14.4rem (144px), 자동 리사이즈 비권장
382
-
383
- **Date Input**
384
- - Background: `#FFFFFF`
385
- - Text: `#464C53`
386
- - Border: 1px solid `#58616A`
387
- - Radius: 8px
388
- - Padding: 0 16px
389
- - Font: 19px / 400
390
- - Use: 날짜 입력 (`component_09_01.html`) — Text Input + 캘린더 아이콘 + Calendar 컴포넌트(`component_04_03.html`) 연동, `YYYY-MM-DD` 또는 분리형 (`YYYY / MM / DD` 셋 박스)
391
-
392
- **File Upload**
393
- - Background: `#FFFFFF`
394
- - Text: `#1E2124`
395
- - Border: 1px solid `#58616A`
396
- - Radius: 8px
397
- - Padding: 0 16px
398
- - Use: 파일 첨부 (`component_09_04.html`) — Tertiary 버튼 + 파일명 표시 영역 + 진행 표시기 + 삭제 칩
399
-
400
- ### Select
401
-
402
- 소스: `component_06_03.html`. 네이티브 `<select class="krds-form-select">` 기반. Default = large.
403
-
404
- **Select**
405
- - Background: `#FFFFFF`
406
- - Text: `#1E2124`
407
- - Border: 1px solid `#58616A`
408
- - Radius: 6px
409
- - Padding: 0 48px 0 16px (우측 chevron 영역)
410
- - Font: 19px / 400
411
- - Disabled: bg `#CDD1D5` + border `#B1B8BE`
412
- - Use: 옵션 선택 — Error border 2px solid `#AB2B36` (Point 60 — 셀렉트는 Danger가 아닌 Point를 사용해 입력 폼과 시각 구분). Completed (값 선택 후): 보더 유지, 텍스트 진해짐.
413
-
414
- 사이즈 스케일 (height / radius / padding-right / font):
415
- | Size | Height | Radius | Padding-right (chevron) | Font |
416
- |------|--------|--------|-------------------------|------|
417
- | small | 40px | 8px | 40px | 15px·400 |
418
- | medium | 48px | 6px | 44px | 17px·400 |
419
- | **large (default)** | **56px** | **6px** | **48px** | **19px·400** |
420
-
421
- ### Toggles
422
-
423
- 체크박스 · 라디오 · 토글 스위치 (`component_06_01.html` / `06_02` / `06_07`).
424
-
425
- **Checkbox**
426
- - Background: `#FFFFFF` (Checked: `#256EF4`)
427
- - Text: `#FFFFFF` (check 아이콘)
428
- - Border: 1px solid `#58616A`
429
- - Radius: 4px
430
- - Padding: 16/20/24px 정사각
431
- - Use: 다중 선택 — Checked 배경 `#256EF4` + 흰색 check 아이콘. Indeterminate / Error / Disabled 상태 제공.
432
-
433
- **Radio**
434
- - Background: `#FFFFFF`
435
- - Text: `#256EF4` (내부 dot)
436
- - Border: 1px solid `#58616A` (Checked: 외곽 `#256EF4`)
437
- - Radius: 1000px (원형)
438
- - Padding: 16/20/24px 원
439
- - Use: 단일 선택 — 그룹 단위 키보드 탐색 (`role="radiogroup"`)
440
-
441
- **Toggle Switch**
442
- - Background: `#B1B8BE` (Off) / `#256EF4` (On)
443
- - Text: `#FFFFFF` (thumb)
444
- - Radius: max (pill, 트랙 32px 폭 / 16px 높이)
445
- - Disabled: bg `#CDD1D5`
446
- - Use: 켜기/끄기 토글 — On 시 흰색 thumb 우측 이동
447
-
448
- ### Cards
449
-
450
- 소스: `component_04_*.html`. 표면(surface) 컴포넌트 모음.
451
-
452
- **Standard Panel**
453
- - Background: `#FFFFFF`
454
- - Border: 1px solid `#B1B8BE` (Gray 30)
455
- - Radius: 8px
456
- - Padding: 24px (`--krds-padding-8`)
457
- - Shadow: none — 보더로 영역 구분
458
- - Use: 일반 콘텐츠 카드, 본문 내 모듈
459
-
460
- **Info Panel (Light Primary)**
461
- - Background: `#ECF2FE` (Primary 5)
462
- - Text: 강조 `#0B50D0` + 본문 `#1E2124`
463
- - Border: none
464
- - Radius: 8px
465
- - Padding: 16px 24px (`--krds-padding-6 --krds-padding-8`)
466
- - Use: 안내·도움말 패널 — "이 페이지에서는…", "도움말", 정보성 알림
467
-
468
- **Critical Alert**
469
- - Background: `#DE3412` (Danger 50)
470
- - Text: `#FFFFFF`
471
- - Radius: 0 (풀-블리드)
472
- - Padding: 페이지 폭 가득
473
- - Use: 페이지 상단 풀-블리드 긴급 공지 배너 (`component_04_02.html`) — 모바일 헤더 긴급 배지 높이 3.9rem (`--krds-critical-alerts--mobile-badge-size-height`)
474
-
475
- **Accordion**
476
- - Background: `#FFFFFF`
477
- - Text: `#1E2124`
478
- - Border: 1px solid `#B1B8BE`
479
- - Radius: 8px
480
- - Use: 보더 분리 disclosure 패널 (`component_04_07.html` / `04_04`) — max-height 400ms ease 전환
481
-
482
- ### Modals
483
-
484
- **Modal**
485
- - Background: `#FFFFFF`
486
- - Text: `#1E2124`
487
- - Radius: 12px (`--krds-radius-xlarge1`)
488
- - Padding: 40px (`--krds-padding-10`)
489
- - Shadow: `0 0.2rem 0 0 rgba(0,0,0,a1), 0 0.4rem 0.8rem 0 rgba(0,0,0,a2)` (드롭다운·툴팁과 공유)
490
- - Use: 다이얼로그 (`component_04_05.html`) — "글자·화면 표시 설정", "전체 메뉴", 양식 확인. Min-height 264px. 백드롭 fade-in 400ms / opacity 0→0.5 black.
491
-
492
- 사이즈 (`--krds-modal--size-*`): small 400px / medium 560px / large 760px.
493
-
494
- ### Badges
495
-
496
- 소스: `component_04_06.html`. outline / bg(filled) × 9개 의미 = 18개 변형. 모두 동일 형태: radius 4px / padding 0 8px / 15px·400 / height 24px.
497
-
498
- **Primary**
499
- - Background: `#256EF4` (filled) / transparent (outline)
500
- - Text: `#FFFFFF` (filled) / `#0B50D0` (outline)
501
- - Border: 1px solid `#256EF4` (outline)
502
- - Radius: 4px
503
- - Padding: 0 8px
504
- - Font: 15px / 400
505
- - Use: 콘텐츠 분류, 액션 강조
506
-
507
- **Secondary**
508
- - Background: `#063A74` (filled) / transparent (outline)
509
- - Text: `#FFFFFF` (filled) / `#052B57` (outline)
510
- - Border: 1px solid `#052B57` (outline)
511
- - Radius: 4px
512
- - Padding: 0 8px
513
- - Font: 15px / 400
514
- - Use: 카테고리 그룹
515
-
516
- **Gray**
517
- - Background: `#6D7882` (filled) / transparent (outline)
518
- - Text: `#FFFFFF` (filled) / `#464C53` (outline)
519
- - Border: 1px solid `#464C53` (outline)
520
- - Radius: 4px
521
- - Padding: 0 8px
522
- - Font: 15px / 400
523
- - Use: 메타 / 일반 분류
524
-
525
- **Point**
526
- - Background: `#D63D4A` (filled) / transparent (outline)
527
- - Text: `#FFFFFF` (filled) / `#AB2B36` (outline)
528
- - Border: 1px solid `#AB2B36` (outline)
529
- - Radius: 4px
530
- - Padding: 0 8px
531
- - Font: 15px / 400
532
- - Use: 강조 / 신규 / 중요 (적색 포인트)
533
-
534
- **Danger**
535
- - Background: `#DE3412` (filled) / transparent (outline)
536
- - Text: `#FFFFFF` (filled) / `#BD2C0F` (outline)
537
- - Border: 1px solid `#BD2C0F` (outline)
538
- - Radius: 4px
539
- - Padding: 0 8px
540
- - Font: 15px / 400
541
- - Use: 오류 / 반려
542
-
543
- **Warning**
544
- - Background: `#FFB114` (filled) / transparent (outline)
545
- - Text: `#1E2124` (filled — warning 50 배경 위 텍스트는 검정으로 대비 확보) / `#8A5C00` (outline)
546
- - Border: 1px solid `#8A5C00` (outline)
547
- - Radius: 4px
548
- - Padding: 0 8px
549
- - Font: 15px / 400
550
- - Use: 주의
551
-
552
- **Success**
553
- - Background: `#228738` (filled) / transparent (outline)
554
- - Text: `#FFFFFF` (filled) / `#267337` (outline)
555
- - Border: 1px solid `#267337` (outline)
556
- - Radius: 4px
557
- - Padding: 0 8px
558
- - Font: 15px / 400
559
- - Use: 완료 / 성공
560
-
561
- **Information**
562
- - Background: `#0B78CB` (filled) / transparent (outline)
563
- - Text: `#FFFFFF` (filled) / `#096AB3` (outline)
564
- - Border: 1px solid `#096AB3` (outline)
565
- - Radius: 4px
566
- - Padding: 0 8px
567
- - Font: 15px / 400
568
- - Use: 안내 / 진행 중
569
-
570
- **Disabled**
571
- - Background: `#8A949E` (filled) / transparent (outline)
572
- - Text: `#FFFFFF` (filled) / `#6D7882` (outline)
573
- - Border: 1px solid `#6D7882` (outline)
574
- - Radius: 4px
575
- - Padding: 0 8px
576
- - Font: 15px / 400
577
- - Use: 비활성
578
-
579
- **Tag (필터 칩)**
580
- - Background: `#FFFFFF` (Selected: `#ECF2FE`)
581
- - Text: `#1E2124` (Selected: `#0B50D0`)
582
- - Border: 1px solid `#CDD1D5` (Gray 20, Selected: `#256EF4`)
583
- - Radius: pill (height와 동일)
584
- - Padding: 8px 10px (medium)
585
- - Font: 15px / 400 (medium)
586
- - Use: 선택 가능한 필터 chip (`component_06_04.html`) — 삭제 버튼(`btn-delete`)이 우측에 위치
587
-
588
- 사이즈 스케일 (height / radius / padding / font):
589
- | Size | Height | Radius | Padding | Font |
590
- |------|--------|--------|----------|------|
591
- | large | 40px | 40px (pill) | 8px 12px | 17px·400 |
592
- | medium | 32px | 32px (pill) | 8px 10px | 15px·400 |
593
- | small | 24px | 24px (pill) | 8px | 13px·400 |
594
-
595
- 추가로 **bg-light-\*** (`#ECF2FE` 등 5단계 배경 + 60단계 텍스트) 변형이 있어 부드러운 분류 라벨에 사용 (홈 배지 "아이덴티티" / "서비스 패턴" 등).
596
-
597
- ### Tabs
598
-
599
- 소스: `component_04_10.html`. 수평 탭 라인 + 키보드 좌우 탐색 (`role="tablist"` / `aria-selected`).
600
-
601
- **Horizontal Tab**
602
- - Background: transparent
603
- - Text: `#464C53` / 400 (비활성), `#256EF4` / 700 (활성)
604
- - Border: 활성 하단 2px solid `#256EF4`
605
- - Use: 페이지 내 섹션 전환 — 활성 탭만 하단 보더 강조
606
-
607
- ### Toasts
608
-
609
- 모바일 알림 — `component_12_05.html` / `component_12_06.html`.
610
-
611
- **Toast**
612
- - Background: `#1E2124`
613
- - Text: `#FFFFFF`
614
- - Radius: 8px
615
- - Padding: 16px
616
- - Use: 화면 중앙 또는 하단 카드 — 3초 자동 닫힘
617
-
618
- **Snackbar**
619
- - Background: `#1E2124`
620
- - Text: `#FFFFFF`
621
- - Radius: 0 (풀-블리드 띠)
622
- - Padding: 16px
623
- - Use: 하단 풀-블리드 띠 — 액션 버튼 포함 가능 (예: "되돌리기"), 4초 자동 닫힘
624
-
625
- ### Tooltips
626
-
627
- 소스: `component_08_*`.
628
-
629
- **Tooltip**
630
- - Background: `#1E2124`
631
- - Text: `#FFFFFF`
632
- - Radius: 12px
633
- - Padding: 8px
634
- - Use: 보조 설명 — 화살표 8px / 400ms fade
635
-
636
- **Help Panel**
637
- - Background: `#FFFFFF`
638
- - Text: `#1E2124`
639
- - Border: 1px solid `#B1B8BE`
640
- - Use: 우측에서 슬라이드-인 측면 패널 — 폼 도움말·정책 안내 (우측 영역에서 펼쳐짐)
641
-
642
- **Coachmark**
643
- - Background: rgba(0,0,0,0.5) overlay + `#FFFFFF` 카드
644
- - Text: `#1E2124`
645
- - Radius: 8px
646
- - Use: 페이지 첫 방문 시 단계별 가이드 오버레이 + 점진적 disclosure
647
-
648
- ### Pagination / Breadcrumb / Side Menu
649
-
650
- 보조 내비게이션 (`component_03_*`). 캐노니컬 스키마에 1:1로 대응하지 않아 프로즈로 보존합니다.
651
-
652
- - **Pagination**: 숫자 버튼 40×40 / 활성 `#256EF4` 배경 + 흰색 / hover gray 5
653
- - **Breadcrumb**: 13px·400 / `#464C53` / `>` 구분자 / 마지막 항목 `#1E2124` (현재 위치)
654
- - **Side Menu**: 좌측 고정 / 활성 항목 좌측 4px bar `#256EF4` + 배경 `#ECF2FE` + 텍스트 `#0B50D0`/700
655
-
656
- ### Step Indicator / Spinner
657
-
658
- 진행 표시 (`component_07_*`). 캐노니컬 variant에 매핑되지 않으므로 프로즈로만 기록합니다 (참고용).
659
-
660
- - **단계 표시기**: 1→2→3 진행 표시. 활성 단계 `#256EF4` 배경 + 흰색 번호. 완료 단계 `#228738`(Success) 체크. 비활성 `#CDD1D5` 배경 + `#6D7882` 번호.
661
- - **스피너**: 24/32/48px 원형 + `#256EF4` arc / `prefers-reduced-motion`에서 정적 상태 점선으로 대체.
662
-
663
- ### Mobile-only
664
-
665
- 소스: `component_12_*`. 뒤로가기 / 바텀시트 / 수량토글 / 토스트 / 스낵바 / 탭바 / 스플래시 스크린 / 범위 슬라이더 — 위 Toasts 등 해당 variant에서 다룹니다.
666
-
667
- §4 노트 — 모든 컴포넌트는 `--krds-light-*` (일반 모드)와 `--krds-high-contrast-*` (선명한 화면 모드) 두 토큰 레이어를 동시에 가지며, 다크 모드 전환은 같은 컴포넌트가 토큰만 바꿔 끼우는 방식으로 동작합니다.
668
-
669
- ## 5. Layout Principles
670
-
671
- ### Spacing System — 8-Point Grid
672
-
673
- `--krds-padding-*` 스케일 (라이브 토큰):
674
-
675
- | Token | Value | Use |
676
- |-------|-------|-----|
677
- | padding-1 | 2px | hairline 간격 |
678
- | padding-2 | 4px | 아이콘 inner padding |
679
- | padding-3 | 8px | 배지·태그 padding |
680
- | padding-4 | 10px | xsmall button padding |
681
- | padding-5 | 12px | small button padding |
682
- | padding-6 | 16px | input padding / info panel vertical |
683
- | padding-7 | 20px | large button padding |
684
- | padding-8 | 24px | **표준 콘텐츠 padding / gutter** |
685
- | padding-9 | 32px | 섹션 간 여백 |
686
- | padding-10 | 40px | **모달 padding** |
687
-
688
- 모든 값이 8-pt grid의 배수(2/4/8/16/24/32/40) 또는 KRDS 보조 단위(10/12/20). 컴포넌트 내부 패딩은 padding-6 (16px), padding-8 (24px), padding-10 (40px)이 표준.
689
-
690
- ### Grid & Container — Breakpoints
691
-
692
- | Name | Viewport | Columns | Gutter | Screen Margin |
693
- |------|----------|---------|--------|----------------|
694
- | small | 360px~ | 4 | 16px | 16px |
695
- | medium | 768px~ | 8 | 16px | 24px |
696
- | **large** | **1024px~** | **12** | **24px** | **24px** |
697
- | xlarge | 1280px~ | 12 | 24px | 24px |
698
-
699
- - 데스크톱: **콘텐츠 영역 최대 1200px** (`--krds-contents-size`), 가운데 정렬, 좌우 24px gutter — 1248px 디바이스 이상에서 폭 고정, 미만에서는 비례 축소
700
- - 표준형 스타일은 xsmall(<360px)를 최적화 대상에서 제외
701
- - 확장형 스타일 (자유 폭): 3~6단계 브레이크포인트로 가변, 단 컬럼/가터/마진 규칙은 동일
702
-
703
- ### Sub-page Layout
704
-
705
- 브레이크포인트 large 이상에서 다음 5 영역으로 구성:
706
- 1. **Header** — GNB + 유틸리티 (글자·화면 설정 / 검색 / 전체메뉴)
707
- 2. **Left menu (선택)** — 사이드 메뉴 (깊은 IA)
708
- 3. **Main contents** — 본문 (콘텐츠 내 탐색 anchor 포함)
709
- 4. **Right menu (선택)** — 콘텐츠 내 탐색 (플로팅) / 도움 패널 (slide-in)
710
- 5. **Footer** — 운영기관 식별자 + 정책 링크 + 면책 + 공식 배너
711
-
712
- ### Whitespace Philosophy
713
- - **밀도 < 여백**: 정부 사이트는 한 화면에 많은 정보를 보여줘야 하지만, KRDS는 그 안에서도 **충분한 vertical rhythm**을 유지합니다. 섹션 간 64~80px (padding-9 + padding-10 조합)의 여백이 시각적 피로를 줄입니다.
714
- - **그림자보다 보더**: 영역 분리는 거의 항상 1px 보더(`#58616A` 강 / `#B1B8BE` 약 / `#CDD1D5` 부드러움)와 라운드로 처리. 그림자는 모달 / 드롭다운 / 툴팁에만 한정.
715
- - **GNB 56px / x-large CTA 64px**: 헤더 높이와 핵심 액션 높이가 비례 — 누르기 쉬운 크기를 우선.
716
-
717
- ### Border Radius Scale (라이브 토큰)
718
- - 2px (`--krds-radius-xsmall1/2/3`): xsmall input / 미세 요소
719
- - 4px (`--krds-radius-small1/2/3`): 배지 / xsmall 버튼
720
- - 6px (`--krds-radius-medium1/2`): small·medium 버튼 / small select
721
- - 8px (`--krds-radius-medium3/4`): **표준 라운드** — 패널 / 카드 / large·xlarge 버튼 / 표준 input
722
- - 10px (`--krds-radius-large1/2`): xlarge input (검색)
723
- - 12px (`--krds-radius-xlarge1/2`): **모달**
724
- - 1000px (`--krds-radius-max`): 원형 컨트롤 / pill 태그
725
-
726
- ### Basic Patterns (KRDS 기본 패턴)
727
-
728
- KRDS는 컴포넌트보다 상위 단위로 **12개 기본 패턴(Basic Patterns)**을 공식 운영합니다 — 컴포넌트 조합으로 반복되는 핵심 과업을 수행하는 인터페이스 세트입니다 ([기본 패턴 summary](https://www.krds.go.kr/html/site/global/global_summary.html)). 모든 패턴은 페이지 레이아웃 구성 규칙으로 작동하며, "사용성·접근성·인터랙션 가이드·플랫폼 고려사항"을 함께 명시합니다.
729
-
730
- | # | 패턴 | URL | 1-line purpose |
731
- |---|------|-----|----------------|
732
- | 1 | 개인 식별 정보 입력 | `global/global_01.html` | 성명·생년월일·연락처 등 PII 수집 — 수집 필요성·목적 명시 + 접근 가능한 입력 방식 |
733
- | 2 | 도움 (Help) | `global/global_02.html` | 사용자 숙련도에 맞춰 인터페이스 작동·과업 플로 안내를 제공 |
734
- | 3 | 동의 (Consent) | `global/global_03.html` | 약관 열람·동의 표시 + 안내 정보 확인 인터페이스 |
735
- | 4 | 목록 탐색 | `global/global_04.html` | 관련 데이터를 리스트로 구성 — 일관된 포맷 + 특정 항목에 대한 액션 |
736
- | 5 | 사용자 피드백 | `global/global_05.html` | 화면·기능에 대한 평가·민원·제안을 주 과업을 방해하지 않고 수집 |
737
- | 6 | 상세 정보 확인 | `global/global_06.html` | 상세 페이지의 콘텐츠 구조·시각 위계·복수 콘텐츠 포맷 표시 표준 |
738
- | 7 | 오류 (Error) | `global/global_07.html` | 시스템 과업 실패 시 표시 방식·사용성·접근성 요건 |
739
- | 8 | 입력폼 (Input Form) | `global/global_08.html` | 1개 이상의 입력 컨트롤로 구성된 데이터 입력·전송 섹션 |
740
- | 9 | 첨부파일 | `global/global_09.html` | 다운로드 가능한 첨부 파일 표시 — 링크 유형·접근성·인터랙션 |
741
- | 10 | 필터링·정렬 | `global/global_10.html` | 사용자 속성·기준에 따라 데이터 항목을 선택적으로 표시·정렬 |
742
- | 11 | 확인 (Confirmation) | `global/global_11.html` | 되돌릴 수 없는 결과를 가진 행위 직전에 의도 재확인 다이얼로그 |
743
- | 12 | 모바일 알림 | `global/global_12.html` | 푸시 알림 / 인앱 알림 / 알림 센터 — 서비스 변경·진행 안내 |
744
-
745
- §4 컴포넌트(버튼·입력·셀렉트·모달 등)는 위 12개 패턴의 빌딩 블록이며, 페이지 레이아웃은 패턴 단위로 구성됩니다 — 예: 신청 페이지 = `입력폼 + 첨부파일 + 확인 + 오류` 패턴 결합.
746
-
747
- ### Service Patterns (KRDS 서비스 패턴)
748
-
749
- 기본 패턴이 페이지 단위 컴포지션이라면 **서비스 패턴 5종**은 **사용자 여정(user-journey blueprint)**입니다 — 시민이 정부 디지털 서비스를 이용하는 전형적 시나리오를 단계별로 정의합니다 ([서비스 패턴 summary](https://www.krds.go.kr/html/site/service/service_summary.html)).
750
-
751
- | # | 패턴 | URL | Journey nodes |
752
- |---|------|-----|----------------|
753
- | 1 | **방문 (Visit)** | `service/service_01_01.html` | 정보 탐색 → 정보 이해 → 이동(외부 서비스 / 내부 IA). 첫인상이 형성되는 메인 화면에서 시작. |
754
- | 2 | **검색 (Search)** | `service/service_02_01.html` | 검색어 입력 → 결과 개수 확인 → 목록 탐색 → 결과 활용 → 재검색 / 상세검색 → 종료. 7단계. |
755
- | 3 | **로그인 (Login)** | `service/service_03_01.html` | 로그인 방식 선택 (지식·소유·생체·다요소) → 정보 입력 → 완료 → 로그아웃(사용자 / 자동 만료). |
756
- | 4 | **신청 (Application)** | `service/service_04_01.html` | 대상 탐색 → 다단계 양식 작성 (자동입력·임시저장·첨부) → 확인 → 처리 결과 추적. 복지 / 세액 / 발급 / 예약 포함. |
757
- | 5 | **정책정보 확인** | `service/service_05_01.html` | 정책 상세 검토 → 관련 자료 참조(보고서·매뉴얼·법령). 신규 / 갱신 자료 구분. |
758
-
759
- 서비스 패턴은 **3단계 준수 수준 (필수 / 권장 / 우수)** 체크리스트로 평가됩니다 — 모든 정부 사이트는 최소 "필수" 항목을 충족해야 합니다.
760
-
761
- ## 6. Depth & Elevation
762
-
763
- KRDS는 별도 elevation 페이지(`style_08.html`)를 두지만 실제 사용은 4단계로 제한됩니다.
764
-
765
- | Level | Treatment | Use |
766
- |-------|-----------|-----|
767
- | Flat (0) | 그림자 없음 | 페이지 콘텐츠, 카드, 패널, 입력, 버튼 — 거의 모든 표면 |
768
- | Border-only (1) | `1px solid #B1B8BE` 또는 `#CDD1D5` | 카드 / 표 / 입력 — 영역 분리는 보더로 |
769
- | Drop (2) | `0 0.2rem 0 0 rgba(0,0,0,a1), 0 0.4rem 0.8rem 0 rgba(0,0,0,a2)` | 드롭다운, 툴팁 |
770
- | Modal (3) | 동일 + 12px radius + 백드롭 black/0.5 fade | 모달 다이얼로그만 |
771
- | Focus halo | `0 0 0 4px #256EF4` (focus ring — depth는 아니지만 z-stack 최상위) | 모든 인터랙티브 |
772
-
773
- **그림자 철학**: 정부 사이트는 "층위가 많아 보이는" 화면을 피합니다. 시각적 평탄성(visual flatness)이 신뢰감과 예측 가능성을 만든다는 가정 — Material식 elevation 6단계가 아니라 사실상 0/1/2/3 4단계로 충분합니다.
774
-
775
- ## 7. Do's and Don'ts
776
-
777
- ### Do
778
- - 정부 블루(`#256EF4`)는 **액션 자리에만** — Primary 버튼, 활성 링크, 활성 탭, focus ring, side-menu 활성 표시
779
- - 본문은 17px / 400 / line-height 1.5 — 노안·저시력 사용자를 우선
780
- - 모든 인터랙티브 요소에 가시성 높은 4px outline focus ring 적용 (`--krds-box-shadow-outline`)
781
- - 양식 검증은 명시적 에러 라벨 + `aria-invalid` + 에러 영역 자동 포커스 + 2px border `#DE3412`
782
- - "글자·화면 표시 설정"을 항상 헤더에 노출 — 사용자의 1차 컨트롤
783
- - 한글 본문에 letter-spacing 0을 유지 — 인위적 자간 압축 금지 (Display만 1px)
784
- - Pretendard GOV 또는 시스템 한글 폴백을 사용
785
- - 색상은 매직넘버에 맞춰 선택 — primary-50 위 gray-0이면 즉시 4.5:1+ 통과
786
- - 모든 컴포넌트는 일반 모드 / 선명한 화면 모드 두 토큰 레이어로 검증
787
-
788
- ### Don't
789
- - Primary 50을 배경 / 일러스트 / 헤더 풀-블리드에 쓰지 말 것 — 색은 행위(action)다
790
- - 그림자로 깊이감을 만들지 말 것 — 보더와 라운드로 충분
791
- - 한 화면에 두 개 이상의 Primary 버튼을 같은 위계로 두지 말 것 — 첫 번째 행위가 명확해야 함
792
- - 마케팅 카피·과장 표현 금지 — "혁신적인", "최고의", "감동의" 같은 수식어 금지
793
- - 모션을 강조 수단으로 쓰지 말 것 — `prefers-reduced-motion` 사용자가 다수
794
- - 정보 부재 상태에 "데이터가 없습니다" 같은 무미한 표현 금지 — 다음 행동을 안내할 것
795
- - KWCAG 2.1 AA 미달 컬러 / 컴포넌트 사용 금지 (4.5:1 contrast 최소)
796
- - Body 사이즈와 H4/H5 사이즈(17/15px)가 충돌하는 위계는 weight 차이(700/400)로만 구분 — 컬러 강조 금지
797
- - 자체 폰트가 고딕 계열이 아니면 본문·제목에 사용 금지 (Display / 배너만 한정)
798
-
799
- ## 8. Responsive Behavior
800
-
801
- ### Breakpoints (재확인)
802
- | Name | Width | Key Changes |
803
- |------|-------|-------------|
804
- | small | 360px+ | 단일 컬럼 4-grid, 16px gutter, GNB → 햄버거 메뉴 |
805
- | medium | 768px+ | 2~3열 그리드 8-grid, 16~24px gutter |
806
- | large | 1024px+ | 풀 GNB, 최대 1200px 컨텐츠 폭, 12-grid |
807
- | xlarge | 1280px+ | 동일 1200px 컨텐츠 유지 (좌우 여백 증가) |
808
-
809
- ### Touch Targets (라이브 측정)
810
- - Primary CTA xlarge: **64px** 높이 (양식 제출 등 핵심 액션)
811
- - Primary CTA large: 56px / medium: 48px / small: 40px / xsmall: 32px
812
- - 입력 필드 large: 56px / xlarge: 80px (검색)
813
- - 셀렉트 large: 56px / medium: 48px / small: 40px
814
- - 모바일 탭바 / 바텀시트 높이: 별도 모바일 카테고리에서 정의
815
-
816
- ### Mobile-specific Components
817
- KRDS는 `component_12_*` 카테고리에 모바일 전용 컴포넌트 8종을 운영합니다: 뒤로가기 / 바텀시트 / 수량토글 / 토스트 / 스낵바 / 탭바 / 스플래시 스크린 / 범위 슬라이더. 모바일 컨텍스트의 인터랙션을 별도 시스템으로 인정.
818
-
819
- ### Image Behavior
820
- - 콘텐츠 일러스트 / 사진은 1200px 컨테이너 안에서 풀-블리드 또는 16:9 / 4:3 비율
821
- - 아이콘은 16 / 20 / 24px 그리드 (`--krds-icon--size-{xsmall..xlarge} = 1.6/1.6/2/2.4/2.4rem`)
822
- - 접근 가능한 미디어 (`component_11_01.html`)는 캡션 / 자막 / 음성 해설 슬롯 명시
823
-
824
- ## 9. Agent Prompt Guide
825
-
826
- ### Quick Color Reference
827
- - Primary action: `#256EF4` (primary-50)
828
- - Primary pressed / link text: `#0B50D0` (primary-60)
829
- - Primary subtle bg: `#ECF2FE` (primary-5)
830
- - Body text: `#1E2124` (gray-90)
831
- - Secondary text / placeholder: `#464C53` (gray-70)
832
- - Border strong: `#58616A` (gray-60)
833
- - Border subtle: `#B1B8BE` (gray-30)
834
- - Disabled surface: `#CDD1D5` (gray-20)
835
- - Background: `#FFFFFF` (gray-0)
836
- - Surface gray subtle: `#F4F5F6` (gray-5)
837
- - Danger: `#DE3412` / Success: `#228738` / Information: `#0B78CB` / Warning: `#FFB114`+`#9E6A00`(text)
838
-
839
- ### Example Component Prompts
840
- - "Primary 버튼 xlarge: `#256EF4` 배경 / 흰색 텍스트 / 19px·400 / 8px radius / 0 24px padding / 64px 높이. Hover `#0B50D0`, pressed `#083891`, focus ring 4px `#256EF4`."
841
- - "필수 입력 텍스트 필드 large: 흰색 배경 / `#58616A` 1px 보더 / 8px radius / 17~19px·400 / 56px 높이 / `#464C53` placeholder / focus 시 `#256EF4` 4px halo. 라벨 옆 빨간 별표(*) + `aria-required`."
842
- - "Error 텍스트 필드: 동일 + 보더 `2px solid #DE3412` + 하단 helper text `#DE3412` 15px·400 + `aria-invalid='true'` + 에러 영역 자동 포커스."
843
- - "Light Primary 안내 패널: `#ECF2FE` 배경 / 8px radius / 16px 24px padding / `#0B50D0` 강조 + `#1E2124` 본문."
844
- - "Outline Primary 배지: 투명 / `#0B50D0` 텍스트 / `#256EF4` 1px 보더 / 4px radius / 0 8px padding / 15px·400 / 24px 높이."
845
- - "Tertiary 버튼 large: 투명 / `#1E2124` / `#58616A` 1px / 8px radius / 0 20px / 56px. 취소·초기화·닫기."
846
- - "Select large: 흰색 / `#58616A` 1px / 6px radius / 0 48px 0 16px / 19px·400 / 56px. Error 시 `2px solid #AB2B36` (Point 60 — 셀렉트는 Danger가 아닌 Point를 쓴다)."
847
- - "Tag 필터 칩 large: 흰색 / `#CDD1D5` 1px / 40px radius (pill) / 8px 12px / 17px·400 / 40px. Selected 시 `#ECF2FE` 배경 + `#256EF4` 보더 + `#0B50D0` 텍스트."
848
- - "Modal medium: 560px 폭 / `#FFFFFF` / 12px radius / 40px padding / drop shadow + black/0.5 백드롭 fade-in 400ms."
849
-
850
- ### Iteration Guide
851
- 1. 컬러는 매직넘버 룰을 따른다 — primary-50 위 gray-0 / gray-90 / white를 첫 후보로
852
- 2. 라운드는 2 / 4 / 6 / 8 / 10 / 12 / 1000px 일곱 단계만
853
- 3. 본문은 17px / 400 / 1.5 line-height가 기본 (16px이 아님)
854
- 4. 컴포넌트 사이즈 5단계: xsmall(32) / small(40) / medium(48) / large(56) / xlarge(64) — 버튼·input·select 모두 동일
855
- 5. 모든 인터랙티브 요소에 4px outline focus ring (`#256EF4`) 필수
856
- 6. 그림자 사용은 모달 / 드롭다운 / 툴팁으로 한정 — 카드는 보더로
857
- 7. `aria-*` 속성, 키보드 탐색, KWCAG 2.1 AA 색대비를 토큰 단계부터 만족시킬 것
858
- 8. 일반 모드와 선명한 화면 모드 두 토큰 레이어를 동시에 검증
859
- 9. 모션은 400ms / ease-in-out 표준, `prefers-reduced-motion: reduce`에서 즉시 전환
860
-
861
- ---
862
-
863
- ## 10. Voice & Tone
864
-
865
- KRDS의 보이스는 **공공 서비스 안내 데스크의 화법**입니다 — 정중하고(`-합니다`/`-해 주세요`), 절제되며, 사용자를 평가하거나 설득하려 들지 않습니다. 마케팅 감탄("놀라운", "혁신적인", "최고의")은 금지이고, 동시에 권위적 명령("입력하라", "확인할 것")도 피합니다. 기본 어미는 **하십시오체(`-합니다`)와 해요체의 정중한 변형(`-해 주세요`, `-해 주십시오`)**의 혼용이며, 페이지 헤드라인은 명사형으로 짧게 — "**모두를 위한 디지털 서비스 경험**" — 행위 문장은 동사형으로 — "시작하기", "신청하기", "자세히 보기". 영문 카피가 필요한 경우 plain English UK Gov 스타일로 — *"Apply now"* 가 *"Get started today!"* 보다 우선합니다.
866
-
867
- | Context | Tone |
868
- |---|---|
869
- | 페이지 헤드라인 | 명사형 한 줄 ("모두를 위한 디지털 서비스 경험"). 마침표·느낌표 없음. |
870
- | Primary CTA | 동사 + "기" 형태 ("시작하기", "신청하기", "확인하기"). 짧고 행위 중심. |
871
- | Secondary CTA | "자세히 보기", "이전 단계", "취소" — 부가 / 되돌리기 액션. |
872
- | 양식 라벨 | 명사형 ("성명", "연락처", "주소"). 라벨이 곧 항목 이름. |
873
- | 필수 표시 | 라벨 옆 빨간 별표 + 스크린리더용 "필수 입력 항목입니다" 보조 텍스트. |
874
- | 검증 오류 | 무엇이 / 왜 / 어떻게 — "올바른 이메일 형식이 아닙니다. example@domain.kr 형식으로 입력해 주세요." |
875
- | 빈 상태 | "표시할 내용이 없습니다" + 다음 행동 안내. "데이터가 없습니다" 단독 사용 금지. |
876
- | 성공 메시지 | "신청이 완료되었습니다." 과거 종결형, 한 문장. 감탄사 없음. |
877
- | 도움말 | "이 항목은 ~을(를) 위해 수집됩니다." 수집 목적·근거를 평문으로 명시. |
878
- | 긴급 공지 | "현재 ~ 서비스가 일시 중단되었습니다. 자세한 내용은 공지사항을 확인해 주세요." 사실 + 다음 행동. |
879
-
880
- **금지 표현.** "혁신적인", "차세대", "최고의", "고객님께서는 ~해 주시기 바랍니다" (지나친 격식), "데이터가 없습니다", "오류가 발생했습니다" 단독 사용, "잘 모르시겠다면" (사용자 능력 평가), 영문 보일러플레이트 "Oops, something went wrong". 어려운 한자어·일본식 행정 용어는 **「쉬운 우리말 쓰기」(국립국어원·행정안전부 권장)** 원칙에 따라 평이한 한국어로 치환 (예: "기재하다" → "쓰다 / 적다", "취하한다" → "취소한다", "당해 연도" → "올해").
881
-
882
- **Voice samples.**
883
-
884
- - `모두를 위한 디지털 서비스 경험` — 홈 헤드라인 (페이지 제목). <!-- verified: https://www.krds.go.kr/html/site/index.html, 2026-05 -->
885
- - `시작하기` — Primary CTA (xlarge, `#256EF4` / 흰색 / 64px). <!-- verified: krds.go.kr 홈, 2026-05 -->
886
- - `자세히 보기` — 카드 내부의 x-large text 버튼 (보조 액션). <!-- verified: krds.go.kr 홈, 2026-05 -->
887
- - `글자·화면 설정` — 헤더 유틸리티 버튼 (a11y 1차 컨트롤). <!-- verified: krds.go.kr 전 페이지, 2026-05 -->
888
- - `통합검색` / `전체메뉴` — GNB 액션 버튼. <!-- verified: krds.go.kr, 2026-05 -->
889
- - `디자인 스타일 / 컴포넌트 / 기본 패턴 / 서비스 패턴 / 소식·소통 / KRDS 소개` — GNB 카테고리 6개. <!-- verified: krds.go.kr, 2026-05 -->
890
- - `누구나 쉽게 사용할 수 있는 공공 웹·앱` — 행정안전부 KRDS 소개 문구. <!-- cited: 행정안전부 보도자료, 2024 -->
891
- - `KRDS는 공공 웹·앱이 일관된 사용자 경험을 제공할 수 있도록 디자인 토큰과 컴포넌트를 표준화합니다.` — 일러스트레이션 (브랜드 문장 패턴, 실제 페이지 카피의 톤을 재구성). <!-- illustrative -->
892
-
893
- ## 11. Brand Narrative
894
-
895
- KRDS(대한민국 정부 디자인 시스템, Korea Republic Design System)는 **행정안전부(Ministry of the Interior and Safety, MOIS)**가 주관하여 2024년 4월에 공식 공개한 범정부 UI/UX 디자인 시스템입니다. 정부는 2023년 전자정부 서비스 이용 실태조사에서 "동일한 행동을 반복적으로 요청한다", "표현이 일관되지 않다", "어려운 행정 용어가 많다"는 핵심 피드백을 받았고, 이를 해소하기 위해 2023년 7월부터 12월까지 **범정부 디자인시스템 구축 사업**을 진행한 뒤 ([행정안전부 보도자료](https://www.mois.go.kr/frt/bbs/type010/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000008&nttId=115144), [대한민국 정책브리핑](https://m.korea.kr/briefing/pressReleaseView.do?newsId=156640589)), 2024년 4월 공식 사이트 `www.krds.go.kr`을 통해 가이드라인·디자인 토큰·컴포넌트 라이브러리(Figma)·HTML 마크업을 일반 공개했습니다. 영문명은 **Korea Design System / Korea Republic Design System**으로 표기되며, 영문 자료에서는 *Pan-Government UI/UX Design System*으로 소개되기도 합니다 ([MOIS 영문 공지](https://www.mois.go.kr/eng/bbs/type002/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000022&nttId=118313)).
896
-
897
- KRDS의 적용 대상은 **대한민국 정부 상징(Government Symbol)을 사용하는 모든 기관**의 웹·모바일 웹·앱입니다 — 중앙 행정기관, 소속기관, 공공기관, 지방자치단체가 포함되며, 시스템의 목적은 (1) 디지털 약자(고령자·장애인·저시력 사용자)를 포함한 모두에게 동일한 사용 경험을 제공하고, (2) 디자이너와 개발자가 같은 토큰·컴포넌트를 공유함으로써 공공 서비스의 **품질 편차를 줄이는 것**입니다 ([Design Compass — KRDS 소개](https://designcompass.org/2024/04/17/krds/), [Design Compass EN — Launch announcement](https://designcompass.org/en/2025/01/22/krds-start/)). 정책 맥락에서는 **「국가정보화 기본법」, 「장애인차별금지 및 권리구제 등에 관한 법률(장차법)」, 「웹 접근성 국가표준(KWCAG 2.1 / KS X OT 0003)」**이 공공기관 웹에 WCAG 2.1 AA 동등 이상의 접근성을 법적으로 요구하고 있으며 ([TPGi — South Korea Disability Discrimination Act](https://www.tpgi.com/south-koreas-disability-discrimination-act-kiosk-web-mobile-accessibility/), [AAAtraq — Digital Accessibility in South Korea](https://aa.aaatraq.com/news/2025/08/evolving-digital-accessibility-south-korea)), KRDS는 그 기술적 구현 표준 역할을 담당합니다.
898
-
899
- 비교 좌표는 분명합니다 — KRDS는 영국의 **[GOV.UK Design System](https://design-system.service.gov.uk/)**, 미국의 **[U.S. Web Design System (USWDS)](https://designsystem.digital.gov/)**, 싱가포르의 **[Singapore Government Design System](https://www.designsystem.tech.gov.sg/)**와 같은 계보에 속하는 **국가 단위 공공 디자인 시스템**입니다. 한국의 이전 표준(과거 "전자정부 표준프레임워크 UI 가이드", 각 부처 개별 가이드)을 통합·승계하며, 디자인 토큰 / 컴포넌트 / 마크업이 한 곳에서 공개·버전 관리된다는 점이 차이입니다 ([HEROPY.DEV — KRDS 소개](https://www.heropy.dev/s/68), [나무위키 — 범정부 UI/UX 디자인 시스템](https://namu.wiki/w/%EB%B2%94%EC%A0%95%EB%B6%80%20UI/UX%20%EB%94%94%EC%9E%90%EC%9D%B8%20%EC%8B%9C%EC%8A%A4%ED%85%9C)).
900
-
901
- KRDS가 거부하는 것: 정부 사이트마다 다른 표기와 배치(이전의 전자정부 사이트 파편화), 마케팅 톤의 카피(공공 서비스는 권유 대상이 아닙니다), 시각적 화려함을 통한 신뢰 연출(과한 그라데이션 / 일러스트 / 모션). 거부하지 않는 것: 가독성·예측 가능성·접근성. 정부 블루 `#256EF4`는 그래서 "정부의 색"이 아니라 "행위(action)의 색"으로 기능합니다 — 단 하나의 버튼이 사용자가 무엇을 해야 하는지를 결정하도록.
902
-
903
- ## 12. Principles
904
-
905
- 1. **접근성 우선 (Accessibility First).** KWCAG 2.1 AA / WCAG 2.1 AA가 법적 의무이며, KRDS는 토큰 단계부터 색대비 4.5:1(매직넘버 50), 키보드 탐색, 스크린 리더 보조 텍스트, focus 가시성(4px halo)을 강제합니다. 일반 모드와 선명한 화면 모드 두 토큰 레이어를 동시에 운영합니다. *UI implication:* 어떤 컴포넌트도 a11y 검수 없이 §4에 추가되지 않으며, color-only로 의미를 전달하는 패턴은 반려됩니다.
906
- 2. **일관성 (Consistency).** 같은 행위는 모든 정부 사이트에서 같은 형태로 — Primary 버튼은 어디서나 `#256EF4` / 8px / 19px·400 / 64px(xlarge)입니다. *UI implication:* 부처별 / 사이트별 커스텀 컬러·라운드·폰트를 새로 만들지 않습니다. 브랜드 표시가 필요한 경우 헤더의 운영기관 식별자(`component_02_02`) 슬롯에 한정.
907
- 3. **명료성 (Clarity).** 한 화면이 하나의 결정을 안내해야 합니다. Primary 버튼은 한 화면에 하나, 양식 라벨은 명사형 1개, 검증 오류는 무엇 / 왜 / 어떻게 셋을 모두 제공. *UI implication:* "확인 / 취소 / 다음 / 이전"이 모두 같은 위계로 떠 있는 화면은 위계 재배치가 필요합니다.
908
- 4. **안정성 (Predictability).** 정부 서비스는 처음 방문하는 사용자가 다수입니다 — 사이트마다 학습 곡선이 다시 시작되면 안 됩니다. 위치(헤더 / GNB / 푸터), 컴포넌트(버튼·입력·표·페이지네이션), 패턴(검색 / 신청 / 조회 / 결과)이 사이트를 옮겨도 동일하게 작동해야 합니다. *UI implication:* "신선한" 인터랙션, 비표준 컨트롤, 가독성을 희생한 시각 강조는 거부됩니다.
909
- 5. **사용자 중심 (User-Centred).** "공급자(부처)의 업무 구조"가 아니라 **시민이 하려는 행위**를 기준으로 정보를 정렬합니다. KRDS의 컴포넌트 카테고리가 "아이덴티티 / 탐색 / 레이아웃 및 표현 / 액션 / 선택 / 피드백 / 도움 / 입력 / 설정 / 콘텐츠 / 모바일"로 구성된 것이 그 증거 — 모두 사용자가 하려는 행위 분류입니다. *UI implication:* IA 회의에서 "부서별로 묶자"가 아니라 "시민이 같은 시점에 함께 처리하는 일끼리 묶자"가 기준이 됩니다.
910
-
911
- ## 13. Personas
912
-
913
- *아래 페르소나는 KRDS가 공개적으로 지목하는 "디지털 약자 및 일반 시민" 사용자 군집을 기반으로 재구성한 가상의 인물입니다. 특정 개인을 지칭하지 않습니다.*
914
-
915
- **김순자 (Kim Soon-ja), 68세, 대전.** 정부24에서 주민등록등본을 발급받고 국민건강보험공단 앱에서 진료 내역을 확인합니다. 노안으로 16px 본문은 자주 놓치기 때문에 헤더의 "글자·화면 설정"에서 130%로 키워 쓰며, 양식의 빨간 별표가 명확히 보이지 않으면 다음 단계로 넘어가지 못합니다. KRDS가 그를 위해 만든 것: 17px·1.5 line-height 기본 본문 + 130% 사용자 줌 + 충분한 색대비(매직넘버 50).
916
-
917
- **박지훈 (Park Ji-hoon), 29세, 서울, 시각장애.** 스크린 리더(NVDA / VoiceOver)로 정부 사이트를 사용합니다. 본문 시맨틱이 망가져 있거나, 버튼이 `<div>`로 만들어져 있거나, focus 순서가 시각 순서와 다르면 즉시 페이지를 떠납니다. KRDS가 그를 위해 만든 것: `aria-*` 속성을 포함한 마크업, 키보드 fully navigable한 컴포넌트, 4px outline focus ring, 선명한 화면 모드.
918
-
919
- **Sarah Kim, 34세, 미국 거주 한국 국적자.** 해외 거주 한국인 — 영문 인터페이스 옵션, plain English 안내문, 시간대 표시(KST)가 명확한 양식을 기대합니다. KRDS의 영문 모드(`English`)와 GOV.UK·USWDS 친화적인 명사형 라벨이 그의 학습 비용을 낮춥니다.
920
-
921
- **이주임 (Lee Joo-im), 41세, 광역시 공무원.** 부처 웹사이트의 콘텐츠를 편집·게시하는 운영자. CMS에서 컴포넌트를 조립할 때 "어떤 버튼이 Primary인지", "어떤 배지가 status용인지"를 빠르게 결정할 수 있어야 합니다. KRDS는 그를 위해 11개 컴포넌트 카테고리(아이덴티티 / 탐색 / 레이아웃 및 표현 / 액션 / 선택 / 피드백 / 도움 / 입력 / 설정 / 콘텐츠 / 모바일)와 각 변형의 사용 가이드를 명시합니다.
922
-
923
- **최민호 (Choi Min-ho), 22세, 모바일-only 사용자.** 데스크톱을 거의 사용하지 않는 청년 사용자. 정부 서비스도 스마트폰에서 끝내야 합니다. KRDS의 모바일 전용 컴포넌트 카테고리(`component_12_*` 8종 — 바텀시트 / 스낵바 / 탭바 / 뒤로가기 등)가 그를 위한 별도 시스템.
924
-
925
- ## 14. States
926
-
927
- | State | Treatment |
928
- |---|---|
929
- | **Empty (검색 결과 없음)** | "검색 결과가 없습니다. 다른 키워드로 다시 시도해 주세요." + 검색어 초기화 버튼(Tertiary). 단순 "데이터가 없습니다"는 금지. |
930
- | **Empty (신청 내역 없음)** | "신청한 내역이 없습니다." + 다음 행동 안내 ("새 신청서 작성하기" Primary 버튼). |
931
- | **Loading (페이지 진입)** | 페이지 상단 진행 표시기(스피너 `component_07_02`) + 스켈레톤 블록 (`#F4F5F6` Gray 5). `aria-busy="true"`로 스크린 리더에 알림. |
932
- | **Loading (양식 제출)** | Primary 버튼이 비활성화 + 내부에 inline spinner. 텍스트는 "처리 중..."으로 변경. 같은 폼을 중복 제출하지 못하도록 disabled 처리. |
933
- | **Error (필드 검증)** | 입력 보더 **2px solid `#DE3412`** / helper text "올바른 형식이 아닙니다. example@domain.kr 형식으로 입력해 주세요." `aria-invalid="true"` + 에러 영역으로 자동 포커스 이동. |
934
- | **Error (select)** | 보더 **2px solid `#AB2B36`** (Point 60 — Danger와 시각 구분). |
935
- | **Error (제출 실패)** | 페이지 상단 알림 영역(긴급 공지 `component_04_02`)에 Danger 배지 + 메시지 + 재시도 버튼. 사용자가 입력한 값은 보존. |
936
- | **Error (서버·네트워크)** | 전체 화면 대체 메시지 — "일시적으로 서비스를 이용할 수 없습니다. 잠시 후 다시 시도해 주세요." + 새로고침 버튼 + 고객센터 안내 (전화 / 채팅). |
937
- | **Success (저장)** | 스낵바(`component_12_06`) "저장되었습니다." 3초 자동 닫힘. critical하지 않은 가벼운 확인. |
938
- | **Success (신청 완료)** | 전용 결과 화면 — "신청이 완료되었습니다." H1 + 접수번호 + 다음 단계 안내 + Primary 버튼 "신청 내역 확인하기". 모달이 아닌 페이지로 처리해 새로고침 / 북마크 가능. |
939
- | **Disabled** | 회색 배경(`#CDD1D5` Gray 20) + `#6D7882` 텍스트 + cursor: not-allowed. `aria-disabled="true"`. 비활성 사유를 보조 텍스트로 명시 ("주민등록번호를 먼저 입력해 주세요"). |
940
- | **Focus (키보드)** | 4px outline halo (`box-shadow: 0 0 0 4px #256EF4`). 모든 인터랙티브 요소에 예외 없이 적용 — KRDS의 가장 강한 a11y 규약. |
941
- | **High Contrast Mode** | `--krds-color-high-contrast-*` 토큰 레이어가 자동 활성화 — 보더 강도 증가, 텍스트 컬러 변환(`#FFFFFF` 본문 등), focus ring 굵기 증가. OS 설정 또는 헤더 "글자·화면 설정"에서 토글. (`style_09.html` 선명한 화면 모드) |
942
- | **사용자 줌 (90/100/110/130/150%)** | 헤더에서 사용자가 직접 선택. 모든 컴포넌트가 rem 단위(`font-size-base: 62.5%`)로 작성되어 비례 확대됨. 데스크톱 1200px 컨테이너는 150%에서도 가로 스크롤 없이 적응. |
943
-
944
- ### Service Journey States (서비스 패턴 노드별 상태)
945
-
946
- KRDS 서비스 패턴 5종이 정의하는 사용자 여정 각 단계의 표준 상태 — 위 표가 "컴포넌트 상태"라면 아래 표는 "**여정 노드 상태**"입니다 ([service_summary](https://www.krds.go.kr/html/site/service/service_summary.html)).
947
-
948
- | Journey node | State / treatment |
949
- |---|---|
950
- | **방문 (Visit) — 진입** | 메인 화면 첫 인상 — 헤드라인(명사형 한 줄) + 핵심 액션 1개(Primary xlarge 64px) + 정보 카드 그리드. 익명 사용자 가정. |
951
- | **검색 — 입력 보조** | 검색 input xlarge(80px·24px·700) + 추천어·최근검색 dropdown. 키보드 첫 진입 시 focus halo 4px. |
952
- | **검색 — 결과 개수 확인** | 결과 상단에 "**총 N건**" 표시(Body large bold) — 0건 시 §14 Empty 상태 전환. |
953
- | **검색 — 결과 없음** | "검색 결과가 없습니다. 다른 키워드로 다시 시도해 주세요." + 검색어 초기화(Tertiary) + 검색 도움말(Text 버튼). |
954
- | **로그인 — 방식 선택** | 2개 이상 인증 수단을 동등 위계로 노출 — Primary 한 개로 좁히지 않음 (생체·다요소 사용자 다수). 도움말 토글 상시 노출. |
955
- | **로그인 — 자동 만료** | 세션 만료 직전 모달(small 400px·12px radius) + 연장 / 로그아웃 두 버튼 + 카운트다운(스크린리더 `aria-live="polite"`). |
956
- | **신청 — 다단계 양식** | 단계 표시기(`component_07_01`) 1→2→3 활성 `#256EF4` / 완료 `#228738`. 단계별 임시저장 버튼(Tertiary) 우상단 고정. |
957
- | **신청 — 자동입력** | 시스템 자동 입력값은 Gray 5(`#F4F5F6`) 배경 + readonly + "자동 입력된 정보입니다" 보조 텍스트. 수정 가능 시 잠금 해제 토글. |
958
- | **신청 — 첨부 진행** | 파일 업로드 진행 표시기 + 파일명 + 삭제 칩(Tag). 용량 초과 시 §14 Error(필드 검증) 동일 처리. |
959
- | **신청 — 제출 확인** | 모달 medium(560px) — "신청을 제출하시겠습니까?" + 최종 요약 + Primary "제출하기" / Tertiary "취소". 모달 외 영역은 백드롭 black/0.5. |
960
- | **신청 — 결과 페이지** | 모달 아님 — 새 페이지(URL 변경) — "신청이 완료되었습니다" H1 + 접수번호 + 다음 단계 + Primary "신청 내역 확인하기". |
961
- | **신청 — 처리 추적** | 진행 상태 배지(Information 진행 중 / Success 완료 / Warning 보완 요청 / Danger 반려) + 갱신 시각. |
962
- | **정책정보 — 신규/갱신 구분** | 자료 카드에 "신규"(Point 적색 배지 outline) 또는 "갱신"(Information 배지 outline) 라벨 — 같은 위계 안에서 색으로만 의미를 전달하지 않도록 텍스트 라벨 필수. |
963
-
964
- ## 15. Motion & Easing
965
-
966
- **Durations** (라이브 페이지에서 측정된 `--krds-transition-*` 토큰 기준):
967
-
968
- | Token | Value | Use |
969
- |---|---|---|
970
- | `motion-instant` | 0ms | 토글 / 체크박스 상태 변경 |
971
- | `motion-base` | **0.4s ease-in-out** (`--krds-transition-base`) | KRDS 표준 전환 — 드롭다운, 메뉴, 패널 열고 닫기, 백드롭 |
972
- | `motion-fade` | **opacity 0.4s linear** (`--krds-transition-fade`) | 단순 opacity fade (모달 진입, 토스트) |
973
- | `motion-collapse` | **max-height 0.4s ease** (`--krds-transition-collapse`) | 아코디언·디스클로저 max-height 전환 |
974
- | `motion-collapse-width` | **width 0.4s ease** (`--krds-transition-collapse-width`) | 사이드 메뉴 폭 전환 |
975
-
976
- **Easings:**
977
-
978
- | Token | Curve | Use |
979
- |---|---|---|
980
- | `ease-in-out` | KRDS 기본 | 모든 양방향 전환 (열기·닫기) |
981
- | `ease` | 접힘 / 펼침 height/width 변화 | 아코디언 / 디스클로저 / 사이드 메뉴 |
982
- | `linear` | opacity fade | 페이드 전용 |
983
-
984
- **모션 자세 (Motion stance).** **스프링·바운스·오버슈트는 KRDS에서 금지됩니다.** 정부 서비스는 "재미있는" 인터랙션을 통해 신뢰를 얻지 않습니다 — 사용자가 자신이 무엇을 했는지 즉시 / 예측 가능하게 / 차분하게 알 수 있어야 합니다. 모든 전환은 400ms 안에 끝나고, easing은 ease-in-out / ease / linear 셋으로 충분합니다. **`prefers-reduced-motion: reduce`** 사용자에게는 모든 `motion-*` 토큰이 0ms로 축소되며, 페이드 / 슬라이드 / 접힘 모두 즉시 전환됩니다. 이 규칙은 a11y 권고가 아니라 KRDS의 기본 동작입니다 (정부 서비스 사용자 중 전정기관 민감성·인지장애 보유자 비율이 일반 사이트보다 높습니다).
985
-
986
- **Signature motions.**
987
-
988
- 1. **메뉴 / 드롭다운 열기·닫기.** `400ms / ease-in-out`로 opacity + transform translateY(-4px → 0). 백드롭 없음 (full-page 모달이 아니므로). 닫힐 때 동일 시간 / 역방향.
989
- 2. **아코디언·디스클로저.** max-height `400ms / ease` 전환. 콘텐츠 fade 없음 — height 변화만으로 충분하고, fade를 더하면 글자가 흐려져 가독성이 손해.
990
- 3. **모달 진입.** opacity fade 400ms linear + 백드롭 동시 fade (black/0.5). transform 사용하지 않음 (성능 우선 / 미감 절제). 모달 자체는 12px radius `--krds-radius-xlarge1`.
991
- 4. **사이드 메뉴 폭 변경.** width `400ms / ease` (`--krds-transition-collapse-width`).
992
- 5. **Reduce motion.** 모든 위 전환이 0ms 즉시. 백드롭은 그대로 표시되되 fade 없이 즉시 가시화.
993
-
994
- <!--
995
- OmD v0.1 Sources — KRDS DESIGN.md (rebuilt 2026-05-08, deep-pass)
996
-
997
- Tier 1 — Live DOM (playwright getComputedStyle, 2026-05):
998
- - https://www.krds.go.kr/html/site/index.html (홈)
999
- - https://www.krds.go.kr/html/site/style/style_02.html (색상 — 11단계 × 8 컬러군 full palette, 매직넘버)
1000
- - https://www.krds.go.kr/html/site/style/style_03.html (타이포그래피 — Display/Heading/Body 스케일 + Navigation/Label 토큰)
1001
- - https://www.krds.go.kr/html/site/style/style_05.html (레이아웃 — 4 브레이크포인트, 1200px 컨테이너, 8-pt grid)
1002
- - https://www.krds.go.kr/html/site/component/component_05_02.html (버튼 — Primary/Secondary/Tertiary/Text/Icon × xsmall~xlarge)
1003
- - https://www.krds.go.kr/html/site/component/component_09_03.html (텍스트 입력 — 5 사이즈 × 4 상태)
1004
- - https://www.krds.go.kr/html/site/component/component_06_03.html (셀렉트 — error border #AB2B36)
1005
- - https://www.krds.go.kr/html/site/component/component_06_04.html (태그 필터 칩 — pill 40/32/24)
1006
- - https://www.krds.go.kr/html/site/component/component_04_05.html (모달 — radius 12px, padding 40px)
1007
- - https://www.krds.go.kr/html/site/component/component_04_06.html (배지 — outline/bg × 9 의미 × 18 변형)
1008
-
1009
- Token extraction (live --krds-*):
1010
- - Color palette: --krds-color-light-{primary,secondary,gray,point,danger,warning,success,information}-{5,10,20,30,40,50,60,70,80,90,95}
1011
- - Radius: small(4) / medium1-2(6) / medium3-4(8) / large(10) / xlarge(12) / max(1000)
1012
- - Padding: 1=2, 2=4, 3=8, 4=10, 5=12, 6=16, 7=20, 8=24, 9=32, 10=40
1013
- - Size-height: 2=16, 3=20, 4=24, 5=32, 6=40, 7=48, 8=56, 9=64, 10=72, 11=80
1014
- - Icon: xsmall=16, small=16, medium=20, large=24, xlarge=24
1015
- - Modal sizes: small=400, medium=560, large=760
1016
- - Transitions: base=0.4s ease-in-out / fade=opacity 0.4s linear / collapse=max-height 0.4s ease
1017
- - Focus halo: --krds-box-shadow-outline: 0 0 0 0.4rem #256EF4
1018
- - Font: --krds-font-family-base: Pretendard GOV / weight 400/700 / line-height 1.5 / letter-spacing 0
1019
-
1020
- Tier 2 — Cross-check:
1021
- - getdesign.md/krds: no record / styles.refero.design: no record (정부 시스템 미수록)
1022
- - KRDS 자체가 정부 발행 canonical token catalog (Tier 1 = canonical)
1023
-
1024
- Tier 3 — Philosophy / WebSearch:
1025
- - 행정안전부 보도자료, 대한민국 정책브리핑, MOIS 영문 공지
1026
- - Design Compass (KR/EN), HEROPY.DEV, 나무위키
1027
- - TPGi (장차법·KWCAG), AAAtraq (2025 a11y 동향)
1028
- - 비교 좌표: GOV.UK / USWDS / Singapore GDS
1029
-
1030
- Phase 3 surfaces (basic + service patterns, 2026-05-08 deep-walk):
1031
- - https://www.krds.go.kr/html/site/global/global_summary.html (기본 패턴 인덱스 — 12 패턴 enumeration)
1032
- - https://www.krds.go.kr/html/site/global/global_01..12.html (12 기본 패턴 상세 — 모두 200, 각각 title + purpose 추출)
1033
- - https://www.krds.go.kr/html/site/service/service_summary.html (서비스 패턴 인덱스 — 5 패턴)
1034
- - https://www.krds.go.kr/html/site/service/service_01_01.html … service_05_01.html (5 서비스 패턴 상세 — 모두 200, journey node 추출)
1035
- - pattern_summary.html / intro_*.html / intro_summary.html / main_index.html → 404 (별도 principles/inclusion 페이지 미공개 — 디지털 포용 콘텐츠는 global_summary 푸터의 웹 접근성 인증 마크 + KRDS 미션 문구로 입증)
1036
-
1037
- Rebuild diff vs prior pass:
1038
- - §2: Primary 50/60 분리 명시(이전 "정부 블루 + 정부 블루 딥" 표기 → 11단계 명도 팔레트 + 매직넘버)
1039
- - §2: System color 추가 (Danger #DE3412 / Success #228738 / Information #0B78CB / Warning #FFB114·#9E6A00 / Point #D63D4A)
1040
- - §3: Display/Heading/Body 3-layer scale 전체 표 추가 (이전 7행 → 30+행)
1041
- - §3: H1 = 40px (이전 34px → 40px 정정)
1042
- - §4 Buttons: 5단계 크기 라이브 측정값 (xsmall 4px/15px·400/32px ... xlarge 8px/19px·400/64px)
1043
- - §4 Inputs: 정확한 5 사이즈 측정값, error 2px solid #DE3412 (이전 "1.5px" → 2px 정정), disabled bg #CDD1D5 (이전 "#F4F6F8" → #CDD1D5 정정)
1044
- - §4 신규: Select, Tag(필터 칩), Toggle Switch, Checkbox, Radio, Tabs, Toast/Snackbar, Tooltip, Step Indicator, Pagination 추가
1045
- - §4 Modal: radius 12px (이전 "--krds-radius-xlarge1 대형 라운드" 모호 → 12px 명시), sizes 400/560/760
1046
- - §4 Badge: 9개 의미 × outline/filled = 18 변형 표 완성 (이전 4개 → 18개)
1047
- - §5: 4 breakpoints + columns/gutter/margin 정확 측정 (small 4/16/16 → medium 8/16/24 → large 12/24/24 → xlarge 12/24/24)
1048
- - §5: 8-pt grid 명시, padding 1~10 토큰 매핑 추가
1049
- - §5: Border radius 7단계 (이전 5단계 → 2/4/6/8/10/12/1000)
1050
- - §15: motion-collapse-width 추가, signature motion 5개 (이전 4개)
1051
- -->
1052
-
1053
- ---
1054
-
1055
- **Verified:** 2026-05-08 (deep re-verification — 10 pages inspected)
1056
- **Tier 1 sources:** 10 live pages on www.krds.go.kr — index + 3 style pages (color/typography/layout) + 6 component pages (buttons/inputs/select/tag/modal/badge). 588 `--krds-color-*` tokens enumerated, full radius/padding/size-height/transition token sets extracted.
1057
- **Tier 2 sources:** getdesign.md/krds — no record / styles.refero.design — no record. KRDS 자체가 정부 발행 canonical token catalog.
1058
- **Tier 3 (Philosophy):** 행정안전부 보도자료, 대한민국 정책브리핑, Design Compass(KR/EN), TPGi(KWCAG·장차법), AAAtraq(2025 a11y 동향), GOV.UK / USWDS / Singapore GDS 비교 좌표.
1059
- **Style ref:** `yeogiotte` (한국 공공·민간 정중한 한국어 톤 참조), `karrot` (한국 voice 형식 참조).
1060
- **Conflicts unresolved:** none. KRDS는 단일 정부 발행 시스템이므로 부처별 변형 / 외부 aggregator 충돌 없음.