Foundations
Corner Radius
Nine named steps from sharp to full-pill. Use the token rather than a raw pixel value so components automatically track any future scale changes.
Scale
--radius-none0pxHard edges — data tables, code blocks, dividers
--radius-sm4pxButtons, chips, tags, badges
--radius8pxInputs, selects, dropdowns — Shadcn default
--radius-md8pxAlias of --radius. Cards, popovers, tooltips
--radius-lg12pxModals, sheets, nav drawers
--radius-xl16pxLarge cards, panels, featured tiles
--radius-2xl24pxHero image, category cards, gallery thumbnails
--radius-3xl40pxOversized decorative containers
--radius-full9999pxPills, avatars, circular icons
Component Usage
Which token is applied to each component. Never hardcode a pixel value — always reference the token.
--radius-sm4px--radius8px--radius-md8px--radius-lg12px--radius-2xl24px--radius-2xl24px--radius-2xl24px--radius-full9999pxConvention
- —
Interactive elements (buttons, badges) use --radius-sm (4px) — intentionally low to feel precise.
- —
Form controls (inputs, selects) use --radius / --radius-md (8px) — the Shadcn default.
- —
Containers and cards step up to --radius-lg or --radius-xl based on visual weight.
- —
Large imagery (hero, gallery thumbnails) uses --radius-2xl (24px) for a contemporary feel.
- —
Never use --radius-full on rectangular layout containers — reserve it for circular / pill shapes.