/* Apple-style fade in/fade out blinking animation */
@keyframes appleBlink {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.3;
    }
}

.apple-blink {
    animation: appleBlink 1.5s ease-in-out infinite;
}

/* Apple-style bouncy entrance animation */
@keyframes appleSpringIn {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }
    50% {
        transform: scale(1.05);
    }
    70% {
        transform: scale(0.98);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Apple-style bouncy scale animation for status changes */
@keyframes appleSpringScale {
    0% {
        transform: scale(1);
    }
    30% {
        transform: scale(1.15);
    }
    50% {
        transform: scale(0.95);
    }
    70% {
        transform: scale(1.03);
    }
    100% {
        transform: scale(1);
    }
}

/* Subtle breathing animation for active state */
@keyframes appleBreathing {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.08);
        opacity: 0.85;
    }
}

/* Apple-style crossfade animation */
@keyframes appleCrossfadeIn {
    0% {
        opacity: 0;
        transform: translateY(8px);
        filter: blur(4px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes appleCrossfadeOut {
    0% {
        opacity: 1;
        filter: blur(0);
    }
    100% {
        opacity: 0;
        filter: blur(4px);
    }
}

/* Apple-style clean AI text reveal animation */
@keyframes appleAIReveal {
    0% {
        opacity: 0;
        transform: translateY(12px) scale(0.95);
        filter: blur(6px);
    }
    60% {
        opacity: 1;
        filter: blur(0);
    }
    80% {
        transform: translateY(-2px) scale(1.01);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

/* Apple-style word-by-word reveal for AI text */
@keyframes appleWordReveal {
    0% {
        opacity: 0;
        transform: translateY(6px);
        filter: blur(3px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

.apple-spring-in {
    animation: appleSpringIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.apple-spring-scale {
    animation: appleSpringScale 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.apple-breathing {
    animation: appleBreathing 2s ease-in-out infinite;
}

.apple-crossfade-out {
    animation: appleCrossfadeOut 0.5s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
}

.apple-crossfade-in {
    animation: appleCrossfadeIn 0.6s cubic-bezier(0.0, 0.0, 0.2, 1) forwards;
}

.apple-ai-reveal {
    animation: appleAIReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Smooth fade transitions */
.fade-in {
    animation: fadeIn 0.6s ease-in-out;
}

.fade-out {
    animation: fadeOut 0.4s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

/* Status circle with smooth transitions */
.status-circle {
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-origin: center;
}

/* Smooth color transitions with spring-like easing */
.status-indicator {
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.status-text {
    transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    display: inline-block;
}

/* AI overview text styles */
.ai-overview-text {
    display: inline-block;
}