            // Build one full set
            const firstSetHTML = stargazers
              .map((u, i) => cardHTML(u, i))
              .join("");

            track.innerHTML = firstSetHTML;

            // If very few stargazers, pad by reusing to ensure marquee looks filled
            const minCardsForNiceMarquee = 8;
            if (track.children.length < minCardsForNiceMarquee) {
              const needed = minCardsForNiceMarquee - track.children.length;
              for (let i = 0; i < needed; i+