oh-my-design-cli 1.8.2 → 1.8.6

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 (53) hide show
  1. package/README.ja.md +5 -5
  2. package/README.ko.md +7 -7
  3. package/README.md +7 -7
  4. package/README.zh-TW.md +5 -5
  5. package/agents/omd-master.md +1 -1
  6. package/data/reference-fingerprints.json +964 -4
  7. package/package.json +3 -1
  8. package/skills/omd-feel/SKILL.md +152 -0
  9. package/skills/omd-feel/provenance.md +233 -0
  10. package/skills/omd-feel/reference.md +254 -0
  11. package/skills/omd-harness/SKILL.md +1 -1
  12. package/skills/omd-init/SKILL.md +1 -1
  13. package/skills/omd-reference-capture/SKILL.md +1 -1
  14. package/web/references/591/DESIGN.md +460 -0
  15. package/web/references/asana/DESIGN.md +485 -0
  16. package/web/references/asos/DESIGN.md +475 -0
  17. package/web/references/bahamut/DESIGN.md +416 -0
  18. package/web/references/bbc/DESIGN.md +439 -0
  19. package/web/references/chunghwa/DESIGN.md +419 -0
  20. package/web/references/databricks/DESIGN.md +467 -0
  21. package/web/references/deliveroo/DESIGN.md +458 -0
  22. package/web/references/doordash/DESIGN.md +429 -0
  23. package/web/references/easywallet/DESIGN.md +449 -0
  24. package/web/references/esunbank/DESIGN.md +445 -0
  25. package/web/references/farfetch/DESIGN.md +436 -0
  26. package/web/references/fubon/DESIGN.md +438 -0
  27. package/web/references/govuk/DESIGN.md +450 -0
  28. package/web/references/hana/DESIGN.md +439 -0
  29. package/web/references/hubspot/DESIGN.md +485 -0
  30. package/web/references/hyundai/DESIGN.md +468 -0
  31. package/web/references/icook/DESIGN.md +432 -0
  32. package/web/references/instacart/DESIGN.md +439 -0
  33. package/web/references/ipassmoney/DESIGN.md +407 -0
  34. package/web/references/kakaopage/DESIGN.md +439 -0
  35. package/web/references/kbpay/DESIGN.md +442 -0
  36. package/web/references/kia/DESIGN.md +411 -0
  37. package/web/references/liner/DESIGN.md +465 -0
  38. package/web/references/monzo/DESIGN.md +461 -0
  39. package/web/references/naverpay/DESIGN.md +478 -0
  40. package/web/references/octopusenergy/DESIGN.md +436 -0
  41. package/web/references/openpoint/DESIGN.md +431 -0
  42. package/web/references/paypal/DESIGN.md +459 -0
  43. package/web/references/reddit/DESIGN.md +537 -0
  44. package/web/references/samsung/DESIGN.md +465 -0
  45. package/web/references/shinhanbank/DESIGN.md +429 -0
  46. package/web/references/skyscanner/DESIGN.md +563 -0
  47. package/web/references/snapchat/DESIGN.md +460 -0
  48. package/web/references/squarespace/DESIGN.md +454 -0
  49. package/web/references/ssg/DESIGN.md +439 -0
  50. package/web/references/starling/DESIGN.md +404 -0
  51. package/web/references/taiwanmobile/DESIGN.md +445 -0
  52. package/web/references/trainline/DESIGN.md +454 -0
  53. package/web/references/zoom/DESIGN.md +457 -0
@@ -0,0 +1,475 @@
1
+ ---
2
+ id: asos
3
+ name: ASOS
4
+ country: UK
5
+ category: ecommerce
6
+ homepage: "https://www.asos.com"
7
+ primary_color: "#2d2d2d"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=asos.com&sz=128"
11
+ verified: "2026-06-22"
12
+ omd: "0.1"
13
+ tokens:
14
+ source: live-extract
15
+ extracted: "2026-06-22"
16
+ note: "primary = nav/surface dark charcoal (#2d2d2d); add-to-bag = ASOS green (#018849); accent lime = app-promo banner (#ccff00); sale red (#d01345). Font = futura-pt, all-caps wordmark."
17
+ colors:
18
+ primary: "#2d2d2d"
19
+ nav-active: "#525050"
20
+ canvas: "#ffffff"
21
+ surface: "#f8f8f8"
22
+ surface-alt: "#f7f7f7"
23
+ hairline: "#dddddd"
24
+ muted: "#666666"
25
+ muted-alt: "#858585"
26
+ on-primary: "#ffffff"
27
+ on-dark: "#ffffff"
28
+ cta-green: "#018849"
29
+ cta-green-on: "#ffffff"
30
+ lime: "#ccff00"
31
+ lime-on: "#000000"
32
+ sale-red: "#d01345"
33
+ info-blue: "#27455c"
34
+ neutral-light: "#e8e8e8"
35
+ typography:
36
+ family: { primary: "futura-pt", fallback: "Tahoma, Geneva, Verdana, Arial, sans-serif" }
37
+ hero-cta: { size: 16, weight: 700, lineHeight: 1.25, use: "Hero CTA buttons (SHOP WOMENS / SHOP MENS)" }
38
+ nav-primary: { size: 14, weight: 900, lineHeight: 1.0, use: "Primary nav tabs (WOMEN / MEN) — ultra-bold uppercase" }
39
+ nav-secondary: { size: 14, weight: 400, lineHeight: 1.0, use: "Utility nav (Help & FAQs, country selector)" }
40
+ sub-nav: { size: 14, weight: 400, lineHeight: 1.0, use: "Category sub-nav (Sale, New in, Clothing…)" }
41
+ app-banner: { size: 14, weight: 600, lineHeight: 1.0, use: "App download promo banner CTA" }
42
+ body: { size: 16, weight: 400, lineHeight: 1.0, use: "Body default" }
43
+ price: { size: 16, weight: 700, lineHeight: 1.0, use: "Product price" }
44
+ sale-price: { size: 16, weight: 700, lineHeight: 1.0, use: "Sale/was price in sale red" }
45
+ spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
46
+ rounded: { sm: 0, md: 0, lg: 19, full: 9999 }
47
+ shadow:
48
+ none: "none"
49
+ components:
50
+ button-add-to-bag: { type: button, bg: "#018849", fg: "#ffffff", radius: "0px", padding: "4px 0px", height: "44px", font: "16px / 700 futura-pt", use: "Add to bag — primary commerce CTA, full-width on PDP" }
51
+ button-hero-cta: { type: button, bg: "#ffffff", fg: "#000000", radius: "0px", padding: "9px 14px", height: "44px", font: "16px / 700 futura-pt", border: "2px solid #ffffff", use: "Hero editorial CTA on dark image (SHOP WOMENS)" }
52
+ button-hero-cta-dark: { type: button, bg: "#ffffff", fg: "#000000", radius: "0px", padding: "9px 14px", height: "44px", font: "16px / 700 futura-pt", border: "2px solid #000000", use: "Hero CTA on light image variant (bordered)" }
53
+ search-input: { type: input, bg: "#ffffff", fg: "#2d2d2d", radius: "19px", padding: "0px 70px 0px 16px", height: "38px", font: "16px / 400 futura-pt", use: "Global search bar in nav, pill-shaped" }
54
+ product-card: { type: card, bg: "#ffffff", fg: "#000000", radius: "0px", use: "Product grid card — zero radius, no shadow; image + name + price stacked" }
55
+ sale-badge: { type: badge, bg: "#d01345", fg: "#ffffff", radius: "0px", font: "12px / 700 futura-pt", use: "Sale price label / reduced tag on PLP cards" }
56
+ lime-promo-banner: { type: card, bg: "#ccff00", fg: "#000000", radius: "0px", padding: "0px 16px", height: "30px", font: "14px / 600 futura-pt", use: "App download promo sitewide banner at page top" }
57
+ nav-tab: { type: tab, bg: "#2d2d2d", fg: "#ffffff", radius: "0px", font: "14px / 900 futura-pt", active: "text #ffffff + active indicator (bg shift to #525050)", use: "Primary nav tabs WOMEN / MEN" }
58
+ components_harvested: true
59
+ ---
60
+
61
+ # Design System Inspiration of ASOS
62
+
63
+ ## 1. Visual Theme & Atmosphere
64
+
65
+ ASOS is one of the world's largest online fashion retailers, and its visual identity is built on a deliberate philosophy of stark editorial restraint. The canvas is pure white (`#ffffff`) — no colour tinting, no gradients — against which product photography does all the heavy lifting. The UI chrome is kept in a signature dark charcoal (`#2d2d2d`) that reads as almost-black without being harsh, functioning as the navigation backbone of the entire experience. It's fashion retail distilled: get out of the way and let the product speak.
66
+
67
+ What makes ASOS instantly recognisable is its commitment to zero-radius geometry. Buttons, cards, inputs — everything is razor-sharp at 0px corner radius, echoing the bold uppercase wordmark. The sole exception is the search bar (19px pill radius), which creates a deliberate softness for the search affordance. This geometry reflects the fashion editorial aesthetic: the grid is dense, precise, and unapologetic.
68
+
69
+ The only moments of colour in the system are purposeful: an electric lime (`#ccff00`) for the app download promo banner, a confident ASOS green (`#018849`) for the "Add to bag" CTA, and a sale red (`#d01345`) for discounted prices. These three colours never compete — lime is sitewide utility, green is the commerce action, red is the price signal. Everything else is black and white.
70
+
71
+ **Key Characteristics:**
72
+ - `futura-pt` as the single brand typeface — geometric, condensed, all-caps for nav items
73
+ - Zero-radius geometry across all interactive elements (0px) — only search input uses pill (19px)
74
+ - Near-black charcoal (`#2d2d2d`) as the primary nav/surface colour — not pure black
75
+ - White canvas (`#ffffff`) with shadow-free flat layout — separation by hairlines (`#dddddd`)
76
+ - Three brand accent colours: lime (`#ccff00`) / green (`#018849`) / sale-red (`#d01345`)
77
+ - Ultra-bold weight 900 for primary nav labels (WOMEN / MEN) — extreme contrast for dense fashion grid
78
+ - Product photography centred; UI chrome is deliberately minimal and undistracting
79
+
80
+ ## 2. Color Palette & Roles
81
+
82
+ ### Primary Surface
83
+ - **Charcoal** (`#2d2d2d`): Primary navigation background, the defining surface colour of the ASOS chrome. Not pure black — a softened near-black that reads as sophisticated restraint.
84
+ - **Canvas White** (`#ffffff`): Page background, product cards, form inputs. All commerce content lives on white.
85
+ - **Pure Black** (`#000000`): Body text, headings, product names — maximum contrast on white.
86
+
87
+ ### Navigation & Interactive
88
+ - **Nav Active** (`#525050`): Slightly lighter charcoal for active/hover nav items (Women tab when viewing Women).
89
+ - **Muted** (`#666666`): Utility nav text (Help & FAQs, footer links) — secondary level.
90
+ - **Muted Alt** (`#858585`): Tertiary text, meta information.
91
+
92
+ ### Commerce Actions
93
+ - **ASOS Green** (`#018849`): The "Add to bag" button — the single primary commerce CTA. A deep confident green that signals a positive, completing action.
94
+ - **Sale Red** (`#d01345`): Reduced prices, sale tags, discount labels. A vivid crimson that demands attention on dense product grids.
95
+ - **Lime / Acid Yellow** (`#ccff00`): App download promo banner. A high-visibility editorial accent that cuts through the black-and-white system with maximum energy.
96
+
97
+ ### Neutral Scale
98
+ - **Surface** (`#f8f8f8`): Very light grey for alternate surface backgrounds.
99
+ - **Surface Alt** (`#f7f7f7`): Secondary tint for sections.
100
+ - **Neutral Light** (`#e8e8e8`): Light grey for size selector chips (selected/available states).
101
+ - **Hairline** (`#dddddd`): Dividers and borders between elements.
102
+ - **Info Blue** (`#27455c`): Informational text and link states in some editorial surfaces.
103
+
104
+ ## 3. Typography Rules
105
+
106
+ ### Font Family
107
+ - **Primary**: `futura-pt` (Futura PT), with fallback: `Tahoma, Geneva, Verdana, Arial, sans-serif`
108
+ - **Alternate**: `Futura-pt, "Futura Std"` — used for sub-nav and secondary elements
109
+ - All display and navigation text is uppercase; body and product description text is mixed case
110
+
111
+ ### Hierarchy
112
+
113
+ | Role | Font | Size | Weight | Notes |
114
+ |------|------|------|--------|-------|
115
+ | Primary Nav (WOMEN/MEN) | futura-pt | 14px | 900 | Uppercase, white on charcoal |
116
+ | Hero CTA | futura-pt | 16px | 700 | Uppercase, editorial |
117
+ | App Banner | futura-pt | 14px | 600 | Uppercase, lime background |
118
+ | Sub-nav tabs | futura-pt | 14px | 400 | Utility tabs (Sale, New in…) |
119
+ | Utility nav | futura-pt | 14px | 400 | Help, Country selector |
120
+ | Body | futura-pt | 16px | 400 | Default body |
121
+ | Price | futura-pt | 16px | 700 | Bold for price prominence |
122
+ | Sale price | futura-pt | 16px | 700 | Sale red colour |
123
+ | Category sub-nav | futura-pt | 10.5px | 700 | Scroll-position gender toggle |
124
+
125
+ ### Principles
126
+ - **Futura everywhere**: a single geometric sans-serif creates absolute system consistency across all touchpoints
127
+ - **Weight signals hierarchy**: 900 for primary nav commands, 700 for actions and prices, 600 for promo, 400 for body and utility
128
+ - **Uppercase for identity**: navigation and CTA text is rendered in uppercase, reinforcing the editorial fashion aesthetic
129
+ - **Zero kerning manipulation**: tracking is standard — Futura's own geometry provides the visual rhythm
130
+ - **Compact line heights**: body line-height is 1.0 (16px on 16px) — the grid is dense, not airy
131
+
132
+ ## 4. Component Stylings
133
+
134
+ ### Buttons
135
+
136
+ **Add to Bag (Primary Commerce CTA)**
137
+ - Background: `#018849`
138
+ - Text: `#ffffff`
139
+ - Radius: 0px
140
+ - Padding: 4px 0px
141
+ - Height: 44px
142
+ - Font: 16px futura-pt weight 700
143
+ - Use: Primary add-to-bag action on product detail page, full-width
144
+
145
+ **Hero Editorial CTA (on dark image)**
146
+ - Background: `#ffffff`
147
+ - Text: `#000000`
148
+ - Radius: 0px
149
+ - Padding: 9px 14px
150
+ - Height: 44px
151
+ - Font: 16px futura-pt weight 700
152
+ - Border: 2px solid `#ffffff`
153
+ - Use: SHOP WOMENS / SHOP MENS on hero editorial image
154
+
155
+ **Hero Editorial CTA (bordered, on light image)**
156
+ - Background: `#ffffff`
157
+ - Text: `#000000`
158
+ - Radius: 0px
159
+ - Padding: 9px 14px
160
+ - Height: 44px
161
+ - Font: 16px futura-pt weight 700
162
+ - Border: 2px solid `#000000`
163
+ - Use: SHOP WOMEN'S BRANDS / secondary hero CTA on lighter backgrounds
164
+
165
+ **Retry / Utility Action**
166
+ - Background: `#2d2d2d`
167
+ - Text: `#ffffff`
168
+ - Radius: 0px
169
+ - Padding: 15px
170
+ - Height: 48px
171
+ - Font: 14px futura-pt weight 900
172
+ - Use: Utility/error state action buttons
173
+
174
+ ### Inputs
175
+
176
+ **Search Bar**
177
+ - Background: `#ffffff`
178
+ - Text: `#2d2d2d`
179
+ - Radius: 19px
180
+ - Padding: 0px 70px 0px 16px
181
+ - Height: 38px
182
+ - Font: 16px futura-pt weight 400
183
+ - Use: Global search input in header — the only rounded element in the system
184
+
185
+ **Size Selector**
186
+ - Background: `#e8e8e8`
187
+ - Text: `#000000`
188
+ - Radius: 0px
189
+ - Height: 56px
190
+ - Font: 16px futura-pt weight 400
191
+ - Use: Size selection chips on PDP
192
+
193
+ ### Cards
194
+
195
+ **Product Grid Card**
196
+ - Background: `#ffffff`
197
+ - Text: `#000000`
198
+ - Radius: 0px
199
+ - Use: PLP product card — no border, no shadow, sharp edges; image fills full card width
200
+
201
+ **Surface Section**
202
+ - Background: `#f8f8f8`
203
+ - Text: `#000000`
204
+ - Radius: 0px
205
+ - Use: Alternating content sections and page regions
206
+
207
+ ### Badges
208
+
209
+ **Sale Badge**
210
+ - Background: `#d01345`
211
+ - Text: `#ffffff`
212
+ - Radius: 0px
213
+ - Font: 12px futura-pt weight 700
214
+ - Use: Reduced price / sale tag on product cards in PLP
215
+
216
+ **Lime Promo Banner**
217
+ - Background: `#ccff00`
218
+ - Text: `#000000`
219
+ - Radius: 0px
220
+ - Padding: 0px 16px
221
+ - Height: 30px
222
+ - Font: 14px futura-pt weight 600
223
+ - Use: Sitewide app download promo — high-visibility editorial lime banner
224
+
225
+ ### Tabs
226
+
227
+ **Primary Gender Nav Tab**
228
+ - Background: `#2d2d2d`
229
+ - Text: `#ffffff`
230
+ - Radius: 0px
231
+ - Height: 60px
232
+ - Font: 14px futura-pt weight 900
233
+ - Active: background shifts to `#525050` on active/hover gender tab
234
+ - Use: WOMEN / MEN primary navigation tabs
235
+
236
+ **Category Sub-Nav Tab**
237
+ - Background: `#525050`
238
+ - Text: `#ffffff`
239
+ - Radius: 0px
240
+ - Height: 50px
241
+ - Padding: 0px 10px
242
+ - Font: 14px futura-pt weight 400
243
+ - Use: Category tabs (Sale, New in, Clothing, Dresses, Shoes, Accessories, Brands…)
244
+
245
+ ---
246
+
247
+ **Verified:** 2026-06-22
248
+ **Tier 1 sources:** https://www.asos.com/ (homepage, live computed style via playwright); https://www.asos.com/noisy-may/noisy-may-cropped-tank-top-in-washed-grey/prd/205778249 (PDP — Add to bag, size selector, nav observed)
249
+ **Tier 2 sources:** getdesign.md/asos — 404 (no entry); styles.refero.design/?q=asos — no ASOS results found (fashion adjacent brands returned, but not ASOS)
250
+ **Conflicts unresolved:** none
251
+
252
+ ## 5. Layout Principles
253
+
254
+ ### Spacing System
255
+ - Base unit: 8px
256
+ - Scale: 4px, 8px, 16px, 24px, 32px, 48px, 64px
257
+ - Notable: The system is dense — 0px padding between product cards in the grid. Spacing appears on section breaks and inner card padding.
258
+
259
+ ### Grid & Container
260
+ - PLP: multi-column product grid (4+ columns desktop), fluid with image-first cards
261
+ - PDP: left-aligned images (sticky scroll), right-aligned product details, size/colour selectors below title
262
+ - Full-width charcoal navigation bar (60px height) with logo centered/left and utility nav right
263
+ - Sitewide lime banner at page top (30px height) above the main nav
264
+ - Sub-navigation: secondary 50px bar for category filtering
265
+
266
+ ### Whitespace Philosophy
267
+ - **Product density over airiness**: ASOS maximises product grid density. The browsing surface is commerce-first; whitespace is between products, not as a design statement.
268
+ - **Flat depth**: no shadows anywhere on the live site — border separation and background tints do all the hierarchy work.
269
+ - **Zero radius discipline**: sharp 0px corners on every interactive element except the search pill, reinforcing the editorial brand.
270
+
271
+ ### Border Radius Scale
272
+ - Zero (0px): all buttons, cards, badges, tabs, size chips — the system default
273
+ - Pill (19px): search input only — the single exception
274
+ - Full (9999px): not present in the live UI
275
+
276
+ ## 6. Depth & Elevation
277
+
278
+ | Level | Treatment | Use |
279
+ |-------|-----------|-----|
280
+ | Flat (Level 0) | No shadow | All surfaces — the system default |
281
+ | Hairline (Level 1) | `1px solid #dddddd` | Dividers, category separators |
282
+ | Tint (Level 2) | `#f8f8f8` / `#f7f7f7` background shift | Section alternation |
283
+
284
+ **Shadow Philosophy**: ASOS runs a completely shadowless system. Every surface is flat. Depth is communicated solely through stark colour contrast: charcoal (`#2d2d2d`) nav against white canvas, lime banner as an absolute visual layer, green add-to-bag as the one coloured action. The flatness is not an oversight — it keeps the focus on product photography, which supplies all the three-dimensional interest the page needs.
285
+
286
+ ## 7. Do's and Don'ts
287
+
288
+ ### Do
289
+ - Use `futura-pt` uppercase for all nav labels and CTAs — it's the brand's typographic identity
290
+ - Use weight 900 for primary nav items (WOMEN/MEN) — the extreme weight is intentional
291
+ - Use sharp 0px radius on all buttons, cards, and badges — zero rounding is the brand's geometry
292
+ - Use `#2d2d2d` charcoal (not pure black) for the nav and primary chrome
293
+ - Reserve `#018849` ASOS green exclusively for the add-to-bag action
294
+ - Use `#ccff00` lime only for promotional banners — it's a maximum-energy editorial statement
295
+ - Use `#d01345` red only for sale prices and discount indicators
296
+ - Keep the layout flat — no shadows; use hairlines and tints for separation
297
+
298
+ ### Don't
299
+ - Apply rounded corners to any button or card — 0px radius is non-negotiable
300
+ - Use multiple accent colours simultaneously — lime, green, and red each have a single role
301
+ - Use a weight below 700 on hero CTAs — the fashion editorial aesthetic requires bold confidence
302
+ - Use inline decorative shadows — the system is flat by design
303
+ - Mix futura-pt with secondary display typefaces — the single-font system is strict
304
+ - Apply the lime (`#ccff00`) colour to interactive elements other than promo banners
305
+ - Put the add-to-bag green on non-commerce actions — it signals "completing purchase"
306
+
307
+ ## 8. Responsive Behavior
308
+
309
+ ### Breakpoints
310
+ | Name | Width | Key Changes |
311
+ |------|-------|-------------|
312
+ | Mobile | <640px | Hamburger nav, single-column grid, 2-column PLP max |
313
+ | Tablet | 640-1024px | 2-3 column grid, abbreviated nav |
314
+ | Desktop | 1024px+ | Full 4-column PLP grid, full horizontal nav |
315
+
316
+ ### Touch Targets
317
+ - Add to bag: 44px height — comfortable touch target
318
+ - Size selector chips: 56px height — large touch targets for fashion browsing
319
+ - Nav tabs: 60px height — primary nav comfortably tappable
320
+ - Search bar: 38px height with 16px left padding
321
+
322
+ ### Collapsing Strategy
323
+ - Navigation: full horizontal primary nav → hamburger with slide-out on mobile
324
+ - Product grid: 4-column → 2-column → single column stacked
325
+ - Hero: maintains full-width editorial images across all sizes, CTA stacks below on mobile
326
+ - Sub-nav: horizontal scroll on mobile
327
+
328
+ ## 9. Agent Prompt Guide
329
+
330
+ ### Quick Color Reference
331
+ - Primary nav / surface: ASOS Charcoal (`#2d2d2d`)
332
+ - Active nav: (`#525050`)
333
+ - Background / canvas: White (`#ffffff`)
334
+ - Body text: Black (`#000000`)
335
+ - Muted text: (`#666666`)
336
+ - Add to bag CTA: ASOS Green (`#018849`)
337
+ - Sale price: Sale Red (`#d01345`)
338
+ - Promo banner: Lime (`#ccff00`) with black text
339
+ - Hairline: (`#dddddd`)
340
+
341
+ ### Example Component Prompts
342
+ - "Create an ASOS-style product card: white background, no border-radius, no shadow. Product image full-width. Product name at 14px futura-pt weight 400, #000000. Price at 16px weight 700 #000000. Sale price in #d01345."
343
+ - "Design an ASOS add-to-bag button: background #018849, white text #ffffff, 0px radius, full-width, 44px height, 16px futura-pt weight 700, uppercase."
344
+ - "Build ASOS nav: #2d2d2d charcoal background, 60px height. WOMEN and MEN tabs at 14px futura-pt weight 900, white text. Below: #525050 sub-nav 50px with Sale/New in/Clothing/Dresses tabs at 14px weight 400."
345
+ - "Create ASOS search bar: white background #ffffff, #2d2d2d text, 19px border-radius (pill), 38px height, 16px futura-pt weight 400, placeholder 'Search for items and brands'."
346
+ - "Design ASOS hero section: full-width editorial image, overlay two CTAs: 'SHOP WOMENS' and 'SHOP MENS' — white background, black text #000000, 0px radius, 2px solid white border, 9px 14px padding, 16px futura-pt weight 700 uppercase."
347
+
348
+ ### Iteration Guide
349
+ 1. Futura PT geometric sans, uppercase for identity — weight 900 on primary nav, 700 on CTAs
350
+ 2. Zero-radius discipline: 0px on everything except the search pill (19px)
351
+ 3. Charcoal `#2d2d2d` is the brand's navy/black — use it, not `#000000`, for nav chrome
352
+ 4. Green is commerce only (`#018849`) — add to bag, checkout, completing actions
353
+ 5. Red is price signal only (`#d01345`) — sale and reduced prices
354
+ 6. Lime is promo only (`#ccff00`) — maximum-energy editorial statement, sparingly
355
+ 7. No shadows, ever — flat hairlines and tints separate the layout
356
+
357
+ ---
358
+
359
+ ## 10. Voice & Tone
360
+
361
+ ASOS's voice is the confident best-friend who always knows what's cool and makes fashion feel accessible, not exclusive. Where luxury brands whisper, ASOS speaks plainly. Where editorial magazines lecture, ASOS enthuses without condescension. The brand's personality is young, inclusive, and irreverent — it sells fashion to everyone without making anyone feel like they need to earn entry.
362
+
363
+ | Context | Tone |
364
+ |---|---|
365
+ | Navigation | Ultra-concise category names (WOMEN, MEN, SALE, NEW IN) — purely functional, no marketing speak |
366
+ | Product names | Descriptive and specific ("ASOS DESIGN wide leg trousers", "Noisy May cropped tank top in washed grey") |
367
+ | CTAs | Energetic but plain: "Add to bag", "SHOP WOMENS", "Download our new app" |
368
+ | Sale / Promo | Direct and excitement-led: "Sale", "New in" — simple declarative |
369
+ | Help / Support | Friendly and matter-of-fact: "Help & FAQs" |
370
+ | Fashion copy | Relaxed, descriptive, detail-forward (fabric, fit, style notes) |
371
+ | Inclusivity | Explicitly size-inclusive language across all product categories (AS/4U, Curve, Petite, Tall) |
372
+
373
+ **Voice keywords**: accessible, confident, inclusive, fashion-forward, unpretentious, direct.
374
+
375
+ **Forbidden register**: gatekeeping luxury language ("investment piece", "curated edit"), tech startup enthusiasm ("disrupt", "revolutionise"), jargon-heavy fashion crit ("deconstructed silhouette"), or anything that excludes the broad demographic ASOS explicitly serves.
376
+
377
+ **Voice samples** (live site, 2026-06-22):
378
+ - "Download our new app" — app banner (direct, energetic). *(verified live 2026-06-22)*
379
+ - "SHOP WOMENS" — hero CTA (uppercase, energetic). *(verified live 2026-06-22)*
380
+ - "Search for items and brands" — search placeholder (plain, inclusive "brands" nod). *(verified live 2026-06-22)*
381
+
382
+ ## 11. Brand Narrative
383
+
384
+ ASOS (As Seen On Screen) was founded in **2000** in London by **Nick Robertson** and **Quentin Griffiths**, with the original premise of selling products seen on celebrities in film and TV. The name was literal: shoppers could identify a piece worn on screen and buy an equivalent on ASOS. That celebrity-referencing origin shaped the brand's democratic instinct — fashion as something you see on people you admire, then access for yourself, not something gatekept behind boutique doors.
385
+
386
+ The business evolved rapidly from a niche celebrity-copycat service into one of the world's largest pure-play fashion retailers, serving customers in over 200 countries. ASOS is headquartered in London but operates as a fundamentally digital-first business — no physical stores, no concessions. Everything is the app and the website. This digital-native identity is deeply embedded in the design system: the UI exists to surface product at scale, not to create an aspirational in-store atmosphere.
387
+
388
+ ASOS's signature move is radical breadth: thousands of brands alongside its own label (ASOS DESIGN), size-inclusive ranges (Curve, Petite, Tall, AS/4U), and an aesthetic that accommodates every style rather than imposing one. The design system reflects this: a neutral, editorial monochrome frame that carries any product photography without competing with it. The brand doesn't have a look — it has a container that makes everything else look good.
389
+
390
+ What ASOS refuses: the exclusivity and gatekeeping of traditional fashion retail. What it embraces: scale, inclusivity, speed-to-trend, and the proposition that fashion should be findable and affordable by everyone.
391
+
392
+ ## 12. Principles
393
+
394
+ 1. **Product first, chrome second.** The UI exists to surface product photography. Every design decision that reduces distraction from the product grid is the right decision. *UI implication:* zero-radius cards, shadow-free layout, near-monochrome system colours.
395
+ 2. **Breadth as a feature.** ASOS's value proposition is quantity and variety at accessibility — every style, every size, every price point. *UI implication:* the dense product grid that maximises product exposure per viewport pixel; category navigation that covers every department.
396
+ 3. **Fashion for everyone, not for someone.** Inclusivity is non-negotiable. Size-inclusive ranges (Curve, Petite, Tall, AS/4U) are first-class, not footnotes. *UI implication:* size selector design accommodates extended ranges without visual hierarchy that deprioritises non-standard sizes.
397
+ 4. **Speed and freshness.** ASOS's "New In" is a genuine product promise — newness at extreme velocity. *UI implication:* the New In tab is prominent, the product card grid is optimised for scanning at speed rather than lingering.
398
+ 5. **The action is always clear.** In an environment of thousands of products and dozens of categories, the commerce action must be unambiguous. *UI implication:* the single green add-to-bag button is the only green in the system — colour has been reserved so the action is unmistakable.
399
+
400
+ ## 13. Personas
401
+
402
+ *Personas below are fictional archetypes informed by publicly observable ASOS user segments, not individual people.*
403
+
404
+ **Maya Chen, 22, Manchester.** University student, fashion-conscious on a student budget. Browses ASOS's New In section multiple times a week, using it as a live trend feed. Sizes between Petite and standard ranges depending on the item. Values the breadth — she can find everything from high-street dupes to genuinely distinctive pieces in one place. Finds the dense product grid ideal for rapid scanning. Gets frustrated if checkout is multi-step.
405
+
406
+ **Jordan Williams, 28, London.** Menswear enthusiast who uses ASOS for everyday staples and occasional trend pieces. Appreciates the Brands section for discovering smaller labels he wouldn't otherwise find. Size-filters are non-negotiable — he sizes out of standard ranges in some categories. Values the search functionality: types specific item descriptors rather than browsing by category.
407
+
408
+ **Sophie Okafor, 35, Birmingham.** Working professional buying occasion wear and smart-casual wardrobe pieces. Uses the sale section extensively. Has ASOS Premier delivery for the year. Values the detailed product descriptions and multiple image angles. Would leave if size availability wasn't clearly shown before she had to click through.
409
+
410
+ ## 14. States
411
+
412
+ | State | Treatment |
413
+ |---|---|
414
+ | **Empty (search, no results)** | White canvas. Black heading ("No results found") at 60px futura-pt weight 900 (`#2d2d2d` text). Sub-copy explaining suggestions, search bar remains active. |
415
+ | **Empty (wishlist/saved items)** | Muted grey prompt encouraging product exploration with a CTA back to shopping. No illustration. |
416
+ | **Loading (PLP grid)** | Skeleton cards at exact product card dimensions on white `#ffffff` background. Light grey `#dddddd` placeholder rectangles for image area, title, and price. No animated shimmer in the base system. |
417
+ | **Loading (Add to bag action)** | Green button maintains `#018849` background; shows spinner/indicator while size is being added. Label updates to "Adding…" |
418
+ | **Error (item out of stock)** | Size chip rendered in `#e8e8e8` with strikethrough or reduced opacity; button state changes to "Notify me when available" in `#2d2d2d` (non-green). |
419
+ | **Error (search no results)** | 404-style heading at 60px futura-pt, sub-suggestions for search terms. |
420
+ | **Error (page not found)** | Large "404" in futura-pt 60px weight 900 `#2d2d2d`, sub-text explaining the page is unavailable, `#2d2d2d` Retry button. |
421
+ | **Success (added to bag)** | Brief confirmation — bag icon updates with item count. No full-page toast; minimal disruption to browsing flow. |
422
+ | **Success (checkout complete)** | Confirmation page with ASOS green `#018849` checkmark or confirmation header; order summary below. |
423
+ | **Skeleton** | `#dddddd` blocks at final card dimensions. No rounded corners (consistent with 0px radius system). |
424
+ | **Disabled (size unavailable)** | `#e8e8e8` background chip at 56px height, `#999999` text. Clear visual distinction from available sizes. |
425
+ | **Sale pricing** | Original price struck through in `#666666`, sale price in `#d01345` bold. |
426
+
427
+ ## 15. Motion & Easing
428
+
429
+ **Durations**:
430
+
431
+ | Token | Value | Use |
432
+ |---|---|---|
433
+ | `motion-instant` | 0ms | State commits (bag count update, size selection tick) |
434
+ | `motion-fast` | 120ms | Hover states, button press, nav tab active |
435
+ | `motion-standard` | 200ms | Dropdown open, add-to-bag confirmation |
436
+ | `motion-slow` | 300ms | Page-level transitions, hero carousel |
437
+
438
+ **Easings**:
439
+
440
+ | Token | Curve | Use |
441
+ |---|---|---|
442
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — dropdowns, menus, drawers |
443
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
444
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
445
+
446
+ **Motion rules**: ASOS motion is functional and unobtrusive — the fashion content is the theatre, not the UI. Hover states on product cards (like/save icons appearing) use `motion-fast`; navigation dropdowns use `motion-standard`. No spring, no bounce, no theatrical delay. The product grid should feel fast and responsive — slow motion would undermine the rapid-browse behaviour the system is built for. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant; the page remains fully navigable.
447
+
448
+ <!--
449
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
450
+
451
+ Tier 1 live inspect (2026-06-22) via playwright getComputedStyle:
452
+ - https://www.asos.com/ (homepage, headed Chrome, UA spoofed)
453
+ - https://www.asos.com/noisy-may/noisy-may-cropped-tank-top-in-washed-grey/prd/205778249 (PDP)
454
+
455
+ Live-observed values:
456
+ - body: font-family futura-pt; color rgb(0,0,0); font-size 16px
457
+ - Nav WOMEN/MEN tabs: bg rgb(45,45,45) #2d2d2d; color rgb(255,255,255); font-weight 900; height 60px
458
+ - App banner "Download our new app": bg rgb(204,255,0) #ccff00; color rgb(0,0,0); height 30px; font-weight 600
459
+ - Hero CTAs "SHOP WOMENS/MENS": bg rgb(255,255,255); color rgb(0,0,0); radius 0px; padding 9px 14px; height 44px; font-weight 700
460
+ - Search input: bg rgb(255,255,255); color rgb(45,45,45); radius 19px; height 38px
461
+ - Add to bag: bg rgb(1,136,73) #018849; color rgb(255,255,255); radius 0px; height 44px; font-weight 700
462
+ - Sub-nav tabs (Sale, New in, Clothing...): bg rgb(82,80,80) #525050; height 50px; font-weight 400
463
+ - Size selector chips: bg rgb(230,230,230); height 56px; radius 0px
464
+ - Sale price text color: rgb(208,19,69) #d01345
465
+
466
+ Brand narrative:
467
+ - ASOS founded 2000 by Nick Robertson and Quentin Griffiths in London. Originally "As Seen On Screen." These are publicly documented facts.
468
+ - ASOS operates in 200+ countries, no physical stores. Pure-play digital retailer. Public company (LSE: ASC).
469
+
470
+ Personas are fictional archetypes informed by publicly observable ASOS user demographics. Names are illustrative.
471
+
472
+ Voice samples are verbatim from the live ASOS homepage as inspected 2026-06-22.
473
+
474
+ Interpretive claims (e.g., "product first, chrome second", "neutral container that makes everything else look good") are editorial readings connecting observed design to publicly stated brand positioning, not directly sourced ASOS statements.
475
+ -->