Skip to content

Shadows

Shadows create depth and establish visual hierarchy by indicating which elements sit above others in the z-axis.

Shadow tokens
TokenValueUsage
--shadow-xs0 1px 2px rgba(0,0,0,0.05)Subtle borders, table headers
--shadow-sm0 1px 3px rgba(0,0,0,0.1)Cards (default state)
--shadow-md0 4px 6px rgba(0,0,0,0.1)Dropdowns, tooltips
--shadow-lg0 10px 15px rgba(0,0,0,0.1)Modals, dialogs
--shadow-xl0 20px 25px rgba(0,0,0,0.15)Drawers, slide-overs
LevelShadow tokenUI elements
0noneFlat content, text, inline elements
1xsTable headers, subtle separators
2smCards, list items
3mdDropdowns, popovers, tooltips
4lgModals, dialogs, sheets
5xlDrawers, navigation overlays
  • One shadow per element — no stacking on nested elements
  • Use elevation to signal interactivity (hover states bump up one level)
  • Dark mode: shadows become less visible; use border instead
  • Shadows should feel like they come from a single light source (top-center)