Close details
Icon and label, label and help text.
What is in place, what needs improving, and what still needs a closer look. Each status refers only to the criterion below; it is not approval of the whole section.
Spacing steps, duration and easing are exported as scoped CSS variables.
View supporting material ↗Pilot 4/8/12-column grids, margins, card spans and layer values are now documented and exported. Audit and migrate existing page-specific exceptions.
Review reduced motion, keyboard focus, zoom and narrow layouts across the catalog.
Interactive density, grid and disclosure examples use the organization record. CSS, JSON and AI guidance include reduced-motion behavior. This does not complete the wider catalog audit.
Read layout specifications ↗04 / Space and motion
Space tells people what belongs together. Motion shows what changed. Use both to make the next step easier to see.
Reuse the existing 4–96 px steps. A small gap connects details; a larger one separates decisions. Choose a role before choosing a number.
Icon and label, label and help text.
Heading, explanation and action for the same decision.
Card and panel padding, without squeezing the reading.
Distance between groups and sections; increase it when the subject changes.
Compare two card recipes without changing the words or type size. Compact is for repeated content; comfortable gives an introduction more room. These values describe padding and gaps, not fixed heights.
Explain the useful detail. Keep the next action close enough to feel connected.
Explore the design system.ds-spaced-card {
padding: var(--ds-space-32);
display: flex;
flex-direction: column;
align-items: flex-start;
gap: var(--ds-space-24);
}
.ds-spaced-card > * { margin: 0; }Use 4, 8 or 12 columns as the viewport grows. Align related text, images and actions to the same edges. The content container stops at 1200 px, excluding its outer margins.
This is a scaled grid diagram, not a device simulator. The numbers describe the actual CSS recipe. Cards stack on small screens, use two columns on medium screens and three on large screens.
These pilot z-index values belong inside an isolated component or page context. They are not a promise that a number can escape a parent stacking context. Prefer the browser’s native dialog behavior for modals.
Normal flow and local decorative elements.
--ds-layer-contentHeader or navigation, without hiding focused content.
--ds-layer-stickyMenus close to their originating control.
--ds-layer-popoverA backdrop separates a dialog from the rest of the page.
--ds-layer-overlayModal content; manage focus, Escape and return to the trigger.
--ds-layer-dialogKeep the existing 220 ms easing as the default. Use a quicker response for small controls, or a little more time for a small reveal. The duration never delays the action itself.
Short feedback on small controls.
Max. offset: 4 pxThe existing reference for hover, focus and selection.
Max. offset: 4 pxReveal a small panel after an explicit action.
Max. offset: 8 pxShared easing: cubic-bezier(0.4, 0, 0.2, 1)
Standard motion: short transitions are enabled.
The panel appears next to its trigger. It opens in the document flow, keeps a natural height and can be closed using the same button.
This demo does not loop or autoplay. Your operating-system preference always wins; the switch can only reduce motion further. Content and button state remain available in both modes.
The same spacing roles, grid breakpoints, layers and motion recipes are available in JSON, scoped tokens and the AI guide. Copy examples with their reduced-motion rule.
Pilot specification. Existing pages still need a spacing and layering audit; broader keyboard, zoom and reduced-motion checks remain open.