.market-ticker-bar {
    background: #fff;
    border-bottom: 1px solid #f2f4f6;
    color: #191f28;
    overflow: hidden;
}

.market-ticker-inner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 24px;
    min-height: 44px;
}

.market-ticker-live {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 700;
    color: #8b95a1;
    letter-spacing: 0.02em;
}

.live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #3182f6;
    box-shadow: 0 0 0 0 rgba(49, 130, 246, 0.45);
    animation: live-pulse 1.8s ease-in-out infinite;
}

@keyframes live-pulse {
    0% { box-shadow: 0 0 0 0 rgba(49, 130, 246, 0.45); }
    70% { box-shadow: 0 0 0 8px rgba(49, 130, 246, 0); }
    100% { box-shadow: 0 0 0 0 rgba(49, 130, 246, 0); }
}

.market-ticker-track-wrap {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
}

.market-ticker-track {
    display: flex;
    width: max-content;
    animation: ticker-scroll 28s linear infinite;
}

.market-ticker-track:hover {
    animation-play-state: paused;
}

@keyframes ticker-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.market-ticker-items {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-shrink: 0;
    padding-right: 28px;
}

.market-ticker-divider {
    width: 1px;
    height: 18px;
    background: #e5e8eb;
    flex-shrink: 0;
}

.market-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    white-space: nowrap;
}

.mt-name {
    font-size: 13px;
    font-weight: 700;
    color: #4e5968;
    flex-shrink: 0;
}

.mt-quote {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.mt-price {
    font-size: 16px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    color: #191f28;
    flex-shrink: 0;
    transition: color 0.3s ease, transform 0.3s ease;
}

.mt-change,
.mt-rate {
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    white-space: nowrap;
}

.mt-arrow {
    font-size: 10px;
    line-height: 1;
}

.mt-price.up,
.mt-change.up,
.mt-rate.up { color: #f04452; }

.mt-price.down,
.mt-change.down,
.mt-rate.down { color: #3182f6; }

.mt-price.zero,
.mt-change.zero,
.mt-rate.zero { color: #8b95a1; }

.mt-price.flash-up {
    animation: price-flash-up 0.6s ease;
}

.mt-price.flash-down {
    animation: price-flash-down 0.6s ease;
}

@keyframes price-flash-up {
    0% { transform: scale(1); }
    30% { transform: scale(1.06); color: #f04452; }
    100% { transform: scale(1); }
}

@keyframes price-flash-down {
    0% { transform: scale(1); }
    30% { transform: scale(1.06); color: #3182f6; }
    100% { transform: scale(1); }
}

.market-ticker-time {
    flex-shrink: 0;
    font-size: 11px;
    color: #8b95a1;
    font-weight: 500;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .market-ticker-inner {
        padding: 8px 16px;
        gap: 10px;
    }

    .market-ticker-live .live-text {
        display: none;
    }

    .market-ticker-items {
        gap: 20px;
        padding-right: 20px;
    }

    .mt-name { font-size: 12px; }
    .mt-price { font-size: 15px; }
    .mt-change, .mt-rate { font-size: 11px; }

    .market-ticker-time {
        display: none;
    }

    .market-ticker-track {
        animation-duration: 22s;
    }
}