/* AI Login Page Animation Styles */
html {
    height: 100%;
}

body {
    /* This is crucial to let the fixed #ai-animation-background show through */
    background-color: transparent !important;
    min-height: 100%; /* Ensure body stretches if content is short */
    position: relative; /* Needed if any direct children of body are position:absolute */
}

#ai-animation-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0a192f; /* Dark blue background */
    overflow: hidden;
    z-index: -1; /* Ensure it's behind login form but visible */
}

.ai-particle {
    position: absolute;
    opacity: 0; /* Start invisible, fade in with animation */
    /* animation-timing-function: linear; JS will set easing */
    /* border-radius: 50%; Not necessarily for bubbles */
    /* JS will manage creation/deletion */
}

/* Old particle-specific styles - commented out */
/*
.ai-particle.incoming {
    background-color: rgba(255, 255, 255, 0.6); 
    box-shadow: 0 0 6px rgba(255, 255, 255, 0.4), 0 0 10px rgba(255, 255, 255, 0.2);
}
.ai-particle.response {
    background-color: #0070F0; 
    box-shadow: 0 0 8px #0070F0, 0 0 12px rgba(0, 112, 240, 0.5);
}
*/

/* New styles for text message bubbles */
.ai-message-bubble {
    padding: 10px 15px;
    border-radius: 12px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.45;
    max-width: 220px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.15);
    word-wrap: break-word;
}

.ai-message-bubble.user-query {
    background-color: #e9e9eb; /* Light grey for user */
    color: #1c1e21; /* Darker text */
    border-bottom-left-radius: 3px; /* Typical chat bubble styling */
}

.ai-message-bubble.ai-answer {
    background-color: #0070F0; /* Daxow blue for AI */
    color: #ffffff;
    border-bottom-right-radius: 3px; /* Typical chat bubble styling */
}

/* Layout for .sb-bottom to place 'Sign in' button on its own line,
   and 'Need new account? Sign up free' on the line below it. */
.sb-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Center items on their line */
    text-align: center; /* Fallback for text within items */
    padding-top: 10px; /* Optional: Add some space above this section */
}

.sb-bottom .btn-login {
    flex-basis: 100%; /* Make the button take the full width of the first line */
    margin-bottom: 12px; /* Space between the button and the text links below */
    /* Assuming .btn-login is already styled as a button by skin.min.css (e.g., background, padding, text-align) */
}

/* The .sb-text elements for "Need new account?" and "Sign up free" 
   will now be on the second line, centered together by justify-content on .sb-bottom */
.sb-bottom .sb-text {
    margin: 0 4px; /* Small horizontal margin for spacing between them if they are side-by-side */
    /* skin.min.css likely styles .sb-text for color, font-size etc. */
}

/* Example Keyframes - JS will dynamically set animation properties for more variety */
/* These are more for conceptual reference or simple CSS-only fallback */

@keyframes driftAcross {
    0% {
        opacity: 0;
        /* transform will be set by JS */
    }
    10% {
        opacity: 0.8;
    }
    90% {
        opacity: 0.8;
    }
    100% {
        opacity: 0;
        /* transform will be set by JS */
    }
}

@keyframes pulseAndDrift {
    0% {
        opacity: 0;
        transform: scale(0.5);
        /* transform translate will be set by JS */
    }
    20% {
        opacity: 1;
        transform: scale(1.2);
    }
    40% {
        opacity: 0.8;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(0.8);
        /* transform translate will be set by JS */
    }
}
