Uber

An inspired interpretation of Uber's design language — a transportation-and-delivery super-app brand whose web surface is a black-and-white duet, framed by a custom geometric display sans, accented by a single signature pill shape (radius 999px) on every interactive element, and decorated only by editorial 4:3 illustrations of riders, drivers, and city objects.

Homepage Example

Uber
LatestTechCulture
Spotlight

Uber: The Future of Design

Read more

Article A
Read more
Article B
Read more
Article C
Read more
Article D
Read more
© 2026 Uber

Color Palette (13)

primary#000000
on-primary#ffffff
ink#000000
body#5e5e5e
mute#afafaf
hairline-mid#4b4b4b
canvas#ffffff
canvas-soft#efefef
canvas-softer#f3f3f3
surface-pressed#e2e2e2
link#0000ee
on-dark#ffffff
black-elevated#282828

Typography (13)

Uber
display-xxl52px · weight 700
Uber
display-xl36px · weight 700
Uber
display-lg32px · weight 700
Uber
display-md24px · weight 700
Uber
display-sm20px · weight 700
Uber
body-lg18px · weight 500
Uber
body-md16px · weight 400
Uber
body-md-strong16px · weight 500
Uber
body-sm14px · weight 400
Uber
body-sm-strong14px · weight 500
Uber
caption12px · weight 400
Uber
button-large18px · weight 500
Uber
button-md16px · weight 500

Components (39)

nav-bar
nav-bar
nav-link
nav-link
button-primary
button-primary
button-secondary
button-secondary
button-subtle
button-subtle
button-floating
button-floating
button-large-rounded
button-large-rounded
button-tab-translucent
button-tab-translucent
text-input
text-input
text-input-on-soft
text-input-on-soft
card-content
card-content
card-elevated
card-elevated
card-soft-tinted
card-soft-tinted
promo-card-illustrated
promo-card-illustrated
promo-card-on-dark
promo-card-on-dark
request-form-card
request-form-card
request-form-input-row
request-form-input-row
category-button
category-button
faq-row
faq-row
app-download-pill
app-download-pill
hero-band-light
hero-band-light
hero-band-dark
hero-band-dark
showcase-image-card
showcase-image-card
link-blue
link-blue
link-on-dark
link-on-dark
link-mute
link-mute
link-mute-soft
link-mute-soft
icon-button-circular
icon-button-circular
footer
footer
ex-pricing-tier
ex-pricing-tier
ex-pricing-tier-featured
ex-pricing-tier-featured
ex-product-selector
ex-product-selector
ex-cart-drawer
ex-cart-drawer
ex-app-shell-row
ex-app-shell-row
ex-data-table-cell
ex-data-table-cell
ex-auth-form-card
ex-auth-form-card
ex-modal-card
ex-modal-card
ex-empty-state-card
ex-empty-state-card
ex-toast
ex-toast

Border Radius

none (0px)
md (8px)
lg (12px)
xl (16px)
pill (999px)
pill-tab (36px)
full (9999px)

Design Philosophy

Overview

Uber is a transportation-and-delivery super-app — ride, eats, freight, the whole urban logistics layer — and the brand's web surface signals that scale through restraint: no third colour, no accent palette, no illustration that fights the headline. The page is structurally a black-and-white duet, where black `{colors.primary}` is the conversion anchor (every CTA pill, every nav login button, the footer fill) and `{colors.canvas}` white carries everything else. The only consistent decoration is a body of editorial 4:3 illustrations — riders, drivers, parking lots, cars-on-highway — that ground the marketing without leaking accent colour into the system.

Type is the second decisive voice. Two custom faces carry every page: `UberMove` at weight 700 for headlines (32 – 52 px display sizes with tight 1.22 – 1.25 line-height, never letter-spaced), and `UberMoveText` at weights 400 / 500 for body, button, and link. The pairing reads as engineering-grade — no italic, no decorative weight, no tracking flourish. Headlines are sentence-case; eyebrows are uppercase only when used as the section eyebrow ("WHY BECOME"); buttons are sentence-case.

The single shape signature is the pill. Every interactive element rounds to `{rounded.pill}` 999 px — primary CTA, secondary CTA, subtle gray pill, white floating pill, category chip, app-download badge. Cards and surfaces round to `{rounded.xl}` 16 px; the larger "Go Get 2026" annual-showcase card uses the same 16 px shape, just at scale. The tab-toggle on the hero ride-request form uses an off-shape `{rounded.pill-tab}` 36 px — barely-pill, deliberately tighter than the canonical 999 px pill.

**Key Characteristics:**

  • A two-colour CTA hierarchy: black `{colors.primary}` pill for primary conversion targets; white `{colors.canvas}` pill (sometimes with a soft drop shadow) for secondary; subtle gray `{colors.canvas-soft}` pill for tertiary or chip variants.
  • The pill is the single signature shape — `{rounded.pill}` 999 px on every interactive element except the tab-toggle (`{rounded.pill-tab}` 36 px) and the larger product cards (`{rounded.xl}` 16 px).
  • Every headline is sentence-case in `{typography.display-xl}` / `{typography.display-xxl}` weight 700; no all-caps display.
  • Editorial 4:3 illustrations of riders / drivers / cars are the only consistent decorative system; no gradients, no atmospheric backdrops, no shadows that aren't card-elevation hints.
  • A signature alternating-band rhythm: white feature card → black promo card (with white text and white CTA) → white feature card → black footer. The black bands are NOT hero-only; they appear mid-page as promo callouts.
  • A signature ride-request form card on the hero: pickup pin input + destination input + date/time chip + black "See prices" pill, all stacked inside a `{rounded.xl}` shadowed card.

Colors

Brand & Accent

  • **Ink Black** (`{colors.primary}` — `#000000`): The brand's only conversion colour. Every primary CTA pill, the footer fill, every dark promo band, every nav login button. The system has no secondary accent.
  • **Surface Pressed** (`{colors.surface-pressed}` — `#e2e2e2`): The pressed-state fill for white pills — a soft grey that's used only in active / pressed states.
  • **Black Elevated** (`{colors.black-elevated}` — `#282828`): A near-black used on hover for the translucent white tab-toggle pill. Documented as a system colour because it appears on a recurring brand control.

Surface

  • **Canvas** (`{colors.canvas}` — `#ffffff`): The default page background.
  • **Canvas Soft** (`{colors.canvas-soft}` — `#efefef`): The soft gray fill for category chips, form-input rows inside the ride-request card, and subtle pill buttons.
  • **Canvas Softer** (`{colors.canvas-softer}` — `#f3f3f3`): A slightly lighter gray used as a nested-input fill on white surfaces.

Text

  • **Ink** (`{colors.ink}` — `#000000`): Every heading and body paragraph on light surfaces.
  • **Body** (`{colors.body}` — `#5e5e5e`): Secondary text — captions, sub-headings, supporting copy.
  • **Hairline Mid** (`{colors.hairline-mid}` — `#4b4b4b`): A mid-gray used for muted link text inside footer columns and breadcrumb-style nav.
  • **Mute** (`{colors.mute}` — `#afafaf`): The lightest text role — placeholder text, fine print, low-priority metadata.
  • **On Dark** (`{colors.on-dark}` — `#ffffff`): All text on `{colors.ink}` surfaces (footer, dark promo bands).

Semantic

The brand does not maintain a separate error / success / warning palette in its public marketing surface. Validation cues come from the primary black or from the brand's editorial illustrations. The `#0000ee` link colour is the system's only chromatic — it's the browser-default link blue, appearing in body-copy inline links inside legal / footer text.

Typography

Font Family

Two custom faces carry the entire system:

1. **A custom geometric display sans** (extracted as `UberMove`) for every headline. Weight 700 only; no italic; no tracking variation. Sizes range from `display-sm` 20 px up to `display-xxl` 52 px on the hero. Line-heights tighten to 1.22 – 1.25 at display sizes for a poured-on-the-page look.

2. **A custom text sans** (extracted as `UberMoveText`) for body, button, link, and small headings. Weights 400 and 500 are the working pair. Used at 12 – 18 px; 24 px maximum for ride-request form labels. Tracking is always neutral.

The two faces share a family DNA but never overlap roles — the display face never carries a body paragraph; the text face never carries a hero headline.

Hierarchy

| Token | Size | Weight | Line Height | Use |

|---|---|---|---|---|

| `{typography.display-xxl}` | 52px | 700 | 64px | Hero headline ("Go anywhere with Uber", "Drive when you want"). |

| `{typography.display-xl}` | 36px | 700 | 44px | Page section headlines ("Plan for later", "Safety, simplified"). |

| `{typography.display-lg}` | 32px | 700 | 40px | Promo-card headlines. |

| `{typography.display-md}` | 24px | 700 | 32px | Card titles, illustrated-promo headlines. |

| `{typography.display-sm}` | 20px | 700 | 28px | Sub-card headings. |

| `{typography.body-lg}` | 18px | 500 | 24px | Lead paragraphs and larger body. |

| `{typography.body-md}` | 16px | 400 | 24px | Default paragraph body. |

| `{typography.body-md-strong}` | 16px | 500 | 20px | Bolded inline body and most button labels. |

| `{typography.body-sm}` | 14px | 400 | 20px | Captions, secondary metadata. |

| `{typography.body-sm-strong}` | 14px | 500 | 16px | Bold caption / chip labels. |

| `{typography.caption}` | 12px | 400 | 20px | Fine print, footer secondary lines. |

| `{typography.button-large}` | 18px | 500 | 24px | Large rounded buttons inside the ride-request form. |

| `{typography.button-md}` | 16px | 500 | 20px | Default button label. |

Principles

  • **Sentence-case is the voice.** No all-caps headlines. Eyebrow tags ("WHY BECOME") are the rare exception.
  • **Weight 700 is for headlines; weight 500 is for buttons and emphasis.** Don't promote button labels to 700.
  • **No tracking flourish.** The display face is never letter-spaced, positive or negative.
  • **Two faces, two roles.** UberMove for display; UberMoveText for everything else. Never cross the streams.

Note on Font Substitutes

The two faces are proprietary. Open-source substitutes:

  • **Display sans** — *Inter* weight 700 with `font-feature-settings: "ss01"` enabled comes closest. *Geist* weight 700 is the second-best option.
  • **Text sans** — *Inter* weights 400 / 500 match the geometric width and x-height. *Plus Jakarta Sans* is a softer alternative if the brand wants a less neutral feel.

Layout

Spacing System

  • **Base unit**: 4 px. Most captured values are multiples of 4 with a few 6-px sub-multiples (10, 14) inside button padding.
  • **Tokens**: `{spacing.xxs}` 4 px · `{spacing.xs}` 6 px · `{spacing.sm}` 8 px · `{spacing.md}` 12 px · `{spacing.lg}` 16 px · `{spacing.xl}` 20 px · `{spacing.2xl}` 24 px · `{spacing.3xl}` 32 px.
  • **Section padding**: marketing bands sit at `{spacing.3xl}` 32 px top/bottom on tighter pages and `{spacing.3xl} {spacing.3xl}` for hero bands; promo cards inset at `{spacing.2xl}` 24 px.
  • **Card interior padding**: content cards sit at `{spacing.2xl}` 24 px; the ride-request form uses `{spacing.lg}` 16 px to keep the form compact.
  • **Inline gap**: button rows, category chip rows, app-store pill rows use `{spacing.md}` 12 px between siblings.

Grid & Container

  • **Max width**: ~1200 px container; centred with horizontal gutters of `{spacing.3xl}` 32 px on desktop, `{spacing.lg}` 16 px on mobile.
  • **Column patterns**:
  • Promo-card rows: 2-up at desktop (image left + content right, alternating sides), 1-up at mobile.
  • Category chips: horizontal flex with wrap.
  • FAQ rows: full-width single-column.
  • App-download pills: 2-up at desktop (Rider + Driver), 1-up at mobile.

Whitespace Philosophy

Card-to-card spacing carries the rhythm — between two stacked promo cards there's roughly a full `{spacing.3xl}` 32 px gutter; inside a card the headline / paragraph / CTA stack is tight (`{spacing.sm}` 8 px between siblings). The black promo bands and the footer have no internal hairlines — content sits on flat ink with white text.

Responsive Strategy

#### Breakpoints

| Name | Width | Key Changes |

|---|---|---|

| Mobile | < 600px | Nav collapses to hamburger; promo cards stack; ride-request form becomes full-width. |

| Mobile-Large | 600–767px | Same as Mobile; chip rows enable horizontal scroll. |

| Tablet | 768–1119px | 2-up promo grid at upper widths; nav stays horizontal until ≥ 1120 px. |

| Desktop | 1120–1135px | Full nav row visible; promo cards 2-up. |

| Desktop-Large | ≥ 1136px | Container caps at ~1200 px; bands stay edge-to-edge while content centres. |

#### Touch Targets

The pill `button-primary` renders at ~44 px tall (10 px vertical padding + 24 px label line-height); the larger `button-large-rounded` at ~56 px. Both meet WCAG AAA at all breakpoints. Category chips inflate to ≥ 44 px tall through extra padding on touch viewports.

#### Collapsing Strategy

  • **Nav**: full link row + Help / Log in / Sign up pills at desktop. Collapses to logo + hamburger at mobile; menu overlays full-screen with the same link list stacked.
  • **Ride-request form card**: at desktop, the form sits inside a max-490-px `{rounded.xl}` card with shadow. At mobile, full-width with edge-to-edge.
  • **Promo cards**: at desktop, image-left + content-right (or alternating). At mobile, image always above content.
  • **Annual showcase card**: scales from a 2:3 desktop frame to a 4:3 mobile frame; date text resizes proportionally.

#### Image Behavior

  • **Editorial illustrations**: 4:3 or 16:9 hard-edge rectangles; never cropped to a circle, never tilted. Aspect preserved.
  • **Photography**: same — square or landscape; framed inside `{rounded.xl}` card chrome.
  • **Maps in ride-request flow**: full-bleed inside a card; rounded corners follow the parent card.
  • **Logo bar**: SVG vector, monochrome, consistent height.

Elevation & Depth

| Level | Treatment | Use |

|---|---|---|

| Level 0 — Flat | No shadow, no border. | Default — most cards and surfaces lean on hairline-of-canvas contrast. |

| Level 1 — Subtle Drop | `rgba(0, 0, 0, 0.12) 0px 4px 16px 0px` | Card-elevated frames around promo cards on light bands. |

| Level 2 — Card Drop | `rgba(0, 0, 0, 0.16) 0px 4px 16px 0px` | The ride-request form card on the hero; large content cards with embedded forms. |

| Level 3 — Pill Float | `rgba(0, 0, 0, 0.16) 0px 2px 8px 0px` | The floating white pill button (the one that floats over hero photography). |

Decorative Depth

  • **Black bands as polarity-flip depth**: the brand uses pure black `{colors.primary}` mid-page bands to break the white-on-white rhythm. The polarity shift IS the depth cue.
  • **Editorial illustrations as in-card depth**: every promo card has a single 4:3 illustration as its left or right column. The illustration's visual weight is part of the card's elevation read.
  • **Pill geometry as micro-depth**: `{rounded.pill}` 999 px applied at varying button heights creates a stack of nested pills that reads as visual hierarchy.

Shapes

Border Radius Scale

| Token | Value | Use |

|---|---|---|

| `{rounded.none}` | 0px | Full-bleed hero bands, footer fill, raw image edges. |

| `{rounded.md}` | 8px | Form-input fields inside the ride-request card. |

| `{rounded.lg}` | 12px | Smaller secondary card chrome. |

| `{rounded.xl}` | 16px | Canonical card radius — promo cards, content cards, ride-request form card, annual-showcase card, large rounded buttons. |

| `{rounded.pill}` | 999px | The brand's signature interactive shape — every pill button, category chip, app-download pill, icon button. |

| `{rounded.pill-tab}` | 36px | The translucent-white tab-toggle pill on the hero (Ride / Drive). |

| `{rounded.full}` | 9999px | Identical effect to `{rounded.pill}` for circular icon containers. |

Photography Geometry

  • **Editorial illustrations**: 4:3 landscape inside promo cards; 16:9 for full-width showcase frames.
  • **Driver / rider portraits**: 4:5 portrait crop; framed by `{rounded.xl}` 16 px card chrome.
  • **Annual showcase image**: 2:3 portrait at desktop, scaling to 4:3 at mobile. The image fills the card; the headline overlays the bottom.
  • **Logo bar**: monochrome SVG vectors at consistent ~24 px height.
  • **Avatars** (where used): square or `{rounded.full}` circle, never `{rounded.lg}` rounded-square.

Components

Buttons

**`button-primary`** — the canonical black pill, the brand's conversion target.

  • Background `{colors.primary}`, text `{colors.on-primary}`, label set in `{typography.button-md}`, padding `{spacing.md} {spacing.md}`, shape `{rounded.pill}` 999 px.

**`button-secondary`** — the white pill paired with the black primary.

  • Background `{colors.canvas}`, text `{colors.ink}`, same label and padding as `button-primary`, shape `{rounded.pill}`.

**`button-subtle`** — the gray secondary pill used for tertiary actions inside cards (e.g., "Learn more" / "Use Reserve").

  • Background `{colors.canvas-soft}` (`#efefef`), text `{colors.ink}`, label in `{typography.button-md}`, padding `{spacing.md} {spacing.lg}`, shape `{rounded.pill}`.

**`button-floating`** — the white pill with a subtle drop-shadow that floats over a dark or photographic surface.

  • Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.md}`, shape `{rounded.pill}`. Carries a Level 3 pill-float shadow.

**`button-large-rounded`** — the bigger black call-to-action used inside the ride-request flow ("Yes, help me").

  • Background `{colors.primary}`, text `{colors.on-primary}`, label in `{typography.button-large}`, padding `{spacing.lg} {spacing.xl}`, shape `{rounded.xl}` 16 px (not pill — the only black CTA that breaks the pill rule, used in the larger form context).

**`button-tab-translucent`** — the tab-toggle on the hero ride-request form (Ride / Drive).

  • Background `{colors.canvas}`, text `{colors.ink}`, label in `{typography.body-md-strong}`, shape `{rounded.pill-tab}` 36 px (off-shape, deliberately tighter than the canonical 999 px pill).

Cards & Containers

**`card-content`** — the canonical content card.

  • Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.2xl}`, shape `{rounded.xl}` 16 px. No shadow on the default state.

**`card-elevated`** — the content card with Level 1 subtle drop.

  • Background `{colors.canvas}`, text `{colors.ink}`, same padding + shape as `card-content`. Shadow at Level 1.

**`card-soft-tinted`** — the gray-tinted card used as a sub-region inside the page (e.g., "Plan for later" callout).

  • Background `{colors.canvas-soft}`, text `{colors.ink}`, padding `{spacing.2xl}`, shape `{rounded.xl}`.

**`promo-card-illustrated`** — the 2-column promo card with illustration on one side and copy on the other.

  • Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.2xl}`, shape `{rounded.xl}`. Headline in `{typography.display-md}` or larger.

**`promo-card-on-dark`** — the polarity-flipped promo card in black.

  • Background `{colors.ink}`, text `{colors.on-dark}`, padding `{spacing.2xl}`, shape `{rounded.xl}`. Used for the "Drive with Uber" mid-page band.

**`request-form-card`** — the hero ride-request form chrome.

  • Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.lg}`, shape `{rounded.xl}`. Carries Level 2 card drop shadow.

**`request-form-input-row`** — the per-field row inside the request-form card.

  • Background `{colors.canvas-soft}`, text `{colors.ink}`, padding `{spacing.lg}`, shape `{rounded.md}` 8 px. Hosts an icon + label + value.

**`showcase-image-card`** — the giant "GO•GET 2026" annual showcase card.

  • Background `{colors.ink}`, text `{colors.on-dark}` overlay, padding `{spacing.3xl}`, shape `{rounded.xl}`. Display-xxl headline overlays the bottom of the image.

Inputs & Forms

**`text-input`** — the canonical text input.

  • Background `{colors.canvas-soft}`, text `{colors.ink}`, body in `{typography.body-md}`, padding `{spacing.lg}`, shape `{rounded.md}` 8 px.

**`text-input-on-soft`** — the nested input on a white card (slightly lighter fill).

  • Background `{colors.canvas-softer}`, otherwise identical to `text-input`.

Navigation

**`nav-bar`** — the sticky top nav.

  • Background `{colors.canvas}` on light pages, switches to `{colors.ink}` on the rare dark page (e.g., Uber Eats hero). Padding `{spacing.lg} {spacing.3xl}`.

**`nav-link`** — the link row inside `nav-bar`.

  • Text `{colors.ink}`, set in `{typography.body-md-strong}` 500 weight.

**`footer`** — the deep-black footer band.

  • Background `{colors.primary}` (the brand's only true black surface), text `{colors.on-dark}`, padding `{spacing.3xl} {spacing.3xl}`. Body in `{typography.body-sm}`; column eyebrows in `{typography.body-md-strong}`.

Signature Components

**`hero-band-light`** — the white hero with the ride-request card.

  • Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.3xl} {spacing.3xl}`. Headline in `{typography.display-xxl}` (52 px / 700) on the left; `request-form-card` on the right.

**`hero-band-dark`** — the rare black hero (used on Uber Eats and Drive landing).

  • Background `{colors.ink}`, text `{colors.on-dark}`, padding `{spacing.3xl} {spacing.3xl}`. Same display-xxl headline scale; CTA inverts to `button-secondary` white pill.

**`category-button`** — the horizontal-scroll category row ("Reserve / Rentals / Teens / Group rides").

  • Background `{colors.canvas-soft}`, text `{colors.ink}`, label in `{typography.body-sm-strong}`, padding `{spacing.sm} {spacing.lg}`, shape `{rounded.pill}`. An icon precedes the label.

**`faq-row`** — the FAQ accordion item.

  • Background `{colors.canvas}`, text `{colors.ink}`, question in `{typography.body-md-strong}`, padding `{spacing.lg}` 0. No card chrome — hairline dividers between rows.

**`app-download-pill`** — the "Download the Rider app" / "Download the Driver app" pill.

  • Background `{colors.ink}`, text `{colors.on-dark}`, label in `{typography.body-md-strong}`, padding `{spacing.md} {spacing.xl}`, shape `{rounded.pill}`.

**`icon-button-circular`** — the round icon container used in the nav and inside the ride-request card.

  • Background `{colors.canvas-soft}`, dark icon, shape `{rounded.full}`. No label.

Links

**`link-blue`** — the system-default browser-blue link inside legal / footer fine print.

  • Text `{colors.link}` (`#0000ee`), body in `{typography.body-md}`.

**`link-on-dark`** — the white link inside dark bands.

  • Text `{colors.on-dark}`, body in `{typography.body-md}`.

**`link-mute`** — the muted gray link inside footer columns.

  • Text `{colors.hairline-mid}`, body in `{typography.body-md}`.

**`link-mute-soft`** — the lightest gray link, used for low-priority secondary text on dark surfaces.

  • Text `{colors.mute}`, body in `{typography.body-md}`.

Examples (illustrative)

> Auto-derived kit-mirror demonstration surfaces (`scripts/derive-examples-block.mjs`). Each `ex-*` entry references brand-native primitives so downstream consumers (`/preview-design`, `/generate-kit`) re-skin the same 10 surfaces consistently. `TO_FILL` markers indicate missing primitives — resolve in the LLM judgment pass.

**`ex-pricing-tier`** — Default Pricing tier card. Re-uses feature-card chrome with brand canvas-soft surface.

  • Properties: `backgroundColor`, `textColor`, `borderColor`, `rounded`, `padding`

**`ex-pricing-tier-featured`** — Featured/highlighted tier — polarity-flipped surface (dark fill + light text in light mode, light fill + dark text in dark mode).

  • Properties: `backgroundColor`, `textColor`, `rounded`, `padding`

**`ex-product-selector`** — What's Included summary card — re-purposed for SaaS / B2B verticals (NOT a literal product gallery).

  • Properties: `backgroundColor`, `rounded`, `padding`

**`ex-cart-drawer`** — Subscription summary — re-purposed for SaaS / B2B (line items per add-on, not literal cart).

  • Properties: `backgroundColor`, `rounded`, `padding`, `item-divider`

**`ex-app-shell-row`** — Sidebar nav row inside the App Shell example. Active state uses brand primary as the indicator.

  • Properties: `backgroundColor`, `activeIndicator`, `rounded`, `padding`

**`ex-data-table-cell`** — Default data-table th + td chrome. Header uses mono-caps eyebrow typography; body uses body-sm.

  • Properties: `headerBackground`, `headerTypography`, `bodyTypography`, `cellPadding`, `rowBorder`

**`ex-auth-form-card`** — Sign-in / sign-up card. Re-uses feature-card chrome with text-input primitives inside.

  • Properties: `backgroundColor`, `rounded`, `padding`

**`ex-modal-card`** — Modal dialog surface — same chrome as feature-card with elevated shadow.

  • Properties: `backgroundColor`, `rounded`, `padding`

**`ex-empty-state-card`** — Empty-state illustration frame.

  • Properties: `backgroundColor`, `rounded`, `padding`, `captionTypography`

**`ex-toast`** — Toast notification surface — feature-card shape + medium shadow.

  • Properties: `backgroundColor`, `rounded`, `padding`, `typography`

Do's and Don'ts

Do

  • Reserve `{colors.primary}` (`#000000`) for every primary CTA pill. One black pill per visible viewport is the brand's whole conversion story.
  • Use `{rounded.pill}` 999 px on every interactive element (buttons, chips, app pills). The pill IS the brand's geometric signature.
  • Render cards in `{rounded.xl}` 16 px — promo cards, content cards, the ride-request form card, the annual-showcase card all share this radius.
  • Set every headline in `{typography.display-*}` weight 700 in sentence-case. The display face never carries body copy.
  • Use polarity-flipped black promo bands mid-page to break up white-on-white rhythm. The polarity shift IS the depth cue.
  • Anchor every promo card with a 4:3 editorial illustration; never use generic stock imagery.

Don't

  • Don't introduce a second brand accent colour (orange, blue, green). The brand's entire UI is black-and-white plus grayscale; new accents flatten the system.
  • Don't render the primary CTA as a `{rounded.xl}` rectangle except inside the larger ride-request flow (where `button-large-rounded` is the documented exception).
  • Don't use all-caps display headlines. Sentence-case is the voice; uppercase is restricted to rare eyebrow tags.
  • Don't drop a soft drop-shadow on every card. The brand uses Level 0 flat as the default; shadow is reserved for the floating pill and the ride-request form.
  • Don't reduce the brand to its illustration system alone. The pill geometry + black/white duet carries the brand even without illustrations.
  • Don't tighten or loosen letter-spacing on the display face. The brand never letter-spaces; default tracking is part of the voice.
  • Don't use `{rounded.full}` 9999 px for square cards — the pill 999 px and full 9999 px effects are identical for interactive elements, but cards stay at `{rounded.xl}` 16 px.

개요

Uber는 차량 탑승, 식사, 화물 운송, 전체 도시 물류 계층을 아우르는 운송 및 배송 슈퍼 앱입니다. 브랜드의 웹 표면 신호는 제한을 통해 확장됩니다. 세 번째 색상도 없고, 강조 색상도 없고, 헤드라인을 장식하는 일러스트레이션도 없습니다. 페이지는 구조적으로 흑백 이중주입니다. 여기서 검은색 `{colors.primary}`는 전환 앵커(모든 CTA 알약, 모든 탐색 로그인 버튼, 바닥글 채우기)이고 `{colors.canvas}` 흰색은 다른 모든 것을 전달합니다. 유일하게 일관된 장식은 시스템에 강조 색상을 누출시키지 않고 마케팅을 기반으로 하는 라이더, 운전자, 주차장, 고속도로 차량 등의 편집 4:3 일러스트레이션 본체입니다.

유형은 두 번째 결정적인 목소리입니다. 두 개의 사용자 정의 페이스가 모든 페이지를 전달합니다. 헤드라인의 경우 가중치 700인 'UberMove'(행 높이가 1.22~1.25로 촘촘하고 문자 간격이 없는 32~52px 디스플레이 크기), 본문, 버튼 및 링크의 경우 가중치가 400/500인 'UberMoveText'입니다. 페어링은 엔지니어링 등급으로 읽혀집니다. 이탤릭체도 없고 장식적인 무게도 없으며 추적이 번성하지도 않습니다. 헤드라인은 문장 단위입니다. 눈썹은 섹션 눈썹으로 사용될 때만 대문자입니다("WHY BECOME"). 버튼은 문장 대소문자입니다.

단일 모양 서명은 알약입니다. 모든 대화형 요소는 `{rounded.pill}` 999픽셀(기본 CTA, 보조 CTA, 미묘한 회색 알약, 흰색 부동 알약, 카테고리 칩, 앱 다운로드 배지)로 반올림됩니다. 카드와 표면은 `{rounded.xl}` 16픽셀로 반올림됩니다. 더 큰 "Go Get 2026" 연간 쇼케이스 카드는 동일한 16px 모양을 사용합니다. 영웅 탑승 요청 양식의 탭 토글은 오프 모양의 `{rounded.pill-tab}` 36px를 사용합니다. 알약이 거의 없으며 의도적으로 표준 999px 알약보다 더 단단합니다.

**주요 특징:**

  • 2색 CTA 계층 구조: 기본 전환 타겟을 위한 검은색 `{colors.primary}` 알약; 보조용 흰색 `{colors.canvas}` 알약(때로는 부드러운 그림자가 있음); 3차 또는 칩 변형을 위한 미묘한 회색 `{colors.canvas-soft}` 알약.
  • 알약은 탭 토글(`{rounded.pill-tab}` 36px)과 더 큰 제품 카드(`{rounded.xl}` 16px)를 제외한 모든 대화형 요소의 `{rounded.pill}` 999px인 단일 서명 모양입니다.
  • 모든 헤드라인은 `{typography.display-xl}` / `{typography.display-xxl}` 가중치 700의 문장 대소문자입니다. 모두 대문자로 표시되지 않습니다.
  • 라이더/운전자/자동차의 편집 4:3 일러스트레이션은 유일하게 일관된 장식 시스템입니다. 그라데이션도 없고, 분위기 있는 배경도 없고, 카드 높이 힌트가 아닌 그림자도 없습니다.
  • 시그니처 교대 밴드 리듬: 흰색 기능 카드 → 검정색 프로모션 카드(흰색 텍스트 및 흰색 CTA 포함) → 흰색 기능 카드 → 검정색 바닥글. 블랙 밴드는 영웅 전용이 아닙니다. 페이지 중간에 프로모션 문구로 표시됩니다.
  • 영웅의 서명 탑승 요청 양식 카드: 픽업 핀 입력 + 목적지 입력 + 날짜/시간 칩 + 검은색 "가격 보기" 알약, 모두 `{rounded.xl}` 그림자 카드 안에 쌓여 있습니다.

색상

브랜드 및 액센트

  • **잉크 블랙**(`{colors.primary}` — `#000000`): 브랜드의 유일한 변환 색상입니다. 모든 기본 CTA 알약, 바닥글 채우기, 모든 어두운 프로모션 밴드, 모든 탐색 로그인 버튼. 시스템에는 보조 악센트가 없습니다.
  • **Surface Pressed** (`{colors.surface-pressed}` — `#e2e2e2`): 흰색 알약에 대한 눌린 상태 채우기 — 활성/눌린 상태에서만 사용되는 부드러운 회색입니다.
  • **Black Elevated** (`{colors.black-elevated}` — `#282828`): 반투명 흰색 탭 토글 알약에 마우스를 올리면 검정색에 가까운 색상입니다. 반복되는 브랜드 컨트롤에 표시되므로 시스템 색상으로 문서화됩니다.

표면

  • **캔버스** (`{colors.canvas}` — `#ffffff`): 기본 페이지 배경입니다.
  • **부드러운 캔버스**(`{colors.canvas-soft}` — `#efefef`): 카테고리 칩을 위한 부드러운 회색 채우기, 탑승 요청 카드 내부의 양식 입력 행 및 섬세한 알약 버튼입니다.
  • **부드러운 캔버스** (`{colors.canvas-softer}` — `#f3f3f3`): 흰색 표면에 중첩된 입력 채우기로 사용되는 약간 더 밝은 회색입니다.

텍스트

  • **잉크**(`{colors.ink}` — `#000000`): 밝은 표면의 모든 제목과 본문 단락.
  • **본문**(`{colors.body}` — `#5e5e5e`): 보조 텍스트 — 캡션, 하위 제목, 지원 문구.
  • **Hairline Mid** (`{colors.hairline-mid}` — `#4b4b4b`): 바닥글 열 내부의 음소거된 링크 텍스트와 탐색경로 스타일 탐색에 사용되는 중간 회색입니다.
  • **음소거**(`{colors.mute}` — `#afafaf`): 가장 가벼운 텍스트 역할 — 자리 표시자 텍스트, 작은 글씨, 우선순위가 낮은 메타데이터.
  • **어두운 곳**(`{colors.on-dark}` — `#ffffff`): `{colors.ink}` 표면의 모든 텍스트(바닥글, 어두운 프로모션 밴드).

의미론

브랜드는 공개 마케팅 표면에 별도의 오류/성공/경고 팔레트를 유지하지 않습니다. 검증 단서는 기본 검정색이나 브랜드의 편집 일러스트레이션에서 나옵니다. '#0000ee' 링크 색상은 시스템의 유일한 색채입니다. 이는 브라우저 기본 링크 파란색이며 법적/바닥글 텍스트 내부의 본문 복사 인라인 링크에 나타납니다.

타이포그래피

글꼴 계열

두 개의 사용자 정의 얼굴이 전체 시스템을 운반합니다.

1. **맞춤형 기하학적 디스플레이

概要

Uber は、乗車、食事、貨物、都市物流レイヤー全体の輸送と配達のスーパー アプリであり、ブランドの Web 表面は、制約を乗り越えて拡張するシグナルを示しています。つまり、第 3 の色、アクセント パレット、見出しに対抗するイラストはありません。このページは構造的に白黒のデュエットで、黒の「{colors.primary}」がコンバージョン アンカー (すべての CTA ピル、すべてのナビゲーション ログイン ボタン、フッターの塗りつぶし) であり、白の `{colors.canvas}` がその他すべてを担っています。唯一の一貫した装飾は、ライダー、ドライバー、駐車場、高速道路上の車など、編集用の 4:3 イラストの本体であり、アクセントカラーをシステムに漏らすことなくマーケティングを基礎としています。

タイプは2番目の決定的な音声です。各ページには 2 つのカスタム フェイスが含まれます。見出しの場合はウェイト 700 の `UberMove` (表示サイズは 32 ~ 52 ピクセル、行の高さは 1.22 ~ 1.25 で、文字間隔は決してありません)、本文、ボタン、およびリンクの場合はウェイト 400 / 500 の `UberMoveText` です。この組み合わせはエンジニアリンググレードと言えます。斜体も装飾的な重みも、トラッキングの装飾もありません。見出しは文例ごとに決まります。眉毛はセクション眉毛 (「WHY BECOME」) として使用される場合にのみ大文字になります。ボタンは大文字と小文字を区別します。

単一の形状の特徴は錠剤です。すべてのインタラクティブな要素は、「{rounded.pill}」 999 ピクセルに丸められます。つまり、プライマリ CTA、セカンダリ CTA、微妙な灰色の錠剤、白い浮遊錠剤、カテゴリ チップ、アプリ ダウンロード バッジです。カードとサーフェスは `{rounded.xl}` 16 ピクセルに丸められます。大きい方の「Go Get 2026」年次ショーケース カードは、同じ 16 ピクセルの形状を縮尺どおりに使用しています。ヒーローの乗車リクエスト フォームのタブ トグルでは、形状が崩れた `{rounded.pill-tab}` 36 ピクセルが使用されています。これはほとんど錠剤であり、正規の 999 ピクセルの錠剤よりも意図的にきついです。

**主な特徴:**

  • 2 色の CTA 階層: 主要なコンバージョン ターゲットには黒の `{colors.primary}` 錠剤。セカンダリ用の白い `{colors.canvas}` 錠剤 (場合によってはソフト ドロップ シャドウ付き)。微妙な灰色の `{colors.canvas-soft}` 錠剤は、三次またはチップ バリアント用です。
  • 錠剤は単一の署名形状です。タブ切り替え (`{rounded.pill-tab}` 36 ピクセル) と大きな商品カード (`{rounded.xl}` 16 ピクセル) を除くすべてのインタラクティブ要素上の `{rounded.pill}` 999 ピクセルです。
  • すべての見出しは `{typography.display-xl}` / `{typography.display-xxl}` の重み 700 で文と文字を区別します。すべて大文字の表示はありません。
  • ライダー/ドライバー/車の編集用 4:3 イラストは、唯一の一貫した装飾システムです。グラデーション、大気の背景、カードの標高のヒント以外の影はありません。
  • 特徴的な交互バンド リズム: 白いフィーチャー カード → 黒のプロモ カード (白いテキストと白い CTA) → 白いフィーチャー カード → 黒いフッター。黒のバンドはヒーローだけではありません。ページの中央にプロモーションコールアウトとして表示されます。
  • ヒーローの署名乗車リクエスト フォーム カード: ピックアップ PIN 入力 + 目的地入力 + 日付/時刻チップ + 黒の「料金を参照」錠剤。すべて「{rounded.xl}」の影付きカードの中に積み重ねられています。

ブランドとアクセント

  • **インク ブラック** (`{colors.primary}` — `#000000`): ブランドの唯一の変換色。すべての主要な CTA ピル、フッターの塗りつぶし、すべてのダーク プロモーション バンド、すべてのナビゲーション ログイン ボタン。このシステムには二次アクセントはありません。
  • **Surface Pressed** (`{colors.surface-pressed}` — `#e2e2e2`): 白い錠剤の押された状態の塗りつぶし — アクティブ/押された状態でのみ使用される柔らかい灰色。
  • **Black Elevated** (`{colors.black-elevated}` — `#282828`): ホバー時に半透明の白いタブトグル ピルに使用される黒に近い色。繰り返しのブランド コントロールに表示されるため、システム カラーとして文書化されます。

表面

  • **キャンバス** (`{colors.canvas}` — `#ffffff`): デフォルトのページの背景。
  • **キャンバス ソフト** (`{colors.canvas-soft}` — `#efefef`): カテゴリ チップ、配車リクエスト カード内のフォーム入力行、および微妙なピル ボタンのソフト グレーの塗りつぶし。
  • **Canvas Softer** (`{colors.canvas-softer}` — `#f3f3f3`): 白い表面上のネストされた入力塗りつぶしとして使用されるわずかに明るいグレー。

テキスト

  • **インク** (`{colors.ink}` — `#000000`): 明るい表面上のすべての見出しと本文の段落。
  • **本文** (`{colors.body}` — `#5e5e5e`): 二次テキスト — キャプション、小見出し、サポートコピー。
  • **ヘアライン ミッド** (`{colors.hairline-mid}` — `#4b4b4b`): フッター列およびブレッドクラム スタイルのナビゲーション内のミュートされたリンク テキストに使用される中間グレー。
  • **ミュート** (`{colors.mute}` — `#afafaf`): 最も軽いテキストの役割 — プレースホルダー テキスト、細字、優先度の低いメタデータ。
  • **オン ダーク** (`{colors.on-dark}` — `#ffffff`): `{colors.ink}` 表面上のすべてのテキスト (フッター、ダーク プロモーション バンド)。

セマンティック

このブランドは、公開マーケティング領域において個別のエラー/成功/警告パレットを維持していません。検証の手がかりは、原色の黒またはブランドのエディトリアルイラストから得られます。 「#0000ee」リンクの色はシステムの唯一の有彩色です。これはブラウザのデフォルトのリンク青で、法的/フッター テキスト内の本文コピーのインライン リンクに表示されます。

タイポグラフィー

フォントファミリー

2 つのカスタム フェイスがシステム全体を担います。

1. **カスタム幾何学的表示