Skip to content

Glass

A single glass recipe across web, app, and docs: blur(14) saturate(180), paper-85 border, the standard shadow stack. Vary density only by opacity — reach for .glass-soft / .glass / .glass-strong. Don't author a new blur or border.

Three intensities — over peach bloom

.glass-soft · paper-42

sidebar nav · low-density panels

.glass · paper-62

cards · hero callouts

.glass-strong · paper-85

active panes · modal bodies

Tokens

ClassPaper alpha (rest → high)Use
.glass-softpaper-42 → 25sidebar nav, low-density panels
.glasspaper-62 → 32default — cards, hero callouts
.glass-strongpaper-85 → 65active panes, modal bodies

Recipe

.glass,
.glass-soft,
.glass-strong {
  backdrop-filter: blur(14px) saturate(180%);
  border: 1px solid var(--paper-85);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}

.glass-soft { background: var(--paper-42); }
.glass      { background: var(--paper-62); }
.glass-strong { background: var(--paper-85); }
Pick glass density by surface density, not by surface kind. Soft for nav, default for cards-over-bloom, strong for modals.
Don't author a new blur or border. Same recipe across all three surfaces.

On this page