:root {
    --streaker-duration: 5.5s;
}

.streaker {
    position: absolute;
    left: 20%;
    top: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    background: #fff;
    animation: 
        moveStreaker var(--streaker-duration) linear infinite,
        fadeStreaker var(--streaker-duration) ease-in-out infinite,
        glowStreaker var(--streaker-duration) ease-in-out infinite !important;
}

.streaker::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 50%;
    height: 2px;
    background: linear-gradient(to left, rgba(255,255,255,0.8), transparent);
    transform: translateY(-50%);
    opacity: 0;
    animation: 
        trailLength var(--streaker-duration) linear infinite,
        trailFade var(--streaker-duration) ease-in-out infinite !important;
}

@keyframes moveStreaker {
    0%, 36.36% { left: 20%; }
    54.54% { left: 80%; }
    100% { left: 80%; }
}

@keyframes fadeStreaker {
    0%, 36.36% { opacity: 0; }
    40.36% { opacity: 1; }
    50.54% { opacity: 1; }
    54.54% { opacity: 0; }
    100% { opacity: 0; }
}

@keyframes glowStreaker {
    0% { box-shadow: none; }
    40% { 
        box-shadow: 
            0 0 15px 8px rgba(255, 255, 255, 0.8),
            0 0 30px 15px rgba(255, 255, 255, 0.4),
            0 0 50px 25px rgba(255, 255, 255, 0.2);
    }
    100% { box-shadow: none; }
}

@keyframes trailLength {
    0% { width: 0; }
    10% { width: 100px; }
    90% { width: 100px; }
    100% { width: 0; }
}

@keyframes trailFade {
    0% { opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { opacity: 0; }
} 