Skip to content

Foundations

Foundations

Material

Glass

Product-safe glassmorphism for Foundry Volt — frosted accents over controlled stages, liquid tint for heroes, and automatic solid fallbacks for lite bandwidth and reduced transparency.

2026 rule

Glass is an accent material, not a full layout system. Use it for chrome, floating cards, and marketing panels — never as the only surface for dense data.
bandwidth: balanced
blur on
Change bandwidth

Live stage

Foundry GlassLive

Default

Frosted panel

Readable over Volt mesh — blur + scrim + border.

Liquid

Tinted frost

Teal/coral wash — marketing heroes only.

subtledefaultstrongliquidsolid

Variants

Default

Cards, floating panels, modal shells over known stages

.glass

Subtle

Chips, secondary floats, dense chrome

.glass-subtle

Strong

Sticky headers, nav bars, command chrome

.glass-strong

Liquid

Hero accents, marketing panels (Volt-tinted frost)

.glass-liquid

Solid

Forced opaque fallback; matches lite / reduced transparency

.glass-solid

Tokens

TokenDefaultNote
--glass-blur16pxDefault frost radius
--glass-blur-strong24pxHeaders / bars
--glass-saturate1.25Backdrop saturation boost
--glass-bgcard mix 72%Default fill
--glass-bg-subtlecard mix 55%Lighter frost
--glass-bg-strongcard mix 88%More opaque
--glass-bg-solidvar(--card)Fallback fill
--glass-borderwhite mix + borderEdge highlight
--glass-shadowinset + soft dropDepth recipe

Components

Glass, GlassCard, GlassBar, GlassChip, GlassStage

Import from @/components/ui/glass

Controlled stage

Always blur known art — mesh, gradient, hero — never random user photos under body copy.

Fallback chain

lite bandwidth → solid. prefers-reduced-transparency → solid. no backdrop-filter support → solid.

Liquid sparingly

Tinted frost is for heroes and promos. Product chrome prefers strong/default.

Do

  • Place glass only over controlled stages (mesh, gradient, hero art)
  • Keep long reading text on solid cards when the background is busy
  • One blur layer per view region (header OR panel — not both stacked deeply)
  • Pair with bandwidth lite and prefers-reduced-transparency fallbacks

Don’t

  • Glass entire dashboards of dense tables and forms
  • Stack 4+ backdrop-filters
  • Animate blur continuously
  • Rely on blur alone for hierarchy without borders or scrim

Shell already uses Glass

The docs sticky header uses the same frost system (surface-glass). Set bandwidth to lite to see solid fallback across the product.