/* Custom styles */
@keyframes berry-bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

.berry-bounce {
    animation: berry-bounce 2s infinite;
}

@keyframes gradient-shift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.gradient-animate {
    background-size: 200% 200%;
    animation: gradient-shift 3s ease infinite;
}

@keyframes link-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.8;
        transform: scale(1.05);
    }
}

.link-pulse {
    animation: link-pulse 1.5s ease-in-out infinite;
}

/* Smooth scrolling for better UX */
html {
    scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
    background: #6B46C1;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #553C9A;
}

/* Berry-themed selection */
::selection {
    background: #6B46C1;
    color: white;
}

/* Enhanced hover effects for interactive elements */
.berry-hover:hover {
    transform: translateY(-2px);
    transition: transform 0.2s ease;
}

/* Link status hover tooltips */
.link-status-tooltip {
    position: relative;
}

.link-status-tooltip:hover::after {
    content: attr(data-status);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 1000;
}

/* Link health indicators */
.link-healthy::before {
    content: "✓";
    color: #22C55E;
    margin-right: 4px;
}

.link-broken::before {
    content: "✗";
    color: #EF4444;
    margin-right: 4px;
}

.link-checking::before {
    content: "⏳";
    color: #F59E0B;
    margin-right: 4px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Pulse animation for status indicator */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

/* Berry-themed micro-animations */
@keyframes berry-wiggle {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(5deg); }
    75% { transform: rotate(-5deg); }
}

.berry-wiggle:hover {
    animation: berry-wiggle 0.3s ease-in-out;
}

/* Enhanced card shadows for link status */
.link-card-healthy {
    box-shadow: 0 4px 6px -1px rgba(34, 197, 94, 0.1), 0 2px 4px -1px rgba(34, 197, 94, 0.06);
}

.link-card-broken {
    box-shadow: 0 4px 6px -1px rgba(239, 68, 68, 0.1), 0 2px 4px -1px rgba(239, 68, 68, 0.06);
}

/* Link performance indicators */
.performance-bar {
    height: 4px;
    border-radius: 2px;
    transition: width 0.3s ease;
}

.performance-excellent { background: #22C55E; }
.performance-good { background: #F59E0B; }
.performance-poor { background: #EF4444; }