@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');

:root {
    --glow-red: rgba(255, 56, 56, 0.6);
    --glow-orange: rgba(255, 149, 0, 0.4);
    --mouse-x: 50%;
    --mouse-y: 50%;
}

body {
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: 
        radial-gradient(circle at var(--mouse-x) var(--mouse-y), var(--glow-red) 0%, transparent 25%),
        radial-gradient(circle at calc(100% - var(--mouse-x)) calc(100% - var(--mouse-y)), var(--glow-orange) 0%, transparent 30%);
    z-index: -1;
    opacity: 0.3;
    animation: floatingLights 8s ease-in-out infinite alternate;
    pointer-events: none;
}

@keyframes floatingLights {
    0% { 
        transform: translateX(0) translateY(0) scale(1) rotate(0deg);
        opacity: 0.3;
    }
    25% { 
        transform: translateX(30px) translateY(-20px) scale(1.1) rotate(90deg);
        opacity: 0.5;
    }
    50% { 
        transform: translateX(20px) translateY(-15px) scale(1.2) rotate(180deg);
        opacity: 0.7;
    }
    75% { 
        transform: translateX(-15px) translateY(25px) scale(0.9) rotate(270deg);
        opacity: 0.4;
    }
    100% { 
        transform: translateX(-10px) translateY(10px) scale(0.8) rotate(360deg);
        opacity: 0.6;
    }
}

@keyframes matrixRain {
    0% { transform: translateY(-100vh); opacity: 1; }
    100% { transform: translateY(100vh); opacity: 0; }
}

@keyframes neonFlicker {
    0%, 100% { 
        text-shadow: 
            0 0 5px currentColor,
            0 0 10px currentColor,
            0 0 15px currentColor,
            0 0 20px #ff3838;
    }
    50% { 
        text-shadow: 
            0 0 2px currentColor,
            0 0 5px currentColor,
            0 0 8px currentColor,
            0 0 12px #ff3838;
    }
}

@keyframes cyberpunkGlow {
    0% {
        box-shadow: 
            0 0 5px rgba(255, 56, 56, 0.5),
            inset 0 0 5px rgba(255, 56, 56, 0.2);
    }
    50% {
        box-shadow: 
            0 0 20px rgba(255, 56, 56, 0.8),
            0 0 30px rgba(255, 56, 56, 0.4),
            inset 0 0 10px rgba(255, 56, 56, 0.3);
    }
    100% {
        box-shadow: 
            0 0 5px rgba(255, 56, 56, 0.5),
            inset 0 0 5px rgba(255, 56, 56, 0.2);
    }
}

@keyframes textGlowPulse {
    0% {
        text-shadow: 
            0 0 5px rgba(255, 56, 56, 0.8),
            0 0 10px rgba(255, 56, 56, 0.6),
            0 0 15px rgba(255, 56, 56, 0.4);
    }
    100% {
        text-shadow: 
            0 0 10px rgba(255, 56, 56, 1),
            0 0 20px rgba(255, 56, 56, 0.8),
            0 0 30px rgba(255, 56, 56, 0.6),
            0 0 40px rgba(255, 56, 56, 0.4);
    }
}

@keyframes dataStream {
    0% { transform: translateX(-100%) scaleY(0.8); }
    50% { transform: translateX(0%) scaleY(1.2); }
    100% { transform: translateX(100%) scaleY(0.8); }
}

@keyframes holographicShimmer {
    0% { 
        background-position: -200% center;
        opacity: 0.7;
    }
    50% {
        opacity: 1;
    }
    100% { 
        background-position: 200% center;
        opacity: 0.7;
    }
}

.animate-neon-flicker {
    animation: neonFlicker 2s ease-in-out infinite alternate;
}

.animate-cyberpunk-glow {
    animation: cyberpunkGlow 3s ease-in-out infinite;
}

.animate-text-glow-pulse {
    animation: textGlowPulse 2s ease-in-out infinite alternate;
    background: transparent !important;
    box-shadow: none !important;
}

.animate-data-stream {
    animation: dataStream 4s linear infinite;
}

.animate-holographic {
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 56, 56, 0.4),
        rgba(255, 149, 0, 0.4),
        transparent
    );
    background-size: 200% 100%;
    animation: holographicShimmer 3s ease-in-out infinite;
}

.matrix-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 98px,
            rgba(255, 56, 56, 0.03) 100px
        ),
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 98px,
            rgba(255, 56, 56, 0.03) 100px
        );
    opacity: 0.1;
    z-index: -1;
    animation: dataStream 10s linear infinite;
}

.hover-lift {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-lift:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 
        0 20px 40px rgba(0, 0, 0, 0.3),
        0 0 30px rgba(255, 56, 56, 0.2);
}

.text-glow {
    text-shadow: 
        0 0 10px currentColor,
        0 0 20px currentColor,
        0 0 30px currentColor;
}

.cyber-border {
    position: relative;
    border: 2px solid transparent;
    background: linear-gradient(45deg, #000, #1a0505) padding-box,
                linear-gradient(45deg, #ff3838, #ff9500, #ff6b6b) border-box;
}

.cyber-border::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, #ff3838, #ff9500, #ff6b6b);
    border-radius: inherit;
    z-index: -1;
    animation: cyberpunkGlow 2s ease-in-out infinite;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #000;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(45deg, #ff3838, #ff9500);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(45deg, #ff6b6b, #ff3838);
}

.animation-delay-1000 {
    animation-delay: 1s;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-3000 {
    animation-delay: 3s;
}

@media (max-width: 768px) {
    .animate-float {
        animation-duration: 4s;
    }
    
    .animate-glow-pulse {
        animation-duration: 1.5s;
    }
}

@media (prefers-contrast: high) {
    :root {
        --glow-red: rgba(255, 56, 56, 0.8);
        --glow-orange: rgba(255, 149, 0, 0.6);
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
