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
|
@@ -4,511 +4,294 @@ name: Mercari
|
|
|
4
4
|
country: JP
|
|
5
5
|
category: consumer-tech
|
|
6
6
|
homepage: "https://www.mercari.com"
|
|
7
|
-
primary_color: "#
|
|
7
|
+
primary_color: "#5356ee"
|
|
8
8
|
logo:
|
|
9
9
|
type: github
|
|
10
10
|
slug: mercari
|
|
11
|
-
verified: "2026-
|
|
11
|
+
verified: "2026-07-13"
|
|
12
12
|
omd: "0.1"
|
|
13
|
+
verification_v2:
|
|
14
|
+
schema: 2
|
|
15
|
+
checked: "2026-07-13"
|
|
16
|
+
surfaces:
|
|
17
|
+
- { id: home, kind: public-marketplace, url: "https://www.mercari.com/", inspected: "2026-07-12" }
|
|
18
|
+
- { id: surface-2, kind: corporate-marketing, url: "https://www.mercari.com/about/", inspected: "2026-07-12" }
|
|
19
|
+
- { id: surface-3, kind: brand-directory, url: "https://www.mercari.com/us/brand/", inspected: "2026-07-12" }
|
|
20
|
+
sources:
|
|
21
|
+
- { id: home-live, kind: product-surface, url: "https://www.mercari.com/", captured: "2026-07-12" }
|
|
22
|
+
- { id: about-live, kind: product-surface, url: "https://www.mercari.com/about/", captured: "2026-07-12" }
|
|
23
|
+
- { id: brand-live, kind: product-surface, url: "https://www.mercari.com/us/brand/", captured: "2026-07-12" }
|
|
24
|
+
- { id: marketplace-guidelines, kind: official-doc, url: "https://www.mercari.com/us/help_center/article/407/", captured: "2026-07-13" }
|
|
25
|
+
- { id: listing-guide, kind: official-doc, url: "https://www.mercari.com/us/help_center/topics/listing/guides/creating-a-listing/", captured: "2026-07-13" }
|
|
26
|
+
- { id: marketplace-principles, kind: official-doc, url: "https://pj.mercari.com/principles/marketplace-principles-and-history_EN.pdf", captured: "2026-07-13" }
|
|
27
|
+
- { id: averta-foundry, kind: official-doc, url: "https://foundryfivetype.com/", captured: "2026-07-13" }
|
|
28
|
+
- { id: averta-license, kind: license, url: "https://foundryfivetype.com/eulas/", captured: "2026-07-13" }
|
|
29
|
+
conflicts: []
|
|
30
|
+
claims:
|
|
31
|
+
"tokens.colors.public-action": &live { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-07-12" }
|
|
32
|
+
"tokens.colors.canvas": *live
|
|
33
|
+
"tokens.colors.foreground": *live
|
|
34
|
+
"tokens.colors.muted": *live
|
|
35
|
+
"tokens.typography.family.sans": *live
|
|
36
|
+
"tokens.typography.body.size": *live
|
|
37
|
+
"tokens.typography.body.weight": *live
|
|
38
|
+
"tokens.typography.body.lineHeight": *live
|
|
39
|
+
"tokens.typography.body.tracking": *live
|
|
40
|
+
"tokens.typography.body.use": *live
|
|
41
|
+
"tokens.typography.header-action.size": &about { surface_id: surface-2, source_id: about-live, method: live-inspect, captured: "2026-07-12" }
|
|
42
|
+
"tokens.typography.header-action.weight": *about
|
|
43
|
+
"tokens.typography.header-action.lineHeight": *about
|
|
44
|
+
"tokens.typography.header-action.use": *about
|
|
45
|
+
"tokens.typography.marketing-display.size": *about
|
|
46
|
+
"tokens.typography.marketing-display.weight": *about
|
|
47
|
+
"tokens.typography.marketing-display.lineHeight": *about
|
|
48
|
+
"tokens.typography.marketing-display.use": *about
|
|
49
|
+
"tokens.spacing.xs": *live
|
|
50
|
+
"tokens.spacing.sm": *live
|
|
51
|
+
"tokens.spacing.md": *live
|
|
52
|
+
"tokens.spacing.lg": *live
|
|
53
|
+
"tokens.spacing.xl": *live
|
|
54
|
+
"tokens.rounded.none": *live
|
|
55
|
+
"tokens.rounded.compact": *live
|
|
56
|
+
"tokens.rounded.image": *live
|
|
57
|
+
"tokens.rounded.circular": *live
|
|
58
|
+
"tokens.shadow.none": *live
|
|
59
|
+
"tokens.components.marketplace-sell-action.type": *live
|
|
60
|
+
"tokens.components.marketplace-sell-action.bg": *live
|
|
61
|
+
"tokens.components.marketplace-sell-action.fg": *live
|
|
62
|
+
"tokens.components.marketplace-sell-action.radius": *live
|
|
63
|
+
"tokens.components.marketplace-sell-action.padding": *live
|
|
64
|
+
"tokens.components.marketplace-sell-action.font": *live
|
|
65
|
+
"tokens.components.marketplace-sell-action.states": *live
|
|
66
|
+
"tokens.components.marketplace-sell-action.use": *live
|
|
67
|
+
"tokens.components.marketing-sell-action.type": *about
|
|
68
|
+
"tokens.components.marketing-sell-action.bg": *about
|
|
69
|
+
"tokens.components.marketing-sell-action.fg": *about
|
|
70
|
+
"tokens.components.marketing-sell-action.radius": *about
|
|
71
|
+
"tokens.components.marketing-sell-action.padding": *about
|
|
72
|
+
"tokens.components.marketing-sell-action.font": *about
|
|
73
|
+
"tokens.components.marketing-sell-action.states": *about
|
|
74
|
+
"tokens.components.marketing-sell-action.use": *about
|
|
75
|
+
"tokens.components.marketing-skip-link.type": *live
|
|
76
|
+
"tokens.components.marketing-skip-link.bg": *live
|
|
77
|
+
"tokens.components.marketing-skip-link.fg": *live
|
|
78
|
+
"tokens.components.marketing-skip-link.radius": *live
|
|
79
|
+
"tokens.components.marketing-skip-link.padding": *live
|
|
80
|
+
"tokens.components.marketing-skip-link.font": *live
|
|
81
|
+
"tokens.components.marketing-skip-link.states": *live
|
|
82
|
+
"tokens.components.marketing-skip-link.use": *live
|
|
83
|
+
"tokens.components.listing-image.type": *live
|
|
84
|
+
"tokens.components.listing-image.radius": *live
|
|
85
|
+
"tokens.components.listing-image.use": *live
|
|
13
86
|
tokens:
|
|
14
|
-
source:
|
|
15
|
-
extracted: "2026-
|
|
87
|
+
source: reconciled
|
|
88
|
+
extracted: "2026-07-12"
|
|
16
89
|
colors:
|
|
17
|
-
|
|
18
|
-
red-highlight: "#ff6574"
|
|
19
|
-
red-active: "#e32b36"
|
|
20
|
-
red-thin: "#fdf1f3"
|
|
21
|
-
accent-blue: "#0095ee"
|
|
22
|
-
link: "#0073cc"
|
|
23
|
-
success: "#0aa466"
|
|
24
|
-
success-thin: "#e4ffec"
|
|
25
|
-
decorative-yellow: "#ffb818"
|
|
26
|
-
text-primary: "#333333"
|
|
27
|
-
text-secondary: "#666666"
|
|
28
|
-
text-disabled: "#cccccc"
|
|
29
|
-
placeholder: "#999999"
|
|
90
|
+
public-action: "#5356ee"
|
|
30
91
|
canvas: "#ffffff"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
border: "#cccccc"
|
|
34
|
-
on-dark: "#ffffff"
|
|
92
|
+
foreground: "#222222"
|
|
93
|
+
muted: "#6b6b6b"
|
|
35
94
|
typography:
|
|
36
|
-
family: { sans: "
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
spacing: { xs: 4, sm: 6, md:
|
|
41
|
-
rounded: {
|
|
42
|
-
shadow:
|
|
43
|
-
none: "none"
|
|
44
|
-
components:
|
|
45
|
-
button-primary: { type: button, bg: "#ff333f", fg: "#ffffff", radius: 4, padding: "11px 15px", font: "15px/700", use: "Primary attention CTA" }
|
|
46
|
-
button-accent: { type: button, bg: "#ffffff", fg: "#0095ee", radius: 4, padding: "8px 12px", font: "15px/700", use: "Accent CTA Shop Now" }
|
|
47
|
-
button-neutral: { type: button, bg: "#ffffff", fg: "#333333", radius: 4, padding: "8px", font: "15px/400", use: "Login/Signup secondary" }
|
|
48
|
-
search-input: { type: input, bg: "#f5f5f5", fg: "#999999", radius: 4, use: "Full-width top search bar" }
|
|
49
|
-
product-card: { type: card, bg: "#ffffff", radius: 4, use: "Product/brand card, image-led" }
|
|
50
|
-
tab: { type: tab, bg: "#ffffff", fg: "#333333", active: "#ff333f text with 2px red underline", use: "Underline-driven section tabs" }
|
|
51
|
-
snackbar: { type: toast, bg: "#333333", fg: "#ffffff", use: "Dark snackbar/toast" }
|
|
52
|
-
modal: { type: dialog, bg: "#ffffff", radius: 8, use: "Centered modal, strong scrim backdrop" }
|
|
95
|
+
family: { sans: "Averta" }
|
|
96
|
+
body: { size: 14, weight: 400, lineHeight: 1.43, tracking: "-0.16px", use: "Repeated public-site body and link text on the supplied US surfaces." }
|
|
97
|
+
header-action: { size: 16, weight: 600, lineHeight: 1.38, use: "Observed corporate-marketing header text action only." }
|
|
98
|
+
marketing-display: { size: 48, weight: 600, lineHeight: 1.2, use: "Observed corporate-marketing display heading only." }
|
|
99
|
+
spacing: { xs: 4, sm: 6, md: 12, lg: 16, xl: 20 }
|
|
100
|
+
rounded: { none: 0, compact: 4, image: 8, circular: 50 }
|
|
101
|
+
shadow: { none: "none" }
|
|
53
102
|
components_harvested: true
|
|
103
|
+
components:
|
|
104
|
+
marketplace-sell-action: { type: button, bg: "#ffffff", fg: "#222222", radius: 4, padding: "0px 16px", font: "14px/600 Averta", states: "Default baseline captured; no changed interaction style promoted.", use: "Observed default at home::[data-omd-capture=\"12\"] on the public marketplace home only." }
|
|
105
|
+
marketing-sell-action: { type: button, bg: "#5356ee", fg: "#ffffff", radius: 4, padding: "0px 16px", font: "14px/600 Averta", states: "Default baseline captured; no changed interaction style promoted.", use: "Observed default at surface-2::[data-omd-capture=\"11\"] on the corporate-marketing route only." }
|
|
106
|
+
marketing-skip-link: { type: button, bg: "#5356ee", fg: "#ffffff", radius: 4, padding: "0px 16px", font: "16px/600 Averta", states: "Default and an identical focus snapshot captured; no distinct focus value promoted.", use: "Observed skip-link default and identical focus snapshot at home::[data-omd-capture=\"3\"] on public routes." }
|
|
107
|
+
listing-image: { type: card, radius: 8, use: "Observed image shell at home::[data-testid=\"AnonCardImage\"] on the public marketplace home only." }
|
|
54
108
|
---
|
|
55
109
|
|
|
56
110
|
# Design System Inspiration of Mercari
|
|
57
111
|
|
|
58
112
|
## 1. Visual Theme & Atmosphere
|
|
59
113
|
|
|
60
|
-
Mercari
|
|
61
|
-
|
|
62
|
-
The brand color is the famous **Mercari Red** (`#ff333f`) — vivid, attention-grabbing, used as the `attention` semantic role for badges, error states, danger actions, and the iconic price-tag aesthetic. Around it sits a balanced palette: accent blue (`#0095ee`), success green (`#0aa466`), decorative yellow (`#ffb818`). Text hierarchy uses dark gray (`#333333` primary, `#666666` secondary) on a pure white surface (`#ffffff`), with a soft secondary background (`#f5f5f5`) for grouped sections.
|
|
63
|
-
|
|
64
|
-
Typography is **system-stack with Japanese-first fallbacks**: `Helvetica Neue, Arial, Hiragino Kaku Gothic ProN Custom, Hiragino Sans Custom, Meiryo Custom, sans-serif`. The "Custom" suffix on the Hiragino/Meiryo fonts indicates Mercari's deployment of optically-tuned variants for their production app — same font families, but adjusted spacing/hinting for marketplace UI. Buttons use **weight 700** for primary CTAs at a tight `4px` radius, while body text holds at weight 400.
|
|
114
|
+
Mercari operates a marketplace where people can list and buy items that can be shipped; its US guidance frames listing as taking photos, adding a description, and setting a price. The supplied public capture shows a compact, type-led web presence rather than the former Japanese marketplace system: a near-white canvas, charcoal reading text, and a repeated indigo `#5356ee` action/link value. Averta is loaded from Mercari’s own web-assets domain throughout all three routes. The observed experience splits into three source domains—a public marketplace home, a corporate-marketing about page, and a brand-directory page—so their shared typography and controls are useful public-web evidence but not proof of an authenticated buying, selling, payment, or mobile-app system. Mercari’s published marketplace principles connect the service to circulation and a safe, trustworthy, humane marketplace; its public guidelines express that operationally as neighborly, safe, and legal behavior. [Listing guide](https://www.mercari.com/us/help_center/topics/listing/guides/creating-a-listing/) · [Marketplace principles](https://pj.mercari.com/principles/marketplace-principles-and-history_EN.pdf)
|
|
65
115
|
|
|
66
116
|
**Key Characteristics:**
|
|
67
|
-
- **681 semantic CSS custom properties** exposed on `:root` — the public design system surface
|
|
68
|
-
- **Mercari Red** (`#ff333f`) as the `attention` semantic — used for badges, error/danger states, sale prices, the brand mark
|
|
69
|
-
- Japanese-first font stack: `Helvetica Neue → Arial → Hiragino Kaku Gothic ProN Custom → Hiragino Sans Custom → Meiryo Custom`
|
|
70
|
-
- Fixed `4px border-radius` on buttons and cards — sharp, commerce-functional
|
|
71
|
-
- Weight 700 for primary CTAs; weight 400 for body and secondary controls
|
|
72
|
-
- Three-tier color naming: `alias-color-{property}-{role}-{state}` (e.g., `--alias-color-background-attention-default`)
|
|
73
|
-
- 1440px max page width with `--grid-layout-gutter: 24px` and `--grid-layout-page-padding-horizontal: 36px`
|
|
74
|
-
- 4dp spacing micro-scale (`--bnfXaU: 6px`, `--exLgvR: 8px`, `--fwPfWM: 8px`, etc.) with named alias tokens
|
|
75
|
-
- High-density product grid with circular brand thumbnails (`border-radius: 50%`) for category navigation
|
|
76
|
-
- Multi-tier z-index system: dialog 1400, modal 1400, snackbar 1500, tooltip 1600
|
|
77
|
-
|
|
78
|
-
## 2. Color Palette & Roles
|
|
79
|
-
|
|
80
|
-
All values verified live from `:root` CSS custom properties on `jp.mercari.com`.
|
|
81
|
-
|
|
82
|
-
### Brand / Attention (the Mercari Red family)
|
|
83
|
-
- **Mercari Red** (`#ff333f`): `--alias-color-background-attention-default`, `--alias-color-text-attention-default`. The signature brand red. Used for danger actions, sale price emphasis, the brand mark.
|
|
84
|
-
- **Red Highlight** (`#ff6574`): `--alias-color-background-attention-highlight`, `--alias-color-border-attention-highlight`. Lighter variant for hover states.
|
|
85
|
-
- **Red Active** (`#e32b36`): `--alias-color-background-attention-active`, `--alias-color-border-attention-active`. Pressed state.
|
|
86
|
-
- **Red Thin** (`#fdf1f3`): `--alias-color-background-attentionThin-default`. Very light pink for subtle background emphasis (e.g., error message bg).
|
|
87
|
-
- **Red Thin Highlight** (`#ffdcdf`): `--alias-color-background-attentionThin-highlight`.
|
|
88
|
-
|
|
89
|
-
### Accent (Mercari Blue)
|
|
90
|
-
- **Accent Blue** (`#0095ee`): `--alias-color-background-accent-default`, `--alias-color-text-accent-default`, `--alias-color-icon-accent-default`. Links, info badges, accent CTAs.
|
|
91
|
-
- **Accent Blue Highlight** (`#63c5ff`): `--alias-color-background-accent-highlight`.
|
|
92
|
-
- **Accent Blue Active** (`#0073cc`): `--alias-color-background-accent-active`, `--alias-color-text-accent-active`.
|
|
93
|
-
- **Link Default** (`#0073cc`): `--alias-color-text-link-default`, `--alias-color-icon-link-default`.
|
|
94
|
-
- **Link Highlight** (`#30b2ff`): `--alias-color-text-link-highlight`.
|
|
95
|
-
- **Link Active** (`#0056ab`): `--alias-color-text-link-active`.
|
|
96
|
-
- **Accent Thin** (`#e8f8ff`): `--alias-color-background-accentThin-default`. Light blue notification bg.
|
|
97
|
-
|
|
98
|
-
### Success
|
|
99
|
-
- **Success Green** (`#0aa466`): `--alias-color-text-success-default`, `--alias-color-icon-success-default`, `--alias-color-border-success-default`.
|
|
100
|
-
- **Success Highlight** (`#0fbf67`): `--alias-color-text-success-highlight`, `--alias-color-icon-success-highlight`.
|
|
101
|
-
- **Success Active** (`#078962`): `--alias-color-text-success-active`, `--alias-color-icon-success-active`.
|
|
102
|
-
- **Success Thin** (`#e4ffec`): `--alias-color-background-success-default`.
|
|
103
|
-
- **Success Thin Highlight** (`#cdfbd2`): `--alias-color-background-success-highlight`.
|
|
104
|
-
|
|
105
|
-
### Decorative (Yellow)
|
|
106
|
-
- **Decorative Yellow** (`#ffb818`): `--alias-color-icon-decorativeYellow-default`. Reviews, ratings, premium markers.
|
|
107
|
-
- **Decorative Yellow Highlight** (`#ffdc74`): Lighter yellow for hover.
|
|
108
|
-
- **Decorative Yellow Active** (`#db9611`): Darker amber for pressed.
|
|
109
|
-
|
|
110
|
-
### Text (5-tier scale)
|
|
111
|
-
- **Primary** (`#333333`): `--alias-color-text-primary-default`. Default body text and headlines.
|
|
112
|
-
- **Primary Highlight** (`#999999`): `--alias-color-text-primary-highlight`.
|
|
113
|
-
- **Primary Active** (`#222222`): `--alias-color-text-primary-active`.
|
|
114
|
-
- **Secondary** (`#666666`): `--alias-color-text-secondary-default`. Captions, metadata.
|
|
115
|
-
- **Secondary Highlight** (`#999999`): `--alias-color-text-secondary-highlight`.
|
|
116
|
-
- **Secondary Active** (`#4c4c4c`): `--alias-color-text-secondary-active`.
|
|
117
|
-
- **Disabled** (`#cccccc`): `--alias-color-text-disabled-default`.
|
|
118
|
-
- **Placeholder** (`#999999`): `--alias-color-text-placeholder-default`.
|
|
119
|
-
- **Inverse** (`#ffffff`): `--alias-color-text-inverse-default`. White text on dark surfaces.
|
|
120
|
-
|
|
121
|
-
### Background / Surface (5-tier scale)
|
|
122
|
-
- **Primary** (`#ffffff`): `--alias-color-background-primary-default`. Default page bg.
|
|
123
|
-
- **Primary Active** (`#f5f5f5`): `--alias-color-background-primary-active`. Pressed/hover state for white-bg controls.
|
|
124
|
-
- **Primary Highlight** (`#f5f5f5`): `--alias-color-background-primary-highlight`.
|
|
125
|
-
- **Secondary** (`#f5f5f5`): `--alias-color-background-secondary-default`. Grouped section bg.
|
|
126
|
-
- **Secondary Highlight** (`#e5e5e5`): `--alias-color-background-secondary-highlight`.
|
|
127
|
-
- **Tertiary** (`#333333`): `--alias-color-background-tertiary-default`. Dark surfaces (e.g., snackbar contrast).
|
|
128
|
-
- **Disabled** (`#cccccc`): `--alias-color-background-disabled-default`.
|
|
129
|
-
|
|
130
|
-
### Border / Separator
|
|
131
|
-
- **Primary** (`#cccccc`): `--alias-color-border-primary-default`. Standard component border.
|
|
132
|
-
- **Primary Highlight** (`#e5e5e5`): `--alias-color-border-primary-highlight`.
|
|
133
|
-
- **Primary Active** (`#999999`): `--alias-color-border-primary-active`.
|
|
134
|
-
- **Secondary** (`#333333`): `--alias-color-border-secondary-default`. Strong dividers.
|
|
135
|
-
- **Disabled** (`#cccccc`): `--alias-color-border-disabled-default`.
|
|
136
|
-
|
|
137
|
-
### Overlay (modal backdrops)
|
|
138
|
-
- **Weak** (`rgba(34,34,34,0.2)`): `--alias-color-overlay-weak`.
|
|
139
|
-
- **Middle** (`rgba(34,34,34,0.4)`): `--alias-color-overlay-middle`.
|
|
140
|
-
- **Mid Strong** (`rgba(34,34,34,0.6)`): `--alias-color-overlay-midStrong`.
|
|
141
|
-
- **Strong** (`rgba(34,34,34,0.8)`): `--alias-color-overlay-strong`.
|
|
142
|
-
- **Inverse Weak** (`rgba(255,255,255,0.2)`): `--alias-color-overlay-inverseWeak`. White overlay on dark surface.
|
|
143
|
-
|
|
144
|
-
### Icon (separate role from text — important for accessibility)
|
|
145
|
-
- **Primary** (`#333333`): `--alias-color-icon-primary-default`.
|
|
146
|
-
- **Secondary** (`#cccccc`): `--alias-color-icon-secondary-default`.
|
|
147
|
-
- **Tertiary** (`#666666`): `--alias-color-icon-tertiary-default`.
|
|
148
|
-
- **Inverse** (`#ffffff`): `--alias-color-icon-inverse-default`.
|
|
149
|
-
|
|
150
|
-
### System (static)
|
|
151
|
-
- **Static White** (`#ffffff`): `--alias-color-system-staticWhite-default`.
|
|
152
|
-
- **Static Black** (`#000000`): `--alias-color-system-staticBlack-default`.
|
|
153
|
-
- **Static Clear** (`rgba(255,255,255,0)`): `--alias-color-system-staticClear-default`.
|
|
154
|
-
|
|
155
|
-
## 3. Typography Rules
|
|
156
|
-
|
|
157
|
-
### Font Stack (verified live)
|
|
158
|
-
```
|
|
159
|
-
"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN Custom", "Hiragino Sans Custom", "Meiryo Custom", sans-serif
|
|
160
|
-
```
|
|
161
117
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
118
|
+
- Loaded **Averta** across the three supplied public US routes, with Mercari-hosted font sources
|
|
119
|
+
- Repeated public action/link value `#5356ee`; it is an observed public-web value, not an asserted global brand token
|
|
120
|
+
- Near-white canvas with `#222222` foreground and `#6b6b6b` muted text
|
|
121
|
+
- Small `4px` action corners, `8px` image corners, and isolated circular icon controls
|
|
122
|
+
- Public marketplace, corporate marketing, and brand-directory chrome kept as separate evidence domains
|
|
123
|
+
- No authenticated marketplace-flow, Japanese-product, responsive, or app-system claims in this update
|
|
166
124
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
### Weights
|
|
170
|
-
- **700**: Primary CTAs, prices, badges, "Shop Now" hero CTAs, language toggles.
|
|
171
|
-
- **400**: Default body, login/signup buttons, navigation links, secondary CTAs.
|
|
172
|
-
|
|
173
|
-
Verified: primary attention CTAs (e.g., "コンテンツにスキップ" skip link) use weight 700 with bg `#ff333f` and `4px` radius. Secondary actions (login, signup, language) use weight 400.
|
|
174
|
-
|
|
175
|
-
### Size Scale
|
|
176
|
-
- **Base body**: `15px` (verified `bodySize`)
|
|
177
|
-
- **Heading scale** is application-defined (homepage uses `15-20px` for H1/H2 with weight 700)
|
|
178
|
-
- Mobile sizes step down via `--typography-*-font-size-mobile` tokens
|
|
125
|
+
## 2. Color Palette & Roles
|
|
179
126
|
|
|
180
|
-
###
|
|
181
|
-
- **No letter-spacing tweaks** — system defaults trusted.
|
|
182
|
-
- **Default line-height ~1.4** (estimated from rendered metrics).
|
|
183
|
-
- **Uppercase reserved for the "MERCARI" wordmark only.**
|
|
127
|
+
### Observed public surfaces
|
|
184
128
|
|
|
185
|
-
|
|
129
|
+
- **Public action/link** (`#5356ee`): repeated text and border value on the marketplace home, corporate-marketing page, and brand directory. It appears as the fill of the observed marketing skip/sell controls and as text on public links.
|
|
130
|
+
- **Canvas** (`#ffffff`): observed on the marketplace sell action and repeated public surface/background samples.
|
|
131
|
+
- **Foreground** (`#222222`): repeated public text value, including the marketplace sell action and search field.
|
|
132
|
+
- **Muted text** (`#6b6b6b`): observed in compact marketplace navigation/footer text.
|
|
186
133
|
|
|
187
|
-
###
|
|
188
|
-
**Primary attention CTA (red)**:
|
|
189
|
-
- bg `#ff333f`, text `#ffffff`, `border-radius: 4px`, `padding: 11px 15px`, `font-weight: 700`
|
|
134
|
+
### Boundary
|
|
190
135
|
|
|
191
|
-
|
|
192
|
-
- bg `#ffffff`, text `#0095ee`, `border-radius: 4px`, `padding: 8px 12px`, `font-weight: 700`
|
|
136
|
+
The capture does not establish the earlier red/blue semantic palette, success/error colors, a universal filled CTA, or a global product color architecture. Values from third-party Truste consent controls (`#ecedf1`, `#dcdde0`) are excluded; their presence on the pages is not Mercari product evidence.
|
|
193
137
|
|
|
194
|
-
|
|
195
|
-
- bg `#ffffff`, text `#333333`, `border-radius: 4px`, `padding: 8px`, `font-weight: 400`
|
|
138
|
+
## 3. Typography Rules
|
|
196
139
|
|
|
197
|
-
|
|
198
|
-
- bg `transparent`, color `#000000` or `#333333`, `border-radius: 4px`, `padding: 4px`, `font-weight: 400`
|
|
140
|
+
### Evidence classes
|
|
199
141
|
|
|
200
|
-
**
|
|
201
|
-
-
|
|
142
|
+
- **Live computed surface-use:** **Averta** is the computed family on 902 captured elements across the public marketplace, corporate-marketing, and brand-directory surfaces. The supplied FontFaceSet/source evidence includes Mercari-hosted light, regular, semibold, and bold WOFF/WOFF2 URLs, so Averta is the verified public-web UI family in this reference.
|
|
143
|
+
- **Official product-use:** no first-party announcement reviewed in this pass states that Averta is the native mobile-app or authenticated-marketplace family. This reference does not make that promotion.
|
|
144
|
+
- **Font-publisher context and license boundary:** Foundry5 lists Averta PE among its families and publishes a commercial EULA covering webfont `@font-face` use. That publisher material does not grant readers a Mercari font-file license or establish that its retail package is the exact CDN build. [Foundry5](https://foundryfivetype.com/) · [EULA](https://foundryfivetype.com/eulas/)
|
|
145
|
+
- **Declared-only:** `averta-bold` has a declared face in the supplied evidence but zero observed visible uses; it is not a separate token. `averta-semibold` and `averta-regular` are loaded aliases associated with the verified Averta family.
|
|
146
|
+
- **System/unresolved:** the capture’s Arial fallback declarations have no independent loaded/source corroboration and are not promoted. Do not substitute a system face and label it Averta.
|
|
202
147
|
|
|
203
|
-
###
|
|
204
|
-
- White bg (`--alias-color-background-primary-default`)
|
|
205
|
-
- Subtle `1px solid #e0e0e0` border or no border (image-led cards)
|
|
206
|
-
- Brand thumbnails: `border-radius: 50%` (circular) — distinctive Mercari pattern for category navigation
|
|
207
|
-
- Image fills top, title + price below
|
|
208
|
-
- Price emphasis: weight 700, often in `#ff333f` (Mercari Red) for sale prices
|
|
148
|
+
### Observed hierarchy
|
|
209
149
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
150
|
+
| Role | Size | Weight | Line height | Source boundary |
|
|
151
|
+
|------|------|--------|-------------|-----------------|
|
|
152
|
+
| Public body/link | 14px | 400 | 20px | Repeated marketplace and corporate public text |
|
|
153
|
+
| Corporate header action | 16px | 600 | 22px | Corporate-marketing route only |
|
|
154
|
+
| Corporate display | 48px | 600 | 57.6px | Corporate-marketing route only |
|
|
213
155
|
|
|
214
|
-
|
|
215
|
-
- White sticky bg, height ~50-64px
|
|
216
|
-
- Mercari wordmark + heart logo on left
|
|
217
|
-
- Search bar centered
|
|
218
|
-
- ログイン (Login), 会員登録 (Signup), notification bell, language toggle (日本語) on right
|
|
219
|
-
- Tabs row below: おすすめ, マイリスト, ゲーム, etc. — horizontal scroll on mobile
|
|
156
|
+
The capture also contains isolated sizes; it does not establish a universal type scale beyond the roles above.
|
|
220
157
|
|
|
221
|
-
|
|
222
|
-
- Underline-driven active indicator (red underline `#ff333f` for active tab)
|
|
223
|
-
- Inactive tabs: text `#333333` weight 400
|
|
224
|
-
- Active tab: text `#ff333f` (or `#222222`) weight 700 with `2px` red underline
|
|
158
|
+
## 4. Component Stylings
|
|
225
159
|
|
|
226
|
-
###
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
-
|
|
160
|
+
### Public marketplace home
|
|
161
|
+
|
|
162
|
+
**Sell action — observed default**
|
|
163
|
+
- Background: #ffffff
|
|
164
|
+
- Text: #222222
|
|
165
|
+
- Radius: 4px
|
|
166
|
+
- Padding: 0px 16px
|
|
167
|
+
- Font: 14px / 600 / Averta
|
|
168
|
+
- Use: `home::[data-omd-capture="12"]`, a 32px-high public marketplace-home action only.
|
|
169
|
+
|
|
170
|
+
**Circular icon action — observed default**
|
|
171
|
+
- Background: transparent
|
|
172
|
+
- Text: #000000
|
|
173
|
+
- Radius: 50%
|
|
174
|
+
- Padding: 0px
|
|
175
|
+
- Font: 16px / 400 / Averta
|
|
176
|
+
- Use: `home::[data-omd-capture="6"]`, a 40px-high public-home icon control. Its semantic purpose is not named in the supplied artifact.
|
|
177
|
+
|
|
178
|
+
**Listing image shell — observed default**
|
|
179
|
+
- Background: transparent
|
|
180
|
+
- Radius: 8px
|
|
181
|
+
- Shadow: none
|
|
182
|
+
- Use: `home::[data-testid="AnonCardImage"]`, the image element of the anonymous public-home listing cards. No card container fill, metadata, price, or state specification was captured.
|
|
183
|
+
|
|
184
|
+
### Corporate-marketing route
|
|
185
|
+
|
|
186
|
+
**Sell action — observed default**
|
|
187
|
+
- Background: #5356ee
|
|
188
|
+
- Text: #ffffff
|
|
189
|
+
- Radius: 4px
|
|
190
|
+
- Padding: 0px 16px
|
|
191
|
+
- Font: 14px / 600 / Averta
|
|
192
|
+
- Use: `surface-2::[data-omd-capture="11"]`, a 32px-high corporate-marketing action only. It is not a marketplace transaction CTA.
|
|
193
|
+
|
|
194
|
+
**Header text action — observed default**
|
|
195
|
+
- Background: transparent
|
|
196
|
+
- Text: #222222
|
|
197
|
+
- Radius: 0px
|
|
198
|
+
- Padding: 0px
|
|
199
|
+
- Font: 16px / 600 / Averta
|
|
200
|
+
- Hover: Text #5356ee at `surface-2::[data-omd-capture="7"]::state-hover`
|
|
201
|
+
- Pressed: Text #5356ee at `surface-2::[data-omd-capture="7"]::state-pressed`
|
|
202
|
+
- Use: `surface-2::[data-omd-capture="7"]`, a 22px-high corporate-marketing header control. The stated hover and pressed values are collector snapshots for this selector only.
|
|
203
|
+
|
|
204
|
+
**Skip link — observed default and focus snapshot**
|
|
205
|
+
- Background: #5356ee
|
|
206
|
+
- Text: #ffffff
|
|
207
|
+
- Radius: 4px
|
|
208
|
+
- Padding: 0px 16px
|
|
209
|
+
- Font: 16px / 600 / Averta
|
|
210
|
+
- Focus: identical visible values at `home::[data-omd-capture="3"]::state-focus`
|
|
211
|
+
- Use: `home::[data-omd-capture="3"]`, a 44px-high public-route accessibility control; it is not a standard primary action.
|
|
212
|
+
|
|
213
|
+
The collector recorded three dialog interactions, all triggered from Truste cookie-consent controls. Those third-party dialogs are deliberately excluded. No authenticated-marketplace button, checkout, input, product-card metadata, toast, modal, error, success, disabled, or mobile component variant has source-backed provenance in this update.
|
|
230
214
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
215
|
+
---
|
|
216
|
+
**Verified:** 2026-07-13
|
|
217
|
+
**Tier 1 sources:** https://www.mercari.com/; https://www.mercari.com/about/; https://www.mercari.com/us/brand/; https://www.mercari.com/us/help_center/article/407/; https://www.mercari.com/us/help_center/topics/listing/guides/creating-a-listing/; https://pj.mercari.com/principles/marketplace-principles-and-history_EN.pdf; https://foundryfivetype.com/; https://foundryfivetype.com/eulas/
|
|
218
|
+
**Tier 2 sources:** https://getdesign.md/mercari (attempted; no usable record returned); https://styles.refero.design/?q=mercari (attempted; no usable record returned)
|
|
219
|
+
**Conflicts unresolved:** none
|
|
235
220
|
|
|
236
221
|
## 5. Layout Principles
|
|
237
222
|
|
|
238
|
-
|
|
239
|
-
- Max width: `1440px` (`--bqHLTv`, `--gIsGsE`)
|
|
240
|
-
- Grid layout page padding: top `40px` (`--grid-layout-page-padding-top`), bottom `64px` (`--grid-layout-page-padding-bottom`), horizontal `36px` (`--grid-layout-page-padding-horizontal`)
|
|
241
|
-
- Grid gutter: `24px` (`--grid-layout-gutter`)
|
|
242
|
-
- Inner inset: `16px` (`--grid-layout-inset`)
|
|
223
|
+
The supplied 1440×900 capture exposes public routes only. Measured spacing clusters at 4, 6, 12, 16, and 20px; the selector-backed actions above use 0px 16px or 6px 16px padding. No captured evidence establishes a product grid, page-width rule, breakpoint, mobile navigation, or authenticated listing layout, so those rules are omitted.
|
|
243
224
|
|
|
244
|
-
|
|
245
|
-
Mercari uses Panda CSS-generated hashed token names alongside semantic aliases. Common values from CSS:
|
|
246
|
-
- `4px`, `6px`, `8px`, `12px`, `16px`, `20px`, `24px`, `28px`, `32px`, `36px`, `40px`, `44px`, `48px`, `56px`, `64px`, `80px`, `96px`, `128px`, `164px`
|
|
225
|
+
## 6. Depth & Elevation
|
|
247
226
|
|
|
248
|
-
|
|
227
|
+
The selector-backed public controls and listing-image shell have `box-shadow: none`. The evidence does not establish a card elevation, menu, sheet, modal, tooltip, or z-index scale. The only captured dialogs belong to third-party cookie consent and are excluded from Mercari depth guidance.
|
|
249
228
|
|
|
250
|
-
|
|
251
|
-
Mercari is **commerce-density** — tight product grids with minimal card chrome, image-led visual hierarchy. The 6-column product grid on homepage uses `~190-240px` card widths with `12-16px` gutters.
|
|
229
|
+
## 7. Do's and Don'ts
|
|
252
230
|
|
|
253
|
-
|
|
231
|
+
### Do
|
|
254
232
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
-
|
|
258
|
-
-
|
|
259
|
-
- **Modal / dropdown**: `0px 8px 10px 0px rgba(0,0,0,.2)` (`--jcKRRc`)
|
|
260
|
-
- **Strong overlay**: `0px 0px 16px 0px rgba(0,0,0,.2)` (`--gQVqIQ`)
|
|
261
|
-
|
|
262
|
-
### Z-Index Hierarchy (explicit named tokens)
|
|
263
|
-
- Menu: `1100` (`--mer-z-index-menu`)
|
|
264
|
-
- Navigation top: `1200` (`--mer-z-index-navigation-top`)
|
|
265
|
-
- Navigation bottom: `1200` (`--mer-z-index-navigation-bottom`)
|
|
266
|
-
- Autocomplete: `1300` (`--mer-z-index-autocomplete`)
|
|
267
|
-
- Dialog: `1400` (`--mer-z-index-dialog`)
|
|
268
|
-
- Modal: `1400` (`--mer-z-index-modal`)
|
|
269
|
-
- Side sheet: `1400` (`--mer-z-index-side-sheet`)
|
|
270
|
-
- Information popup: `1400` (`--mer-z-index-information-popup`)
|
|
271
|
-
- Action sheet: `1400` (`--mer-z-index-action-sheet`)
|
|
272
|
-
- Snackbar: `1500` (`--mer-z-index-snackbar`)
|
|
273
|
-
- Tooltip: `1600` (`--mer-z-index-tooltip`)
|
|
274
|
-
|
|
275
|
-
### Animation
|
|
276
|
-
- Easing curves: `cubic-bezier(0.65, 0, 0.35, 1)` (sheets), `cubic-bezier(0.33, 1, 0.68, 1)` (snackbars/dialogs)
|
|
277
|
-
- Standard duration: `0.25s`
|
|
278
|
-
- Loading spinner: `1.25s` 8-step rotation
|
|
233
|
+
- Use Averta only where the verified family can be loaded from an appropriately licensed source.
|
|
234
|
+
- Keep `#5356ee` scoped to the observed public-web action/link contexts, rather than treating it as a complete product palette.
|
|
235
|
+
- Retain source-domain provenance when using the public-home, corporate-marketing, or brand-directory observations.
|
|
236
|
+
- Use the 8px radius only for the observed listing image shell, not as a general card rule.
|
|
279
237
|
|
|
280
|
-
|
|
238
|
+
### Don't
|
|
281
239
|
|
|
282
|
-
-
|
|
283
|
-
-
|
|
284
|
-
-
|
|
285
|
-
-
|
|
286
|
-
- **DO** use weight 700 for primary CTAs and prices. Weight 400 for navigation, secondary actions, body.
|
|
287
|
-
- **DON'T** use weight 500 or 600 — they're not part of Mercari's typography rhythm.
|
|
288
|
-
- **DO** keep `border-radius: 4px` on buttons and cards. Mercari's commerce voice is sharp and functional.
|
|
289
|
-
- **DON'T** use pill-shaped or large-radius buttons — that breaks the marketplace density aesthetic.
|
|
290
|
-
- **DO** apply circular thumbnails (`border-radius: 50%`) to brand/category icons in navigation. It's a distinctive Mercari pattern.
|
|
291
|
-
- **DON'T** use shadows on flat product cards — let the white card on `#f5f5f5` secondary bg provide separation.
|
|
292
|
-
- **DO** use the locale-aware font stack with Hiragino/Meiryo "Custom" variants. The optical tuning matters for Japanese readability.
|
|
293
|
-
- **DON'T** load custom web fonts. Mercari's audience is mobile-first across slow connections; system fonts respect that.
|
|
294
|
-
- **DO** use the explicit named z-index tokens (`--mer-z-index-*`) — Mercari's stacking order is deliberate.
|
|
295
|
-
- **DON'T** use arbitrary z-index values like `9999` — that breaks the layered system.
|
|
240
|
+
- Do not revive the former Japanese semantic-red system, JP typography stack, or token inventory from a different capture.
|
|
241
|
+
- Do not reuse the corporate-marketing sell action as a checkout, payment, listing-submit, or mobile-app CTA.
|
|
242
|
+
- Do not carry Truste cookie-consent controls or dialogs into a Mercari component system.
|
|
243
|
+
- Do not invent responsive, error, success, disabled, motion, or authenticated-marketplace variants.
|
|
296
244
|
|
|
297
245
|
## 8. Responsive Behavior
|
|
298
246
|
|
|
299
|
-
|
|
300
|
-
| Width | Behavior |
|
|
301
|
-
|---|---|
|
|
302
|
-
| Desktop `>1440px` | Centered max-width container, full grid |
|
|
303
|
-
| Desktop `1024–1440px` | 6-column product grid, full nav |
|
|
304
|
-
| Tablet `768–1024px` | 4-column product grid, condensed nav |
|
|
305
|
-
| Mobile `<768px` | 2-column grid, hamburger nav, sticky bottom navigation |
|
|
306
|
-
|
|
307
|
-
### Touch & Mobile
|
|
308
|
-
- Mobile bottom navigation: tab bar with icon + label
|
|
309
|
-
- Form heights: small `36px`, medium ~`48px`, large ~`56px` (estimated from spacing tokens)
|
|
310
|
-
- Touch targets: minimum `44px` per Apple HIG conventions
|
|
311
|
-
|
|
312
|
-
### Image Behavior
|
|
313
|
-
- Product images: square aspect ratio, `4px` corner radius (matches button/card scheme)
|
|
314
|
-
- Brand thumbnails: circular (`50%` radius)
|
|
315
|
-
- Lazy-load via Next.js Image equivalent
|
|
316
|
-
- Placeholder skeleton uses `--color-shimmer-bg` / `--color-shimmer-fg` pattern
|
|
247
|
+
Only a 1440×900 viewport was supplied. No mobile viewport, breakpoint, layout transition, touch-target policy, or safe-area behavior was observed. Responsive behavior is therefore not specified.
|
|
317
248
|
|
|
318
249
|
## 9. Agent Prompt Guide
|
|
319
250
|
|
|
320
|
-
|
|
321
|
-
- **Mercari Red** (attention, sale, brand): `#ff333f` (`--alias-color-background-attention-default`)
|
|
322
|
-
- Accent Blue (links, info): `#0095ee`
|
|
323
|
-
- Success Green: `#0aa466`
|
|
324
|
-
- Decorative Yellow (ratings): `#ffb818`
|
|
325
|
-
- Primary text: `#333333`
|
|
326
|
-
- Secondary text: `#666666`
|
|
327
|
-
- Page bg: `#ffffff`
|
|
328
|
-
- Secondary bg: `#f5f5f5`
|
|
329
|
-
- Border default: `#cccccc`
|
|
330
|
-
- Inverse text: `#ffffff` (on dark surfaces)
|
|
331
|
-
|
|
332
|
-
### Example Component Prompts
|
|
333
|
-
- "Create a Mercari-style attention CTA: bg `#ff333f`, white text, `border-radius: 4px`, `padding: 11px 15px`, `font-weight: 700`. Hover: bg darkens to `#ff6574`. Active: `#e32b36`. Use this for danger actions, sale CTAs, the brand-mark button — never for generic 'primary' actions (those use accent blue)."
|
|
334
|
-
- "Build a Mercari product card: white bg, no border or `1px solid #e0e0e0`, `4px` radius. Image fills top 70% in `4px` rounded square. Title in 14px weight 400 `#333333` (2-line clamp), price below in 16px weight 700 `#333333` for normal price OR `#ff333f` for sale price. Optional sale badge in top-left corner using `#ff333f` bg + white text + 2px radius."
|
|
335
|
-
- "Design a Mercari brand thumbnail (category icon): circular `border-radius: 50%`, ~64-80px diameter, white bg with `1px solid #f5f5f5` border, brand image centered. Below: brand name in 12px weight 400 `#333333`, max 1 line ellipsis."
|
|
336
|
-
- "Create a Mercari search bar: full-width, bg `#f5f5f5` (secondary surface), `border-radius: 4px`, padding 12-16px, placeholder `#999999`. Right side: camera icon + magnifier icon, both `#666666`. On focus: bg shifts to white, border becomes `1px solid #cccccc`."
|
|
337
|
-
- "Build a Mercari snackbar: bg `#333333` (`--alias-color-background-tertiary-default`), white text, `border-radius: 4px`, `padding: 12px 16px`, fixed at bottom with z-index 1500. Slides in via `cubic-bezier(0.33, 1, 0.68, 1)` over `0.25s`. Auto-dismiss after 3-4s."
|
|
338
|
-
|
|
339
|
-
### Iteration Guide
|
|
340
|
-
1. **Always reference `--alias-color-*` tokens, not raw hex**. Mercari's 681 vars are the canonical source.
|
|
341
|
-
2. **Mercari Red (`#ff333f`) is the `attention` role** — destructive, sale-emphasis, brand mark. Not a default primary.
|
|
342
|
-
3. **`border-radius: 4px`** is the workhorse. Cards, buttons, badges. Brand thumbnails get `50%` (circular).
|
|
343
|
-
4. **Weight 700 for prices and primary CTAs**, weight 400 for everything else. No middle weights.
|
|
344
|
-
5. **Use the locale-aware font stack with Hiragino/Meiryo "Custom" variants**. Optical tuning matters.
|
|
345
|
-
6. **Z-index uses named tokens** (`--mer-z-index-*`) — never arbitrary numbers.
|
|
346
|
-
7. **Animation easing `cubic-bezier(0.65, 0, 0.35, 1)` for sheets**, `cubic-bezier(0.33, 1, 0.68, 1)` for snackbars/dialogs. Duration `0.25s`.
|
|
347
|
-
8. **Surface contrast** (`#ffffff` cards on `#f5f5f5` page bg) handles separation — minimal shadow needed on flat layouts.
|
|
348
|
-
9. **Body text `#333333`, secondary `#666666`, tertiary `#999999`** — three-tier text hierarchy across the entire system.
|
|
349
|
-
10. **Page padding 36px horizontal, 40px top, 64px bottom**, with `24px` gutter — the layout grid is explicit.
|
|
350
|
-
|
|
351
|
-
---
|
|
251
|
+
For a public US Mercari web concept only, use a near-white canvas, `#222222` reading text, `#5356ee` as the observed action/link color, and Averta when it can actually load. Keep a compact 4px action radius and an 8px listing-image radius. Do not generate a mobile marketplace flow, checkout, payment, seller workflow, status system, or Japanese-product design from this reference; the supplied evidence does not establish them.
|
|
352
252
|
|
|
353
253
|
## 10. Voice & Tone
|
|
354
254
|
|
|
355
|
-
Mercari
|
|
255
|
+
Mercari’s reviewed public guidance is neighborly, practical, and safety-conscious. The marketplace guidelines address buyers and sellers as real people, ask them to represent items accurately, and structure safety/legal rules in plain language. The listing guide is similarly procedural: photos, description, price, then shipping. [Marketplace guidelines](https://www.mercari.com/us/help_center/article/407/) · [Listing guide](https://www.mercari.com/us/help_center/topics/listing/guides/creating-a-listing/)
|
|
356
256
|
|
|
357
|
-
| Context |
|
|
358
|
-
|
|
359
|
-
|
|
|
360
|
-
|
|
|
361
|
-
|
|
|
362
|
-
| Error messages | In Japanese UI, proper 丁寧語 (teineigo) — blameless and concrete. In English, direct and action-oriented ("Upload failed. Tap to retry."). |
|
|
363
|
-
| Trust / safety copy | Explicit rather than reassuring. *"Payment held until buyer confirms receipt"* beats *"Secure and trusted"*. |
|
|
364
|
-
| Engineering / culture content | Professional and retrospective; documents failures openly ("Lessons from…", "Behind the Scenes of…") — in line with the "Go Bold" + document-learnings value. |
|
|
365
|
-
| Onboarding | Functional orientation first — *what you can buy and sell, how fees work, how shipping is handled* — not aspirational framing. |
|
|
366
|
-
| Push notifications | Transactional specificity — item title + action ("Your listing sold: iPhone 14 Pro"). Never promotional spam in the primary notification surface. |
|
|
257
|
+
| Context | Observed direction |
|
|
258
|
+
|---------|--------------------|
|
|
259
|
+
| Marketplace guidance | Address participants directly and concretely. |
|
|
260
|
+
| Listing assistance | Sequence the next practical action without hype. |
|
|
261
|
+
| Safety policy | Name the boundary and the reason for it plainly. |
|
|
367
262
|
|
|
368
|
-
|
|
263
|
+
Voice samples are quoted or closely paraphrased from the cited public pages; they are not an authenticated-product copy specification.
|
|
369
264
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
-
|
|
373
|
-
- JP footer safety banner (verified): *"メルカリあんしん・あんぜん宣言!"* <!-- verified: jp.mercari.com footer, 2026-04 --> — exclamation-ending, commits to a publicly-listed safety initiative rather than generic "trust".
|
|
374
|
-
- EN product description (verified): *"A C2C marketplace where individuals can enjoy buying and selling items. Through our unique payment deposit system and our use of AI to monitor for fraud, anyone can enjoy safe and secure transactions."* <!-- verified: about.mercari.com/en, 2026-04 --> — tone exemplar: concrete mechanisms (*payment deposit system*, *AI to monitor for fraud*) over vague reassurance.
|
|
375
|
-
- Empty state (new user, no listings): *"Nothing listed yet. Take a photo and list your first item."* <!-- illustrative: not verified as live Mercari copy -->
|
|
376
|
-
- Error (photo upload failed): *"Upload failed. Tap to retry."* <!-- illustrative: not verified as live Mercari copy -->
|
|
377
|
-
- Success (item sold): *"Sold to <buyer>. Package it and print the shipping label."* <!-- illustrative: not verified as live Mercari copy -->
|
|
265
|
+
- “Keep it neighborly.” — public marketplace guideline.
|
|
266
|
+
- “Keep it safe.” — public marketplace guideline.
|
|
267
|
+
- “Just take some photos, add a description, and set the price.” — public listing guide.
|
|
378
268
|
|
|
379
269
|
## 11. Brand Narrative
|
|
380
270
|
|
|
381
|
-
Mercari
|
|
382
|
-
|
|
383
|
-
From that origin Mercari grew into **Japan's largest C2C marketplace** (50M+ downloads, 350K daily listings <!-- source: base DESIGN.md §1, carried from 2026-04-17 extraction, not re-verified -->), expanded to the **US in 2014** and **UK in 2016**, became **Japan's first tech unicorn (>$1B) in 2016**, then completed a **Tokyo Stock Exchange IPO June 2018** raising over **$1.2B** — making Yamada **Japan's newest billionaire** ([The Japan Times — Mercari IPO 2018](https://www.japantimes.co.jp/news/2018/06/11/business/corporate-business/mercaris-top-range-ipo-set-make-founder-shintaro-yamada-new-japanese-billionaire/)). **U.S. operations achieved profitability for the first time fiscal-year ending June 30 2025**. Spun up adjacent divisions: **Merpay** (2019, payments — *"Building trust for a seamless society"*), **Mercoin** (2023, crypto — *"Circulate your value, anywhere and everywhere"*). The consistent thread across divisions is the word *circulate* — not *sell*, not *exchange*, not *marketplace*. Every product framing returns to that verb.
|
|
271
|
+
Mercari’s current marketplace-principles material states its mission as circulating forms of value to unleash people’s potential, and frames the marketplace as needing to remain diverse, free, safe, trustworthy, and humane. The same material connects the marketplace to the reuse of dormant value and a circular economy. On the public US product side, the listing guide turns that broad purpose into a practical peer-to-peer exchange: people photograph an item, describe it, price it, and choose shipping. [Marketplace principles](https://pj.mercari.com/principles/marketplace-principles-and-history_EN.pdf) · [Listing guide](https://www.mercari.com/us/help_center/topics/listing/guides/creating-a-listing/)
|
|
384
272
|
|
|
385
|
-
|
|
273
|
+
This reference does not add founding dates, expansion history, or claims about the Japanese app because they were not re-established by the sources reviewed in this update.
|
|
386
274
|
|
|
387
275
|
## 12. Principles
|
|
388
276
|
|
|
389
|
-
1. **Circulate
|
|
390
|
-
|
|
391
|
-
2. **Semantic tokens are the source of truth.** All 681 `:root` CSS custom properties (`--alias-color-background-attention-default` and friends) resolve through the token layer before any pixel is painted. *UI implication:* components never hardcode hex values. A theme swap (dark mode, regional variant) is a `:root` redefinition, not a UI refactor.
|
|
392
|
-
|
|
393
|
-
3. **Mercari Red is the `attention` role, not a primary accent.** `#ff333f` signals danger, sale emphasis, and the brand mark — nothing else. Using it as a decorative accent on buttons, illustrations, or empty-state icons dilutes its function as a warning signal. *UI implication:* primary CTA surfaces use neutral dark text on white, not red; red is reserved for destructive actions and sale-price emphasis.
|
|
277
|
+
1. **Circulate value through a marketplace.** Mercari’s official principles connect exchanges of dormant value with a circular economy. *UI implication:* make the transaction task and its next step legible; do not introduce decorative claims in place of item information.
|
|
394
278
|
|
|
395
|
-
|
|
279
|
+
2. **Keep peer-to-peer exchange neighborly.** The marketplace guidelines say buyers and sellers are real people and ask participants to represent themselves and their items accurately. *UI implication:* favour direct labels, truthful item details, and understandable conditions over ambiguous promotional language.
|
|
396
280
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
6. **Hiragino / Meiryo "Custom" variants are first-class, not fallbacks.** The optically-tuned Japanese faces are the primary reading surface for 50M+ Japanese users; they lead the stack, not end it. *UI implication:* never specify `-apple-system` or `system-ui` alone — the fallback chain must name the Japanese optical variants explicitly ([verified at runtime on jp.mercari.com](https://jp.mercari.com)).
|
|
400
|
-
|
|
401
|
-
7. **"Move Fast" pairs with "Safe Rollout."** The engineering culture (*Go Bold, All for One, Be a Pro, Move Fast* — [careers.mercari.com/mission-values](https://careers.mercari.com/mission-values/)) is explicitly paired with documented-failure practice. Blog titles like "Safe Chunked Execution" and "Behind the Scenes" are intentional; failures are surfaced, not buried. *UI implication:* error and recovery states are visible on the failing element (*"Upload failed. Tap to retry"*), not hidden behind a modal or a support ticket.
|
|
402
|
-
|
|
403
|
-
8. **Disagree & commit.** Once decisions are made — after debate — the team commits fully ([mission-values](https://careers.mercari.com/mission-values/)). *UI implication:* there is no "legacy styles" escape hatch in the design system. Deprecated tokens are removed on a schedule, not left for "gradual migration forever."
|
|
281
|
+
3. **Safety is a condition of marketplace freedom.** Mercari’s principles treat a safe environment as necessary for free transactions, while the US guidelines direct users to keep communication in the app. *UI implication:* safety boundaries should be clear and contextual, not hidden in decorative reassurance.
|
|
404
282
|
|
|
405
283
|
## 13. Personas
|
|
406
284
|
|
|
407
|
-
*
|
|
408
|
-
|
|
409
|
-
**Yuki Sato, 28, Tokyo.** Office worker who declutters every 2–3 weeks — a jacket, a manga set, a hand mixer. Lists in under 3 minutes during her evening commute and expects the "sold" notification to tell her exactly how to ship. Japanese-language-first; sub-¥20,000 items only, rarer collectibles still go to Yahoo! Auctions.
|
|
410
|
-
|
|
411
|
-
**Takeshi Nakamura, 42, Osaka.** Secondhand-bookshop owner using Mercari as a **secondary retail channel** — photographs overstock at the shop, lists in the evening. A 1-star rating materially damages his shop's income, so he treats the platform's forced taxonomy (`Like New`, `Good`) as a feature that protects him from subjective disputes.
|
|
285
|
+
*The following are non-factual design archetypes derived only from the official marketplace’s buyer/seller framing; they are not demographic claims, user research, or representations of individual Mercari users.*
|
|
412
286
|
|
|
413
|
-
**
|
|
287
|
+
**A person listing a shippable household item.** Needs a short, ordered path from photos to description, price, and shipping choice. Their exact device, location, frequency of use, and payment needs are not established here.
|
|
414
288
|
|
|
415
|
-
**
|
|
289
|
+
**A person assessing a listing.** Needs accurate item information and clear marketplace boundaries. Their browsing behavior, budget, and trust signals are not established here.
|
|
416
290
|
|
|
417
291
|
## 14. States
|
|
418
292
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
| State | Treatment |
|
|
422
|
-
|---|---|
|
|
423
|
-
| **Empty (home, new user)** | White canvas (`--alias-color-background-primary-default`). One line of body copy (15px weight 400, `#333333`) explaining what Mercari does in the local register. One **4px-radius** `--alias-color-background-attention-default` (Mercari Red) CTA *"List your first item"*. No illustration — the category thumbnails below serve as visual orientation. |
|
|
424
|
-
| **Empty (search results)** | Neutral gray (`#666666`) microcopy: *"No results for '<query>'. Try a broader keyword or browse categories below."* <!-- illustrative: not verified as live Mercari copy --> Suggested-category chips follow immediately. Never a "sorry" apology or emoji. |
|
|
425
|
-
| **Loading (listing grid)** | Skeleton tiles at the exact final card dimensions (`--alias-color-background-secondary-default` `#f5f5f5` blocks, 4px radius). Shimmer pass ≤ 1.2s. Skeleton never shows placeholder text — only rectangles. |
|
|
426
|
-
| **Loading (price / amount field)** | Currency-localized placeholder, never a number: `¥ -` for JP, `$ -` for US. Never `¥ 0` — zero reads as "this item is free." |
|
|
427
|
-
| **Error (photo upload failed)** | Red icon (`--alias-color-icon-attention-default` `#ff333f`) attached to the failed photo slot. Inline text: *"Upload failed. Tap to retry."* Retry tap reattempts without full form resubmission. Never a blocking modal. |
|
|
428
|
-
| **Error (network)** | Top banner in `--alias-color-background-tertiary-default` (`#333333`) with white text. One sentence + retry pill. Banner disappears silently when connectivity returns. |
|
|
429
|
-
| **Error (listing rejected, policy violation)** | Modal is used here — this is not a transient error. Headline states the violation plainly (*"This item type isn't allowed"*), body links to the policy page, CTA is *"Edit listing"*. Never hide the policy reason behind a support ticket. |
|
|
430
|
-
| **Success (listed)** | Bottom toast snackbar at `--mer-z-index-snackbar` (1500), `--alias-color-background-tertiary-default` (`#333333`) bg, white text, 3–4s auto-dismiss: *"Listed. View your item →"* — the link inside the toast goes to the listing. |
|
|
431
|
-
| **Success (sold)** | Full-width banner at top of the listing-detail view using the success-green family (derived from `#0aa466`, not brand red — red is for attention, not celebration). Body: *"Sold to @buyer. Package within 3 days."* Primary CTA: *"Generate shipping label"* — the platform takes the user straight into the next step. |
|
|
432
|
-
| **Skeleton** | `#f5f5f5` (`--alias-color-background-secondary-default`) at exact final dimensions. Never over the `price` field — that stays currency-placeholder. |
|
|
433
|
-
| **Disabled** | Opacity applied to text and fill together. Disabled CTA keeps its 4px radius — never flattens or rounds to a different shape. |
|
|
293
|
+
No authenticated product workflow was captured. The supplied collector records only public-route selector snapshots and third-party cookie-consent dialogs; it does not establish Mercari empty, loading, error, success, skeleton, or disabled treatments. Do not manufacture those states from the colors or controls above.
|
|
434
294
|
|
|
435
295
|
## 15. Motion & Easing
|
|
436
296
|
|
|
437
|
-
Mercari
|
|
438
|
-
|
|
439
|
-
**Durations**:
|
|
440
|
-
|
|
441
|
-
| Token | Value | Use |
|
|
442
|
-
|---|---|---|
|
|
443
|
-
| `motion-instant` | 0ms | Toggle commits, selection state |
|
|
444
|
-
| `motion-fast` | 150ms | Button/card tap feedback, image thumbnail expand |
|
|
445
|
-
| `motion-standard` | 250ms | Bottom sheet rise, snackbar enter/exit, dialog appear |
|
|
446
|
-
| `motion-slow` | 400ms | Listing-submit success confirmation, payment complete |
|
|
447
|
-
| `motion-page` | 300ms | In-app navigation push/pop |
|
|
448
|
-
|
|
449
|
-
**Easings** (verified from live `:root` computed styles on `jp.mercari.com`):
|
|
450
|
-
|
|
451
|
-
| Token | Curve | Use |
|
|
452
|
-
|---|---|---|
|
|
453
|
-
| `ease-standard` | `cubic-bezier(0.33, 1, 0.68, 1)` | Snackbars, dialogs, toasts — the everyday easing |
|
|
454
|
-
| `ease-sheet` | `cubic-bezier(0.65, 0, 0.35, 1)` | Bottom sheet rise/dismiss — more deliberate, like a drawer |
|
|
455
|
-
| `ease-exit` | `cubic-bezier(0.4, 0, 0.9, 1)` | Dismissals, cancellations |
|
|
456
|
-
|
|
457
|
-
No `ease-bounce`, no `ease-overshoot`, no cubic-bezier with y-values > 1 or < 0 anywhere in the system. **Commerce has no spring.**
|
|
458
|
-
|
|
459
|
-
**Signature motions.**
|
|
460
|
-
|
|
461
|
-
1. **Card tap feedback.** Listing cards scale `1.0` → `0.98` over `motion-fast` on press, returning to `1.0` on release. Subtle, thumb-oriented, feels tactile without bouncing.
|
|
462
|
-
2. **Bottom sheet rise (filters, sort, category picker).** Uses `ease-sheet` over `motion-standard`. The deliberate easing matches the Japanese-origin UX tradition of drawers sliding smoothly, not snapping into place.
|
|
463
|
-
3. **Favorite toggle.** Heart icon fills over `motion-fast` with a simple crossfade — no scaling pulse. The commit is the signal; no decorative reinforcement.
|
|
464
|
-
4. **Listing submit success.** Full-width success banner fades + slides down from top at `motion-slow` with `ease-standard`. No confetti, no illustration — the ship-now CTA that appears is the reward.
|
|
465
|
-
5. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`. Sheets and modals appear via opacity only. The app remains fully functional; motion is never load-bearing for comprehension.
|
|
466
|
-
|
|
467
|
-
<!--
|
|
468
|
-
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
469
|
-
|
|
470
|
-
Extracted 2026-04-20 via omd:add-reference AUGMENT mode.
|
|
471
|
-
Style reference: line/DESIGN.md (Asian / JP-origin matrix auto-pick).
|
|
472
|
-
|
|
473
|
-
Direct verification via WebFetch (2026-04-20):
|
|
474
|
-
- https://about.mercari.com/en/about/ — confirms the founding question ("What
|
|
475
|
-
can I do to help society thrive with the finite resources we have?"), the
|
|
476
|
-
group mission ("Circulate all forms of value to unleash the potential in all
|
|
477
|
-
people"), and the four divisions (Mercari JP, Mercari US, Merpay, Mercoin)
|
|
478
|
-
with their divisional missions.
|
|
479
|
-
- https://careers.mercari.com/mission-values/ — confirms the four values
|
|
480
|
-
("Go Bold / All for One / Be a Pro / Move Fast") with taglines and example
|
|
481
|
-
behaviors, and the four foundational mindsets (Sustainability; Inclusion &
|
|
482
|
-
Diversity; Trust & Openness; Customer Perspective).
|
|
483
|
-
- https://engineering.mercari.com/en/blog/ — confirms the engineering voice
|
|
484
|
-
register as pragmatic and retrospective, with "Move Fast" culturally paired
|
|
485
|
-
with "Safe Rollout" and documented failure.
|
|
486
|
-
|
|
487
|
-
Base DESIGN.md (sections 1–9) is the source for all token-level claims: Mercari
|
|
488
|
-
Red #ff333f, accent blue #0095ee, success green #0aa466, the 4px radius
|
|
489
|
-
signature, the two-weight hierarchy (700/400), the 681 :root CSS custom
|
|
490
|
-
properties with the --alias-color-{property}-{role}-{state} namespace, the
|
|
491
|
-
JP-first font stack (Hiragino Kaku Gothic ProN Custom, Hiragino Sans Custom,
|
|
492
|
-
Meiryo Custom), the z-index scale (1100–1600) via --mer-z-index-* tokens, and
|
|
493
|
-
the easing curves cubic-bezier(0.33, 1, 0.68, 1) and cubic-bezier(0.65, 0, 0.35,
|
|
494
|
-
1) originally extracted from live :root inspection in _research.md.
|
|
495
|
-
|
|
496
|
-
Not independently verified in this session but widely documented public facts:
|
|
497
|
-
- Mercari founded 2013 in Tokyo by Shintaro Yamada (previously at Rakuten
|
|
498
|
-
Auctions / Unoh).
|
|
499
|
-
- US market launch 2014; Merpay launched 2019; Mercoin launched 2023.
|
|
500
|
-
- "50M+ downloads, 350K daily listings" figures carried over from the base
|
|
501
|
-
DESIGN.md §1, originally from the 2026-04-17 runtime extraction on
|
|
502
|
-
jp.mercari.com; these are rounded public figures rather than independently
|
|
503
|
-
re-verified in this augmentation pass.
|
|
504
|
-
-->
|
|
505
|
-
|
|
506
|
-
---
|
|
507
|
-
|
|
508
|
-
**Verified:** 2026-05-08 (omd:migrate run 35 — Apple-tier)
|
|
509
|
-
**Tier 1 sources:** jp.mercari.com home + /search (live DOM via playwright — Primary **`#ff333f`** Mercari Red 4px / 11×15 / 45px / 15px·**700** BOLD; Outline `#fff` 4px / 36px / 14px·400 / `#333` Charcoal; **search filter chip** 18px / 4×8 / 36px / 14px·400; **category tab** 0px / 14px·700 active-state Red shift; **US promo accent** `#0095ee` Bright Blue cross-border-only).
|
|
510
|
-
**Tier 2 sources:** styles.refero.design / getdesign.md — no record.
|
|
511
|
-
**Tier 2 (Philosophy/founders/IPO):** Wikipedia (Mercari + Shintaro Yamada), Japan Times (2018-06 IPO Yamada billionaire), Bloomberg, BoF 500, Crunchbase, about.mercari.com.
|
|
512
|
-
**Style ref:** `line` (JP East-Asian, retained).
|
|
513
|
-
**Conflicts unresolved:** none. **Earlier addition:** filter pill 18px sub-tier + US-locale Bright Blue `#0095ee` cross-border accent were missing from prior pass.
|
|
514
|
-
|
|
297
|
+
No Mercari motion duration, easing curve, transition, or reduced-motion treatment was captured on the selector-backed public components. Motion guidance is intentionally absent pending product-surface evidence.
|