Gmail Mobile — design system & UI screens
Email search and filtering interface with dropdown controls for From, To, and Attachment. Shows search results with email conversations from João Martins and Evans, displaying timestamps and message previews. Official App Store listing screenshot.
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/gmail-mobile.
Decoded design system
Gmail Mobile's decoded design system: background #FFFFFF, text #000000, accent #EB8D87, link #EB8D87, primary #EB8D87; type scale h1 34px / h2 22px / body 17px; 4px spacing base; 12px base radius. The single interactive/action color is #EB8D87 — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #FFFFFF |
| surface | #EFEFEF |
| border | #D8D8D8 |
| text | #000000 |
| text_muted | #606060 |
| primary | #EB8D87 |
| accent | #EB8D87 |
| link | #EB8D87 |
| button_bg | #EB8D87 |
| button_text | #FFFFFF |
Using these colors
- Action color
#EB8D87— the single interactive color; only on things you click or must notice, never large fills. primary,accent,link,button_bgare all#EB8D87— one role, not several (the action color).- accent
#EB8D87— 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: 3px, 8px, 9px, 12px, 14px, 16px, 24px, 36px, 48px, 108px
Radii
- base: 12px
- button: 12px
Motion
Micro-interactions run at 150ms (dominant) with cubic-bezier(0.4, 0, 0.2, 1).
- durations: 150ms · 280ms
- easings:
cubic-bezier(0.4, 0, 0.2, 1) - animated properties: opacity, transform, border, box-shadow
Native design tokens
| Token | Value |
|---|---|
--gm3-sys-color-background | rgb(255 255 255 / 1) |
--gm3-sys-color-error | rgb(179 38 30 / 1) |
--gm3-sys-color-error-container | rgb(249 222 220 / 1) |
--gm3-sys-color-inverse-on-surface | rgb(242 242 242 / 1) |
--gm3-sys-color-inverse-primary | rgb(168 199 250 / 1) |
--gm3-sys-color-inverse-surface | rgb(48 48 48 / 1) |
--gm3-sys-color-on-background | rgb(31 31 31 / 1) |
--gm3-sys-color-on-error | rgb(255 255 255 / 1) |
--gm3-sys-color-on-error-container | rgb(140 29 24 / 1) |
--gm3-sys-color-on-primary | rgb(255 255 255 / 1) |
…and 26 more measured on the page.
Button states (measured)
- primary hover: box-shadow
rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px
Layout (measured)
- container max-width:
1408px
Motion choreography (measured)
Load order: div.AxOyFc → div.OabDMe
Scroll reveal: 1 elements rest at opacity 0, animate in over 0.1s cubic-bezier(0.2, 0, 0, 1).
Input (measured)
height 28px · radius 4px
Themes
dark counterpart: background #0E0E0E, text #E3E3E3.
Responsive (measured)
- breakpoints: 481px · 592px · 600px · 672px · 720px · 960px
- mobile (390px): hero 32px · nav inline
Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →