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.
Source category adaptedValues are NexWell decisions with explicit rationale; no source-brand value is assumed approved.

Interactive reference

Token explorer

20 tokens

radius.none0

Supports flush structural edges.

Use: Tables and attached surfaces.

radius.small0.25rem

Small rounding softens compact controls.

Use: Tags and compact fields.

radius.medium0.5rem

Default radius is approachable without decoration.

Use: Controls and small surfaces.

radius.large0.75rem

Large surfaces need proportionate rounding.

Use: Cards and panels.

radius.xlarge1rem

Creates a distinct elevated-container tier.

Use: Dialogs and feature surfaces.

radius.full9999px

A capsule value accommodates dynamic dimensions.

Use: Pills, avatars, circular controls.

border.width.default1px

One-pixel borders separate adjacent surfaces.

Use: Default boundaries.

border.width.strong2px

Two pixels makes selected and invalid boundaries perceivable.

Use: Emphasis and state boundaries.

elevation.0none

Flat 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.4

A consistent tier distinguishes unavailable decoration.

Use: Never the sole disabled-state cue.

opacity.muted0.64

Muted imagery remains visible without competing.

Use: Decorative media and illustration layers.

opacity.full1

Explicit full opacity completes the scale.

Use: Default content.

layer.base0

Defines normal stacking.

Use: Page content.

layer.sticky100

Sticky chrome sits above page content.

Use: Headers and sticky controls.

layer.dropdown200

Anchored surfaces clear sticky content.

Use: Menus and popovers.

layer.overlay400

Modal surfaces establish an interaction layer.

Use: Scrims, dialogs, sheets, drawers.

layer.toast500

Time-sensitive status remains visible above modals.

Use: Toasts only.