.tt-live-starter{width:100%;max-width:1400px;margin:0 auto;padding:clamp(16px,4vw,40px);box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tt-live-kicker{text-align:center;font-size:clamp(20px,4vw,36px);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.tt-live-card{border-radius:28px;background:#111827;color:#fff;padding:clamp(22px,5vw,56px);box-shadow:0 18px 50px rgba(0,0,0,.22);text-align:center}.tt-live-start-number{font-size:clamp(56px,18vw,150px);line-height:.95;font-weight:900;color:#facc15;margin-bottom:12px}.tt-live-name{font-size:clamp(34px,9vw,86px);line-height:1.05;font-weight:900;margin-bottom:10px}.tt-live-tractor{font-size:clamp(24px,6vw,54px);font-weight:700;color:#d1d5db;margin-bottom:26px}.tt-live-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tt-live-meta div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px 12px}.tt-live-meta span{display:block;font-size:clamp(13px,3vw,20px);color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.tt-live-meta strong{display:block;font-size:clamp(18px,4vw,32px)}.tt-live-updated{text-align:center;color:#6b7280;margin-top:14px;font-size:14px}.tt-live-pulse .tt-live-card{animation:ttLivePulse .7s ease-out}@keyframes ttLivePulse{0%{transform:scale(.985)}40%{transform:scale(1.01);box-shadow:0 0 0 12px rgba(34,113,177,.18)}100%{transform:scale(1)}}@media(max-width:720px){.tt-live-meta{grid-template-columns:1fr}}
@media (min-width: 1024px) {
  .tt-live-starter {
    max-width: 1400px;
    width: min(96vw, 1400px);
  }

  .tt-live-card {
    padding-left: clamp(56px, 7vw, 96px);
    padding-right: clamp(56px, 7vw, 96px);
  }
}


.tt-live-distance-wrap {
    margin-bottom: 18px;
}

.tt-live-distance-label {
    font-size: clamp(18px, 3vw, 28px);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #d1d5db;
    margin-bottom: 6px;
    font-weight: 700;
}

.tt-live-distance {
    font-size: clamp(70px, 16vw, 170px);
    line-height: .9;
    font-weight: 900;
    color: #facc15;
}

.tt-live-pause{border-radius:28px;background:#111827;color:#fff;padding:clamp(28px,6vw,72px);box-shadow:0 18px 50px rgba(0,0,0,.22);text-align:center}.tt-live-pause-icon{font-size:clamp(60px,12vw,130px);line-height:1;color:#facc15}.tt-live-pause-title{font-size:clamp(52px,12vw,140px);font-weight:900;line-height:.95;margin-top:8px}.tt-live-pause-subtitle{font-size:clamp(22px,4vw,42px);color:#d1d5db;margin-top:16px}.tt-live-sponsors{margin-top:34px;padding:clamp(18px,4vw,34px);border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);font-size:clamp(20px,4vw,40px);font-weight:700}.tt-live-sponsors img{max-width:min(80vw,360px);height:auto;margin:10px 16px;vertical-align:middle}

.tt-live-page {
    min-height: 100vh;
    max-width: none;
    width: 100%;
    background:
        linear-gradient(135deg, rgba(7, 12, 22, .92), rgba(17, 24, 39, .82)),
        var(--tt-live-bg-image, none);
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tt-live-page .tt-live-card,
.tt-live-page .tt-live-pause {
    width: min(94vw, 1500px);
    margin-left: auto;
    margin-right: auto;
}

.tt-live-logo-wrap {
    text-align: center;
    margin-bottom: clamp(12px, 3vw, 32px);
}

.tt-live-logo {
    max-width: min(52vw, 360px);
    max-height: 150px;
    object-fit: contain;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}

.tt-live-sponsor-images {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(14px, 3vw, 34px);
    margin-top: 28px;
}

.tt-live-sponsor-images img {
    max-width: min(40vw, 280px);
    max-height: 140px;
    object-fit: contain;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.92);
}

html:has(.tt-live-fullscreen-body),
body.tt-live-fullscreen-body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    min-height: 100%;
    overflow-x: hidden;
    background: #111827;
}

body.tt-live-fullscreen-body .tt-live-page {
    min-height: 100vh;
}

.tt-live-sponsor-images {
    position: relative;
    min-height: min(48vh, 520px);
    width: min(92vw, 1200px);
    margin-left: auto;
    margin-right: auto;
}

.tt-live-sponsor-images img {
    display: block;
    position: absolute;
    inset: 0;
    margin: auto;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: min(48vh, 520px);
    opacity: 0;
    transform: scale(.96);
    transition: opacity .7s ease, transform .7s ease;
    object-fit: contain;
    padding: clamp(14px, 2vw, 28px);
    border-radius: 24px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 46px rgba(0,0,0,.25);
}

.tt-live-sponsor-images img.is-active {
    opacity: 1;
    transform: scale(1);
}

@media (max-width: 720px) {
    .tt-live-sponsor-images {
        min-height: 340px;
    }

    .tt-live-sponsor-images img {
        max-height: 340px;
    }
}

.tt-live-pause-slideshow {
    position: relative;
    min-height: min(72vh, 760px);
}

.tt-live-pause-slide {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(.97);
    transition: opacity .8s ease, transform .8s ease;
    pointer-events: none;
}

.tt-live-pause-slide.is-active {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}

.tt-live-sponsor-slide img {
    width: auto;
    height: auto;
    max-width: min(88vw, 1200px);
    max-height: min(68vh, 680px);
    object-fit: contain;
    padding: clamp(18px, 3vw, 44px);
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 22px 60px rgba(0,0,0,.30);
}

.tt-live-pause-message {
    text-align: center;
}

.tt-live-kicker {
    color: #ffffff !important;
}

.tt-live-active-sponsor-slide {
    width: min(94vw, 1500px);
    margin: 0 auto;
    min-height: min(72vh, 760px);
    align-items: center;
    justify-content: center;
}

.tt-live-active-sponsor-images {
    position: relative;
    width: min(92vw, 1200px);
    min-height: min(68vh, 680px);
}

.tt-live-active-sponsor-images img {
    position: absolute;
    inset: 0;
    margin: auto;
    max-width: 100%;
    max-height: min(68vh, 680px);
    object-fit: contain;
    opacity: 0;
    transform: scale(.96);
    transition: opacity .7s ease, transform .7s ease;
    padding: clamp(18px, 3vw, 44px);
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 22px 60px rgba(0,0,0,.30);
}

.tt-live-active-sponsor-images img.is-active {
    opacity: 1;
    transform: scale(1);
}

.tt-live-pause-message {
    min-height: min(72vh, 760px);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.tt-live-ad-stage,
.tt-live-active-sponsor-slide {
    min-height: min(72vh, 760px);
    align-items: center;
    justify-content: center;
    width: min(94vw, 1500px);
    margin-left: auto;
    margin-right: auto;
}

.tt-live-ad-image,
.tt-live-active-ad-image {
    display: block;
    width: auto;
    height: auto;
    max-width: min(92vw, 1300px);
    max-height: min(68vh, 700px);
    object-fit: contain;
    padding: clamp(18px, 3vw, 44px);
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 22px 60px rgba(0,0,0,.30);
}

/* v4.2.4 slideshow reliability */
.tt-live-active-starter-slide {
    width: 100%;
}

.tt-live-active-sponsor-slide[style*="flex"],
.tt-live-pause .tt-live-ad-stage[style*="flex"],
.tt-live-pause-message[style*="flex"] {
    display: flex !important;
}

.tt-live-active-sponsor-slide[style*="none"],
.tt-live-pause .tt-live-ad-stage[style*="none"],
.tt-live-pause-message[style*="none"] {
    display: none !important;
}

/* v4.2.5 sponsor centering fix */

.tt-live-active-sponsor-slide {
    display: none;
    width: 100%;
    min-height: 72vh;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.tt-live-active-sponsor-slide .tt-live-ad-stage {
    width: 100%;
    min-height: 72vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tt-live-active-ad-image {
    display: block;
    margin: 0 auto !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
}

.tt-live-active-sponsor-slide[style*="flex"] {
    display: flex !important;
}

/* v4.3.1 pause logo centering + ranking view */
.tt-live-pause .tt-live-ad-stage {
    width: 100% !important;
    min-height: min(72vh, 760px) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.tt-live-pause .tt-live-ad-image {
    position: static !important;
    inset: auto !important;
    margin: 0 auto !important;
    display: block !important;
    max-width: min(90vw, 1200px) !important;
    max-height: min(68vh, 700px) !important;
}

.tt-ranking-class-box {
    margin: 12px 0 16px;
    padding: 14px 16px;
    background: #eef7ff;
    border-left: 5px solid #2271b1;
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
}

.tt-live-ranking-view {
    width: min(94vw, 1500px);
    margin: 0 auto;
    border-radius: 28px;
    background: rgba(17,24,39,.94);
    color: #fff;
    padding: clamp(28px, 6vw, 72px);
    box-shadow: 0 18px 50px rgba(0,0,0,.22);
    text-align: center;
}

.tt-live-ranking-title {
    font-size: clamp(42px, 8vw, 110px);
    font-weight: 900;
    color: #facc15;
    margin-bottom: clamp(22px, 4vw, 46px);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.tt-live-ranking-list {
    display: grid;
    gap: clamp(16px, 3vw, 30px);
}

.tt-live-ranking-row {
    display: grid;
    grid-template-columns: minmax(80px, 180px) 1fr;
    align-items: center;
    gap: clamp(18px, 4vw, 46px);
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 24px;
    padding: clamp(18px, 4vw, 36px);
    text-align: left;
}

.tt-live-ranking-place {
    font-size: clamp(42px, 8vw, 96px);
    font-weight: 900;
    color: #facc15;
    text-align: center;
}

.tt-live-ranking-name {
    font-size: clamp(32px, 6vw, 76px);
    font-weight: 900;
    line-height: 1.05;
}

.tt-live-ranking-empty {
    font-size: clamp(28px, 5vw, 60px);
    font-weight: 800;
}

/* v4.3.9 animated waiting dots */
.tt-live-dots {
    display: inline-flex;
    gap: .08em;
    align-items: center;
    justify-content: center;
}

.tt-live-dots span {
    display: inline-block;
    opacity: .2;
    animation: ttLiveDotFade 1.2s infinite ease-in-out;
}

.tt-live-dots span:nth-child(2) {
    animation-delay: .2s;
}

.tt-live-dots span:nth-child(3) {
    animation-delay: .4s;
}

@keyframes ttLiveDotFade {
    0%, 80%, 100% {
        opacity: .2;
        transform: translateY(0);
    }
    40% {
        opacity: 1;
        transform: translateY(-0.08em);
    }
}

/* v4.4.0 real animated dots instead of text dots */
.tt-live-dots {
    display: inline-flex !important;
    gap: clamp(14px, 2vw, 30px);
    align-items: center;
    justify-content: center;
    line-height: 1;
    min-width: 0;
}

.tt-live-dots span {
    display: block !important;
    width: clamp(18px, 3vw, 42px);
    height: clamp(18px, 3vw, 42px);
    border-radius: 999px;
    background: #facc15;
    opacity: .25;
    animation: ttLiveDotBounce 1.2s infinite ease-in-out;
}

.tt-live-dots span:nth-child(2) {
    animation-delay: .2s;
}

.tt-live-dots span:nth-child(3) {
    animation-delay: .4s;
}

@keyframes ttLiveDotBounce {
    0%, 80%, 100% {
        opacity: .25;
        transform: translateY(0) scale(.85);
    }
    40% {
        opacity: 1;
        transform: translateY(-12px) scale(1);
    }
}


/* v4.4.7 remove live distance overview */
.tt-live-distance-wrap,
.tt-live-distance-label,
.tt-live-distance {
    display: none !important;
}

/* v4.4.8 show distance/stechen value, hide only heading */
.tt-live-distance-wrap,
.tt-live-distance {
    display: block !important;
}

.tt-live-distance-label {
    display: none !important;
}

.tt-live-distance-value-only {
    margin-bottom: 18px;
}

/* v4.5.2 ensure dots are hidden when value exists */
.tt-live-distance.tt-live-has-value .tt-live-dots {
    display: none !important;
}

/* v4.5.3 no waiting dots in active starter distance area */
.tt-live-active-starter-slide .tt-live-distance .tt-live-dots {
    display: none !important;
}

/* v4.5.4 distance dots/value handling */
.tt-live-distance.tt-live-has-value .tt-live-dots {
    display:none !important;
}

/* v4.5.5 force waiting dots visible when no value */
.tt-live-distance:not(.tt-live-has-value) .tt-live-dots {
    display: inline-flex !important;
}
.tt-live-distance.tt-live-has-value .tt-live-dots {
    display: none !important;
}
