/* Login Page Styles */

body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Animated gradient backgrounds */
@keyframes gradient-shift {
    0%, 100% { opacity: 1; }
    25% { opacity: 0.3; }
    50% { opacity: 0.1; }
    75% { opacity: 0.3; }
}
@keyframes gradient-shift-delayed {
    0%, 100% { opacity: 0.1; }
    25% { opacity: 1; }
    50% { opacity: 0.3; }
    75% { opacity: 0.1; }
}
@keyframes gradient-shift-delayed-2 {
    0%, 100% { opacity: 0.1; }
    25% { opacity: 0.3; }
    50% { opacity: 1; }
    75% { opacity: 0.3; }
}
@keyframes gradient-shift-delayed-3 {
    0%, 100% { opacity: 0.1; }
    12.5% { opacity: 1; }
    25% { opacity: 0.3; }
    37.5% { opacity: 0.1; }
    50% { opacity: 0.3; }
    62.5% { opacity: 0.1; }
    75% { opacity: 0.3; }
    87.5% { opacity: 0.1; }
}
@keyframes gradient-shift-delayed-4 {
    0%, 100% { opacity: 0.1; }
    16.7% { opacity: 0.3; }
    33.3% { opacity: 1; }
    50% { opacity: 0.3; }
    66.7% { opacity: 0.1; }
    83.3% { opacity: 0.3; }
}

.animate-gradient-shift { animation: gradient-shift 8s ease-in-out infinite; }
.animate-gradient-shift-delayed { animation: gradient-shift-delayed 8s ease-in-out infinite; }
.animate-gradient-shift-delayed-2 { animation: gradient-shift-delayed-2 8s ease-in-out infinite; }
.animate-gradient-shift-delayed-3 { animation: gradient-shift-delayed-3 8s ease-in-out infinite; }
.animate-gradient-shift-delayed-4 { animation: gradient-shift-delayed-4 8s ease-in-out infinite; }

/* Animated gradient text — slow ambient shift matching right-side carousel */
.uip-logo-gradient {
    background: linear-gradient(270deg, #0A1128, #142038, #1E2D4A, #2E3F66, #1E2D4A, #142038, #0A1128);
    background-size: 600% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: uip-text-gradient-shift 24s ease-in-out infinite;
}

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

/* Typing cursor */
.typing-cursor::after { content: '|'; animation: blink 1s infinite; color: #6b7280; }
@keyframes blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } }

/* Typewriter magnify effect */
@keyframes typewriterMagnify {
    0% { transform: scale(1.08); filter: blur(0.5px); opacity: 0.7; }
    40% { transform: scale(1.02); filter: blur(0); opacity: 1; }
    100% { transform: scale(1); filter: blur(0); opacity: 1; }
}
.typewriter-char-new {
    display: inline-block;
    animation: typewriterMagnify 0.15s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Hide scrollbar */
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
.scrollbar-hide::-webkit-scrollbar { display: none; }
