/* ETA text marquee (shared by main + mini)
   - Applies only when JS adds .eta-marquee to the host element.
*/

.eta-marquee {
    position: relative;
    overflow: hidden;
    white-space: nowrap !important;
    text-overflow: clip !important;
    -o-text-overflow: clip !important;
    word-break: normal;
}

/* Ensure line-clamp styles don't fight the marquee */
.eta-marquee {
    display: block !important;
    -webkit-box-orient: initial !important;
    line-clamp: initial !important;
    -webkit-line-clamp: initial !important;
}

.eta-marquee__track {
    display: inline-flex;
    align-items: center;
    gap: 0;
    will-change: transform;
    animation: eta-marquee var(--eta-marquee-duration, 10s) linear infinite;
    animation-play-state: paused;
}

/* Auto mode: continuous scroll without hover */
.eta-marquee.eta-marquee--auto .eta-marquee__track {
    animation-play-state: running;
}

/* Main cards: desc is normally centered; marquee must be left-aligned to loop seamlessly */
.row.group-content .url-card .url-info p.overflowClip_1.eta-marquee,
.sites-title.overflowClip_1.eta-marquee {
    text-align: left !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    -webkit-box-orient: initial !important;
    line-clamp: initial !important;
    -webkit-line-clamp: initial !important;
}

/* 悬停/键盘聚焦：开始滚动；移出后保持当前位置（暂停） */
.row.group-content .url-card:hover .eta-marquee--run-on-card-hover .eta-marquee__track,
.row.group-content .url-card:focus-within .eta-marquee--run-on-card-hover .eta-marquee__track,
.sites-btn:hover .eta-marquee--run-on-card-hover .eta-marquee__track,
.sites-btn:focus-within .eta-marquee--run-on-card-hover .eta-marquee__track {
    animation-play-state: running;
}

.row.group-content .url-card:focus-within .eta-marquee--run-on-card-hover .eta-marquee__track {
    animation-play-state: running;
}

.eta-marquee__item {
    display: inline-block;
    white-space: nowrap;
    padding-right: var(--eta-marquee-gap, 24px);
}

@keyframes eta-marquee {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(calc(-1 * var(--eta-marquee-distance, 0px)), 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .eta-marquee__track {
        animation: none !important;
        transform: none !important;
    }
}

/* Main page tweaks */
.row.group-content .url-card .url-info p.overflowClip_1 {
    /* desc: now strictly one line; scrolling handles overflow */
    -webkit-line-clamp: 1 !important;
    line-clamp: 1;
    white-space: nowrap !important;
    text-overflow: clip !important;
}