Border Radius & Width

A consistent corner-radius scale with three switchable theme modes — Square, Rounded and Pills — plus a matching stroke-width scale, that together define the border treatment of every component.

Radius Tokens

Eight semantic radius steps, mapped one-to-one to the LUSTER Figma Semantic Radius scale (border/radius). Each token resolves to a primitive px value in the Option Radius layer.

TokenValueFigma VariableUse Case
--borderRadiusNone0pxborder/radius/noneFlat surfaces, Square theme
--borderRadiusXs4pxborder/radius/xsToggles, tabs
--borderRadiusSm8pxborder/radius/smCards, inputs, alerts, avatars
--borderRadiusLg12pxborder/radius/lgButtons, logos, pagination
--borderRadiusXl16pxborder/radius/xlSections, containers
--borderRadius2xl20pxborder/radius/2xlMeeting cards
--borderRadius3xl24pxborder/radius/3xlExtra-large containers
--borderRadius4xl40pxborder/radius/4xlPills, fully-rounded avatars

Radius Scale

The same swatch rendered at each radius step.

None
--borderRadiusNone · 0px
XS
--borderRadiusXs · 4px
SM
--borderRadiusSm · 8px
LG
--borderRadiusLg · 12px
XL
--borderRadiusXl · 16px
2XL
--borderRadius2xl · 20px
3XL
--borderRadius3xl · 24px
4XL
--borderRadius4xl · 40px

Theme Modes

Switching the radius theme re-skins every component for a different visual personality.

Square
none (0px) · sharp, modern
Round
per-component · balanced, friendly
Pills
4xl (40px) · soft, playful

Border Width

Stroke widths from the LUSTER Figma Semantic Global border scale (border/width), sharing the same t-shirt naming as the radius scale.

TokenValueFigma VariableUse Case
--borderWidthNone0pxborder/width/noneNo stroke
--borderWidthSm1pxborder/width/smDefault borders, dividers
--borderWidthLg2pxborder/width/lgFocus rings, emphasis
--borderWidthXl3pxborder/width/xlActive / selected states
--borderWidth2xl4pxborder/width/2xlHeavy emphasis, accents

Component Applications

How each component's radius token resolves under the three theme modes, plus its default stroke width.

ComponentSquare TokenRound TokenPills TokenBorder Width
Button--borderRadiusNone 0px--borderRadiusLg 12px--borderRadius4xl 40px
Toggle--borderRadiusNone 0px--borderRadiusXs 4px--borderRadius4xl 40px--borderWidthLg 2px
Input Field--borderRadiusNone 0px--borderRadiusSm 8px--borderRadius4xl 40px--borderWidthLg 2px
Avatar--borderRadiusNone 0px--borderRadiusSm 8px--borderRadius4xl 40px--borderWidthLg 2px
Logo--borderRadiusNone 0px--borderRadiusLg 12px--borderRadius4xl 40px
Palettes Color--borderRadiusNone 0px--borderRadiusSm 8px--borderRadius4xl 40px
Alert--borderRadiusNone 0px--borderRadiusSm 8px--borderRadiusLg 12px--borderWidthLg 2px
Menu Item--borderRadiusNone 0px--borderRadiusSm 8px--borderRadius4xl 40px--borderWidthLg 2px
Image--borderRadiusNone 0px--borderRadiusLg 12px--borderRadius4xl 40px
Meeting Card--borderRadiusNone 0px--borderRadiusSm 8px--borderRadius2xl 20px
Card--borderRadiusNone 0px--borderRadiusSm 8px--borderRadiusXl 16px
Tabs--borderRadiusNone 0px--borderRadiusXs 4px--borderRadius4xl 40px
Pagination--borderRadiusNone 0px--borderRadiusLg 12px--borderRadius4xl 40px

Usage Guidelines

Do

Apply radius tokens consistently across the product.

Do

Switch all components to one theme mode for a cohesive look.

Don't

Don't use arbitrary radius values outside the scale.

Don't

Don't mix theme modes within the same interface.