Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Apple Liquid Glass design system. Use when building UI with translucent, depth-aware glass morphism following Apple's design language. Provides CSS tokens, component patterns, dark/light mode, and animation specs.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -20% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -36% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -7% | 0% |
Apple-inspired translucent glass UI with depth, refraction, and ambient light response.
Import the token file in your CSS:
css@import 'references/tokens.css';
All tokens are defined in references/tokens.css. Key categories:
| Category | Prefix | Example | |---|---|---| | Glass backgrounds | --lg-bg-* | --lg-bg-primary | | Blur | --lg-blur-* | --lg-blur-md | | Borders | --lg-border-* | --lg-border-color | | Shadows | --lg-shadow-* | --lg-shadow-elevated | | Radius | --lg-radius-* | --lg-radius-lg | | Animation | --lg-duration-* | --lg-duration-normal |
css.glass-card { background: var(--lg-bg-primary); backdrop-filter: blur(var(--lg-blur-md)); -webkit-backdrop-filter: blur(var(--lg-blur-md)); border: 1px solid var(--lg-border-color); border-radius: var(--lg-radius-lg); box-shadow: var(--lg-shadow-elevated); transition: transform var(--lg-duration-normal) var(--lg-easing-spring); } .glass-card:hover { transform: translateY(-2px); box-shadow: var(--lg-shadow-high); }
css.glass-toolbar { background: var(--lg-bg-toolbar); backdrop-filter: blur(var(--lg-blur-lg)) saturate(var(--lg-saturate)); -webkit-backdrop-filter: blur(var(--lg-blur-lg)) saturate(var(--lg-saturate)); border-bottom: 1px solid var(--lg-border-subtle); }
css.glass-btn { background: var(--lg-bg-interactive); backdrop-filter: blur(var(--lg-blur-sm)); border: 1px solid var(--lg-border-color); border-radius: var(--lg-radius-md); transition: all var(--lg-duration-fast) var(--lg-easing-spring); } .glass-btn:active { transform: scale(0.97); background: var(--lg-bg-pressed); }
css.glass-overlay { background: var(--lg-bg-scrim); backdrop-filter: blur(var(--lg-blur-xl)); } .glass-modal { background: var(--lg-bg-elevated); border: 1px solid var(--lg-border-color); border-radius: var(--lg-radius-xl); box-shadow: var(--lg-shadow-high); }
Tokens auto-switch via prefers-color-scheme. Light mode uses white-tinted glass; dark mode uses dark-tinted glass with higher blur to maintain readability.
css/* Force a mode on a subtree */ .light-glass { color-scheme: light; } .dark-glass { color-scheme: dark; }
Use spring-based easing for physical feel:
css/* Entry */ @keyframes glass-enter { from { opacity: 0; transform: scale(0.95) translateY(8px); } to { opacity: 1; transform: scale(1) translateY(0); } } .glass-animate-in { animation: glass-enter var(--lg-duration-normal) var(--lg-easing-spring) both; }
contrast-ratio ≥ 4.5:1 for text over glass surfacesprefers-reduced-motion — disable blur animations, use opacity-only transitionsprefers-contrast: high overrides that replace translucent backgrounds with solid onesOther measured skills in the registry, with their headline benchmark lift.