Shape, border, and depth
Radius, borders, elevation, opacity, and governed layering.
Principles
- Prefer borders and surface color before adding shadow.
- Match radius to surface scale instead of nesting identical radii.
- Use the named layer scale only inside an intentional stacking context.
Usage boundaries
- Elevation does not indicate interactivity by itself.
- Opacity is never the only cue for disabled or unavailable content.
- Toast is the highest standard layer; arbitrary z-index escalation is prohibited.
Interactive reference
Token explorer
20 tokens
radius.none0Supports flush structural edges.
Use: Tables and attached surfaces.
radius.small0.25remSmall rounding softens compact controls.
Use: Tags and compact fields.
radius.medium0.5remDefault radius is approachable without decoration.
Use: Controls and small surfaces.
radius.large0.75remLarge surfaces need proportionate rounding.
Use: Cards and panels.
radius.xlarge1remCreates a distinct elevated-container tier.
Use: Dialogs and feature surfaces.
radius.full9999pxA capsule value accommodates dynamic dimensions.
Use: Pills, avatars, circular controls.
border.width.default1pxOne-pixel borders separate adjacent surfaces.
Use: Default boundaries.
border.width.strong2pxTwo pixels makes selected and invalid boundaries perceivable.
Use: Emphasis and state boundaries.
elevation.0noneFlat surfaces preserve hierarchy by default.
Use: Canvas and embedded surfaces.
elevation.10 1px 2px rgb(4 10 26 / 0.08), 0 1px 3px rgb(4 10 26 / 0.05)Low shadow distinguishes a raised card.
Use: Cards and sticky controls.
elevation.20 8px 20px rgb(4 10 26 / 0.12), 0 2px 6px rgb(4 10 26 / 0.08)Medium shadow separates anchored surfaces.
Use: Menus, popovers, and drawers.
elevation.30 20px 48px rgb(4 10 26 / 0.18), 0 6px 16px rgb(4 10 26 / 0.10)Highest shadow supports modal depth.
Use: Dialogs and modal surfaces only.
opacity.disabled0.4A consistent tier distinguishes unavailable decoration.
Use: Never the sole disabled-state cue.
opacity.muted0.64Muted imagery remains visible without competing.
Use: Decorative media and illustration layers.
opacity.full1Explicit full opacity completes the scale.
Use: Default content.
layer.base0Defines normal stacking.
Use: Page content.
layer.sticky100Sticky chrome sits above page content.
Use: Headers and sticky controls.
layer.dropdown200Anchored surfaces clear sticky content.
Use: Menus and popovers.
layer.overlay400Modal surfaces establish an interaction layer.
Use: Scrims, dialogs, sheets, drawers.
layer.toast500Time-sensitive status remains visible above modals.
Use: Toasts only.