The League

The League's iOS app is a black-tie members' club rendered as software.

Back to all styles

A live page in this style is not built yet — the CSS variables and the prompt below are enough to reproduce it.

At a glance

17tokens
9type steps
1radius steps
14pxspacing base

The League, in one page

The League's iOS app is a black-tie members' club rendered as software. Open it and the entire screen is a near-true-black canvas (#0A0A0A) — the color of a private club after dark, a velvet rope, a leather-bound member directory. There is almost no UI chrome in the conventional sense: no shadows, no bright fills, no playful color. Depth is created entirely by 1px gold-tinted hairline borders and an embossed calling-card treatment. The signature object is the prospect card — a single curated member presented like a heavy paper calling card: a photo in the top two-thirds, then a Cormorant-style display-serif name with the age in a lighter weight, a short gold hairline rule, and a stack of credential bullets (title · company, school, neighborhood) each prefixed with a small gold mark. It does not read like a swipe-app card; it reads like an embossed introduction handed to you by a maître d'.

The League's brand promise is exclusivity and curation — you don't browse infinitely; a concierge hand-selects a small daily "batch" of vetted members. The interface enforces that scarcity: a "Today's Batch — 7 Prospects" banner sits above the card, and the concierge appears as a recurring character via the Concierge Note — an italic serif message, gold-accented and set behind a left gold rule, that reads like a personal introduction ("I think you and Eleanor would hit it off — you both ran the New York Marathon and studied at HBS"). This human, hand-curated voice is the emotional core of the product, and the design language — serif, gold, hairline, restraint — exists to make the experience feel earned and refined rather than gamified.

The color system is monastically disciplined. One gold (#C8A35A, with a brighter #DBBA71 and deeper #A8863F for states) does *all* the accent work: the crest/wordmark, every hairline rule, the single primary CTA, the credential bullets, the verification seal, and the active tab. There is no second accent. Champagne (#E8DCC0) appears rarely on premium/celebration surfaces; a muted sage (#6FAE8A) and dusty rose (#C77A7A) cover success/error only. Photography is the only full-color element and it sits inside a hairline-bordered frame so it reads as a mounted portrait, not a feed image. The League is, deliberately, almost monochrome — black, gold, and a warm off-white for text.

Typography is the brand's voice. A Cormorant Garamond–class display serif carries every name, the wordmark, and screen titles — high-contrast, literary, the typography of an engraved invitation. A clean geometric sans (Jost-class) handles credentials, body, and UI, frequently in a quiet letter-spaced uppercase for eyebrows and tab labels. The serif/sans split is not decorative — it encodes the hierarchy: serif = the person and the institution (gravitas), sans = the machine and the metadata (utility). Names are serif 26pt bold; ages drop to a lighter serif weight beside them; eyebrows are 11pt uppercase gold tracked +2px; tab labels are tiny 9pt uppercase.

Key Characteristics:

Do's and don'ts

Do

  • Use a near-true-black canvas (#0A0A0A) — the club after dark; treat it as the only theme
  • Ration gold (#C8A35A) to the crest, hairlines, one CTA, and credential marks — nothing else
  • Replace every shadow with a 1px gold-tinted hairline (#2A2620) — depth is line, not light
  • Set names, the wordmark, titles, and concierge notes in the display serif (Cormorant-class)
  • Set credentials, body, eyebrows, buttons, and tabs in the geometric sans (Jost-class), often uppercase
  • Make the prospect card read like an embossed calling card — photo, serif name, gold rule, credential stack
  • Personify the concierge with italic serif notes behind a 2px gold left rule
  • Show scarcity explicitly — a daily batch count, finite prospects, never infinite scroll
  • Use sharp corner radii (2–6pt) — engraved-stationery geometry
  • Letter-space uppercase eyebrows (+2px) and buttons (+1.6px) for black-tie restraint
  • Use a gold *outline* heart and reserve the gold *fill* for the single primary CTA
  • Keep motion restrained — fades and draws, never a thrown swipe or confetti

Don't

  • Don't introduce a second accent color — gold is the only one; the rest is black and warm off-white
  • Don't use drop shadows anywhere — they read soft/consumer; the brand is engraved and hard-edged
  • Don't set a prospect name in sans or a tab label in serif — the serif/sans split IS the hierarchy
  • Don't round corners generously — no pills (except the rare tier toggle), no friendly 16pt+ radii
  • Don't fill buttons or cards with gold by default — gold fill is rationed to one CTA per screen
  • Don't make it bright or playful — no saturated colors, no gradients beyond subtle black-to-black
  • Don't present an infinite feed — the curated, finite daily batch is the entire product premise
  • Don't write in sans where the concierge speaks — the italic serif voice personifies the curator
  • Don't use pure white (#FFFFFF) for text — warm off-white #EDE9E2; pure white is too clinical
  • Don't add a Material/iOS active-tab pill — the gold tint alone signals selection
  • Don't animate aggressively — celebrations are a drawn wax seal, not a confetti burst
  • Don't crowd the layout — scarcity is spatial; generous black margins are the point

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the The League design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- League Gold: #c8a35a
- Gold Bright: #dbba71
- Gold Deep: #a8863f
- League Black: #000000
- True Black Canvas: #0a0a0a
- Surface 1: #141414
- Surface 2: #1c1a17
- Gold Hairline: #2a2620
- Text Primary: #ede9e2
- Text Secondary: #9e988c

Type:
- families: Display Serif, Cormorant Garamond, UI Sans, Numerals
- scale: 9, 11, 12, 13, 15, 16, 21, 26, 34
- weights: 400, 500, 600, 700

Shape:
- radius: 3
- elevation: 1px `#2A2620` bottom hairline instead of a shadow

Spacing: 14, 15, 24

Rules:
- Use a near-true-black canvas (`#0A0A0A`) — the club after dark; treat it as the only theme
- Ration gold (`#C8A35A`) to the crest, hairlines, one CTA, and credential marks — nothing else
- Replace every shadow with a 1px gold-tinted hairline (`#2A2620`) — depth is line, not light
- Set names, the wordmark, titles, and concierge notes in the display serif (Cormorant-class)
- Set credentials, body, eyebrows, buttons, and tabs in the geometric sans (Jost-class), often uppercase
- Make the prospect card read like an embossed calling card — photo, serif name, gold rule, credential stack

Avoid:
- Don't introduce a second accent color — gold is the only one; the rest is black and warm off-white
- Don't use drop shadows anywhere — they read soft/consumer; the brand is engraved and hard-edged
- Don't set a prospect name in sans or a tab label in serif — the serif/sans split IS the hierarchy
- Don't round corners generously — no pills (except the rare tier toggle), no friendly 16pt+ radii
- Don't fill buttons or cards with gold by default — gold fill is rationed to one CTA per screen
- Don't make it bright or playful — no saturated colors, no gradients beyond subtle black-to-black

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Primary (Interactive)

  • League Gold (#C8A35A): The single accent — crest/wordmark, hairline rules, primary CTA, credential marks, verification seal, active tab.
  • Gold Bright (#DBBA71): Hover/focus on gold elements, the brighter glint on the crest.
  • Gold Deep (#A8863F): Pressed state of the primary CTA, gold dividers behind glass.
  • League Black (#000000): The absolute base — splash, modal scrims, behind the canvas.

Canvas & Surfaces (Dark — the only theme in spirit)

  • True Black Canvas (#0A0A0A): Primary canvas — near-true black, the club after dark.
  • Surface 1 (#141414): Cards, banners, list rows, sheets — the first lift off the canvas.
  • Surface 2 (#1C1A17): Prospect-row tiles, concierge notes, inset fields — a hair warmer.
  • Gold Hairline (#2A2620): The 1px gold-tinted border that does ALL the depth work.

Text

  • Text Primary (#EDE9E2): Names, headings, body — a warm off-white, never pure white.
  • Text Secondary (#9E988C): Credentials, metadata, captions — a muted warm gray.
  • Text Tertiary (#6B665C): Disabled, inactive tabs, very low emphasis.
  • Champagne (#E8DCC0): Premium/celebration headings only — a step above primary, rarely used.
  • On-Gold Ink (#1A1408): Text on a gold-filled surface (the primary CTA label) — near-black warm brown.

Accents (Rationed)

RoleColorUse
Accent / CTA / hairline#C8A35AEverything gold — the only accent in the system
Accent bright#DBBA71Gold hover/focus, crest glint
Accent deep#A8863FPressed CTA, gold dividers under glass
Premium / celebration#E8DCC0"It's a Match" / membership-tier surfaces only
Success#6FAE8A"Introduction sent", profile-approved — muted sage
Error / Destructive#C77A7ADecline, leave-the-League, form errors — dusty rose

Semantic

  • Success (#6FAE8A): Introduction sent, application accepted.
  • Error / Destructive (#C77A7A): Pass-with-confirmation, unmatch, declined application.
  • Waitlist / Pending (#9E988C): "On the waitlist", "Under review" — neutral secondary, never alarming.
  • Seal Glow (#C8A35A at 20%): Soft gold halo behind the verification seal on a confirmed prospect.
Type scaleRead the full spec

Font Family

  • Display Serif: A high-contrast transitional serif in the Cormorant Garamond family (Google Fonts, SIL OFL) — the engraved-invitation voice. Carries names, the wordmark, screen titles, and concierge notes (italic).
  • UI Sans: A clean geometric grotesque in the Jost / Futura family (Jost — Google Fonts, SIL OFL) — credentials, body, buttons, eyebrows, tabs. Often letter-spaced uppercase.
  • Fallback Stack (serif): 'Cormorant Garamond', 'Playfair Display', Georgia, 'Times New Roman', serif
  • Fallback Stack (sans): -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Futura', 'Helvetica Neue', sans-serif
  • Numerals: Old-style figures in serif names/ages where available; lining tabular in metadata and timestamps.

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
WordmarkSerif34pt7001.00.2pt"The League", gold, sometimes uppercase tracked
Prospect NameSerif26pt7001.10.2ptAge beside in 400 weight, secondary color
Screen TitleSerif21pt6001.20.2pt"Today's Batch", "Concierge"
Concierge NoteSerif (italic)16pt5001.60ptItalic, primary color, behind a gold left rule
SubtitleSans16pt5001.40.3ptSection intro, often title-case
BodySans15pt4001.60ptParagraph, descriptions
CredentialSans13pt4001.70pt"VP Strategy · Goldman Sachs" — secondary color
Eyebrow / LabelSans11pt6001.02.0ptUPPERCASE gold — "Members Only", "Today's Batch"
ButtonSans13pt6001.01.6ptUPPERCASE — "Send Heart", "View Profile"
CaptionSans12pt4001.40ptTimestamps, helper text
Tab LabelSans9pt5001.01.0ptUPPERCASE — "Prospects", "Concierge"
Stat NumberSerif21pt6001.00pt"7 Prospects" — the batch count

Principles

  • Serif is the person; sans is the machine: Names and institutions get the display serif (gravitas); credentials, UI, and metadata get the quiet sans. This split *is* the hierarchy — never set a name in sans or a tab label in serif.
  • Restraint over expression: Type is set with generous tracking on labels and tight, confident leading on serif headings — the rhythm of engraved stationery, not a consumer app.
  • Uppercase carries the chrome: Eyebrows, buttons, and tabs are letter-spaced uppercase sans — black-tie discipline. Body and names are mixed-case.
  • Gold in type is rationed: The serif wordmark and eyebrows are gold; everything else is the warm off-white. Gold never bleeds into body or credentials.
  • Italic = the concierge voice: Italic serif is reserved for concierge messages — it personifies the human curator.
  • Dynamic Type: Names, titles, body, credentials, concierge notes scale; eyebrows, tab labels, the batch count, and button labels stay fixed (layout-sensitive uppercase).
Components and layoutRead the full spec

Buttons

Primary Button (Send Heart / Request Introduction)

  • Shape: Sharp rectangle, 3pt corner radius (engraved-plate geometry, never pill)
  • Background: #C8A35A (League Gold)
  • Text: #1A1408 (on-gold ink), Jost 13pt weight 600, UPPERCASE, +1.6px tracking
  • Padding: 15pt vertical, 30pt horizontal
  • Pressed: background #A8863F + scale 0.98
  • One per screen — the single moment of gold fill

Secondary / Outline Button (View Profile)

  • Background: transparent
  • Text: #C8A35A, Jost 13pt weight 600, UPPERCASE, +1.6px tracking
  • Border: 1px #C8A35A
  • Padding: 14pt vertical, 26pt horizontal
  • Corner radius: 3pt
  • Pressed: background #C8A35A at 10% opacity

Ghost Button (Pass / Not Now)

  • Background: transparent
  • Text: #9E988C, Jost 13pt weight 600, UPPERCASE, +1.4px tracking
  • Border: 1px #2A2620 (gold hairline)
  • Corner radius: 3pt
  • Pressed: border brightens to #3A352B

Text Button (Upgrade Membership)

  • Font: Jost 12pt weight 600, UPPERCASE, +1.4px tracking
  • Color: #C8A35A
  • No background, no underline
  • Pressed: #A8863F

Prospect Card (the core atom)

The defining component — a curated member as an embossed calling card.

  • Container: full-width minus 22pt insets, 6pt corner radius, 1px #2A2620 border, background #100F0C, no shadow
  • Photo: top ~64% of the card, full-color, square-bottom (the only color element; framed by the hairline)
  • Verification seal: 30pt circle, 1px gold border, gold star glyph, top-right over the photo, on a rgba(10,10,10,0.6) plate
  • Body zone (lower 36%): 14pt/18pt padding
  • Name: serif 24–26pt w700 #EDE9E2; age inline in serif 400 #9E988C
  • Gold rule: 28pt × 1px #C8A35A divider beneath the name
  • Credentials: 3 lines, sans 13pt #9E988C, each prefixed with a small gold ◦ mark — title · company / school / neighborhood
  • Card actions: a row at the card bottom — Pass (48pt hairline circle, gray X), Heart (56pt circle, 1px gold border, gold heart — the focal action), Message (48pt hairline circle, gold glyph)
  • The Heart uses a gold *outline* circle, not a gold fill — restraint; the fill is reserved for the primary CTA

Concierge Note

The human-curation voice, recurring throughout the app.

  • Container: #1C1A17, 4pt corner radius, 1px #2A2620 border, 2px #C8A35A left rule
  • Header: small gold star glyph + "YOUR CONCIERGE" eyebrow (11pt uppercase gold +1.6px)
  • Body: serif *italic* 16pt #EDE9E2, line-height 1.6 — reads as a personal note
  • Optional inline CTA: a text button "Make the introduction →" in gold

Batch Banner

Scarcity made visible.

  • Full-width minus 22pt insets, 4pt radius, 1px #2A2620 border, background #141414
  • Left: "TODAY'S BATCH" eyebrow (11pt uppercase secondary +1.5px)
  • Right: serif count "7 Prospects" (serif 17pt w600 gold)
  • Resets daily; an empty state reads "Your next batch arrives at 5pm"

Navigation

Bottom Tab Bar

  • Height: 64pt + safe area
  • Background: rgba(10,10,10,0.96) with a 1px #2A2620 top border (no blur — opaque black, club-like)
  • Tabs (4): Prospects, Matches, Concierge, Profile
  • Icon size: 21pt, 1.7px stroke (fine-line, never filled)
  • Active color: #C8A35A; inactive #6B665C
  • Labels: Jost 9pt w500, UPPERCASE, +1px tracking, always shown
  • No active pill/indicator — the gold tint alone signals selection (restraint)

Top Bar

  • Centered serif wordmark "The League" (gold, 21pt) with a tiny uppercase "MEMBERS ONLY" eyebrow beneath
  • Leading: search (fine-line gold, 22pt); Trailing: settings gear (fine-line gold, 22pt)
  • 1px #2A2620 bottom hairline instead of a shadow

Input Fields

Search / Profile Fields

  • Height: 46pt
  • Background: transparent; 1px #2A2620 bottom rule only (no box) — engraved-form aesthetic
  • Focus: the bottom rule brightens to 1px #C8A35A
  • Placeholder: Jost 14pt #6B665C
  • Label: 11pt uppercase secondary +1.5px above the field

Message Composer (Matches thread)

  • A single hairline-bordered field, 3pt radius, transparent fill
  • Send affordance: a gold text "SEND" (no filled button) — restraint in conversation too

Distinctive Components

Prospect Card — see above. The embossed calling-card hero.

Concierge Note — the italic-serif, gold-left-rule personal introduction; the human voice of the product.

Batch Banner — the daily scarcity counter ("7 Prospects"); the anti-infinite-scroll statement.

Verification Seal — a gold-bordered star medallion on confirmed members; the club's stamp of vetting.

Credential Stack — the title/company/school/neighborhood dossier with gold ◦ marks; the LinkedIn-meets-Vogue résumé that replaces a bio.

Gold Hairline System — the 1px #2A2620/#C8A35A border that replaces every shadow; depth is line, not light.

Prospect Row (calling-card mini) — the list form: a gold-ringed circular avatar + serif name + gold rule + one-line credential.

Responsive behaviourRead the full spec

Device Sizes

DeviceWidthKey Changes
iPhone SE (3rd gen)375ptCard insets tighten to 18pt; credential stack stays 3 lines; serif name 22pt
iPhone 13/14/15390ptStandard layout, 22pt insets
iPhone 15/16 Pro393ptWordmark/eyebrow clears the Dynamic Island; hairline top bar respects safe area
iPhone 15/16 Pro Max430ptLarger serif name (28pt); card body gains a 4th credential line
iPad (portrait)768ptProspect card centered max-width 460pt in a black surround (a framed portrait)
iPad (landscape)1024pt+Two-pane: prospect card left, profile/concierge thread right; both on true-black

Dynamic Type

  • Serif name, screen titles, body, credentials, concierge notes: full scale
  • Eyebrows, tab labels, the batch count, button labels: FIXED (letter-spaced uppercase, layout-sensitive)
  • The name/age serif pair scales together, preserving the weight contrast (700 / 400)

Orientation

  • iPhone: portrait-locked on Prospects (the calling card is portrait by nature)
  • Matches, Concierge, Profile: rotate freely
  • iPad: full rotation with the two-pane split

Touch Targets

  • Heart action: 56pt circle (the focal action — largest)
  • Pass / Message actions: 48pt circles
  • Tab bar icons: 21pt glyph, 44pt hit
  • Concierge inline CTA: 44pt minimum row height
  • Credential bullets: display-only (not interactive)

Safe Area Handling

  • Top: the wordmark + "MEMBERS ONLY" eyebrow respect the safe area / Dynamic Island; the 1px hairline sits below
  • Bottom: the opaque-black tab bar respects the home indicator; no floating elements over it
  • The prospect card stays fully inside the safe area (it is a mounted object, not full-bleed)
  • Keyboard: the hairline message field rises above the keyboard; the thread scrolls on true-black

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-the-league {--page-bg: #ede9e2;
  --page-bg-gradient: none;
  --text-color: #4f4331;
  --heading-color: #4f4331;
  --link-color: #795d1f;
  --link-hover-color: #503e15;
  --border-color: #d1cbc2;
  --card-bg: #ede9e2;
  --card-shadow: 0 1px 2px rgba(79,67,49,0.06);
  --card-hover-shadow: 0 6px 18px rgba(79,67,49,0.12);
  --header-bg: #4f4331;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #ede9e2;
  --footer-text-color: #655f54;
  --button-bg: #dbba71;
  --button-text-color: #000000;
  --button-hover-bg: #d1a648;
  --button-border: none;
  --button-border-radius: 3px;
  --button-secondary-bg: #e4dfd7;
  --button-secondary-text-color: #4f4331;
  --button-secondary-hover-bg: #dad5cd;
  --button-secondary-border: 1px solid #d1cbc2;
  --prompt-bg: #e5e1d9;
  --prompt-text-color: #4f4331;
  --base-font: var(--font-serif);
  --heading-font: var(--font-helvetica);
  --card-border-radius: 3px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
ios/design-md/dating/the-league/DESIGN.md · 26.6 KB
Repository
Meliwat/awesome-ios-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.