oh-my-design-cli 1.3.9 → 1.5.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 (138) hide show
  1. package/README.ja.md +8 -8
  2. package/README.ko.md +7 -7
  3. package/README.md +50 -16
  4. package/README.zh-TW.md +8 -8
  5. package/agents/omd-asset-curator.md +2 -7
  6. package/agents/omd-codex-image.md +49 -0
  7. package/agents/omd-designer-review.md +38 -0
  8. package/agents/omd-final-qa.md +40 -0
  9. package/agents/omd-kr-writer.md +35 -0
  10. package/agents/omd-locale-adapter.md +32 -0
  11. package/agents/omd-master.md +3 -13
  12. package/agents/omd-orchestrator.md +34 -0
  13. package/data/reference-audits/2026-05-14-kr10.md +72 -0
  14. package/data/reference-audits/2026-05-15-kr10.md +124 -0
  15. package/data/reference-fingerprints.json +253 -3
  16. package/data/research/2026-05-18-agent-landscape.md +69 -0
  17. package/data/research/2026-05-18-kr-style-presets.md +572 -0
  18. package/dist/bin/oh-my-design.js +6 -3
  19. package/dist/bin/oh-my-design.js.map +1 -1
  20. package/dist/{install-skills-MVXVXYAY.js → install-skills-IETT2TBJ.js} +91 -8
  21. package/dist/install-skills-IETT2TBJ.js.map +1 -0
  22. package/package.json +9 -3
  23. package/skills/omd-apply/SKILL.md +0 -1
  24. package/skills/omd-codex-image/SKILL.md +162 -0
  25. package/skills/omd-designer-review/SKILL.md +146 -0
  26. package/skills/omd-final-qa/SKILL.md +153 -0
  27. package/skills/omd-kr-writer/SKILL.md +229 -0
  28. package/skills/omd-locale-adapter/SKILL.md +124 -0
  29. package/skills/omd-orchestrator/SKILL.md +124 -0
  30. package/web/references/29cm/DESIGN.md +11 -2
  31. package/web/references/ably/DESIGN.md +12 -2
  32. package/web/references/airbnb/DESIGN.md +17 -2
  33. package/web/references/airtable/DESIGN.md +20 -0
  34. package/web/references/apple/DESIGN.md +17 -2
  35. package/web/references/baemin/DESIGN.md +11 -2
  36. package/web/references/banksalad/DESIGN.md +17 -2
  37. package/web/references/bmw/DESIGN.md +14 -0
  38. package/web/references/bunjang/DESIGN.md +308 -0
  39. package/web/references/cal/DESIGN.md +14 -0
  40. package/web/references/catchtable/DESIGN.md +262 -0
  41. package/web/references/channeltalk/DESIGN.md +374 -0
  42. package/web/references/classum/DESIGN.md +217 -0
  43. package/web/references/claude/DESIGN.md +11 -2
  44. package/web/references/clay/DESIGN.md +19 -0
  45. package/web/references/clickhouse/DESIGN.md +19 -0
  46. package/web/references/cohere/DESIGN.md +20 -0
  47. package/web/references/coinbase/DESIGN.md +14 -0
  48. package/web/references/composio/DESIGN.md +14 -0
  49. package/web/references/coupang/DESIGN.md +17 -2
  50. package/web/references/cursor/DESIGN.md +20 -0
  51. package/web/references/dabang/DESIGN.md +210 -0
  52. package/web/references/dcard/DESIGN.md +11 -2
  53. package/web/references/elevenlabs/DESIGN.md +20 -0
  54. package/web/references/expo/DESIGN.md +20 -0
  55. package/web/references/fastcampus/DESIGN.md +460 -0
  56. package/web/references/ferrari/DESIGN.md +14 -0
  57. package/web/references/figma/DESIGN.md +17 -2
  58. package/web/references/flex/DESIGN.md +309 -0
  59. package/web/references/framer/DESIGN.md +20 -0
  60. package/web/references/freee/DESIGN.md +16 -2
  61. package/web/references/gangnamunni/DESIGN.md +18 -2
  62. package/web/references/gmarket/DESIGN.md +464 -0
  63. package/web/references/hashicorp/DESIGN.md +19 -0
  64. package/web/references/ibm/DESIGN.md +20 -0
  65. package/web/references/inflearn/DESIGN.md +396 -0
  66. package/web/references/intercom/DESIGN.md +14 -0
  67. package/web/references/jumpit/DESIGN.md +366 -0
  68. package/web/references/kakao/DESIGN.md +14 -0
  69. package/web/references/kakaobank/DESIGN.md +17 -2
  70. package/web/references/kakaopay/DESIGN.md +17 -2
  71. package/web/references/karrot/DESIGN.md +16 -2
  72. package/web/references/kbank/DESIGN.md +195 -0
  73. package/web/references/kraken/DESIGN.md +14 -0
  74. package/web/references/krds/DESIGN.md +17 -2
  75. package/web/references/kream/DESIGN.md +382 -0
  76. package/web/references/kurly/DESIGN.md +11 -2
  77. package/web/references/lamborghini/DESIGN.md +14 -0
  78. package/web/references/line/DESIGN.md +17 -2
  79. package/web/references/linear.app/DESIGN.md +17 -2
  80. package/web/references/lovable/DESIGN.md +14 -0
  81. package/web/references/lunit/DESIGN.md +249 -0
  82. package/web/references/mercari/DESIGN.md +11 -2
  83. package/web/references/minimax/DESIGN.md +14 -0
  84. package/web/references/mintlify/DESIGN.md +14 -0
  85. package/web/references/miro/DESIGN.md +20 -0
  86. package/web/references/mistral.ai/DESIGN.md +20 -0
  87. package/web/references/mongodb/DESIGN.md +19 -0
  88. package/web/references/musinsa/DESIGN.md +11 -2
  89. package/web/references/naver/DESIGN.md +17 -2
  90. package/web/references/notion/DESIGN.md +11 -2
  91. package/web/references/nvidia/DESIGN.md +11 -2
  92. package/web/references/ohouse/DESIGN.md +11 -2
  93. package/web/references/oliveyoung/DESIGN.md +342 -0
  94. package/web/references/ollama/DESIGN.md +14 -0
  95. package/web/references/opencode.ai/DESIGN.md +20 -0
  96. package/web/references/pinkoi/DESIGN.md +11 -2
  97. package/web/references/pinterest/DESIGN.md +19 -0
  98. package/web/references/posthog/DESIGN.md +20 -0
  99. package/web/references/qanda/DESIGN.md +11 -2
  100. package/web/references/raycast/DESIGN.md +19 -0
  101. package/web/references/remember/DESIGN.md +17 -2
  102. package/web/references/renault/DESIGN.md +14 -0
  103. package/web/references/replicate/DESIGN.md +14 -0
  104. package/web/references/resend/DESIGN.md +20 -0
  105. package/web/references/revolut/DESIGN.md +14 -0
  106. package/web/references/ridi/DESIGN.md +11 -2
  107. package/web/references/runwayml/DESIGN.md +14 -0
  108. package/web/references/sanity/DESIGN.md +20 -0
  109. package/web/references/sentry/DESIGN.md +14 -0
  110. package/web/references/socar/DESIGN.md +17 -2
  111. package/web/references/spacex/DESIGN.md +11 -2
  112. package/web/references/spotify/DESIGN.md +14 -0
  113. package/web/references/stripe/DESIGN.md +11 -2
  114. package/web/references/supabase/DESIGN.md +20 -0
  115. package/web/references/superhuman/DESIGN.md +20 -0
  116. package/web/references/tesla/DESIGN.md +11 -2
  117. package/web/references/together.ai/DESIGN.md +20 -0
  118. package/web/references/toss/DESIGN.md +16 -2
  119. package/web/references/toss-securities/DESIGN.md +193 -0
  120. package/web/references/tving/DESIGN.md +259 -0
  121. package/web/references/uber/DESIGN.md +19 -0
  122. package/web/references/upbit/DESIGN.md +276 -0
  123. package/web/references/upstage/DESIGN.md +214 -0
  124. package/web/references/vercel/DESIGN.md +17 -2
  125. package/web/references/voltagent/DESIGN.md +14 -0
  126. package/web/references/wadiz/DESIGN.md +344 -0
  127. package/web/references/wanted/DESIGN.md +16 -2
  128. package/web/references/warp/DESIGN.md +14 -0
  129. package/web/references/webflow/DESIGN.md +14 -0
  130. package/web/references/wise/DESIGN.md +19 -0
  131. package/web/references/x.ai/DESIGN.md +14 -0
  132. package/web/references/yanolja/DESIGN.md +17 -2
  133. package/web/references/yeogiotte/DESIGN.md +18 -2
  134. package/web/references/zapier/DESIGN.md +20 -0
  135. package/web/references/zigbang/DESIGN.md +12 -2
  136. package/web/references/zigzag/DESIGN.md +17 -2
  137. package/agents/omd-3d-blender.md +0 -269
  138. package/dist/install-skills-MVXVXYAY.js.map +0 -1
@@ -1,3 +1,17 @@
1
+ ---
2
+ id: kraken
3
+ name: Kraken
4
+ country: US
5
+ category: fintech
6
+ homepage: "https://www.kraken.com"
7
+ primary_color: "#5741d9"
8
+ logo:
9
+ type: github
10
+ slug: krakenfx
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ---
14
+
1
15
  # Design System Inspiration of Kraken
2
16
 
3
17
  ## 1. Visual Theme & Atmosphere
@@ -1,6 +1,21 @@
1
1
  ---
2
- omd: 0.1
3
- brand: KRDS
2
+ id: krds
3
+ name: KRDS
4
+ country: KR
5
+ category: government
6
+ homepage: "https://www.krds.go.kr/html/site/index.html"
7
+ primary_color: "#000000"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.krds.go.kr/resources/img/guide/favicon_192.png"
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ds:
14
+ name: KRDS — Korea Republic Design System
15
+ url: "https://www.krds.go.kr/html/site/index.html"
16
+ type: system
17
+ description: "행정안전부 주관 범정부 통합 디자인 시스템. Government Blue #256EF4, Pretendard GOV, WCAG/KWCAG 2.2 a11y-first tokens and components."
18
+ og_image: "https://www.krds.go.kr/resources/img/guide/KRDS_Open_Graph.png"
4
19
  ---
5
20
 
6
21
  # Design System Inspiration of KRDS (대한민국 정부 디자인 시스템)
@@ -0,0 +1,382 @@
1
+ ---
2
+ id: kream
3
+ name: KREAM
4
+ country: KR
5
+ category: ecommerce
6
+ homepage: "https://kream.co.kr"
7
+ primary_color: "#000000"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=kream.co.kr&sz=256"
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ---
14
+
15
+ # Design System Inspiration of KREAM
16
+
17
+ ## 1. Visual Theme & Atmosphere
18
+
19
+ KREAM is Korea's limited-edition resale marketplace — a Naver-backed exchange where sneaker drops, luxury rotation, and hype-watch trading happen on a chrome that is, deliberately, almost without color. The home surface reads like a luxury catalog rendered in software: a stack of 1188×475 banner cards on `#f5f5f5`, each with a 16px corner radius, no shadows, no gradients, no chrome decoration. The page lets the product photography and the offer copy do all the persuasion; the system itself stays mute. Where Musinsa is street-utility and 29CM is editorial, KREAM is the trading floor — quiet, fast-scrolling, and ranked.
20
+
21
+ The defining typographic move is **Pretendard Variable** running the whole stack — body at 16px/400 on `#222`, display H1 at 32px/700, the homepage search query input itself at 24px/700 as if the user's keyword is the headline. Chrome controls drop down to 13px (chips, ghost buttons), and outside that single jump from 32px → 24px → 16px → 13px there is no other scale. The hierarchy is intentionally flat: hero banner → tabs (상품/스타일/프로필) → filter chips (배송·카테고리·성별·색상·브랜드·사이즈·가격대) → product grid.
22
+
23
+ Color is reduced to a grayscale ramp formalized as ~50 CSS custom properties (`--greyscale-dark-*` and `--greyscale-white-alpha-*`, observed at runtime on `:root`): a few inks (`#000`, `#222`, `#404040`, `#4e4e4e`, `#616161`, `#787878`, `#909090`, `#a7a7a7`, `#bbb`, `#d3d3d3`, `#e6e6e6`, `#ebebeb`, `#f0f0f0`, `#f4f4f4`, `#fafafa`), their alpha-overlay siblings on white and on black, and white. There is **no brand red, no brand blue, no accent yellow** in the chrome. A single teal — `rgb(17, 161, 151)` — surfaces twice on the home page, used as a price-watch / promo accent. The Swiper carousel library leaves `#007aff` as a CSS theme variable but it is not used in product chrome. The brand color is the grayscale system itself, indexed against pure white.
24
+
25
+ Radius is a four-step scale and each step has a job: 16px = banner card (hero / merchandising tile), 30px = pill chip (filter toggle), 8px = pill input or ghost button (auth & fallback chrome), 6px = list-row card and category quickrow button. State chrome inherits the base radius and changes only ink and fill — never radius — so the system reads as one shape language at every density.
26
+
27
+ **Key Characteristics:**
28
+ - Pretendard Variable across all surfaces — one font, four weights observed (300 / 400 / 700, with system-ui fallback chain)
29
+ - Pure `#ffffff` page background, `#222` as primary ink (not `#000` — `#000` is reserved for display heads and the H1 token)
30
+ - Four-step radius scale: 16px banner / 30px chip / 8px ghost button / 6px row card — never blended
31
+ - ~50 CSS custom properties exposed at `:root` under `--greyscale-dark-*` and `--greyscale-white-alpha-*` — a formal grayscale token system
32
+ - Single observed accent: `rgb(17, 161, 151)` teal, used sparingly for price-watch signaling
33
+ - 30px-tall filter chips on `#f4f4f4` — the workhorse navigation primitive
34
+ - Search query rendered at 24px/700 in the input itself — the user's keyword becomes the page headline
35
+ - No shadows. No gradients. No decorative iconography in the chrome
36
+ - Card height is variable on home (475px banner) and fixed on listings (238px product card) — the system encodes "merchandising" vs "trading" as distinct card heights
37
+ - Tab strip uses 700 weight for active, 400 for inactive — color stays `#222` either way (weight, not hue, signals selection)
38
+
39
+ ## 2. Color Palette & Roles
40
+
41
+ ### Primary
42
+ - **Ink** `#222222` — body text, card titles, default control color (observed 4,763 times on home — by far the dominant chroma)
43
+ - **Ink Strong / Display** `#000000` — H1 display only, never on body
44
+ - **Page Background** `#ffffff` — global canvas
45
+
46
+ ### Surface neutrals
47
+ - **Banner card** `#f5f5f5` — hero / merchandising tile (`rgb(245, 245, 245)`)
48
+ - **Fill light grey** `#f4f4f4` — filter chip default, "chip-fill" CSS var token `--greyscale-dark-4`
49
+ - **Surface extra light** `#fafafa` — sub-card / quickrow row (`--greyscale-dark-2`)
50
+ - **Border extra light** `#f0f0f0` — divider (`--greyscale-dark-6`)
51
+ - **Border light** `#ebebeb` — card outline (`--greyscale-dark-8`)
52
+ - **Border medium** `#d3d3d3` — input border, separator (`--greyscale-dark-20`)
53
+
54
+ ### Greyscale ramp (CSS var names — captured live from `:root`)
55
+ | Token name | Hex |
56
+ | --- | --- |
57
+ | `--Greyscale-Dark-100` | `#000` |
58
+ | `--greyscale-dark-90-dark` | `#222` |
59
+ | `--Greyscale-Dark-75` | `#404040` |
60
+ | `--greyscale-dark-80-grey-dark` | `#333` |
61
+ | `--greyscale-dark-70-dark-80` | `#4e4e4e` |
62
+ | `--Greyscale-Dark-60` | `#616161` |
63
+ | `--Greyscale-Dark-50` | `#787878` |
64
+ | `--greyscale-dark-40-dark-50` | `#909090` |
65
+ | `--greyscale-dark-35-dark-40` | `#a7a7a7` |
66
+ | `--greyscale-dark-30-dark-30-grey-medium` | `#bbb` |
67
+ | `--greyscale-dark-20-border-medium-grey` | `#d3d3d3` |
68
+ | `--Greyscale-Dark-10` | `#e6e6e6` |
69
+ | `--greyscale-dark-8-border-light-grey` | `#ebebeb` |
70
+ | `--greyscale-dark-6-border-extra-light-grey` | `#f0f0f0` |
71
+ | `--greyscale-dark-4-dark-5-fill-light-grey-grey-light-brand-ect` | `#f4f4f4` |
72
+ | `--greyscale-dark-2-grey-extra-light` | `#fafafa` |
73
+ | `--greyscale-dark-0-white` | `#fff` |
74
+
75
+ Alpha siblings on black (`--greyscale-dark-alpha-*`) at 6/8/10/20/30/35/40/50/60/70/75/80/90 and on white (`--greyscale-white-alpha-*`) at 2/4/6/8/10/20/30/35/40/50/60/70/75/80/90 are also exposed — used for overlays and disabled states.
76
+
77
+ ### Accent (rare)
78
+ - **Watch teal** `rgb(17, 161, 151)` — observed twice on home, used for price-movement / watchlist signal
79
+ - **Swiper system** `#007aff` — exposed as `--swiper-theme-color` but not used in product chrome (carousel library default; informational only)
80
+
81
+ ### Muted ink overlays (observed)
82
+ - `rgba(0, 0, 0, 0.533)` — caption ink (#1)
83
+ - `rgba(0, 0, 0, 0.44)` — secondary caption
84
+ - `rgba(0, 0, 0, 0.345)` — disabled-leaning ink
85
+ - `rgba(34, 34, 34, 0.5)` — subtitle ink on grayscale fill
86
+ - `rgba(255, 255, 255, 0.804)` — overlay-on-image label
87
+
88
+ ## 3. Typography
89
+
90
+ ### Family
91
+ **Pretendard Variable** (primary) with system fallback stack:
92
+ ```
93
+ "Pretendard Variable", Pretendard, -apple-system, system-ui,
94
+ Roboto, "Helvetica Neue", "Segoe UI",
95
+ "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic",
96
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif
97
+ ```
98
+
99
+ ### Scale (observed live)
100
+ | Role | Size | Weight | Color | Use |
101
+ | --- | --- | --- | --- | --- |
102
+ | Display / H1 | 32px | 700 | `#000` | Page title |
103
+ | Search query (input) | 24px | 700 | `#222` | The keyword the user typed |
104
+ | Tab label (active) | 16px | 700 | `#222` | 상품 / 스타일 / 프로필 |
105
+ | Tab label (default) | 16px | 400 | `#222` | Inactive tab |
106
+ | Body | 16px | 400 | `#222` | Default copy |
107
+ | Card title | 16px | 700 | `#222` | Banner card heading |
108
+ | Shortcut row | 16px | 400 | `#222` | Popular keyword shortcut on `#fafafa` |
109
+ | Chip | 13px | 400 | `#222` | Filter chip on `#f4f4f4` |
110
+ | Ghost button | 13px | 300 | `#000` | 404 fallback "홈으로 가기" |
111
+
112
+ ### Hierarchy rule
113
+ KREAM uses **weight, not size**, to signal active state across tabs and toggle controls. Body and active-tab share 16px; only weight changes (400 → 700). This is the same pattern Apple uses on iOS tab bars and is consistent across KREAM's search, exhibition, and home tab strips.
114
+
115
+ ## 4. Components
116
+
117
+ ### Filter chip
118
+
119
+ **Default**
120
+ - Background: `#f4f4f4`
121
+ - Text: `#222`
122
+ - Border: none
123
+ - Radius: `30px`
124
+ - Padding: ~`0 12px` (text-only chip, 30px height)
125
+ - Font: `13px / 400 / Pretendard Variable`
126
+ - Height: `30px`
127
+ - Use: search filter row (배송 / 카테고리 / 성별 / 색상 / 브랜드 / 사이즈 / 가격대) — quantitative counter (e.g. "배송0") shown trailing
128
+
129
+ **Active (selected count > 0)**
130
+ - Same chrome; counter number renders inline (`사이즈3`)
131
+ - No background change observed (relies on count text to signal)
132
+
133
+ ### Category pill (quick-row)
134
+
135
+ **Default**
136
+ - Background: `#ffffff`
137
+ - Text: `#222`
138
+ - Border: `1px solid` (observed light grey, ~`#ebebeb`)
139
+ - Radius: `6px`
140
+ - Height: `30px`
141
+ - Font: `13px / 400`
142
+ - Use: secondary category strip below filter chips (스니커즈 / 반소매 티셔츠 / 샌들·슬리퍼 / 바람막이 / 트레이닝 자켓 …)
143
+
144
+ ### Popular keyword shortcut
145
+
146
+ **Default**
147
+ - Background: `#fafafa`
148
+ - Text: `#222`
149
+ - Border: none
150
+ - Radius: `6px`
151
+ - Height: `48px`
152
+ - Font: `16px / 400`
153
+ - Use: "관련 인기 검색어" list anchors (air force / adidas / jordan / nike air max / nike dunk / puma)
154
+
155
+ ### Hero / merchandising banner card
156
+
157
+ **Default**
158
+ - Background: `#f5f5f5`
159
+ - Text: `#222` (overlay caption)
160
+ - Border: none
161
+ - Radius: `16px`
162
+ - Padding: `0` (image-led, copy positioned absolutely)
163
+ - Width × Height: `1188 × 475` (desktop)
164
+ - Use: home carousel tiles, exhibition / drop merchandising
165
+
166
+ ### Search input (homepage hero)
167
+
168
+ **Default**
169
+ - Background: `transparent`
170
+ - Text: `#222`
171
+ - Border: none (parent container has 1px bottom border, observed)
172
+ - Radius: `0`
173
+ - Font: `24px / 700` — the typed keyword is rendered as if it were the page headline
174
+ - Placeholder: "브랜드, 상품, 프로필, 태그 등"
175
+ - Use: global search at the top of `/search`
176
+
177
+ ### Ghost button (fallback / secondary)
178
+
179
+ **Default**
180
+ - Background: `transparent`
181
+ - Text: `#000`
182
+ - Border: `1px solid rgba(0, 0, 0, 0.6)`
183
+ - Radius: `8px`
184
+ - Padding: text-padded, no fixed inset observed
185
+ - Font: `13px / 300`
186
+ - Height: `36px`
187
+ - Use: "홈으로 가기" on 404 and other recovery surfaces — lightweight, non-promoted action
188
+
189
+ ### Tab strip
190
+
191
+ **Active tab**
192
+ - Background: `transparent`
193
+ - Text: `#222`
194
+ - Border: bottom `2px solid #222` (observed pattern on `상품 / 스타일 / 프로필`)
195
+ - Radius: `0`
196
+ - Font: `16px / 700`
197
+ - Height: `44px`
198
+
199
+ **Default tab**
200
+ - Background: `transparent`
201
+ - Text: `#222`
202
+ - Border: bottom `2px solid transparent`
203
+ - Font: `16px / 400`
204
+
205
+ Weight, not color, signals selection.
206
+
207
+ ### Global header
208
+
209
+ **Default**
210
+ - Background: `#ffffff`
211
+ - Height: `130px` (CSS var `--global-header-height`)
212
+ - Primary nav: `HOME / STYLE / SHOP` rendered as 16px text links in `#222`
213
+ - Search affordance: a separate `/search` route (no inline search input in the page header on the home view)
214
+
215
+ ---
216
+ **Verified:** 2026-05-14
217
+ **Tier 1 sources:**
218
+ - `https://kream.co.kr/` — live CDP `Runtime.evaluate` + `getComputedStyle` at 2026-05-14T10:55:53Z; 40 raw component samples, 50+ `--greyscale-*` CSS custom properties extracted from `:root`
219
+ - `https://kream.co.kr/search?keyword=nike` — live CDP capture; 43 raw component samples covering filter chips, category pills, shortcut rows, search input, tab strip
220
+ - `https://kream.co.kr/shop` (404 fallback) — captured ghost-button chrome
221
+ - See `references/kream/assets/_reference/tokens.json`, `structure.json`, `fonts.json`, `.live-inspect-proof.json`
222
+
223
+ **Tier 2 sources:**
224
+ - `getdesign.md/kream` — **no record** (verified 2026-05-14)
225
+ - `styles.refero.design/?q=kream` — **no record** (verified 2026-05-14)
226
+
227
+ **Conflicts unresolved:** none — Tier 1 live inspection is sole source; Tier 2 directories have no KREAM coverage (consistent with the KR-10 batch finding that 3rd-party EN-tooling indexes systematically miss Korean brands).
228
+
229
+ ## 5. Spacing & Layout
230
+
231
+ - **Global header**: 130px (CSS var)
232
+ - **Home grid**: full-width banner stack centered on a content column ~1188px wide
233
+ - **Banner card**: 1188×475 with 16px radius — single column on desktop
234
+ - **Filter chip row**: 30px-tall chips, spaced in a horizontal row, single-line on desktop
235
+ - **Category pill row**: 30px-tall pills, horizontal-scroll-overflow capable
236
+ - **Product card**: 238px height (observed in search), grid layout
237
+ - **Shortcut row**: 48px row height, stacked vertically as a `/fafafa` list
238
+
239
+ The system reserves **height** as the signal of card-class importance: 475 = merchandising hero, 238 = product trade card, 48 = navigational shortcut, 30 = filter primitive.
240
+
241
+ ## 6. Iconography & Imagery
242
+
243
+ - **Icon style**: minimal monoline icons in `#222` (search, profile, wishlist, cart) — not observed at depth in this pass
244
+ - **Imagery**: full-bleed product photography on `#f5f5f5` banner card background — product cut-out, neutral lighting, no editorial overlay
245
+ - **Brand mark**: wordmark "KREAM" in display weight (assets in production CDN — not captured here)
246
+
247
+ ## 7. Motion
248
+
249
+ - **Swiper carousel** library loaded on home — default `swiperjs` ease curves
250
+ - **Tab swap**: instant (no observed cross-fade in raw sample)
251
+ - **No long parallax, no scroll-driven hero animation** observed in viewport (1280×713)
252
+
253
+ ## 8. Tone & Voice (brand-observed, not verbatim)
254
+
255
+ KREAM's chrome speaks like a trading terminal that wishes it were a luxury concierge: **specific, ranked, time-boxed**. Copy in banner cards leads with a fact (price-move %, drop window, coupon size), then frames the offer as a window the reader is currently inside ("5월 브랜드 위크 ~33% 할인", "오늘 구매 내일 도착"). Headlines are short and definite — they don't ask, they announce. Numbers are protagonists: percent-off, days remaining, point caps, brand-week names.
256
+
257
+ The brand uses **Korean colloquial + English brand names without quote marks**. "Top 100 Trending Items 지금 그의 위시리스트!" lives next to "주차별 드롭 리스트 이번 주, 지난 주, 그 전 주까지". Code-switching is treated as native to the audience (sneakerheads who already think bilingually about brand names).
258
+
259
+ What KREAM **does not** do: it does not soften with emoji, does not editorialize the product, does not narrate a backstory, does not apologize for prices. The voice is the marketplace's posture — "we list, you decide, the clock is ticking."
260
+
261
+ (Voice characterization above is OmD-original framing — no verbatim KREAM marketing copy is reproduced.)
262
+
263
+ ## 9. Implementation Notes
264
+
265
+ - **Font loading**: Pretendard Variable served self-hosted (observed in computed style) with full Korean + Latin range — fallback chain prioritizes Apple SD Gothic Neo on iOS and Noto Sans KR on Android.
266
+ - **Token system**: ~50 CSS custom properties on `:root`, namespaced `--greyscale-dark-*` (solid greys) and `--greyscale-dark-alpha-*` / `--greyscale-white-alpha-*` (alpha overlays). The naming convention encodes both numeric scale (`-0` / `-2` / `-4` / `-6` / `-8` / `-10` / `-20` / `-30` / `-40` …) and semantic role (`-fill-light-grey-grey-light-brand-ect`, `-border-extra-light-grey`) — the system was clearly designed for both designer and developer consumption.
267
+ - **No design system docs site published** at `design.kream.co.kr`, `kream.design`, or `kream.co.kr/design`. KREAM has no public DS hub (consistent with its parent Naver's mixed-public pattern; Naver Connect/Snow have docs, KREAM does not).
268
+ - **Bundle**: Swiper.js carousel library detected (`--swiper-theme-color: #007aff`).
269
+ - **Brand assets (logo, photography) are reference-only.** Do not redistribute. Use this DESIGN.md to inform token / radius / weight choices in derivative work; source brand-comparable photography independently.
270
+
271
+ ## 10. Voice & Tone
272
+
273
+ Three voice adjectives (OmD-original characterization, drawn from observed surface behavior):
274
+
275
+ - **Specific.** KREAM names the number — discount percent, days, point cap — before it names the product. The chrome refuses vague offers.
276
+ - **Ranked.** "Top 100", "이번 주 급상승", "주차별 드롭 리스트". Every list is ordered, time-stamped, or relativized to a window. Nothing floats untimed.
277
+ - **Bilingual-native.** Korean colloquial sits unforced next to English brand names. The audience is assumed to think in both registers; the chrome does not translate.
278
+
279
+ ### Do / Don't
280
+
281
+ | Do | Don't |
282
+ | --- | --- |
283
+ | Lead with the number (`~50% 쿠폰`, `~33% 할인`, `3% 적립`) | Lead with an adjective (`특별한 할인`) |
284
+ | Time-box the offer (`이번 주`, `5월 브랜드 위크`, `오늘 구매 내일 도착`) | Leave the window open-ended |
285
+ | Treat English brand names as native vocabulary, no quote marks | Italicize or quote `"Nike"` |
286
+ | Rank the list (`Top 100`, `주차별`, `급상승`) | Float ungrouped items |
287
+ | Use sentence-case Korean with English brand caps where natural | Force ALL-CAPS Korean or fully title-cased English |
288
+
289
+ ### Voice samples (OmD-original, not verbatim KREAM copy)
290
+
291
+ > "이번 주 ~57% 드롭, 3일 남았어요." — *category landing headline; leads with number, time-boxes the offer*
292
+
293
+ > "Air Max 95 — 시세 +12.3% 이번 주" — *price-watch tile; English brand name unquoted, % movement signed*
294
+
295
+ > "Drop List · 5월 2주차 — 12 brands" — *list header; ranked window + count*
296
+
297
+ ## 11. Brand Narrative
298
+
299
+ KREAM ("**K**orea **REA**ction to **M**arket") launched in 2020 as a Naver Financial / Snow Corp. subsidiary and has grown into Korea's dominant limited-edition resale platform — sneakers first, then luxury watches, bags, streetwear, collectibles, and trading cards. It sits in the same market layer as StockX (US) and POIZON (CN) and was, by 2023, the largest such platform in Korea by GMV. (Publicly reported figures and corporate filings; see references-cited below.)
300
+
301
+ The brand thesis is operational, not emotional: KREAM positions itself as **the authentication-and-clearing infrastructure for hype goods**. Every transaction passes through KREAM's appraisal center; the platform's chrome reflects that infrastructure posture — fast, ranked, time-stamped, intentionally undecorated. Where competitor StockX leans on a stock-ticker metaphor, KREAM leans on a Naver-style portal density: a lot of merchandising tiles, a lot of categories, a lot of windows-into-windows. The design language is the platform's promise: *we move volume cleanly and we authenticate everything before it ships.*
302
+
303
+ Strategically, KREAM matters because it is one of the cleanest examples of a Korean platform that competes by **operational trust** rather than brand emotion. The chrome's refusal of color, of shadow, of editorial flourish is the trust signal made visual.
304
+
305
+ (No founder/executive quote available in public English-language sources at the level of fidelity OmD requires for §11 attribution; this section is illustrative based on publicly-reported corporate facts.)
306
+
307
+ ## 12. Principles
308
+
309
+ 1. **Number-first headlines.**
310
+ *UI implication:* Banner card titles lead with a quantity (percent, days, points, brand-week name). Reserve the largest weight for the number, not the noun.
311
+
312
+ 2. **Time-boxing is the persuasion.**
313
+ *UI implication:* Every promotional surface declares a window. Build a reusable "window tag" pattern (`이번 주`, `~5/19`, `7일 한정`) — it's the recurring chrome element across home banners.
314
+
315
+ 3. **Weight signals state; hue stays grayscale.**
316
+ *UI implication:* Active tab = `700`, default = `400`, both on `#222`. Selected chip = counter trailing the label, no fill change. Don't introduce a "selected color" — the system is designed to never need one.
317
+
318
+ 4. **Radius encodes card class.**
319
+ *UI implication:* 16px = merchandising, 6px = trading row, 30px = filter primitive, 8px = recovery / fallback. Never blend; never use a radius unmapped to a class.
320
+
321
+ 5. **Photography carries color.**
322
+ *UI implication:* Chrome stays grayscale; product photography against `#f5f5f5` provides all chromatic information. Don't introduce branded accent fills — they will fight the product image.
323
+
324
+ ## 13. Personas
325
+
326
+ *(Illustrative archetypes — sketched from observable site behavior, public KREAM marketing categories, and reported user demographics. Not from KREAM-published research.)*
327
+
328
+ - **The Sneakerhead (M, 22-30, 서울/수도권).** Checks drop calendar weekly, follows 5-12 brand pages, transacts 1-3x/month. Wants the time-box clearly stated and the price-move sign visible. Uses KREAM as a watch list more than a store.
329
+ - **The Hype Reseller (M/F, 24-35).** Treats KREAM as inventory data. Wants ranked lists (Top 100, 급상승 브랜드), price movement %, and historical price charts. Optimizes for speed of search and breadth of filter chips.
330
+ - **The Luxury Verifier (F/M, 28-45).** Buys 2-4x/year, primarily watches and bags. Wants the authentication promise visible at every checkpoint. Trusts the grayscale chrome because it does not feel like a discount store.
331
+ - **The Gift Searcher (F/M, 25-40).** Comes through marketing campaigns (5월 브랜드 위크, 뷰티템 추천). Wants the offer window explicit and the recovery paths (홈으로 가기, recently-viewed) lightweight.
332
+
333
+ ## 14. States
334
+
335
+ | State | Treatment |
336
+ | --- | --- |
337
+ | **Empty (no results)** | `#222` ink message centered; ghost button `8px` radius `13px/300` for recovery action |
338
+ | **Loading (initial)** | No skeleton observed in this pass — assume `#fafafa` block placeholders matching final card height (475 / 238 / 48) |
339
+ | **Loading (subsequent / scroll)** | Swiper carousel handles inline; product grid likely paginates via intersection observer |
340
+ | **Error (404)** | Ghost button "홈으로 가기" — `36px` height, `8px` radius, `1px solid rgba(0,0,0,0.6)`, `13px/300` — the apology is small and the action is plain |
341
+ | **Error (network / auth)** | Not captured in this pass — likely the same ghost button pattern with route-specific copy |
342
+ | **Success (transaction)** | Not captured (auth-gated) — typical pattern would be a centered tile with the ranked number ("거래 체결가 ₩483,000") and a window tag |
343
+ | **Skeleton** | `#fafafa` fill on the card-class-shaped rectangle, no shimmer observed |
344
+ | **Disabled** | Inferred from alpha tokens — text on `--greyscale-dark-alpha-30` (`#00000045`), control fill keeps `#f4f4f4`, no opacity change on the chip itself |
345
+
346
+ States lean on the grayscale ramp, not on color. There is no "error red" or "success green" in the home chrome — those signals come from copy and counters, not fills.
347
+
348
+ ## 15. Motion & Easing
349
+
350
+ **Duration scale (inferred from Swiper defaults + observed carousel behavior)**
351
+ - `fast`: 150-200ms — chip selection counter update
352
+ - `base`: 300ms — Swiper slide (default)
353
+ - `slow`: 500-600ms — banner card cross-fade on auto-rotate
354
+
355
+ **Easing**
356
+ - `ease-out` for entering elements (banner card swap)
357
+ - `ease-in-out` for Swiper slide (library default)
358
+ - No spring physics observed
359
+
360
+ **Motion rules**
361
+ - **Carousel auto-rotates** but pauses on hover (Swiper default behavior).
362
+ - **Tab switch is instant** — no slide-in for content beneath; only the bottom border on the active label changes.
363
+ - **No reveal-on-scroll animation** on the home page in the captured viewport.
364
+ - **Counter changes (chip badge)** update without animation — the count just appears.
365
+ - **No motion is used to soften error states.** The 404 ghost button appears without entrance animation; the chrome treats errors as factual, not embarrassed.
366
+
367
+ The brand's motion logic mirrors its voice: minimal, factual, time-boxed. Movement happens because the carousel needs to rotate, not because the chrome wants to perform.
368
+
369
+ ---
370
+
371
+ **References cited (Tier 1 + supporting):**
372
+ - KREAM home — `https://kream.co.kr/` (live CDP capture, 2026-05-14)
373
+ - KREAM search — `https://kream.co.kr/search?keyword=nike` (live CDP capture, 2026-05-14)
374
+ - KREAM 404 — `https://kream.co.kr/shop` (ghost-button chrome)
375
+ - `references/kream/assets/_reference/tokens.json` — distilled token map
376
+ - `references/kream/assets/_reference/structure.json` — surface IA observation
377
+ - `references/kream/assets/_reference/fonts.json` — type stack & scale
378
+ - `references/kream/assets/_reference/.live-inspect-proof.json` — 13 raw_samples + method log
379
+
380
+ **Tier 2 (verified empty 2026-05-14):**
381
+ - `getdesign.md/kream` — no record
382
+ - `styles.refero.design/?q=kream` — no match
@@ -1,6 +1,15 @@
1
1
  ---
2
- omd: 0.1
3
- brand: Kurly
2
+ id: kurly
3
+ name: Kurly
4
+ country: KR
5
+ category: ecommerce
6
+ homepage: "https://www.kurly.com"
7
+ primary_color: "#000000"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://res.kurly.com/icons/favicon-128x128.png"
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
4
13
  ---
5
14
 
6
15
  # Design System Inspiration of Kurly (컬리 / 마켓컬리)
@@ -1,3 +1,17 @@
1
+ ---
2
+ id: lamborghini
3
+ name: Lamborghini
4
+ country: IT
5
+ category: automotive
6
+ homepage: "https://www.lamborghini.com"
7
+ primary_color: "#f4c01a"
8
+ logo:
9
+ type: simpleicons
10
+ slug: lamborghini
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ---
14
+
1
15
  # Design System Inspiration of Lamborghini
2
16
 
3
17
  ## 1. Visual Theme & Atmosphere
@@ -1,6 +1,21 @@
1
1
  ---
2
- omd: 0.1
3
- brand: LINE
2
+ id: line
3
+ name: LINE
4
+ country: JP
5
+ category: consumer-tech
6
+ homepage: "https://line.me"
7
+ primary_color: "#06c755"
8
+ logo:
9
+ type: simpleicons
10
+ slug: line
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ds:
14
+ name: LINE Design System
15
+ url: "https://designsystem.line.me"
16
+ type: system
17
+ description: LINE's shared design system for products across the LINE family.
18
+ og_image: "https://designsystem.line.me/static/36a4ead41b7b972b1130287e849a14b1/73f08/SEO_IMG_1741574443.png"
4
19
  ---
5
20
 
6
21
  # Design System Inspiration of LINE
@@ -1,6 +1,21 @@
1
1
  ---
2
- omd: 0.1
3
- brand: Linear
2
+ id: linear.app
3
+ name: Linear
4
+ country: US
5
+ category: productivity
6
+ homepage: "https://linear.app"
7
+ primary_color: "#5e6ad2"
8
+ logo:
9
+ type: simpleicons
10
+ slug: linear
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ds:
14
+ name: Linear Brand
15
+ url: "https://linear.app/brand"
16
+ type: brand
17
+ description: Linear's brand guidelines with wordmark, logomark, and color specifications.
18
+ og_image: "https://linear.app/api/og/generic?title=Brand&v=3"
4
19
  ---
5
20
 
6
21
  # Design System Inspiration of Linear
@@ -1,3 +1,17 @@
1
+ ---
2
+ id: lovable
3
+ name: Lovable
4
+ country: US
5
+ category: developer-tools
6
+ homepage: "https://lovable.dev"
7
+ primary_color: "#ff6f61"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://lovable.dev/favicon-192x192.png"
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ---
14
+
1
15
  # Design System Inspiration of Lovable
2
16
 
3
17
  ## 1. Visual Theme & Atmosphere