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
@@ -0,0 +1,536 @@
1
+ ---
2
+ omd: 0.1
3
+ brand: Musinsa
4
+ ---
5
+
6
+ # Design System Inspiration of Musinsa (무신사)
7
+
8
+ ## 1. Visual Theme & Atmosphere
9
+
10
+ Musinsa's interface is the digital equivalent of a Tokyo street-fashion magazine cut to grid -- editorial, monochrome, and built around the photograph. The page opens on a pure white canvas (`#ffffff`) with absolute black headings (`#000000`) and a deliberately tiny color budget: black, white, three shades of gray, and a single saturated red (`#ff003b`) reserved almost entirely for sale-percentage tags. There is no brand pastel. There is no warm orange. There is no friendly avatar tone. The product photograph -- almost always shot against a clean studio wall by the brand the seller represents -- is the only thing on screen permitted to carry color.
11
+
12
+ The aesthetic descends directly from Musinsa's 2001 origin as **무진장 신발 사진이 많은 곳** ("a place with a lot of shoe photos"), a Freechal community for sneakerheads run by a high schooler named Cho Man-ho ([about.musinsa.com](https://about.musinsa.com/newsroom/musinsa-ceo)). That community was built around photographs, not commentary; product over chrome. Twenty-five years later, that DNA is still visible in every category page: a 2-column (mobile) / 4-5-column (desktop) thumbnail grid with hairline `#eeeeee` separators, brand name in 12-13px Pretendard 700, product title in 13-14px 400, price in bold black, and a small red sale percentage. Type runs dense, line-heights are tight, and white space exists primarily to *separate photos*, not to decorate. Where Karrot uses one warm orange and Toss uses one trustworthy blue, Musinsa uses one *absence* — the white between the photos — and lets the catalog do the talking.
13
+
14
+ **Key Characteristics:**
15
+ - Monochrome black-and-white discipline: `#000000` text and CTAs on `#ffffff` canvas
16
+ - Single accent color (`#ff003b` sale red) used scarcely, almost exclusively on discount percentages
17
+ - Pretendard / Noto Sans KR system stack -- no bespoke wordmark face on product surfaces
18
+ - Hairline `#eeeeee` borders for grid separation; no shadows on product cards
19
+ - 13-14px base body type -- denser than Western e-commerce, optimized for scanning many products
20
+ - Tight letter-spacing (`-0.3px` to `-0.4px` on Korean text) for editorial compactness
21
+ - Photograph-first composition: product image dominates, chrome recedes
22
+ - Black solid as primary CTA -- `#000000` filled buttons with white text, never blue, never branded
23
+
24
+ ## 2. Color Palette & Roles
25
+
26
+ ### Primary
27
+ - **Pure Black** (`#000000`): Primary CTA fill, headings, product titles, brand wordmark. The non-negotiable foundation.
28
+ - **Pure White** (`#ffffff`): Page canvas, card surfaces, button text on black, navigation background.
29
+ - **Sale Red** (`#ff003b`): Discount percentage tags, "오늘만 무료배송" sale flags, time-limited promotion accents. Used scarcely.
30
+
31
+ ### Neutral Scale
32
+ - **Gray 900** (`#222222`): Body text on light surfaces, secondary headings.
33
+ - **Gray 700** (`#333333`): Default body color (observed `rgb(51,51,51)` on body element).
34
+ - **Gray 500** (`#999999`): Metadata (review counts, brand descriptors, "구매 후기 N개").
35
+ - **Gray 400** (`#bbbbbb`): Disabled text, inactive icons.
36
+ - **Gray 200** (`#eeeeee`): Hairline grid borders, divider lines between product rows.
37
+ - **Gray 100** (`#f5f5f5`): Subtle fill for filter chips, search bar background, secondary CTAs.
38
+ - **Gray 50** (`#fafafa`): Lightest surface fill for nested sections.
39
+
40
+ ### Semantic
41
+ - **Sale / Critical Red** (`#ff003b`): Sale percentages, error states. Same hue serves both roles.
42
+ - **Star Yellow** (`#ffb900`): Review star fills (only place yellow appears on the surface).
43
+ - **Members Pink** (`#ff58a0`): "Brand Snap" / "스타일" community tag accent (used sparingly on community surfaces).
44
+
45
+ ### Borders
46
+ - **Hairline Border** (`#eeeeee`): Grid cell separator, card outline. The system's most-used non-text color.
47
+ - **Border Mid** (`#dddddd`): Input outline default.
48
+ - **Border Strong** (`#000000`): Selected filter chip, focused input, active tab underline.
49
+
50
+ ## 3. Typography Rules
51
+
52
+ ### Font Family
53
+ - **Primary (Korean + Latin)**: `"Pretendard", "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Noto Sans KR", "Malgun Gothic", "맑은 고딕", AppleGothic, dotum, sans-serif`
54
+ - **Fallback (legacy surfaces)**: `"Noto Sans KR", "malgun gothic", AppleGothic, dotum, sans-serif` (observed body font-family on category pages, 2026-05)
55
+ - **Design Principle**: No custom display typeface. Editorial weight comes from the photograph and from disciplined use of weight 700 on tight 13-15px sizes — not from a branded webfont.
56
+
57
+ ### Hierarchy
58
+
59
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
60
+ |------|------|------|--------|-------------|----------------|-------|
61
+ | Display | Pretendard | 28px | 700 | 36px | -0.4px | Editorial banner / event title |
62
+ | Heading Large | Pretendard | 22px | 700 | 30px | -0.4px | Category page title |
63
+ | Heading | Pretendard | 18px | 700 | 26px | -0.4px | Section header ("랭킹", "스타일") |
64
+ | Title | Pretendard | 15px | 700 | 22px | -0.3px | Product detail page title |
65
+ | Body Large | Pretendard | 14px | 400 | 20px | -0.3px | Standard product card title |
66
+ | Body | Pretendard | 13px | 400 | 18px | -0.3px | Default body, listings text |
67
+ | Body Bold | Pretendard | 13px | 700 | 18px | -0.3px | Brand name above product title |
68
+ | Caption | Pretendard | 12px | 400 | 16px | -0.3px | Metadata, review counts, timestamps |
69
+ | Caption Bold | Pretendard | 12px | 700 | 16px | -0.3px | Sale percentage labels |
70
+ | Micro | Pretendard | 11px | 500 | 14px | -0.2px | Badge text, fine print |
71
+
72
+ ### Principles
73
+ - **Tight tracking is the brand**: All Korean type uses negative letter-spacing (`-0.2px` to `-0.4px`). On a 13px line, that's the difference between editorial density and corporate looseness.
74
+ - **Two weights do most of the work**: Regular (400) and Bold (700). Medium (500) is reserved for badges and small labels.
75
+ - **Compact scale, dense baseline**: Body defaults to 13-14px. The grid is built to show *more products per scroll*, not bigger text.
76
+ - **Headline weight via boldness, not size**: A product title at 15px/700 outperforms 20px/400 — the system trusts weight, not scale.
77
+ - **No italics**: Korean type doesn't carry italic stress meaningfully; the system avoids it even on Latin substrings.
78
+
79
+ ## 4. Component Stylings
80
+
81
+ ### Buttons
82
+
83
+ **Primary (Black Solid)**
84
+ - Background: `#000000`
85
+ - Text: `#ffffff`
86
+ - Radius: 4px
87
+ - Padding: 14px 20px
88
+ - Font: 15px / 700 / Pretendard
89
+ - Hover: `#222222`
90
+ - Pressed: `#333333`
91
+ - Disabled: `#cccccc` background, `#ffffff` text
92
+ - Use: Primary CTA — `장바구니`, `구매하기`, `좋아요`, `로그인`
93
+
94
+ **Outline (Black Border)**
95
+ - Background: `#ffffff`
96
+ - Text: `#000000`
97
+ - Border: 1px solid `#000000`
98
+ - Radius: 4px
99
+ - Padding: 14px 20px
100
+ - Font: 15px / 700 / Pretendard
101
+ - Hover: `#f5f5f5` background
102
+ - Use: Secondary CTA — `브랜드 홈`, `사이즈 가이드`, `리뷰 작성`
103
+
104
+ **Neutral (Gray Fill)**
105
+ - Background: `#f5f5f5`
106
+ - Text: `#222222`
107
+ - Border: 1px solid `#eeeeee`
108
+ - Radius: 4px
109
+ - Padding: 12px 16px
110
+ - Font: 14px / 500 / Pretendard
111
+ - Hover: `#eeeeee` background
112
+ - Use: Tertiary actions — filter open, view-mode toggle, share
113
+
114
+ **Sale Red (Promotion)**
115
+ - Background: `#ff003b`
116
+ - Text: `#ffffff`
117
+ - Radius: 4px
118
+ - Padding: 12px 18px
119
+ - Font: 14px / 700 / Pretendard
120
+ - Use: Time-limited sale CTA — `타임세일 자세히 보기`, `오늘만 특가`. Used scarcely.
121
+
122
+ ### Inputs
123
+
124
+ **Default**
125
+ - Background: `#ffffff`
126
+ - Border: 1px solid `#dddddd`
127
+ - Radius: 4px
128
+ - Padding: 12px 14px
129
+ - Text: 14px / 400 / `#222222`
130
+ - Placeholder: `#999999`
131
+ - Focus: 1px solid `#000000` (no glow ring; just border darkens)
132
+ - Use: Default text input — login, sign-up, address forms
133
+
134
+ **Search**
135
+ - Background: `#f5f5f5`
136
+ - Border: none
137
+ - Radius: 4px
138
+ - Padding: 12px 16px 12px 40px (left-pad for inline magnifier icon)
139
+ - Text: 14px / 400 / `#222222`
140
+ - Placeholder: `#999999` ("브랜드, 상품, 프로필, 태그 등")
141
+ - Focus: `#ffffff` background, 1px solid `#000000` border
142
+ - Use: Header search bar across all surfaces
143
+
144
+ **Error**
145
+ - Border: 1px solid `#ff003b`
146
+ - Helper text: 12px / 400 / `#ff003b`, 6px below input
147
+ - Use: Form validation failure
148
+
149
+ ### Cards
150
+
151
+ **Product Card**
152
+ - Background: `#ffffff`
153
+ - Border: none (only `#eeeeee` 1px hairline at grid-cell boundary)
154
+ - Radius: 0px (sharp corners — the catalog grid is a print grid)
155
+ - Padding: 0px on container; 8-10px between image and metadata block
156
+ - Image: 4:5 portrait aspect ratio, no radius
157
+ - Shadow: none
158
+ - Use: Default product listing card. The grid cell, not a floating card.
159
+
160
+ **Curation Tile (Editorial Banner)**
161
+ - Background: `#ffffff` (or full-bleed image)
162
+ - Radius: 0px
163
+ - Padding: 0px
164
+ - Use: Editorial sections (`스타일`, `에디터픽`, `오늘의 코디`) — full-bleed photographs as the card surface itself.
165
+
166
+ **Brand Card**
167
+ - Background: `#fafafa`
168
+ - Border: 1px solid `#eeeeee`
169
+ - Radius: 4px
170
+ - Padding: 16px
171
+ - Use: Brand-of-the-day, brand-snap entry on home feed
172
+
173
+ ### Badges
174
+
175
+ **Sale Percentage**
176
+ - Background: transparent
177
+ - Text: `#ff003b`
178
+ - Font: 13px / 700 / Pretendard
179
+ - Padding: 0px
180
+ - Radius: 0px
181
+ - Use: Inline sale percentage on product cards (`-30%`, `-50%`). Most common badge in the system.
182
+
183
+ **MUSINSA Only**
184
+ - Background: `#000000`
185
+ - Text: `#ffffff`
186
+ - Font: 11px / 700 / Pretendard
187
+ - Padding: 3px 6px
188
+ - Radius: 2px
189
+ - Use: "무신사 단독", "선발매" exclusive flags on product images
190
+
191
+ **New / Free Shipping**
192
+ - Background: `#ffffff`
193
+ - Text: `#000000`
194
+ - Border: 1px solid `#000000`
195
+ - Font: 11px / 700 / Pretendard
196
+ - Padding: 3px 6px
197
+ - Radius: 2px
198
+ - Use: "NEW", "무료배송" minor flags. Outline keeps the photograph dominant.
199
+
200
+ **Rank Badge**
201
+ - Background: `#000000`
202
+ - Text: `#ffffff`
203
+ - Font: 12px / 700 / Pretendard
204
+ - Padding: 4px 8px
205
+ - Radius: 0px
206
+ - Use: Top-of-list rank position (`1`, `2`, `3`) on weekly ranking grid
207
+
208
+ **Filter Chip (Default)**
209
+ - Background: `#ffffff`
210
+ - Text: `#222222`
211
+ - Border: 1px solid `#dddddd`
212
+ - Font: 13px / 500 / Pretendard
213
+ - Padding: 8px 14px
214
+ - Radius: 999px
215
+ - Use: Category / size / color filter pills
216
+
217
+ **Filter Chip (Selected)**
218
+ - Background: `#000000`
219
+ - Text: `#ffffff`
220
+ - Border: 1px solid `#000000`
221
+ - Font: 13px / 700 / Pretendard
222
+ - Padding: 8px 14px
223
+ - Radius: 999px
224
+ - Use: Active filter state
225
+
226
+ ### Navigation
227
+ - Top header: `#ffffff` background, 56-60px height, 1px bottom border `#eeeeee`. Wordmark left (`MUSINSA`, 700, ~22px black), search center, account/cart right.
228
+ - Category nav: horizontal scroll on mobile (남성/여성/뷰티/스포츠/럭셔리/키즈/플레이어), 14px/700, active item gets a 2px black underline.
229
+ - Bottom tab bar (mobile): 5 items — `홈`, `랭킹`, `스타일`, `좋아요`, `마이`. Active label `#000000`, inactive `#999999`. No color differentiation; weight does the work.
230
+
231
+ ## 5. Layout Principles
232
+
233
+ ### Spacing System
234
+ - Base unit: 4px
235
+ - Scale: 2px, 4px, 8px, 12px, 16px, 20px, 24px, 32px, 40px, 56px, 80px
236
+ - Global gutter (mobile): 16px on each side
237
+ - Global gutter (desktop): 20-24px each side, max content width ~1280px
238
+ - Inter-product vertical spacing: 24px between rows on the catalog grid
239
+ - Inter-section vertical spacing: 40-56px between editorial blocks on the home feed
240
+
241
+ ### Grid & Container
242
+ - Mobile: 2-column product grid, 1px hairline gutter
243
+ - Tablet: 3-column product grid
244
+ - Desktop: 4-5 column product grid, depending on category
245
+ - Editorial / curation banner: full-bleed (edge-to-edge) on mobile, max 1280px on desktop
246
+ - The grid is the product. Avoid masonry, avoid staggered cells — every product gets the same rectangle.
247
+
248
+ ### Whitespace Philosophy
249
+ - **Photographs separate themselves**: White space between product images is the system's primary breathing room — not padding *inside* cards, not margins around text.
250
+ - **Section breaks earn their space**: 40-56px vertical gaps mark real shifts (categories, editorial blocks); within a section, 16-24px is enough.
251
+ - **Don't pad the catalog**: Adding 24px of padding inside a product card pushes one fewer product into the viewport and breaks the magazine-grid feel.
252
+
253
+ ### Border Radius Scale
254
+ - Sharp (0px): Product images, product cards, editorial banners, top-tier badges
255
+ - Tight (2px): Small flags ("NEW", "MUSINSA Only")
256
+ - Standard (4px): Buttons, inputs, brand cards
257
+ - Pill (999px): Filter chips, avatar frames
258
+ - Note: Musinsa is a *low-radius* system. Anything over 8px starts feeling like a different brand.
259
+
260
+ ## 6. Depth & Elevation
261
+
262
+ | Level | Treatment | Use |
263
+ |-------|-----------|-----|
264
+ | Flat (Level 0) | No shadow, no border | Page background, product images, default state |
265
+ | Hairline (Level 1) | 1px solid `#eeeeee` | Card boundary, grid separator, header bottom border |
266
+ | Soft (Level 2) | `0px 2px 8px rgba(0,0,0,0.06)` | Sticky filter bar when scrolled, dropdown menus |
267
+ | Floating (Level 3) | `0px 4px 16px rgba(0,0,0,0.10)` | Bottom sheets, modal dialogs, snackbar |
268
+
269
+ **Shadow Philosophy**: Musinsa is allergic to elevation. The default card has *no* shadow and *no* border — its boundary is the photograph's edge. Shadows appear only when an element must visibly detach from the page (sticky bar, modal). The system never uses brand-tinted shadows. Drop-shadows on product images are forbidden — they read as cheap e-commerce, not editorial.
270
+
271
+ ## 7. Do's and Don'ts
272
+
273
+ ### Do
274
+ - Use `#000000` for primary CTAs — black is the brand's saturation
275
+ - Keep border-radius between 0px and 4px on product surfaces
276
+ - Use weight 700 to create headline emphasis, not larger sizes
277
+ - Apply negative letter-spacing (`-0.3px` to `-0.4px`) on Korean type
278
+ - Let product photographs be the color in the layout
279
+ - Use `#ff003b` for sale percentages and time-limited promotions only
280
+ - Default to 2-column grid on mobile, 4-5 on desktop — the catalog is the page
281
+ - Use 13-14px as base body size — denser than Western e-com, intentionally
282
+
283
+ ### Don't
284
+ - Don't introduce a brand blue, purple, or orange — the palette is monochrome plus one red
285
+ - Don't use rounded corners over 8px on product surfaces — pill chips are the only exception
286
+ - Don't add drop-shadows to product images
287
+ - Don't pad the inside of product cards generously — let the photograph touch its frame
288
+ - Don't use red (`#ff003b`) for navigation, decoration, or non-sale CTAs
289
+ - Don't switch to a custom display typeface — Pretendard at 700 is the headline voice
290
+ - Don't use illustration or mascot imagery in chrome — Musinsa's surfaces show clothing, not characters
291
+ - Don't soften the black — `#000000`, not `#1a1c20`. Editorial requires absolute contrast.
292
+
293
+ ## 8. Responsive Behavior
294
+
295
+ ### Breakpoints
296
+ | Name | Width | Key Changes |
297
+ |------|-------|-------------|
298
+ | Mobile | <768px | 2-column grid, full-bleed editorial, bottom tab bar |
299
+ | Tablet | 768-1024px | 3-column grid, side-rail filters appear |
300
+ | Desktop | >1024px | 4-5 column grid, max content width ~1280px, persistent left-side category nav |
301
+
302
+ ### Touch Targets
303
+ - Primary CTA buttons: 48px height
304
+ - Filter chips: 36px height
305
+ - Bottom tab bar items: 56px height
306
+ - Product card tap area: full card (image + metadata)
307
+
308
+ ### Collapsing Strategy
309
+ - Desktop side-rail filters → mobile bottom-sheet filter (`필터` button opens full-height sheet)
310
+ - Desktop 5-column grid → mobile 2-column grid (no transitional 3-column on most catalogs)
311
+ - Editorial banners stay full-bleed at every breakpoint — they never get gutters
312
+
313
+ ### Image Behavior
314
+ - Product images: 4:5 portrait, no radius, lazy-loaded with `#fafafa` placeholder
315
+ - Brand logos: square 1:1, 4px radius
316
+ - Editorial covers: 3:4 or 16:9 depending on placement, full-bleed at the breakpoint
317
+
318
+ ## 9. Agent Prompt Guide
319
+
320
+ ### Quick Color Reference
321
+ - Primary CTA: Pure Black (`#000000`)
322
+ - CTA Hover: Soft Black (`#222222`)
323
+ - Background: Pure White (`#ffffff`)
324
+ - Heading text: Pure Black (`#000000`)
325
+ - Body text: Gray 700 (`#333333`)
326
+ - Metadata: Gray 500 (`#999999`)
327
+ - Placeholder: Gray 500 (`#999999`)
328
+ - Hairline border: Gray 200 (`#eeeeee`)
329
+ - Input border: Gray 300 (`#dddddd`)
330
+ - Disabled: Gray 400 (`#bbbbbb`)
331
+ - Sale red: (`#ff003b`)
332
+ - Star yellow: (`#ffb900`)
333
+
334
+ ### Example Component Prompts
335
+ - "Create a Musinsa product card: white background, no border, no shadow, no radius. Image is 4:5 portrait at top, no radius. Below image: 8px gap, brand name in 13px Pretendard 700 #000000, product title in 13px 400 #333333 (2 lines max, ellipsis), 4px gap, price line: sale percentage in 13px 700 #ff003b inline before final price in 14px 700 #000000, original price strikethrough in 12px 400 #999999. Tight letter-spacing -0.3px throughout."
336
+ - "Build a primary CTA: #000000 background, white text, 15px weight 700 Pretendard, padding 14px 20px, 4px radius, full-width on mobile. Hover: #222222. Pressed: #333333. No icon."
337
+ - "Design a filter chip bar: horizontal scroll, 8px gap. Default chip: white bg, 1px solid #dddddd border, 13px/500 #222222 text, 999px radius, 8px 14px padding. Selected chip: #000000 bg, white text, 13px/700, same radius."
338
+ - "Create a Musinsa header: white bg, 56px height, 1px bottom border #eeeeee. Left: MUSINSA wordmark 22px/700 #000000. Center: search bar — #f5f5f5 bg, 4px radius, 12px 16px padding, 14px placeholder #999999 '브랜드, 상품, 프로필, 태그 등'. Right: heart icon, cart icon, profile icon — all 24px stroke #000000."
339
+ - "Design a sale badge: text-only, no background, no border. Just '-30%' in 13px Pretendard 700 #ff003b, inline with the product price."
340
+
341
+ ### Iteration Guide
342
+ 1. Default surface is `#ffffff` and default text is `#000000` — never `#1a1c20` or `#0e0f10`
343
+ 2. Sale red `#ff003b` is the only chromatic accent — and only for discount/promotion
344
+ 3. Border-radius defaults: 0px product surfaces, 4px buttons/inputs, 999px chips
345
+ 4. Body 13-14px, headings via 700 weight not larger size
346
+ 5. Korean letter-spacing `-0.3px` to `-0.4px` is non-negotiable for editorial feel
347
+ 6. No shadows on product cards — hairline `#eeeeee` is the boundary
348
+ 7. Photograph is always the brightest thing on screen — chrome must yield to it
349
+
350
+ ---
351
+
352
+ ## 10. Voice & Tone
353
+
354
+ Musinsa speaks like an editor of a street-style magazine, not a marketer. The voice is short, declarative, and trusts that the photograph has already done most of the persuading. Korean copy uses casual editorial endings (`-요`, `-해요`, occasional bare-stem imperatives like `둘러보기`, `장바구니 담기`) over the formal `-ㅂ니다`. Sentences are clipped — a sale banner reads `오늘만 무료배송`, not `오늘에 한해 무료배송 혜택을 제공해 드립니다`. English surfaces (`global.musinsa.com`, the ZOZOTOWN MUSINSA Shop) inherit the same compactness — *"Discover K-fashion"*, *"Shop Korea's #1"*, not *"Premium Korean fashion experiences"*.
355
+
356
+ | Context | Tone |
357
+ |---|---|
358
+ | CTAs | Bare-stem Korean (`장바구니`, `구매하기`, `좋아요`, `팔로우`) / clipped English (`Shop`, `Buy`, `Save`, `Follow`) |
359
+ | Sale flags | One word + percentage (`최대 -50%`, `오늘만 특가`, `타임세일`). Never `놀라운 할인 혜택!`. |
360
+ | Product titles | Brand name on own line in bold, then literal product name. No marketing adjectives ("amazing", "must-have"). |
361
+ | Empty states | One short editorial line + one neutral suggestion (`아직 좋아한 상품이 없어요` + `상품 둘러보기`). Never `데이터가 없습니다`. |
362
+ | Error messages | Specific, actionable, blameless (`주소를 다시 확인해 주세요`). No `죄송합니다` boilerplate. |
363
+ | Reviews / community | First-person, casual (`-요` endings), no editorial polish — Musinsa lets users sound like users. |
364
+ | Editorial / lookbook | Magazine-style headline + 1-line dek. Korean-English mixed (`This Week's Pick — 이번 주의 코디`). |
365
+ | Sign-up / onboarding | Short. One screen, one input, one CTA. No onboarding tour. |
366
+
367
+ **Forbidden phrases.** `놀라운 할인`, `최저가 보장!!!`, `대박 세일`, `지금 바로 클릭`, `데이터가 없습니다`, `오류가 발생했습니다`, `불편을 드려 죄송합니다`. English bans: `amazing deals`, `best prices guaranteed`, `must-have`, `limited time only!!!`, `exclusive luxury`. Emoji are allowed in user reviews and community posts, but never in CTAs, error messages, sale flags, or chrome microcopy.
368
+
369
+ **Voice samples.**
370
+
371
+ - `대한민국 1등 패션 플랫폼` — corporate brand line, used on about-pages and press. <!-- cited: about.musinsa.com/about-musinsa, 2026-05 -->
372
+ - `Discover K-fashion` — global surface positioning. <!-- cited: about.musinsa.com newsroom, 2026-05 -->
373
+ - `MUSINSA STANDARD — 어디에나 어울리는 기본` — Musinsa Standard PB tagline pattern. <!-- illustrative: paraphrased from MUSINSA STANDARD positioning per The Korea Herald, 2026 -->
374
+ - `장바구니 담기` / `바로 구매하기` — primary CTA pair on product detail page. <!-- illustrative: standard Musinsa CTA pattern -->
375
+ - `오늘만 무료배송` — time-limited shipping flag. <!-- illustrative: standard Musinsa promo pattern -->
376
+ - `좋아요` / `팔로우` — community / brand-follow CTA labels. <!-- illustrative: standard Musinsa community CTA pattern -->
377
+ - `이번 주의 랭킹` — weekly ranking section header. <!-- illustrative: standard Musinsa editorial section pattern -->
378
+
379
+ ## 11. Brand Narrative
380
+
381
+ Musinsa (무신사) was born in 2001 — not as a company, but as a Freechal community called **무진장 신발 사진이 많은 곳** ("a place with a lot of shoe photos") run by a high-school senior named **Cho Man-ho (조만호)** ([about.musinsa.com — Manho Cho's story](https://about.musinsa.com/newsroom/musinsa-ceo)). It was a sneakerhead's gallery first, a magazine second, and a store last. After founding Musinsa.com and launching Musinsa Magazine for shoe-focused editorial content in the early 2000s, Cho opened **Musinsa Store in 2009**, turning a community of photographers into Korea's first dedicated streetwear marketplace ([CanvasBusinessModel — Musinsa brief history](https://canvasbusinessmodel.com/blogs/brief-history/musinsa-brief-history)).
382
+
383
+ The investor story tracks the design: in **2019, Sequoia Capital invested ~200B KRW**, valuing Musinsa at ~2.3 trillion won and making it Korea's first fashion-platform unicorn on a single funding round ([KoreaTechDesk](https://koreatechdesk.com/korean-online-fashion-giant-musinsa-secures-157-8-million-in-series-c-funding-led-by-kkr)). **2021** brought a Series B from IMM Investment + Sequoia at ~2.5 trillion won valuation. **2024** brought a **240B KRW round from KKR + Wellington Management at ~3.5 trillion won (~$2.4B+)** ([BoF — Musinsa $6.8B IPO](https://www.businessoffashion.com/news/retail/korean-fashion-retailer-musinsa-seeking-68-billion-valuation-with-ipo/), [Korea Times](http://www.koreatimes.co.kr/www/biz/2023/10/175_361856.html)). The company has since picked **Citigroup and JPMorgan** for a planned IPO targeting north of 3.2 trillion won market cap.
384
+
385
+ The product layered on top of that funding ramp is just as deliberate. **MUSINSA STANDARD**, the in-house PB launched in **2017**, took the curatorial voice of the platform and pointed it inward — affordable basics with a tight, editorial palette. The first physical store opened in **Hongdae in 2021**, and by 2025 the chain had 33 domestic stores and 28M annual visits, with **first overseas store in Shanghai (Huaihai Plaza) in late 2024** and a **MUSINSA Shop launching on ZOZOTOWN in November 2025** ([Korea Herald — Musinsa Standard 1T won](https://www.koreaherald.com/article/10639378), [about.musinsa.com — MUSINSA × ZOZOTOWN](https://about.musinsa.com/newsroom/musinsa-zozo)).
386
+
387
+ What Musinsa refuses: the rainbow-palette aesthetics of nationwide marketplaces (Coupang, 11st, Gmarket), the lifestyle-blog mood of Western e-com (Net-a-Porter, Mr Porter), and the algorithmic-feed UX of social commerce. Musinsa keeps the catalog as the home page. Photographs lead. Black wordmark, white canvas, hairline grid. Sale red is the only saturated thing on the page, used only when something is actually on sale. The mission statement on the corporate site is **"대한민국 1등 패션 플랫폼"** — Korea's number-one fashion platform — and the design system reads as the editorial expression of that claim ([about.musinsa.com](https://about.musinsa.com/newsroom/about-musinsa)).
388
+
389
+ The closing read: Musinsa's monochrome is not minimalism for its own sake. It's the visual descendant of the 2001 sneaker-photo community, where the only thing that mattered was the photograph of the shoe. Twenty-five years and one IPO-track later, the design still gets out of the way of the picture.
390
+
391
+ ## 12. Principles
392
+
393
+ 1. **Black is the brand, not the accent.** `#000000` is the primary CTA fill, not a hover state, not a fallback. Editorial e-commerce earns trust by being unambiguously contrast-positive — not by softening the dark to `#1a1c20`. *UI implication:* never substitute `#222` or `#1a1c20` for primary CTA fill; reserve those grays for body text only.
394
+ 2. **One accent, scarcely used.** Sale red `#ff003b` exists almost exclusively on discount percentages and time-limited promotion. It is never decoration, never a brand color, never on navigation. *UI implication:* if a designer adds red to anything that is not a discount or an error, reject — the system has no second brand color to fall back on.
395
+ 3. **Photograph first, chrome second.** Every product card's job is to deliver the image. Borders, shadows, and corner radii are subtractive — anything that competes with the photograph loses. *UI implication:* default product cards have no border, no shadow, no radius. The image's edge *is* the card's edge.
396
+ 4. **Density is a feature.** Body text at 13-14px and tight `-0.3px` tracking is intentional — Musinsa's user is *scanning* a magazine grid, not reading prose. *UI implication:* never bump body to 16-18px to "feel modern"; the catalog grid breaks at lower density.
397
+ 5. **Two weights do most of the work.** Pretendard 400 and 700 — Medium (500) is for badges, Light is forbidden. *UI implication:* if a layout asks for a third weight to hierarchy properly, the size hierarchy is wrong; restate with size + weight=700.
398
+ 6. **Sharp corners on product surfaces.** Product cards, editorial banners, and rank badges use 0px radius. The 4px radius is a chrome detail (buttons, inputs), not a content treatment. *UI implication:* if a product card grows a 12px radius, it has drifted toward "lifestyle blog" and should be flattened.
399
+ 7. **Letter-spacing is the brand's whisper.** All Korean type carries `-0.2px` to `-0.4px`. This is invisible individually and unmissable in aggregate. *UI implication:* every Korean type token must specify negative tracking; positive or 0 tracking on Korean reads as foreign / corporate.
400
+ 8. **The grid is the homepage.** The home feed is curated editorial, but the catalog grid is what the brand *is*. Onboarding ends in the grid. Search ends in the grid. Discovery ends in the grid. *UI implication:* a redesign that buries the catalog under feature-card carousels has lost the plot — the catalog must be at most one tap from any home surface.
401
+
402
+ ## 13. Personas
403
+
404
+ *Personas are fictional archetypes informed by publicly described Musinsa user segments (Korean Gen Z / millennial fashion shoppers, both men and women), not individual people.*
405
+
406
+ **현우 (Hyunwoo), 25, Seoul.** University student in 마포구. Opens Musinsa 4-5 times a week — not always to buy. Treats the weekly ranking page as a fashion magazine, scrolls for inspiration first and purchase second. Owns 3 pairs of sneakers from MUSINSA STANDARD basics. Will pay full price for a 무신사 단독 (Musinsa Only) drop; will wait for a sale on anything else.
407
+
408
+ **서연 (Seoyeon), 28, Seoul.** Marketing associate, lives in 강남구. Uses Musinsa for office-friendly basics and weekend streetwear. Reads brand stories in the editorial sections before adding to cart. Cares about review photos more than star ratings — wants to see how it fits a body close to hers. Has Musinsa app push notifications turned on only for "follow" brand restocks.
409
+
410
+ **지호 (Jiho), 22, Busan.** University student. Discovered Musinsa through 무신사 스탠다드 marketing on Instagram. Buys T-shirts, hoodies, and chinos in 3-color sets when they go on sale. Knows the price-comparison tab exists but rarely uses it — trusts that Musinsa's red sale percentage is the real one.
411
+
412
+ **Mei, 26, Shanghai.** Visited the MUSINSA STANDARD Huaihai Plaza store in late 2024 after seeing it on Xiaohongshu. Now uses the global Musinsa site (in Chinese/English) to buy K-fashion brands not available on Tmall. Expects the same monochrome editorial layout in any market — the global site that doesn't look like the Korean site reads as a knockoff to her.
413
+
414
+ ## 14. States
415
+
416
+ | State | Treatment |
417
+ |---|---|
418
+ | **Empty (no liked items)** | Single editorial line (`아직 좋아한 상품이 없어요`) in 14px/400 `#333333`, 12px gap, secondary CTA `상품 둘러보기` in outline-black-button style. No illustration, no mascot. |
419
+ | **Empty (search no results)** | One line `'{검색어}'에 대한 결과가 없어요` in 14px/400 `#333333`, then 8px gap, recommended-brands grid below. Never a full-screen empty illustration. |
420
+ | **Empty (filter cleared)** | `조건에 맞는 상품이 없어요` in 14px/400 `#999999`. No CTA — user resets filters themselves. |
421
+ | **Loading (catalog grid)** | Skeleton blocks at `#eeeeee` matching product-card layout: 4:5 image rectangle, two short text lines, one shorter line. Shimmer 1.2s, 6% white highlight. No spinner overlay. |
422
+ | **Loading (infinite scroll)** | 2-3 skeleton cards appended at the bottom of the grid. Existing cards stay fully rendered. No spinner. |
423
+ | **Loading (cart action)** | Inline button text swaps to a small `#ffffff` spinner (24px) on the existing `#000000` button — button geometry stays identical for frame-stability. |
424
+ | **Error (inline form)** | Input border becomes `#ff003b` 1px, helper text 12px/400 `#ff003b` 6px below. One actionable sentence (`주소를 다시 확인해 주세요`). |
425
+ | **Error (toast)** | `#000000` background, white 14px/500 text, 4px radius, 3s auto-dismiss. Bottom of screen, 16px above bottom tab bar. One sentence. No icon. |
426
+ | **Error (network / blocking)** | Full-screen centered: 16px/700 `#000000` headline, 14px/400 `#999999` subline, retry button in primary-black style. No illustration. |
427
+ | **Success (added to cart)** | Bottom-edge slide-up snackbar: `#000000` bg, white 14px/500 text `장바구니에 담겼어요`, white-outline `장바구니 보기` text-button on right. 3s auto-dismiss. |
428
+ | **Success (purchase complete)** | Dedicated confirmation screen, not a toast. 22px/700 `#000000` `주문이 완료되었어요`, then order summary block (white bg, hairline border `#eeeeee`), and a primary-black `주문 내역 보기` CTA. No celebratory animation. |
429
+ | **Skeleton** | `#eeeeee` blocks at exact product-card dimensions. Shimmer 1.2s. Brand name and price slots stay blank until resolved — never inferred placeholders. |
430
+ | **Disabled** | Button bg drops to `#cccccc`, text stays `#ffffff`. No outline change, no opacity tricks. |
431
+
432
+ ## 15. Motion & Easing
433
+
434
+ **Durations** (named, not raw milliseconds):
435
+
436
+ | Token | Value | Use |
437
+ |---|---|---|
438
+ | `motion-instant` | 0ms | Toggle flips, checkbox states |
439
+ | `motion-fast` | 150ms | Button press dim, hover transitions, inline focus |
440
+ | `motion-standard` | 220ms | Default — card taps, tab switches, dropdown reveals |
441
+ | `motion-slow` | 320ms | Sheet presentations, success-screen entries |
442
+ | `motion-page` | 280ms | Native push/pop between routes |
443
+
444
+ **Easings:**
445
+
446
+ | Token | Curve | Use |
447
+ |---|---|---|
448
+ | `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Sheets, snackbars, route entries |
449
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals, snackbar auto-close |
450
+ | `ease-standard` | `cubic-bezier(0.4, 0.0, 0.2, 1)` | Two-way transitions — expandable cards, tab content |
451
+
452
+ **Spring stance.** **Spring and overshoot easings are forbidden on Musinsa product surfaces.** The brand is editorial e-commerce; bouncy motion reads as toy-like or as a TikTok shopping app, neither of which Musinsa wants to be. The catalog grid is meant to feel like a magazine page turning — controlled, predictable, never elastic. The single licensed exception is the native pull-to-refresh indicator, which inherits the OS's default spring because overriding it feels worse than accepting it. Every other motion uses `ease-enter`, `ease-exit`, or `ease-standard`.
453
+
454
+ **Signature motions.**
455
+
456
+ 1. **Product card tap.** Card image dims to 92% opacity on press (`motion-fast / ease-standard`), releases on tap-up before navigation. The card itself does not scale — scale on a magazine grid breaks the print metaphor.
457
+ 2. **Filter sheet presentation.** Bottom sheet rises from `y+40px` with `motion-slow / ease-enter` and a synchronized backdrop fade `rgba(0,0,0,0)` → `rgba(0,0,0,0.5)`. Dismissal uses `motion-fast / ease-exit` — leaving is lighter than entering.
458
+ 3. **Add-to-cart snackbar.** Slides up from bottom with `motion-standard / ease-enter`, holds 3s, slides down on `motion-fast / ease-exit`. No bounce. No icon spring.
459
+ 4. **Tab switch (catalog → editorial → ranking).** Cross-fade only, `motion-standard` — sliding would imply an axial relationship between catalog modes that doesn't exist.
460
+ 5. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`. Cross-fades replace any slide. The catalog stays fully usable; just less kinetic.
461
+
462
+ <!--
463
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
464
+
465
+ Tier 1 — Direct verification (MCP playwright + WebFetch, 2026-05):
466
+ - https://www.musinsa.com/category/001/goods?gf=A — confirmed page title
467
+ "상의 | 무신사 추천 상품"; body font-family observed as
468
+ `"Noto Sans KR", "malgun gothic", AppleGothic, dotum, sans-serif`;
469
+ body color rgb(51,51,51); body bg rgb(255,255,255); base size 14px.
470
+ Note: live computed-style extraction was partially blocked by an
471
+ unstable browser sandbox that intermittently re-navigated to other
472
+ Korean sites (yeogi.com, ohou.se, kakaobank, naver, qanda.ai).
473
+ The token claims (Pretendard, #000/#fff/#999/#eeeeee, sale red
474
+ #ff003b, 0px radius product cards) are reconciled from public
475
+ knowledge of Musinsa's surfaces and from the partial inspect that
476
+ did succeed. Re-verify in a stable browser before publishing.
477
+ - https://www.musinsa.com/main/musinsa/recommend?gf=A — page title
478
+ confirmed as "무신사".
479
+
480
+ Tier 2 — Press / secondary (WebSearch + WebFetch, 2026-05):
481
+ - https://about.musinsa.com/newsroom/musinsa-ceo — Cho Man-ho (조만호)
482
+ founder profile, 2001 Freechal sneaker community origin
483
+ (무진장 신발 사진이 많은 곳).
484
+ - https://about.musinsa.com/newsroom/about-musinsa — corporate brand
485
+ line "대한민국 1등 패션 플랫폼"; community-to-platform narrative.
486
+ - https://about.musinsa.com/newsroom/musinsa-zozo — MUSINSA × ZOZOTOWN
487
+ partnership (Nov 2025), Japan global expansion via ZOZOTOWN.
488
+ - https://canvasbusinessmodel.com/blogs/brief-history/musinsa-brief-history
489
+ — 2009 Musinsa Store launch confirmation.
490
+ - https://koreatechdesk.com/korean-online-fashion-giant-musinsa-secures-157-8-million-in-series-c-funding-led-by-kkr
491
+ — Sequoia 200B KRW 2019 round; KKR Series C; unicorn status.
492
+ - https://www.businessoffashion.com/news/retail/korean-fashion-retailer-musinsa-seeking-68-billion-valuation-with-ipo/
493
+ — IPO planning, Citigroup + JPMorgan, 6.8B valuation framing.
494
+ - http://www.koreatimes.co.kr/www/biz/2023/10/175_361856.html
495
+ — IPO target threshold (3.2 trillion won market cap).
496
+ - https://www.koreaherald.com/article/10639378 — MUSINSA STANDARD
497
+ 1 trillion won annual transaction goal; PB scale.
498
+ - https://www.koreaherald.com/article/10449494 — MUSINSA vs Uniqlo
499
+ Gen Z positioning context.
500
+ - https://getdesign.md/musinsa — confirmed NO record. Tier 2 negative.
501
+
502
+ Re-verification status:
503
+ - Computed-style values for buttons, inputs, badges, and product cards
504
+ were inferred from partial inspect + public Musinsa surface knowledge,
505
+ not fully captured in a stable browser session. Tokens (sale red
506
+ #ff003b, hairline #eeeeee, sharp 0px corners) match standard Musinsa
507
+ surface treatment but should be re-verified before being used as
508
+ authoritative DS specs.
509
+ - The valuations (~2.3T 2019, ~2.5T 2021, ~3.5T 2024, 3.2T+ IPO target)
510
+ are from press; cross-check before public quotation.
511
+
512
+ Personas (§13) are fictional archetypes informed by Musinsa's publicly
513
+ described user segments (Korean Gen Z / millennial fashion shoppers,
514
+ men and women, plus emerging Chinese / Japanese global shoppers via
515
+ MUSINSA STANDARD overseas + ZOZOTOWN). Any resemblance to specific
516
+ individuals is unintended.
517
+
518
+ Interpretive claims (editorial, not documented Musinsa statements):
519
+ - "Musinsa's monochrome is not minimalism for its own sake" (§11
520
+ closing) — editorial reading of the design, not a sourced brand
521
+ statement.
522
+ - The spring-forbidden stance (§15) — derived from the overall
523
+ editorial brand posture, not a documented Musinsa motion rule.
524
+ - The 8 numbered principles (§12) — synthesized from observed surface
525
+ behavior + Musinsa's stated "magazine-first" origin; not a published
526
+ design-principles list.
527
+ -->
528
+
529
+ ---
530
+
531
+ **Verified:** 2026-05-08 (omd:add-reference initial create — Tier 1 partial / Tier 2 confirmed)
532
+ **Tier 1 sources:** musinsa.com/category/001/goods (page title `상의 | 무신사 추천 상품`, body font Noto Sans KR stack, body `#333` on `#fff`, base 14px); musinsa.com/main/musinsa/recommend (page title `무신사`).
533
+ **Tier 2 sources:** getdesign.md/musinsa — no record (confirmed). styles.refero.design — not checked (Tier 2 single hit).
534
+ **Tier 2 (Philosophy/founders):** about.musinsa.com (Cho Man-ho founder story, 2001 sneaker community, corporate "대한민국 1등 패션 플랫폼"), CanvasBusinessModel (2009 store launch), KoreaTechDesk + BoF + Korea Times (Sequoia 2019 / KKR 2024 / IPO 3.2T target), Korea Herald (MUSINSA STANDARD 1T target, ZOZOTOWN expansion).
535
+ **Style ref:** `karrot` (KR editorial neighbor format retained for tone scaffolding).
536
+ **Conflicts unresolved:** Tier 1 live-inspect was partially blocked by an unstable browser sandbox; non-page-title computed-style values were reconciled from public knowledge and documented in `.verification.md`. Re-run Tier 1 in a stable browser to lock token values.