Markup Refine keeps layout deliberately small and intrinsic instead of reproducing an atomic utility framework. These primitives describe layout relationships and are designed to compose with semantic HTML and components.
Live demo
The examples below are rendered by this Astro page with the same public classes available to consuming applications.
Stack
Vertical flow controlled by --mr-stack-gap.
First item Stack owns the vertical spacing.Second item Children do not need margin utilities.Third item The relationship stays composable.
Intrinsic auto-fit columns controlled by --mr-grid-min-column-sizeand --mr-grid-gap. Resize the viewport to see columns collapse without a library breakpoint class.
The historical .group helper is deprecated and no longer ships as a component or stable CSS selector. Its layout responsibility is covered by.mr-cluster. Migrate the old alignment modifiers as follows:
Deprecated
Use instead
.group
.mr-cluster
.group-spaced-around
.mr-cluster--around
.group-spaced-between
.mr-cluster--between
.group-centered
.mr-cluster--center
.group-end
.mr-cluster--end
.group-fill
.mr-cluster--fill
Group used to mix layout with button-specific presentation. The replacement is intentionally narrower: .mr-cluster owns layout only, while buttons use the normal Markup Refine button styling.
Admission rule
A new general primitive must solve a repeated layout relationship that the existing five cannot express cleanly without creating an atomic property or breakpoint catalog.