/**
 * RI authentication v2
 * Isolated final layer for the logged-out experience.
 */

html body .multimodal-ai-auth-overlay {
    padding: 32px !important;
    background:
        radial-gradient(circle at 18% 18%, rgba(49, 199, 220, 0.12), transparent 34%),
        radial-gradient(circle at 84% 82%, rgba(96, 83, 218, 0.12), transparent 36%),
        rgba(5, 10, 18, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
}

html body .multimodal-ai-auth-popup.ri-auth-v2 {
    display: grid !important;
    grid-template-columns: minmax(300px, 0.88fr) minmax(390px, 1.12fr) !important;
    grid-template-rows: auto 1fr !important;
    width: min(920px, 100%) !important;
    max-width: 920px !important;
    max-height: min(760px, calc(100dvh - 64px)) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(148, 163, 184, 0.16) !important;
    border-radius: 20px !important;
    background: #0d141d !important;
    color: #eef4f7 !important;
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.42) !important;
}

html body .multimodal-ai-auth-popup.ri-auth-v2::before {
    display: none !important;
}

html body .ri-auth-v2 .ri-auth-intro {
    position: relative !important;
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 610px !important;
    padding: 38px 38px 34px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-right: 1px solid rgba(148, 163, 184, 0.12) !important;
    background:
        linear-gradient(155deg, rgba(39, 213, 224, 0.1), transparent 46%),
        linear-gradient(340deg, rgba(103, 86, 230, 0.14), transparent 56%),
        #111b26 !important;
    color: #f5f8fa !important;
}

html body .ri-auth-v2 .ri-auth-brand {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    position: relative !important;
    z-index: 2 !important;
    margin-bottom: auto !important;
}

html body .ri-auth-v2 .ri-auth-mark {
    display: inline-grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(145deg, #62e7ef, #28bdd4) !important;
    color: #052831 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    box-shadow: 0 8px 28px rgba(40, 189, 212, 0.22) !important;
}

html body .ri-auth-v2 .ri-auth-brand-name {
    color: #dfe9ee !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
}

html body .ri-auth-v2 .ri-auth-eyebrow {
    position: relative !important;
    z-index: 2 !important;
    align-self: flex-start !important;
    margin: 112px 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #66dce8 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
}

html body .ri-auth-v2 .ri-auth-intro h3 {
    position: relative !important;
    z-index: 2 !important;
    max-width: 9ch !important;
    margin: 0 !important;
    color: #f7fbfc !important;
    font-size: clamp(38px, 4.2vw, 54px) !important;
    font-weight: 650 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
}

html body .ri-auth-v2 .ri-auth-subtitle {
    position: relative !important;
    z-index: 2 !important;
    max-width: 30ch !important;
    margin: 20px 0 0 !important;
    color: #9fb0ba !important;
    font-size: 15px !important;
    line-height: 1.62 !important;
}

html body .ri-auth-v2 .ri-auth-visual {
    position: absolute !important;
    right: -74px !important;
    bottom: -110px !important;
    width: 300px !important;
    height: 300px !important;
    opacity: 0.78 !important;
}

html body .ri-auth-v2 .ri-auth-orbit,
html body .ri-auth-v2 .ri-auth-spark {
    position: absolute !important;
    display: block !important;
    pointer-events: none !important;
}

html body .ri-auth-v2 .ri-auth-orbit {
    inset: 0 !important;
    border: 1px solid rgba(103, 232, 249, 0.18) !important;
    border-radius: 50% !important;
}

html body .ri-auth-v2 .ri-auth-orbit-two {
    inset: 52px !important;
    border-color: rgba(167, 139, 250, 0.2) !important;
}

html body .ri-auth-v2 .ri-auth-spark {
    width: 9px !important;
    height: 9px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #62e7ef !important;
    box-shadow: 0 0 24px rgba(98, 231, 239, 0.8) !important;
}

html body .ri-auth-v2 .ri-auth-spark-one { top: 42px !important; left: 84px !important; }
html body .ri-auth-v2 .ri-auth-spark-two { top: 118px !important; left: 208px !important; background: #a78bfa !important; }
html body .ri-auth-v2 .ri-auth-spark-three { top: 188px !important; left: 42px !important; width: 6px !important; height: 6px !important; }

html body .ri-auth-v2 .multimodal-ai-auth-tabs {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;
    margin: 34px 42px 0 !important;
    padding: 4px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

html body .ri-auth-v2 .auth-tab {
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #8fa1ad !important;
    font-size: 14px !important;
    font-weight: 620 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transition: color 160ms ease, background 160ms ease !important;
}

html body .ri-auth-v2 .auth-tab:hover {
    background: rgba(255, 255, 255, 0.035) !important;
    color: #d8e2e7 !important;
}

html body .ri-auth-v2 .auth-tab.active {
    border: 0 !important;
    background: #1b2733 !important;
    color: #f5f8fa !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
}

html body .ri-auth-v2 .auth-form {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    padding: 28px 42px 38px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    color: #e9f0f3 !important;
}

html body .ri-auth-v2 .ri-password-input-wrap {
    width: 100% !important;
    max-width: none !important;
}

html body .ri-auth-v2 .form-group {
    margin-bottom: 17px !important;
}

html body .ri-auth-v2 .form-group label {
    margin: 0 0 7px !important;
    color: #c6d1d7 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

html body .ri-auth-v2 .form-group input,
html body .ri-auth-v2 .ri-password-input-wrap input {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(148, 163, 184, 0.16) !important;
    border-radius: 10px !important;
    background: #111c27 !important;
    color: #f3f7f9 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
    transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease !important;
}

html body .ri-auth-v2 .ri-password-input-wrap input {
    padding-right: 48px !important;
}

html body .ri-auth-v2 .form-group input::placeholder,
html body .ri-auth-v2 .ri-password-input-wrap input::placeholder {
    color: #6f828e !important;
    opacity: 1 !important;
}

html body .ri-auth-v2 .form-group input:hover,
html body .ri-auth-v2 .ri-password-input-wrap input:hover {
    border-color: rgba(148, 163, 184, 0.3) !important;
}

html body .ri-auth-v2 .form-group input:focus,
html body .ri-auth-v2 .ri-password-input-wrap input:focus {
    border-color: #51d8e5 !important;
    background: #13212d !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(81, 216, 229, 0.12) !important;
}

html body .ri-auth-v2 .password-toggle.ri-icon-control {
    right: 8px !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #8295a1 !important;
    box-shadow: none !important;
}

html body .ri-auth-v2 .password-toggle.ri-icon-control:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #dce7eb !important;
}

html body .ri-auth-v2 .forgot-password-link {
    display: table !important;
    margin: 9px 0 0 auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #78dfe8 !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

html body .ri-auth-v2 .forgot-password-link:focus,
html body .ri-auth-v2 .forgot-password-link:focus-visible,
html body .ri-auth-v2 .forgot-password-link:active {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    outline-offset: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
}

html body .ri-auth-v2 .forgot-password-link:hover {
    color: #a0edf3 !important;
    text-decoration: underline !important;
}

html body .ri-auth-v2 .auth-submit {
    width: 100% !important;
    max-width: none !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 11px 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
    transform: none !important;
    box-sizing: border-box !important;
    transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease !important;
}

html body .ri-auth-v2 .auth-submit:not(.gmail-login):not(.ri-auth-secondary) {
    background: #54d7e4 !important;
    color: #062a31 !important;
}

html body .ri-auth-v2 .auth-submit:not(.gmail-login):not(.ri-auth-secondary):hover {
    background: #72e3ec !important;
    box-shadow: 0 8px 24px rgba(84, 215, 228, 0.16) !important;
}

html body .ri-auth-v2 .gmail-login.ri-google-auth {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    min-height: 48px !important;
    border: 1px solid #dadce0 !important;
    background: #ffffff !important;
    color: #3c4043 !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
}

html body .ri-auth-v2 .gmail-login.ri-google-auth:hover {
    border-color: #c9cdd2 !important;
    background: #f8f9fa !important;
    color: #202124 !important;
    box-shadow: 0 2px 8px rgba(60, 64, 67, 0.16) !important;
}

html body .ri-auth-v2 .ri-auth-google-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
}

html body .ri-auth-v2 .auth-divider {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 22px 0 !important;
    color: #6f828e !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

html body .ri-auth-v2 .auth-divider::before,
html body .ri-auth-v2 .auth-divider::after {
    height: 1px !important;
    background: rgba(148, 163, 184, 0.13) !important;
}

html body .ri-auth-v2 .auth-divider span {
    padding: 0 !important;
    background: transparent !important;
    color: inherit !important;
    white-space: nowrap !important;
}

html body .ri-auth-v2 .form-error {
    margin: 0 0 14px !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: rgba(248, 113, 113, 0.1) !important;
    color: #fca5a5 !important;
    font-size: 13px !important;
}

html body .ri-auth-v2 .password-requirements {
    margin: 7px 0 0 !important;
    color: #7f929d !important;
}

html body .ri-auth-v2 .ri-auth-secondary {
    margin-top: 10px !important;
    border: 1px solid rgba(148, 163, 184, 0.16) !important;
    background: transparent !important;
    color: #c6d1d7 !important;
}

html body .ri-auth-v2 .ri-auth-secondary:hover {
    background: rgba(255, 255, 255, 0.04) !important;
}

@media (max-width: 760px) {
    html body .multimodal-ai-auth-overlay {
        align-items: flex-start !important;
        padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px)) !important;
        overflow-y: auto !important;
    }

    html body .multimodal-ai-auth-popup.ri-auth-v2 {
        display: flex !important;
        flex-direction: column !important;
        width: min(100%, 480px) !important;
        max-height: none !important;
        border-color: rgba(148, 163, 184, 0.1) !important;
        border-radius: 16px !important;
        overflow: hidden !important;
    }

    html body .ri-auth-v2 .ri-auth-intro {
        display: block !important;
        min-height: 0 !important;
        padding: 24px 24px 22px !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(148, 163, 184, 0.08) !important;
    }

    html body .ri-auth-v2 .ri-auth-brand {
        margin-bottom: 34px !important;
    }

    html body .ri-auth-v2 .ri-auth-eyebrow {
        display: none !important;
    }

    html body .ri-auth-v2 .ri-auth-intro h3 {
        max-width: none !important;
        font-size: 30px !important;
        line-height: 1.05 !important;
    }

    html body .ri-auth-v2 .ri-auth-subtitle {
        margin-top: 9px !important;
        font-size: 14px !important;
    }

    html body .ri-auth-v2 .ri-auth-visual {
        right: -105px !important;
        bottom: -145px !important;
        transform: scale(0.7) !important;
    }

    html body .ri-auth-v2 .multimodal-ai-auth-tabs {
        width: auto !important;
        min-width: 0 !important;
        margin: 18px 22px 0 !important;
        padding: 3px !important;
        gap: 3px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    html body .ri-auth-v2 .auth-form {
        width: 100% !important;
        max-width: none !important;
        padding: 22px 22px calc(26px + env(safe-area-inset-bottom, 0px)) !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    html body .ri-auth-v2 .auth-tab,
    html body .ri-auth-v2 .auth-submit,
    html body .ri-auth-v2 .form-group input,
    html body .ri-auth-v2 .ri-password-input-wrap input,
    html body .ri-auth-v2 .password-toggle.ri-icon-control {
        outline: 0 !important;
        outline-offset: 0 !important;
    }

    html body .ri-auth-v2 .auth-tab:focus,
    html body .ri-auth-v2 .auth-tab:focus-visible {
        outline: 0 !important;
        box-shadow: inset 0 0 0 1px rgba(81, 216, 229, 0.38) !important;
    }

    html body .ri-auth-v2 .auth-tab.active:focus,
    html body .ri-auth-v2 .auth-tab.active:focus-visible {
        box-shadow: inset 0 0 0 1px rgba(81, 216, 229, 0.38), 0 2px 8px rgba(0, 0, 0, 0.18) !important;
    }

    html body .ri-auth-v2 .auth-submit:focus,
    html body .ri-auth-v2 .auth-submit:focus-visible,
    html body .ri-auth-v2 .password-toggle.ri-icon-control:focus,
    html body .ri-auth-v2 .password-toggle.ri-icon-control:focus-visible {
        outline: 0 !important;
        outline-offset: 0 !important;
        box-shadow: inset 0 0 0 1px rgba(81, 216, 229, 0.42) !important;
    }

    html body .ri-auth-v2 .form-group input,
    html body .ri-auth-v2 .ri-password-input-wrap input {
        border-color: rgba(148, 163, 184, 0.13) !important;
    }

    html body .ri-auth-v2 .form-group input:focus,
    html body .ri-auth-v2 .form-group input:focus-visible,
    html body .ri-auth-v2 .ri-password-input-wrap input:focus,
    html body .ri-auth-v2 .ri-password-input-wrap input:focus-visible {
        outline: 0 !important;
        box-shadow: 0 0 0 1px rgba(81, 216, 229, 0.3) !important;
    }
}

@media (max-width: 380px) {
    html body .multimodal-ai-auth-overlay {
        padding-inline: 10px !important;
    }

    html body .ri-auth-v2 .ri-auth-intro,
    html body .ri-auth-v2 .auth-form {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    html body .ri-auth-v2 .multimodal-ai-auth-tabs {
        margin-left: 18px !important;
        margin-right: 18px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .ri-auth-v2 *,
    html body .ri-auth-v2 *::before,
    html body .ri-auth-v2 *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Hold one polished surface through login navigation. Never reveal the
 * logged-out application shell while authenticated HTML is still loading. */
.multimodal-ai-auth-overlay.ri-auth-transitioning {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    cursor: progress;
}

.multimodal-ai-auth-overlay.ri-auth-transitioning .multimodal-ai-auth-tabs,
.multimodal-ai-auth-overlay.ri-auth-transitioning .auth-form {
    display: none !important;
}

.multimodal-ai-auth-overlay.ri-auth-transitioning .multimodal-ai-auth-popup {
    min-height: 280px;
}

.multimodal-ai-auth-overlay.ri-auth-transitioning .ri-auth-visual {
    animation: ri-auth-transition-pulse 1.1s ease-in-out infinite alternate;
}

@keyframes ri-auth-transition-pulse {
    from { opacity: 0.58; transform: scale(0.98); }
    to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .multimodal-ai-auth-overlay.ri-auth-transitioning .ri-auth-visual {
        animation: none;
    }
}
