/* Neon Lighting Effects for Cinematic Black Theme */

/* Neon color variables */
:root {
    --neon-cyan: #00f3ff;
    --neon-pink: #ff00ff;
    --neon-purple: #b400ff;
    --neon-blue: #0066ff;
    --neon-green: #00ff88;
}

/* Neon text glow for main title */
.container h1 {
    color: var(--neon-cyan);
    text-shadow: 
      0 0 10px var(--neon-cyan),
      0 0 20px var(--neon-cyan),
      0 0 40px var(--neon-cyan),
      0 0 80px var(--neon-cyan),
      0 0 120px var(--neon-cyan);
    animation: neonFlicker 3s infinite alternate, neonPulse 2s ease-in-out infinite;
}

@keyframes neonFlicker {
    0%, 100% { 
        text-shadow: 
            0 0 10px var(--neon-cyan),
            0 0 20px var(--neon-cyan),
            0 0 40px var(--neon-cyan),
            0 0 80px var(--neon-cyan);
    }
    10%, 30%, 50%, 70%, 90% {
        text-shadow: 
            0 0 5px var(--neon-cyan),
            0 0 10px var(--neon-cyan),
            0 0 20px var(--neon-cyan);
    }
    20%, 40%, 60%, 80% {
        text-shadow: 
            0 0 15px var(--neon-cyan),
            0 0 30px var(--neon-cyan),
            0 0 60px var(--neon-cyan),
            0 0 100px var(--neon-cyan);
    }
}

@keyframes neonPulse {
    0%, 100% { 
        filter: brightness(1);
    }
    50% { 
        filter: brightness(1.3);
    }
}

/* Neon subtitle */
small {
    color: var(--neon-pink);
    text-shadow: 
        0 0 5px var(--neon-pink),
        0 0 10px var(--neon-pink),
        0 0 20px var(--neon-pink);
    animation: neonGlow 2s ease-in-out infinite;
}

@keyframes neonGlow {
    0%, 100% { 
        text-shadow: 
            0 0 5px var(--neon-pink),
            0 0 10px var(--neon-pink),
            0 0 20px var(--neon-pink);
    }
    50% { 
        text-shadow: 
            0 0 10px var(--neon-pink),
            0 0 20px var(--neon-pink),
            0 0 40px var(--neon-pink),
            0 0 60px var(--neon-pink);
    }
}

/* Neon border effects for cards */
.list li {
    border: 1px solid rgba(0, 243, 255, 0.3);
    box-shadow: 
      0 8px 32px rgba(0, 0, 0, 0.5),
      inset 0 1px 0 rgba(0, 243, 255, 0.1),
      0 0 20px rgba(0, 243, 255, 0.2);
    position: relative;
}

.list li::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(
        45deg,
        var(--neon-cyan),
        var(--neon-purple),
        var(--neon-pink),
        var(--neon-blue),
        var(--neon-cyan)
    );
    border-radius: 20px;
    opacity: 0;
    z-index: -1;
    filter: blur(10px);
    transition: opacity 0.4s ease;
    animation: neonRotate 4s linear infinite;
}

.list li:hover::after {
    opacity: 0.6;
}

@keyframes neonRotate {
    0% { filter: blur(10px) hue-rotate(0deg); }
    100% { filter: blur(10px) hue-rotate(360deg); }
}

.list li:hover {
    border-color: var(--neon-cyan);
    box-shadow: 
      0 16px 60px rgba(0, 0, 0, 0.7),
      0 0 40px var(--neon-cyan),
      0 0 80px rgba(0, 243, 255, 0.3),
      inset 0 0 20px rgba(0, 243, 255, 0.1);
}

/* Neon card titles */
.itm h3 {
    color: var(--neon-cyan);
    text-shadow: 
        0 0 10px var(--neon-cyan),
        0 0 20px var(--neon-cyan);
}

.itm:hover h3 {
    text-shadow: 
        0 0 15px var(--neon-cyan),
        0 0 30px var(--neon-cyan),
        0 0 60px var(--neon-cyan);
    animation: neonTextPulse 1s ease-in-out;
}

@keyframes neonTextPulse {
    0%, 100% { 
        text-shadow: 
            0 0 10px var(--neon-cyan),
            0 0 20px var(--neon-cyan);
    }
    50% { 
        text-shadow: 
            0 0 20px var(--neon-cyan),
            0 0 40px var(--neon-cyan),
            0 0 80px var(--neon-cyan);
    }
}

/* Neon search bar */
.searchBarInput {
    border: 1px solid rgba(0, 243, 255, 0.3);
    box-shadow: 
      inset 0 2px 15px rgba(0, 0, 0, 0.5),
      0 8px 32px rgba(0, 0, 0, 0.4),
      0 0 20px rgba(0, 243, 255, 0.2);
}

.searchBarInput:focus {
    border-color: var(--neon-cyan);
    box-shadow: 
      inset 0 2px 15px rgba(0, 0, 0, 0.5),
      0 8px 40px rgba(0, 0, 0, 0.6),
      0 0 30px var(--neon-cyan),
      0 0 60px rgba(0, 243, 255, 0.4);
}

/* Neon info card */
.info {
    border: 1px solid rgba(180, 0, 255, 0.3);
    box-shadow: 
      0 8px 32px rgba(0, 0, 0, 0.6),
      inset 0 1px 0 rgba(180, 0, 255, 0.1),
      0 0 40px rgba(180, 0, 255, 0.2);
}

/* Neon avatar glow */
.avatar {
    border: 2px solid var(--neon-purple);
    box-shadow: 
      0 0 30px var(--neon-purple),
      0 0 60px rgba(180, 0, 255, 0.4),
      inset 0 0 20px rgba(0, 0, 0, 0.4);
    animation: avatarNeonPulse 3s ease-in-out infinite;
}

@keyframes avatarNeonPulse {
    0%, 100% { 
        box-shadow: 
            0 0 30px var(--neon-purple),
            0 0 60px rgba(180, 0, 255, 0.4),
            inset 0 0 20px rgba(0, 0, 0, 0.4);
    }
    50% { 
        box-shadow: 
            0 0 40px var(--neon-purple),
            0 0 80px rgba(180, 0, 255, 0.6),
            0 0 120px rgba(180, 0, 255, 0.3),
            inset 0 0 20px rgba(0, 0, 0, 0.4);
    }
}

.avatar:hover {
    box-shadow: 
      0 0 50px var(--neon-purple),
      0 0 100px rgba(180, 0, 255, 0.6),
      0 0 150px rgba(180, 0, 255, 0.4),
      inset 0 0 20px rgba(0, 0, 0, 0.4);
}

/* Neon button effects */
.popup-trigger {
    border: 1.5px solid var(--neon-pink);
    color: var(--neon-pink);
    box-shadow: 
      0 4px 20px rgba(0, 0, 0, 0.4),
      0 0 20px rgba(255, 0, 255, 0.3),
      inset 0 1px 0 rgba(255, 0, 255, 0.1);
    text-shadow: 0 0 10px var(--neon-pink);
}

.popup-trigger:hover {
    background: rgba(255, 0, 255, 0.2);
    border-color: var(--neon-pink);
    box-shadow: 
      0 8px 32px rgba(0, 0, 0, 0.6),
      0 0 40px var(--neon-pink),
      0 0 80px rgba(255, 0, 255, 0.4);
    text-shadow: 
        0 0 10px var(--neon-pink),
        0 0 20px var(--neon-pink);
}

/* Neon tags */
#tags-list li {
    border: 1px solid rgba(0, 255, 136, 0.4);
    color: var(--neon-green);
    box-shadow: 
        0 4px 15px rgba(0, 0, 0, 0.3),
        0 0 10px rgba(0, 255, 136, 0.2);
    text-shadow: 0 0 5px var(--neon-green);
}

#tags-list li:hover {
    background: rgba(0, 255, 136, 0.15);
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.4),
        0 0 20px var(--neon-green),
        0 0 40px rgba(0, 255, 136, 0.3);
    border-color: var(--neon-green);
    text-shadow: 
        0 0 10px var(--neon-green),
        0 0 20px var(--neon-green);
}

/* Neon footer */
.footer {
    border-top: 1px solid rgba(0, 243, 255, 0.2);
    box-shadow: 
        0 -10px 40px rgba(0, 0, 0, 0.5),
        0 0 20px rgba(0, 243, 255, 0.1);
}

.footer a {
    color: var(--neon-cyan);
    text-shadow: 0 0 10px var(--neon-cyan);
}

.footer a:hover {
    text-shadow: 
        0 0 15px var(--neon-cyan),
        0 0 30px var(--neon-cyan);
}

/* Neon links section */
.links {
    border: 1px solid rgba(0, 102, 255, 0.2);
    box-shadow: 
      0 8px 32px rgba(0, 0, 0, 0.6),
      0 20px 60px rgba(0, 0, 0, 0.4),
      0 0 30px rgba(0, 102, 255, 0.15),
      inset 0 1px 0 rgba(0, 102, 255, 0.1);
}

/* Neon splash screen */
.splash-screen h1 {
    color: var(--neon-cyan);
    text-shadow: 
      0 0 20px var(--neon-cyan),
      0 0 40px var(--neon-cyan),
      0 0 80px var(--neon-cyan),
      0 0 120px var(--neon-cyan);
}

/* Neon scanlines effect */
body::after {
    background: linear-gradient(
      transparent 50%,
      rgba(0, 243, 255, 0.02) 50%
    );
}

/* Neon grid overlay */
body::before {
    background-image: 
      linear-gradient(rgba(0, 243, 255, 0.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(0, 243, 255, 0.03) 1px, transparent 1px);
}

/* Ambient neon glow on body */
body {
    background-image: 
      radial-gradient(at 40% 20%, rgba(0, 243, 255, 0.08) 0px, transparent 50%),
      radial-gradient(at 80% 0%, rgba(180, 0, 255, 0.06) 0px, transparent 50%),
      radial-gradient(at 0% 50%, rgba(255, 0, 255, 0.05) 0px, transparent 50%),
      radial-gradient(at 80% 50%, rgba(0, 102, 255, 0.06) 0px, transparent 50%),
      radial-gradient(at 0% 100%, rgba(0, 255, 136, 0.05) 0px, transparent 50%),
      radial-gradient(at 80% 100%, rgba(0, 243, 255, 0.07) 0px, transparent 50%);
}

/* Results counter neon */
.results-counter {
    color: var(--neon-green);
    border: 1px solid rgba(0, 255, 136, 0.3);
    box-shadow: 0 0 20px rgba(0, 255, 136, 0.2);
    text-shadow: 0 0 10px var(--neon-green);
}

/* Search clear button neon */
.search-clear {
    color: var(--neon-pink);
    text-shadow: 0 0 10px var(--neon-pink);
}

.search-clear:hover {
    text-shadow: 
        0 0 15px var(--neon-pink),
        0 0 30px var(--neon-pink);
}

/* Neon warning text */
#warning {
    color: #ff0040;
    text-shadow: 
      0 0 10px #ff0040,
      0 0 20px #ff0040,
      0 0 40px #ff0040,
      0 0 80px #ff0040;
}
