oh-my-design-cli 1.8.6 → 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 (275) 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 +2761 -85
  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/airbridge/DESIGN.md +451 -0
  71. package/web/references/alipay/DESIGN.md +179 -420
  72. package/web/references/apple/DESIGN.md +224 -498
  73. package/web/references/asleep/DESIGN.md +402 -0
  74. package/web/references/au/DESIGN.md +334 -0
  75. package/web/references/autopedia/DESIGN.md +382 -0
  76. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  77. package/web/references/baemin/DESIGN.md +332 -491
  78. package/web/references/banksalad/DESIGN.md +269 -180
  79. package/web/references/barogo/DESIGN.md +416 -0
  80. package/web/references/beusable/DESIGN.md +464 -0
  81. package/web/references/bigin/DESIGN.md +454 -0
  82. package/web/references/bilibili/DESIGN.md +206 -374
  83. package/web/references/bmw/DESIGN.md +162 -276
  84. package/web/references/brandi/DESIGN.md +184 -325
  85. package/web/references/buzzvil/DESIGN.md +457 -0
  86. package/web/references/cafe24/DESIGN.md +472 -0
  87. package/web/references/catchtable/DESIGN.md +219 -264
  88. package/web/references/cgv/DESIGN.md +317 -0
  89. package/web/references/channeltalk/DESIGN.md +210 -336
  90. package/web/references/china-airlines/DESIGN.md +291 -0
  91. package/web/references/cjonstyle/DESIGN.md +453 -0
  92. package/web/references/class101/DESIGN.md +168 -387
  93. package/web/references/classum/DESIGN.md +228 -203
  94. package/web/references/claude/DESIGN.md +242 -479
  95. package/web/references/clay/DESIGN.md +179 -377
  96. package/web/references/clickhouse/DESIGN.md +254 -343
  97. package/web/references/codeit/DESIGN.md +470 -0
  98. package/web/references/cohere/DESIGN.md +214 -324
  99. package/web/references/coinone/DESIGN.md +199 -179
  100. package/web/references/corca/DESIGN.md +414 -0
  101. package/web/references/coupang/DESIGN.md +205 -475
  102. package/web/references/cursor/DESIGN.md +240 -381
  103. package/web/references/dabang/DESIGN.md +248 -213
  104. package/web/references/dable/DESIGN.md +431 -0
  105. package/web/references/datarize/DESIGN.md +338 -0
  106. package/web/references/dealicious/DESIGN.md +402 -0
  107. package/web/references/drdiary/DESIGN.md +404 -0
  108. package/web/references/elastic/DESIGN.md +238 -0
  109. package/web/references/elevenlabs/DESIGN.md +183 -321
  110. package/web/references/elice/DESIGN.md +445 -0
  111. package/web/references/eslite/DESIGN.md +257 -0
  112. package/web/references/evaair/DESIGN.md +338 -0
  113. package/web/references/expo/DESIGN.md +238 -331
  114. package/web/references/familymart-tw/DESIGN.md +254 -0
  115. package/web/references/ferrari/DESIGN.md +160 -377
  116. package/web/references/figma/DESIGN.md +197 -451
  117. package/web/references/fitpet/DESIGN.md +445 -0
  118. package/web/references/flex/DESIGN.md +170 -253
  119. package/web/references/framer/DESIGN.md +197 -340
  120. package/web/references/freee/DESIGN.md +211 -533
  121. package/web/references/friendliai/DESIGN.md +431 -0
  122. package/web/references/frip/DESIGN.md +440 -0
  123. package/web/references/furiosaai/DESIGN.md +450 -0
  124. package/web/references/gangnamunni/DESIGN.md +154 -591
  125. package/web/references/gaudiolab/DESIGN.md +414 -0
  126. package/web/references/google/DESIGN.md +290 -398
  127. package/web/references/goorm/DESIGN.md +470 -0
  128. package/web/references/greencar/DESIGN.md +420 -0
  129. package/web/references/hackle/DESIGN.md +472 -0
  130. package/web/references/hashicorp/DESIGN.md +273 -318
  131. package/web/references/heydealer/DESIGN.md +429 -0
  132. package/web/references/humanscape/DESIGN.md +433 -0
  133. package/web/references/hwahae/DESIGN.md +453 -0
  134. package/web/references/hyundai/DESIGN.md +158 -368
  135. package/web/references/hyundaicard/DESIGN.md +171 -121
  136. package/web/references/ibm/DESIGN.md +227 -378
  137. package/web/references/idus/DESIGN.md +450 -0
  138. package/web/references/igaworks/DESIGN.md +437 -0
  139. package/web/references/inflearn/DESIGN.md +221 -366
  140. package/web/references/intuit/DESIGN.md +244 -0
  141. package/web/references/jandi/DESIGN.md +191 -291
  142. package/web/references/jobplanet/DESIGN.md +415 -0
  143. package/web/references/kakao/DESIGN.md +287 -475
  144. package/web/references/kakaobank/DESIGN.md +220 -521
  145. package/web/references/kakaogames/DESIGN.md +220 -0
  146. package/web/references/kakaopay/DESIGN.md +207 -526
  147. package/web/references/karrot/DESIGN.md +227 -251
  148. package/web/references/kb-kookmin/DESIGN.md +308 -0
  149. package/web/references/kbank/DESIGN.md +220 -175
  150. package/web/references/kcd/DESIGN.md +432 -0
  151. package/web/references/kmong/DESIGN.md +281 -356
  152. package/web/references/krds/DESIGN.md +245 -19
  153. package/web/references/kream/DESIGN.md +224 -359
  154. package/web/references/kurly/DESIGN.md +211 -533
  155. package/web/references/kyobobook/DESIGN.md +445 -0
  156. package/web/references/lablup/DESIGN.md +474 -0
  157. package/web/references/lamborghini/DESIGN.md +198 -360
  158. package/web/references/lemonbase/DESIGN.md +452 -0
  159. package/web/references/lguplus/DESIGN.md +259 -0
  160. package/web/references/likelion/DESIGN.md +283 -0
  161. package/web/references/line/DESIGN.md +396 -355
  162. package/web/references/linear.app/DESIGN.md +209 -562
  163. package/web/references/lotteon/DESIGN.md +386 -0
  164. package/web/references/lovable/DESIGN.md +255 -349
  165. package/web/references/makinarocks/DESIGN.md +242 -0
  166. package/web/references/maum-ai/DESIGN.md +423 -0
  167. package/web/references/medibloc/DESIGN.md +425 -0
  168. package/web/references/megabox/DESIGN.md +232 -0
  169. package/web/references/mercari/DESIGN.md +217 -434
  170. package/web/references/microsoft/DESIGN.md +234 -388
  171. package/web/references/mildang/DESIGN.md +411 -0
  172. package/web/references/millie/DESIGN.md +183 -504
  173. package/web/references/minimax/DESIGN.md +264 -322
  174. package/web/references/miricanvas/DESIGN.md +182 -355
  175. package/web/references/miro/DESIGN.md +234 -232
  176. package/web/references/mistral.ai/DESIGN.md +231 -314
  177. package/web/references/mixi/DESIGN.md +234 -0
  178. package/web/references/moin/DESIGN.md +445 -0
  179. package/web/references/mongodb/DESIGN.md +219 -316
  180. package/web/references/moreh/DESIGN.md +437 -0
  181. package/web/references/musinsa/DESIGN.md +184 -510
  182. package/web/references/mynavi/DESIGN.md +242 -0
  183. package/web/references/myrealtrip/DESIGN.md +169 -406
  184. package/web/references/naver/DESIGN.md +328 -499
  185. package/web/references/naverwebtoon/DESIGN.md +172 -395
  186. package/web/references/neosapience/DESIGN.md +441 -0
  187. package/web/references/nhn/DESIGN.md +169 -346
  188. package/web/references/nhncloud/DESIGN.md +185 -123
  189. package/web/references/nota/DESIGN.md +451 -0
  190. package/web/references/notion/DESIGN.md +271 -475
  191. package/web/references/nrise/DESIGN.md +417 -0
  192. package/web/references/ohouse/DESIGN.md +210 -549
  193. package/web/references/oliveyoung/DESIGN.md +217 -326
  194. package/web/references/ollama/DESIGN.md +241 -308
  195. package/web/references/onestore/DESIGN.md +248 -0
  196. package/web/references/palantir/DESIGN.md +256 -0
  197. package/web/references/panasonic/DESIGN.md +276 -0
  198. package/web/references/patternfly/DESIGN.md +259 -0
  199. package/web/references/payhere/DESIGN.md +438 -0
  200. package/web/references/pega/DESIGN.md +262 -0
  201. package/web/references/peoplefund/DESIGN.md +431 -0
  202. package/web/references/petfriends/DESIGN.md +428 -0
  203. package/web/references/pinkfong/DESIGN.md +199 -367
  204. package/web/references/pinterest/DESIGN.md +258 -308
  205. package/web/references/portone/DESIGN.md +446 -0
  206. package/web/references/poya/DESIGN.md +286 -0
  207. package/web/references/pozalabs/DESIGN.md +438 -0
  208. package/web/references/protopie/DESIGN.md +419 -0
  209. package/web/references/qraft/DESIGN.md +448 -0
  210. package/web/references/queenit/DESIGN.md +432 -0
  211. package/web/references/quotabook/DESIGN.md +449 -0
  212. package/web/references/rebellions/DESIGN.md +449 -0
  213. package/web/references/recruit/DESIGN.md +247 -0
  214. package/web/references/remember/DESIGN.md +202 -396
  215. package/web/references/resend/DESIGN.md +274 -348
  216. package/web/references/returnzero/DESIGN.md +460 -0
  217. package/web/references/sakura-internet/DESIGN.md +269 -0
  218. package/web/references/samsung/DESIGN.md +157 -359
  219. package/web/references/sandoll/DESIGN.md +445 -0
  220. package/web/references/sanity/DESIGN.md +241 -375
  221. package/web/references/saramin/DESIGN.md +465 -0
  222. package/web/references/scatterlab/DESIGN.md +412 -0
  223. package/web/references/selectstar/DESIGN.md +439 -0
  224. package/web/references/servicenow/DESIGN.md +289 -0
  225. package/web/references/shiftee/DESIGN.md +468 -0
  226. package/web/references/shinhanbank/DESIGN.md +161 -341
  227. package/web/references/shinhancard/DESIGN.md +208 -319
  228. package/web/references/sionic/DESIGN.md +454 -0
  229. package/web/references/sktelecom/DESIGN.md +310 -0
  230. package/web/references/socar/DESIGN.md +125 -32
  231. package/web/references/softbank/DESIGN.md +231 -0
  232. package/web/references/solapi/DESIGN.md +483 -0
  233. package/web/references/sony/DESIGN.md +234 -0
  234. package/web/references/soop/DESIGN.md +261 -0
  235. package/web/references/spacex/DESIGN.md +184 -323
  236. package/web/references/spotify/DESIGN.md +253 -394
  237. package/web/references/squeezebits/DESIGN.md +441 -0
  238. package/web/references/stayfolio/DESIGN.md +422 -0
  239. package/web/references/stripe/DESIGN.md +212 -491
  240. package/web/references/supabase/DESIGN.md +244 -316
  241. package/web/references/supertone/DESIGN.md +413 -0
  242. package/web/references/tabling/DESIGN.md +415 -0
  243. package/web/references/taishinbank/DESIGN.md +243 -0
  244. package/web/references/teamlab/DESIGN.md +240 -0
  245. package/web/references/teamsparta/DESIGN.md +472 -0
  246. package/web/references/tellingme/DESIGN.md +392 -0
  247. package/web/references/tesla/DESIGN.md +244 -427
  248. package/web/references/thsr/DESIGN.md +284 -0
  249. package/web/references/thumbtack/DESIGN.md +302 -0
  250. package/web/references/together.ai/DESIGN.md +257 -304
  251. package/web/references/toss/DESIGN.md +251 -593
  252. package/web/references/toss-securities/DESIGN.md +255 -178
  253. package/web/references/tossbank/DESIGN.md +195 -491
  254. package/web/references/toyota/DESIGN.md +238 -0
  255. package/web/references/tving/DESIGN.md +197 -245
  256. package/web/references/typed/DESIGN.md +413 -0
  257. package/web/references/uber/DESIGN.md +256 -333
  258. package/web/references/udn/DESIGN.md +250 -0
  259. package/web/references/upbit/DESIGN.md +145 -256
  260. package/web/references/upstage/DESIGN.md +211 -204
  261. package/web/references/uswds/DESIGN.md +287 -0
  262. package/web/references/vercel/DESIGN.md +236 -440
  263. package/web/references/vuno/DESIGN.md +413 -0
  264. package/web/references/wanted/DESIGN.md +215 -487
  265. package/web/references/weverse/DESIGN.md +437 -0
  266. package/web/references/wise/DESIGN.md +223 -231
  267. package/web/references/wisetracker/DESIGN.md +462 -0
  268. package/web/references/wooribank/DESIGN.md +245 -0
  269. package/web/references/yanolja/DESIGN.md +250 -419
  270. package/web/references/yeogiotte/DESIGN.md +235 -418
  271. package/web/references/zapier/DESIGN.md +256 -377
  272. package/web/references/zendesk/DESIGN.md +288 -0
  273. package/web/references/zigzag/DESIGN.md +200 -621
  274. package/dist/install-skills-7UUDOLG2.js +0 -734
  275. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -8,56 +8,140 @@ primary_color: "#e60023"
8
8
  logo:
9
9
  type: simpleicons
10
10
  slug: pinterest
11
- verified: "2026-05-15"
11
+ verified: "2026-07-13"
12
12
  omd: "0.1"
13
13
  ds:
14
14
  name: Gestalt
15
15
  url: "https://gestalt.pinterest.systems"
16
16
  type: system
17
- description: Pinterest's open-source React component library with tokens and foundations.
17
+ description: Pinterest's public design system for product teams.
18
+ verification_v2:
19
+ schema: 2
20
+ checked: "2026-07-13"
21
+ surfaces:
22
+ - { id: home, kind: consumer-product, url: "https://kr.pinterest.com/", inspected: "2026-07-13" }
23
+ - { id: surface-2, kind: consumer-auth, url: "https://kr.pinterest.com/", inspected: "2026-07-13" }
24
+ - { id: surface-3, kind: business-marketing, url: "https://business.pinterest.com/ko/", inspected: "2026-07-13" }
25
+ sources:
26
+ - { id: consumer-capture, kind: product-surface, url: "https://kr.pinterest.com/", captured: "2026-07-13" }
27
+ - { id: business-capture, kind: product-surface, url: "https://business.pinterest.com/ko/", captured: "2026-07-13" }
28
+ - { id: gestalt-context, kind: official-doc, url: "https://gestalt.pinterest.systems/", captured: "2026-07-13" }
29
+ - { id: brand-guidelines, kind: brand-asset, url: "https://business.pinterest.com/en-in/brand-guidelines/", captured: "2026-07-13" }
30
+ - { id: consumer-font-assets, kind: brand-asset, url: "https://s.pinimg.com/font/Pin-Sans-Regular.ttf", captured: "2026-07-13" }
31
+ - { id: business-font-assets, kind: brand-asset, url: "https://s.pinimg.com/font/Pinterest-Sans-Pro-Regular.otf", captured: "2026-07-13" }
32
+ conflicts: []
33
+ claims:
34
+ "tokens.colors.primary": &consumer { surface_id: home, source_id: consumer-capture, method: computed-style, captured: "2026-07-13" }
35
+ "tokens.colors.consumer-ink": *consumer
36
+ "tokens.colors.muted": *consumer
37
+ "tokens.colors.secondary-surface": *consumer
38
+ "tokens.colors.control-border": *consumer
39
+ "tokens.colors.canvas": *consumer
40
+ "tokens.colors.business-ink": &business { surface_id: surface-3, source_id: business-capture, method: computed-style, captured: "2026-07-13" }
41
+ "tokens.colors.business-action": *business
42
+ "tokens.colors.on-action": *business
43
+ "tokens.typography.family.ui": *consumer
44
+ "tokens.typography.family.business-marketing": *business
45
+ "tokens.typography.consumer-ui.size": *consumer
46
+ "tokens.typography.consumer-ui.weight": *consumer
47
+ "tokens.typography.consumer-ui.use": *consumer
48
+ "tokens.typography.consumer-form.size": *consumer
49
+ "tokens.typography.consumer-form.weight": *consumer
50
+ "tokens.typography.consumer-form.lineHeight": *consumer
51
+ "tokens.typography.consumer-form.use": *consumer
52
+ "tokens.typography.business-body.size": *business
53
+ "tokens.typography.business-body.weight": *business
54
+ "tokens.typography.business-body.use": *business
55
+ "tokens.typography.business-tab.size": *business
56
+ "tokens.typography.business-tab.weight": *business
57
+ "tokens.typography.business-tab.use": *business
58
+ "tokens.spacing.xs": *consumer
59
+ "tokens.spacing.sm": *consumer
60
+ "tokens.spacing.md": *consumer
61
+ "tokens.spacing.lg": *business
62
+ "tokens.rounded.consumer-control": *consumer
63
+ "tokens.rounded.business-tab": *business
64
+ "tokens.rounded.business-action": *business
65
+ "tokens.shadow.none": *consumer
66
+ "tokens.components.consumer-primary-action.type": *consumer
67
+ "tokens.components.consumer-primary-action.bg": *consumer
68
+ "tokens.components.consumer-primary-action.fg": *consumer
69
+ "tokens.components.consumer-primary-action.border": *consumer
70
+ "tokens.components.consumer-primary-action.radius": *consumer
71
+ "tokens.components.consumer-primary-action.padding": *consumer
72
+ "tokens.components.consumer-primary-action.font": *consumer
73
+ "tokens.components.consumer-primary-action.states": *consumer
74
+ "tokens.components.consumer-primary-action.use": *consumer
75
+ "tokens.components.consumer-secondary-action.type": *consumer
76
+ "tokens.components.consumer-secondary-action.bg": *consumer
77
+ "tokens.components.consumer-secondary-action.fg": *consumer
78
+ "tokens.components.consumer-secondary-action.border": *consumer
79
+ "tokens.components.consumer-secondary-action.radius": *consumer
80
+ "tokens.components.consumer-secondary-action.padding": *consumer
81
+ "tokens.components.consumer-secondary-action.font": *consumer
82
+ "tokens.components.consumer-secondary-action.states": *consumer
83
+ "tokens.components.consumer-secondary-action.use": *consumer
84
+ "tokens.components.consumer-form-input.type": *consumer
85
+ "tokens.components.consumer-form-input.fg": *consumer
86
+ "tokens.components.consumer-form-input.border": *consumer
87
+ "tokens.components.consumer-form-input.radius": *consumer
88
+ "tokens.components.consumer-form-input.padding": *consumer
89
+ "tokens.components.consumer-form-input.font": *consumer
90
+ "tokens.components.consumer-form-input.states": *consumer
91
+ "tokens.components.consumer-form-input.use": *consumer
92
+ "tokens.components.business-action.type": *business
93
+ "tokens.components.business-action.bg": *business
94
+ "tokens.components.business-action.fg": *business
95
+ "tokens.components.business-action.radius": *business
96
+ "tokens.components.business-action.padding": *business
97
+ "tokens.components.business-action.font": *business
98
+ "tokens.components.business-action.states": *business
99
+ "tokens.components.business-action.use": *business
100
+ "tokens.components.business-outline-action.type": *business
101
+ "tokens.components.business-outline-action.bg": *business
102
+ "tokens.components.business-outline-action.fg": *business
103
+ "tokens.components.business-outline-action.radius": *business
104
+ "tokens.components.business-outline-action.padding": *business
105
+ "tokens.components.business-outline-action.font": *business
106
+ "tokens.components.business-outline-action.states": *business
107
+ "tokens.components.business-outline-action.use": *business
108
+ "tokens.components.business-tab.type": *business
109
+ "tokens.components.business-tab.fg": *business
110
+ "tokens.components.business-tab.radius": *business
111
+ "tokens.components.business-tab.padding": *business
112
+ "tokens.components.business-tab.font": *business
113
+ "tokens.components.business-tab.states": *business
114
+ "tokens.components.business-tab.use": *business
18
115
  tokens:
19
- source: prose-derived
20
- extracted: "2026-06-09"
116
+ source: reconciled
117
+ extracted: "2026-07-13"
118
+ note: "Consumer product/auth and Pinterest Business marketing are separate source domains; no route-local value is generalized across them."
21
119
  colors:
22
120
  primary: "#e60023"
23
- green: "#103c25"
24
- green-hover: "#0b2819"
25
- heading: "#211922"
26
- ink: "#000000"
121
+ consumer-ink: "#211922"
27
122
  muted: "#62625b"
28
- disabled-text: "#91918c"
29
- focus: "#435ee5"
30
- link: "#2b48d4"
31
- pressed-blue: "#617bff"
32
- perf-purple: "#6845ab"
33
- rec-purple: "#7e238b"
34
- facebook: "#0866ff"
35
- sand: "#e5e5e0"
36
- warm-light: "#e0e0d9"
37
- border-disabled: "#c8c8c1"
38
- hover-gray: "#bcbcb3"
39
- dark-surface: "#33332e"
40
- error: "#9e0a0a"
41
- on-primary: "#ffffff"
123
+ secondary-surface: "#e5e5e0"
124
+ control-border: "#91918c"
125
+ canvas: "#ffffff"
126
+ business-ink: "#111111"
127
+ business-action: "#111111"
128
+ on-action: "#ffffff"
42
129
  typography:
43
- family: { sans: "Pin Sans" }
44
- display-hero: { size: 70, weight: 600, use: "Maximum-impact hero" }
45
- section-heading: { size: 28, weight: 700, tracking: -1.2, use: "Section titles, negative tracking" }
46
- body: { size: 16, weight: 400, lineHeight: 1.40, use: "Standard reading" }
47
- caption-bold: { size: 14, weight: 700, use: "Strong metadata" }
48
- caption: { size: 12, weight: 400, lineHeight: 1.50, use: "Small text, tags" }
49
- button: { size: 12, weight: 400, use: "Button labels" }
50
- spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
51
- rounded: { sm: 8, md: 16, lg: 20, full: 9999 }
52
- shadow:
53
- none: "none"
130
+ family: { ui: "Pin Sans", business-marketing: "PinterestSansPro" }
131
+ consumer-ui: { size: 12, weight: 400, use: "Repeated consumer product/auth control sample" }
132
+ consumer-form: { size: 16, weight: 400, lineHeight: 1.50, use: "Consumer auth form input" }
133
+ business-body: { size: 16, weight: 400, use: "Business-marketing actions and body samples" }
134
+ business-tab: { size: 15, weight: 700, use: "Business-marketing tab" }
135
+ spacing: { xs: 4, sm: 8, md: 12, lg: 20 }
136
+ rounded: { consumer-control: 16, business-tab: 12, business-action: 30 }
137
+ shadow: { none: "none" }
54
138
  components:
55
- button-primary: { type: button, bg: "#e60023", fg: "#000000", radius: 16, padding: "6px 14px", use: "Primary CTA black text on red" }
56
- button-secondary: { type: button, bg: "#e5e5e0", fg: "#000000", radius: 16, padding: "6px 14px", use: "Secondary action, warm sand gray" }
57
- button-circular: { type: button, bg: "#e0e0d9", fg: "#211922", radius: 9999, use: "Pin actions, navigation controls" }
58
- button-ghost: { type: button, fg: "#000000", radius: 16, use: "Tertiary action, transparent" }
59
- input: { type: input, bg: "#ffffff", fg: "#211922", radius: 16, padding: "11px 15px", use: "Email input, 1px #91918c border" }
60
- card: { type: card, bg: "#ffffff", radius: 16, use: "Photography-first pin card, no shadow" }
139
+ consumer-primary-action: { type: button, bg: "#e60023", fg: "#000000", border: "2px solid transparent", radius: "16px", padding: "6px 14px", font: "12px / 400 Pin Sans", states: "Default baseline captured; no changed interaction style promoted.", use: "Consumer header action; home::[data-omd-capture=7]" }
140
+ consumer-secondary-action: { type: button, bg: "#e5e5e0", fg: "#000000", border: "2px solid transparent", radius: "16px", padding: "6px 14px", font: "12px / 400 Pin Sans", states: "Default baseline captured; no changed interaction style promoted.", use: "Consumer header secondary action; home::[data-omd-capture=8]" }
141
+ consumer-form-input: { type: input, fg: "#000000", border: "1px solid #91918c", radius: "16px", padding: "11px 15px", font: "16px / 400 Pin Sans", states: "Default baseline captured; no changed focus or error style promoted.", use: "Consumer auth input; home::[data-omd-capture=19]" }
142
+ business-action: { type: button, bg: "#111111", fg: "#ffffff", radius: "30px", padding: "0px 20px", font: "16px / 400 PinterestSansPro", states: "Default baseline captured; no changed interaction style promoted.", use: "Business-marketing action; surface-3::[data-omd-capture=9]" }
143
+ business-outline-action: { type: button, bg: "#ffffff", fg: "#111111", radius: "30px", padding: "0px 20px", font: "16px / 400 PinterestSansPro", states: "Default baseline captured; no changed interaction style promoted.", use: "Business-marketing outline action; surface-3::[data-omd-capture=10]" }
144
+ business-tab: { type: tab, fg: "#111111", radius: "12px", padding: "14px 16px", font: "15px / 700 PinterestSansPro", states: "selected observed: #ffffff text; interaction capture records tab-selected", use: "Business-marketing tab; surface-3::[data-omd-capture=16]" }
61
145
  components_harvested: true
62
146
  ---
63
147
 
@@ -65,302 +149,168 @@ tokens:
65
149
 
66
150
  ## 1. Visual Theme & Atmosphere
67
151
 
68
- Pinterest's website is a warm, inspiration-driven canvas that treats visual discovery like a lifestyle magazine. The design operates on a soft, slightly warm white background with Pinterest Red (`#e60023`) as the singular, bold brand accent. Unlike the cool blues of most tech platforms, Pinterest's neutral scale has a distinctly warm undertone grays lean toward olive/sand (`#91918c`, `#62625b`, `#e5e5e0`) rather than cool steel, creating a cozy, craft-like atmosphere that invites browsing.
69
-
70
- The typography uses Pin Sans a custom proprietary font with a broad fallback stack including Japanese fonts, reflecting Pinterest's global reach. At display scale (70px, weight 600), Pin Sans creates large, inviting headlines. At smaller sizes, the system is compact: buttons at 12px, captions at 12–14px. The CSS variable naming system (`--comp-*`, `--sema-*`, `--base-*`) reveals a sophisticated three-tier design token architecture: component-level, semantic-level, and base-level tokens.
71
-
72
- What distinguishes Pinterest is its generous border-radius system (12px–40px, plus 50% for circles) and warm-tinted button backgrounds. The secondary button (`#e5e5e0`) has a distinctly warm, sand-like tone rather than cold gray. The primary red button uses 16px radius — rounded but not pill-shaped. Combined with warm badge backgrounds (`hsla(60,20%,98%,.5)` — a subtle yellow-warm wash) and photography-dominant layouts, the result is a design that feels handcrafted and personal, not corporate and sterile.
73
-
74
- **Key Characteristics:**
75
- - Warm white canvas with olive/sand-toned neutrals cozy, not clinical
76
- - Pinterest Red (`#e60023`) as singular bold accent never subtle, always confident
77
- - Pin Sans custom font with global fallback stack (including CJK)
78
- - Three-tier token architecture: `--comp-*` / `--sema-*` / `--base-*`
79
- - Warm secondary surfaces: sand gray (`#e5e5e0`), warm badge (`hsla(60,20%,98%,.5)`)
80
- - Generous border-radius: 16px standard, up to 40px for large containers
81
- - Photography-first content — pins/images are the primary visual element
82
- - Dark near-purple text (`#211922`)warm, with a hint of plum
83
-
84
- ## 2. Color Palette & Roles
85
-
86
- ### Primary Brand
87
- - **Pinterest Red** (`#e60023`): Primary CTA, brand accent bold, confident red
88
- - **Green 700** (`#103c25`): `--base-color-green-700`, success/nature accent
89
- - **Green 700 Hover** (`#0b2819`): `--base-color-hover-green-700`, pressed green
90
-
91
- ### Text
92
- - **Plum Black** (`#211922`): Primary text warm near-black with plum undertone
93
- - **Black** (`#000000`): Secondary text, button text
94
- - **Olive Gray** (`#62625b`): Secondary descriptions, muted text
95
- - **Warm Silver** (`#91918c`): `--comp-button-color-text-transparent-disabled`, disabled text, input borders
96
- - **White** (`#ffffff`): Text on dark/colored surfaces
97
-
98
- ### Interactive
99
- - **Focus Blue** (`#435ee5`): `--comp-button-color-border-focus-outer-transparent`, focus rings
100
- - **Performance Purple** (`#6845ab`): `--sema-color-hover-icon-performance-plus`, performance features
101
- - **Recommendation Purple** (`#7e238b`): `--sema-color-hover-text-recommendation`, AI recommendation
102
- - **Link Blue** (`#2b48d4`): Link text color
103
- - **Facebook Blue** (`#0866ff`): `--facebook-background-color`, social login
104
- - **Pressed Blue** (`#617bff`): `--base-color-pressed-blue-200`, pressed state
105
-
106
- ### Surface & Border
107
- - **Sand Gray** (`#e5e5e0`): Secondary button background — warm, craft-like
108
- - **Warm Light** (`#e0e0d9`): Circular button backgrounds, badges
109
- - **Warm Wash** (`hsla(60, 20%, 98%, 0.5)`): `--comp-badge-color-background-wash-light`, subtle warm badge bg
110
- - **Fog** (`#f6f6f3`): Light surface (at 50% opacity)
111
- - **Border Disabled** (`#c8c8c1`): `--sema-color-border-disabled`, disabled borders
112
- - **Hover Gray** (`#bcbcb3`): `--base-color-hover-grayscale-150`, hover border
113
- - **Dark Surface** (`#33332e`): Dark section backgrounds
114
-
115
- ### Semantic
116
- - **Error Red** (`#9e0a0a`): Checkbox/form error states
117
-
118
- ## 3. Typography Rules
119
-
120
- ### Font Family
121
- - **Primary**: `Pin Sans`, fallbacks: `-apple-system, system-ui, Segoe UI, Roboto, Oxygen-Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, ヒラギノ角ゴ Pro W3, メイリオ, Meiryo, MS Pゴシック, Arial`
122
-
123
- ### Hierarchy
124
-
125
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
126
- |------|------|------|--------|-------------|----------------|-------|
127
- | Display Hero | Pin Sans | 70px (4.38rem) | 600 | normal | normal | Maximum impact |
128
- | Section Heading | Pin Sans | 28px (1.75rem) | 700 | normal | -1.2px | Negative tracking |
129
- | Body | Pin Sans | 16px (1.00rem) | 400 | 1.40 | normal | Standard reading |
130
- | Caption Bold | Pin Sans | 14px (0.88rem) | 700 | normal | normal | Strong metadata |
131
- | Caption | Pin Sans | 12px (0.75rem) | 400–500 | 1.50 | normal | Small text, tags |
132
- | Button | Pin Sans | 12px (0.75rem) | 400 | normal | normal | Button labels |
133
-
134
- ### Principles
135
- - **Compact type scale**: The range is 12px–70px with a dramatic jump — most functional text is 12–16px, creating a dense, app-like information hierarchy.
136
- - **Warm weight distribution**: 600–700 for headings, 400–500 for body. No ultra-light weights — the type always feels substantial.
137
- - **Negative tracking on headings**: -1.2px on 28px headings creates cozy, intimate section titles.
138
- - **Single font family**: Pin Sans handles everything — no secondary display or monospace font detected.
139
-
140
- ## 4. Component Stylings
141
-
142
- ### Buttons
143
-
144
- **Primary Red**
145
- - Background: `#e60023` (Pinterest Red)
146
- - Text: `#000000` (black — unusual choice for contrast on red)
147
- - Padding: 6px 14px
148
- - Radius: 16px (generously rounded, not pill)
149
- - Border: `2px solid rgba(255, 255, 255, 0)` (transparent)
150
- - Focus: semantic border + outline via CSS variables
151
-
152
- **Secondary Sand**
153
- - Background: `#e5e5e0` (warm sand gray)
152
+ Pinterest is a visual discovery platform for searching, saving, and shopping ideas. Its public Gestalt design-system introduction frames the product as helping people create a life they love; the public business explanation describes Pins as the image, video, and link-bearing units that connect browsing to action. The supplied consumer capture expresses that role with an image-led, low-chrome surface: a warm plum ink, quiet olive-gray supporting text, a single red action, and compact rounded account controls. Official brand guidance similarly fixes the recognizable mark as a white script P in a red circle.
153
+
154
+ The observed public ecosystem is deliberately not one uniform UI. The signed-out consumer/auth route uses loaded `Pin Sans`, warm `#211922` ink, `#E60023` consumer action, and `#E5E5E0` secondary surface. Pinterest Business is a separate marketing surface with loaded `PinterestSansPro`, `#111111` actions, larger 30px pills, and a selected-tab treatment. These route-local facts are documented side by side without treating business lead-generation chrome as consumer-product UI.
155
+
156
+ ## 2. Layout & Grid
157
+
158
+ - The supplied consumer capture is a public signed-out/product-auth route at 1440×900; it contains a 48px search control and 48px account actions.
159
+ - Pinterest Business is a public marketing route at 1440×900; its 60px action examples and 47px tabs are retained only for that surface.
160
+ - Pinterest’s official business guidance describes Pins as visual content and recommends vertical 2:3 advertising canvases, but the supplied capture does not establish a reusable consumer masonry-column count, card ratio, breakpoint, or responsive grid contract.
161
+
162
+ ## 3. Color & Typography
163
+
164
+ ### Color tokens
165
+
166
+ - `#E60023` — consumer primary action background on `home` and `surface-2`.
167
+ - `#211922` — consumer ink on the signed-out/product-auth surfaces.
168
+ - `#62625B` consumer muted-text sample.
169
+ - `#E5E5E0` — consumer secondary-action background.
170
+ - `#91918C` — consumer auth-input border.
171
+ - `#FFFFFF` observed consumer canvas/action text and business outline surface.
172
+ - `#111111` — Pinterest Business marketing ink and filled-action background; it is not promoted as a consumer-product substitute.
173
+
174
+ ### Typography evidence classes
175
+
176
+ - **Live consumer computed use:** `Pin Sans` is loaded/high confidence with 118 visible uses across body, heading, input, button, text, and toggle roles. The collector matches computed family use to eight Pinterest-hosted `s.pinimg.com/font/Pin-Sans-*` files. It is the consumer UI family token.
177
+ - **Live business-marketing computed use:** `PinterestSansPro` is loaded/high confidence with 199 visible uses across body, buttons, headings, list items, tabs, and text. The collector matches it to four Pinterest-hosted `Pinterest-Sans-Pro-*` files. It remains a business-marketing family token rather than a consumer-family replacement.
178
+ - **Declared-only assets:** `HaasGrotDisp`, `HaasGrotText`, `PinterestSans`, `PinterestSansLC`, `PinterestSansTPJ`, and `PinterestUI` have captured `@font-face` sources but zero visible use. They remain declared-only; no specimen or UI token is inferred.
179
+ - **Unresolved embedded face:** one Google Sign-In control reports `Google Sans` with no matching loaded FontFace or Pinterest source. It is third-party chrome and is not a Pinterest token.
180
+ - **Licence boundary:** the official search found Pinterest-hosted font files but no first-party public licence granting downstream reuse of Pin Sans or PinterestSansPro. The family names and observed metadata are recorded; the files are not reusable project assets.
181
+
182
+ ## 4. Components
183
+
184
+ ### Consumer primary action
185
+
186
+ **Default**
187
+ - Background: `#E60023`
154
188
  - Text: `#000000`
155
- - Padding: 6px 14px
156
- - Radius: 16px
157
- - Focus: same semantic border system
158
-
159
- **Circular Action**
160
- - Background: `#e0e0d9` (warm light)
161
- - Text: `#211922` (plum black)
162
- - Radius: 50% (circle)
163
- - Use: Pin actions, navigation controls
164
-
165
- **Ghost / Transparent**
166
- - Background: transparent
189
+ - Border: `2px solid transparent`
190
+ - Radius: `16px`
191
+ - Padding: `6px 14px`
192
+ - Font: `12px / 400 Pin Sans`
193
+ - Use: Consumer header action; `home::[data-omd-capture="7"]`, also repeated on `surface-2`.
194
+
195
+ ### Consumer secondary action
196
+
197
+ **Default**
198
+ - Background: `#E5E5E0`
199
+ - Text: `#000000`
200
+ - Border: `2px solid transparent`
201
+ - Radius: `16px`
202
+ - Padding: `6px 14px`
203
+ - Font: `12px / 400 Pin Sans`
204
+ - Use: Consumer header secondary action; `home::[data-omd-capture="8"]`, also repeated on `surface-2`.
205
+
206
+ ### Consumer auth input
207
+
208
+ **Default**
167
209
  - Text: `#000000`
168
- - No border
169
- - Use: Tertiary actions
170
-
171
- ### Cards & Containers
172
- - Photography-first pin cards with generous radius (12px–20px)
173
- - No traditional box-shadow on most cards
174
- - White or warm fog backgrounds
175
- - 8px white thick border on some image containers
176
-
177
- ### Inputs
178
- - Email input: white background, `1px solid #91918c` border, 16px radius, 11px 15px padding
179
- - Focus: semantic border + outline system via CSS variables
180
-
181
- ### Navigation
182
- - Clean header on white or warm background
183
- - Pinterest logo + search bar centered
184
- - Pin Sans 16px for nav links
185
- - Pinterest Red accents for active states
186
-
187
- ### Image Treatment
188
- - Pin-style masonry grid (signature Pinterest layout)
189
- - Rounded corners: 12px–20px on images
190
- - Photography as primary content — every pin is an image
191
- - Thick white borders (8px) on featured image containers
192
-
193
- ## 5. Layout Principles
194
-
195
- ### Spacing System
196
- - Base unit: 8px
197
- - Scale: 4px, 6px, 7px, 8px, 10px, 11px, 12px, 16px, 18px, 20px, 22px, 24px, 32px, 80px, 100px
198
- - Large jumps: 32px → 80px → 100px for section spacing
199
-
200
- ### Grid & Container
201
- - Masonry grid for pin content (signature layout)
202
- - Centered content sections with generous max-width
203
- - Full-width dark footer
204
- - Search bar as primary navigation element
205
-
206
- ### Whitespace Philosophy
207
- - **Inspiration density**: The masonry grid packs pins tightly — the content density IS the value proposition. Whitespace exists between sections, not within the grid.
208
- - **Breathing above, density below**: Hero/feature sections get generous padding; the pin grid is compact and immersive.
209
-
210
- ### Border Radius Scale
211
- - Standard (12px): Small cards, links
212
- - Button (16px): Buttons, inputs, medium cards
213
- - Comfortable (20px): Feature cards
214
- - Large (28px): Large containers
215
- - Section (32px): Tab elements, large panels
216
- - Hero (40px): Hero containers, large feature blocks
217
- - Circle (50%): Action buttons, tab indicators
218
-
219
- ## 6. Depth & Elevation
220
-
221
- | Level | Treatment | Use |
222
- |-------|-----------|-----|
223
- | Flat (Level 0) | No shadow | Default — pins rely on content, not shadow |
224
- | Subtle (Level 1) | Minimal shadow (from tokens) | Elevated overlays, dropdowns |
225
- | Focus (Accessibility) | `--sema-color-border-focus-outer-default` ring | Focus states |
226
-
227
- **Shadow Philosophy**: Pinterest uses minimal shadows. The masonry grid relies on content (photography) to create visual interest rather than elevation effects. Depth comes from the warmth of surface colors and the generous rounding of containers.
228
-
229
- ## 7. Do's and Don'ts
210
+ - Border: `1px solid #91918C`
211
+ - Radius: `16px`
212
+ - Padding: `11px 15px`
213
+ - Font: `16px / 400 Pin Sans`
214
+ - Use: Consumer auth input; `home::[data-omd-capture="19"]`, also repeated on `surface-2`.
215
+
216
+ ### Business marketing action
217
+
218
+ **Default**
219
+ - Background: `#111111`
220
+ - Text: `#FFFFFF`
221
+ - Radius: `30px`
222
+ - Padding: `0px 20px`
223
+ - Font: `16px / 400 PinterestSansPro`
224
+ - Use: Pinterest Business marketing action; `surface-3::[data-omd-capture="9"]`.
225
+
226
+ ### Business marketing outline action
227
+
228
+ **Default**
229
+ - Background: `#FFFFFF`
230
+ - Text: `#111111`
231
+ - Radius: `30px`
232
+ - Padding: `0px 20px`
233
+ - Font: `16px / 400 PinterestSansPro`
234
+ - Use: Pinterest Business marketing outline action; `surface-3::[data-omd-capture="10"]`.
235
+
236
+ ### Business marketing tab
237
+
238
+ **Default**
239
+ - Text: `#111111`
240
+ - Radius: `12px`
241
+ - Padding: `14px 16px`
242
+ - Font: `15px / 700 PinterestSansPro`
243
+ - Selected: White text observed at `surface-3::[data-omd-capture="15"]`; tab selection is recorded by two `interactions[]` entries.
244
+ - Use: Pinterest Business marketing tab; unselected representative `surface-3::[data-omd-capture="16"]`.
245
+
246
+ No hover, focus, pressed, disabled, menu, dialog, validation, or responsive component variant is claimed beyond that tab-selection interaction provenance.
247
+
248
+ ---
249
+
250
+ **Verified:** 2026-07-13
251
+ **Tier 1 sources:** `https://kr.pinterest.com/` (consumer product/auth capture), `https://business.pinterest.com/ko/` (business marketing capture), `https://gestalt.pinterest.systems/` (official product design-system context), `https://business.pinterest.com/en-in/brand-guidelines/` (official brand guidance), and Pinterest-hosted loaded font sources under `https://s.pinimg.com/font/`
252
+ **Tier 2 sources:** `https://getdesign.md/pinterest` (one broad editorial record; no source-backed token/component data used); `https://styles.refero.design/?q=Pinterest` (attempted through built-in web open; safe-open error, no usable record)
253
+ **Conflicts unresolved:** none
254
+
255
+ Legacy global component, font, responsive, motion, and product-state claims were removed because the supplied 2026-07-13 capture establishes only the selector- and surface-scoped observations above.
256
+
257
+ ## 5. Elevation
258
+
259
+ The retained consumer controls have `box-shadow: none`. Business marketing action samples include a 2px `#111111` outline-like shadow, but the one route-local observation does not establish a shared elevation scale.
260
+
261
+ ## 6. Spacing & Shape
262
+
263
+ Observed spacing values retained as a conservative source-bound set are `4 / 8 / 12 / 20px`. Consumer account and form controls use 16px radii; the business marketing tab is 12px and its large actions are 30px. These are observations of separate domains, not a universal radius prescription.
264
+
265
+ ## 7. Iconography & Imagery
266
+
267
+ Pinterest’s official business guidance describes Pins as visual content that can include images or videos and recommends that creative put visuals first. The supplied captures do not establish a reusable icon set, stroke width, media-card ratio, or image treatment, so those details are omitted.
230
268
 
231
269
  ### Do
232
- - Use warm neutrals (`#e5e5e0`, `#e0e0d9`, `#91918c`) — the warm olive/sand tone is the identity
233
- - Apply Pinterest Red (`#e60023`) only for primary CTAs it's bold and singular
234
- - Use Pin Sans exclusively one font for everything
235
- - Apply generous border-radius: 16px for buttons/inputs, 20px+ for cards
236
- - Keep the masonry grid dense — content density is the value
237
- - Use warm badge backgrounds (`hsla(60,20%,98%,.5)`) for subtle warm washes
238
- - Use `#211922` (plum black) for primary text — it's warmer than pure black
270
+
271
+ - Keep the Pinterest badge in its red circle and pair external uses with an account context or call to action, as the official brand guidelines require.
272
+ - Keep consumer and business-marketing component examples source-scoped.
273
+ - Let visual content carry the discovery story rather than inventing unobserved decorative chrome.
239
274
 
240
275
  ### Don't
241
- - Don't use cool gray neutrals — always warm/olive-toned
242
- - Don't use pure black (`#000000`) as primary text use plum black (`#211922`)
243
- - Don't use pill-shaped buttons 16px radius is rounded but not pill
244
- - Don't add heavy shadows Pinterest is flat by design, depth from content
245
- - Don't use small border-radius (<12px) on cards — the generous rounding is core
246
- - Don't introduce additional brand colors — red + warm neutrals is the complete palette
247
- - Don't use thin font weights — Pin Sans at 400 minimum
276
+
277
+ - Do not recolor, outline, or add effects to the Pinterest badge.
278
+ - Do not represent a Pinterest Business action as an observed consumer-product CTA.
279
+ - Do not substitute a system or third-party font for a named Pinterest family.
248
280
 
249
281
  ## 8. Responsive Behavior
250
282
 
251
- ### Breakpoints
252
- | Name | Width | Key Changes |
253
- |------|-------|-------------|
254
- | Mobile | <576px | Single column, compact layout |
255
- | Mobile Large | 576–768px | 2-column pin grid |
256
- | Tablet | 768–890px | Expanded grid |
257
- | Desktop Small | 890–1312px | Standard masonry grid |
258
- | Desktop | 1312–1440px | Full layout |
259
- | Large Desktop | 1440–1680px | Expanded grid columns |
260
- | Ultra-wide | >1680px | Maximum grid density |
261
-
262
- ### Collapsing Strategy
263
- - Pin grid: 5+ columns → 3 → 2 → 1
264
- - Navigation: search bar + icons → simplified mobile nav
265
- - Feature sections: side-by-side → stacked
266
- - Hero: 70px → scales down proportionally
267
- - Footer: dark multi-column → stacked
283
+ The raw bundle is desktop-only (1440×900). Pinterest’s official business creative guidance recommends a vertical 2:3 canvas for mobile advertising, but it does not prove a consumer-product breakpoint or responsive component behavior. No breakpoint table is inferred.
268
284
 
269
285
  ## 9. Agent Prompt Guide
270
286
 
271
- ### Quick Color Reference
272
- - Brand: Pinterest Red (`#e60023`)
273
- - Background: White (`#ffffff`)
274
- - Text: Plum Black (`#211922`)
275
- - Secondary text: Olive Gray (`#62625b`)
276
- - Button surface: Sand Gray (`#e5e5e0`)
277
- - Border: Warm Silver (`#91918c`)
278
- - Focus: Focus Blue (`#435ee5`)
279
-
280
- ### Example Component Prompts
281
- - "Create a hero: white background. Headline at 70px Pin Sans weight 600, plum black (#211922). Red CTA button (#e60023, 16px radius, 6px 14px padding). Secondary sand button (#e5e5e0, 16px radius)."
282
- - "Design a pin card: white background, 16px radius, no shadow. Photography fills top, 16px Pin Sans weight 400 description below in #62625b."
283
- - "Build a circular action button: #e0e0d9 background, 50% radius, #211922 icon."
284
- - "Create an input field: white background, 1px solid #91918c, 16px radius, 11px 15px padding. Focus: blue outline via semantic tokens."
285
- - "Design the dark footer: #33332e background. Pinterest script logo in white. 12px Pin Sans links in #91918c."
286
-
287
- ### Iteration Guide
288
- 1. Warm neutrals everywhere — olive/sand grays, never cool steel
289
- 2. Pinterest Red for CTAs only — bold and singular
290
- 3. 16px radius on buttons/inputs, 20px+ on cards — generous but not pill
291
- 4. Pin Sans is the only font — compact at 12px for UI, 70px for display
292
- 5. Photography carries the design — the UI stays warm and minimal
293
- 6. Plum black (#211922) for text — warmer than pure black
287
+ Use the requested source domain explicitly. For a consumer signed-out/auth example, use `Pin Sans`, plum `#211922` ink, `#E60023` primary action, and `#E5E5E0` secondary action with the selector-backed 16px control radius. For a Pinterest Business marketing example, use `PinterestSansPro`, charcoal `#111111`, and the observed 30px action radius. Do not blend the two into a claimed single system.
294
288
 
295
289
  ## 10. Voice & Tone
296
290
 
297
- Pinterest's voice is **inspirational-warm and visual-first.** Marketing copy avoids tech jargon speaks to creative life moments (weddings, recipes, home decor, fashion). UI chrome stays minimal because the photography carries the brand. Plum black `#211922` for text slightly warmer than pure black, matching the warm-photography aesthetic.
298
-
299
- | Context | Tone |
300
- |---|---|
301
- | CTA | Inspirational verb. "Get started", "Save", "Pin it" |
302
- | Marketing | Lifestyle moments. "Get inspired" recurring |
303
- | Documentation | Sparse — Pinterest is consumer-product, devs use API docs |
304
- | Error | Quiet. "Couldn't load — try again" |
305
-
306
- **Voice samples**
307
- - Marketing pattern: *"Get inspired"* / *"Find ideas you'll love"* <!-- illustrative: tagline patterns -->
308
-
309
- **Forbidden phrases.** "Revolutionary discovery". Aggressive ad-platform framing in consumer surfaces.
291
+ Pinterests first-party product and business materials consistently frame the service around inspiration becoming action: people search, save, shop, and create a life they love. The approved external-language examples in the brand guidelines include “Follow on Pinterest”, “Find more ideas on Pinterest”, and “Get inspired on Pinterest”; they prohibit “Trending on Pinterest”, “Trending Pins”, and using “Pin” as a verb. This is official communications guidance, not a reconstructed in-product copy library.
310
292
 
311
293
  ## 11. Brand Narrative
312
294
 
313
- Pinterest was founded **2010** in Palo Alto by **Ben Silbermann (CEO, born July 14 1982 in Des Moines, Iowa)**, **Paul Sciarra**, and **Evan Sharp** ([Pinterest — Wikipedia](https://en.wikipedia.org/wiki/Pinterest), [Evan Sharp Wikipedia](https://en.wikipedia.org/wiki/Evan_Sharp)). Pinterest emerged from an earlier Silbermann + Sciarra app called **Tote** (a virtual paper-catalog replacement); Silbermann pivoted into a visual board-collection product. **Development began December 2009**; **closed-beta prototype launched March 2010**. **Paul Sciarra left April 2012**. Visual discovery platform — users save ("pin") images to themed boards. **NYSE IPO April 18 2019** under ticker **PINS**. **June 2022 leadership transition**: Silbermann became **Executive Chairman** and **Bill Ready** (former President of Commerce + Payments at **Google**, ex-COO at **PayPal**) became CEO. The brand has stayed remarkably consistent across the leadership change: warm cream canvas, plum-black text, image-grid as primary chrome, red-pill CTA.
295
+ Pinterest describes itself as a visual discovery platform where people search, save, and shop ideas. Its public Gestalt introduction connects the product system to experiences that inspire people to create a life they love, while its business explanation connects visual browsing to saving, clicking, and buying. Current official campaign coverage continues that position: inspiration is presented as a step toward life away from the screen rather than an end in itself.
296
+
297
+ The red-badge mark provides the most explicit first-party brand expression in the sources checked here. Public brand guidance defines it as a white script P in a red circle and limits black or white versions to constrained-colour contexts. This narrative evidence explains the documented mark and product purpose; it does not authorize additional UI tokens.
314
298
 
315
299
  ## 12. Principles
316
300
 
317
- 1. **Photography is the design.** *UI implication:* chrome stays minimal so pins read.
318
- 2. **Plum black `#211922` over pure black.** *UI implication:* warmer text inherits warmth from photography.
319
- 3. **Red `#e60023` pill is THE CTA.** *UI implication:* primary actions always red pill.
320
- 4. **Masonry grid is the layout.** *UI implication:* preserve variable-height tile grid.
321
- 5. **No corporate polish.** *UI implication:* keep the warm-handmade-collection aesthetic.
301
+ 1. **Visual discovery should lead to action.** *UI implication:* retain image/video-first content context where it is actually supplied; do not replace it with generic dashboard chrome.
302
+ 2. **Inspiration is the product promise.** *UI implication:* make consumer action language practical and supportive, using the first-party guidance rather than invented hype.
303
+ 3. **The badge retains its circle and colour treatment.** *UI implication:* do not recolour, outline, or add effects to the Pinterest mark.
304
+ 4. **Source domains stay distinct.** *UI implication:* business-marketing typography and 30px actions are not defaults for consumer product/auth controls.
322
305
 
323
306
  ## 13. Personas
324
307
 
325
- *Personas are fictional archetypes informed by Pinterest user segments (creative planners, home/recipe enthusiasts, ecommerce sellers), not individual people.*
326
-
327
- **Sofia Park, 31, Seoul.** Wedding planner. Boards organized by season + venue. Treats Pinterest as professional moodboard.
328
-
329
- **Marcus Chen, 38, San Francisco.** Home renovation enthusiast. Multi-board project planning.
330
-
331
- **Yuki Tanaka, 27, Tokyo.** Indie ecommerce seller using Pinterest Ads for product discovery.
308
+ Official sources checked for this update describe broad audiences such as people discovering ideas, shoppers, creators, and businesses, but do not provide verified user-persona definitions suitable for this reference. `[FILL IN: user research or customer-segment source supplied by Pinterest]`
332
309
 
333
310
  ## 14. States
334
311
 
335
- | State | Treatment |
336
- |---|---|
337
- | **Empty (no pins)** | "Save pins to see them here" + recommended pin grid |
338
- | **Empty (search)** | "No results for `<query>`. Try different keywords." |
339
- | **Loading (feed)** | Masonry skeleton with cream-warm rectangles |
340
- | **Loading (image)** | Dominant-color placeholder before image loads |
341
- | **Error (image)** | Plum-black "Couldn't load" with retry icon |
342
- | **Error (board)** | Inline "Refresh" link |
343
- | **Success (saved)** | Red `#e60023` heart fills + toast "Saved to <board>" |
344
- | **Success (followed)** | Subtle confirmation, no celebration |
345
- | **Skeleton (board)** | Image-aspect-ratio placeholders |
346
- | **Disabled (private)** | "This board is private" message |
347
- | **Loading (image upload)** | Per-image progress bar |
312
+ The supplied evidence records two business-marketing tab interactions and selected/unselected text treatments. It does not establish consumer loading, empty, error, success, toast, disabled, modal, or validation state contracts. Those unobserved states are intentionally omitted rather than synthesized.
348
313
 
349
314
  ## 15. Motion & Easing
350
315
 
351
- | Token | Value | Use |
352
- |---|---|---|
353
- | `motion-instant` | 0ms | Pin save |
354
- | `motion-fast` | 200ms | Hover scale on tiles |
355
- | `motion-standard` | 300ms | Modal expand |
356
- | `motion-spring` | variable | Pin save heart fill |
357
-
358
- **Pin save** has signature spring scale + heart fill. `prefers-reduced-motion: reduce` removes spring (instant fill).
359
-
360
- ---
361
-
362
- **Verified:** 2026-05-08 (omd:migrate run 45 — Apple-tier)
363
- **Tier 1 sources:** kr.pinterest.com home + business.pinterest.com/ko (live DOM via playwright — **Two-system dual-canvas split**: consumer Pinterest Red `#e60023` 16px Login + Cream `#e5e5e0` Secondary + Plum-Black `#211922` ghost nav (12px·400 / 48px); business Charcoal `#111111` dual-radius (20px compact 36px / 30px hero 60px) / 16px·400 — separate B2B track).
364
- **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
365
- **Tier 2 (Philosophy/founders/IPO):** Wikipedia (Pinterest + Evan Sharp), Founders Era, Inc 30 Under 30, EBSCO, Buildd, Companies History.
366
- **Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier addition:** Pinterest Red `#e60023` + Cream `#e5e5e0` + Pinterest Business Charcoal dual-radius system missed by prior pass (which had only ghost nav + Plum text).
316
+ No motion duration, easing curve, transition, or reduced-motion rule is supported by the supplied raw capture or the official sources checked for this update. No motion token is claimed.