oh-my-design-cli 1.8.7 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +1995 -38
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -4,531 +4,277 @@ name: Figma
4
4
  country: US
5
5
  category: design-tools
6
6
  homepage: "https://www.figma.com"
7
- primary_color: "#a259ff"
7
+ primary_color: "#000000"
8
8
  logo:
9
9
  type: simpleicons
10
10
  slug: figma
11
- verified: "2026-05-15"
11
+ verified: "2026-07-12"
12
12
  omd: "0.1"
13
13
  ds:
14
14
  name: Figma Brand Guidelines
15
15
  url: "https://www.figma.com/using-the-figma-brand"
16
16
  type: brand
17
- description: Figma's official trademark and brand usage guidelines with logo downloads.
18
- og_image: "https://cdn.sanity.io/images/599r6htc/regionalized/342e17642c7afa81206490b0dd21c3e5724ae040-2400x1260.png?w=1200&q=70&fit=max&auto=format"
17
+ description: Figma's official trademark, logo, and brand-use guidance; public product pages are measured separately for UI tokens.
18
+ verification_v2:
19
+ schema: 2
20
+ checked: "2026-07-12"
21
+ surfaces:
22
+ - { id: home, kind: marketing-product, url: "https://www.figma.com/ko-kr/", inspected: "2026-05-15" }
23
+ - { id: design, kind: marketing-product, url: "https://www.figma.com/ko-kr/design/", inspected: "2026-05-15" }
24
+ - { id: brand, kind: official-brand, url: "https://www.figma.com/using-the-figma-brand", inspected: "2026-07-12" }
25
+ sources:
26
+ - { id: home-live, kind: product-surface, url: "https://www.figma.com/ko-kr/", captured: "2026-05-15" }
27
+ - { id: design-live, kind: product-surface, url: "https://www.figma.com/ko-kr/design/", captured: "2026-05-15" }
28
+ - { id: brand-official, kind: official-doc, url: "https://www.figma.com/using-the-figma-brand", captured: "2026-07-12" }
29
+ conflicts: []
30
+ claims:
31
+ "tokens.colors.primary": &home_evidence { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-05-15" }
32
+ "tokens.colors.canvas": *home_evidence
33
+ "tokens.colors.border": *home_evidence
34
+ "tokens.colors.indigo-action": *home_evidence
35
+ "tokens.colors.focus": *home_evidence
36
+ "tokens.colors.on-primary": *home_evidence
37
+ "tokens.typography.family.ui": *home_evidence
38
+ "tokens.typography.family.mono": *home_evidence
39
+ "tokens.typography.hero.size": *home_evidence
40
+ "tokens.typography.hero.weight": *home_evidence
41
+ "tokens.typography.hero.lineHeight": *home_evidence
42
+ "tokens.typography.hero.tracking": *home_evidence
43
+ "tokens.typography.hero.use": *home_evidence
44
+ "tokens.typography.section.size": *home_evidence
45
+ "tokens.typography.section.weight": *home_evidence
46
+ "tokens.typography.section.lineHeight": *home_evidence
47
+ "tokens.typography.section.tracking": *home_evidence
48
+ "tokens.typography.section.use": *home_evidence
49
+ "tokens.typography.body.size": &design_evidence { surface_id: design, source_id: design-live, method: live-inspect, captured: "2026-05-15" }
50
+ "tokens.typography.body.weight": *design_evidence
51
+ "tokens.typography.body.lineHeight": *design_evidence
52
+ "tokens.typography.body.tracking": *design_evidence
53
+ "tokens.typography.body.use": *design_evidence
54
+ "tokens.typography.mono-label.size": *home_evidence
55
+ "tokens.typography.mono-label.weight": *home_evidence
56
+ "tokens.typography.mono-label.lineHeight": *home_evidence
57
+ "tokens.typography.mono-label.tracking": *home_evidence
58
+ "tokens.typography.mono-label.use": *home_evidence
59
+ "tokens.spacing.xs": *home_evidence
60
+ "tokens.spacing.sm": *home_evidence
61
+ "tokens.spacing.md": *home_evidence
62
+ "tokens.spacing.lg": *home_evidence
63
+ "tokens.spacing.xl": *home_evidence
64
+ "tokens.rounded.control": *home_evidence
65
+ "tokens.rounded.hero": *design_evidence
66
+ "tokens.rounded.segment": *home_evidence
67
+ "tokens.rounded.full": *home_evidence
68
+ "tokens.shadow.panel": *design_evidence
69
+ "tokens.components.primary-action.type": *home_evidence
70
+ "tokens.components.primary-action.bg": *home_evidence
71
+ "tokens.components.primary-action.fg": *home_evidence
72
+ "tokens.components.primary-action.radius": *home_evidence
73
+ "tokens.components.primary-action.padding": *home_evidence
74
+ "tokens.components.primary-action.height": *home_evidence
75
+ "tokens.components.primary-action.font": *home_evidence
76
+ "tokens.components.primary-action.focus": *home_evidence
77
+ "tokens.components.primary-action.use": *home_evidence
78
+ "tokens.components.indigo-action.type": *home_evidence
79
+ "tokens.components.indigo-action.bg": *home_evidence
80
+ "tokens.components.indigo-action.fg": *home_evidence
81
+ "tokens.components.indigo-action.radius": *home_evidence
82
+ "tokens.components.indigo-action.padding": *home_evidence
83
+ "tokens.components.indigo-action.height": *home_evidence
84
+ "tokens.components.indigo-action.font": *home_evidence
85
+ "tokens.components.indigo-action.states": *home_evidence
86
+ "tokens.components.indigo-action.use": *home_evidence
87
+ "tokens.components.outline-action.type": *design_evidence
88
+ "tokens.components.outline-action.bg": *design_evidence
89
+ "tokens.components.outline-action.fg": *design_evidence
90
+ "tokens.components.outline-action.radius": *design_evidence
91
+ "tokens.components.outline-action.padding": *design_evidence
92
+ "tokens.components.outline-action.height": *design_evidence
93
+ "tokens.components.outline-action.font": *design_evidence
94
+ "tokens.components.outline-action.states": *design_evidence
95
+ "tokens.components.outline-action.use": *design_evidence
96
+ "tokens.components.product-segment.type": *home_evidence
97
+ "tokens.components.product-segment.bg": *home_evidence
98
+ "tokens.components.product-segment.fg": *home_evidence
99
+ "tokens.components.product-segment.radius": *home_evidence
100
+ "tokens.components.product-segment.padding": *home_evidence
101
+ "tokens.components.product-segment.height": *home_evidence
102
+ "tokens.components.product-segment.font": *home_evidence
103
+ "tokens.components.product-segment.states": *home_evidence
104
+ "tokens.components.product-segment.use": *home_evidence
105
+ "tokens.components.round-icon.type": *design_evidence
106
+ "tokens.components.round-icon.bg": *design_evidence
107
+ "tokens.components.round-icon.fg": *design_evidence
108
+ "tokens.components.round-icon.radius": *design_evidence
109
+ "tokens.components.round-icon.size": *design_evidence
110
+ "tokens.components.round-icon.states": *design_evidence
111
+ "tokens.components.round-icon.use": *design_evidence
19
112
  tokens:
20
- source: prose-derived
21
- extracted: "2026-06-09"
22
- note: "Interface chrome is strictly black/white; chromatic hexes appear only in product content / hero gradients"
113
+ source: reconciled
114
+ extracted: "2026-07-12"
115
+ note: "Current verified public marketing/product pages. A July automated recapture was blocked before producing evidence, so live computed claims retain the still-fresh May proof and current official brand page was rechecked separately."
23
116
  colors:
24
- black: "#000000"
117
+ primary: "#000000"
25
118
  canvas: "#ffffff"
26
119
  border: "#ebebeb"
27
- dark-glass: "#292929"
28
- muted: "#374151"
29
- indigo: "#4D49FC"
120
+ indigo-action: "#4d49fc"
30
121
  focus: "#0d99ff"
31
- input-border: "#e2e2e2"
32
- accent-purple: "#a259ff"
33
- accent-pink: "#f24e1e"
34
- tile-lime: "#e4ff97"
35
- tile-cyan: "#00b6ff"
36
- tile-green: "#24cb71"
37
- tile-lavender: "#c4baff"
38
- tile-sage: "#95b9ac"
122
+ on-primary: "#ffffff"
39
123
  typography:
40
- family: { sans: "figmaSans", mono: "figmaMono" }
41
- display-hero: { size: 86, weight: 400, lineHeight: 1.00, tracking: -1.72, use: "Maximum impact hero, extreme tracking" }
42
- section: { size: 64, weight: 400, lineHeight: 1.10, tracking: -0.96, use: "Feature section titles" }
43
- subheading: { size: 26, weight: 540, lineHeight: 1.35, tracking: -0.26, use: "Emphasized section text" }
44
- feature-title: { size: 24, weight: 700, lineHeight: 1.45, use: "Bold card headings" }
45
- body-lg: { size: 20, weight: 330, lineHeight: 1.35, tracking: -0.14, use: "Descriptions, intros" }
46
- body: { size: 16, weight: 330, lineHeight: 1.42, tracking: -0.14, use: "Standard body, nav, buttons" }
47
- mono-label: { size: 18, weight: 400, lineHeight: 1.30, tracking: 0.54, use: "Uppercase section labels (figmaMono)" }
48
- mono-small: { size: 12, weight: 400, lineHeight: 1.00, tracking: 0.6, use: "Uppercase tiny tags (figmaMono)" }
49
- spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, pill: 50 }
50
- rounded: { sm: 6, md: 8, lg: 16, full: 9999 }
124
+ family: { ui: "figmaSans", mono: "figmaMono" }
125
+ hero: { size: 86, weight: 400, lineHeight: 1, tracking: -1.72, use: "Public product-marketing hero" }
126
+ section: { size: 64, weight: 400, lineHeight: 1.1, tracking: -0.96, use: "Public feature section heading" }
127
+ body: { size: 16, weight: 330, lineHeight: 1.42, tracking: -0.14, use: "Public body, navigation, and action copy" }
128
+ mono-label: { size: 18, weight: 400, lineHeight: 1.3, tracking: 0.54, use: "Uppercase technical signpost" }
129
+ spacing: { xs: 4, sm: 8, md: 12, lg: 24, xl: 32 }
130
+ rounded: { control: 8, hero: 16, segment: 50, full: 9999 }
51
131
  shadow:
52
- panel: "rgba(0,0,0,0.1) 0px 24px 70px 0px"
53
- components:
54
- button-primary: { type: button, bg: "#000000", fg: "#ffffff", radius: 8, padding: "12px 21px", font: "16px/330 figmaSans", use: "Default Primary CTA (dashed 2px #0d99ff focus)" }
55
- button-indigo: { type: button, bg: "#4D49FC", fg: "#ffffff", radius: 8, padding: "12px 20px", font: "18px/480 figmaSans", use: "Alt Primary on hero/product surfaces" }
56
- button-outline: { type: button, bg: "transparent", fg: "#000000", radius: 8, padding: "12px 21px", font: "18px/330 figmaSans", use: "Secondary actions (Contact sales)" }
57
- button-hero: { type: button, bg: "#000000", fg: "#ffffff", radius: 16, padding: "8px 24px 10px", font: "16px/400 figmaSans", use: "Oversized hero CTA" }
58
- tab-pill: { type: tab, bg: "#ffffff", fg: "#000000", radius: 50, padding: "8px 18px 10px", font: "18px/480 figmaSans", active: "bg rgba(0,0,0,0.08)", use: "Product-area segmented nav" }
59
- input: { type: input, bg: "#ffffff", radius: 16, padding: "16px", font: "figmaSans", use: "Figma Make / AI prompt panel (1px #e2e2e2 border)" }
60
- community-card: { type: card, bg: "#ffffff", radius: 0, padding: "12px", use: "Community artifact card, bleed-edge image" }
61
- tile-card: { type: card, bg: "#e4ff97", fg: "#000000", radius: 0, use: "Home template color tile (variants lime/cyan/green/lavender/sage)" }
132
+ panel: "0 24px 70px rgba(0,0,0,0.1)"
62
133
  components_harvested: true
134
+ components:
135
+ primary-action: { type: button, bg: "#000000", fg: "#ffffff", radius: "8px", padding: "12px 21px", height: "49px", font: "16px / 330", focus: "2px dashed #0d99ff", use: "Default public get-started action" }
136
+ indigo-action: { type: button, bg: "#4d49fc", fg: "#ffffff", radius: "8px", padding: "12px 20px", height: "49px", font: "18px / 480", states: "default captured; no hover token promoted", use: "Alternate prominent public hero action" }
137
+ outline-action: { type: button, bg: "transparent", fg: "#000000", radius: "8px", padding: "12px 21px", height: "49px", font: "16px / 400", states: "default captured; no hover token promoted", use: "Current sales-contact and secondary action" }
138
+ product-segment: { type: tab, bg: "rgba(0,0,0,0.08)", fg: "#000000", radius: "50px", padding: "8px 18px 10px", height: "43px", font: "18px / 480", states: "active and inactive variants captured", use: "Product-area segmented navigation" }
139
+ round-icon: { type: button, bg: "#000000", fg: "#ffffff", radius: "9999px", size: "40px", states: "default captured; light and dark surface variants remain local", use: "Circular carousel/navigation action on public design pages" }
63
140
  ---
64
141
 
65
142
  # Design System Inspiration of Figma
66
143
 
67
144
  ## 1. Visual Theme & Atmosphere
68
145
 
69
- Figma's interface is the design tool that designed itself a masterclass in typographic sophistication where a custom variable font (figmaSans) modulates between razor-thin (weight 320) and bold (weight 700) with stops at unusual intermediates (330, 340, 450, 480, 540) that most type systems never explore. This granular weight control gives every text element a precisely calibrated visual weight, creating hierarchy through micro-differences rather than the blunt instrument of "regular vs bold."
146
+ Figma is a collaborative design platform whose public product story now spans interface design, prototyping, FigJam, developer handoff, and AI-assisted creation. Its public pages deliberately let colorful creative output carry the spectacle while the surrounding interaction chrome stays highly legible: white canvas, black type and actions, occasional indigo emphasis, precise custom type, and a small geometry vocabulary that separates 8px controls from 50px segmented pills and circular tool-like actions. That restraint makes the page feel like a workspace framing other people's work rather than a brand campaign competing with it.
70
147
 
71
- The page presents a fascinating duality: the interface chrome is strictly black-and-white (literally only `#000000` and `#ffffff` detected as colors), while the hero section and product showcases explode with vibrant multi-color gradients electric greens, bright yellows, deep purples, hot pinks. This separation means the design system itself is colorless, treating the product's colorful output as the hero content. Figma's marketing page is essentially a white gallery wall displaying colorful art.
72
-
73
- What makes Figma distinctive beyond the variable font is its circle-and-pill geometry. Buttons use 50px radius (pill) or 50% (perfect circle for icon buttons), creating an organic, tool-palette-like feel. The dashed-outline focus indicator (`dashed 2px`) is a deliberate design choice that echoes selection handles in the Figma editor itself — the website's UI language references the product's UI language.
148
+ The custom `figmaSans` variable family provides unusually fine weight control—values such as 330 and 480 appear in live controls—and `figmaMono` marks technical signposts with positive tracking. This reference applies those measurements only to the inspected public Figma pages. It does not claim that authenticated editor chrome, desktop clients, FigJam canvases, or generated product content share every marketing value. The official brand page governs trademark and logo use separately from these UI measurements.
74
149
 
75
150
  **Key Characteristics:**
76
- - Custom variable font (figmaSans) with unusual weight stops: 320, 330, 340, 450, 480, 540, 700
77
- - Strictly black-and-white interface chrome color exists only in product content
78
- - figmaMono for uppercase technical labels with wide letter-spacing
79
- - Pill (50px) and circular (50%) button geometry
80
- - Dashed focus outlines echoing Figma's editor selection handles
81
- - Vibrant multi-color hero gradients (green, yellow, purple, pink)
82
- - OpenType `"kern"` feature enabled globally
83
- - Negative letter-spacing throughout — even body text at -0.14px to -0.26px
151
+ - White canvas and black interaction chrome with a verified indigo alternate action
152
+ - `figmaSans` for public UI and `figmaMono` for technical labels
153
+ - Fine variable-font weights rather than only regular/bold
154
+ - 8px standard actions, 16px large hero controls, 50px segmented tabs, circular icon actions
155
+ - Dashed blue focus treatment that visually echoes selection tooling
84
156
 
85
157
  ## 2. Color Palette & Roles
86
158
 
87
- ### Primary
88
- - **Pure Black** (`#000000`): All text, all solid buttons, all borders. The sole "color" of the interface.
89
- - **Pure White** (`#ffffff`): All backgrounds, white buttons, text on dark surfaces. The other half of the binary.
90
-
91
- *Note: Figma's marketing site uses ONLY these two colors for its interface layer. All vibrant colors appear exclusively in product screenshots, hero gradients, and embedded content.*
159
+ - **Primary chrome** (`#000000`): text and default filled public actions.
160
+ - **Canvas / inverse** (`#ffffff`): page canvas and text on black actions.
161
+ - **Border** (`#ebebeb`): resolved light separation on white.
162
+ - **Indigo action** (`#4d49fc`): captured alternate prominent action, not the universal brand primary.
163
+ - **Focus** (`#0d99ff`): dashed action focus outline.
92
164
 
93
- ### Surface & Background
94
- - **Pure White** (`#ffffff`): Primary page background and card surfaces.
95
- - **Glass Black** (`rgba(0, 0, 0, 0.08)`): Subtle dark overlay for secondary circular buttons and glass effects.
96
- - **Glass White** (`rgba(255, 255, 255, 0.16)`): Frosted glass overlay for buttons on dark/colored surfaces.
97
-
98
- ### Gradient System
99
- - **Hero Gradient**: A vibrant multi-stop gradient using electric green, bright yellow, deep purple, and hot pink. This gradient is the visual signature of the hero section — it represents the creative possibilities of the tool.
100
- - **Product Section Gradients**: Individual product areas (Design, Dev Mode, Prototyping) may use distinct color themes in their showcases.
101
-
102
- ### Resolved Surface Tints
103
- The rgba overlays above resolve to these effective hex values when composited on standard backgrounds:
104
- - **Light Border** (`#ebebeb`): `rgba(0, 0, 0, 0.08)` composited on white — subtle separator.
105
- - **Dark Glass** (`#292929`): `rgba(255, 255, 255, 0.16)` composited on black — used inside dark hero sections.
106
- - **Muted Text** (`#374151`): Used for secondary copy in product UI screenshots and footer links.
107
-
108
- ### Product Accent Colors
109
- These appear in product UI screenshots and hero gradients (NOT in marketing chrome):
110
- - **Figma Plugin Purple** (`#a259ff`): Common product accent in plugin/extension cards.
111
- - **Plot Pink** (`#f24e1e`): Brand-adjacent accent used in select marketing visuals.
165
+ Colors inside screenshots, templates, gradients, and user-created artifacts are content evidence, not reusable interface tokens. The earlier purple, pink, lime, cyan, green, lavender, and sage set is therefore omitted from the machine palette.
112
166
 
113
167
  ## 3. Typography Rules
114
168
 
115
- ### Font Family
116
- - **Primary**: `figmaSans`, with fallbacks: `figmaSans Fallback, SF Pro Display, system-ui, helvetica`
117
- - **Monospace / Labels**: `figmaMono`, with fallbacks: `figmaMono Fallback, SF Mono, menlo`
118
-
119
- ### Hierarchy
120
-
121
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
122
- |------|------|------|--------|-------------|----------------|-------|
123
- | Display / Hero | figmaSans | 86px (5.38rem) | 400 | 1.00 (tight) | -1.72px | Maximum impact, extreme tracking |
124
- | Section Heading | figmaSans | 64px (4rem) | 400 | 1.10 (tight) | -0.96px | Feature section titles |
125
- | Sub-heading | figmaSans | 26px (1.63rem) | 540 | 1.35 | -0.26px | Emphasized section text |
126
- | Sub-heading Light | figmaSans | 26px (1.63rem) | 340 | 1.35 | -0.26px | Light-weight section text |
127
- | Feature Title | figmaSans | 24px (1.5rem) | 700 | 1.45 | normal | Bold card headings |
128
- | Body Large | figmaSans | 20px (1.25rem) | 330–450 | 1.30–1.40 | -0.1px to -0.14px | Descriptions, intros |
129
- | Body / Button | figmaSans | 16px (1rem) | 330–400 | 1.40–1.45 | -0.14px to normal | Standard body, nav, buttons |
130
- | Body Light | figmaSans | 18px (1.13rem) | 320 | 1.45 | -0.26px to normal | Light-weight body text |
131
- | Mono Label | figmaMono | 18px (1.13rem) | 400 | 1.30 (tight) | 0.54px | Uppercase section labels |
132
- | Mono Small | figmaMono | 12px (0.75rem) | 400 | 1.00 (tight) | 0.6px | Uppercase tiny tags |
133
-
134
- ### Principles
135
- - **Variable font precision**: figmaSans uses weights that most systems never touch — 320, 330, 340, 450, 480, 540. This creates hierarchy through subtle weight differences rather than dramatic jumps. The difference between 330 and 340 is nearly imperceptible but structurally significant.
136
- - **Light as the base**: Most body text uses 320–340 (lighter than typical 400 "regular"), creating an ethereal, airy reading experience that matches the design-tool aesthetic.
137
- - **Kern everywhere**: Every text element enables OpenType `"kern"` feature — kerning is not optional, it's structural.
138
- - **Negative tracking by default**: Even body text uses -0.1px to -0.26px letter-spacing, creating universally tight text. Display text compresses further to -0.96px and -1.72px.
139
- - **Mono for structure**: figmaMono in uppercase with positive letter-spacing (0.54px–0.6px) creates technical signpost labels.
169
+ ### Font evidence boundary
170
+
171
+ | Evidence class | Resolution |
172
+ |---|---|
173
+ | Official product-use | Current first-party public Figma pages establish `figmaSans` and `figmaMono` roles. |
174
+ | Live surface-use | May live proof captured both families and their computed roles; the evidence remains within the 90-day product-surface TTL. |
175
+ | Official distributed asset | The webfont files are product assets and are not assumed redistributable. |
176
+ | Declared-only | SF Pro, system, and mono fallbacks do not become Figma identity fonts. |
177
+ | Unresolved | Authenticated editor, desktop-client, and platform-specific overrides remain unresolved. |
178
+
179
+ | Role | Family | Size | Weight | Line height | Tracking |
180
+ |---|---|---:|---:|---:|---:|
181
+ | Hero | figmaSans | 86px | 400 | 1.00 | -1.72px |
182
+ | Section | figmaSans | 64px | 400 | 1.10 | -0.96px |
183
+ | Body/action | figmaSans | 16px | 330–400 | 1.42 | -0.14px |
184
+ | Technical label | figmaMono | 18px | 400 | 1.30 | 0.54px |
140
185
 
141
186
  ## 4. Component Stylings
142
187
 
143
- Verified end-to-end against Tier 1 (`figma.com/ko-kr/`, `figma.com/ko-kr/design/` live DOM) and Tier 2 (`styles.refero.design/style/60793669` + `/8caa5004`). Refero claimed "Global Action Pill 50px"; live inspect confirmed Primary CTA is **8px**, not 50px — refero captured the **Segmented Tab Pill** as Primary. This §4 separates them. See `web/references/figma/.verification.md` for the full conflict matrix.
144
-
145
- ### Buttons
146
-
147
- **Primary Pill (Black)**
148
- - Background: `#000000`
149
- - Text: `#ffffff`
150
- - Border: 1px solid transparent
151
- - Radius: 8px
152
- - Padding: 12px 21px
153
- - Font: 16px / 330 / figmaSans
154
- - Focus: dashed 2px outline `#0d99ff`
155
- - Use: default Primary CTA across figma.com — "Get started", "지금 무료로 시작하기"
156
-
157
- **Primary Pill (Indigo)**
158
- - Background: `#4D49FC`
159
- - Text: `#ffffff`
160
- - Border: 1px solid transparent
161
- - Radius: 8px
162
- - Padding: 12px 20px
163
- - Font: 18px / 480 / figmaSans
164
- - Focus: dashed 2px outline
165
- - Use: alt Primary on hero/product surfaces — paired with Black Primary on home; "Panel Execution CTA" pattern in refero terminology
166
-
167
- **Outline Text Button**
168
- - Background: transparent
169
- - Text: `#000000`
170
- - Border: 1px solid transparent (no visible border in default; outline appears on focus)
171
- - Radius: 8px
172
- - Padding: 12px 21px
173
- - Font: 18px / 330 / figmaSans
174
- - Focus: dashed 2px outline
175
- - Use: secondary actions like "Contact sales", "영업팀에 문의"
176
-
177
- **Hero CTA (Larger)**
178
- - Background: `#000000`
179
- - Text: `#ffffff`
180
- - Border: none
181
- - Radius: 16px
182
- - Padding: 8px 24px 10px
183
- - Font: 16px / 400 / figmaSans
184
- - Use: oversized Primary CTA in hero modules — wider radius for hero region pacing
185
-
186
- **Segmented Tab Pill**
187
- - Background: active `rgba(0, 0, 0, 0.08)` | inactive `#ffffff`
188
- - Text: `#000000`
189
- - Border: none
190
- - Radius: 50px (pill)
191
- - Padding: 8px 18px 10px (asymmetric vertical)
192
- - Font: 18px / 480 / figmaSans
193
- - Focus: dashed 2px outline
194
- - Use: product-area navigation ("프롬프트", "디자인", "그리기", "개발", "게시", "홍보", "협업", "프레젠테이션") — the 50px pill that refero captured as "Global Action Pill"
195
-
196
- **Icon Round (Light)**
197
- - Background: `rgba(0, 0, 0, 0.08)` (frosted)
198
- - Text: `#000000`
199
- - Border: none
200
- - Radius: 50%
201
- - 36×36px square
202
- - Use: carousel prev/next on light surfaces
203
-
204
- **Icon Round (Dark)**
205
- - Background: `rgba(255, 255, 255, 0.16)` (frosted)
206
- - Text: `#ffffff`
207
- - Border: none
208
- - Radius: 50%
209
- - 36×36px square
210
- - Use: carousel prev/next on dark/colored surfaces
211
-
212
- **Icon Round (Solid Black)**
213
- - Background: `#000000`
214
- - Text: `#ffffff`
215
- - Border: none
216
- - Radius: 50%
217
- - 40×40px square
218
- - Use: media controls (pause/play) on the design surface
219
-
220
- ### Inputs
221
-
222
- **Prompt Input Panel**
223
- - Background: `#ffffff`
224
- - Border: 1px solid `#e2e2e2`
225
- - Radius: 16px
226
- - Padding: 16px
227
- - Shadow: `rgba(0, 0, 0, 0.1) 0px 24px 70px 0px`
228
- - Use: Figma Make / AI prompt input (the "floatingPanels" in refero terminology)
229
-
230
- ### Cards
231
-
232
- **Community Artifact Card**
233
- - Background: `#ffffff`
234
- - Border: none
235
- - Radius: 0px
236
- - Padding: 12px vertical metadata, no horizontal bound
237
- - Shadow: none (image bleeds full width)
238
- - Use: Community-page artifacts; the bleed-edge image is the design
239
-
240
- **Color Tile Card** (templates section)
241
- - Background: variants — `#e4ff97` (lime), `#00b6ff` (cyan), `#24cb71` (green), `#c4baff` (lavender), `#95b9ac` (sage)
242
- - Text: `#000000`
243
- - Border: none
244
- - Radius: 0px (full bleed)
245
- - Padding: 0px (image-as-content)
246
- - Use: home page template surfaces — color is the differentiator, geometry stays squared
247
-
248
- ### Navigation
249
-
250
- **Top Nav Bar**
251
- - Background: `#ffffff`
252
- - Height: ~64px
253
- - Logo: Figma wordmark, black SVG
254
- - Links: 16px / figmaSans / `#000000` text / underline 1px decoration on hover
255
- - CTAs (right): Outline Text "Contact sales" + Primary Pill "Get started"
256
- - Use: persistent top nav across figma.com
257
-
258
- **Pill Tab Bar** — see Segmented Tab Pill button variant above (used as section nav for product-area filter)
259
-
260
- ### Distinctive Patterns
261
-
262
- **Dashed Focus Indicators**
263
- - All interactive elements use `dashed 2px` outline on focus
264
- - References the selection-handle outlines inside the Figma editor itself — a meta-design choice connecting marketing site and product
265
-
266
- **Hero Gradient Section**
267
- - Full-width vibrant multi-color gradient background
268
- - White text overlay with 86px display heading (figmaSans)
269
- - Product screenshots floating within the gradient
188
+ ### Current verified components
270
189
 
271
- ---
190
+ #### Primary action
191
+ - Black / white, 8px radius, `12px 21px`, 49px height
192
+ - figmaSans 16px/330; `2px dashed #0d99ff` focus
272
193
 
273
- **Verified:** 2026-05-08 (omd:migrate Apple-tier)
274
- **Tier 1 sources:** figma.com/ko-kr/, figma.com/ko-kr/design/ (live DOM via playwright `getComputedStyle`, 2 surfaces)
275
- **Tier 2 sources:** styles.refero.design/style/60793669-28e2-41bd-bf9d-972151630f7c (Figma primary), /style/8caa5004-a8cc-4c7e-a2bb-00ff60618729 (Figma Config); getdesign.md/figma — directory snippet only
276
- **Conflicts unresolved:** none. **Conflict resolved:** refero claimed Primary 50px pill — live inspect proved that's the **Segmented Tab Pill**, not the Primary CTA. Primary is 8px. Both variants now documented separately.
277
- **Earlier mistakes reverted:** "Black Solid (Pill)" was conflating Primary (8px) + Tab (50px) + Icon Round (50%) into a single entry; Cards/Navigation/Distinctive were prose, not canonical schema (caused `/reference/figma` to render only Buttons spec cards). All separated and rewritten.
278
- **`.verification.md`:** `web/references/figma/.verification.md` (raw observations + per-component conflict matrix).
194
+ #### Indigo action
195
+ - `#4d49fc` / white, 8px radius, `12px 20px`, 49px
196
+ - figmaSans 18px/480
279
197
 
280
- ## 5. Layout Principles
198
+ #### Outline action
199
+ - Transparent / black, 8px radius, `12px 21px`, 49px
200
+ - Used for current sales-contact and secondary paths
281
201
 
282
- ### Spacing System
283
- - Base unit: 8px
284
- - Scale: 1px, 2px, 4px, 4.5px, 8px, 10px, 12px, 16px, 18px, 24px, 32px, 40px, 46px, 48px, 50px
202
+ #### Product segment
203
+ - 50px radius, `8px 18px 10px`, 43px
204
+ - Active `rgba(0,0,0,0.08)` and inactive white variants captured
285
205
 
286
- ### Grid & Container
287
- - Max container width: up to 1920px
288
- - Hero: full-width gradient with centered content
289
- - Product sections: alternating showcases
290
- - Footer: dark full-width section
291
- - Responsive from 559px to 1920px
206
+ #### Round icon action
207
+ - 40×40 black circle with white icon on the design surface
208
+ - Light/dark translucent variants remain surface-local rather than one universal token
292
209
 
293
- ### Whitespace Philosophy
294
- - **Gallery-like pacing**: Generous spacing lets each product section breathe as its own exhibit.
295
- - **Color sections as visual breathing**: The gradient hero and product showcases provide chromatic relief between the monochrome interface sections.
210
+ Inputs, community cards, editor panels, toast states, and template colors are absent from canonical components because current evidence does not establish them at the same boundary.
296
211
 
297
- ### Border Radius Scale
298
- - Minimal (2px): Small link elements
299
- - Subtle (6px): Small containers, dividers
300
- - Comfortable (8px): Cards, images, dialogs
301
- - Pill (50px): Tab buttons, CTAs
302
- - Circle (50%): Icon buttons, circular elements
212
+ ## 5. Layout Principles
303
213
 
304
- ## 6. Depth & Elevation
214
+ - Use wide editorial sections as neutral frames for colorful product output.
215
+ - Keep navigation and conversion geometry compact; reserve large pills for segmented product switching.
216
+ - Let type scale and whitespace establish hierarchy before adding containers.
217
+ - Never copy content colors from screenshots into the surrounding UI palette.
305
218
 
306
- | Level | Treatment | Use |
307
- |-------|-----------|-----|
308
- | Flat (Level 0) | No shadow | Page background, most text |
309
- | Surface (Level 1) | White card on gradient/dark section | Cards, product showcases |
310
- | Elevated (Level 2) | Subtle shadow | Floating cards, hover states |
219
+ ## 6. Depth & Elevation
311
220
 
312
- **Shadow Philosophy**: Figma uses shadows sparingly. The primary depth mechanisms are **background contrast** (white content on colorful/dark sections) and the inherent dimensionality of the product screenshots themselves.
221
+ Most public chrome is flat. A measured panel shadow (`0 24px 70px rgba(0,0,0,0.1)`) may separate large showcased content; it is not a default card shadow.
313
222
 
314
223
  ## 7. Do's and Don'ts
315
224
 
316
225
  ### Do
317
- - Use figmaSans with precise variable weights (320–540) — the granular weight control IS the design
318
- - Keep the interface strictly black-and-white color comes from product content only
319
- - Use pill (50px) and circular (50%) geometry for all interactive elements
320
- - Apply dashed 2px focus outlines — the signature accessibility pattern
321
- - Enable `"kern"` feature on all text
322
- - Use figmaMono in uppercase with positive letter-spacing for labels
323
- - Apply negative letter-spacing throughout (-0.1px to -1.72px)
226
+ - Use black/white public chrome and preserve the observed control geometry.
227
+ - Keep figmaMono for structural signposts rather than paragraphs.
228
+ - Treat official brand rules and public UI measurements as separate evidence domains.
324
229
 
325
230
  ### Don't
326
- - Don't add interface colors the monochrome palette is absolute
327
- - Don't use standard font weights (400, 500, 600, 700) — use the variable font's unique stops (320, 330, 340, 450, 480, 540)
328
- - Don't use sharp corners on buttons pill and circular geometry only
329
- - Don't use solid focus outlines — dashed is the signature
330
- - Don't increase body font weight above 450 — the light-weight aesthetic is core
331
- - Don't use positive letter-spacing on body text — it's always negative
231
+ - Do not make purple or a screenshot color the universal UI primary.
232
+ - Do not call every rounded control a 50px pill.
233
+ - Do not claim editor inputs, panels, or states from marketing-page resemblance.
332
234
 
333
235
  ## 8. Responsive Behavior
334
236
 
335
- ### Breakpoints
336
- | Name | Width | Key Changes |
337
- |------|-------|-------------|
338
- | Small Mobile | <560px | Compact layout, stacked |
339
- | Tablet | 560–768px | Minor adjustments |
340
- | Small Desktop | 768–960px | 2-column layouts |
341
- | Desktop | 960–1280px | Standard layout |
342
- | Large Desktop | 1280–1440px | Expanded |
343
- | Ultra-wide | 1440–1920px | Maximum width |
344
-
345
- ### Collapsing Strategy
346
- - Hero text: 86px → 64px → 48px
347
- - Product tabs: horizontal scroll on mobile
348
- - Feature sections: stacked single column
349
- - Footer: multi-column → stacked
237
+ Public page layouts reduce section scale and rearrange product media while retaining the black/white interaction system. Exact authenticated editor breakpoints and desktop-client behavior remain unresolved.
350
238
 
351
239
  ## 9. Agent Prompt Guide
352
240
 
353
- ### Quick Color Reference
354
- - Everything: "Pure Black (#000000)" and "Pure White (#ffffff)"
355
- - Glass Dark: "rgba(0, 0, 0, 0.08)"
356
- - Glass Light: "rgba(255, 255, 255, 0.16)"
357
-
358
- ### Example Component Prompts
359
- - "Create a hero on a vibrant multi-color gradient (green, yellow, purple, pink). Headline at 86px figmaSans weight 400, line-height 1.0, letter-spacing -1.72px. White text. White pill CTA button (50px radius, 8px 18px padding)."
360
- - "Design a product tab bar with pill-shaped buttons (50px radius). Active: Black bg, white text. Inactive: transparent, black text. figmaSans at 20px weight 480."
361
- - "Build a section label: figmaMono 18px, uppercase, letter-spacing 0.54px, black text. Kern enabled."
362
- - "Create body text at 20px figmaSans weight 330, line-height 1.40, letter-spacing -0.14px. Pure Black on white."
363
-
364
- ### Iteration Guide
365
- 1. Use variable font weight stops precisely: 320, 330, 340, 450, 480, 540, 700
366
- 2. Interface is always black + white — never add colors to chrome
367
- 3. Dashed focus outlines, not solid
368
- 4. Letter-spacing is always negative on body, always positive on mono labels
369
- 5. Pill (50px) for buttons/tabs, circle (50%) for icon buttons
370
-
371
- ---
241
+ > Build a precise collaborative-design marketing surface using a white canvas, black type and 8px actions, figmaSans with subtle variable weights, figmaMono technical labels, restrained indigo emphasis, and a 50px segmented product switcher. Keep colorful work inside content frames; omit unverified editor chrome.
372
242
 
373
243
  ## 10. Voice & Tone
374
244
 
375
- Figma's voice is **colloquial-craft** the register of someone who takes design seriously and refuses to sound like corporate-SaaS while doing it. Marketing headlines are short and aspirational (*"Make anything possible, all in Figma"*), but blog voice allows real colloquialism (*"Chat, are we cooked?"*) that would be unthinkable at Apple or Stripe. The tonal anchor is that Figma speaks *as a designer to designers* peer-to-peer, not vendor-to-customer. Internal jargon (frames, components, auto-layout, variants) is used without defining, because the audience already knows it.
376
-
377
- | Context | Tone |
378
- |---|---|
379
- | Hero headlines | Short, aspirational, peer-voice. "Make anything possible, all in Figma." |
380
- | Product page copy | Feature + payoff. "Ship products, any way you want." Not spec-listy. |
381
- | CTAs | Minimal, present-tense. "Get started", "Watch Config", "Try Figma free". |
382
- | Blog editorial | Colloquial + substantive. Titles like *"The TL;DR on MCP"*, *"Chat, are we cooked?"*, *"Cooking with constraints"*. |
383
- | Product UI strings | Designer vocabulary assumed — "frame", "component", "auto-layout" without gloss. |
384
- | Error messages | Specific and friendly. Problem + action. |
385
- | Community / Config copy | Celebrates user work without sycophancy. |
386
- | Dev Mode / MCP / developer-facing | Slightly more technical; code examples prioritized. |
387
- | Enterprise sales copy | Calmer register but same voice foundation — never shifts into pure B2B-ese. |
388
-
389
- **Forbidden phrases.** "Revolutionary", "disrupt", "unleash", "world-class" — the voice is peer, not promotional. "Easy peasy" or "effortless" as self-descriptors — Figma is not easy; it is powerful, and the voice respects that. Stock-SaaS AI hype phrases ("AI-powered transformation"). Generic marketing emoji (🚀 ✨ 💡). Exclamation marks on routine CTAs. Condescending vocabulary for beginners — Figma treats every user as a designer, including ones who are not yet.
245
+ Figma's public voice is collaborative, action-oriented, and maker-literate. Explain what teams can create together in plain product language. Product guidance should distinguish creating, prototyping, presenting, reviewing, and handing work to development so that each action remains legible. Brand guidance can be protective and precise without sounding legalistic in ordinary UI. Error and permission copy should identify the blocked action and available recovery without blaming collaborators. Prefer concrete verbs such as design, prototype, build, share, and iterate; avoid claiming creative outcomes or speed improvements without evidence.
390
246
 
391
247
  ## 11. Brand Narrative
392
248
 
393
- Figma was founded **August 16, 2012** by **Dylan Field and Evan Wallace** (verified via [Wikipedia: Dylan Field](https://en.wikipedia.org/wiki/Dylan_Field), [Index Ventures retrospective](https://www.indexventures.com/perspectives/figma-goes-public-thirteen-unforgettable-years-with-dylan-field/)). The two met at **Brown University** Wallace was a year ahead and TA'd Field's CS course; they bonded over WebGL ([Sequoia Capital spotlight](https://sequoiacap.com/article/dylan-field-figma-spotlight/)). Field received a **$100,000 Thiel Fellowship** to leave school and work full-time on the company ([Fortune, 2025](https://fortune.com/2025/08/01/figma-ipo-cofounder-dylan-field-former-linkedin-intern-peter-thiel-fellowship/)). The founding bet was technical and contrarian: at a time when every serious design tool was a native app (Sketch for Mac, Adobe everything), Field and Wallace decided to build a design tool that ran **in the browser, with real-time multiplayer collaboration**. That required solving WebGL rendering, operational-transform networking for multiplayer, and typesetting all simultaneously. After roughly **three years in stealth**, Figma emerged from closed beta in **2015** and launched publicly in **September 2016**.
394
-
395
- The company reached a **$10B valuation in 2021**, navigated a $20B Adobe acquisition that fell through to regulatory pressure (2022-2023), and held its **IPO on NYSE on August 2, 2025** ([Fortune](https://fortune.com/2025/08/01/figma-ipo-cofounder-dylan-field-former-linkedin-intern-peter-thiel-fellowship/)) — closing post-IPO around $68B market cap.
396
-
397
- Figma's brand has always centered on **design as collaboration** rather than design as solo authorship. The product's original framing was captured in the phrase "design is a team sport"; the current marketing positioning — *"Figma lets you turn big ideas into real products. Brainstorm, design, and build with your team."* — preserves the same thesis through different words. **Config**, Figma's annual conference, is explicitly framed around *"craft, quality, and intention in an AI-powered world"* and functions as a community gathering more than a product-launch event.
398
-
399
- What Figma refuses: the Sketch-era framing of design as solo craft, the Adobe-era pricing of tools behind per-seat walls, and the enterprise-SaaS aesthetic of cold dashboards and generic stock photography. What it embraces: **browser-native rendering** as a technical identity, black-and-white chrome that puts colorful user work in the foreground (the product's job is to get out of the way of what designers make in it), colloquial blog voice, Config as a recurring community ritual, and — in the current AI-native era — new sub-products (Dev Mode, FigJam, Slides, Draw, Make, Buzz, Sites, MCP) that all inherit the browser-multiplayer DNA.
249
+ Figma's visual system positions the product as infrastructure for other people's ideas. Neutral public chrome, technical typography, and tool-like focus/selection cues provide a stable frame, while vivid examples demonstrate the breadth of what can be made. Official brand guidance protects the identity, but the product remains the stage rather than the decoration. This balance reflects Figma's evolution from a collaborative interface-design tool into a broader environment for prototyping, presentation, developer handoff, and adjacent making workflows. The public pages use black-and-white controls to establish product authority, then allow files, templates, illustrations, and user work to introduce color. figmaSans supplies expressive editorial scale; figmaMono connects the story to precise interface work. The result is recognizably Figma without turning a flexible creation platform into a single visual style.
400
250
 
401
251
  ## 12. Principles
402
252
 
403
- 1. **Design is collaboration, not authorship.** Multi-cursor multiplayer was built into the first public release. Every surface assumes multiple people are present or will be. Features that quietly assume a solo designer (single-user comment threads, lock-by-default edits) are anti-pattern.
404
- 2. **The browser is the runtime.** Figma's founding technical bet WebGL rendering, operational transforms for collab — is not legacy; it is identity. Design decisions that would require a native-only capability are rejected or reworked for the browser.
405
- 3. **Colorless chrome, colorful content.** The interface is strictly black-and-white precisely so the user's colorful work can be the hero. Any chromatic decoration on the product UI itself would compete with the user's design output.
406
- 4. **Peer voice, not vendor voice.** Figma speaks as a designer to designers. Blog titles use colloquialisms (*"Chat, are we cooked?"*) because peers actually talk that way. Corporate-SaaS copy would break the intimacy of the relationship.
407
- 5. **Designer vocabulary is used without gloss.** "Frame", "component", "auto-layout", "variant" — Figma does not explain these in product copy. Assuming the audience's literacy is a form of respect.
408
- 6. **Config is a ritual, not a launch vehicle.** The annual conference's stated frame — *"craft, quality, and intention in an AI-powered world"* — describes a community gathering around ideas, not a sales funnel around products.
409
- 7. **The product's job is to get out of the way.** Black-and-white chrome, minimal ornament, dashed selection-handle outlines referenced by the marketing site — these are all "the tool should disappear into the work" made visible.
410
- 8. **Sub-products inherit DNA.** FigJam, Dev Mode, Slides, Draw, Make, Buzz, Sites, MCP — each new sub-product is browser-native, multiplayer-by-default, and visually continuous with the flagship. Expanding the product family must not fragment the feel.
411
- 9. **Craft, quality, and intention.** *(Config 2026 frame, verbatim.)* These three words are the current era's anchor. In an AI-native moment, Figma's defensive posture is to champion intentional craft rather than automated generation.
253
+ 1. **Make collaboration visible.** Product stories should show shared work and handoff, not solitary decoration.
254
+ 2. **Frame creative output neutrally.** Black and white chrome lets user work carry color.
255
+ 3. **Precision creates hierarchy.** Fine type weights, tracking, and component geometry matter.
256
+ 4. **Evidence stays surface-local.** Marketing, editor, desktop, and brand assets do not silently overwrite one another; reuse only the role a source actually verifies.
412
257
 
413
258
  ## 13. Personas
414
259
 
415
- *Personas below are fictional archetypes informed by publicly observable Figma user segments (product designers, design-system authors, developers using Dev Mode, early-career designers, cross-functional collaborators), not individual people.*
416
-
417
- **Maya Johnson, 30, Brooklyn.** Senior product designer at a Series-B SaaS. Lives in Figma — prototyping, design review comments, handoff specs, design-system maintenance. Has opinions about auto-layout edge cases. Reads Figma's blog for the design-culture posts, less for product announcements. Would never use a design tool that required opening a desktop app instead of a browser tab.
418
-
419
- **Daniel Chen, 26, Singapore.** Design-system lead at a fintech scale-up. Maintains ~400 components across three themed variants. Relies on Figma variants + modes + libraries as the spine of his company's UI consistency. Notices when component props change behavior across releases. Watches every Config talk related to design-systems practice.
420
-
421
- **Saoirse Murphy, 22, Dublin.** Recent graduate in visual communication. Uses Figma Community as her primary learning environment — forks templates, remixes, studies how others structure files. Thinks of Figma less as a tool and more as a public workspace. Discovered her first job via a portfolio shared through Figma Community links.
260
+ Public product material establishes task contexts only:
261
+ - A product designer creating and prototyping an interface with collaborators.
262
+ - A developer inspecting design intent and preparing implementation.
263
+ - A cross-functional teammate reviewing, commenting, or presenting shared work.
422
264
 
423
- **Tomás Rivera, 35, Mexico City.** Frontend developer who uses Dev Mode daily to inspect design tokens, export SVGs, and increasingly Figma's MCP server to pipe design decisions into Claude Code and Cursor. Would previously have called himself "not a designer", but the browser-native inspection experience made him fluent in design vocabulary over three years.
265
+ Project-specific names, ages, team sizes, subscription tiers, and productivity goals are intentionally unspecified and must come from the product brief.
424
266
 
425
267
  ## 14. States
426
268
 
427
- | State | Treatment |
428
- |---|---|
429
- | **Empty (new file)** | Black-and-white chrome, vast white canvas. Single black-text hint at top-left: "Start designing." No template picker unless explicitly opened. The empty canvas is the welcome. |
430
- | **Empty (community search, no results)** | Black sans text at 14px: "No results for `<query>`." Community link in black — no accent color, because the chrome is colorless by design. |
431
- | **Empty (dashboard, no files yet)** | Simple typographic hero: "Welcome to Figma." One CTA "New design file". Zero illustration. |
432
- | **Loading (canvas first paint)** | Skeleton frames rendered as white blocks with dashed outlines — echoing Figma's selection-handle visual language. 1.2s shimmer in a lighter white tone. |
433
- | **Loading (community asset fetch)** | Community tile shows designer's handle and file name placeholders while thumbnail fetches. Fades in at `motion-fast`. |
434
- | **Error (sync failed)** | Small indicator at the top — colorless by default, a subtle warm-gray dot that becomes a specific icon on failure. Never blocks the canvas; Figma does not prevent design work because a sync hiccuped. |
435
- | **Error (plugin crash)** | Modal with specific plugin name + error + "Restart plugin" CTA. Plugin errors are isolated; rest of Figma stays responsive. |
436
- | **Error (form validation, account settings)** | Field-level. Thin black outline switches to a black dashed outline (borrowing selection-handle visual). 13px caption below in near-black — no alert red in the chrome. |
437
- | **Success (invite accepted)** | Presence chip animates in at the top of the file with the new user's cursor color. No toast. Multiplayer presence IS the confirmation. |
438
- | **Success (version saved)** | Tiny timestamp update in the file title bar. No celebration; version save is assumed, not announced. |
439
- | **Skeleton** | White blocks at exact final dimensions. Dashed outline preserved on blocks that will have selection-handle behavior when real. Never a colored skeleton — the chrome is colorless. |
440
- | **Disabled** | Opacity on text and border together. Dashed outline remains visible; disabled components keep their selection-echo visual language. |
441
- | **Multiplayer presence (others in file)** | Small colored cursor with designer's initials. Cursor color is the **only chromatic element in the chrome** — deliberately, because *other humans* are the only color the chrome admits. |
269
+ Action focus and product-segment active/inactive variants are verified. Hover, loading, empty, error, success, editor selection, and AI-generation states remain absent from the canonical machine set.
442
270
 
443
271
  ## 15. Motion & Easing
444
272
 
445
- **Durations**:
446
-
447
- | Token | Value | Use |
448
- |---|---|---|
449
- | `motion-instant` | 0ms | Selection commit, property value commit |
450
- | `motion-fast` | 120ms | Hover, focus, property panel reveal |
451
- | `motion-standard` | 220ms | Sheet, modal, panel expand |
452
- | `motion-slow` | 380ms | Page transitions on marketing surfaces |
453
- | `motion-cursor` | raw frame rate (no easing) | Multiplayer cursor updates — accuracy beats smoothness |
454
-
455
- **Easings**:
456
-
457
- | Token | Curve | Use |
458
- |---|---|---|
459
- | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — sheets, panels, popovers |
460
- | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
461
- | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
462
-
463
- **Explicitly forbidden.** No spring, no bounce, no overshoot in chrome. Canvas interactions (zoom, pan, object drag) use native-feeling physics, but chrome UI — panels, modals, menus — is always cubic-bezier. A bouncing property panel would feel like a toy, not a tool.
464
-
465
- **Signature motions.**
466
-
467
- 1. **Multiplayer cursor presence.** Other designers' cursors update at raw frame rate with no easing — accurate position matters more than smooth motion. The cursor trail is Figma's single most recognizable motion, and it works *because* it is honest about where the other person actually is.
468
- 2. **Property panel reveal.** When a user selects an object on canvas, the Properties panel expands at `motion-fast` with `ease-standard`. Speed matters — this is invoked thousands of times per design session.
469
- 3. **Canvas pan / zoom.** Native-feeling physics with momentum and natural deceleration. This is the one place Figma permits physics motion in the chrome, because the canvas IS the work.
470
- 4. **Comment-mode transition.** When the user toggles comment mode, the cursor becomes a comment-shaped icon and the chrome shifts subtly over `motion-standard`. One visual cue, not a heavy mode change.
471
- 5. **Reduce motion.** Under `prefers-reduced-motion: reduce`, chrome `motion-*` tokens collapse to `motion-instant`. Canvas pan / zoom preserve physics feel (the canvas is content, and removing its physics would make the product unusable). Property panels open instantly. Multiplayer cursors still update at frame rate.
472
-
473
- <!--
474
- OmD v0.1 Sources — Philosophy Layer (sections 10–15)
475
-
476
- Direct verification via WebFetch (2026-04-19):
477
- - https://www.figma.com/ — confirms current primary positioning verbatim:
478
- "Make anything possible, all in Figma"
479
- "Figma lets you turn big ideas into real products. Brainstorm, design,
480
- and build with your team."
481
- Additional marketing headlines captured:
482
- "Bring everyone together with systems that scale"
483
- "Ship products, any way you want"
484
- "Prompt, code, and design from first idea to final product"
485
- "Start with a template. Make just about anything."
486
- Current product family confirmed: Figma Design, Dev Mode, FigJam, Figma
487
- Slides, Figma Draw, Figma Buzz (Beta), Figma Sites (Beta), Figma Make,
488
- MCP (Model Context Protocol).
489
- - https://www.figma.com/blog/ — confirms the colloquial blog voice used as
490
- a direct source in §10 (colloquial + substantive register). Titles
491
- captured verbatim:
492
- "The TL;DR on MCP: Why context matters and how to put it to work"
493
- "Chat, are we cooked? How language has become the new metric of virality"
494
- "Hard problems are still hard: A story about the tools that change
495
- and the work that doesn't"
496
- "Cooking with constraints: A designer's framework for better AI prompts"
497
- Config 2026 frame confirmed verbatim:
498
- "craft, quality, and intention in an AI-powered world"
499
- MCP integration framing confirmed:
500
- "Figma's MCP server brings your design decisions into the tools where
501
- code gets written—so what gets built actually matches what was designed."
502
- - https://www.figma.com/about — visited but returned primarily navigational
503
- content without substantive founding / mission text; founding details
504
- below are drawn from widely documented public facts.
505
-
506
- Base DESIGN.md (sections 1–9) is the source for all token-level claims
507
- (figmaSans variable font with unusual weight stops, strict black-and-white
508
- chrome, pill 50px / circle 50% radius geometry, dashed focus outlines
509
- echoing canvas selection handles, figmaMono for uppercase technical labels).
510
-
511
- Not independently verified via WebFetch — widely documented public facts used:
512
- - Figma was founded in 2012 by Dylan Field and Evan Wallace.
513
- - Figma launched publicly in 2016 after roughly four years of development.
514
- - Evan Wallace departed Figma in 2021; Dylan Field remains CEO.
515
- - Config is Figma's annual conference, held yearly in San Francisco.
516
- - Figma's original technical differentiator was browser-native WebGL
517
- rendering with real-time multiplayer collaboration via operational
518
- transforms.
519
- - "Design is a team sport" was an early Figma framing that captured the
520
- collaborative thesis; current marketing uses "Make anything possible"
521
- as the primary headline while preserving the same collaborative frame.
522
-
523
- Personas (§13) are fictional archetypes informed by publicly observable
524
- Figma user segments (product designers, design-system leads, early-career
525
- designers using Figma Community, developers using Dev Mode / MCP). Names
526
- are illustrative; they do not refer to real people.
527
-
528
- Interpretive claims (e.g., "colorless chrome, colorful content" as a
529
- principle; "peer voice, not vendor voice"; "multiplayer cursor presence
530
- IS the most recognizable motion") are editorial readings connecting
531
- Figma's verified marketing voice and product decisions to the design
532
- system, not directly sourced Figma statements.
533
- -->
273
+ No reusable current duration or easing token is promoted. Public transitions do not establish editor motion behavior.
274
+
275
+ ---
534
276
 
277
+ **Verified:** 2026-07-12 (omd:migrate)
278
+ **Tier 1 sources:** https://www.figma.com/ko-kr/ ; https://www.figma.com/ko-kr/design/ ; https://www.figma.com/using-the-figma-brand
279
+ **Tier 2 attempts:** getdesign.md/figma supplied only a generic directory snippet; Refero component samples were used only for conflict discovery and never overrode Tier 1
280
+ **Conflicts unresolved:** none