/* --- Auth Header Row (Launchpad Layout) --- */
.auth-header-row {
    display: flex;
    align-items: center;
    gap: 0.25rem; /* Reduced from 0.5rem */
    margin-bottom: 2rem;
    position: relative;
}

/* Ensure the title stack doesn't have internal padding messing up alignment */
.auth-title-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    margin-top: 4px; /* Optical alignment with the crystal center */
}

/* Override previous centered styles for the title in this context */
.auth-header-row .auth-brand-title {
    margin-bottom: 0.25rem;
    font-size: 3.5rem; /* Desktop impact */
    line-height: 1.1;
}

.auth-header-row .auth-brand-subtitle {
    font-size: 1.125rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

/* Launch Animation */
.logo-icon-launch {
    /* Set initial state to avoid flash before animation */
    opacity: 0;
    animation: launchLogo 1.4s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: 0.2s; /* Slight delay for page load */
    filter: drop-shadow(0 10px 25px rgba(124, 58, 237, 0.5));
}

@keyframes launchLogo {
    0% {
        opacity: 0;
        /* Start from bottom left relative to the container's final position */
        /* Assuming container is roughly centered-left, -30vw moves it left, 60vh moves it down */
        transform: translate(-30vw, 60vh) scale(0.2) rotate(-45deg);
    }
    60% {
        opacity: 1;
        /* Overshoot slightly */
        transform: translate(0, 0) scale(1.1) rotate(5deg);
    }
    100% {
        /* Settle */
        opacity: 1;
        transform: translate(0, 0) scale(1) rotate(0deg);
    }
}

/* Adjust auth-left-panel to allow more room at top */
.auth-left-panel {
    padding-top: 4rem; /* Move content up slightly if it was centered */
    justify-content: flex-start; /* Align to top instead of center */
}

/* Ensure the features list has space */
.auth-features-list {
    margin-top: 1rem;
}

/* Responsive sizing for hero title on smaller screens */
@media (max-width: 768px) {
    .auth-header-row .auth-brand-title {
        font-size: 2.4rem;
    }
}

@media (max-width: 480px) {
    .auth-header-row .auth-brand-title {
        font-size: 2.1rem;
    }
}

/* --- App Screen (Post-Login) Launch Animation --- */
.logo-icon-launch-app {
    opacity: 0;
    animation: launchLogoApp 1.4s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: 0.15s;
    filter: drop-shadow(0 10px 25px rgba(124, 58, 237, 0.5));
}

@keyframes launchLogoApp {
    0% {
        opacity: 0;
        transform: translate(-40vw, 50vh) scale(0.15) rotate(-45deg);
    }
    60% {
        opacity: 1;
        transform: translate(0, 0) scale(1.12) rotate(5deg);
    }
    80% {
        transform: translate(0, 0) scale(0.95) rotate(-2deg);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0) scale(1) rotate(0deg);
    }
}
