Skip to content
6amDesign
v0.7.0 · PilotUse with AI
6am/Design system/Space and motion
Section reviewNeeds work2 met · 1 to improve · 1 to review

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.

  • Meets criterion
    Spacing and motion have shared values.

    Spacing steps, duration and easing are exported as scoped CSS variables.

    View supporting material
  • Needs work
    Grids, breakpoints and layers have reusable rules.

    Pilot 4/8/12-column grids, margins, card spans and layer values are now documented and exported. Audit and migrate existing page-specific exceptions.

  • Awaiting review
    Motion and responsive layouts remain comfortable and usable.

    Review reduced motion, keyboard focus, zoom and narrow layouts across the catalog.

  • Meets criterion
    Spacing, responsive grid and reduced-motion examples share reusable specifications.

    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

Room to understand. Motion that explains.

Space tells people what belongs together. Motion shows what changed. Use both to make the next step easier to see.

One scale. Different relationships.

Reuse the existing 4–96 px steps. A small gap connects details; a larger one separates decisions. Choose a role before choosing a number.

4 px
8 px
12 px
16 px
24 px
32 px
48 px
64 px
96 px
4 / 8 px

Close details

Icon and label, label and help text.

16 / 24 px

Related content

Heading, explanation and action for the same decision.

24 / 32 px

Room inside a block

Card and panel padding, without squeezing the reading.

48 / 64 / 96 px

A change of subject

Distance between groups and sections; increase it when the subject changes.

Space around the same idea.

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.

A CLEAR NEXT STEP

Start with what matters.

Explain the useful detail. Keep the next action close enough to feel connected.

Explore the design system
Padding: 32 px · Gap: 24 px
.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; }

A shared grid, with room to adapt.

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.

Columns
12
Gutter
24 px
Outer margin
32 px
From viewport
1024 px
Each block represents one card. Decorative columns show the shared alignment.

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.

Keep the rhythm when the screen changes.

  • Stack content in its reading order. Do not visually reorder cards away from keyboard and document order.
  • Let content determine height. Long copy, validation messages and translated labels need room to grow.
  • Use 48 px between sections on narrow layouts and 64–96 px on larger layouts as starting points. Related elements stay closer together.
  • Keep one shared alignment edge for a heading, its body and its action. Center a short statement only when the composition calls for it.
  • Keep essential controls comfortably sized; use a 44 × 44 px touch target as the pilot default. Do not confuse icon size with hit area.
  • Use the social templates’ safe areas for feed and Stories, and the logo’s own clear-space rules. A web gutter does not replace either.

Layers with a clear order.

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.

  1. 0

    Content

    Normal flow and local decorative elements.

    --ds-layer-content
  2. 10

    Sticky navigation

    Header or navigation, without hiding focused content.

    --ds-layer-sticky
  3. 20

    Contextual menu

    Menus close to their originating control.

    --ds-layer-popover
  4. 30

    Modal backdrop

    A backdrop separates a dialog from the rest of the page.

    --ds-layer-overlay
  5. 40

    Dialog

    Modal content; manage focus, Escape and return to the trigger.

    --ds-layer-dialog

A response, not a performance.

Keep 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.

120 ms

Quick response

Short feedback on small controls.

Max. offset: 4 px
220 ms

State change

The existing reference for hover, focus and selection.

Max. offset: 4 px
320 ms

Detail reveal

Reveal a small panel after an explicit action.

Max. offset: 8 px

Shared easing: cubic-bezier(0.4, 0, 0.2, 1)

Standard motion: short transitions are enabled.

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.

What stays still matters too.

  • Animate only the properties that explain a state: color, opacity and a small transform. Avoid transition: all, fixed-height reveals and layout shifts that move a target under the pointer.
  • Keep keyboard focus visible immediately. A hover effect must have a keyboard equivalent; do not hide an action until hover.
  • Do not make reading depend on a timed reveal. Avoid parallax, bouncing loops and automatic carousels in this pilot.
  • With prefers-reduced-motion: reduce, remove transitions, entrance animations and spatial offsets. Keep the final content, labels and selected state.
  • For dialogs and menus, motion is only one part of the behavior. Implement focus handling, dismissal and the correct semantics before adding animation.

A recipe your team can reuse.

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.