/* Короткие плавные переходы: появление страницы, скролл, базовые hover/focus.
   Не «долго» — ~0.2–0.24s и ease-out. */

:root {
    --motion-ease-out: cubic-bezier(0.33, 1, 0.68, 1);
    --motion-reveal: 0.24s;
}

html {
    scroll-behavior: smooth;
}

@keyframes motion-page-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

body {
    animation: motion-page-in var(--motion-reveal) var(--motion-ease-out) both;
}

/* Базовый слой для контролов (не перебивает более специфичные правила страниц). */
:where(a, button, input, textarea, select, summary) {
    transition-property: color, background-color, border-color, opacity, box-shadow, filter, transform;
    transition-duration: 0.2s;
    transition-timing-function: var(--motion-ease-out);
}

.home-tab:not(.is-active) {
    pointer-events: none;
}

.home-chat-bubble,
.home-chat-assistant-block,
.home-chat-chip,
.home-chat-messages .result-item {
    animation: home-msg-in var(--motion-reveal) var(--motion-ease-out) both;
}

@keyframes home-msg-in {
    from {
        opacity: 0;
        transform: translateY(6px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --motion-reveal: 0.001ms;
    }

    html {
        scroll-behavior: auto;
    }

    body {
        animation: none;
    }

    :where(a, button, input, textarea, select, summary) {
        transition-duration: 0.05s;
    }
}
