.tvsar-player-wrap {
    position: sticky;
    top: var(--tvsar-sticky-top, 0px);
    z-index: 30;
    margin: 0 0 1rem;
}

.tvsar-player {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.94);
    color: #f8fafc;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.18);
    backdrop-filter: blur(10px);
}

.tvsar-icon-button,
.tvsar-chip-button,
.tvsar-speed {
    appearance: none;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: inherit;
    cursor: pointer;
    transition: transform 0.15s ease, background-color 0.15s ease, opacity 0.15s ease;
}

.tvsar-icon-button:hover,
.tvsar-chip-button:hover,
.tvsar-speed:hover {
    background: rgba(255, 255, 255, 0.16);
}

.tvsar-icon-button:focus-visible,
.tvsar-chip-button:focus-visible,
.tvsar-speed:focus-visible,
.tvsar-progress:focus-visible,
.tvsar-volume:focus-visible {
    outline: 2px solid #60a5fa;
    outline-offset: 2px;
}

.tvsar-icon-button {
    width: 2.45rem;
    height: 2.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 0 0 auto;
}

.tvsar-download.is-loading {
    opacity: 0.65;
    pointer-events: none;
}

.tvsar-icon {
    width: 1.1rem;
    height: 1.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
}

.tvsar-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.tvsar-icon--pause {
    display: none;
}

.tvsar-player[data-state="playing"] .tvsar-play .tvsar-icon--play {
    display: none;
}

.tvsar-player[data-state="playing"] .tvsar-play .tvsar-icon--pause {
    display: inline-flex;
}

.tvsar-progress {
    --tvsar-progress: 0%;
    flex: 1 1 14rem;
    min-width: 10rem;
    margin: 0;
    appearance: none;
    height: 0.55rem;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(to right, #4b5563 0%, #4b5563 var(--tvsar-progress), rgba(226, 232, 240, 0.8) var(--tvsar-progress), rgba(226, 232, 240, 0.8) 100%);
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.tvsar-progress::-webkit-slider-runnable-track {
    height: 0.55rem;
    background: linear-gradient(to right, #4b5563 0%, #4b5563 var(--tvsar-progress), rgba(226, 232, 240, 0.8) var(--tvsar-progress), rgba(226, 232, 240, 0.8) 100%);
    border-radius: 999px;
}

.tvsar-progress::-webkit-slider-thumb {
    appearance: none;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 999px;
    background: #dcfce7;
    border: 0;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.5);
    margin-top: -0.075rem;
    opacity: 0.0001;
}

.tvsar-progress::-moz-range-track {
    height: 0.55rem;
    background: rgba(148, 163, 184, 0.28);
    border-radius: 999px;
    border: 0;
}

.tvsar-progress::-moz-range-progress {
    height: 0.55rem;
    border-radius: 999px;
    background: #4b5563;
}

.tvsar-progress::-moz-range-thumb {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 999px;
    background: #dcfce7;
    border: 0;
    opacity: 0.0001;
}

.tvsar-inline-control {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: rgba(248, 250, 252, 0.92);
}

.tvsar-volume {
    --tvsar-volume: 100%;
    width: 5.2rem;
    margin: 0;
    appearance: none;
    height: 0.38rem;
    border-radius: 999px;
    background: linear-gradient(to right, #4b5563 0%, #4b5563 var(--tvsar-volume), rgba(226, 232, 240, 0.8) var(--tvsar-volume), rgba(226, 232, 240, 0.8) 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.tvsar-volume::-webkit-slider-runnable-track {
    height: 0.38rem;
    background: linear-gradient(to right, #4b5563 0%, #4b5563 var(--tvsar-volume), rgba(226, 232, 240, 0.8) var(--tvsar-volume), rgba(226, 232, 240, 0.8) 100%);
    border-radius: 999px;
}

.tvsar-volume::-webkit-slider-thumb {
    appearance: none;
    width: 0.82rem;
    height: 0.82rem;
    border-radius: 999px;
    border: 0;
    background: #e5e7eb;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.5);
    margin-top: -0.22rem;
}

.tvsar-volume::-moz-range-track {
    height: 0.38rem;
    background: rgba(148, 163, 184, 0.28);
    border-radius: 999px;
    border: 0;
}

.tvsar-volume::-moz-range-progress {
    height: 0.38rem;
    background: #4b5563;
    border-radius: 999px;
}

.tvsar-volume::-moz-range-thumb {
    width: 0.82rem;
    height: 0.82rem;
    border-radius: 999px;
    border: 0;
    background: #e5e7eb;
}

.tvsar-speed {
    min-width: 4.1rem;
    padding: 0.5rem 0.75rem;
    font: inherit;
    font-weight: 600;
}

.tvsar-speed option {
    color: #0f172a;
}


.tvsar-word {
    border-radius: 0.22rem;
    transition: background-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}

.tvsar-word.is-active {
    background: #fde68a;
    color: #111827;
    box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.1);
}

@media (max-width: 782px) {
    .tvsar-player {
        border-radius: 1rem;
        padding: 0.7rem;
    }

    .tvsar-progress {
        order: 10;
        flex-basis: 100%;
        min-width: 100%;
    }

    .tvsar-next-prompt {
        align-items: flex-start;
        flex-direction: column;
    }
}
