Nubank Mobile — design system & UI screens
Pix is a Brazilian instant payment system for sending and receiving money anytime, with no fees. This screen presents the primary payment methods within Área Pix: a segmented interface with two sections—"Enviar" (Send) and "Receber" (Receive)—each offering multiple action buttons displayed in circular icon containers with descriptive labels below.
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/nubank-mobile.
Decoded design system
Nubank Mobile's decoded design system: background #FFFFFF, text #191919, accent #17C242, link #17C242, primary #17C242; type scale h1 34px / h2 22px / body 17px; 8px spacing base; 12px base radius. The single interactive/action color is #17C242 — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #FFFFFF |
| surface | #F1F1F1 |
| border | #DCDCDC |
| text | #191919 |
| text_muted | #707070 |
| primary | #17C242 |
| accent | #17C242 |
| link | #17C242 |
| button_bg | #17C242 |
| button_text | #FFFFFF |
Using these colors
- Action color
#17C242— the single interactive color; only on things you click or must notice, never large fills. primary,accent,link,button_bgare all#17C242— one role, not several (the action color).- accent
#17C242— 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: 8px
- scale: 6px, 8px, 16px, 20px, 24px, 28px, 32px, 40px, 48px, 56px
Radii
- base: 12px
- button: 12px
Motion
Micro-interactions run at 1600ms (dominant) with ease-in-out.
- durations: 1600ms · 150ms · 2500ms
- easings:
ease-in-out·ease-out - animated properties: opacity
Native design tokens
| Token | Value |
|---|---|
--colors-content-primary | #1E002F |
--colors-brand-uv-S1 | #0B0019 |
--colors-secondary-amber-S2 | #EFD49C |
--colors-neutrals-almostWhite | #D4D4D8 |
--colors-content-button-negative-disabledLabel | rgba(255, 255, 255, 0.20) |
--colors-content-button-primary-disabledStroke | rgba(255, 255, 255, 0.0) |
--colors-feedback-blueStrong | #0968F6 |
--colors-secondary-spot-purple | #CBA5FD |
--colors-content-button-secondary-activeStroke | #8D0DE3 |
--colors-brand-pj-T2 | #A087AE |
…and 110 more measured on the page.
Button states (measured)
- primary hover: background
#5D0599 - primary focus: border
1px solid rgb(141, 13, 227)· outline2px solid rgb(141, 13, 227)
Layout (measured)
- container max-width:
1260px - nav: 64px fixed
- common grid: 12 columns
Motion choreography (measured)
Load order: div.css-12tw2yb → div.css-ehsg9o → circle.css-1jpki61 → div.css-l17lnj×2 → div.css-1hht2g1 → div.css-8au1kw
Scroll reveal: 3 elements rest at opacity 0, animate in over 1.6s ease-in-out.
Responsive (measured)
- mobile (390px): hero 48px · nav inline
Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →