

.auth-container,
.auth-container *,
.auth-container .card,
.auth-container .login-section,
.auth-container .auth-preview-panel {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

#chat-page #chat-ui .sidebar,
#chat-page #chat-ui .chat-main,
#chat-page #chat-ui .config-panel {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}

html.rc-animated #chat-page #chat-ui .sidebar,
html.rc-animated #chat-page #chat-ui .chat-main,
html.rc-animated #chat-page #chat-ui .config-panel {
    transition: none !important;
}

html.rc-gpu-ready.rc-animated .rc-reveal:not(.is-visible) {
    opacity: 0;
    transform: translate3d(0, 48px, 0);
    transition:
        opacity var(--rc-dur-reveal) var(--rc-ease-smooth),
        transform var(--rc-dur-reveal) var(--rc-ease-smooth);
    transition-delay: var(--rc-delay, 0s);
    will-change: opacity, transform;
    backface-visibility: hidden;
}

html.rc-animated .rc-reveal {
    opacity: 0;
    transform: translateY(48px);
    transition:
        opacity var(--rc-dur-reveal) var(--rc-ease-smooth),
        transform var(--rc-dur-reveal) var(--rc-ease-smooth);
    transition-delay: var(--rc-delay, 0s);
}

html.rc-gpu-ready.rc-animated .rc-reveal.is-visible,
html.rc-animated .rc-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

html.rc-animated .rc-reveal-left {
    transform: translate3d(-56px, 0, 0);
}
html.rc-animated .rc-reveal-left.is-visible {
    transform: translate3d(0, 0, 0);
}

html.rc-animated .rc-reveal-right {
    transform: translate3d(56px, 0, 0);
}
html.rc-animated .rc-reveal-right.is-visible {
    transform: translate3d(0, 0, 0);
}

html.rc-animated .rc-reveal-scale {
    transform: scale3d(0.92, 0.92, 1);
}
html.rc-animated .rc-reveal-scale.is-visible {
    transform: scale3d(1, 1, 1);
}

html.rc-animated .rc-reveal-fade {
    transform: none;
}

html.rc-animated body {
    animation: rcPageIn var(--rc-dur-slower) var(--rc-ease-smooth) both;
}

@keyframes rcPageIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

html.rc-animated .navbar-top {
    animation: rcNavDrop var(--rc-dur-slow) var(--rc-ease-smooth) 0.15s backwards;
}

@keyframes rcNavDrop {
    from { opacity: 0; transform: translate3d(0, -28px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

html.rc-animated .nav-links {
    animation: rcNavSlide var(--rc-dur-slower) var(--rc-ease-smooth) 0.35s backwards;
}

@keyframes rcNavSlide {
    from { opacity: 0; transform: translate3d(40px, -50%, 0); }
    to   { opacity: 1; transform: translate3d(0, -50%, 0); }
}

html.rc-animated .nav-links a {
    animation: rcNavIconPop var(--rc-dur-normal) var(--rc-ease-bounce) backwards;
    animation-delay: calc(0.55s + var(--rc-nav-i, 0) * 0.09s);
}

@keyframes rcNavIconPop {
    from { opacity: 0; transform: scale3d(0.5, 0.5, 1) translate3d(0, 12px, 0); }
    to   { opacity: 1; transform: scale3d(1, 1, 1) translate3d(0, 0, 0); }
}

.logo-text {
    animation: rcLogoGlow 4.5s ease-in-out infinite;
}

@keyframes rcLogoGlow {
    0%, 100% { text-shadow: 0 0 15px rgba(157, 80, 255, 0.45); }
    50%       { text-shadow: 0 0 28px rgba(157, 80, 255, 0.75), 0 0 48px rgba(157, 80, 255, 0.25); }
}

.empty-title {
    animation: rcEmptyTitleBloom 5s ease-in-out infinite;
}

@keyframes rcEmptyTitleBloom {
    0%, 100% {
        text-shadow:
            0 0 20px rgba(157, 80, 255, 0.35),
            0 0 40px rgba(157, 80, 255, 0.15);
    }
    50% {
        text-shadow:
            0 0 32px rgba(157, 80, 255, 0.7),
            0 0 64px rgba(157, 80, 255, 0.35),
            0 0 96px rgba(157, 80, 255, 0.12);
    }
}

.badge-dot,
.vcap-dot {
    animation: rcDotPulse 3.2s ease-in-out infinite;
}

@keyframes rcDotPulse {
    0%, 100% { transform: scale3d(1, 1, 1); box-shadow: 0 0 8px var(--accent); opacity: 1; }
    50%       { transform: scale3d(1.35, 1.35, 1); box-shadow: 0 0 18px var(--accent-glow); opacity: 0.75; }
}

.hero-video-wrap {
    animation: rcHeroFloat 7s ease-in-out infinite;
    will-change: transform;
    backface-visibility: hidden;
}

@keyframes rcHeroFloat {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50%       { transform: translate3d(0, -10px, 0); }
}

.plugin-bg-blob {
    animation: rcBlobDrift 12s ease-in-out infinite;
    will-change: transform, opacity;
    backface-visibility: hidden;
}

@keyframes rcBlobDrift {
    0%, 100% { transform: translate3d(0, 0, 0) scale3d(1, 1, 1); opacity: 1; }
    33%       { transform: translate3d(-20px, 16px, 0) scale3d(1.06, 1.06, 1); opacity: 0.85; }
    66%       { transform: translate3d(14px, -12px, 0) scale3d(0.96, 0.96, 1); opacity: 1; }
}

.plugin-launch-icon {
    animation: rcIconBob 5s ease-in-out infinite;
    will-change: transform;
    backface-visibility: hidden;
}

@keyframes rcIconBob {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50%       { transform: translate3d(0, -6px, 0); }
}

.main-title span:not(.title-green):not(.title-red),
.sp-num,
h1.form-title {
    background-size: 200% 200%;
    animation: rcGradientShift 6s ease infinite;
}

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

.popular-tag,
.feature-new-badge,
.plugin-new-pill {
    animation: rcTagFloat 4s ease-in-out infinite;
}

@keyframes rcTagFloat {
    0%, 100% { transform: translate3d(-50%, 0, 0); }
    50%       { transform: translate3d(-50%, -4px, 0); }
}

.feature-new-badge,
.plugin-new-pill {
    animation-name: rcPillFloat;
}

@keyframes rcPillFloat {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50%       { transform: translate3d(0, -3px, 0); }
}

html.rc-animated .section-title.is-visible::after,
html.rc-animated .page-header .main-title.is-visible::after {
    transform: scaleX(1);
}

.section-title,
.page-header .main-title {
    position: relative;
}

.section-title::after,
.page-header .main-title::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    width: 64px;
    height: 3px;
    margin-left: -32px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--rc-dur-slow) var(--rc-ease-smooth) 0.2s;
}

.card,
.pricing-card,
.plugin-launch-card,
.form-container,
.legal-content,
.social-proof-strip,
.auth-preview-panel,
.step-card,
.entry-body li {
    transition:
        transform var(--rc-dur-normal) var(--rc-ease-smooth),
        border-color var(--rc-dur-normal) var(--rc-ease-smooth),
        box-shadow var(--rc-dur-normal) var(--rc-ease-smooth),
        background var(--rc-dur-normal) var(--rc-ease-smooth) !important;
}

.pricing-card:hover { transform: translate3d(0, -12px, 0) !important; }

.pricing-card.pro {
    animation: rcProGlow 5s ease-in-out infinite;
}

@keyframes rcProGlow {
    0%, 100% { box-shadow: 0 0 40px var(--accent-subtle); }
    50%       { box-shadow: 0 0 60px var(--accent-glow); }
}

.sp-stat.is-visible .sp-num {
    animation: rcStatPop var(--rc-dur-slow) var(--rc-ease-bounce) both;
}

@keyframes rcStatPop {
    from { opacity: 0; transform: scale3d(0.7, 0.7, 1) translate3d(0, 16px, 0); }
    to   { opacity: 1; transform: scale3d(1, 1, 1) translate3d(0, 0, 0); }
}

.footer-links a,
.legal-content a,
.info-content a,
.feature-plugin-link {
    transition: color var(--rc-dur-fast) var(--rc-ease-smooth),
                letter-spacing var(--rc-dur-fast) var(--rc-ease-smooth),
                transform var(--rc-dur-fast) var(--rc-ease-smooth) !important;
}

.footer-links a:hover {
    transform: translate3d(0, -2px, 0);
}

input,
textarea,
.config-select,
#chat-input {
    transition:
        border-color var(--rc-dur-normal) var(--rc-ease-smooth),
        box-shadow var(--rc-dur-normal) var(--rc-ease-smooth),
        background var(--rc-dur-normal) var(--rc-ease-smooth) !important;
}

button:not(.model-card):not(.close-modal-btn):not(.model-picker-close):not(.segmented-toggle-btn),
input[type="submit"],
input[type="button"],
a.btn,
a.btn-top-login,
a.discord-btn,

button:not(.model-card):not(.close-modal-btn):not(.model-picker-close):not(.segmented-toggle-btn):not(:disabled):hover,
input[type="submit"]:not(:disabled):hover,
input[type="button"]:not(:disabled):hover,
a.btn:hover,
a.btn-top-login:hover,
a.discord-btn:hover,

html.rc-gpu-accelerated button:not(.model-card):not(.close-modal-btn):not(.model-picker-close):not(.segmented-toggle-btn):not(:disabled):hover,
html.rc-gpu-accelerated input[type="submit"]:not(:disabled):hover,
html.rc-gpu-accelerated input[type="button"]:not(:disabled):hover,
html.rc-gpu-accelerated a.btn:hover,
html.rc-gpu-accelerated a.btn-top-login:hover,
html.rc-gpu-accelerated a.discord-btn:hover,

.nav-links a {
    transition:
        transform var(--rc-dur-normal) var(--rc-ease-smooth),
        box-shadow var(--rc-dur-normal) var(--rc-ease-smooth),
        filter var(--rc-dur-normal) var(--rc-ease-smooth) !important;
}

.nav-links a::after {
    transition:
        opacity var(--rc-dur-slow) var(--rc-ease-smooth),
        transform var(--rc-dur-slow) var(--rc-ease-smooth) !important;
}

html.rc-animated .sidebar,
html.rc-animated .chat-main,
html.rc-animated .config-panel {
    transition:
        opacity var(--rc-dur-reveal) var(--rc-ease-smooth),
        transform var(--rc-dur-reveal) var(--rc-ease-smooth);
    transition-delay: var(--rc-delay, 0s);
}

.tool-call-bubble {
    animation: rcSlideUp var(--rc-dur-normal) var(--rc-ease-smooth) both !important;
}

@keyframes rcSlideUp {
    from { opacity: 0; transform: translate3d(0, 24px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

.typing-dots span {
    animation: rcTyping 2.2s infinite ease-in-out both !important;
}

@keyframes rcTyping {
    0%, 80%, 100% { transform: scale3d(0, 0, 1); opacity: 0.3; }
    40%            { transform: scale3d(1, 1, 1); opacity: 1; }
}

.stream-cursor {
    animation: rcBlink 1.6s step-end infinite !important;
}

.chat-empty-state {
    animation: rcFadeUp var(--rc-dur-slow) var(--rc-ease-smooth) both !important;
}

@keyframes rcFadeUp {
    from { opacity: 0; transform: translate3d(0, 24px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

.quota-bar-fill {
    transition: width 1.1s var(--rc-ease-smooth), background var(--rc-dur-normal) var(--rc-ease-smooth) !important;
}

.quota-bar-fill::after {
    animation: rcShimmer 3.5s ease-in-out infinite !important;
}

@keyframes rcShimmer {
    0%, 100% { opacity: 0; }
    50%       { opacity: 1; }
}

button.segmented-toggle-btn {
    transition: color var(--rc-dur-normal) var(--rc-ease-smooth),
                transform var(--rc-dur-fast) var(--rc-ease-bounce) !important;
}

.conversation-list li {
    transition: background-color var(--rc-dur-fast) var(--rc-ease-smooth),
                border-color var(--rc-dur-fast) var(--rc-ease-smooth),
                box-shadow var(--rc-dur-fast) var(--rc-ease-smooth) !important;
}

.slider,
.slider::before {
    transition-duration: var(--rc-dur-normal) !important;
}

@media (prefers-reduced-motion: reduce) {
    html.rc-animated .rc-reveal,
    html.rc-animated body,
    html.rc-animated .navbar-top,
    html.rc-animated .nav-links,
    html.rc-animated .nav-links a {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .logo-text,
    .badge-dot,
    .vcap-dot,
    .hero-video-wrap,
    .plugin-bg-blob,
    .plugin-launch-icon,
    .main-title span:not(.title-green):not(.title-red),
    .sp-num,
    .popular-tag,
    .feature-new-badge,
    .plugin-new-pill,
    .pricing-card.pro {
        animation: none !important;
    }
}

html.rc-low-perf .rc-reveal:not(.is-visible) {
    will-change: auto;
}

html.rc-low-perf .card:hover,
html.rc-low-perf .pricing-card:hover {
    transform: none !important;
}
