ReferenceShape and layout tokens
Roadie uses Tailwind's built-in border-radius scale to create a consistent, rounded visual language that progresses from inline elements to full containers. Soft corners signal approachability.
The scale runs from inline marks to edge-to-edge hero surfaces. Roadie uses
Tailwind's built-in radius utilities up to rounded-4xl and adds three
extended tiers (rounded-5xl, rounded-6xl, and rounded-7xl) for large
promotional layouts. Never use arbitrary values like rounded-[2.5rem]. Stick
to the named utilities so the scale stays consistent.
On the docs site, each step of the scale is a tile with its class and value.
rounded-sm4px (0.25rem)
rounded-md6px (0.375rem)
rounded-lg8px (0.5rem)
rounded-xl12px (0.75rem)
rounded-2xl16px (1rem)
rounded-3xl24px (1.5rem)
rounded-4xl32px (2rem)
rounded-5xl40px (2.5rem)
rounded-6xl48px (3rem)
rounded-7xl56px (3.5rem)
rounded-fullFully round
| Tier | Class | Use for |
|---|---|---|
| Inline | rounded-sm | Marks, highlights |
| Small | rounded-md | Inline code, code blocks, prose images |
| Field | rounded-lg | Inputs, textareas, select triggers, radio items |
| Container | rounded-xl | Cards, select popups, radio cards, popovers |
| Large | rounded-2xl | Modals, dialogs, Navigator panes |
| Panel | rounded-3xl | Large raised panels |
| Sheet | rounded-4xl | Drawers, from any side |
| Hero | rounded-5xl | Hero cards, collection headers |
| Feature | rounded-6xl | Feature banners, spotlight surfaces |
| Oversize | rounded-7xl | Edge-to-edge promotional layouts |
| Full | rounded-full | Buttons, badges, avatars, pills |
Which components use which tier. These are the defaults. Override with
className when a specific context requires it.
| Component | Tier | Class |
|---|---|---|
| Button | Full | rounded-full |
| Badge | Full | rounded-full |
| Card | Container | rounded-xl |
| Dialog | Large | rounded-2xl |
| Drawer | Sheet | rounded-4xl |
| Select trigger | Field | rounded-lg |
| Select popup | Container | rounded-xl |
| Input | Field | rounded-lg |
| Textarea | Field | rounded-lg |
| RadioGroup (default) | Field | rounded-lg |
| RadioGroup (card) | Container | rounded-xl |
| Code | Small | rounded-md |
| Mark and Highlight | Inline | rounded-sm |
| Prose (code blocks, images) | Small | rounded-md |
className only when a specific context demands it.rounded-2xl for top-layer UI, such as modals and dialogs, and the
Navigator's panes. Don't use it on inline components.is-interactive and
is-interactive-field utilities handle focus ring radius, so no separate
token is needed.Larger radii for higher-level containers, smaller radii for inline or nested elements. This creates a natural visual hierarchy.
Card uses rounded-xl
Do
Use larger radii for containers (cards and dialogs) and smaller radii for inline elements (code and marks).
Card uses rounded-md
Don’t
Don't apply the same radius everywhere. A card and an inline code span shouldn't share the same corner treatment.
Reserve rounded-full for interactive pill shapes and circular elements.
Do
Use rounded-full for buttons, badges, tags, and avatars.
A card with rounded-full
Don’t
Don't use rounded-full on cards or containers. Full rounding distorts
rectangular layouts.
When elements are nested, the inner element should use an equal or smaller radius than the outer. This avoids visual tension at corners.
Parent rounded-xl, child rounded-lg
Do
Inner elements use an equal or smaller radius than their parent.
Parent rounded-lg, child rounded-2xl
Don’t
Don't use a larger radius on a child than its parent. The child's corners clip awkwardly against the parent's straighter edges.