/* Castle War Mouse Effects - Sword Cursor & Electric Glow */

/* Electric Glow Effect */
.electric-glow {
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: 
        radial-gradient(circle at 30% 30%, rgba(0, 213, 237, 0.4) 0%, transparent 50%),
        radial-gradient(circle at 70% 70%, rgba(175, 17, 218, 0.3) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(0, 213, 237, 0.2) 0%, transparent 70%);
    animation: electricPulse 2s ease-in-out infinite;
    box-shadow: 
        0 0 25px rgba(0, 213, 237, 0.7),
        0 0 50px rgba(175, 17, 218, 0.5),
        inset 0 0 30px rgba(0, 213, 237, 0.3);
    filter: blur(1px);
}

@keyframes electricPulse {
    0%, 100% {
        transform: scale(1) rotate(0deg);
        opacity: 0.7;
    }
    25% {
        transform: scale(1.05) rotate(90deg);
        opacity: 0.9;
    }
    50% {
        transform: scale(1.1) rotate(180deg);
        opacity: 1;
    }
    75% {
        transform: scale(1.05) rotate(270deg);
        opacity: 0.9;
    }
}

/* Electric Sparks */
.electric-spark {
    position: fixed;
    pointer-events: none;
    z-index: 9998;
    width: 3px;
    height: 3px;
    background: linear-gradient(45deg, #00d5ed, #af11da);
    border-radius: 50%;
    animation: sparkFloat 1s ease-out forwards;
    box-shadow: 
        0 0 10px rgba(0, 213, 237, 0.9),
        0 0 20px rgba(175, 17, 218, 0.6);
    filter: blur(0.5px);
}

@keyframes sparkFloat {
    0% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
    25% {
        opacity: 0.9;
        transform: scale(1.3) rotate(90deg);
    }
    50% {
        opacity: 0.8;
        transform: scale(1.6) rotate(180deg);
    }
    75% {
        opacity: 0.6;
        transform: scale(1.3) rotate(270deg);
    }
    100% {
        opacity: 0;
        transform: scale(0.1) translateY(-20px) rotate(360deg);
    }
}

/* Electric Lightning */
.electric-lightning {
    position: fixed;
    pointer-events: none;
    z-index: 9997;
    width: 2px;
    height: 15px;
    background: linear-gradient(to bottom, #00d5ed, #af11da, #00d5ed);
    border-radius: 1px;
    animation: lightningFlash 0.6s ease-out forwards;
    box-shadow: 
        0 0 8px rgba(0, 213, 237, 0.8),
        0 0 16px rgba(175, 17, 218, 0.6);
    filter: blur(0.3px);
}

@keyframes lightningFlash {
    0% {
        opacity: 1;
        transform: scaleY(1) rotate(0deg);
    }
    50% {
        opacity: 0.8;
        transform: scaleY(1.2) rotate(5deg);
    }
    100% {
        opacity: 0;
        transform: scaleY(0.1) rotate(10deg);
    }
}

/* Blue Sword Cursor */
body {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M2,2 L22,12 L12,14 L10,22 Z" fill="%2300d5ed" stroke="%2300bfff" stroke-width="1.5"/><path d="M8,8 L16,12 L12,13 L10,18 Z" fill="%2300bfff" opacity="0.8"/></svg>'), auto;
}

/* Hover effects for interactive elements */
a:hover, button:hover, .clickable:hover, input:hover, select:hover {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28"><path d="M2,2 L26,14 L14,16 L12,26 Z" fill="%2300bfff" stroke="%2300d5ed" stroke-width="2"/><path d="M10,10 L18,14 L14,15 L12,22 Z" fill="%2300d5ed" opacity="0.9"/></svg>'), pointer;
}

/* Performance optimization */
.electric-glow, .electric-spark, .electric-lightning {
    will-change: transform, opacity;
    transform: translateZ(0);
}

/* Disable on mobile */
@media (max-width: 768px) {
    .electric-glow, .electric-spark, .electric-lightning {
        display: none !important;
    }
    
    body {
        cursor: auto !important;
    }
    
    a:hover, button:hover, .clickable:hover, input:hover, select:hover {
        cursor: pointer !important;
    }
} 