Foundations

Colors

All design tokens that define the Wanna visual language. Every value supports Light and Dark mode via CSS custom properties.

Neutral

10 tokens

Full neutral scale. In Dark mode the scale inverts — 100↔800, black↔white.

Default
neutral/white#FFFFFF
neutral/100#F7F6F9
neutral/200#EAE7F1
neutral/300#C7C0D4
neutral/400#988DAC
neutral/500#706784
neutral/600#3F3855
neutral/700#2B263F
neutral/800#150F2B
neutral/black#090127
Dark Mode Pair
neutral/black#090127
neutral/100#150F2B
neutral/200#2B263F
neutral/300#3F3855
neutral/400#706784
neutral/500#988DAC
neutral/600#C7C0D4
neutral/700#EAE7F1
neutral/800#F7F6F9
neutral/white#FFFFFF

Semantic

7 tokens

Functional colors for feedback states — success, warning, error, info.

Default
semantic/success#198F51
semantic/warning#FCA512
semantic/error#EA3A2E
semantic/info#5723B0
Dark Mode Pair
semantic/success-dark#55BC5B
semantic/warning#FCA512
semantic/error-dark#FF584D
semantic/info-dark#A874FF

Accent

4 tokens

Adaptive accent — flips automatically between Light and Dark mode.

Default
accent/light#5723B0
accent/secondary#EFE9F8
accent/tertiary#E1D5F2
Dark Mode Pair
accent/dark#A874FF
accent/secondary#150F2B
accent/tertiary#2B263F

Support

5 tokens

Low-opacity tints for backgrounds, badges and state indicators. Same value in both modes.

Default
support/yellow#F5CC45
support/yellow/20rgba(245,204,69,.20)
support/success/20rgba(25,143,81,.20)
support/warning/20rgba(252,165,18,.20)
support/error/20rgba(234,58,46,.20)
Dark Mode Pair
support/yellow#F5CC45
support/yellow/20rgba(245,204,69,.20)
support/success/20rgba(25,143,81,.20)
support/warning/20rgba(252,165,18,.20)
support/error/20rgba(234,58,46,.20)

Overlay

3 tokens

Purple-tinted overlays at varying opacities for modals and sheets.

Default #5723B0
overlay/5rgba(87,35,176,.05)
overlay/10rgba(87,35,176,.10)
overlay/20rgba(87,35,176,.20)
Dark Mode Pair #A874FF
overlay/5rgba(168,116,255,.05)
overlay/10rgba(168,116,255,.10)
overlay/20rgba(168,116,255,.20)

Gradient

3 tokens

Linear gradients for premium Gold and Silver surfaces — sourced from partner JSON.

Default
gradient/gold#F8BD4F → #FCFDC9
gradient/silver#C0C0C0 → #F6F3F6
gradient/brand#5723B0 → #2C1357
Dark Mode Pair
gradient/gold#F8BD4F → #FCFDC9
gradient/silver#C0C0C0 → #F6F3F6
gradient/brand#A874FF

Foundations

Typography

Wanna uses Montserrat as the primary typeface and Barlow Condensed for compact, high-impact display text.

Font Families

Aa
Montserrat
--font-primary
fontFamily/primary · Regular → ExtraBold
The quick brown fox jumps over the lazy dog.
Aa
Barlow Condensed
--font-condensed
fontFamily/condensed · Regular → Bold
The quick brown fox jumps over the lazy dog.

Montserrat Scale

18 styles

3 weights × 6 sizes — SemiBold, Bold, ExtraBold. 10px to 20px.

Barlow Condensed Scale

11 styles

2 weights × sizes — Bold (14–48px) · Bold Italic (16–18px). All uppercase · line-height 100% · letter-spacing 3%.

Semantic Text Styles

9 styles

Named text styles used across components and layouts.

TokenSample

Heading Styles

7 styles
TokenSample

Foundations

Spacing & Radius

An 8-point based spacing system and four border radius values for consistent spatial rhythm.

Spacing

7 tokens
--spacing-xs
4px
--spacing-sm
8px
--spacing-md
12px
--spacing-lg
16px
--spacing-xl
24px
--spacing-2xl
32px
--spacing-3xl
48px

Border Radius

4 tokens
Small
--radius-small · 4px
Medium
--radius-medium · 8px
Large
--radius-large · 12px
Full
--radius-full · 130px

Foundations

Shadows

Two elevation levels — Bottom Sheet for overlays and Card for surface elevation.

shadow/bottomSheet
Bottom Sheet — Light
X0px
Y-10px
Blur25px
Spread0px
Colorrgba(9,1,39,.25)
Dark0px -30px 50px 0px rgba(9,1,39,.80)
shadow/card
Card — Light
X0px
Y-10px
Blur25px
Spread0px
Colorrgba(9,1,39,.25)
Dark0px -10px 25px 0px rgba(9,1,39,.70)

Foundations

Icons

Inline SVG icons using currentColor — recolor via CSS with no extra assets.

Sports

11 icons · 4 variants

Soccer, MMA, Football, E-Sports, Baseball, Basketball, Volleyball, Tennis, Motorsports, Hockey, Golf.

Dark
White
Purple
Grey

Side Menu

8 icons · 2 variants

Wallet, Support, Rules, How to Play, Free Play, Settings, Chevron Left, Chevron Right.

Dark
White

Lobby

5 icons · 3 variants

Search, Menu, Person — plus Free Play and Money in Green.

Dark
White
Green

Tab Bar

5 icons · 2 variants

Lobby, Moneyboard, Buzz, Notifications, Profile.

Active
Inactive

Chat

10 icons · 4 variants

Camera, Send, Receive, Mentions, Muted, Suggestions, GIF, Image, Refresh, Add.

White
Light
Dark
Purple

Others

3 icons · 4 variants

Calendar, More, Share.

White
Light
Dark
Purple

Picks Section

4 icons · 4 variants

Directional arrows — Left, Right, Up, Down.

Default
Custom
Yellow
Red

Wallet

6 icons · 4 variants

Apple Pay, Credit Card, Debit Card, Bank Transfer, Venmo, PayPal.

White
Light
Dark
Purple

Filters

3 icons · 4 variants · 20px

Close, Open, Filter — 20px size.

White
Light
Dark
Purple

Parlay Details

4 icons · 2 variants · 18px

Fire, Poop, Comment, Share — 18px size.

Inactive
Active

Free Plays

2 icons · 2 states

Free Play ticket icon — Inactive and Active states.

Inactive
Active

Components

Inputs

21 input components across Sign Up, Login and account flows. Every field shows 5 states — Default, Focused, Filled, Completed, Error. Font: Montserrat SemiBold · Label 12px · Value 14px · Error 10px.

Login

Fields used on the login screen.

Input / Email or Username 5 states
Live demo
Email or Username
All states
Default
Email or Username ·
Focused
Email or Username |
Filled
Email or Username Renato
Completed
Email or Username Renato
Error
Email or Username Re
No account associated with this email or username.
Input / Password (Login) 5 states
Live demo
Password
All states
Default
Password·
Focused
Password|
Filled
Password••••••••••••••••
Completed
Password#Rrnnaattoo#123@
Error
Passwordrena123
Please enter a valid password.

Create Account I — Personal Info

First screen of account creation: name, address, date of birth, gender.

Input / Date of Birth 3 segments
Live demo
Month
Day
Year
Focused state (all segments)
MonthMM |
DayDD |
YearYYYY |
Filled state
Month01
Day15
Year1990
Input / Gender radio selection
Live demo
Male
Female
Other
Default
Male
Female
Other
Selected
Male
Female
Other
Input / State dropdown
Live demo
State
AL
AK
AZ
AR
CA
CO
CT
DE
FL
GA
HI
ID
IL
IN
IA
KS
KY
LA
ME
MD
MA
MI
MN
MS
MO
MT
NE
NV
NH
NJ
NM
NY
NC
ND
OH
OK
OR
PA
RI
SC
SD
TN
TX
UT
VT
VA
WA
WV
WI
WY
States
Default
State
Open
State
Completed
State FL
Error
State XX
Select a valid state.

Create Account II — Credentials

Email, phone, username, password and invite/promo codes.

Input / Promo Code badge variant
Live demo
Promo Code
All states
Default
Promo Code·
Filled (valid)
Promo CodeWANNA25
Error
Promo CodeBADCODE
Invalid promo code.
Completed
Promo CodeWANNA25
Input / Invite Code badge variant
Live demo
Invite Code
States
Default
Invite Code·
Filled (valid)
Invite CodeWANNA25
Error
Invite CodeBADCODE
Invalid invite code.
Completed
Invite CodeWANNA25
Input / Password (Create) 3 states
Live demo
Password
Focused (checklist visible)
Password|
A lowercase letter
An uppercase letter
One number
At least 8 characters
Filled (checks passing)
Password••••••••••••••••
A lowercase letter
An uppercase letter
One number
At least 8 characters
Error (mixed checks)
Passwordrena123
A lowercase letter
An uppercase letter
One number
At least 8 characters

Forgot Password

Email recovery, temporary password, and new password reset flow.

Token Reference

16 tokens

Semantic color tokens used across all Input states. Each semantic token aliases a primitive token, which resolves to different HEX values in Light and Dark mode.

Element · State Semantic Token Primitive Token HEX · Light / Dark
Label
Label · Default semantic/input/label/default neutral/400
L#988DAC
D#706784
Label · Active semantic/input/label/active accent/light · accent/dark
L#5723B0
D#A874FF
Label · Error semantic/input/label/error semantic/error · error-dark
L#EA3A2E
D#FF584D
Border
Border · Default semantic/input/border/default neutral/400 · neutral/600
L#988DAC
D#3F3855
Border · Focused semantic/input/border/focused accent/light · accent/dark
L#5723B0
D#A874FF
Border · Error semantic/input/border/error semantic/error · error-dark
L#EA3A2E
D#FF584D
Placeholder
Placeholder · Filled semantic/input/placeholder/filled neutral/black · neutral/white
L#090127
D#FFFFFF
Placeholder · Error semantic/input/placeholder/error semantic/error · error-dark
L#EA3A2E
D#FF584D
Messages
Message · Error semantic/input/message/error semantic/error · error-dark
L#EA3A2E
D#FF584D
Message · Success semantic/input/message/success semantic/success · success-dark
L#198F51
D#55BC5B
Password Check
Check · Empty semantic/input/check/empty neutral/300 · neutral/600
L#C7C0D4
D#3F3855
Check · Success semantic/input/check/success semantic/success · success-dark
L#198F51
D#55BC5B
Check · Error semantic/input/check/error semantic/error · error-dark
L#EA3A2E
D#FF584D
Background
BG · Label Chip semantic/input/bg/label-chip neutral/100 · neutral/700
L#F7F6F9
D#2B263F
BG · Option Active semantic/input/bg/option/active overlay/10
Lrgba(87,35,176,.10)
Drgba(87,35,176,.10)

Components

Input Label

Six input component variants. All use Montserrat SemiBold — 12px label · 14px value. Barlow Condensed Bold 24px for code fields.

Input / Data 5 states
Live demo
Label
All states
Default
Label·
Focused
Label|
Filled
LabelInput
Completed
LabelInput
Error
LabelInput
Error message
Input / Password 5 states
Live demo
Label
Default
Label·
Focused (checklist visible)
Label|
A lowercase letter
An uppercase letter
One number
At least 8 characters
Filled (all checks passing)
Label••••••••••••••••
A lowercase letter
An uppercase letter
One number
At least 8 characters
Completed
Label••••••••••••••••
Error (mixed checks)
Labelrena123
A lowercase letter
An uppercase letter
One number
At least 8 characters
Input / Date of Birth 6 states
Live demo
Month
Day
Year
Default
MonthMM
DayDD
YearYYYY
Month focused
MonthMM |
DayDD
YearYYYY
Day focused
Month12
DayDD |
YearYYYY
Year focused
Month12
Day30
YearYYYY |
Completed
Month12
Day30
Year1999
Error
Month12
Day30
Year2025

Error message

Input / State 3 states
Live demo
Label
AL — Alabama
FL — Florida
NY — New York
TX — Texas
Default
Label ·
Open / Focused
Label ·
AL — Alabama
FL — Florida
NY — New York
TX — Texas
Completed
Label FL
Input / Gender 4 states
Live demo
Label
Male
Female
Other
Default
Label
Male
Female
Other
Male selected
Label
Male
Female
Other
Female selected
Label
Male
Female
Other
Other selected
Label
Male
Female
Other
Input / Code 6 states
Live demo — type WANNA25 for success
Label
Default
Label·
Focused
Label|
Filled
LabelWANNA25
Completed
LabelWANNA25
Success
LabelWANNA25
Sucess message
Error
LabelWANNA25
Error message

Components

Buttons

18 button variants across 7 groups. Font: Montserrat SemiBold 600 · CTA uses Bold 700. All heights and radii are pixel-exact from Figma.

button.primary.brand6 variants
Default
Disabled
+ Icon
Icon Right
Icon Both
Payout
button.primary.accent1 variant
Default · bg support/yellow · text neutral/black
button.primary.gold3 variants
Default
Disabled
Icon Right
button.secondary4 variants
Outline
Soft
Soft Outline
Inline
button.link & button.compact2 variants
Link · 12px SemiBold · primary/500
Compact Accent · 12px SemiBold · support/yellow
button.cta2 variants
Primary Brand · gradient #5723B0 → #2C1357
Secondary Outline · bg primary/200 · border primary/500

Components

Buttons 2

Sistema de botões com tokens de design. Cada card exibe os estados e a tabela completa de tokens: componente → primitivo → HEX claro/escuro.

Button MD

48px de altura · border-radius 100px · Montserrat SemiBold 16px · padding 0 24px

Button / Brand 2 estados
Live demo
Estados
Default
Disabled
Button / Accent 2 estados
Live demo
Estados
Default
Disabled
Button / Gold 2 estados
Live demo
Estados
Default
Disabled
Button / Ghost 2 estados
Live demo
Estados
Default
Disabled

Button Compact

Botão reduzido · border-radius 42px · Montserrat SemiBold 12px · padding 8px 20px

Button / Compact / Yellow 2 estados
Live demo
Estados
Default
Disabled
Button / Compact / Secondary 2 estados
Live demo
Estados
Default
Disabled

Button Floating

52px de altura · border-radius 32px · Montserrat Bold 700 16px · ícone em pill 40×40px

Button / Floating / Brand 1 estado
Live demo
Estado
Default
Button / Floating / Secondary 1 estado
Live demo
Estado
Default
Button / Floating / AI 2 estados
Live demo
Estados
Expanded
Collapsed

Parlay Action

Componente de ação principal no bottom-sheet do parlay. 48px · duas áreas: Action (botão) e Hint (status). Controlado por BOOLEAN Show Action / Show Hint.

Parlay Action / Button 4 ações
Live demo — Ready
$5could pay$25
Go to checkout
Todas as variações
Ready
$5could pay$25
Go to checkout
Payout
$5could pay$25
Continue
Checkout
Go to checkout
Continue
Continue making picks
Parlay Action / Hint 7 variações
Live demo — Add Player
Add a player pick
Todas as variações
Empty 1
Start making picks!
Empty 2
Make a pick
Add Points
Add picks to increase your points
Add Player
Add a player pick
Different Event
Add a pick from a different event
Meet Requirement
Add picks to meet requirement
Max Exceeded
Max picks exceeded

Components

Headers

3 header variants. Navigation header centers the Wanna logo with a back arrow. Description header uses Barlow Condensed Bold 36px · uppercase · 3% tracking · 30px line-height. Label header combines both.

header/title 1 variant
Default
header/description 2 variants
With description

Label

This is a long description to go along the label if necessary.

Title only

Label

header/label 1 variant
Default

Label

This is a long description to go along the label if necessary.

Comments