/* ===== Double-Tap to Seek CSS ===== */

/* Seek indicator overlay */
.doubletap-seek-indicator {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 15;
    pointer-events: none;
    opacity: 0;
}
.doubletap-seek-indicator.left {
    left: 0;
    border-radius: 0 50% 50% 0;
}
.doubletap-seek-indicator.right {
    right: 0;
    border-radius: 50% 0 0 50%;
}
.doubletap-seek-indicator.show {
    animation: seekRipple 0.6s ease-out forwards;
}

.doubletap-seek-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.doubletap-seek-label svg {
    width: 32px;
    height: 32px;
    fill: #fff;
}

/* Ripple effect */
@keyframes seekRipple {
    0% {
        opacity: 0;
        background: rgba(255,255,255,0);
    }
    30% {
        opacity: 1;
        background: rgba(255,255,255,0.15);
    }
    100% {
        opacity: 0;
        background: rgba(255,255,255,0);
    }
}

/* Arrows animation */
.seek-arrows {
    display: flex;
    gap: 2px;
}
.seek-arrows svg {
    width: 20px;
    height: 20px;
    opacity: 0;
}
.doubletap-seek-indicator.show .seek-arrows svg:nth-child(1) {
    animation: arrowFade 0.4s 0s ease-out forwards;
}
.doubletap-seek-indicator.show .seek-arrows svg:nth-child(2) {
    animation: arrowFade 0.4s 0.1s ease-out forwards;
}
.doubletap-seek-indicator.show .seek-arrows svg:nth-child(3) {
    animation: arrowFade 0.4s 0.2s ease-out forwards;
}

@keyframes arrowFade {
    0% { opacity: 0; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1); }
    100% { opacity: 0.3; transform: scale(1); }
}
