Glassmorphism: UI design prompt
Palette, type rules and a pasteable prompt for glassmorphism. Also called frosted glass UI, glass cards, backdrop blur UI, translucent UI. 2020-2023 (Windows Vista Aero and iOS 7 as ancestors; named by Michal Malewicz in 2020).
Traits
- translucent panels (white at 8-20% alpha) over a colourful, blurred background
- `backdrop-filter: blur(16-24px)` is the whole trick; nothing works on a flat background
- 1px light border (white at 25-40%) to fake a glass edge
- soft, wide shadows in a tinted colour, never pure black
- radius 16-24px, generous inner padding
- background carries blurred colour blobs so the blur has something to smear
- type stays crisp and high contrast on top of the glass
Palette
#0f172a page base, #7c3aed and #06b6d4 background blobs, rgba(255,255,255,0.12) glass fill, rgba(255,255,255,0.35) glass edge, #f8fafc text
Type
Manrope or DM Sans for everything; headings 600, body 400 at 16px; avoid thin weights on glass (they vanish against blur)
Do
- put two or three large blurred colour shapes behind the layout so the blur has depth to reveal
- keep glass panels to two levels max: card and a hovering overlay
- test every text colour against the busiest part of the background
Don't
- do not stack glass on glass on glass; it turns to mud
- do not use glass on a plain white or plain black page; there is nothing to blur
- do not forget a solid fallback for browsers without backdrop-filter
Known for it: Apple macOS Big Sur, Microsoft Fluent Acrylic, Stripe dashboards (partial)
CSS seed
:root {
--bg: #0f172a;
--fg: #f8fafc;
--accent: #7c3aed;
--glass: rgba(255,255,255,0.12);
--edge: rgba(255,255,255,0.35);
--radius: 20px;
--shadow: 0 8px 32px rgba(31,38,135,0.37);
--font: 'Manrope',sans-serif
}
Prompt
Build the site in a glassmorphism style. Page background #0f172a with three large blurred radial blobs in #7c3aed, #06b6d4 and #ec4899 (filter: blur(80px), opacity 0.6) placed behind the content. Every card, nav bar and modal is a glass panel: background rgba(255,255,255,0.12), backdrop-filter blur(20px) saturate(160%), 1px border rgba(255,255,255,0.35), border-radius 20px, box-shadow 0 8px 32px rgba(31,38,135,0.37). Text #f8fafc, secondary text rgba(248,250,252,0.7). Font Manrope: headings 600 at 40/28/20px, body 400 at 16px, line-height 1.6. Buttons: solid #7c3aed with white text, radius 12px, hover lifts 2px with a brighter shadow. Spacing on an 8px scale, card padding 24-32px. Provide a solid fallback (rgba(15,23,42,0.85)) when backdrop-filter is unsupported. Motion: 200ms ease-out on hover only; no scroll-triggered animation.
For design.md, .cursorrules or AGENTS.md
## Design direction
Build the site in a glassmorphism style. Page background #0f172a with three large blurred radial blobs in #7c3aed, #06b6d4 and #ec4899 (filter: blur(80px), opacity 0.6) placed behind the content. Every card, nav bar and modal is a glass panel: background rgba(255,255,255,0.12), backdrop-filter blur(20px) saturate(160%), 1px border rgba(255,255,255,0.35), border-radius 20px, box-shadow 0 8px 32px rgba(31,38,135,0.37). Text #f8fafc, secondary text rgba(248,250,252,0.7). Font Manrope: headings 600 at 40/28/20px, body 400 at 16px, line-height 1.6. Buttons: solid #7c3aed with white text, radius 12px, hover lifts 2px with a brighter shadow. Spacing on an 8px scale, card padding 24-32px. Provide a solid fallback (rgba(15,23,42,0.85)) when backdrop-filter is unsupported. Motion: 200ms ease-out on hover only; no scroll-triggered animation.
## Tokens
:root { --bg:#0f172a; --fg:#f8fafc; --accent:#7c3aed; --glass:rgba(255,255,255,0.12); --edge:rgba(255,255,255,0.35); --radius:20px; --shadow:0 8px 32px rgba(31,38,135,0.37); --font:'Manrope',sans-serif }
Keep hover and focus-visible states on every interactive element. Do not add a CSS framework.