Resy (iOS)

Identity

Mobile Apps

Restaurant reservations. A black-first editorial system on a pure-black canvas #000000 where Playfair-style display-serif restaurant names contrast with clean Inter UI, a single disciplined Resy Red #C73E3A (brightened to #E2504B for the active tab on black) drives booking, available reservation slots are red-OUTLINED while the primary slot is SOLID red, sold-out times become dashed amber #D99A2B Notify (waitlist) chips, a muted gold #C9A24B carries the /10 rating + Hit List, and hairline #262626 borders replace shadows

Typography

Ag
InterDisplay
Ag
InterBody
Ag
ui-monospaceMono
--text-4xl · 44pxThe quick brown fox
--text-3xl · 34pxThe quick brown fox
--text-2xl · 27pxThe quick brown fox
--text-xl · 22pxThe quick brown fox
--text-lg · 18pxThe quick brown fox
--text-base · 16pxThe quick brown fox
--text-sm · 15pxThe quick brown fox
--text-xs · 9pxThe quick brown fox

Palette

--bg#000000Page background — defines the brand canvas.
--surface#121212Card / lifted container background.
--surface-warmcolor-mix(in oklab, var(--surface), var(--fg) 6%)Tertiary surface tier (kami warm-sand).
--fg#F5F5F5Primary text color.
--fg-2color-mix(in oklab, var(--fg), var(--bg) 15%)Secondary text tier (kami dark-warm).
--muted#9E9E9ESubtext / captions.
--metacolor-mix(in oklab, var(--muted), var(--bg) 25%)Tertiary FG / metadata tier (kami stone).
--border#262626Default border / card edge.
--border-softcolor-mix(in oklab, var(--border), var(--bg) 50%)Inner row separator that should not visually compete.
--accent#C73E3ABrand accent. ≤2 visible uses per screen (lint enforced).
--accent-on#FFFFFFFG when --accent is the bg.
--success#4FA773Success state.
--warn#D99A2BWarning state.
--danger#E2504BDanger state.

Also named in DESIGN.md

Resy Red Pressed#a8302dPressed state for primary buttons and slots.
Surface 2#1c1c1cPressed rows, secondary panels, search field fill.
Surface 3#242424Elevated chips, hovered states.
Surface Gray#f4f4f4Cards, grouped rows.
Surface Pressed#eaeaeaPressed rows.
Divider Light#e2e2e2Hairline dividers.

Imagery & layout

Radius

--radius-sm8px
--radius-md8px
--radius-lg10px
--radius-pill9999px

Spacing

--space-1 · 4px
--space-2 · 8px
--space-3 · 12px
--space-4 · 16px
--space-5 · 20px
--space-6 · 24px
--space-8 · 32px
--space-12 · 48px

Elevation

--elev-raised

Layout

a clear eyebrow + date strip + context line lead the eye to the times

Layout rules

Component kit