/* Majhuol brand mark — loaded separately to bypass CDN cache on app.css */
.site-logo__gradient {
    background: linear-gradient(135deg, #8b5cf6, #a855f7, #ec4899, #8b5cf6);
    background-size: 300% 300%;
}

.site-logo--animated .site-logo__gradient {
    animation: logo-gradient 4s ease infinite;
}

.site-logo--animated.site-logo {
    animation: logo-glow-pulse 2.5s ease-in-out infinite;
}

.site-logo__icon--animated {
    animation: logo-float 3s ease-in-out infinite;
}

.site-logo__shimmer {
    background: linear-gradient(
        105deg,
        transparent 40%,
        rgba(255, 255, 255, 0.35) 50%,
        transparent 60%
    );
    transform: translateX(-100%);
}

.site-logo--animated .site-logo__shimmer {
    animation: logo-shimmer 3s ease-in-out infinite;
}

.site-logo__eye {
    transform-origin: center;
    transform-box: fill-box;
}

.site-logo--animated .site-logo__eye--left {
    animation: logo-blink 4s ease-in-out infinite;
}

.site-logo--animated .site-logo__eye--right {
    animation: logo-blink 4s ease-in-out 0.15s infinite;
}

.site-logo--animated .site-logo__spark {
    animation: logo-spark 2s ease-in-out infinite;
}

.site-logo__dot {
    transform-origin: center;
    transform-box: fill-box;
}

.site-logo--animated .site-logo__dot--1 {
    animation: logo-dot-bounce 1.4s ease-in-out infinite;
}

.site-logo--animated .site-logo__dot--2 {
    animation: logo-dot-bounce 1.4s ease-in-out 0.2s infinite;
}

.site-logo--animated .site-logo__dot--3 {
    animation: logo-dot-bounce 1.4s ease-in-out 0.4s infinite;
}

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

@keyframes logo-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

@keyframes logo-shimmer {
    0%, 100% { transform: translateX(-100%); }
    50% { transform: translateX(100%); }
}

@keyframes logo-glow-pulse {
    0%, 100% { box-shadow: 0 10px 25px -5px rgba(139, 92, 246, 0.25); }
    50% { box-shadow: 0 10px 30px -3px rgba(236, 72, 153, 0.45); }
}

@keyframes logo-blink {
    0%, 42%, 46%, 100% { transform: scaleY(1); opacity: 1; }
    44% { transform: scaleY(0.1); opacity: 0.6; }
}

@keyframes logo-spark {
    0%, 100% { opacity: 0.4; transform: translateY(0); }
    50% { opacity: 0.9; transform: translateY(-1px); }
}

@keyframes logo-dot-bounce {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.45; }
    30% { transform: translateY(-4px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .site-logo--animated .site-logo__gradient,
    .site-logo--animated.site-logo,
    .site-logo__icon--animated,
    .site-logo--animated .site-logo__shimmer,
    .site-logo--animated .site-logo__eye--left,
    .site-logo--animated .site-logo__eye--right,
    .site-logo--animated .site-logo__spark,
    .site-logo--animated .site-logo__dot--1,
    .site-logo--animated .site-logo__dot--2,
    .site-logo--animated .site-logo__dot--3 {
        animation: none !important;
    }
}
