Design System

Shadow

A six-step elevation ramp. Higher steps mean closer to the user — pick by layer, not by taste.

Elevation ramp

Rendered live from the --shadow-* tokens.

shadow-1
shadow-2
shadow-4
shadow-8
shadow-16
shadow-64

Where each step is used

TokenUse
--shadow-1Resting buttons, inputs
--shadow-2Cards at rest
--shadow-4Raised cards, hover states
--shadow-8Popovers, dropdown menus, tooltips
--shadow-16Dialogs, sheets, the cookie banner
--shadow-64Full-screen overlays and marketing heroes

Rules of thumb

  • Elevation communicates stacking order — a popover (shadow-8) must sit above the card that opened it (shadow-2).
  • Apply via shadow-[var(--shadow-4)]; don't invent new blur/offset combinations.
  • In dark mode shadows read weaker — components already pair them with borders, so never rely on shadow alone to separate surfaces.

On this page