BrandToPrompt

Wildberries Design System: Bold Tokenized Retail UI

Visit Site

Explore Wildberries' design system - bold colors, compact typography, tokenized components. Build high-volume retail UIs with their visual language.

6 min read1,040 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Hauss

Design Style

Style
bold gradient-heavy with vibrant brand colors and functional retail-first layout
Visual Density
compact grid-based with tight line heights and dense layouts
Border Style
mixed: 3px spans, 8px cards, 16px inputs, 100% pill buttons

Full Analysis

Wildberries Design System Deep Dive

1. Brand Overview

Wildberries is Russia’s largest online retailer, and its design system reflects that scale. The brand’s visual language is unapologetically bold and functional. This is not a restrained Scandinavian aesthetic—it’s color-heavy, gradient-rich, and unapologetically vibrant. You can tell they’ve built a UI for high-volume browsing and fast conversions rather than boutique storytelling.

The vibe is retail-first: bright purples, pinks, and oranges dominate, backed by a deep neutral base (#242424) for headers and structural elements. The palette is huge—dozens of brand, success, warning, danger, and accent shades—suggesting a mature tokenized approach rather than ad hoc color picks. This is the kind of system that can support thousands of SKUs, seasonal campaigns, and multiple UI contexts without breaking.

Typography is anchored in the "Hauss" typeface, a sans-serif with clean proportions that’s easy to scan. The fallback stack (Segoe UI, -apple-system, Roboto, Helvetica Neue, Noto Sans, Arial, ...) ensures platform-native feel across devices. Sizes range from 13px for buttons to 18px for headings—tight, functional, optimized for dense layouts.

Spacing is driven by an 8px base grid, with deviations down to 1px and up to 72px for big layout gaps. This gives them micro-control over component fit while keeping macro layout consistent.

Wildberries’ design philosophy is modular and token-driven. Every color, radius, and shadow is abstracted into a variable (--mo-*), which screams "enterprise scale." They’ve clearly built for reusability: hover, pressed, and disabled states are all tokenized, meaning designers and developers can iterate without hardcoding.

Audience-wise, this is for mass-market retail shoppers. The UI prioritizes speed over elegance, clarity over artistry. Buttons are functional, links are underlined only when necessary, inputs are roomy, and shadows are subtle—used just enough to separate layers.


2. Color System

2.1 Primary Colors

Wildberries’ primary identity color in the UI is purple (#a73afd for --mo-controls-bg-purple-default, plus a gradient set from #ed3cca through #7c1af8). This is their brand anchor. In retail, purple conveys creativity, luxury, and a touch of playfulness. Competitors like Ozon lean blue for trust; Wildberries leans purple to stand out in a crowded Russian e-commerce space.

Their deep neutral (#242424) is the workhorse. It handles text, headers, and icons. White (#ffffff) provides contrast for text on dark backgrounds. They also use bright accent blues (#0098fe) for links, vivid oranges (#ff6700) for ratings/warnings, and greens (#1ab266) for success states.

2.2 Complete Palette

Here’s every color token from the extracted data:

Color NameHexRoleUsage
Neutral Dark#242424NeutralHeaders, text, icons
Neutral White#ffffffNeutralText on dark, backgrounds
Link Blue#0000eeAccentHyperlinks
Black#000000NeutralIcons, text
Purple Default#a73afdBrandPrimary buttons, accents
Purple Hovered#9715f4BrandHover states
Purple Light Hovered#fccfe7AccentHover backgrounds
Danger Default#fa1f4bFunctionalError text/icons
Warning Default#ff8533FunctionalAlerts, highlights
Mint Hovered#007acbAccentHover icons
Warning Pressed#ffa466FunctionalActive state backgrounds
Neutral 250#3b3b44NeutralSecondary text
Neutral 800#c4c4d4NeutralDisabled
Success Light#e9fcf2FunctionalSuccess background
Success 150#133926FunctionalDark success text
Success 300#13864dFunctionalSuccess accents
Purple Light Pressed#c894ffBrandActive backgrounds
White Tertiary Disabled#ffffff4dNeutralDisabled text/icons
Footer BG#eeeef2NeutralFooter background
Chips Off Hovered#e0e0ebNeutralHover backgrounds
Tertiary Alpha Hovered#0009NeutralHover overlay
Gradient Dot7#8306f7BrandGradients
Rating Star 650#ff954dFunctionalRatings
Tertiary Pressed#8f8fa3NeutralPressed icon/text
Success Default#1ab266FunctionalSuccess text/icons
Danger Inverted Hovered#fa385fFunctionalError hover
Red Pressed#fb6a87FunctionalActive danger backgrounds
Neutral 950#efeff5NeutralLight backgrounds
Resale Badge BG#129f99AccentBadges
Sky#0daef2AccentInfo
Orange Light Hovered#ffe0ccFunctionalHover backgrounds
Chips Disabled BG#f8e7ffBrandDisabled chips
Rating 500A40#ff670066FunctionalSemi-transparent rating
Brand 200#2f2640BrandDark brand backgrounds
Blue Default#0098feAccentLinks, buttons
Brand 400#5d4c80BrandSecondary brand backgrounds
Inverted Secondary BG#2f2f37NeutralButtons
BlackConst Pressed#474752NeutralActive backgrounds
Rating Star 500#ff6700FunctionalRatings
Chips Disabled Text#d7b2ffBrandDisabled chips text
Neutral 750#b6b6c9NeutralSecondary text
DangerConstInverted#fb5173FunctionalError text on dark
Pink Hovered#f20d88BrandHover accents
Chips Hovered BG#e5c9ffBrandHover chips
Ghost Default#fff0NeutralTransparent
MintLight#d8fbfdAccentLight mint backgrounds
Warning 250#7e3401FunctionalDark warning text
WhitePrimaryConst Pressed#ffffffbfNeutralPressed white text
Accent Const Inverted Disabled#524370BrandDisabled icon
SuccessConstInverted Default#20df80FunctionalSuccess text on dark
NeutralOpacity Disabled#fff3NeutralTransparent disabled bg
MintLight Hovered#b6eff4AccentHover backgrounds
PurpleLight BG#f2e6feBrandLight brand backgrounds
BlackSecondaryConst Hovered#000000b3NeutralHover text
Chips Counter BG#b165fbBrandCounters
Gradient Pressed#fff6NeutralPressed overlay
Rating Star 750#ffb380FunctionalRatings
Gradient Dot5#ae1ae8BrandGradients
Neutral 400#5f5f6dNeutralText
Cashback New BG#faedfcBrandPromo backgrounds
AccentConst Pressed#7100bcBrandPressed accents
PrimaryInverted Disabled#53535fNeutralDisabled text on dark
Brand 750#b879fcBrandSecondary brand accents
SecondaryInverted Text#9b9bb0NeutralText
Tooltip BG#18181bNeutralTooltip background
Danger 750#fc829bFunctionalError accents
Orange Light Pressed#ffc299FunctionalActive backgrounds
Gradient Dot1#ed3ccaBrandGradients
Pink Hovered#dc1984BrandHover accents
DangerLight Hovered#fdb4c3FunctionalHover backgrounds
Danger 500#f90637FunctionalError
Mint Default#05b3c7AccentIcons
Mint Hovered#049caeAccentHover icons
Brand 250#3a3050BrandSecondary brand backgrounds
Warning Hovered#ff761aFunctionalHover
Pink Pressed#f32594BrandActive accents
Brand 650#ab51fbBrandSecondary brand accents
WhiteTertiaryConst Pressed#ffffffe6NeutralPressed text
Danger 800A50#fdb4c380FunctionalSemi-transparent error
Brand 300#463960BrandSecondary brand backgrounds
Mint Pressed#048695AccentActive icons
Green Hovered#169c5aFunctionalHover success
PinkLight Pressed#ff99d2BrandActive backgrounds
SuccessConstInverted Hovered#36e28dFunctionalHover success text
Rating 850A70#ffd1b2b3FunctionalSemi-transparent rating
Pink Pressed#a9095fBrandActive accents
Success 650#63e9a6FunctionalSuccess accents
BlueLight Default#cbebffAccentLight blue backgrounds
Success Hovered#1dc973FunctionalHover success
Success 850A70#bcf5d9b3FunctionalSemi-transparent success
Danger 800A70#fdb4c3b3FunctionalSemi-transparent error
Warning 350#b24800FunctionalWarning text
DangerConst Pressed#e00532FunctionalActive error
Gradient Dot6#9a10f0BrandGradients
Rating 150#392313FunctionalDark rating text
Danger 250#7d031cFunctionalDark error text
Rating 950#fff0e5FunctionalRating backgrounds
Blue Pressed#66c2feAccentActive blue
Gradient Dot2#df34d2BrandGradients
TertiaryAlpha Disabled#0003NeutralDisabled overlay
GreenLight Hovered#bcf5d9FunctionalHover success background
Brand 850A70#d7b2ffb3BrandSemi-transparent brand
Gradient Dot3#d02bd9BrandGradients
Gradient Dot4#bf22e1BrandGradients
Success 900#d2f9e6FunctionalSuccess background
SuccessLight Pressed#8fefbfFunctionalActive success background
Success 700#79ecb3FunctionalSuccess accents
Mint Default BG#39c7d6AccentBackgrounds
Success 850A50#bcf5d980FunctionalSemi-transparent success
Warning 850A50#ffd1b280FunctionalSemi-transparent warning
BlueLight Hovered#98d7ffAccentHover backgrounds
Promo Filter Switch#A0A0A0NeutralUI controls
Mint Pressed BG#4ccddbAccentActive backgrounds
TealGlow 850#b9ffd8AccentGlow effects
Secondary Hovered Text#778NeutralHover text
Brand 850A50#d7b2ff80BrandSemi-transparent brand
Brand 500A40#9715f466BrandSemi-transparent brand
Blue Hovered#33adfeAccentHover
Danger 500A40#f9063766FunctionalSemi-transparent error
Success 250#107040FunctionalDark success text
Success 200#0d5933FunctionalDark success text
Sky Text#078bc3AccentText
PinkLight BG#fee6f1BrandBackground
BlackSecondaryConst Disabled#0000004dNeutralDisabled text
Blue Pressed#005b99AccentActive blue
Danger 500A60#f9063799FunctionalSemi-transparent error
Success 500A60#20df8099FunctionalSemi-transparent success
Switch BG Off Disabled#a7a7be1aNeutralDisabled switches
Gradient Dot8#7c1af8BrandGradients
MintLight Pressed#89e1eaAccentActive backgrounds
Success 500A40#20df8066FunctionalSemi-transparent success
Cashback BG#efecffBrandPromo backgrounds
Danger 350#ae0427FunctionalError text
Success 600#4de599FunctionalSuccess accents
Brand 500A60#9715f499BrandSemi-transparent brand
Mint Hovered BG#27c0d1AccentHover backgrounds
SkyLight BG#d8f2fdAccentBackground
Danger 150#39131bFunctionalDark error text
PinkLight Default#fee7f3BrandBackground
Success 800#a6f2ccFunctionalSuccess accents

That’s a monster palette—clear sign of a scaled token system.

2.3 Color Relationships

They use high-contrast combinations: white on purple, dark neutral on light backgrounds, bright accent colors for interactive states. Accessibility-wise, #ffffff on #a73afd passes WCAG AA easily. The danger palette is saturated, so error states pop. Semi-transparent variants help layer subtle states without breaking consistency.

Dark mode? The neutral 950 (#efeff5) and deep 250 (#3b3b44) suggest light/dark adaptability, but the data doesn’t confirm a dedicated dark theme—it’s more about contextual contrast.

2.4 Usage Guide

  • Pair purple (#a73afd) with white for primary CTAs.
  • Use deep neutral (#242424) for text-heavy areas.
  • Reserve bright blues (#0098fe) for links and secondary actions.
  • Avoid mixing more than one saturated accent in the same component—it gets noisy.
  • Semi-transparent variants are for overlays, pressed states, and disabled.

3. Typography

3.1 Font Families

All typography uses Hauss with a robust fallback stack:

Hauss, Segoe UI, -apple-system, Roboto, Helvetica Neue, Noto Sans, Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji

No Google or Adobe font loading—likely self-hosted.

3.2 Type Scale

ElementFontSizeWeightLine Height
heading-1Hauss18px (1.13rem)4001.33
heading-1Hauss16px (1.00rem)4001.38
heading-1 (cap)Hauss16px (1.00rem)4001.38
linkHauss16px (1.00rem)400
linkHauss15px (0.94rem)4501.33
captionHauss14px (0.88rem)4001.43
linkHauss14px (0.88rem)4001.07
caption (cap)Hauss14px (0.88rem)4001.43
buttonHauss13.33px (0.83rem)400
captionHauss13.33px (0.83rem)400
buttonHauss0px400NaN

3.3 Hierarchy

They keep heading sizes small—max 18px. This is unusual but makes sense for dense catalog layouts. Body and link sizes hover around 14–16px, maintaining legibility. Weight rarely exceeds 450—no heavy bolds. Line heights are tight (1.33–1.43), giving a compact feel. Captions and buttons are smaller but still clear.


4. Spacing & Layout

4.1 Spacing Scale

Base unit: 8px grid. Common values:

ValueRemFrequency
1px0.06rem2
2px0.13rem29
3px0.19rem29
6px0.38rem3
8px0.50rem14
10px0.63rem1
12px0.75rem14
16px1.00rem1
17px1.06rem2
24px1.50rem1
40px2.50rem1
48px3.00rem1
72px4.50rem1

4.2 Layout

Breakpoints: 98px, 576px, 600px, 768px, 1024px. Odd to see 98px—likely a specific micro-layout trigger (icon collapse). Standard mobile/tablet/desktop progression otherwise. Vuetify detected—grid system probably leverages its flexbox utilities.


5. Visual Elements

Border Radius

Values:

  • 3px — spans
  • 4px 10px — anchors
  • 8px — divs, labels
  • 12px — ul, buttons
  • 16px — inputs, nav
  • 50% — svg (circles)
  • 100% — buttons (full pill)

They mix fixed and full radii—functional, not dogmatic.

Shadows

  • rgba(0,0,0,0.15) 0px 0px 3px — subtle layer separation
  • rgba(0,0,0,0.08) 0px 2px 16px — card/modals
  • rgba(0,0,0,0.1) 0px 0px 20px — soft depth
  • rgba(0,0,0,0.1) 0px 4px 20px — heavier depth

No brutal shadows—retail sites tend to avoid heavy depth.

Borders

Only notable: 1px solid rgba(255,255,255,0.4) on a burger button.


6. Components

6.1 Buttons

Burger Button (nav-element__burger...):

  • Default: transparent bg, black text, 16px radius, 1px white semi-transparent border.
  • Focus: outline: 2px solid var(--mo-brand-700), plus dual box-shadow.

Search Button:

  • Default: rgb(200,200,209) bg, #242424 text, no radius, no border.

Two types:

  • White (#ffffff) — nav links on dark backgrounds.
  • Blue (#0000ee) — inline hyperlinks.

No underline by default.

6.3 Forms

Search input:

  • White bg, dark text, no border, 16px radius.
  • Padding: 17px 100px 17px 20px — roomy.

6.4 Cards

Not explicitly extracted, but shadows (0px 2px 16px) suggest card use.


7. Design Tokens

/* Colors */
:root {
  --neutral-dark: #242424;
  --neutral-white: #ffffff;
  --link-blue: #0000ee;
  --black: #000000;
  --purple-default: #a73afd;
  /* ... include all colors from 2.2 above ... */
}

/* Typography */
:root {
  --font-family-primary: "Hauss", "Segoe UI", -apple-system, Roboto, "Helvetica Neue", "Noto Sans", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --heading-1-size: 18px;
  --heading-1-line-height: 1.33;
  --heading-1-weight: 400;
  /* ... all type tokens ... */
}

/* Spacing */
:root {
  --space-1: 1px;
  --space-2: 2px;
  --space-3: 3px;
  --space-6: 6px;
  --space-8: 8px;
  --space-10: 10px;
  --space-12: 12px;
  --space-16: 16px;
  --space-17: 17px;
  --space-24: 24px;
  --space-40: 40px;
  --space-48: 48px;
  --space-72: 72px;
}

/* Border Radius */
:root {
  --radius-sm: 3px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-round: 50%;
  --radius-full: 100%;
}

/* Shadows */
:root {
  --shadow-sm: rgba(0,0,0,0.15) 0px 0px 3px 0px;
  --shadow-md: rgba(0,0,0,0.08) 0px 2px 16px 0px;
  --shadow-lg: rgba(0,0,0,0.1) 0px 0px 20px 0px;
  --shadow-xl: rgba(0,0,0,0.1) 0px 4px 20px 0px;
}

8. AI Coding Assistant Prompt

# Wildberries Design System Specification

You are a Wildberries design expert. Build UIs matching their visual language exactly.

## Brand Context
Wildberries is a high-volume e-commerce platform. The design is bold, vibrant, and functional, optimized for retail browsing. The system is tokenized for scale, with a huge accent palette and compact typography.

## Color Palette
- Neutral Dark: #242424 — Headers, body text
- Neutral White: #ffffff — Text on dark, backgrounds
- Purple Default: #a73afd — Primary buttons, brand accents
- Purple Hovered: #9715f4 — Hover states
- Link Blue: #0000ee — Inline hyperlinks
- Success Default: #1ab266 — Success icons
- Danger Default: #fa1f4b — Error states
- Warning Default: #ff8533 — Alerts
- ... (include all colors from section 2.2)

## Typography
Font family: "Hauss", Segoe UI, -apple-system, Roboto, Helvetica Neue, Noto Sans, Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji

| Level | Size | Weight | Line Height | Use |
|-------|------|--------|-------------|-----|
| heading-1 | 18px | 400 | 1.33 | Page titles |
| heading-1 | 16px | 400 | 1.38 | Section headings |
| link | 16px | 400 | — | Navigation |
| link | 15px | 450 | 1.33 | Emphasis links |
| caption | 14px | 400 | 1.43 | Secondary text |
| button | 13.33px | 400 | — | UI buttons |

## Spacing & Grid
Base: 8px
Scale: 1px, 2px, 3px, 6px, 8px, 10px, 12px, 16px, 17px, 24px, 40px, 48px, 72px

## Border Radius
- sm: 3px — small spans
- md: 8px — cards, labels
- lg: 12px — buttons, lists
- xl: 16px — inputs
- round: 50% — icons
- full: 100% — pill buttons

## Shadows & Depth
- sm: rgba(0,0,0,0.15) 0px 0px 3px
- md: rgba(0,0,0,0.08) 0px 2px 16px
- lg: rgba(0,0,0,0.1) 0px 0px 20px
- xl: rgba(0,0,0,0.1) 0px 4px 20px

## Components

### Primary Button
Default:
```css
background: var(--purple-default);
color: #ffffff;
padding: 8px 16px;
border-radius: 16px;
font-weight: 400;
font-size: 13.33px;
border: none;
transition: background 150ms ease;
```
Hover: `background: var(--purple-hovered);`
Focus: `outline: 2px solid var(--purple-hovered);`
Disabled: `opacity: 0.5; cursor: not-allowed;`

### Secondary Button
Default:
```css
background: rgba(0,0,0,0);
color: #000;
border-radius: 16px;
border: 1px solid rgba(255,255,255,0.4);
```
Focus: `outline: 2px solid var(--purple-hovered);`

### Navigation Links
Default: white text, no underline
Hover: underline

### Input Fields
Default:
```css
background: #ffffff;
color: #242424;
border-radius: 16px;
padding: 17px 100px 17px 20px;
border: none;
```
Focus: outline with brand color

## Layout & Responsive Rules
Breakpoints: 98px, 576px, 600px, 768px, 1024px
Mobile padding: 16px
Desktop padding: 24px

## Interaction Rules
- 150ms ease transitions
- Focus indicators are outlines with brand color
- Disabled = 50% opacity

## DO
- Use only colors from the palette
- Maintain 8px grid
- Use Hauss for all text
- Keep headings ≤ 18px
- Tokenize hover/pressed states

## DON'T
- Invent new colors
- Mix unrelated accents
- Use heavy shadows
- Override border radius without reason

## Code Examples

Primary Button:
```css
.btn-primary {
  background: #a73afd;
  color: #fff;
  padding: 8px 16px;
  border-radius: 16px;
  font-size: 13.33px;
}
.btn-primary:hover { background: #9715f4; }
```

Card:
```css
.card {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: rgba(0,0,0,0.08) 0px 2px 16px;
}
```

Form Input:
```css
.input-search {
  background: #fff;
  color: #242424;
  border-radius: 16px;
  padding: 17px 100px 17px 20px;
}
```

9. Summary

TL;DR — Wildberries’ design system is a tokenized retail machine: purple-heavy, compact typography, 8px grid, and a massive functional palette. It’s built for speed and scale, not minimalism.

Brand Keywords — bold-retail, token-driven, purple-forward, functional-compact, scale-ready