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
@@ -8,424 +8,281 @@ primary_color: "#0055ff"
8
8
  logo:
9
9
  type: simpleicons
10
10
  slug: framer
11
- verified: "2026-05-15"
11
+ verified: "2026-07-13"
12
12
  omd: "0.1"
13
13
  ds:
14
14
  name: Framer Brand Guidelines
15
- url: "https://www.framer.com/brand"
15
+ url: "https://www.framer.com/brand?page=1"
16
16
  type: brand
17
- description: Framer's brand and trademark guidelines with logo rules and color palette.
17
+ description: Official mark, color, and trademark-use guidance.
18
18
  og_image: "https://framerusercontent.com/assets/MFmOCFlEnwFAS9IP2HbUEH68axo.jpg"
19
+ verification_v2:
20
+ schema: 2
21
+ checked: "2026-07-13"
22
+ surfaces:
23
+ - { id: home, kind: marketing, url: "https://www.framer.com/", inspected: "2026-07-13" }
24
+ - { id: surface-2, kind: community, url: "https://www.framer.com/community/marketplace/components/", inspected: "2026-07-13" }
25
+ - { id: surface-3, kind: marketing, url: "https://www.framer.com/pricing", inspected: "2026-07-13" }
26
+ sources:
27
+ - { id: home-live, kind: product-surface, url: "https://www.framer.com/", captured: "2026-07-13" }
28
+ - { id: marketplace-live, kind: product-surface, url: "https://www.framer.com/community/marketplace/components/", captured: "2026-07-13" }
29
+ - { id: pricing-live, kind: product-surface, url: "https://www.framer.com/pricing", captured: "2026-07-13" }
30
+ - { id: brand-guidelines, kind: brand-asset, url: "https://www.framer.com/brand?page=1", captured: "2026-07-13" }
31
+ - { id: inter-license, kind: license, url: "https://github.com/rsms/inter/blob/master/LICENSE.txt", captured: "2026-07-13" }
32
+ conflicts: []
33
+ claims:
34
+ "tokens.colors.canvas": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
35
+ "tokens.colors.foreground": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
36
+ "tokens.colors.muted": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
37
+ "tokens.colors.marketplace-surface": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
38
+ "tokens.colors.accent": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
39
+ "tokens.typography.family.ui": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
40
+ "tokens.typography.family.display": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
41
+ "tokens.typography.public-body.size": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
42
+ "tokens.typography.public-body.weight": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
43
+ "tokens.typography.public-body.lineHeight": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
44
+ "tokens.typography.public-body.tracking": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
45
+ "tokens.typography.public-body.use": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
46
+ "tokens.spacing.compact-x": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
47
+ "tokens.spacing.menu-inset": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
48
+ "tokens.rounded.compact": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
49
+ "tokens.rounded.menu": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
50
+ "tokens.rounded.category-card": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
51
+ "tokens.shadow.marketplace-menu": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
52
+ "tokens.components.marketplace-filter.type": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
53
+ "tokens.components.marketplace-filter.bg": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
54
+ "tokens.components.marketplace-filter.fg": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
55
+ "tokens.components.marketplace-filter.radius": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
56
+ "tokens.components.marketplace-filter.padding": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
57
+ "tokens.components.marketplace-filter.font": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
58
+ "tokens.components.marketplace-filter.states": { surface_id: surface-2, source_id: marketplace-live, method: interaction-capture, captured: "2026-07-13" }
59
+ "tokens.components.marketplace-filter.use": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
60
+ "tokens.components.marketplace-category.type": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
61
+ "tokens.components.marketplace-category.bg": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
62
+ "tokens.components.marketplace-category.fg": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
63
+ "tokens.components.marketplace-category.radius": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
64
+ "tokens.components.marketplace-category.use": { surface_id: surface-2, source_id: marketplace-live, method: computed-style, captured: "2026-07-13" }
19
65
  tokens:
20
- source: prose-derived
21
- extracted: "2026-06-09"
66
+ source: reconciled
67
+ extracted: "2026-07-13"
68
+ components_harvested: true
22
69
  colors:
23
70
  canvas: "#000000"
24
- on-dark: "#ffffff"
71
+ foreground: "#ffffff"
72
+ muted: "#999999"
73
+ marketplace-surface: "#242424"
25
74
  accent: "#0099ff"
26
- muted: "#a6a6a6"
27
- surface-elevated: "#090909"
28
- link-default: "#0000ee"
29
75
  typography:
30
- family: { sans: "GT Walsheim Framer Medium", mono: "Azeret Mono" }
31
- display-hero: { size: 110, weight: 500, lineHeight: 0.85, tracking: -5.5, use: "Hero display, extreme compressed tracking" }
32
- section-display: { size: 85, weight: 500, lineHeight: 0.95, tracking: -4.25, use: "Section display headlines" }
33
- section-heading: { size: 62, weight: 500, lineHeight: 1.00, tracking: -3.1, use: "Section headings" }
34
- feature-heading: { size: 32, weight: 500, lineHeight: 1.13, tracking: -1, use: "Feature headings" }
35
- card-title: { size: 24, weight: 400, lineHeight: 1.30, tracking: -0.01, use: "Card titles, Inter" }
36
- feature-title: { size: 22, weight: 700, lineHeight: 1.20, tracking: -0.8, use: "Feature titles, Inter" }
37
- body-lg: { size: 18, weight: 400, lineHeight: 1.30, tracking: -0.01, use: "Large body, Inter" }
38
- body: { size: 15, weight: 400, lineHeight: 1.30, tracking: -0.01, use: "Standard body / nav, Inter" }
39
- caption: { size: 14, weight: 400, lineHeight: 1.40, use: "Captions, Inter" }
40
- label: { size: 13, weight: 500, lineHeight: 1.60, use: "Labels, Inter" }
41
- code: { size: 10.4, weight: 400, lineHeight: 1.60, use: "Micro code, Azeret Mono" }
42
- spacing: { xs: 4, sm: 8, md: 12, base: 15, lg: 20, xl: 30, section: 80 }
43
- rounded: { sm: 5, md: 8, lg: 15, full: 9999 }
76
+ family: { ui: "Inter", display: "GT Walsheim Medium" }
77
+ public-body: { size: 14, weight: 400, lineHeight: 14, tracking: -0.01, use: "Observed public-home body text" }
78
+ spacing: { compact-x: 10, menu-inset: 5 }
79
+ rounded: { compact: 8, menu: 13, category-card: 20 }
44
80
  shadow:
45
- ring-blue: "rgba(0,153,255,0.15) 0px 0px 0px 1px"
46
- ring-dark: "rgb(9,9,9) 0px 0px 0px 2px"
47
- floating: "rgba(255,255,255,0.1) 0px 0.5px 0px 0.5px, rgba(0,0,0,0.25) 0px 10px 30px"
81
+ marketplace-menu: "rgba(0,0,0,0.08) 0px 3px 6px 0px"
48
82
  components:
49
- button-primary: { type: button, bg: "#ffffff", fg: "#000000", radius: "100px", padding: "10px 15px", font: "15px / 400", use: "Solid white pill, primary CTA on dark" }
50
- button-frosted: { type: button, bg: "rgba(255,255,255,0.1)", fg: "#ffffff", radius: "40px", padding: "10px 15px", font: "15px / 400", use: "Glass-effect frosted pill on dark" }
51
- button-ghost: { type: button, bg: "transparent", fg: "#ffffff", radius: "40px", padding: "10px 15px", use: "Tertiary text-only action, frosted on hover" }
52
- input-dark: { type: input, bg: "#090909", fg: "#ffffff", radius: "8px", padding: "10px 12px", use: "Dark theme form input; focus #0099ff ring + blue glow" }
53
- card-dark: { type: card, bg: "#090909", fg: "#ffffff", radius: "12px", padding: "24px", use: "Standard dark surface card with blue ring border" }
54
- card-elevated: { type: card, bg: "#090909", fg: "#ffffff", radius: "12px", padding: "24px", use: "Elevated card, white top highlight + deep ambient shadow" }
55
- badge-default: { type: badge, bg: "rgba(255,255,255,0.1)", fg: "#ffffff", radius: "9999px", padding: "4px 10px", font: "12px / 400", use: "Frosted pill badge on dark" }
56
- components_harvested: true
83
+ marketplace-filter: { type: button, bg: "#242424", fg: "#ffffff", radius: "8px", padding: "0px 10px", font: "12px / 500", states: "expanded and menu-open captured on the Marketplace filter", use: "Marketplace filter trigger on the public community surface" }
84
+ marketplace-category: { type: card, bg: "#111111", fg: "#ffffff", radius: "20px", use: "Marketplace category card on the public community surface" }
57
85
  ---
58
86
 
59
- # Design System Inspiration of Framer
87
+ # Framer Design Reference
60
88
 
61
89
  ## 1. Visual Theme & Atmosphere
62
90
 
63
- Framer's website is a cinematic, tool-obsessed dark canvas that radiates the confidence of a design tool built by designers who worship craft. The entire experience is drenched in pure black not a warm charcoal or a cozy dark gray, but an absolute void (`#000000`) that makes every element, every screenshot, every typographic flourish feel like it's floating in deep space. This is a website that treats its own product UI as the hero art, embedding full-fidelity screenshots and interactive demos directly into the narrative flow.
91
+ Framer is a platform for designing and publishing websites. Its current careers page describes the mission as building the best tool for designing and publishing incredible sites, while its public product copy positions AI-assisted website creation alongside design, collaboration, CMS, hosting, and publishing. The supplied 2026-07-13 evidence captures three public domains of that ecosystem: the main marketing site, a community Marketplace components listing, and pricing. Across those captures, the clearest recurring visual expression is an achromatic black-and-white public canvas with a small blue accent, compact rounded Marketplace controls, and a more editorial display face on the home page. This reference preserves those domains separately: it does not turn public marketing, community browsing chrome, or pricing into a claim about the authenticated editor, generated sites, or documentation UI.
64
92
 
65
- The typography is the signature move: GT Walsheim with aggressively tight letter-spacing (as extreme as -5.5px on 110px display text) creates headlines that feel compressed, kinetic, almost spring-loaded — like words under pressure that might expand at any moment. The transition to Inter for body text is seamless, with extensive OpenType feature usage (`cv01`, `cv05`, `cv09`, `cv11`, `ss03`, `ss07`) that gives even small text a refined, custom feel. Framer Blue (`#0099ff`) is deployed sparingly but decisively — as link color, border accents, and subtle ring shadows creating a cold, electric throughline against the warm-less black.
93
+ - **Public canvas:** `#000000` is observed as the home and pricing page background; `#ffffff` is the recurring foreground.
94
+ - **Community layer:** the Marketplace components page introduces `#111111` and `#242424` surfaces, 8px compact controls, 20px category cards, and 13px menu panels.
95
+ - **Blue as local evidence:** `#0099ff` is observed in Marketplace and pricing controls and is also published by Framer as “Framer Blue”; it is not promoted as a universal product-state color.
96
+ - **Official brand assets:** Framer separately publishes Black, White, Framer Blue (`#0099FF`), and Framer Deep Blue (`#0055FF`) for marks. Brand-asset colors are not automatically public-web CSS tokens.
66
97
 
67
- The overall effect is a nightclub for web designers: dark, precise, seductive, and unapologetically product-forward. Every section exists to showcase what the tool can do, with the website itself serving as proof of concept.
98
+ ## 2. Color Palette & Roles
68
99
 
69
- **Key Characteristics:**
70
- - Pure black (`#000000`) void canvas — absolute dark, not warm or gray-tinted
71
- - GT Walsheim display font with extreme negative letter-spacing (-5.5px at 110px)
72
- - Framer Blue (`#0099ff`) as the sole accent color — cold, electric, precise
73
- - Pill-shaped buttons (40px–100px radius) — no sharp corners on interactive elements
74
- - Product screenshots as hero art — the tool IS the marketing
75
- - Frosted glass button variants using `rgba(255, 255, 255, 0.1)` on dark surfaces
76
- - Extensive OpenType feature usage across Inter for refined micro-typography
100
+ ### Observed public-web roles
77
101
 
78
- ## 2. Color Palette & Roles
102
+ - **Black canvas** (`#000000`): computed background on the captured home and pricing pages.
103
+ - **White foreground** (`#ffffff`): repeated visible text and border value across all three captured surfaces.
104
+ - **Muted label gray** (`#999999`): repeated text and border value on home and Marketplace; it is a lower-emphasis public-web value, not an accessibility-state definition.
105
+ - **Marketplace mid surface** (`#242424`): filter-trigger and open-menu panel background on the Marketplace components page.
106
+ - **Marketplace card surface** (`#111111`): category-card background on the Marketplace components page.
107
+ - **Framer Blue** (`#0099ff`): observed Marketplace/pricing background and home text/border value; official brand guidance also lists the same color.
79
108
 
80
- ### Primary
81
- - **Pure Black** (`#000000`): Primary background, the void canvas that defines Framer's dark-first identity
82
- - **Pure White** (`#ffffff`): Primary text color on dark surfaces, button text on accent backgrounds
83
- - **Framer Blue** (`#0099ff`): Primary accent color — links, borders, ring shadows, interactive highlights
109
+ `#0055FF` remains an official brand-asset color from the brand guidelines, but it was not a measured token in the supplied live samples. Other isolated colors in the raw bundle are route- or content-local and are not raised into a system palette.
84
110
 
85
- ### Secondary & Accent
86
- - **Muted Silver** (`#a6a6a6`): Secondary text, subdued labels, dimmed descriptions on dark surfaces
87
- - **Near Black** (`#090909`): Elevated dark surface, shadow ring color for subtle depth separation
111
+ ## 3. Typography Rules
88
112
 
89
- ### Surface & Background
90
- - **Void Black** (`#000000`): Page background, primary canvas
91
- - **Frosted White** (`rgba(255, 255, 255, 0.1)`): Translucent button backgrounds, glass-effect surfaces on dark
92
- - **Subtle White** (`rgba(255, 255, 255, 0.5)`): Slightly more opaque frosted elements for hover states
113
+ ### Evidence classes
93
114
 
94
- ### Neutrals & Text
95
- - **Pure White** (`#ffffff`): Heading text, high-emphasis body text
96
- - **Muted Silver** (`#a6a6a6`): Body text, descriptions, secondary information
97
- - **Ghost White** (`rgba(255, 255, 255, 0.6)`): Tertiary text, placeholders on dark surfaces
115
+ - **Live computed public-web use:** `Inter` is loaded/high with 512 visible uses and two Framer-hosted Inter Variable WOFF2 source URLs. `Inter Variable` is separately loaded/high with 392 visible uses. The Marketplace’s `inter, "inter Fallback"` computed stack is therefore represented by the canonical UI family `Inter`, rather than by a fallback name.
116
+ - **Live computed display use:** `GT Walsheim Medium` is loaded/high with 11 visible heading uses; the collector reports FontFaceSet corroboration but no source URL. It is recorded as the public-home display family, not as a reusable distributed asset.
117
+ - **Live local monospace use:** `Input Mono Regular` and `Input Mono Bold` are loaded/high in a small number of visible public samples. They are not made general UI or code tokens because the capture does not establish a component-level role. Input’s official licence says published/distributed use needs the appropriate licence.
118
+ - **Source-backed local mono:** `jetBrainsMono` has one loaded visible use and two Framer-hosted source URLs. JetBrains Mono’s official project is OFL-1.1; this license context does not grant use of Framer-hosted files.
119
+ - **Declared-only:** Azeret Mono, Chillax, EB Garamond, Geist, additional GT Walsheim faces, numerous Inter aliases/placeholders, and other declared faces have zero visible uses in this bundle. They remain declared-only and are not UI-family tokens.
120
+ - **Unobserved domains:** no authenticated Framer editor/product surface or docs chrome font capture was supplied. No web family is substituted into either domain.
98
121
 
99
- ### Semantic & Accent
100
- - **Framer Blue** (`#0099ff`): Links, interactive borders, focus rings
101
- - **Blue Glow** (`rgba(0, 153, 255, 0.15)`): Focus ring shadow, subtle blue halo around interactive elements
102
- - **Default Link Blue** (`#0000ee`): Standard browser link color (used sparingly in content areas)
122
+ ### Measured public hierarchy
103
123
 
104
- ### Gradient System
105
- - No prominent gradient usage — Framer relies on pure flat black surfaces with occasional blue-tinted glows for depth
106
- - Subtle radial glow effects behind product screenshots using Framer Blue at very low opacity
124
+ | Role | Family | Size | Weight | Line height | Tracking | Evidence boundary |
125
+ |---|---|---:|---:|---:|---:|---|
126
+ | Public home body | Inter Variable | 14px | 400 | 14px | -0.01px | `home::p` |
127
+ | Public home display heading | GT Walsheim Medium | 54px | 500 | 54px | -2.16px | captured `home::h1` |
128
+ | Public home section heading | GT Walsheim Medium | 44px | 500 | 48.4px | -1.76px | captured `home::h2` |
129
+ | Marketplace compact control | Inter | 12px | 500 | 12px | normal | `surface-2::[data-omd-capture="26"]` |
130
+ | Marketplace category label | Inter | 13px | 600 | 18.2px | normal | `surface-2::span.category-card-module-scss-module__VfU1Xq__name` |
107
131
 
108
- ## 3. Typography Rules
132
+ ## 4. Components
109
133
 
110
- ### Font Family
111
- - **Display**: `GT Walsheim Framer Medium` / `GT Walsheim Medium` — custom geometric sans-serif, weight 500. Fallbacks: `GT Walsheim Framer Medium Placeholder`, system sans-serif
112
- - **Body/UI**: `Inter Variable` / `Inter` — variable sans-serif with extensive OpenType features. Fallbacks: `Inter Placeholder`, `-apple-system`, `system-ui`
113
- - **Accent**: `Mona Sans` — GitHub's open-source font, used for select elements at ultra-light weight (100)
114
- - **Monospace**: `Azeret Mono` — companion mono for code and technical labels
115
- - **Rounded**: `Open Runde` — small rounded companion font for micro-labels
116
-
117
- ### Hierarchy
118
-
119
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
120
- |------|------|------|--------|-------------|----------------|-------|
121
- | Display Hero | GT Walsheim Framer Medium | 110px | 500 | 0.85 | -5.5px | Extreme negative tracking, compressed impact |
122
- | Section Display | GT Walsheim Medium | 85px | 500 | 0.95 | -4.25px | OpenType: ss02, tnum |
123
- | Section Heading | GT Walsheim Medium | 62px | 500 | 1.00 | -3.1px | OpenType: ss02 |
124
- | Feature Heading | GT Walsheim Medium | 32px | 500 | 1.13 | -1px | Tightest of the smaller headings |
125
- | Accent Display | Mona Sans | 61.5px | 100 | 1.00 | -3.1px | Ultra-light weight, ethereal |
126
- | Card Title | Inter Variable | 24px | 400 | 1.30 | -0.01px | OpenType: cv01, cv05, cv09, cv11, ss03, ss07 |
127
- | Feature Title | Inter | 22px | 700 | 1.20 | -0.8px | OpenType: cv05 |
128
- | Sub-heading | Inter | 20px | 600 | 1.20 | -0.8px | OpenType: cv01, cv09 |
129
- | Body Large | Inter Variable | 18px | 400 | 1.30 | -0.01px | OpenType: cv01, cv05, cv09, cv11, ss03, ss07 |
130
- | Body | Inter Variable | 15px | 400 | 1.30 | -0.01px | OpenType: cv11 |
131
- | Nav/UI | Inter Variable | 15px | 400 | 1.00 | -0.15px | OpenType: cv06, cv11, dlig, ss03 |
132
- | Body Readable | Inter Framer Regular | 14px | 400 | 1.60 | normal | Long-form body text |
133
- | Caption | Inter Variable | 14px | 400 | 1.40 | normal | OpenType: cv01, cv06, cv09, cv11, ss03, ss07 |
134
- | Label | Inter | 13px | 500 | 1.60 | normal | OpenType: cv06, cv11, ss03 |
135
- | Small Caption | Inter Variable | 12px | 400 | 1.40 | normal | OpenType: cv01, cv06, cv09, cv11, ss03, ss07 |
136
- | Micro Code | Azeret Mono | 10.4px | 400 | 1.60 | normal | OpenType: cv06, cv11, ss03 |
137
- | Badge | Open Runde | 9px | 600 | 1.11 | normal | OpenType: cv01, cv09 |
138
- | Micro Uppercase | Inter Variable | 7px | 400 | 1.00 | 0.21px | uppercase transform |
139
-
140
- ### Principles
141
- - **Compression as personality**: GT Walsheim's extreme negative letter-spacing (-5.5px at 110px) is the defining typographic gesture — headlines feel spring-loaded, urgent, almost breathless
142
- - **OpenType maximalism**: Inter is deployed with 6+ OpenType features simultaneously (`cv01`, `cv05`, `cv09`, `cv11`, `ss03`, `ss07`), creating a subtly custom feel even at body sizes
143
- - **Weight restraint on display**: All GT Walsheim usage is weight 500 (medium) — never bold, never regular. This creates a confident-but-not-aggressive display tone
144
- - **Ultra-tight line heights**: Display text at 0.85 line-height means letters nearly overlap vertically — intentional density that rewards reading at arm's length
145
-
146
- ## 4. Component Stylings
147
-
148
- ### Buttons
149
-
150
- **Solid White Pill**
151
- - Background: `#ffffff`
152
- - Text: `#000000`
153
- - Radius: 100px (pill)
154
- - Padding: 10px 15px
155
- - Font: 15px / 400 / Inter
156
- - Use: Primary CTA — clean, high-contrast on dark
157
-
158
- **Frosted Pill**
159
- - Background: `rgba(255, 255, 255, 0.1)`
160
- - Text: `#ffffff`
161
- - Radius: 40px
162
- - Padding: 10px 15px
163
- - Font: 15px / 400 / Inter
164
- - Use: Glass-effect button on dark surfaces — translucent, ambient
134
+ All variants below are selector-backed observations from public surfaces. The capture records three interaction expansions: two Marketplace menus and one home form-error sample. It does not capture an authenticated editor, documentation chrome, hover, pressed, focus, modal, or product-toast contract beyond the exact rows called out below.
135
+
136
+ ### Marketplace action
165
137
 
166
- **Ghost**
167
- - Background: transparent
138
+ **Filter trigger, menu-open capture**
139
+ - Background: `#242424`
168
140
  - Text: `#ffffff`
169
- - Radius: 40px
170
- - Padding: 10px 15px
171
- - Hover: frosted background `rgba(255, 255, 255, 0.1)`
172
- - Use: Tertiary action text-only
141
+ - Border: `1px solid transparent`
142
+ - Radius: `8px`
143
+ - Padding: `0px 10px`
144
+ - Font: `12px / 500 / Inter`
145
+ - Use: public Marketplace components filter trigger; `surface-2::[data-omd-capture="26"]`, `aria-haspopup="menu"`, captured with `expanded` and `menu-open`
146
+
147
+ **Accent action**
148
+ - Background: `#0099ff`
149
+ - Text: `#ffffff`
150
+ - Border: `1px solid transparent`
151
+ - Radius: `8px`
152
+ - Padding: `0px 10px`
153
+ - Font: `12px / 600 / Inter`
154
+ - Use: public Marketplace action; `surface-2::[data-omd-capture="15"]`
173
155
 
174
- ### Inputs
156
+ ### Marketplace menu
175
157
 
176
- **Dark Input**
177
- - Background: `#090909`
158
+ **Open panel**
159
+ - Background: `#242424`
160
+ - Text: `#ffffff`
161
+ - Border: `1px solid #333333`
162
+ - Radius: `13px`
163
+ - Padding: `5px`
164
+ - Font: `12px / 400 / Inter`
165
+ - Shadow: `rgba(0, 0, 0, 0.08) 0px 3px 6px 0px`
166
+ - Use: expanded public Marketplace menu; `surface-2::[data-omd-interaction-capture="menu-0-0"]`
167
+
168
+ **Unchecked menu option**
178
169
  - Text: `#ffffff`
179
- - Border: 1px solid `rgba(255, 255, 255, 0.1)`
180
- - Radius: 8px
181
- - Padding: 10px 12px
182
- - Focus: 1px solid `#0099ff` ring with `rgba(0, 153, 255, 0.15)` glow
183
- - Placeholder: `rgba(255, 255, 255, 0.4)`
184
- - Use: Form input on dark theme (marketing site has minimal forms)
170
+ - Radius: `8px`
171
+ - Padding: `0px 10px 0px 0px`
172
+ - Font: `13px / 500 / Inter`
173
+ - Use: `role="menuitemcheckbox"`, `aria-checked="false"`, captured only in the expanded Marketplace menu at `surface-2::[data-omd-interaction-capture="menu-0-2"]`
185
174
 
186
- ### Cards
175
+ ### Marketplace category card
187
176
 
188
- **Dark Surface Card**
189
- - Background: `#090909`
177
+ **Default**
178
+ - Background: `#111111`
190
179
  - Text: `#ffffff`
191
- - Radius: 12px
192
- - Padding: 24px
193
- - Shadow: `rgba(0, 153, 255, 0.15) 0px 0px 0px 1px` (Framer Blue ring border)
194
- - Use: Standard dark surface card with blue ring border
180
+ - Radius: `20px`
181
+ - Font: `12px / 500 / Inter`
182
+ - Use: public Marketplace category-card root; `surface-2::[data-omd-capture="21"]`
195
183
 
196
- **Elevated Card**
197
- - Background: `#090909`
198
- - Text: `#ffffff`
199
- - Radius: 12px
200
- - Padding: 24px
201
- - Shadow: `rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0.5px, rgba(0, 0, 0, 0.25) 0px 10px 30px`
202
- - Use: Elevated card — subtle top highlight + deep ambient shadow
184
+ ### Marketplace tab
203
185
 
204
- **Product Screenshot**
205
- - Background: transparent (or `#090909`)
206
- - Radius: 10px
207
- - Padding: 0px
208
- - Use: Software UI preview frame within dark containers
186
+ **Disabled**
187
+ - Text: `#666666`
188
+ - Radius: `8px`
189
+ - Padding: `0px 10px`
190
+ - Font: `12px / 500 / Inter`
191
+ - Use: disabled, coming-soon public Marketplace tab; `surface-2::[data-omd-capture="13"]`
209
192
 
210
- ### Badges
193
+ ### Home form field
211
194
 
212
- **Default**
213
- - Background: `rgba(255, 255, 255, 0.1)`
214
- - Text: `#ffffff`
215
- - Radius: 9999px (pill)
216
- - Padding: 4px 10px
217
- - Font: 12px / 400 / Inter
218
- - Use: Inferred from §1-§2 baseline (no explicit DS variant in source) — frosted pill badge on dark theme.
219
-
220
- ### Navigation
221
- - **Dark floating nav bar**: Black background with frosted glass effect, white text links
222
- - **Nav links**: Inter at 15px, weight 400, white text with subtle hover opacity change
223
- - **CTA button**: Pill-shaped, white or frosted, positioned at right end of nav
224
- - **Mobile**: Collapses to hamburger menu, maintains dark theme
225
- - **Sticky behavior**: Nav remains fixed at top on scroll
226
-
227
- ### Image Treatment
228
- - **Product screenshots as hero art**: Full-width embedded UI screenshots with rounded corners (8px–12px)
229
- - **Dark-on-dark composition**: Screenshots placed on black backgrounds with subtle shadow for depth separation
230
- - **16:9 and custom aspect ratios**: Product demos fill their containers
231
- - **No decorative imagery**: All images are functional — showing the tool, the output, or the workflow
232
-
233
- ### Trust & Social Proof
234
- - Customer logos and testimonials in muted gray on dark surfaces
235
- - Minimal ornamentation — the product screenshots serve as the trust signal
195
+ **Error capture**
196
+ - Text: `#dee6ff`
197
+ - Font: `14px / 500 / Inter`
198
+ - Use: home textarea error sample; `home::[data-omd-interaction-capture="form-error-0-0"]`. The collector records the error state but does not supply a reusable field shell, label, or transition contract.
199
+
200
+ ---
201
+ **Verified:** 2026-07-13
202
+ **Tier 1 sources:** `https://www.framer.com/` (public marketing), `https://www.framer.com/community/marketplace/components/` (public community Marketplace), `https://www.framer.com/pricing` (public pricing), `https://www.framer.com/brand?page=1` (official brand assets), `https://www.framer.com/careers/` and `https://www.framer.com/blog/framer-next-generation-of-designers/` (official context), `https://github.com/rsms/inter/blob/master/LICENSE.txt`, `https://input.djr.com/license/`, and `https://github.com/jetbrains/jetbrainsmono` (font/license context)
203
+ **Tier 2 sources:** `https://getdesign.md/framer` (one independent design record; broad direction only), `https://styles.refero.design/style/242db326-a6f3-482a-b12e-5e7f8af94981` and `https://styles.refero.design/style/d417b42f-824d-45ba-a02e-cbef3b8ea0d8` (independent generated records; no generated-only values used)
204
+ **Conflicts unresolved:** none
236
205
 
237
206
  ## 5. Layout Principles
238
207
 
239
- ### Spacing System
240
- - **Base unit**: 8px
241
- - **Scale**: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 15px, 20px, 30px, 35px
242
- - **Section padding**: Large vertical spacing (80px–120px between sections)
243
- - **Card padding**: 15px–30px internal padding
244
- - **Component gaps**: 8px–20px between related elements
245
-
246
- ### Grid & Container
247
- - **Max width**: ~1200px container, centered
248
- - **Column patterns**: Full-width hero, 2-column feature sections, single-column product showcases
249
- - **Asymmetric layouts**: Feature sections often pair text (40%) with screenshot (60%)
250
-
251
- ### Whitespace Philosophy
252
- - **Breathe through darkness**: Generous vertical spacing between sections — the black background means whitespace manifests as void, creating dramatic pauses between content blocks
253
- - **Dense within, spacious between**: Individual components are tightly composed (tight line-heights, compressed text) but float in generous surrounding space
254
- - **Product-first density**: Screenshot areas are allowed to be dense and information-rich, contrasting with the sparse marketing text
255
-
256
- ### Border Radius Scale
257
- - **1px**: Micro-elements, nearly squared precision edges
258
- - **5px–7px**: Small UI elements, image thumbnails — subtly softened
259
- - **8px**: Standard component radius — code blocks, buttons, interactive elements
260
- - **10px–12px**: Cards, product screenshots — comfortably rounded
261
- - **15px–20px**: Large containers, feature cards — generously rounded
262
- - **30px–40px**: Navigation pills, pagination — noticeably rounded
263
- - **100px**: Full pill shape — primary CTAs, tag elements
208
+ - The supplied evidence is desktop-only (`1440×900`). It supports local spacing observations, not a responsive grid, breakpoint, container-width, or editor-layout claim.
209
+ - Marketplace compact filter and tab controls use `0px 10px` padding; the open menu uses 5px inset padding.
210
+ - Category-card text has 15px padding in the captured Marketplace DOM. This is a card-local observation, not a global spacing scale.
211
+ - The raw spacing aggregation also repeats 5px, 10px, 14px, 15px, and 40px values. Without semantic selector coverage for a universal scale, they remain aggregate evidence rather than prescribed tokens.
264
212
 
265
213
  ## 6. Depth & Elevation
266
214
 
267
- | Level | Treatment | Use |
268
- |-------|-----------|-----|
269
- | Level 0 (Flat) | No shadow, pure black surface | Page background, empty areas |
270
- | Level 1 (Ring) | `rgba(0, 153, 255, 0.15) 0px 0px 0px 1px` | Card borders, interactive element outlines — Framer Blue glow ring |
271
- | Level 2 (Contained) | `rgb(9, 9, 9) 0px 0px 0px 2px` | Near-black ring for subtle containment on dark surfaces |
272
- | Level 3 (Floating) | `rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0.5px, rgba(0, 0, 0, 0.25) 0px 10px 30px` | Elevated cards, floating elements — subtle white top-edge highlight + deep ambient shadow |
273
-
274
- ### Shadow Philosophy
275
- Framer's elevation system is inverted from traditional light-theme designs. Instead of darker shadows on light backgrounds, Framer uses:
276
- - **Blue-tinted ring shadows** at very low opacity (0.15) for containment — a signature move that subtly brands every bordered element
277
- - **White edge highlights** (0.5px) on the top edge of elevated elements — simulating light hitting the top surface
278
- - **Deep ambient shadows** for true floating elements — `rgba(0, 0, 0, 0.25)` at large spread (30px)
279
-
280
- ### Decorative Depth
281
- - **Blue glow auras**: Subtle Framer Blue (`#0099ff`) radial gradients behind key interactive areas
282
- - **No background blur/glassmorphism**: Despite the frosted button effect, there's no heavy glass blur usage — the translucency is achieved through simple rgba opacity
215
+ - **Marketplace open menu:** the only selector-backed elevated panel is `surface-2::[data-omd-interaction-capture="menu-0-0"]`, with `rgba(0,0,0,0.08) 0px 3px 6px 0px`.
216
+ - **Home utility controls:** individual home buttons `data-omd-capture="31"` through `"33"` have `rgba(0,0,0,0.2) 0px 2px 6px 0px`; their semantic role is not identified, so the value is not a system elevation level.
217
+ - No general blue glow, card-shadow hierarchy, or authenticated-product elevation rule is asserted.
283
218
 
284
219
  ## 7. Do's and Don'ts
285
220
 
286
221
  ### Do
287
- - Use pure black (`#000000`) as the primary background — not dark gray, not charcoal
288
- - Apply extreme negative letter-spacing on GT Walsheim display text (-3px to -5.5px)
289
- - Keep all buttons pill-shaped (40px+ radius)never use squared or slightly-rounded buttons
290
- - Use Framer Blue (`#0099ff`) exclusively for interactive accents links, borders, focus states
291
- - Deploy `rgba(255, 255, 255, 0.1)` for frosted glass surfaces on dark backgrounds
292
- - Maintain GT Walsheim at weight 500 only — the medium weight IS the brand
293
- - Use extensive OpenType features on Inter text (cv01, cv05, cv09, cv11, ss03, ss07)
294
- - Let product screenshots be the visual centerpiece — the tool markets itself
295
- - Apply blue ring shadows (`rgba(0, 153, 255, 0.15) 0px 0px 0px 1px`) for card containment
222
+
223
+ - Keep generated work scoped to the observed public domain: black/white marketing or the separate dark Marketplace surface.
224
+ - Use the observed Marketplace compact geometry—8px controls, 13px menu panels, 20px category cardsonly when recreating the corresponding public patterns.
225
+ - Use Inter for UI/body and GT Walsheim Medium only for public display contexts when the font licensing and asset availability are appropriate.
226
+ - Treat `#0099ff` as a documented public/brand accent, with route-level component provenance rather than a universal semantic-state guarantee.
296
227
 
297
228
  ### Don't
298
- - Use warm dark backgrounds (no `#1a1a1a`, `#2d2d2d`, or brownish blacks)
299
- - Apply bold (700+) weight to GT Walsheim display text medium 500 only
300
- - Introduce additional accent colors beyond Framer Blue this is a one-accent-color system
301
- - Use large border-radius on non-interactive elements (cards use 10px–15px, only buttons get 40px+)
302
- - Add decorative imagery, illustrations, or icons the product IS the illustration
303
- - Use positive letter-spacing on headlines — everything is compressed, negative tracking
304
- - Create heavy drop shadows — depth is communicated through subtle rings and minimal ambients
305
- - Place light/white backgrounds behind content sections — the void is sacred
306
- - Use serif or display-weight fonts — the system is geometric sans-serif only
229
+
230
+ - Do not infer Framer editor, publishing, CMS, collaboration, or docs components from these public captures.
231
+ - Do not turn declared-only faces into live UI tokens or substitute a system font as an unavailable family.
232
+ - Do not claim hover, pressed, focus, responsive, modal, or motion variants that the collector did not capture.
233
+ - Do not treat official brand-asset colors or third-party font licences as permission to reuse Framer-hosted assets.
307
234
 
308
235
  ## 8. Responsive Behavior
309
236
 
310
- ### Breakpoints
311
- | Name | Width | Key Changes |
312
- |------|-------|-------------|
313
- | Mobile | <809px | Single column, stacked feature sections, reduced hero text (62px→40px), hamburger nav |
314
- | Tablet | 809px–1199px | 2-column features begin, nav links partially visible, screenshots scale down |
315
- | Desktop | >1199px | Full layout, expanded nav with all links + CTA, 110px display hero, side-by-side features |
316
-
317
- ### Touch Targets
318
- - Pill buttons: minimum 40px height with 10px vertical padding — exceeds 44px WCAG minimum
319
- - Nav links: 15px text with generous padding for touch accessibility
320
- - Mobile CTA buttons: Full-width pills on mobile for easy thumb reach
321
-
322
- ### Collapsing Strategy
323
- - **Navigation**: Full horizontal nav → hamburger menu at mobile breakpoint
324
- - **Hero text**: 110px display → 85px → 62px → ~40px across breakpoints, maintaining extreme negative tracking proportionally
325
- - **Feature sections**: Side-by-side (text + screenshot) → stacked vertically on mobile
326
- - **Product screenshots**: Scale responsively within containers, maintaining aspect ratios
327
- - **Section spacing**: Reduces proportionally — 120px desktop → 60px mobile
328
-
329
- ### Image Behavior
330
- - Product screenshots are responsive, scaling within their container boundaries
331
- - No art direction changes — same crops across breakpoints
332
- - Dark background ensures screenshots maintain visual impact at any size
333
- - Screenshots lazy-load as user scrolls into view
237
+ Only a `1440×900` capture was supplied. The public pages may be responsive, but this packet does not measure a breakpoint, mobile navigation, touch target, image crop, or a responsive state transition. Those fields remain unresolved rather than being extrapolated from the desktop DOM.
334
238
 
335
239
  ## 9. Agent Prompt Guide
336
240
 
337
- ### Quick Color Reference
338
- - Primary Background: Void Black (`#000000`)
339
- - Primary Text: Pure White (`#ffffff`)
340
- - Accent/CTA: Framer Blue (`#0099ff`)
341
- - Secondary Text: Muted Silver (`#a6a6a6`)
342
- - Frosted Surface: Translucent White (`rgba(255, 255, 255, 0.1)`)
343
- - Elevation Ring: Blue Glow (`rgba(0, 153, 255, 0.15)`)
344
-
345
- ### Example Component Prompts
346
- - "Create a hero section on pure black background with 110px GT Walsheim heading in white, letter-spacing -5.5px, line-height 0.85, and a pill-shaped white CTA button (100px radius) with black text"
347
- - "Design a feature card on black background with a 1px Framer Blue ring shadow border (rgba(0,153,255,0.15)), 12px border-radius, white heading in Inter at 22px weight 700, and muted silver (a6a6a6) body text"
348
- - "Build a navigation bar with black background, white Inter text links at 15px, and a frosted pill button (rgba(255,255,255,0.1) background, 40px radius) as the CTA"
349
- - "Create a product showcase section with a full-width screenshot embedded on black, 10px border-radius, subtle multi-layer shadow (white 0.5px top highlight + rgba(0,0,0,0.25) 30px ambient)"
350
- - "Design a pricing card using pure black surface, Framer Blue (#0099ff) accent for the selected plan border, white text hierarchy (24px Inter bold heading, 14px regular body), and a solid white pill CTA button"
351
-
352
- ### Iteration Guide
353
- When refining existing screens generated with this design system:
354
- 1. Focus on ONE component at a time — the dark canvas makes each element precious
355
- 2. Always verify letter-spacing on GT Walsheim headings — the extreme negative tracking is non-negotiable
356
- 3. Check that Framer Blue appears ONLY on interactive elements — never as decorative background or text color for non-links
357
- 4. Ensure all buttons are pill-shaped — any squared corner immediately breaks the Framer aesthetic
358
- 5. Test frosted glass surfaces by checking they have exactly `rgba(255, 255, 255, 0.1)` — too opaque looks like a bug, too transparent disappears
241
+ Use this reference as a public-web direction, not an app-kit specification:
242
+
243
+ - “Create a public marketing section on `#000000` with `#ffffff` foreground, Inter UI text, and a `#0099ff` accent only where a selector-backed public component warrants it.”
244
+ - “For a Marketplace-like filter, use `#242424`, white 12px/500 Inter text, 8px radius, and `0px 10px` padding; pair it only with the observed 13px-radius menu panel if an open-menu surface is needed.”
245
+ - “For the public home’s editorial hierarchy, use GT Walsheim Medium only when its licensed asset is available; the captured examples are 54px/500 and 44px/500, not an unbounded display scale.”
359
246
 
360
247
  ## 10. Voice & Tone
361
248
 
362
- Framer's voice is **designer-warm and craft-confident** speaks like a tool team that genuinely loves design conventions. Marketing emphasizes the joy of building professional websites without code. Hero copy keeps lower-case for warmth, headline-as-statement.
249
+ Framers first-party careers page leads with “Make the web more creative” and describes a mission to build the best tool for designing and publishing incredible sites. The product blog says the enduring mission is to turn ideas into stunning websites quickly. That supports a direct, maker-facing public voice; it does not establish editor error copy or a complete product-content style guide.
363
250
 
364
- | Context | Tone |
251
+ | Context | Supported direction |
365
252
  |---|---|
366
- | CTA | Verb. "Start for free", "Get started", "Sign up" |
367
- | Marketing | Single claim, big screenshots dominate |
368
- | Documentation | Visual-first, screenshots, clearly linked tutorials |
369
- | Error (publishing) | Specific. "Domain SSL provisioning. Try again in 5 minutes." |
370
-
371
- **Voice samples**
372
- - Marketing tagline: *"Create a professional website, free."* <!-- verified: framer.com homepage 2026-05 -->
373
-
374
- **Forbidden phrases.** "Revolutionary website builder", "magic". Aggressive "compete with Webflow" framing.
253
+ | Public headline | Short outcome-led statement, as in “Make the web more creative.” |
254
+ | Public CTA | Direct account/start action; captured pages expose “Sign up.” |
255
+ | Community | Label-led browsing and filters on the Marketplace components surface. |
375
256
 
376
257
  ## 11. Brand Narrative
377
258
 
378
- Framer was founded **2014** in **Amsterdam** by **Koen Bok (CEO)** and **Jorn van Dijk** both Dutch ex-Facebook designer-engineers who **previously co-founded the design studio Sofa**, acquired by Facebook in 2011 (where they shipped Messages, Ads, Video, Photos product surfaces) ([Tracxn — Framer](https://tracxn.com/d/companies/framer/__WwABy6r40KPszbW9ZaEHR6v4BX_MP8437KgHYLns7fo), [Jorn van Dijk personal](https://jornvandijk.com/)). Originally a **code-based prototyping tool** for designers at Apple/Google/Facebook (and the parent of the **Framer Motion** animation library now used across the React ecosystem). **Major pivot 2022-2023** to a no-code website builder competing with Webflow, while preserving the Framer Motion craft DNA. Funding ladder: **$1.35M Seed (Dec 2014)** **€25.5M Series B (2022)** → **$27M Series C (Sep 2023)** led by **Meritech Capital** with **Atomico, Accel, Foundation Capital** **$100M Series D (Aug 13 2025)** led by **Meritech + Atomico** with **WiL + HV Capital**, valuing Framer at **$2B "double-unicorn"** ([TechCrunch Framer $2B](https://techcrunch.com/2025/08/28/no-code-website-builder-framer-reaches-2b-valuation/), [Sifted](https://sifted.eu/articles/framer-raises-100m), [I amsterdam — double unicorn](https://www.iamsterdam.com/en/business/framer-raises-100m-becoming-a-double-unicorn)). **Total raised ~$163M.** The brand voice tracks this evolution design-tool-first identity, now a website tool that hasn't lost the craft register.
259
+ Framer’s present public framing is a web-design and publishing platform: the careers page ties the company to the future of the web, and the product blog describes the continuing goal as moving from an idea to a polished website quickly. Its public navigation also spans design, collaboration, CMS, hosting, performance, SEO, conversion, and publishing. The visually distinctive expression in this packet comes from the current public surfacesnot a claim that every Framer product surface uses the same components or palette.
379
260
 
380
261
  ## 12. Principles
381
262
 
382
- 1. **Designer aesthetic, not engineer aesthetic.** *UI implication:* visual-first interfaces; canvas + properties, never code-only views in chrome.
383
- 2. **Pill shapes signal "polished".** Any squared corner breaks the Framer aesthetic. *UI implication:* nav, buttons, cards all pill-radius (24-36px).
384
- 3. **Frosted glass for depth.** `rgba(255,255,255,0.1)` overlays. *UI implication:* layered floating panels never opaque.
385
- 4. **Motion is the brand.** Framer Motion library. *UI implication:* every interaction has spring physics; static UIs feel un-Framer.
386
- 5. **Live publish.** *UI implication:* "Publish" CTA shows live preview URL + redeploys without page reload.
263
+ 1. **Make the publishing outcome legible.** *UI implication:* public copy should foreground the site-building/publishing task rather than inventing technical workflow claims.
264
+ 2. **Keep brand assets recognizable.** *UI implication:* follow the official guidance not to alter, recolor, distort, or create substitute Framer marks.
265
+ 3. **Preserve source-domain boundaries.** *UI implication:* use public marketing and Marketplace evidence only for those surfaces; do not synthesize editor or docs patterns.
266
+ 4. **Prefer measured compactness over generic pills.** *UI implication:* the supported compact controls are 8px-rounded Marketplace controls, not a site-wide full-pill rule.
387
267
 
388
268
  ## 13. Personas
389
269
 
390
- *Personas are fictional archetypes informed by Framer user segments (independent designers, design teams shipping marketing sites, agencies), not individual people.*
391
-
392
- **Sofia Russo, 32, Milan.** Indie designer shipping client marketing sites. Replaced Webflow workflow with Framer for the better animation defaults.
270
+ These are audience archetypes derived from Framer’s public positioning, not synthetic test users or claims about private product behavior.
393
271
 
394
- **Henrik Sondergaard, 38, Copenhagen.** Lead designer at SaaS startup. Builds the public marketing site in Framer; engineers handle product app separately.
395
-
396
- **Alex Park, 24, Seoul.** Junior designer building portfolio site. Framer template ecosystem made first launch possible without engineering help.
272
+ - **Website creator:** uses the public design-and-publish proposition and may enter through marketing or templates.
273
+ - **Community browser:** explores the public Marketplace components surface through category cards, tabs, and filters.
274
+ - **Developer/documentation reader:** encounters a separately structured developer/docs domain; this packet does not use its chrome as visual-token evidence.
397
275
 
398
276
  ## 14. States
399
277
 
400
- | State | Treatment |
278
+ | State | Evidence boundary |
401
279
  |---|---|
402
- | **Empty (canvas)** | "Add a section" CTA + template gallery |
403
- | **Empty (no projects)** | "Create your first project" + template browser |
404
- | **Loading (publishing)** | Spring-animated progress chip with build status |
405
- | **Loading (asset)** | Per-asset placeholder with shimmer |
406
- | **Error (publish)** | Specific reason + retry, never blocking |
407
- | **Error (CMS)** | Field-level inline message |
408
- | **Success (published)** | Spring-bounce confirmation + URL copy |
409
- | **Success (asset uploaded)** | Inline preview replaces placeholder |
410
- | **Skeleton (project list)** | Frosted glass placeholders |
411
- | **Disabled (free plan limit)** | 0.5 opacity + upgrade link |
412
- | **Loading (collaborator typing)** | Avatar + cursor indicator on canvas |
280
+ | Form error | Home textarea captured in `error` state with `#dee6ff` text; field shell and message copy are not captured. |
281
+ | Menu open | Two Marketplace menu expansions are captured, including one `#242424` panel and unchecked menu option. |
282
+ | Disabled tab | One Marketplace coming-soon tab is disabled with `#666666` text and 8px radius. |
283
+ | Toast viewport | A Marketplace toast viewport element is present, but no visible message, lifecycle, or style contract is captured. |
284
+ | Empty/loading/success/product failure | Not captured; no editor or authenticated-product state recipe is asserted. |
413
285
 
414
286
  ## 15. Motion & Easing
415
287
 
416
- | Token | Value | Use |
417
- |---|---|---|
418
- | `motion-instant` | 0ms | Selection |
419
- | `motion-fast` | 150ms | Hover |
420
- | `motion-spring` | variable | Click → action commits with spring physics |
421
- | `motion-standard` | 250ms | Modal, panel |
422
-
423
- Easings: spring physics is the signature. **Spring on every commit** — buttons, modals, panels. `prefers-reduced-motion: reduce` collapses spring to opacity-only fade.
424
-
425
- ---
426
-
427
- **Verified:** 2026-05-08 (omd:migrate run 25 — Apple-tier)
428
- **Tier 1 sources:** framer.com home + /pricing (live DOM via playwright — Primary `#fff` 100px full-pill three-tier {hero 35px / pricing-compact 29px / header-utility 15px-radius 28px} 10×14 / 12px·400; Translucent Secondary `rgba(255,255,255,0.10-0.15)` same geometry; **Framer Blue `#0099ff`** featured-pricing-tier accent).
429
- **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
430
- **Tier 2 (Philosophy/founders):** Tracxn, Silicon Canals, TechCrunch (2025-08 $2B), Sifted, I amsterdam, Crunchbase.
431
- **Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier mistake reverted:** prior footer captured only header utility 15px-rect; canonical Hero Primary is 100px full-pill 35px height + Framer Blue `#0099ff` featured accent.
288
+ The capture records structural menu and form-error expansions but supplies no measured duration, easing, transition, or reduced-motion behavior. Framer’s historical association with motion does not license a motion-token claim for the currently captured public surfaces; motion values remain unresolved.