.footer
{
    transition: max-width .18s ease, padding .18s ease, transform .25s ease, height .25s ease, border-radius .25s ease, bottom .25s ease;
}


/**
FOOTER
 */


.footer.mini-mode
{
    /*position: fixed;*/
    bottom: 3px;
    display: flex;
    justify-content: center; /* центрируем контент */
    align-items: center;
    height: 48px;
    min-width: 0;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--glass-panel-bg);
    box-shadow: var(--glass-panel-shadow);
    width: 100px;
    gap: 0; /* убираем зазор между кнопками */
    transition: max-width .18s ease, padding .18s ease, transform .25s ease, height .25s ease, border-radius .25s ease, bottom .25s ease;
    border: var(--glass-panel-border);
    backdrop-filter: var(--glass-panel-blur);
    -webkit-backdrop-filter: var(--glass-panel-blur);
    overflow: visible;
}

.footer.mini-mode .indicator
{
    display: none;
}

.footer.mini-mode .nav-btn
{
    flex: 0 0 auto;
    max-width: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    transform: scale(.85);
    transition: max-width .18s ease, padding .18s ease, transform .25s ease;
}

.footer.mini-mode .nav-btn.active
{
    max-width: 56px; /* ширина под иконку */
    padding: 0 8px;
    transform: scale(1);
}

.footer.mini-mode .nav-btn.active a
{
    color: var(--footer-active-icon);
    background: transparent;
}

.footer.mini-mode::before
{
    content: none;
    display: none;
}

.footer.mini-mode .nav-btn.active a::before
{
    opacity: 0;
}

.footer.mini-mode .nav-btn__label
{
    display: none;
}

.footer.mini-mode .nav-btn--assistant .llm-assistant-label
{
    opacity: 0;
    visibility: hidden;
}

.footer:not(.mini-mode) .nav-btn.active a::before
{
    animation: footer-highlight-expand .4s ease forwards;
}


/* обычный */
.footer.mini-mode
{
    width: auto;
    max-width: 96px;
}

/* мини */
.footer, .footer .nav-btn
{
    transition: max-width .18s ease,
    padding .18s ease,
    transform .25s ease,
    height .25s ease,
    border-radius .25s ease,
    bottom .25s ease;
    transition-delay: 0s;
}

.footer.mini-mode .nav-btn
{
    transition-delay: 0s !important;
}

.footer.mini-mode .nav-btn.active
{
    transition-delay: 0s !important;
}

.footer.mini-mode .action
{
    width: 72px;
    height: 72px;
    max-width: 72px;
    border-radius: 20px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: var(--fg-custom);
    background: none;
    box-shadow: none;
    margin-top: 0;
}

@keyframes footer-mini-garland-grow
{
    from
    {
        transform: scale(0.78);
        opacity: 0;
    }
    to
    {
        transform: scale(0.98);
        opacity: 0.94;
    }
}

@media (prefers-reduced-motion: reduce)
{
    .footer.mini-mode .nav-btn.active a::before,
    .footer:not(.mini-mode) .nav-btn.active a::before
    {
        animation: none;
    }

    .footer.mini-mode::before
    {
        animation: none;
        transform: none;
        opacity: 1;
    }
}
