oh-my-design-cli 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.ja.md +7 -7
  2. package/README.ko.md +7 -7
  3. package/README.md +15 -18
  4. package/README.zh-TW.md +7 -7
  5. package/agents/omd-ux-writer.md +1 -1
  6. package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +189 -0
  7. package/data/reference-audits/2026-05-13-kr10.md +132 -0
  8. package/data/reference-fingerprints.json +626 -3
  9. package/data/reference-tags.md +15 -1
  10. package/package.json +2 -2
  11. package/skills/omd-apply/SKILL.md +1 -1
  12. package/skills/omd-harness/SKILL.md +3 -3
  13. package/skills/omd-init/SKILL.md +2 -2
  14. package/web/AGENTS.md +5 -0
  15. package/web/references/29cm/DESIGN.md +445 -0
  16. package/web/references/ably/DESIGN.md +582 -0
  17. package/{references → web/references}/airbnb/DESIGN.md +158 -19
  18. package/web/references/airtable/DESIGN.md +241 -0
  19. package/{references → web/references}/apple/DESIGN.md +131 -76
  20. package/web/references/baemin/DESIGN.md +470 -0
  21. package/web/references/banksalad/DESIGN.md +606 -0
  22. package/{references → web/references}/bmw/DESIGN.md +138 -9
  23. package/{references → web/references}/cal/DESIGN.md +173 -17
  24. package/{references → web/references}/claude/DESIGN.md +11 -1
  25. package/{references → web/references}/clay/DESIGN.md +75 -0
  26. package/{references → web/references}/clickhouse/DESIGN.md +74 -0
  27. package/{references → web/references}/cohere/DESIGN.md +75 -0
  28. package/web/references/coinbase/DESIGN.md +205 -0
  29. package/{references → web/references}/composio/DESIGN.md +74 -0
  30. package/web/references/coupang/DESIGN.md +487 -0
  31. package/{references → web/references}/cursor/DESIGN.md +74 -0
  32. package/web/references/dcard/DESIGN.md +567 -0
  33. package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
  34. package/{references → web/references}/expo/DESIGN.md +72 -0
  35. package/{references → web/references}/ferrari/DESIGN.md +72 -0
  36. package/{references → web/references}/figma/DESIGN.md +124 -48
  37. package/{references → web/references}/framer/DESIGN.md +143 -16
  38. package/web/references/freee/DESIGN.md +558 -0
  39. package/web/references/gangnamunni/DESIGN.md +605 -0
  40. package/{references → web/references}/hashicorp/DESIGN.md +72 -0
  41. package/{references → web/references}/ibm/DESIGN.md +68 -0
  42. package/{references → web/references}/intercom/DESIGN.md +73 -0
  43. package/web/references/kakao/DESIGN.md +490 -0
  44. package/web/references/kakaobank/DESIGN.md +533 -0
  45. package/web/references/kakaopay/DESIGN.md +529 -0
  46. package/web/references/karrot/DESIGN.md +431 -0
  47. package/web/references/kraken/DESIGN.md +219 -0
  48. package/web/references/krds/DESIGN.md +982 -0
  49. package/web/references/kurly/DESIGN.md +574 -0
  50. package/{references → web/references}/lamborghini/DESIGN.md +74 -0
  51. package/{references → web/references}/line/DESIGN.md +84 -43
  52. package/{references → web/references}/linear.app/DESIGN.md +8 -1
  53. package/{references → web/references}/lovable/DESIGN.md +73 -0
  54. package/web/references/mercari/DESIGN.md +464 -0
  55. package/{references → web/references}/minimax/DESIGN.md +72 -0
  56. package/{references → web/references}/mintlify/DESIGN.md +72 -0
  57. package/web/references/miro/DESIGN.md +252 -0
  58. package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
  59. package/{references → web/references}/mongodb/DESIGN.md +72 -0
  60. package/web/references/musinsa/DESIGN.md +536 -0
  61. package/web/references/naver/DESIGN.md +518 -0
  62. package/{references → web/references}/notion/DESIGN.md +9 -1
  63. package/web/references/nvidia/DESIGN.md +491 -0
  64. package/web/references/ohouse/DESIGN.md +570 -0
  65. package/{references → web/references}/ollama/DESIGN.md +72 -0
  66. package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
  67. package/web/references/pinkoi/DESIGN.md +575 -0
  68. package/{references → web/references}/pinterest/DESIGN.md +73 -0
  69. package/{references → web/references}/posthog/DESIGN.md +172 -18
  70. package/web/references/qanda/DESIGN.md +459 -0
  71. package/{references → web/references}/raycast/DESIGN.md +169 -34
  72. package/web/references/remember/DESIGN.md +445 -0
  73. package/{references → web/references}/renault/DESIGN.md +72 -0
  74. package/{references → web/references}/replicate/DESIGN.md +73 -0
  75. package/{references → web/references}/resend/DESIGN.md +73 -0
  76. package/{references → web/references}/revolut/DESIGN.md +74 -0
  77. package/web/references/ridi/DESIGN.md +517 -0
  78. package/{references → web/references}/runwayml/DESIGN.md +152 -24
  79. package/{references → web/references}/sanity/DESIGN.md +72 -0
  80. package/{references → web/references}/sentry/DESIGN.md +73 -0
  81. package/web/references/socar/DESIGN.md +370 -0
  82. package/web/references/spacex/DESIGN.md +379 -0
  83. package/web/references/spotify/DESIGN.md +426 -0
  84. package/{references → web/references}/stripe/DESIGN.md +44 -1
  85. package/{references → web/references}/supabase/DESIGN.md +73 -0
  86. package/{references → web/references}/superhuman/DESIGN.md +159 -17
  87. package/{references → web/references}/tesla/DESIGN.md +170 -0
  88. package/{references → web/references}/together.ai/DESIGN.md +73 -0
  89. package/{references → web/references}/toss/DESIGN.md +304 -50
  90. package/{references → web/references}/uber/DESIGN.md +73 -0
  91. package/{references → web/references}/vercel/DESIGN.md +9 -1
  92. package/{references → web/references}/voltagent/DESIGN.md +73 -0
  93. package/web/references/wanted/DESIGN.md +515 -0
  94. package/{references → web/references}/warp/DESIGN.md +142 -15
  95. package/web/references/webflow/DESIGN.md +253 -0
  96. package/{references → web/references}/wise/DESIGN.md +84 -0
  97. package/{references → web/references}/x.ai/DESIGN.md +85 -0
  98. package/web/references/yanolja/DESIGN.md +448 -0
  99. package/web/references/yeogiotte/DESIGN.md +424 -0
  100. package/{references → web/references}/zapier/DESIGN.md +85 -0
  101. package/web/references/zigbang/DESIGN.md +457 -0
  102. package/web/references/zigzag/DESIGN.md +618 -0
  103. package/references/airtable/DESIGN.md +0 -107
  104. package/references/baemin/DESIGN.md +0 -260
  105. package/references/coinbase/DESIGN.md +0 -129
  106. package/references/dcard/DESIGN.md +0 -302
  107. package/references/freee/DESIGN.md +0 -308
  108. package/references/kakao/DESIGN.md +0 -261
  109. package/references/karrot/DESIGN.md +0 -252
  110. package/references/kraken/DESIGN.md +0 -146
  111. package/references/mercari/DESIGN.md +0 -294
  112. package/references/miro/DESIGN.md +0 -108
  113. package/references/nvidia/DESIGN.md +0 -308
  114. package/references/pinkoi/DESIGN.md +0 -309
  115. package/references/spacex/DESIGN.md +0 -205
  116. package/references/spotify/DESIGN.md +0 -246
  117. package/references/webflow/DESIGN.md +0 -109
@@ -1,294 +0,0 @@
1
- # Design System Inspiration of Mercari
2
-
3
- ## 1. Visual Theme & Atmosphere
4
-
5
- Mercari is Japan's largest C2C marketplace (50M+ downloads, 350K daily listings) and its design system is a textbook example of **mature semantic token architecture**. The production site at `jp.mercari.com` exposes **681 CSS custom properties on `:root`**, organized into the well-named `--alias-color-*` namespace: `--alias-color-background-{role}-{state}`, `--alias-color-text-{role}-{state}`, `--alias-color-border-{role}-{state}`, `--alias-color-icon-{role}-{state}`, `--alias-color-overlay-*`. This isn't internal documentation — it's the actual design system surfaced at runtime, ready to read directly from any production page.
6
-
7
- 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.
8
-
9
- 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.
10
-
11
- **Key Characteristics:**
12
- - **681 semantic CSS custom properties** exposed on `:root` — the public design system surface
13
- - **Mercari Red** (`#ff333f`) as the `attention` semantic — used for badges, error/danger states, sale prices, the brand mark
14
- - Japanese-first font stack: `Helvetica Neue → Arial → Hiragino Kaku Gothic ProN Custom → Hiragino Sans Custom → Meiryo Custom`
15
- - Fixed `4px border-radius` on buttons and cards — sharp, commerce-functional
16
- - Weight 700 for primary CTAs; weight 400 for body and secondary controls
17
- - Three-tier color naming: `alias-color-{property}-{role}-{state}` (e.g., `--alias-color-background-attention-default`)
18
- - 1440px max page width with `--grid-layout-gutter: 24px` and `--grid-layout-page-padding-horizontal: 36px`
19
- - 4dp spacing micro-scale (`--bnfXaU: 6px`, `--exLgvR: 8px`, `--fwPfWM: 8px`, etc.) with named alias tokens
20
- - High-density product grid with circular brand thumbnails (`border-radius: 50%`) for category navigation
21
- - Multi-tier z-index system: dialog 1400, modal 1400, snackbar 1500, tooltip 1600
22
-
23
- ## 2. Color Palette & Roles
24
-
25
- All values verified live from `:root` CSS custom properties on `jp.mercari.com`.
26
-
27
- ### Brand / Attention (the Mercari Red family)
28
- - **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.
29
- - **Red Highlight** (`#ff6574`): `--alias-color-background-attention-highlight`, `--alias-color-border-attention-highlight`. Lighter variant for hover states.
30
- - **Red Active** (`#e32b36`): `--alias-color-background-attention-active`, `--alias-color-border-attention-active`. Pressed state.
31
- - **Red Thin** (`#fdf1f3`): `--alias-color-background-attentionThin-default`. Very light pink for subtle background emphasis (e.g., error message bg).
32
- - **Red Thin Highlight** (`#ffdcdf`): `--alias-color-background-attentionThin-highlight`.
33
-
34
- ### Accent (Mercari Blue)
35
- - **Accent Blue** (`#0095ee`): `--alias-color-background-accent-default`, `--alias-color-text-accent-default`, `--alias-color-icon-accent-default`. Links, info badges, accent CTAs.
36
- - **Accent Blue Highlight** (`#63c5ff`): `--alias-color-background-accent-highlight`.
37
- - **Accent Blue Active** (`#0073cc`): `--alias-color-background-accent-active`, `--alias-color-text-accent-active`.
38
- - **Link Default** (`#0073cc`): `--alias-color-text-link-default`, `--alias-color-icon-link-default`.
39
- - **Link Highlight** (`#30b2ff`): `--alias-color-text-link-highlight`.
40
- - **Link Active** (`#0056ab`): `--alias-color-text-link-active`.
41
- - **Accent Thin** (`#e8f8ff`): `--alias-color-background-accentThin-default`. Light blue notification bg.
42
-
43
- ### Success
44
- - **Success Green** (`#0aa466`): `--alias-color-text-success-default`, `--alias-color-icon-success-default`, `--alias-color-border-success-default`.
45
- - **Success Highlight** (`#0fbf67`): `--alias-color-text-success-highlight`, `--alias-color-icon-success-highlight`.
46
- - **Success Active** (`#078962`): `--alias-color-text-success-active`, `--alias-color-icon-success-active`.
47
- - **Success Thin** (`#e4ffec`): `--alias-color-background-success-default`.
48
- - **Success Thin Highlight** (`#cdfbd2`): `--alias-color-background-success-highlight`.
49
-
50
- ### Decorative (Yellow)
51
- - **Decorative Yellow** (`#ffb818`): `--alias-color-icon-decorativeYellow-default`. Reviews, ratings, premium markers.
52
- - **Decorative Yellow Highlight** (`#ffdc74`): Lighter yellow for hover.
53
- - **Decorative Yellow Active** (`#db9611`): Darker amber for pressed.
54
-
55
- ### Text (5-tier scale)
56
- - **Primary** (`#333333`): `--alias-color-text-primary-default`. Default body text and headlines.
57
- - **Primary Highlight** (`#999999`): `--alias-color-text-primary-highlight`.
58
- - **Primary Active** (`#222222`): `--alias-color-text-primary-active`.
59
- - **Secondary** (`#666666`): `--alias-color-text-secondary-default`. Captions, metadata.
60
- - **Secondary Highlight** (`#999999`): `--alias-color-text-secondary-highlight`.
61
- - **Secondary Active** (`#4c4c4c`): `--alias-color-text-secondary-active`.
62
- - **Disabled** (`#cccccc`): `--alias-color-text-disabled-default`.
63
- - **Placeholder** (`#999999`): `--alias-color-text-placeholder-default`.
64
- - **Inverse** (`#ffffff`): `--alias-color-text-inverse-default`. White text on dark surfaces.
65
-
66
- ### Background / Surface (5-tier scale)
67
- - **Primary** (`#ffffff`): `--alias-color-background-primary-default`. Default page bg.
68
- - **Primary Active** (`#f5f5f5`): `--alias-color-background-primary-active`. Pressed/hover state for white-bg controls.
69
- - **Primary Highlight** (`#f5f5f5`): `--alias-color-background-primary-highlight`.
70
- - **Secondary** (`#f5f5f5`): `--alias-color-background-secondary-default`. Grouped section bg.
71
- - **Secondary Highlight** (`#e5e5e5`): `--alias-color-background-secondary-highlight`.
72
- - **Tertiary** (`#333333`): `--alias-color-background-tertiary-default`. Dark surfaces (e.g., snackbar contrast).
73
- - **Disabled** (`#cccccc`): `--alias-color-background-disabled-default`.
74
-
75
- ### Border / Separator
76
- - **Primary** (`#cccccc`): `--alias-color-border-primary-default`. Standard component border.
77
- - **Primary Highlight** (`#e5e5e5`): `--alias-color-border-primary-highlight`.
78
- - **Primary Active** (`#999999`): `--alias-color-border-primary-active`.
79
- - **Secondary** (`#333333`): `--alias-color-border-secondary-default`. Strong dividers.
80
- - **Disabled** (`#cccccc`): `--alias-color-border-disabled-default`.
81
-
82
- ### Overlay (modal backdrops)
83
- - **Weak** (`rgba(34,34,34,0.2)`): `--alias-color-overlay-weak`.
84
- - **Middle** (`rgba(34,34,34,0.4)`): `--alias-color-overlay-middle`.
85
- - **Mid Strong** (`rgba(34,34,34,0.6)`): `--alias-color-overlay-midStrong`.
86
- - **Strong** (`rgba(34,34,34,0.8)`): `--alias-color-overlay-strong`.
87
- - **Inverse Weak** (`rgba(255,255,255,0.2)`): `--alias-color-overlay-inverseWeak`. White overlay on dark surface.
88
-
89
- ### Icon (separate role from text — important for accessibility)
90
- - **Primary** (`#333333`): `--alias-color-icon-primary-default`.
91
- - **Secondary** (`#cccccc`): `--alias-color-icon-secondary-default`.
92
- - **Tertiary** (`#666666`): `--alias-color-icon-tertiary-default`.
93
- - **Inverse** (`#ffffff`): `--alias-color-icon-inverse-default`.
94
-
95
- ### System (static)
96
- - **Static White** (`#ffffff`): `--alias-color-system-staticWhite-default`.
97
- - **Static Black** (`#000000`): `--alias-color-system-staticBlack-default`.
98
- - **Static Clear** (`rgba(255,255,255,0)`): `--alias-color-system-staticClear-default`.
99
-
100
- ## 3. Typography Rules
101
-
102
- ### Font Stack (verified live)
103
- ```
104
- "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN Custom", "Hiragino Sans Custom", "Meiryo Custom", sans-serif
105
- ```
106
-
107
- For non-Japanese locales the secondary stack adds Traditional Chinese support:
108
- ```
109
- Helvetica Neue, Arial, "PingFang TC Custom", "Noto Sans TC Custom", "Microsoft JhengHei", "Hiragino Kaku Gothic ProN Custom", "Hiragino Sans Custom", "Meiryo Custom", sans-serif
110
- ```
111
-
112
- The "Custom" suffix indicates Mercari runs optically-tuned variants of these system fonts in production — same families, adjusted spacing for marketplace UI density.
113
-
114
- ### Weights
115
- - **700**: Primary CTAs, prices, badges, "Shop Now" hero CTAs, language toggles.
116
- - **400**: Default body, login/signup buttons, navigation links, secondary CTAs.
117
-
118
- 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.
119
-
120
- ### Size Scale
121
- - **Base body**: `15px` (verified `bodySize`)
122
- - **Heading scale** is application-defined (homepage uses `15-20px` for H1/H2 with weight 700)
123
- - Mobile sizes step down via `--typography-*-font-size-mobile` tokens
124
-
125
- ### Conventions
126
- - **No letter-spacing tweaks** — system defaults trusted.
127
- - **Default line-height ~1.4** (estimated from rendered metrics).
128
- - **Uppercase reserved for the "MERCARI" wordmark only.**
129
-
130
- ## 4. Component Stylings
131
-
132
- ### Buttons (verified across variants)
133
- **Primary attention CTA (red)**:
134
- - bg `#ff333f`, text `#ffffff`, `border-radius: 4px`, `padding: 11px 15px`, `font-weight: 700`
135
-
136
- **Accent CTA (blue, e.g., "Shop Now")**:
137
- - bg `#ffffff`, text `#0095ee`, `border-radius: 4px`, `padding: 8px 12px`, `font-weight: 700`
138
-
139
- **Login / Signup (secondary, neutral)**:
140
- - bg `#ffffff`, text `#333333`, `border-radius: 4px`, `padding: 8px`, `font-weight: 400`
141
-
142
- **Icon button**:
143
- - bg `transparent`, color `#000000` or `#333333`, `border-radius: 4px`, `padding: 4px`, `font-weight: 400`
144
-
145
- **Language toggle**:
146
- - bg `transparent`, text `#333333`, `border-radius: 4px`, `padding: 8px 16px`, `font-weight: 700`
147
-
148
- ### Cards (Product Card, Brand Card)
149
- - White bg (`--alias-color-background-primary-default`)
150
- - Subtle `1px solid #e0e0e0` border or no border (image-led cards)
151
- - Brand thumbnails: `border-radius: 50%` (circular) — distinctive Mercari pattern for category navigation
152
- - Image fills top, title + price below
153
- - Price emphasis: weight 700, often in `#ff333f` (Mercari Red) for sale prices
154
-
155
- ### Search Input
156
- - Full-width bar at top of page, `bg: #f5f5f5` (secondary surface), `border-radius: 4px`, dark gray placeholder `#999999`
157
- - Camera search icon + magnifier icon inside the input on right
158
-
159
- ### Navigation (top header)
160
- - White sticky bg, height ~50-64px
161
- - Mercari wordmark + heart logo on left
162
- - Search bar centered
163
- - ログイン (Login), 会員登録 (Signup), notification bell, language toggle (日本語) on right
164
- - Tabs row below: おすすめ, マイリスト, ゲーム, etc. — horizontal scroll on mobile
165
-
166
- ### Chips / Tabs
167
- - Underline-driven active indicator (red underline `#ff333f` for active tab)
168
- - Inactive tabs: text `#333333` weight 400
169
- - Active tab: text `#ff333f` (or `#222222`) weight 700 with `2px` red underline
170
-
171
- ### Snackbar / Toast
172
- - Dark bg (`--alias-color-background-tertiary-default: #333333`)
173
- - White text (`--alias-color-text-inverse-default: #ffffff`)
174
- - Z-index `--mer-z-index-snackbar: 1500`
175
-
176
- ### Modal / Dialog
177
- - White surface, `border-radius: 8px`
178
- - Backdrop: `--alias-color-overlay-strong: rgba(34,34,34,0.8)`
179
- - Z-index `--mer-z-index-modal: 1400`
180
-
181
- ## 5. Layout Principles
182
-
183
- ### Page Structure
184
- - Max width: `1440px` (`--bqHLTv`, `--gIsGsE`)
185
- - 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`)
186
- - Grid gutter: `24px` (`--grid-layout-gutter`)
187
- - Inner inset: `16px` (`--grid-layout-inset`)
188
-
189
- ### Spacing Tokens (semantic aliases)
190
- Mercari uses Panda CSS-generated hashed token names alongside semantic aliases. Common values from CSS:
191
- - `4px`, `6px`, `8px`, `12px`, `16px`, `20px`, `24px`, `28px`, `32px`, `36px`, `40px`, `44px`, `48px`, `56px`, `64px`, `80px`, `96px`, `128px`, `164px`
192
-
193
- This is a 4dp baseline scale extended with named tokens.
194
-
195
- ### Density
196
- 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.
197
-
198
- ## 6. Depth & Elevation
199
-
200
- Mercari has explicit shadow tokens for floating UI:
201
-
202
- - **Card lift** (subtle): `0px 2px 4px 0px rgba(0,0,0,.2)` (`--ljPKsT`)
203
- - **Tooltip / popover**: `0px 4px 8px 0px rgba(0,0,0,.2)` (`--coocrY`)
204
- - **Modal / dropdown**: `0px 8px 10px 0px rgba(0,0,0,.2)` (`--jcKRRc`)
205
- - **Strong overlay**: `0px 0px 16px 0px rgba(0,0,0,.2)` (`--gQVqIQ`)
206
-
207
- ### Z-Index Hierarchy (explicit named tokens)
208
- - Menu: `1100` (`--mer-z-index-menu`)
209
- - Navigation top: `1200` (`--mer-z-index-navigation-top`)
210
- - Navigation bottom: `1200` (`--mer-z-index-navigation-bottom`)
211
- - Autocomplete: `1300` (`--mer-z-index-autocomplete`)
212
- - Dialog: `1400` (`--mer-z-index-dialog`)
213
- - Modal: `1400` (`--mer-z-index-modal`)
214
- - Side sheet: `1400` (`--mer-z-index-side-sheet`)
215
- - Information popup: `1400` (`--mer-z-index-information-popup`)
216
- - Action sheet: `1400` (`--mer-z-index-action-sheet`)
217
- - Snackbar: `1500` (`--mer-z-index-snackbar`)
218
- - Tooltip: `1600` (`--mer-z-index-tooltip`)
219
-
220
- ### Animation
221
- - Easing curves: `cubic-bezier(0.65, 0, 0.35, 1)` (sheets), `cubic-bezier(0.33, 1, 0.68, 1)` (snackbars/dialogs)
222
- - Standard duration: `0.25s`
223
- - Loading spinner: `1.25s` 8-step rotation
224
-
225
- ## 7. Do's and Don'ts
226
-
227
- - **DO** use the `--alias-color-*` semantic tokens. The 681 variables cover virtually every UI surface — never hardcode hex values when an alias exists.
228
- - **DON'T** invent new color values. Mercari's palette is exhaustive; if you can't find an alias, use the closest one.
229
- - **DO** reserve **Mercari Red** (`#ff333f`) for the `attention` semantic — sale prices, danger actions, the brand mark, error states.
230
- - **DON'T** use red for general "primary" CTAs that aren't attention-grabbing. Mercari's primary actions are often blue-accent (`#0095ee`) or neutral, not red.
231
- - **DO** use weight 700 for primary CTAs and prices. Weight 400 for navigation, secondary actions, body.
232
- - **DON'T** use weight 500 or 600 — they're not part of Mercari's typography rhythm.
233
- - **DO** keep `border-radius: 4px` on buttons and cards. Mercari's commerce voice is sharp and functional.
234
- - **DON'T** use pill-shaped or large-radius buttons — that breaks the marketplace density aesthetic.
235
- - **DO** apply circular thumbnails (`border-radius: 50%`) to brand/category icons in navigation. It's a distinctive Mercari pattern.
236
- - **DON'T** use shadows on flat product cards — let the white card on `#f5f5f5` secondary bg provide separation.
237
- - **DO** use the locale-aware font stack with Hiragino/Meiryo "Custom" variants. The optical tuning matters for Japanese readability.
238
- - **DON'T** load custom web fonts. Mercari's audience is mobile-first across slow connections; system fonts respect that.
239
- - **DO** use the explicit named z-index tokens (`--mer-z-index-*`) — Mercari's stacking order is deliberate.
240
- - **DON'T** use arbitrary z-index values like `9999` — that breaks the layered system.
241
-
242
- ## 8. Responsive Behavior
243
-
244
- ### Breakpoints (inferred from `--typography-*-font-size-mobile` tokens and `--vbMobileBoundaryWidth`-style patterns)
245
- | Width | Behavior |
246
- |---|---|
247
- | Desktop `>1440px` | Centered max-width container, full grid |
248
- | Desktop `1024–1440px` | 6-column product grid, full nav |
249
- | Tablet `768–1024px` | 4-column product grid, condensed nav |
250
- | Mobile `<768px` | 2-column grid, hamburger nav, sticky bottom navigation |
251
-
252
- ### Touch & Mobile
253
- - Mobile bottom navigation: tab bar with icon + label
254
- - Form heights: small `36px`, medium ~`48px`, large ~`56px` (estimated from spacing tokens)
255
- - Touch targets: minimum `44px` per Apple HIG conventions
256
-
257
- ### Image Behavior
258
- - Product images: square aspect ratio, `4px` corner radius (matches button/card scheme)
259
- - Brand thumbnails: circular (`50%` radius)
260
- - Lazy-load via Next.js Image equivalent
261
- - Placeholder skeleton uses `--color-shimmer-bg` / `--color-shimmer-fg` pattern
262
-
263
- ## 9. Agent Prompt Guide
264
-
265
- ### Quick Color Reference
266
- - **Mercari Red** (attention, sale, brand): `#ff333f` (`--alias-color-background-attention-default`)
267
- - Accent Blue (links, info): `#0095ee`
268
- - Success Green: `#0aa466`
269
- - Decorative Yellow (ratings): `#ffb818`
270
- - Primary text: `#333333`
271
- - Secondary text: `#666666`
272
- - Page bg: `#ffffff`
273
- - Secondary bg: `#f5f5f5`
274
- - Border default: `#cccccc`
275
- - Inverse text: `#ffffff` (on dark surfaces)
276
-
277
- ### Example Component Prompts
278
- - "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)."
279
- - "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."
280
- - "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."
281
- - "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`."
282
- - "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."
283
-
284
- ### Iteration Guide
285
- 1. **Always reference `--alias-color-*` tokens, not raw hex**. Mercari's 681 vars are the canonical source.
286
- 2. **Mercari Red (`#ff333f`) is the `attention` role** — destructive, sale-emphasis, brand mark. Not a default primary.
287
- 3. **`border-radius: 4px`** is the workhorse. Cards, buttons, badges. Brand thumbnails get `50%` (circular).
288
- 4. **Weight 700 for prices and primary CTAs**, weight 400 for everything else. No middle weights.
289
- 5. **Use the locale-aware font stack with Hiragino/Meiryo "Custom" variants**. Optical tuning matters.
290
- 6. **Z-index uses named tokens** (`--mer-z-index-*`) — never arbitrary numbers.
291
- 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`.
292
- 8. **Surface contrast** (`#ffffff` cards on `#f5f5f5` page bg) handles separation — minimal shadow needed on flat layouts.
293
- 9. **Body text `#333333`, secondary `#666666`, tertiary `#999999`** — three-tier text hierarchy across the entire system.
294
- 10. **Page padding 36px horizontal, 40px top, 64px bottom**, with `24px` gutter — the layout grid is explicit.
@@ -1,108 +0,0 @@
1
- # Design System Inspiration of Miro
2
-
3
- ## 1. Visual Theme & Atmosphere
4
-
5
- Miro's website is a clean, collaborative-tool-forward platform that communicates "visual thinking" through generous whitespace, pastel accent colors, and a confident geometric font. The design uses a predominantly white canvas with near-black text (`#1c1c1e`) and a distinctive pastel color palette — coral, rose, teal, orange, yellow, moss — each representing different collaboration contexts.
6
-
7
- The typography uses Roobert PRO Medium as the primary display font with OpenType character variants (`"blwf", "cv03", "cv04", "cv09", "cv11"`) and negative letter-spacing (-1.68px at 56px). Noto Sans handles body text with its own stylistic set (`"liga" 0, "ss01", "ss04", "ss05"`). The design is built with Framer, giving it smooth animations and modern component patterns.
8
-
9
- **Key Characteristics:**
10
- - White canvas with near-black (`#1c1c1e`) text
11
- - Roobert PRO Medium with multiple OpenType character variants
12
- - Pastel accent palette: coral, rose, teal, orange, yellow, moss (light + dark pairs)
13
- - Blue 450 (`#5b76fe`) as primary interactive color
14
- - Success green (`#00b473`) for positive states
15
- - Generous border-radius: 8px–50px range
16
- - Framer-built with smooth motion patterns
17
- - Ring shadow border: `rgb(224,226,232) 0px 0px 0px 1px`
18
-
19
- ## 2. Color Palette & Roles
20
-
21
- ### Primary
22
- - **Near Black** (`#1c1c1e`): Primary text
23
- - **White** (`#ffffff`): `--tw-color-white`, primary surface
24
- - **Blue 450** (`#5b76fe`): `--tw-color-blue-450`, primary interactive
25
- - **Actionable Pressed** (`#2a41b6`): `--tw-color-actionable-pressed`
26
-
27
- ### Pastel Accents (Light/Dark pairs)
28
- - **Coral**: Light `#ffc6c6` / Dark `#600000`
29
- - **Rose**: Light `#ffd8f4` / Dark (implied)
30
- - **Teal**: Light `#c3faf5` / Dark `#187574`
31
- - **Orange**: Light `#ffe6cd`
32
- - **Yellow**: Dark `#746019`
33
- - **Moss**: Dark `#187574`
34
- - **Pink** (`#fde0f0`): Soft pink surface
35
- - **Red** (`#fbd4d4`): Light red surface
36
- - **Dark Red** (`#e3c5c5`): Muted red
37
-
38
- ### Semantic
39
- - **Success** (`#00b473`): `--tw-color-success-accent`
40
-
41
- ### Neutral
42
- - **Slate** (`#555a6a`): Secondary text
43
- - **Input Placeholder** (`#a5a8b5`): `--tw-color-input-placeholder`
44
- - **Border** (`#c7cad5`): Button borders
45
- - **Ring** (`rgb(224,226,232)`): Shadow-as-border
46
-
47
- ## 3. Typography Rules
48
-
49
- ### Font Families
50
- - **Display**: `Roobert PRO Medium`, fallback: Placeholder — `"blwf", "cv03", "cv04", "cv09", "cv11"`
51
- - **Display Variants**: `Roobert PRO SemiBold`, `Roobert PRO SemiBold Italic`, `Roobert PRO`
52
- - **Body**: `Noto Sans` — `"liga" 0, "ss01", "ss04", "ss05"`
53
-
54
- ### Hierarchy
55
-
56
- | Role | Font | Size | Weight | Line Height | Letter Spacing |
57
- |------|------|------|--------|-------------|----------------|
58
- | Display Hero | Roobert PRO Medium | 56px | 400 | 1.15 | -1.68px |
59
- | Section Heading | Roobert PRO Medium | 48px | 400 | 1.15 | -1.44px |
60
- | Card Title | Roobert PRO Medium | 24px | 400 | 1.15 | -0.72px |
61
- | Sub-heading | Noto Sans | 22px | 400 | 1.35 | -0.44px |
62
- | Feature | Roobert PRO Medium | 18px | 600 | 1.35 | normal |
63
- | Body | Noto Sans | 18px | 400 | 1.45 | normal |
64
- | Body Standard | Noto Sans | 16px | 400–600 | 1.50 | -0.16px |
65
- | Button | Roobert PRO Medium | 17.5px | 700 | 1.29 | 0.175px |
66
- | Caption | Roobert PRO Medium | 14px | 400 | 1.71 | normal |
67
- | Small | Roobert PRO Medium | 12px | 400 | 1.15 | -0.36px |
68
- | Micro Uppercase | Roobert PRO | 10.5px | 400 | 0.90 | uppercase |
69
-
70
- ## 4. Component Stylings
71
-
72
- ### Buttons
73
- - Outlined: transparent bg, `1px solid #c7cad5`, 8px radius, 7px 12px padding
74
- - White circle: 50% radius, white bg with shadow
75
- - Blue primary (implied from interactive color)
76
-
77
- ### Cards: 12px–24px radius, pastel backgrounds
78
- ### Inputs: white bg, `1px solid #e9eaef`, 8px radius, 16px padding
79
-
80
- ## 5. Layout Principles
81
- - Spacing: 1–24px base scale
82
- - Radius: 8px (buttons), 10px–12px (cards), 20px–24px (panels), 40px–50px (large containers)
83
- - Ring shadow: `rgb(224,226,232) 0px 0px 0px 1px`
84
-
85
- ## 6. Depth & Elevation
86
- Minimal — ring shadow + pastel surface contrast
87
-
88
- ## 7. Do's and Don'ts
89
- ### Do
90
- - Use pastel light/dark pairs for feature sections
91
- - Apply Roobert PRO with OpenType character variants
92
- - Use Blue 450 (#5b76fe) for interactive elements
93
- ### Don't
94
- - Don't use heavy shadows
95
- - Don't mix more than 2 pastel accents per section
96
-
97
- ## 8. Responsive Behavior
98
- Breakpoints: 425px, 576px, 768px, 896px, 1024px, 1200px, 1280px, 1366px, 1700px, 1920px
99
-
100
- ## 9. Agent Prompt Guide
101
- ### Quick Color Reference
102
- - Text: Near Black (`#1c1c1e`)
103
- - Background: White (`#ffffff`)
104
- - Interactive: Blue 450 (`#5b76fe`)
105
- - Success: `#00b473`
106
- - Border: `#c7cad5`
107
- ### Example Component Prompts
108
- - "Create hero: white background. Roobert PRO Medium 56px, line-height 1.15, letter-spacing -1.68px. Blue CTA (#5b76fe). Outlined secondary (1px solid #c7cad5, 8px radius)."