Shape System
Border radii, border widths, opacity scale, and z-index stack. The design system uses only two radii values — maximising geometric consistency across all surfaces.
Two values only. No in-between rounding — this enforces a strict brutalist geometry.
var(--radius-layout) 0px Cards, containers, modals — brutalist right anglesvar(--radius-indicator) 9999px Badges, tags, status indicatorsThree widths map to three distinct UI states: structure, interaction, and focus.
var(--border-width-layout) Structural container borders, dividers, grid linesvar(--border-width-interactive) Focused or active states of interactive elementsvar(--border-width-focus) Keyboard focus rings — always uses focus color token12-step numeric scale. Three semantic aliases map to specific scale stops. Background of demo squares is orange-50 to make opacity visible.
opacity.overlay Modal/drawer backdrops — dims page content--opacity-overlayopacity.disabled Disabled UI elements — still readable, clearly unavailable--opacity-disabledopacity.hover Hover fill layer over icons or containers--opacity-hoverSeven layers with fixed gap of 100 between each intentional stacking context.
z-index.hide Intentionally hidden layer below stacking context--z-hidez-index.base Default document flow; no explicit stacking--z-basez-index.dropdown Dropdowns, popover menus, date pickers--z-dropdownz-index.sticky Sticky headers, floating table headers--z-stickyz-index.overlay Dimmer / scrim behind modal/drawer--z-overlayz-index.modal Dialog, drawer, sheet panels--z-modalz-index.toast Notification toasts, always on top--z-toast