.sakana-scrolling-text {
    --sakana-marquee-duration: 20s;
    --sakana-marquee-gap: 30px;
    --sakana-marquee-distance: 0px;
    width: 100%;
    overflow: hidden;
}

.sakana-scrolling-text__track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: sakana-marquee-left var(--sakana-marquee-duration) linear infinite;
}

.sakana-scrolling-text.is-right .sakana-scrolling-text__track {
    animation-name: sakana-marquee-right;
}

.sakana-scrolling-text.pause-on-hover:hover .sakana-scrolling-text__track {
    animation-play-state: paused;
}

.sakana-scrolling-text__group {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.sakana-scrolling-text__entry {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
    gap: var(--sakana-marquee-gap);
    padding-right: var(--sakana-marquee-gap);
}

.sakana-scrolling-text__item {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.sakana-scrolling-text a.sakana-scrolling-text__item:hover {
    color: inherit;
    text-decoration: none;
}

.sakana-scrolling-text__separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    flex-shrink: 0;
}

@keyframes sakana-marquee-left {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(calc(-1 * var(--sakana-marquee-distance)), 0, 0); }
}

@keyframes sakana-marquee-right {
    from { transform: translate3d(calc(-1 * var(--sakana-marquee-distance)), 0, 0); }
    to   { transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .sakana-scrolling-text__track {
        animation-play-state: paused;
    }
}

/* Optional image items; existing text-only items keep their natural dimensions. */
.sakana-scrolling-text__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex: 0 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}
.sakana-scrolling-text__image {
    display: block;
    width: auto;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    min-width: 0;
    object-fit: contain;
    flex: 0 1 auto;
}
.sakana-scrolling-text__text { flex: 0 0 auto; }
