TikTok Mobile — design system & UI screens
TikTok Shop is for buying products featured on TikTok with daily deals, discounted items, and curated collections. The screen shows a dark-themed deals carousel at the top with "Today's deal" and featured product categories, followed by a tabbed feed section below organized by relevance filters ("For you", "Free shipping", "Extra 20% off") that displays individual products with pricing, discount badges, and deal tags in a vertical product list.
This is a static, crawlable rendering for search & AI engines. The interactive version — filters, live decode console, copy & export — is at https://mozaika.design/website/tiktok-mobile.
Decoded design system
TikTok Mobile's decoded design system: background #000000, text #FFFFFF, accent #A24500, link #A24500, primary #A24500; type scale h1 34px / h2 22px / body 17px; 4px spacing base; 12px base radius. The single interactive/action color is #A24500 — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #000000 |
| surface | #0F0F0F |
| border | #262626 |
| text | #FFFFFF |
| text_muted | #9E9E9E |
| primary | #A24500 |
| accent | #A24500 |
| link | #A24500 |
| button_bg | #A24500 |
| button_text | #000000 |
Using these colors
- Action color
#A24500— the single interactive color; only on things you click or must notice, never large fills. primary,accent,link,button_bgare all#A24500— one role, not several (the action color).- accent
#A24500— THE accent / action color — interactive & must-notice only (buttons, links, focus, one key highlight); never large fills or backgrounds. Scarcity is what makes it read as designed.
Typography
- h1: 34px
- h2: 22px
- body: 17px
Spacing
- base unit: 4px
- scale: 4px, 6px, 8px, 10px, 12px, 15px, 16px, 48px, 64px, 80px
Radii
- base: 12px
- button: 12px
Shadows (elevation)
- subtle:
rgba(255, 255, 255, 0.12) 0px 0px 1px 1px - card:
rgba(0, 0, 0, 0.07) 0px 2px 10px 0px
Motion
Micro-interactions run at 300ms (dominant) with ease.
- durations: 300ms · 250ms · 400ms
- easings:
ease·cubic-bezier(0.25, 0, 0.25, 1) - animated properties: color, width, height, opacity
Native design tokens
| Token | Value |
|---|---|
--tux-v2-color-misc-online-shape | #1dd765 |
--tux-v2-color-brand-ai-gradient-2 | #00edea |
--tux-colorPrimary-opacity-12 | rgba(255,59,92,.12) |
--tux-v2-color-brand-tiktok-photos-2 | #00aa96 |
--tux-v2-color-feed-components-text-backdrop-2 | rgba(64,64,64,.5) |
--tux-v2-color-social-avatar-profile-04-1 | #fbc436 |
--social-chat-gradient-blue-2 | #00add2 |
--tux-v2-color-live-revenue-ranking-league-b-shape-4 | #c0e5ff |
--ui-shape-text-2-on-success | #008568 |
--tux-colorLineSecondary | hsla(0,0%,100%,.12) |
…and 110 more measured on the page.
Button states (measured)
- primary hover: background
#EA284E - primary focus: outline
2px solid rgb(250, 250, 250)
Motion choreography (measured)
Load order: circle.css-ekyh5y-5e6d46e3--Cir → circle.css-qo7tz1-5e6d46e3--Cir → circle.css-1qqiap1-5e6d46e3--Ci → circle.css-3zkl3g-5e6d46e3--Cir → circle.css-12k1pbc-5e6d46e3--Ci
Responsive (measured)
- mobile (390px): nav inline
Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →