oh-my-design-cli 1.3.9 → 1.5.1
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/README.ja.md +8 -8
- package/README.ko.md +7 -7
- package/README.md +50 -16
- package/README.zh-TW.md +8 -8
- package/agents/omd-asset-curator.md +2 -7
- package/agents/omd-codex-image.md +49 -0
- package/agents/omd-designer-review.md +38 -0
- package/agents/omd-final-qa.md +40 -0
- package/agents/omd-kr-writer.md +35 -0
- package/agents/omd-locale-adapter.md +32 -0
- package/agents/omd-master.md +3 -13
- package/agents/omd-orchestrator.md +34 -0
- package/data/reference-audits/2026-05-14-kr10.md +72 -0
- package/data/reference-audits/2026-05-15-kr10.md +124 -0
- package/data/reference-fingerprints.json +1409 -254
- package/data/research/2026-05-18-agent-landscape.md +69 -0
- package/data/research/2026-05-18-kr-style-presets.md +572 -0
- package/dist/bin/oh-my-design.js +6 -3
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/{install-skills-MVXVXYAY.js → install-skills-IETT2TBJ.js} +91 -8
- package/dist/install-skills-IETT2TBJ.js.map +1 -0
- package/package.json +7 -1
- package/skills/omd-apply/SKILL.md +0 -1
- package/skills/omd-codex-image/SKILL.md +162 -0
- package/skills/omd-designer-review/SKILL.md +146 -0
- package/skills/omd-final-qa/SKILL.md +153 -0
- package/skills/omd-kr-writer/SKILL.md +229 -0
- package/skills/omd-locale-adapter/SKILL.md +124 -0
- package/skills/omd-orchestrator/SKILL.md +124 -0
- package/web/references/17live/DESIGN.md +424 -0
- package/web/references/29cm/DESIGN.md +11 -2
- package/web/references/ably/DESIGN.md +12 -2
- package/web/references/airbnb/DESIGN.md +17 -2
- package/web/references/airtable/DESIGN.md +20 -0
- package/web/references/alipay/DESIGN.md +456 -0
- package/web/references/appier/DESIGN.md +420 -0
- package/web/references/apple/DESIGN.md +17 -2
- package/web/references/baemin/DESIGN.md +11 -2
- package/web/references/banksalad/DESIGN.md +17 -2
- package/web/references/bilibili/DESIGN.md +426 -0
- package/web/references/bmw/DESIGN.md +14 -0
- package/web/references/bunjang/DESIGN.md +308 -0
- package/web/references/cal/DESIGN.md +14 -0
- package/web/references/catchtable/DESIGN.md +262 -0
- package/web/references/channeltalk/DESIGN.md +374 -0
- package/web/references/class101/DESIGN.md +433 -0
- package/web/references/classum/DESIGN.md +217 -0
- package/web/references/claude/DESIGN.md +11 -2
- package/web/references/clay/DESIGN.md +19 -0
- package/web/references/clickhouse/DESIGN.md +19 -0
- package/web/references/cohere/DESIGN.md +20 -0
- package/web/references/coinbase/DESIGN.md +14 -0
- package/web/references/composio/DESIGN.md +14 -0
- package/web/references/cookpad/DESIGN.md +357 -0
- package/web/references/coupang/DESIGN.md +17 -2
- package/web/references/cursor/DESIGN.md +20 -0
- package/web/references/dabang/DESIGN.md +210 -0
- package/web/references/dcard/DESIGN.md +11 -2
- package/web/references/dji/DESIGN.md +416 -0
- package/web/references/elevenlabs/DESIGN.md +20 -0
- package/web/references/expo/DESIGN.md +20 -0
- package/web/references/fastcampus/DESIGN.md +460 -0
- package/web/references/ferrari/DESIGN.md +14 -0
- package/web/references/figma/DESIGN.md +17 -2
- package/web/references/flex/DESIGN.md +309 -0
- package/web/references/framer/DESIGN.md +20 -0
- package/web/references/freee/DESIGN.md +16 -2
- package/web/references/gangnamunni/DESIGN.md +18 -2
- package/web/references/gmarket/DESIGN.md +464 -0
- package/web/references/gogoro/DESIGN.md +403 -0
- package/web/references/hashicorp/DESIGN.md +19 -0
- package/web/references/ibm/DESIGN.md +20 -0
- package/web/references/ichef/DESIGN.md +411 -0
- package/web/references/inflearn/DESIGN.md +396 -0
- package/web/references/intercom/DESIGN.md +14 -0
- package/web/references/jumpit/DESIGN.md +366 -0
- package/web/references/kakao/DESIGN.md +14 -0
- package/web/references/kakaobank/DESIGN.md +17 -2
- package/web/references/kakaopay/DESIGN.md +17 -2
- package/web/references/kakaot/DESIGN.md +454 -0
- package/web/references/karrot/DESIGN.md +16 -2
- package/web/references/kbank/DESIGN.md +195 -0
- package/web/references/kkday/DESIGN.md +423 -0
- package/web/references/kraken/DESIGN.md +14 -0
- package/web/references/krds/DESIGN.md +17 -2
- package/web/references/kream/DESIGN.md +382 -0
- package/web/references/kurly/DESIGN.md +11 -2
- package/web/references/lamborghini/DESIGN.md +14 -0
- package/web/references/line/DESIGN.md +17 -2
- package/web/references/linear.app/DESIGN.md +17 -2
- package/web/references/lovable/DESIGN.md +14 -0
- package/web/references/lunit/DESIGN.md +249 -0
- package/web/references/meituan/DESIGN.md +424 -0
- package/web/references/mercari/DESIGN.md +11 -2
- package/web/references/millie/DESIGN.md +533 -0
- package/web/references/minimax/DESIGN.md +14 -0
- package/web/references/mintlify/DESIGN.md +14 -0
- package/web/references/miro/DESIGN.md +20 -0
- package/web/references/mistral.ai/DESIGN.md +20 -0
- package/web/references/money-forward/DESIGN.md +401 -0
- package/web/references/mongodb/DESIGN.md +19 -0
- package/web/references/musinsa/DESIGN.md +11 -2
- package/web/references/myrealtrip/DESIGN.md +445 -0
- package/web/references/naver/DESIGN.md +17 -2
- package/web/references/naverwebtoon/DESIGN.md +429 -0
- package/web/references/note/DESIGN.md +318 -0
- package/web/references/notion/DESIGN.md +11 -2
- package/web/references/nvidia/DESIGN.md +11 -2
- package/web/references/ohouse/DESIGN.md +11 -2
- package/web/references/oliveyoung/DESIGN.md +342 -0
- package/web/references/ollama/DESIGN.md +14 -0
- package/web/references/opencode.ai/DESIGN.md +20 -0
- package/web/references/pinkoi/DESIGN.md +11 -2
- package/web/references/pinterest/DESIGN.md +19 -0
- package/web/references/posthog/DESIGN.md +20 -0
- package/web/references/publy/DESIGN.md +511 -0
- package/web/references/qanda/DESIGN.md +11 -2
- package/web/references/raycast/DESIGN.md +19 -0
- package/web/references/remember/DESIGN.md +17 -2
- package/web/references/renault/DESIGN.md +14 -0
- package/web/references/replicate/DESIGN.md +14 -0
- package/web/references/resend/DESIGN.md +20 -0
- package/web/references/revolut/DESIGN.md +14 -0
- package/web/references/ridi/DESIGN.md +11 -2
- package/web/references/runwayml/DESIGN.md +14 -0
- package/web/references/sanity/DESIGN.md +20 -0
- package/web/references/sentry/DESIGN.md +14 -0
- package/web/references/smarthr/DESIGN.md +404 -0
- package/web/references/smartnews/DESIGN.md +331 -0
- package/web/references/socar/DESIGN.md +17 -2
- package/web/references/spacex/DESIGN.md +11 -2
- package/web/references/spoon/DESIGN.md +446 -0
- package/web/references/spotify/DESIGN.md +14 -0
- package/web/references/stripe/DESIGN.md +11 -2
- package/web/references/supabase/DESIGN.md +20 -0
- package/web/references/superhuman/DESIGN.md +20 -0
- package/web/references/tada/DESIGN.md +528 -0
- package/web/references/tesla/DESIGN.md +11 -2
- package/web/references/together.ai/DESIGN.md +20 -0
- package/web/references/toss/DESIGN.md +16 -2
- package/web/references/toss-securities/DESIGN.md +193 -0
- package/web/references/tossbank/DESIGN.md +519 -0
- package/web/references/triple/DESIGN.md +434 -0
- package/web/references/tumblbug/DESIGN.md +530 -0
- package/web/references/tving/DESIGN.md +259 -0
- package/web/references/uber/DESIGN.md +19 -0
- package/web/references/upbit/DESIGN.md +276 -0
- package/web/references/upstage/DESIGN.md +214 -0
- package/web/references/vercel/DESIGN.md +17 -2
- package/web/references/voltagent/DESIGN.md +14 -0
- package/web/references/wadiz/DESIGN.md +344 -0
- package/web/references/wanted/DESIGN.md +16 -2
- package/web/references/warp/DESIGN.md +14 -0
- package/web/references/watcha/DESIGN.md +425 -0
- package/web/references/wavve/DESIGN.md +438 -0
- package/web/references/wconcept/DESIGN.md +511 -0
- package/web/references/webflow/DESIGN.md +14 -0
- package/web/references/wise/DESIGN.md +19 -0
- package/web/references/x.ai/DESIGN.md +14 -0
- package/web/references/xiaohongshu/DESIGN.md +423 -0
- package/web/references/yanolja/DESIGN.md +17 -2
- package/web/references/yeogiotte/DESIGN.md +18 -2
- package/web/references/yogiyo/DESIGN.md +465 -0
- package/web/references/zapier/DESIGN.md +20 -0
- package/web/references/zigbang/DESIGN.md +12 -2
- package/web/references/zigzag/DESIGN.md +17 -2
- package/agents/omd-3d-blender.md +0 -269
- package/dist/install-skills-MVXVXYAY.js.map +0 -1
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: wconcept
|
|
3
|
+
name: W Concept
|
|
4
|
+
country: KR
|
|
5
|
+
category: ecommerce
|
|
6
|
+
homepage: "https://www.wconcept.co.kr"
|
|
7
|
+
primary_color: "#000000"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=wconcept.co.kr&sz=128"
|
|
11
|
+
verified: "2026-05-27"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Design System Inspiration of W Concept (W컨셉)
|
|
16
|
+
|
|
17
|
+
## 1. Visual Theme & Atmosphere
|
|
18
|
+
|
|
19
|
+
W Concept's interface is a curated fashion gallery rendered in absolute monochrome -- the digital equivalent of a Seoul concept-store window where the clothing is lit and everything else recedes into shadow or white. The page opens on a pure white canvas (`#ffffff`) with absolute black type and chrome (`#000000`), and a deliberately starved color budget: black, white, three grays, and a single hot orange-red (`#ff4600`) that flashes only on sale percentages and time-limited drops. There is no brand pastel, no friendly accent, no warm illustration tone. The lookbook photograph -- a studio-shot designer piece, usually on a clean wall or a model against neutral seamless -- is the only thing on screen permitted to carry color.
|
|
20
|
+
|
|
21
|
+
This is premium positioning expressed through subtraction. Where mass-market Korean commerce (Coupang, Gmarket, 11st) screams with rainbow banners and red urgency, W Concept whispers. The platform built its identity around discovering emerging Korean designers, and the design system reflects that editorial-curator posture: the chrome is a frame, never the picture. Type runs in Pretendard Variable at a comfortable 16px base with disciplined weight contrast -- product titles in regular, brand names and prices carrying the emphasis through 600/700 weight rather than size. Corners are sharp (0px on cards and tiles), borders are hairline, and the grid is a clean magazine layout that lets each garment breathe in its own rectangle. The aesthetic says: *this is not a marketplace, it is a selection.*
|
|
22
|
+
|
|
23
|
+
What defines W Concept visually is the tension between the severe black-and-white frame and the single permission of `#ff4600` -- a saturated orange-red that, used scarcely on discount labels, reads as decisive rather than desperate. The absence of a second brand hue is itself the brand statement: confidence enough to let the photography and the typography do all the work.
|
|
24
|
+
|
|
25
|
+
**Key Characteristics:**
|
|
26
|
+
- Monochrome discipline: `#000000` type and chrome on `#ffffff` canvas, no brand pastel
|
|
27
|
+
- Single hot accent (`#ff4600` orange-red) reserved for sale percentages and time-limited drops
|
|
28
|
+
- Pretendard Variable as the system face -- no bespoke wordmark webfont on product surfaces
|
|
29
|
+
- Sharp 0px corners on product cards and editorial tiles; hairline `#eeeeee` separation
|
|
30
|
+
- 16px comfortable base type (more generous than a fast-fashion grid) -- premium spacing
|
|
31
|
+
- Light gray `#f6f6f6` surface fills for nested sections and image placeholders
|
|
32
|
+
- Photograph-first composition: the designer piece dominates, chrome yields
|
|
33
|
+
- Black solid as primary CTA -- never blue, never branded color
|
|
34
|
+
|
|
35
|
+
## 2. Color Palette & Roles
|
|
36
|
+
|
|
37
|
+
### Primary
|
|
38
|
+
- **Pure Black** (`#000000`): Primary CTA fill, headings, product titles, wordmark, nav. The non-negotiable foundation -- observed ~7,000 times on the live women's display surface.
|
|
39
|
+
- **Pure White** (`#ffffff`): Page canvas, card surfaces, button text on black, navigation background.
|
|
40
|
+
- **Sale Orange-Red** (`#ff4600`): Discount percentages, "단독", time-limited promotion accents, sale-price highlight. The system's only saturated hue. Used scarcely.
|
|
41
|
+
|
|
42
|
+
### Neutral Scale
|
|
43
|
+
- **Gray 900** (`#222222`): Strong secondary text, sub-headings on light surfaces.
|
|
44
|
+
- **Gray 700** (`#555555`): Default body / secondary copy color (observed `rgb(85,85,85)`).
|
|
45
|
+
- **Gray 500** (`#777777`): Metadata, brand descriptors, review counts (observed `rgb(119,119,119)`).
|
|
46
|
+
- **Gray 400** (`#999999`): Disabled text, inactive captions.
|
|
47
|
+
- **Gray 300** (`#bababa`): Placeholder text, inactive icons.
|
|
48
|
+
- **Gray 200** (`#e2e2e2`): Input borders, divider lines.
|
|
49
|
+
- **Gray 100** (`#eeeeee`): Hairline grid separators, card outlines.
|
|
50
|
+
- **Gray 50** (`#f6f6f6`): Surface fill for nested sections, image placeholder background.
|
|
51
|
+
|
|
52
|
+
### Semantic
|
|
53
|
+
- **Sale / Critical** (`#ff4600`): Sale percentage and error states share this hot orange-red.
|
|
54
|
+
- **Soft Scrim** (`rgba(0,0,0,0.3)`): Image overlays, gradient veils on hero photography.
|
|
55
|
+
- **Hairline Veil** (`rgba(0,0,0,0.1)`): Subtle dividers over imagery.
|
|
56
|
+
|
|
57
|
+
### Borders
|
|
58
|
+
- **Hairline Border** (`#eeeeee`): Grid separator, card outline -- the system's most-used non-text non-canvas value.
|
|
59
|
+
- **Border Mid** (`#e2e2e2`): Input outline default.
|
|
60
|
+
- **Border Strong** (`#000000`): Selected filter chip, focused input, active tab underline.
|
|
61
|
+
|
|
62
|
+
## 3. Typography Rules
|
|
63
|
+
|
|
64
|
+
### Font Family
|
|
65
|
+
- **Primary (Korean + Latin)**: `"Pretendard Variable", Pretendard, -apple-system, "system-ui", "Apple SD Gothic Neo", Roboto, "Noto Sans KR", "Segoe UI", "Malgun Gothic", sans-serif` (observed on live `display.wconcept.co.kr`, 2026-05)
|
|
66
|
+
- **Design Principle**: No custom display typeface. The editorial weight comes from the lookbook photograph and from disciplined weight contrast in Pretendard -- not from a branded webfont. Latin and Korean render co-equally in the same line.
|
|
67
|
+
|
|
68
|
+
### Hierarchy
|
|
69
|
+
|
|
70
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
71
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
72
|
+
| Display | Pretendard | 32px | 700 | 42px | -0.4px | Editorial campaign / event title |
|
|
73
|
+
| Heading Large | Pretendard | 24px | 700 | 32px | -0.4px | Category page title, section banner |
|
|
74
|
+
| Heading | Pretendard | 20px | 700 | 28px | -0.3px | Section header ("주목해야 할 브랜드들") |
|
|
75
|
+
| Title | Pretendard | 16px | 600 | 24px | -0.3px | Product detail title, brand name |
|
|
76
|
+
| Body Large | Pretendard | 16px | 400 | 24px | -0.2px | Standard body, product card title |
|
|
77
|
+
| Body | Pretendard | 14px | 400 | 22px | -0.2px | Listings text, descriptions |
|
|
78
|
+
| Body Bold | Pretendard | 14px | 700 | 22px | -0.2px | Price emphasis, brand name on card |
|
|
79
|
+
| Caption | Pretendard | 13px | 400 | 18px | -0.2px | Metadata, review counts, timestamps |
|
|
80
|
+
| Caption Bold | Pretendard | 13px | 700 | 18px | -0.2px | Sale percentage labels |
|
|
81
|
+
| Micro | Pretendard | 12px | 500 | 16px | -0.2px | Badge text, fine print |
|
|
82
|
+
|
|
83
|
+
### Principles
|
|
84
|
+
- **Emphasis via weight, not color**: A brand name in 14px/700 outranks the product title in 14px/400 on the same card -- the hierarchy is built in black, never in a second hue.
|
|
85
|
+
- **Comfortable, not dense**: Base body sits at 14-16px -- more generous than a fast-fashion catalog. Premium positioning earns the extra leading.
|
|
86
|
+
- **Two-and-a-half weights**: Regular (400) and Bold (700) do the heavy lifting; SemiBold (600) handles titles and brand names. Light is avoided -- it reads as cheap on Korean glyphs.
|
|
87
|
+
- **Tight Korean tracking**: Korean type carries `-0.2px` to `-0.4px` letter-spacing for editorial compactness without crowding.
|
|
88
|
+
- **No italics**: Korean type doesn't carry italic stress; the system avoids it even on Latin substrings.
|
|
89
|
+
|
|
90
|
+
## 4. Component Stylings
|
|
91
|
+
|
|
92
|
+
### Buttons
|
|
93
|
+
|
|
94
|
+
**Primary (Black Solid)**
|
|
95
|
+
- Background: `#000000`
|
|
96
|
+
- Text: `#ffffff`
|
|
97
|
+
- Border: none
|
|
98
|
+
- Radius: 0px
|
|
99
|
+
- Padding: 16px 24px
|
|
100
|
+
- Font: 16px / 700 / Pretendard
|
|
101
|
+
- Hover: `#222222`
|
|
102
|
+
- Pressed: `#000000` with `0.85` opacity overlay
|
|
103
|
+
- Disabled: `#bababa` background, `#ffffff` text
|
|
104
|
+
- Use: Primary CTA -- `구매하기`, `장바구니`, `로그인`, `브랜드 팔로우`
|
|
105
|
+
|
|
106
|
+
**Outline (Black Border)**
|
|
107
|
+
- Background: `#ffffff`
|
|
108
|
+
- Text: `#000000`
|
|
109
|
+
- Border: 1px solid `#000000`
|
|
110
|
+
- Radius: 0px
|
|
111
|
+
- Padding: 16px 24px
|
|
112
|
+
- Font: 16px / 600 / Pretendard
|
|
113
|
+
- Hover: `#f6f6f6` background
|
|
114
|
+
- Use: Secondary CTA -- `사이즈 가이드`, `브랜드 홈`, `위시리스트 추가`
|
|
115
|
+
|
|
116
|
+
**Neutral (Gray Fill)**
|
|
117
|
+
- Background: `#f6f6f6`
|
|
118
|
+
- Text: `#222222`
|
|
119
|
+
- Border: 1px solid `#eeeeee`
|
|
120
|
+
- Radius: 0px
|
|
121
|
+
- Padding: 12px 16px
|
|
122
|
+
- Font: 14px / 500 / Pretendard
|
|
123
|
+
- Hover: `#eeeeee` background
|
|
124
|
+
- Use: Tertiary actions -- filter open, sort toggle, share
|
|
125
|
+
|
|
126
|
+
**Sale (Promotion)**
|
|
127
|
+
- Background: `#ff4600`
|
|
128
|
+
- Text: `#ffffff`
|
|
129
|
+
- Border: none
|
|
130
|
+
- Radius: 0px
|
|
131
|
+
- Padding: 12px 18px
|
|
132
|
+
- Font: 14px / 700 / Pretendard
|
|
133
|
+
- Use: Time-limited sale CTA -- `단독 특가 보기`, `오늘의 딜`. Used scarcely.
|
|
134
|
+
|
|
135
|
+
### Inputs
|
|
136
|
+
|
|
137
|
+
**Default**
|
|
138
|
+
- Background: `#ffffff`
|
|
139
|
+
- Text: `#000000`
|
|
140
|
+
- Border: 1px solid `#e2e2e2`
|
|
141
|
+
- Radius: 0px
|
|
142
|
+
- Padding: 12px 14px
|
|
143
|
+
- Font: 14px / 400 / Pretendard
|
|
144
|
+
- Placeholder: `#999999`
|
|
145
|
+
- Focus: 1px solid `#000000` (border darkens, no glow ring)
|
|
146
|
+
- Use: Default text input -- login, sign-up, address forms
|
|
147
|
+
|
|
148
|
+
**Search**
|
|
149
|
+
- Background: `#f6f6f6`
|
|
150
|
+
- Text: `#000000`
|
|
151
|
+
- Border: none
|
|
152
|
+
- Radius: 0px
|
|
153
|
+
- Padding: 12px 16px 12px 40px (left-pad for inline magnifier)
|
|
154
|
+
- Font: 14px / 400 / Pretendard
|
|
155
|
+
- Placeholder: `#999999` ("브랜드, 상품 검색")
|
|
156
|
+
- Focus: `#ffffff` background, 1px solid `#000000` border
|
|
157
|
+
- Use: Header search bar across surfaces
|
|
158
|
+
|
|
159
|
+
**Error**
|
|
160
|
+
- Background: `#ffffff`
|
|
161
|
+
- Text: `#000000`
|
|
162
|
+
- Border: 1px solid `#ff4600`
|
|
163
|
+
- Radius: 0px
|
|
164
|
+
- Padding: 12px 14px
|
|
165
|
+
- Font: 14px / 400 / Pretendard
|
|
166
|
+
- Use: Form validation failure -- helper text 13px/400 `#ff4600` below
|
|
167
|
+
|
|
168
|
+
### Cards
|
|
169
|
+
|
|
170
|
+
**Product Card**
|
|
171
|
+
- Background: `#ffffff`
|
|
172
|
+
- Border: none (only `#eeeeee` hairline at grid-cell boundary)
|
|
173
|
+
- Radius: 0px (sharp -- the catalog is a print grid)
|
|
174
|
+
- Padding: 0px on container; 8-10px between image and metadata
|
|
175
|
+
- Image: 3:4 portrait, no radius, `#f6f6f6` placeholder
|
|
176
|
+
- Shadow: none
|
|
177
|
+
- Use: Default product listing card -- the grid cell, not a floating object
|
|
178
|
+
|
|
179
|
+
**Editorial Tile**
|
|
180
|
+
- Background: `#f6f6f6` (or full-bleed image)
|
|
181
|
+
- Border: none
|
|
182
|
+
- Radius: 0px
|
|
183
|
+
- Padding: 0px
|
|
184
|
+
- Use: Curated sections ("주목해야 할 브랜드들", lookbook banners) -- full-bleed photographs as the card surface itself
|
|
185
|
+
|
|
186
|
+
**Brand Card**
|
|
187
|
+
- Background: `#ffffff`
|
|
188
|
+
- Border: 1px solid `#eeeeee`
|
|
189
|
+
- Radius: 0px
|
|
190
|
+
- Padding: 16px
|
|
191
|
+
- Use: Brand-of-the-day, designer-spotlight entry on the home feed
|
|
192
|
+
|
|
193
|
+
### Badges
|
|
194
|
+
|
|
195
|
+
**Sale Percentage**
|
|
196
|
+
- Background: transparent
|
|
197
|
+
- Text: `#ff4600`
|
|
198
|
+
- Border: none
|
|
199
|
+
- Radius: 0px
|
|
200
|
+
- Padding: 0px
|
|
201
|
+
- Font: 14px / 700 / Pretendard
|
|
202
|
+
- Use: Inline sale percentage on product cards (`-30%`, `-50%`). Most common badge in the system.
|
|
203
|
+
|
|
204
|
+
**Exclusive Flag**
|
|
205
|
+
- Background: `#000000`
|
|
206
|
+
- Text: `#ffffff`
|
|
207
|
+
- Border: none
|
|
208
|
+
- Radius: 0px
|
|
209
|
+
- Padding: 3px 6px
|
|
210
|
+
- Font: 11px / 700 / Pretendard
|
|
211
|
+
- Use: "단독", "선론칭" exclusive flags on product imagery
|
|
212
|
+
|
|
213
|
+
**New / Coupon**
|
|
214
|
+
- Background: `#ffffff`
|
|
215
|
+
- Text: `#000000`
|
|
216
|
+
- Border: 1px solid `#000000`
|
|
217
|
+
- Radius: 0px
|
|
218
|
+
- Padding: 3px 6px
|
|
219
|
+
- Font: 11px / 700 / Pretendard
|
|
220
|
+
- Use: "NEW", "쿠폰" minor flags. Outline keeps the photograph dominant.
|
|
221
|
+
|
|
222
|
+
**Filter Chip (Default)**
|
|
223
|
+
- Background: `#ffffff`
|
|
224
|
+
- Text: `#222222`
|
|
225
|
+
- Border: 1px solid `#e2e2e2`
|
|
226
|
+
- Radius: 0px
|
|
227
|
+
- Padding: 8px 14px
|
|
228
|
+
- Font: 13px / 500 / Pretendard
|
|
229
|
+
- Use: Category / size / color filter pills
|
|
230
|
+
|
|
231
|
+
**Filter Chip (Selected)**
|
|
232
|
+
- Background: `#000000`
|
|
233
|
+
- Text: `#ffffff`
|
|
234
|
+
- Border: 1px solid `#000000`
|
|
235
|
+
- Radius: 0px
|
|
236
|
+
- Padding: 8px 14px
|
|
237
|
+
- Font: 13px / 700 / Pretendard
|
|
238
|
+
- Use: Active filter state
|
|
239
|
+
|
|
240
|
+
### Navigation
|
|
241
|
+
- Top header: `#ffffff` background, ~60px height, 1px bottom border `#eeeeee`. Wordmark left (`W CONCEPT`, 700, black), search center, account/wishlist/cart right.
|
|
242
|
+
- Category nav: horizontal items (여성/남성/뷰티/라이프/럭셔리), 16px/600, active item gets a 2px black underline.
|
|
243
|
+
- Bottom tab bar (mobile): 5 items -- `홈`, `카테고리`, `좋아요`, `마이`, `장바구니`. Active label `#000000`, inactive `#999999`. Weight does the work; no color differentiation.
|
|
244
|
+
|
|
245
|
+
## 5. Layout Principles
|
|
246
|
+
|
|
247
|
+
### Spacing System
|
|
248
|
+
- Base unit: 4px
|
|
249
|
+
- Scale: 4px, 8px, 12px, 16px, 20px, 24px, 32px, 40px, 56px, 80px
|
|
250
|
+
- Global gutter (mobile): 16px each side
|
|
251
|
+
- Global gutter (desktop): 20-24px each side, max content width ~1280px
|
|
252
|
+
- Inter-product vertical spacing: 24-32px between rows on the catalog grid
|
|
253
|
+
- Inter-section vertical spacing: 56-80px between editorial blocks on the home feed (premium breathing room)
|
|
254
|
+
|
|
255
|
+
### Grid & Container
|
|
256
|
+
- Mobile: 2-column product grid
|
|
257
|
+
- Tablet: 3-column product grid
|
|
258
|
+
- Desktop: 4-column product grid (premium catalogs rarely go to 5 -- larger images carry the editorial mood)
|
|
259
|
+
- Editorial / lookbook banner: full-bleed (edge-to-edge) on mobile, max 1280px on desktop
|
|
260
|
+
- The grid is the selection. Avoid masonry -- each designer piece gets the same rectangle.
|
|
261
|
+
|
|
262
|
+
### Whitespace Philosophy
|
|
263
|
+
- **The frame breathes**: White space around imagery is the system's primary breathing room. Premium positioning earns wider section gaps than a fast-fashion grid.
|
|
264
|
+
- **Section breaks earn their space**: 56-80px vertical gaps mark editorial shifts; within a section 16-24px is enough.
|
|
265
|
+
- **Don't crowd the garment**: Image padding stays minimal so the photograph touches its frame, but the surrounding catalog never feels cramped.
|
|
266
|
+
|
|
267
|
+
### Border Radius Scale
|
|
268
|
+
- Sharp (0px): Product cards, editorial tiles, buttons, inputs, badges -- the system default
|
|
269
|
+
- Note: W Concept is a *zero-radius* system. Rounded corners read as casual / mass-market -- anything over 4px breaks the concept-store mood.
|
|
270
|
+
|
|
271
|
+
## 6. Depth & Elevation
|
|
272
|
+
|
|
273
|
+
| Level | Treatment | Use |
|
|
274
|
+
|-------|-----------|-----|
|
|
275
|
+
| Flat (Level 0) | No shadow, no border | Page background, product images, default state |
|
|
276
|
+
| Hairline (Level 1) | 1px solid `#eeeeee` | Card boundary, grid separator, header bottom border |
|
|
277
|
+
| Soft (Level 2) | `0px 2px 8px rgba(0,0,0,0.06)` | Sticky header on scroll, dropdown menus |
|
|
278
|
+
| Floating (Level 3) | `0px 4px 16px rgba(0,0,0,0.10)` | Bottom sheets, modal dialogs, snackbar |
|
|
279
|
+
|
|
280
|
+
**Shadow Philosophy**: W Concept is allergic to elevation. The default product card has no shadow and no border -- its boundary is the photograph's edge. Shadows appear only when an element must visibly detach (sticky bar, modal). The system never uses tinted shadows, and drop-shadows on product imagery are forbidden -- they read as cheap e-commerce, not concept-store editorial.
|
|
281
|
+
|
|
282
|
+
## 7. Do's and Don'ts
|
|
283
|
+
|
|
284
|
+
### Do
|
|
285
|
+
- Use `#000000` for primary CTAs -- black is the brand's saturation
|
|
286
|
+
- Keep border-radius at 0px on product surfaces and chrome
|
|
287
|
+
- Use weight 700 to create emphasis, not larger sizes or a second color
|
|
288
|
+
- Apply negative letter-spacing (`-0.2px` to `-0.4px`) on Korean type
|
|
289
|
+
- Let the designer photograph be the only color in the layout
|
|
290
|
+
- Use `#ff4600` for sale percentages and time-limited drops only
|
|
291
|
+
- Default to 2-column mobile / 4-column desktop grid -- the selection is the page
|
|
292
|
+
- Give the home feed generous 56-80px section gaps -- premium breathing room
|
|
293
|
+
|
|
294
|
+
### Don't
|
|
295
|
+
- Don't introduce a brand blue, green, or pastel -- the palette is mono plus one orange-red
|
|
296
|
+
- Don't round corners -- 0px is the brand; rounded reads as mass-market
|
|
297
|
+
- Don't add drop-shadows to product imagery
|
|
298
|
+
- Don't crowd the catalog with red urgency banners -- W Concept is curatorial, not a flash-sale site
|
|
299
|
+
- Don't use `#ff4600` for navigation, decoration, or non-sale CTAs
|
|
300
|
+
- Don't switch to a custom display typeface -- Pretendard at 700 is the headline voice
|
|
301
|
+
- Don't soften the black -- `#000000`, not `#1a1c20`. Concept-store contrast requires it.
|
|
302
|
+
|
|
303
|
+
## 8. Responsive Behavior
|
|
304
|
+
|
|
305
|
+
### Breakpoints
|
|
306
|
+
| Name | Width | Key Changes |
|
|
307
|
+
|------|-------|-------------|
|
|
308
|
+
| Mobile | <768px | 2-column grid, full-bleed editorial, bottom tab bar |
|
|
309
|
+
| Tablet | 768-1024px | 3-column grid, side-rail filters appear |
|
|
310
|
+
| Desktop | >1024px | 4-column grid, max content width ~1280px, persistent category nav |
|
|
311
|
+
|
|
312
|
+
### Touch Targets
|
|
313
|
+
- Primary CTA buttons: 48-52px height
|
|
314
|
+
- Filter chips: 36px height
|
|
315
|
+
- Bottom tab bar items: 56px height
|
|
316
|
+
- Product card tap area: full card (image + metadata)
|
|
317
|
+
|
|
318
|
+
### Collapsing Strategy
|
|
319
|
+
- Desktop side-rail filters → mobile bottom-sheet filter (`필터` opens full-height sheet)
|
|
320
|
+
- Desktop 4-column grid → mobile 2-column grid
|
|
321
|
+
- Editorial banners stay full-bleed at every breakpoint -- they never get gutters
|
|
322
|
+
|
|
323
|
+
### Image Behavior
|
|
324
|
+
- Product images: 3:4 portrait, 0px radius, lazy-loaded with `#f6f6f6` placeholder
|
|
325
|
+
- Brand logos: square 1:1, 0px radius
|
|
326
|
+
- Editorial covers: 3:4 or 16:9 depending on placement, full-bleed at the breakpoint
|
|
327
|
+
|
|
328
|
+
## 9. Agent Prompt Guide
|
|
329
|
+
|
|
330
|
+
### Quick Color Reference
|
|
331
|
+
- Primary CTA: Pure Black (`#000000`)
|
|
332
|
+
- CTA Hover: Soft Black (`#222222`)
|
|
333
|
+
- Background: Pure White (`#ffffff`)
|
|
334
|
+
- Heading text: Pure Black (`#000000`)
|
|
335
|
+
- Body text: Gray 700 (`#555555`)
|
|
336
|
+
- Metadata: Gray 500 (`#777777`)
|
|
337
|
+
- Placeholder: Gray 400 (`#999999`)
|
|
338
|
+
- Hairline border: Gray 100 (`#eeeeee`)
|
|
339
|
+
- Input border: Gray 200 (`#e2e2e2`)
|
|
340
|
+
- Disabled: Gray 300 (`#bababa`)
|
|
341
|
+
- Sale / accent: Orange-Red (`#ff4600`)
|
|
342
|
+
- Surface fill: Gray 50 (`#f6f6f6`)
|
|
343
|
+
|
|
344
|
+
### Example Component Prompts
|
|
345
|
+
- "Create a W Concept product card: white background, no border, no shadow, 0px radius. Image is 3:4 portrait at top, no radius, #f6f6f6 placeholder. Below: 8px gap, brand name 14px Pretendard 700 #000000, product title 14px 400 #555555 (2 lines, ellipsis), 4px gap, price line: sale percentage 14px 700 #ff4600 inline before final price 14px 700 #000000, original price strikethrough 13px 400 #999999. Letter-spacing -0.2px."
|
|
346
|
+
- "Build a primary CTA: #000000 background, white text, 16px weight 700 Pretendard, padding 16px 24px, 0px radius, full-width on mobile. Hover #222222. No icon."
|
|
347
|
+
- "Design a filter chip bar: horizontal scroll, 8px gap. Default: white bg, 1px solid #e2e2e2, 13px/500 #222222, 0px radius, 8px 14px padding. Selected: #000000 bg, white text, 13px/700."
|
|
348
|
+
- "Create a W Concept header: white bg, 60px height, 1px bottom border #eeeeee. Left: W CONCEPT wordmark 700 #000000. Center: search bar #f6f6f6 bg, 0px radius, 14px placeholder #999999. Right: heart, cart, profile icons 24px stroke #000000."
|
|
349
|
+
- "Design a sale badge: text-only, no background, no border. '-40%' in 14px Pretendard 700 #ff4600, inline with the product price."
|
|
350
|
+
|
|
351
|
+
### Iteration Guide
|
|
352
|
+
1. Default surface is `#ffffff`, default text is `#000000` -- never `#1a1c20`
|
|
353
|
+
2. Orange-red `#ff4600` is the only chromatic accent -- only for sale / promotion
|
|
354
|
+
3. Border-radius is 0px everywhere on product surfaces and chrome
|
|
355
|
+
4. Body 14-16px, emphasis via 700 weight not larger size
|
|
356
|
+
5. Korean letter-spacing `-0.2px` to `-0.4px` for editorial compactness
|
|
357
|
+
6. No shadows on product cards -- hairline `#eeeeee` is the boundary
|
|
358
|
+
7. The photograph is always the brightest thing on screen -- chrome yields
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## 10. Voice & Tone
|
|
363
|
+
|
|
364
|
+
W Concept speaks like a fashion editor curating a selection, not a marketer pushing inventory. The voice is restrained, declarative, and trusts the photograph to do the persuading. Korean copy favors clean editorial endings (`-요`, bare-stem imperatives like `구매하기`, `더 보기`) over both the overly formal `-ㅂ니다` and the breathless hype of mass-market commerce. Sentences are short. A drop reads `단독 발매`, not `놓치면 후회할 단독 특가 대박 찬스!`. English surfaces (the W Concept global site / app) inherit the same compactness -- *"Seoul-fully created"*, *"Designer fashion"* -- never *"Premium luxury experiences"*.
|
|
365
|
+
|
|
366
|
+
| Context | Tone |
|
|
367
|
+
|---|---|
|
|
368
|
+
| CTAs | Bare-stem Korean (`구매하기`, `장바구니`, `팔로우`, `더 보기`) / clipped English (`Shop`, `Buy`, `Follow`) |
|
|
369
|
+
| Sale flags | One phrase + percentage (`단독 ~40%`, `오늘의 딜`). Never `초특가 폭탄 세일!!!`. |
|
|
370
|
+
| Product titles | Brand name on its own line in bold, then the literal product name. No marketing adjectives. |
|
|
371
|
+
| Empty states | One editorial line + one neutral suggestion (`아직 좋아한 상품이 없어요` + `상품 둘러보기`). Never `데이터가 없습니다`. |
|
|
372
|
+
| Error messages | Specific, actionable, blameless (`주소를 다시 확인해 주세요`). No `죄송합니다` boilerplate. |
|
|
373
|
+
| Editorial / lookbook | Magazine-style headline + 1-line dek (`주목해야 할 브랜드들`). Korean-English mix allowed. |
|
|
374
|
+
| Sign-up / onboarding | Short -- one screen, one input, one CTA. No onboarding tour. |
|
|
375
|
+
|
|
376
|
+
**Forbidden phrases.** `초특가`, `대박 세일`, `놓치면 후회`, `지금 바로 클릭!!!`, `데이터가 없습니다`, `오류가 발생했습니다`, `불편을 드려 죄송합니다`. English bans: `amazing deals`, `must-have`, `luxury lifestyle`, `limited time only!!!`. Emoji are allowed in community / styling posts, never in CTAs, sale flags, error messages, or chrome.
|
|
377
|
+
|
|
378
|
+
**Voice samples.**
|
|
379
|
+
|
|
380
|
+
- `Seoul-fully created` — global positioning line. <!-- cited: us.wconcept.com/brands.html, 2026-05 -->
|
|
381
|
+
- `Designer fashion` — global surface tagline pattern. <!-- cited: us.wconcept.com/brands.html, 2026-05 -->
|
|
382
|
+
- `주목해야 할 브랜드들` — home-feed editorial section header. <!-- cited: live display.wconcept.co.kr, 2026-05 -->
|
|
383
|
+
- `구매하기` / `장바구니` — primary CTA pair on product detail page. <!-- illustrative: standard W Concept CTA pattern -->
|
|
384
|
+
- `단독 발매` — exclusive-drop flag. <!-- illustrative: standard W Concept promo pattern -->
|
|
385
|
+
|
|
386
|
+
## 11. Brand Narrative
|
|
387
|
+
|
|
388
|
+
W Concept (W컨셉) launched in 2008 as an online platform built around a single editorial idea: surface emerging Korean designers to a fashion-literate audience that legacy department stores ignored. Where the big Korean malls (Lotte, Shinsegae) gatekept shelf space for established labels, W Concept's premise was curatorial -- a *concept* store online, hence the name. It grew into one of Korea's leading designer-fashion e-commerce platforms, described as a home for thousands of Korean designers and brands, predominantly aimed at fashion-conscious shoppers in their 20s and 30s ([Krendly — W Concept overview](https://krendly.com/w-concept/), [us.wconcept.com/brands.html](https://us.wconcept.com/brands.html)).
|
|
389
|
+
|
|
390
|
+
The platform was acquired by **SSG.COM (Shinsegae)** in 2021, anchoring it inside one of Korea's largest retail groups while keeping its independent-designer identity intact, and has since pushed a global expansion (a US site and a "W Concept Global — K-Fashion" app) to export Korean designer fashion abroad ([Korean Buddies — W Concept platform](https://www.koreanbuddies.com/shopping-guides/w-concept), [App Store — W Concept Global](https://apps.apple.com/us/app/w-concept-global-k-fashion/id6458788225)). The app relaunch refreshed the brand identity, updating the wordmark and splash-page treatment while holding to the monochrome editorial system.
|
|
391
|
+
|
|
392
|
+
What W Concept refuses: the rainbow-banner urgency of nationwide marketplaces (Coupang, Gmarket, 11st), the lifestyle-blog warmth of Western boutique e-com, and the algorithmic-feed social-commerce UX. The catalog stays the homepage; the designer photograph leads; black wordmark on white canvas; sharp corners; one hot orange-red used only when something is actually on sale. The monochrome is not minimalism for its own sake -- it is the visual expression of a curator's confidence: a selection worth showing doesn't need decoration to sell it.
|
|
393
|
+
|
|
394
|
+
## 12. Principles
|
|
395
|
+
|
|
396
|
+
1. **Black is the brand, not the accent.** `#000000` is the primary CTA fill, the wordmark, the chrome -- not a hover state. Concept-store premium earns trust through absolute contrast, not softened grays. *UI implication:* never substitute `#222` for a primary CTA fill; reserve grays for body text only.
|
|
397
|
+
2. **One accent, scarcely used.** Orange-red `#ff4600` exists almost exclusively on discount percentages and time-limited drops. It is never decoration, never a brand color, never on navigation. *UI implication:* if a designer adds the accent to anything that is not a sale or an error, reject — there is no second brand color.
|
|
398
|
+
3. **Photograph first, chrome second.** Every product card's job is to deliver the designer's image. Borders, shadows, and radii are subtractive — anything that competes with the photograph loses. *UI implication:* default product cards have no border, no shadow, no radius.
|
|
399
|
+
4. **Zero radius is the concept.** Sharp corners read as gallery / editorial; rounded reads as casual mass-market. *UI implication:* if a card or button grows an 8px radius, it has drifted toward fast-fashion and should be flattened to 0px.
|
|
400
|
+
5. **Emphasis through weight, never a second hue.** Pretendard 400 / 600 / 700 build the entire hierarchy. *UI implication:* if a layout reaches for a colored label to create rank, restate with weight=700 instead.
|
|
401
|
+
6. **Premium breathes wider.** Section gaps run 56-80px on the home feed — more generous than a fast-fashion grid. *UI implication:* never compress editorial sections to fit more above the fold; the spacing is the premium signal.
|
|
402
|
+
7. **Letter-spacing is the editorial whisper.** All Korean type carries `-0.2px` to `-0.4px`. Invisible individually, unmistakable in aggregate. *UI implication:* every Korean type token specifies negative tracking; positive tracking reads as foreign / corporate.
|
|
403
|
+
|
|
404
|
+
## 13. Personas
|
|
405
|
+
|
|
406
|
+
*Personas are fictional archetypes informed by W Concept's publicly described user base (Korean Gen Z / millennial fashion-conscious shoppers in their 20s–30s), not individual people.*
|
|
407
|
+
|
|
408
|
+
**유진 (Yujin), 27, Seoul.** Works in advertising in 성수동. Opens W Concept to discover small Korean designer labels before they blow up — treats the home feed like a fashion magazine, scrolls for the "주목해야 할 브랜드들" section first. Will pay full price for a 단독 drop; waits for a sale on basics. Cares about the lookbook photography as much as the garment.
|
|
409
|
+
|
|
410
|
+
**도현 (Dohyun), 31, Seoul.** Product designer, lives in 한남동. Buys minimal-wardrobe pieces — neutral knitwear, well-cut trousers. Finds the monochrome interface calming next to the rainbow chaos of mass marketplaces. Reads the brand story before adding to cart; values that W Concept curates rather than dumps inventory.
|
|
411
|
+
|
|
412
|
+
**소연 (Soyeon), 24, Busan.** University student. Discovered W Concept through Instagram designer features. Browses on mobile, mostly for inspiration, buys 2-3 times a season when a sale percentage in orange-red catches her eye. Trusts that the discount is real because the rest of the site never shouts.
|
|
413
|
+
|
|
414
|
+
**Hana, 29, Los Angeles.** Korean-American, shops the W Concept Global app for K-fashion brands unavailable in the US. Expects the same severe monochrome editorial layout in English — a global site that looked like a generic Western boutique would read as a knockoff to her.
|
|
415
|
+
|
|
416
|
+
## 14. States
|
|
417
|
+
|
|
418
|
+
| State | Treatment |
|
|
419
|
+
|---|---|
|
|
420
|
+
| **Empty (no liked items)** | Single editorial line (`아직 좋아한 상품이 없어요`) in 14px/400 `#555555`, 12px gap, secondary CTA `상품 둘러보기` in outline-black-button style. No illustration, no mascot. |
|
|
421
|
+
| **Empty (search no results)** | One line `'{검색어}'에 대한 결과가 없어요` in 14px/400 `#555555`, then 8px gap, recommended-brands grid below. Never a full-screen empty illustration. |
|
|
422
|
+
| **Empty (filter cleared)** | `조건에 맞는 상품이 없어요` in 14px/400 `#999999`. No CTA — user resets filters. |
|
|
423
|
+
| **Loading (catalog grid)** | Skeleton blocks at `#f6f6f6` matching the card layout: 3:4 image rectangle, two short text lines, one price line. Shimmer 1.2s, 6% white highlight. No spinner overlay. |
|
|
424
|
+
| **Loading (infinite scroll)** | 2-4 skeleton cards appended at the grid bottom. Existing cards stay fully rendered. No spinner. |
|
|
425
|
+
| **Loading (cart action)** | Inline button text swaps to a 24px `#ffffff` spinner on the existing `#000000` button — geometry stays identical for frame-stability. |
|
|
426
|
+
| **Error (inline form)** | Input border becomes `#ff4600` 1px, helper text 13px/400 `#ff4600` 6px below. One actionable sentence (`주소를 다시 확인해 주세요`). |
|
|
427
|
+
| **Error (toast)** | `#000000` background, white 14px/500 text, 0px radius, 3s auto-dismiss. Bottom of screen, 16px above bottom tab bar. One sentence. No icon. |
|
|
428
|
+
| **Error (network / blocking)** | Full-screen centered: 16px/700 `#000000` headline, 14px/400 `#777777` subline, retry button in primary-black style. No illustration. |
|
|
429
|
+
| **Success (added to cart)** | Bottom-edge slide-up snackbar: `#000000` bg, white 14px/500 text `장바구니에 담겼어요`, white-outline `장바구니 보기` text-button on the right. 3s auto-dismiss. |
|
|
430
|
+
| **Success (purchase complete)** | Dedicated confirmation screen, not a toast. 24px/700 `#000000` `주문이 완료되었어요`, order summary block (white bg, hairline `#eeeeee` border), primary-black `주문 내역 보기` CTA. No celebratory animation. |
|
|
431
|
+
| **Skeleton** | `#f6f6f6` blocks at exact card dimensions. Shimmer 1.2s. Brand name and price slots stay blank until resolved — never inferred placeholders. |
|
|
432
|
+
| **Disabled** | Button bg drops to `#bababa`, text stays `#ffffff`. No outline change, no opacity tricks. |
|
|
433
|
+
|
|
434
|
+
## 15. Motion & Easing
|
|
435
|
+
|
|
436
|
+
**Durations** (named, not raw milliseconds):
|
|
437
|
+
|
|
438
|
+
| Token | Value | Use |
|
|
439
|
+
|---|---|---|
|
|
440
|
+
| `motion-instant` | 0ms | Toggle flips, checkbox states |
|
|
441
|
+
| `motion-fast` | 150ms | Button press dim, hover transitions, inline focus |
|
|
442
|
+
| `motion-standard` | 220ms | Default — card taps, tab switches, dropdown reveals |
|
|
443
|
+
| `motion-slow` | 320ms | Sheet presentations, success-screen entries |
|
|
444
|
+
| `motion-page` | 280ms | Native push/pop between routes |
|
|
445
|
+
|
|
446
|
+
**Easings:**
|
|
447
|
+
|
|
448
|
+
| Token | Curve | Use |
|
|
449
|
+
|---|---|---|
|
|
450
|
+
| `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Sheets, snackbars, route entries |
|
|
451
|
+
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals, snackbar auto-close |
|
|
452
|
+
| `ease-standard` | `cubic-bezier(0.4, 0.0, 0.2, 1)` | Two-way transitions — expandable cards, tab content |
|
|
453
|
+
|
|
454
|
+
**Spring stance.** Spring and overshoot easings are forbidden on W Concept product surfaces. The brand is concept-store editorial; bouncy motion reads as toy-like or as a social-shopping app, neither of which W Concept wants to be. The catalog grid should feel like a magazine page turning — controlled, predictable, never elastic. The single licensed exception is the native pull-to-refresh, which inherits the OS default spring because overriding it feels worse than accepting it.
|
|
455
|
+
|
|
456
|
+
**Signature motions.**
|
|
457
|
+
|
|
458
|
+
1. **Product card tap.** Image dims to 92% opacity on press (`motion-fast / ease-standard`), releases on tap-up before navigation. The card does not scale — scale on a gallery grid breaks the editorial metaphor.
|
|
459
|
+
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.
|
|
460
|
+
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.
|
|
461
|
+
4. **Tab switch (home → category → wishlist).** Cross-fade only, `motion-standard` — sliding would imply an axial relationship between modes that doesn't exist.
|
|
462
|
+
5. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`. Cross-fades replace slides. The catalog stays fully usable; just less kinetic.
|
|
463
|
+
|
|
464
|
+
<!--
|
|
465
|
+
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
466
|
+
|
|
467
|
+
Tier 1 — Direct verification (MCP playwright, 2026-05-27):
|
|
468
|
+
- https://display.wconcept.co.kr/rn/women (live women's display surface;
|
|
469
|
+
redirected from www.wconcept.co.kr). Confirmed: body font-family
|
|
470
|
+
"Pretendard Variable", Pretendard, ... sans-serif; body color
|
|
471
|
+
rgb(0,0,0); base size 16px; dominant chrome color #000000 (~7,058
|
|
472
|
+
occurrences); single saturated accent rgb(255,70,0) = #ff4600
|
|
473
|
+
(~886 occurrences) on sale/promo; surface fill #f6f6f6; hairline
|
|
474
|
+
#eeeeee; editorial tiles 0px radius. Note: www.wconcept.co.kr returns
|
|
475
|
+
403 to WebFetch but loads via browser, redirecting to the RN display
|
|
476
|
+
host.
|
|
477
|
+
|
|
478
|
+
Tier 2 — Press / secondary (WebSearch, 2026-05):
|
|
479
|
+
- https://krendly.com/w-concept/ — 2008 founding, Korean-designer
|
|
480
|
+
curation platform, 20s–30s target, premium positioning.
|
|
481
|
+
- https://us.wconcept.com/brands.html — global "Seoul-fully created /
|
|
482
|
+
Designer fashion" positioning lines.
|
|
483
|
+
- https://www.koreanbuddies.com/shopping-guides/w-concept — multinational
|
|
484
|
+
platform, SSG.COM (Shinsegae) acquisition (2021) context.
|
|
485
|
+
- https://apps.apple.com/us/app/w-concept-global-k-fashion/id6458788225
|
|
486
|
+
— W Concept Global app, refreshed brand identity / new wordmark.
|
|
487
|
+
|
|
488
|
+
Personas (§13) are fictional archetypes informed by W Concept's publicly
|
|
489
|
+
described user base (Korean Gen Z / millennial designer-fashion shoppers).
|
|
490
|
+
Any resemblance to specific individuals is unintended.
|
|
491
|
+
|
|
492
|
+
Interpretive claims (editorial, not documented W Concept statements):
|
|
493
|
+
- "The monochrome is not minimalism for its own sake … a curator's
|
|
494
|
+
confidence" (§11 closing) — editorial reading of the design.
|
|
495
|
+
- The spring-forbidden stance (§15) — derived from the overall editorial
|
|
496
|
+
brand posture, not a documented W Concept motion rule.
|
|
497
|
+
- The 7 numbered principles (§12) — synthesized from observed surface
|
|
498
|
+
behavior + the platform's curatorial positioning; not a published list.
|
|
499
|
+
- Token-level component geometry (button padding, badge radius) is
|
|
500
|
+
reconciled from the live monochrome surface treatment + Pretendard
|
|
501
|
+
base; re-verify component internals in a stable session before
|
|
502
|
+
treating as authoritative DS specs.
|
|
503
|
+
-->
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
**Verified:** 2026-05-27 (omd:add-reference initial create — Tier 1 live inspect / Tier 2 press confirmed)
|
|
508
|
+
**Tier 1 sources:** display.wconcept.co.kr/rn/women (live playwright inspect — Pretendard Variable, body `#000` on `#fff`, base 16px, dominant `#000000`, single accent `#ff4600`, surface `#f6f6f6`, hairline `#eeeeee`, 0px radius).
|
|
509
|
+
**Tier 2 sources:** getdesign.md/wconcept — not checked. styles.refero.design — not checked. Krendly + us.wconcept.com + Korean Buddies + App Store (2008 founding, designer-curation positioning, SSG.COM acquisition, global app).
|
|
510
|
+
**Style ref:** `musinsa` (KR monochrome commerce neighbor format retained for tone scaffolding).
|
|
511
|
+
**Conflicts unresolved:** none. Assumed primary `#000000` confirmed by live inspect. Live accent verified as `#ff4600` (orange-red), documented as the single sale hue. Component-internal geometry reconciled from surface treatment; re-run Tier 2 (getdesign/refero) to lock token values.
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: webflow
|
|
3
|
+
name: Webflow
|
|
4
|
+
country: US
|
|
5
|
+
category: design-tools
|
|
6
|
+
homepage: "https://webflow.com"
|
|
7
|
+
primary_color: "#146ef5"
|
|
8
|
+
logo:
|
|
9
|
+
type: simpleicons
|
|
10
|
+
slug: webflow
|
|
11
|
+
verified: "2026-05-15"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
1
15
|
# Design System Inspiration of Webflow
|
|
2
16
|
|
|
3
17
|
## 1. Visual Theme & Atmosphere
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: wise
|
|
3
|
+
name: Wise
|
|
4
|
+
country: UK
|
|
5
|
+
category: fintech
|
|
6
|
+
homepage: "https://wise.com"
|
|
7
|
+
primary_color: "#9fe870"
|
|
8
|
+
logo:
|
|
9
|
+
type: simpleicons
|
|
10
|
+
slug: wise
|
|
11
|
+
verified: "2026-05-15"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
ds:
|
|
14
|
+
name: Wise Design
|
|
15
|
+
url: "https://wise.design"
|
|
16
|
+
type: system
|
|
17
|
+
description: Wise's design system covering foundations, components, patterns, and tone of voice.
|
|
18
|
+
---
|
|
19
|
+
|
|
1
20
|
# Design System Inspiration of Wise
|
|
2
21
|
|
|
3
22
|
## 1. Visual Theme & Atmosphere
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: x.ai
|
|
3
|
+
name: xAI
|
|
4
|
+
country: US
|
|
5
|
+
category: ai
|
|
6
|
+
homepage: "https://x.ai"
|
|
7
|
+
primary_color: "#000000"
|
|
8
|
+
logo:
|
|
9
|
+
type: simpleicons
|
|
10
|
+
slug: x
|
|
11
|
+
verified: "2026-05-15"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
1
15
|
# Design System Inspiration of xAI
|
|
2
16
|
|
|
3
17
|
## 1. Visual Theme & Atmosphere
|