.snap-track{--snap-cols:1;--snap-gap:calc(var(--spacing)*4);--snap-size:calc((100% - var(--snap-gap)*(var(--snap-cols) - 1))/var(--snap-cols));grid-auto-flow:column;grid-auto-columns:var(--snap-size);gap:var(--snap-gap);padding-block:calc(var(--spacing)*6);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;display:grid;position:relative;overflow-x:auto}
@media(prefers-reduced-motion:no-preference){.snap-track{scroll-behavior:smooth}}
.snap-track>*{scroll-snap-align:start}
.snap-pager{justify-content:center;align-items:center;gap:calc(var(--spacing)*3);min-block-size:calc(var(--spacing)*11);padding-block:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}
.snap-marker{block-size:calc(var(--spacing)*4);inline-size:calc(var(--spacing)*4);border-width:1px;border-color:var(--color-slate-600);border-radius:1rem;flex-shrink:0;transition-property:border-color,background-color;transition-duration:.3s}
@media(prefers-reduced-motion:no-preference){.snap-marker{will-change:inline-size;transition-property:inline-size,border-color,background-color}}
.snap-marker[aria-current=true]{inline-size:calc(var(--spacing)*7);background-color:var(--color-primary);border-color:#0000}
