Accessibility
Translucency is a rendering choice, not an excuse. These are the commitments every component is built against.
Focus is never just the rim
Every interactive component carries a two-layer focus indicator: a 2px accent outline offset from the control, designed to read against any backdrop the glass floats over. The glass rim alone is never the focus signal.
Contrast has floors
Each material sets a minimum tint opacity so text never sits on raw backdrop. Semantic variants (accent, destructive, success) raise the tint to near-opaque before placing light text on it.
Motion asks permission
prefers-reduced-motion pauses the aurora drift, collapses overlay springs to opacity fades, flattens the dock, and removes the lens entirely. Nothing essential is conveyed by motion alone.
Transparency asks permission
prefers-reduced-transparency switches the whole system to the solid engine: opaque surfaces, no backdrop filters, structure intact.
Behavior is borrowed, not improvised
Dialogs trap and return focus. Menus, selects, tabs, sliders, and accordions follow established keyboard patterns — arrow-key roving, typeahead, Escape, Home and End — provided by hardened headless primitives rather than hand-rolled event handlers.
Decoration is hidden
The aurora field, the lens, sheens, and filter definitions are aria-hidden. Meters and progress announce real values; toasts are polite live regions.