:root{--color-text:var(--color-slate-800);--color-bg:papayawhip;--color-bg-accent:var(--color-slate-100);--size:clamp(9rem,1rem + 40vmin,15rem);--gap:calc(var(--size) / 14);--duration:60s;--scroll-start:0;--scroll-end:calc(-100% - var(--gap))}.marquee{overflow:hidden;user-select:none;mask-image:linear-gradient(var(--mask-direction,to right),hsl(0deg 50% 50%/0%),hsl(0deg 50% 50%/100%) 20%,hsl(0deg 50% 50%/100%) 80%,hsl(0deg 50% 50%/0%))}.marquee,.marquee__group{display:flex;gap:var(--gap)}.marquee__group{flex-shrink:0;align-items:center;justify-content:space-around;min-width:100%;animation:scroll-x var(--duration) linear infinite}@media (prefers-reduced-motion:reduce){.marquee__group{animation-play-state:paused}}.marquee--vertical{--mask-direction:to bottom}.marquee--vertical,.marquee--vertical .marquee__group{flex-direction:column}.marquee--vertical .marquee__group{animation-name:scroll-y}.marquee--reverse .marquee__group{animation-direction:reverse;animation-delay:-3s}@keyframes scroll-x{0%{transform:translateX(var(--scroll-start))}to{transform:translateX(var(--scroll-end))}}@keyframes scroll-y{0%{transform:translateY(var(--scroll-start))}to{transform:translateY(var(--scroll-end))}}.marquee svg{display:grid;place-items:center;width:var(--size);fill:var(--color-text);background:var(--color-bg-accent);aspect-ratio:16/9;padding:calc(var(--size) / 10);border-radius:.5rem}.marquee--vertical svg{aspect-ratio:1;width:calc(var(--size) / 1.5);padding:calc(var(--size) / 6)}.wrapper{display:flex;flex-direction:column;gap:var(--gap);margin:auto;max-width:100vw}.wrapper--vertical{flex-direction:row;height:100vh}.toggle{--size:3rem;position:relative;position:fixed;top:1rem;left:1rem;width:var(--size);height:var(--size);font:inherit;text-align:center;cursor:pointer;outline:none;border:none;border-radius:50%;color:inherit;background-color:var(--color-bg-accent);z-index:1}.toggle:focus-visible{box-shadow:0 0 0 2px var(--color-text)}.toggle span{display:inline-block;left:calc(100% + .4em);width:fit-content;white-space:nowrap;transform:translateY(-50%);animation:fade .4s ease-out 4s forwards;user-select:none}.toggle span,.toggle svg{position:absolute;top:50%}.toggle svg{--size:1.5rem;left:50%;width:var(--size);height:var(--size);fill:currentcolor;transform:translate(-50%,-50%);transition:transform .3s cubic-bezier(.25,1,.5,1)}.toggle--vertical svg{transform:translate(-50%,-50%) rotate(-90deg)}@keyframes fade{to{opacity:0;visibility:hidden}}