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.
- package/.claude/hooks/lib/preferences-parser.cjs +1 -0
- package/.claude/hooks/lib/preferences-writer.cjs +1 -0
- package/.claude/hooks/post-edit-watch.cjs +1 -0
- package/.claude/hooks/session-end-foldin.cjs +1 -0
- package/.claude/hooks/session-state-loader.cjs +1 -0
- package/.claude/hooks/skill-activation.cjs +1 -0
- package/.claude/settings.json +10 -1
- package/.github/assets/logo-bg.png +0 -0
- package/AGENTS.md +20 -1
- package/CHANGELOG.md +482 -0
- package/MIGRATION.md +103 -0
- package/README.ja.md +56 -19
- package/README.ko.md +47 -30
- package/README.md +48 -30
- package/README.zh-TW.md +59 -22
- package/agents/AGENT.md +8 -7
- package/agents/omd-codex-image.md +1 -1
- package/agents/omd-critic.md +6 -7
- package/agents/omd-designer-review.md +1 -1
- package/agents/omd-final-qa.md +1 -1
- package/agents/omd-humanizer.md +38 -0
- package/agents/omd-kr-writer.md +3 -4
- package/agents/omd-locale-adapter.md +12 -16
- package/agents/omd-master.md +24 -19
- package/agents/omd-microcopy.md +1 -1
- package/agents/omd-orchestrator.md +7 -8
- package/agents/omd-slop-auditor.md +31 -0
- package/agents/omd-ux-researcher.md +1 -1
- package/data/reference-fingerprints.json +1995 -38
- package/dist/bin/oh-my-design.js +16 -8
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/chunk-UJIHCEYF.js +99 -0
- package/dist/chunk-UJIHCEYF.js.map +1 -0
- package/dist/doctor-LDWSFM3I.js +763 -0
- package/dist/doctor-LDWSFM3I.js.map +1 -0
- package/dist/install-skills-ZZFNJ2II.js +1120 -0
- package/dist/install-skills-ZZFNJ2II.js.map +1 -0
- package/docs/CLI_QUICKSTART.md +157 -0
- package/package.json +25 -4
- package/scripts/postinstall.cjs +5 -4
- package/skills/claude-design/SKILL.md +38 -14
- package/skills/claude-design/references/claude-design-flow.md +11 -11
- package/skills/claude-design/references/codebase-analysis.md +5 -4
- package/skills/omd-final-qa/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +51 -50
- package/skills/omd-humanize/SKILL.md +116 -0
- package/skills/omd-humanize/agents/openai.yaml +4 -0
- package/skills/omd-humanize/references/locale-playbooks.md +102 -0
- package/skills/omd-humanize/references/sources.md +11 -0
- package/skills/omd-init/SKILL.md +18 -12
- package/skills/omd-locale-adapter/SKILL.md +58 -91
- package/skills/omd-orchestrator/SKILL.md +11 -5
- package/skills/omd-reference-capture/SKILL.md +80 -26
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
- package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
- package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
- package/skills/omd-slop-audit/SKILL.md +110 -0
- package/skills/omd-slop-audit/agents/openai.yaml +4 -0
- package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
- package/skills/omd-slop-audit/references/sources.md +24 -0
- package/web/references/104/DESIGN.md +354 -0
- package/web/references/11st/DESIGN.md +197 -316
- package/web/references/29cm/DESIGN.md +297 -393
- package/web/references/42dot/DESIGN.md +390 -0
- package/web/references/8percent/DESIGN.md +438 -0
- package/web/references/ably/DESIGN.md +267 -572
- package/web/references/acer/DESIGN.md +329 -0
- package/web/references/airbnb/DESIGN.md +219 -557
- package/web/references/alipay/DESIGN.md +179 -420
- package/web/references/apple/DESIGN.md +224 -498
- package/web/references/asleep/DESIGN.md +402 -0
- package/web/references/au/DESIGN.md +334 -0
- package/web/references/autopedia/DESIGN.md +382 -0
- package/web/references/aws-cloudscape/DESIGN.md +241 -0
- package/web/references/baemin/DESIGN.md +332 -491
- package/web/references/banksalad/DESIGN.md +269 -180
- package/web/references/barogo/DESIGN.md +416 -0
- package/web/references/beusable/DESIGN.md +464 -0
- package/web/references/bilibili/DESIGN.md +206 -374
- package/web/references/bmw/DESIGN.md +162 -276
- package/web/references/brandi/DESIGN.md +184 -325
- package/web/references/catchtable/DESIGN.md +219 -264
- package/web/references/cgv/DESIGN.md +317 -0
- package/web/references/channeltalk/DESIGN.md +210 -336
- package/web/references/china-airlines/DESIGN.md +291 -0
- package/web/references/cjonstyle/DESIGN.md +453 -0
- package/web/references/class101/DESIGN.md +168 -387
- package/web/references/classum/DESIGN.md +228 -203
- package/web/references/claude/DESIGN.md +242 -479
- package/web/references/clay/DESIGN.md +179 -377
- package/web/references/clickhouse/DESIGN.md +254 -343
- package/web/references/cohere/DESIGN.md +214 -324
- package/web/references/coinone/DESIGN.md +199 -179
- package/web/references/corca/DESIGN.md +414 -0
- package/web/references/coupang/DESIGN.md +205 -475
- package/web/references/cursor/DESIGN.md +240 -381
- package/web/references/dabang/DESIGN.md +248 -213
- package/web/references/dable/DESIGN.md +431 -0
- package/web/references/datarize/DESIGN.md +217 -330
- package/web/references/dealicious/DESIGN.md +402 -0
- package/web/references/drdiary/DESIGN.md +404 -0
- package/web/references/elastic/DESIGN.md +238 -0
- package/web/references/elevenlabs/DESIGN.md +183 -321
- package/web/references/eslite/DESIGN.md +257 -0
- package/web/references/evaair/DESIGN.md +338 -0
- package/web/references/expo/DESIGN.md +238 -331
- package/web/references/familymart-tw/DESIGN.md +254 -0
- package/web/references/ferrari/DESIGN.md +160 -377
- package/web/references/figma/DESIGN.md +197 -451
- package/web/references/fitpet/DESIGN.md +445 -0
- package/web/references/flex/DESIGN.md +170 -253
- package/web/references/framer/DESIGN.md +197 -340
- package/web/references/freee/DESIGN.md +211 -533
- package/web/references/friendliai/DESIGN.md +431 -0
- package/web/references/frip/DESIGN.md +440 -0
- package/web/references/gangnamunni/DESIGN.md +154 -591
- package/web/references/gaudiolab/DESIGN.md +414 -0
- package/web/references/google/DESIGN.md +290 -398
- package/web/references/hashicorp/DESIGN.md +273 -318
- package/web/references/heydealer/DESIGN.md +429 -0
- package/web/references/humanscape/DESIGN.md +433 -0
- package/web/references/hyundai/DESIGN.md +158 -368
- package/web/references/hyundaicard/DESIGN.md +171 -121
- package/web/references/ibm/DESIGN.md +227 -378
- package/web/references/idus/DESIGN.md +450 -0
- package/web/references/igaworks/DESIGN.md +437 -0
- package/web/references/inflearn/DESIGN.md +221 -366
- package/web/references/intuit/DESIGN.md +244 -0
- package/web/references/jandi/DESIGN.md +191 -291
- package/web/references/jobplanet/DESIGN.md +415 -0
- package/web/references/kakao/DESIGN.md +287 -475
- package/web/references/kakaobank/DESIGN.md +220 -521
- package/web/references/kakaogames/DESIGN.md +220 -0
- package/web/references/kakaopay/DESIGN.md +207 -526
- package/web/references/karrot/DESIGN.md +227 -251
- package/web/references/kb-kookmin/DESIGN.md +308 -0
- package/web/references/kbank/DESIGN.md +220 -175
- package/web/references/kmong/DESIGN.md +281 -356
- package/web/references/krds/DESIGN.md +245 -19
- package/web/references/kream/DESIGN.md +224 -359
- package/web/references/kurly/DESIGN.md +211 -533
- package/web/references/lamborghini/DESIGN.md +198 -360
- package/web/references/lguplus/DESIGN.md +259 -0
- package/web/references/likelion/DESIGN.md +283 -0
- package/web/references/line/DESIGN.md +396 -355
- package/web/references/linear.app/DESIGN.md +209 -562
- package/web/references/lotteon/DESIGN.md +386 -0
- package/web/references/lovable/DESIGN.md +255 -349
- package/web/references/makinarocks/DESIGN.md +149 -349
- package/web/references/maum-ai/DESIGN.md +423 -0
- package/web/references/medibloc/DESIGN.md +425 -0
- package/web/references/megabox/DESIGN.md +232 -0
- package/web/references/mercari/DESIGN.md +217 -434
- package/web/references/microsoft/DESIGN.md +234 -388
- package/web/references/mildang/DESIGN.md +411 -0
- package/web/references/millie/DESIGN.md +183 -504
- package/web/references/minimax/DESIGN.md +264 -322
- package/web/references/miricanvas/DESIGN.md +182 -355
- package/web/references/miro/DESIGN.md +234 -232
- package/web/references/mistral.ai/DESIGN.md +231 -314
- package/web/references/mixi/DESIGN.md +234 -0
- package/web/references/moin/DESIGN.md +445 -0
- package/web/references/mongodb/DESIGN.md +219 -316
- package/web/references/musinsa/DESIGN.md +184 -510
- package/web/references/mynavi/DESIGN.md +242 -0
- package/web/references/myrealtrip/DESIGN.md +169 -406
- package/web/references/naver/DESIGN.md +328 -499
- package/web/references/naverwebtoon/DESIGN.md +172 -395
- package/web/references/nhn/DESIGN.md +169 -346
- package/web/references/nhncloud/DESIGN.md +185 -123
- package/web/references/notion/DESIGN.md +271 -475
- package/web/references/nrise/DESIGN.md +417 -0
- package/web/references/ohouse/DESIGN.md +210 -549
- package/web/references/oliveyoung/DESIGN.md +217 -326
- package/web/references/ollama/DESIGN.md +241 -308
- package/web/references/onestore/DESIGN.md +248 -0
- package/web/references/palantir/DESIGN.md +256 -0
- package/web/references/panasonic/DESIGN.md +276 -0
- package/web/references/patternfly/DESIGN.md +259 -0
- package/web/references/payhere/DESIGN.md +438 -0
- package/web/references/pega/DESIGN.md +262 -0
- package/web/references/peoplefund/DESIGN.md +431 -0
- package/web/references/petfriends/DESIGN.md +428 -0
- package/web/references/pinkfong/DESIGN.md +199 -367
- package/web/references/pinterest/DESIGN.md +258 -308
- package/web/references/poya/DESIGN.md +286 -0
- package/web/references/pozalabs/DESIGN.md +438 -0
- package/web/references/protopie/DESIGN.md +419 -0
- package/web/references/qraft/DESIGN.md +448 -0
- package/web/references/quotabook/DESIGN.md +449 -0
- package/web/references/recruit/DESIGN.md +247 -0
- package/web/references/remember/DESIGN.md +202 -396
- package/web/references/resend/DESIGN.md +274 -348
- package/web/references/sakura-internet/DESIGN.md +269 -0
- package/web/references/samsung/DESIGN.md +157 -359
- package/web/references/sandoll/DESIGN.md +445 -0
- package/web/references/sanity/DESIGN.md +241 -375
- package/web/references/scatterlab/DESIGN.md +412 -0
- package/web/references/selectstar/DESIGN.md +439 -0
- package/web/references/servicenow/DESIGN.md +289 -0
- package/web/references/shinhanbank/DESIGN.md +161 -341
- package/web/references/shinhancard/DESIGN.md +208 -319
- package/web/references/sionic/DESIGN.md +454 -0
- package/web/references/sktelecom/DESIGN.md +310 -0
- package/web/references/socar/DESIGN.md +125 -32
- package/web/references/softbank/DESIGN.md +231 -0
- package/web/references/sony/DESIGN.md +234 -0
- package/web/references/soop/DESIGN.md +261 -0
- package/web/references/spacex/DESIGN.md +184 -323
- package/web/references/spotify/DESIGN.md +253 -394
- package/web/references/squeezebits/DESIGN.md +441 -0
- package/web/references/stayfolio/DESIGN.md +422 -0
- package/web/references/stripe/DESIGN.md +212 -491
- package/web/references/supabase/DESIGN.md +244 -316
- package/web/references/tabling/DESIGN.md +415 -0
- package/web/references/taishinbank/DESIGN.md +243 -0
- package/web/references/teamlab/DESIGN.md +240 -0
- package/web/references/teamsparta/DESIGN.md +472 -0
- package/web/references/tellingme/DESIGN.md +392 -0
- package/web/references/tesla/DESIGN.md +244 -427
- package/web/references/thsr/DESIGN.md +284 -0
- package/web/references/thumbtack/DESIGN.md +302 -0
- package/web/references/together.ai/DESIGN.md +257 -304
- package/web/references/toss/DESIGN.md +251 -593
- package/web/references/toss-securities/DESIGN.md +255 -178
- package/web/references/tossbank/DESIGN.md +195 -491
- package/web/references/toyota/DESIGN.md +238 -0
- package/web/references/tving/DESIGN.md +197 -245
- package/web/references/typed/DESIGN.md +413 -0
- package/web/references/uber/DESIGN.md +256 -333
- package/web/references/udn/DESIGN.md +250 -0
- package/web/references/upbit/DESIGN.md +145 -256
- package/web/references/upstage/DESIGN.md +211 -204
- package/web/references/uswds/DESIGN.md +287 -0
- package/web/references/vercel/DESIGN.md +236 -440
- package/web/references/wanted/DESIGN.md +215 -487
- package/web/references/wise/DESIGN.md +223 -231
- package/web/references/wisetracker/DESIGN.md +462 -0
- package/web/references/wooribank/DESIGN.md +245 -0
- package/web/references/yanolja/DESIGN.md +250 -419
- package/web/references/yeogiotte/DESIGN.md +235 -418
- package/web/references/zapier/DESIGN.md +256 -377
- package/web/references/zendesk/DESIGN.md +288 -0
- package/web/references/zigzag/DESIGN.md +200 -621
- package/dist/install-skills-7UUDOLG2.js +0 -734
- 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-
|
|
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
|
|
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:
|
|
20
|
-
extracted: "2026-
|
|
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
|
-
|
|
24
|
-
green-hover: "#0b2819"
|
|
25
|
-
heading: "#211922"
|
|
26
|
-
ink: "#000000"
|
|
121
|
+
consumer-ink: "#211922"
|
|
27
122
|
muted: "#62625b"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
body:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
|
69
|
-
|
|
70
|
-
The
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
- Pinterest
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
- **
|
|
93
|
-
- **
|
|
94
|
-
- **
|
|
95
|
-
- **
|
|
96
|
-
- **
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
-
|
|
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
|
-
-
|
|
156
|
-
- Radius: 16px
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
-
|
|
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
|
-
-
|
|
169
|
-
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
## 6.
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
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
|
-
|
|
233
|
-
-
|
|
234
|
-
-
|
|
235
|
-
-
|
|
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
|
-
|
|
242
|
-
-
|
|
243
|
-
-
|
|
244
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
+
Pinterest’s 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
|
|
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. **
|
|
318
|
-
2. **
|
|
319
|
-
3. **
|
|
320
|
-
4. **
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|