/* ============================================================================
 * Theme: Glassmorphic (Pro)
 *
 * Apple-style liquid glass. Neutral translucent surfaces with strong
 * backdrop blur, hairline white borders, and subtle inner highlights.
 * No colored accent — every surface is black/white glass at varying
 * opacities. Focus and selected states use heavier white glass rather
 * than a primary color. Best on darker page backgrounds.
 *
 * Tokens:
 *   --ffs-glass-bg:         base translucency (rgba 0,0,0,0.5)
 *   --ffs-glass-bg-hover:   translucent hover (rgba 0,0,0,0.58)
 *   --ffs-glass-bg-active:  translucent active (rgba 0,0,0,0.68)
 *   --ffs-glass-blur:       16px backdrop blur
 *   --ffs-glass-border:     hairline white border (rgba 255,255,255,0.12)
 *   --ffs-glass-border-strong: stronger white border (rgba 255,255,255,0.22)
 *   --ffs-glass-highlight:  white text highlight (rgba 255,255,255,0.2)
 *   --ffs-glass-focus:      focus ring (rgba 255,255,255,0.5)
 */

.fast-fuzzy-search--glassmorphic {
    --ffs-border-color:           rgba(255, 255, 255, 0.12);
    --ffs-scrollbar-thumb:        rgba(255, 255, 255, 0.14);
    --ffs-scrollbar-thumb-hover:  rgba(255, 255, 255, 0.24);
    --ffs-kbd-bg:                 rgba(255, 255, 255, 0.08);
    --ffs-kbd-border:             rgba(255, 255, 255, 0.18);

    --ffs-glass-bg:           rgba(0, 0, 0, 0.5);
    --ffs-glass-bg-hover:     rgba(0, 0, 0, 0.58);
    --ffs-glass-bg-active:    rgba(0, 0, 0, 0.68);
    --ffs-glass-blur:         16px;
    --ffs-glass-border:             rgba(255, 255, 255, 0.12);
    --ffs-glass-border-strong:      rgba(255, 255, 255, 0.22);
    --ffs-glass-border-selected:    rgba(255, 255, 255, 0.35);
    --ffs-glass-highlight:          rgba(255, 255, 255, 0.2);
    --ffs-glass-focus:              rgba(255, 255, 255, 0.5);

    --ffs-press-scale:    0.985;
    --ffs-active-scale:   0.97;

    --ffs-glass-white:          rgba(255, 255, 255, 0.92);
    --ffs-glass-white-subtle:   rgba(255, 255, 255, 0.65);
    --ffs-glass-white-muted:    rgba(255, 255, 255, 0.45);

    @media (prefers-reduced-motion: reduce) {
        --ffs-press-scale:  1;
        --ffs-active-scale: 1;
    }
}

/* ---- Field ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__field {
    height: 48px;
    background: var(--ffs-glass-bg);
    border: 1px solid var(--ffs-glass-border);
    border-radius: 16px;
    backdrop-filter: blur(var(--ffs-glass-blur)) saturate(160%);
    -webkit-backdrop-filter: blur(var(--ffs-glass-blur)) saturate(160%);
    color: var(--ffs-glass-white);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 8px 24px rgba(0, 0, 0, 0.18);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                border-color     var(--ffs-duration-fast) var(--ffs-easing),
                box-shadow       var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic[data-has-query="true"] .fast-fuzzy-search__field {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__field:focus-within {
    background: var(--ffs-glass-bg-hover);
    border-color: var(--ffs-glass-border-strong);
}

/* ---- Input ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__input,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__input::placeholder {
    background: transparent;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: var(--ffs-glass-white);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__input::placeholder {
    color: var(--ffs-glass-white-muted);
    transition: color var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__field:focus-within .fast-fuzzy-search__input::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

/* ---- Icon ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__icon,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__icon-frame {
    color: var(--ffs-glass-white-subtle);
    transition: color var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__field:focus-within .fast-fuzzy-search__icon,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__field:focus-within .fast-fuzzy-search__icon-frame {
    color: var(--ffs-glass-white);
}

/* ---- Clear button ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__clear button {
    background: rgba(255, 255, 255, 0.08);
    color: var(--ffs-glass-white);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                color            var(--ffs-duration-fast) var(--ffs-easing),
                transform        var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__clear button:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__clear button:active {
    transform: scale(var(--ffs-active-scale));
}

/* ---- Post-type bar (glass pill) ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__post-types {
    color: var(--ffs-glass-white);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip-list {
    gap: var(--ffs-space-1);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip-button {
    border: 1px solid var(--ffs-glass-border);
    background: rgba(255, 255, 255, 0.05);
    color: var(--ffs-glass-white-subtle);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                color            var(--ffs-duration-fast) var(--ffs-easing),
                border-color     var(--ffs-duration-fast) var(--ffs-easing),
                box-shadow       var(--ffs-duration-fast) var(--ffs-easing),
                transform        var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip-button:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--ffs-glass-white);
    border-color: var(--ffs-glass-border-strong);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip-button:active {
    transform: scale(var(--ffs-press-scale));
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip-button[aria-selected="true"] {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.35);
    color: #ffffff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip-button[aria-selected="true"]:hover {
    background: rgba(255, 255, 255, 0.26);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip-button[disabled],
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip-button[aria-disabled="true"] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

/* ---- Context strip ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__context {
    color: var(--ffs-glass-white);
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid var(--ffs-glass-border);
    position: sticky;
    top: 0;
    z-index: 1;
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

/* ---- Panel ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__panel {
    overflow: hidden;
    background: var(--ffs-glass-bg);
    border: 1px solid var(--ffs-glass-border);
    border-top: 0;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
    font-size: 14px;
    line-height: 20px;
    color: var(--ffs-glass-white);
    backdrop-filter: blur(var(--ffs-glass-blur)) saturate(160%);
    -webkit-backdrop-filter: blur(var(--ffs-glass-blur)) saturate(160%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 4px 12px rgba(0, 0, 0, 0.18),
        0 16px 48px rgba(0, 0, 0, 0.4);
    transition: background-color var(--ffs-duration) var(--ffs-easing),
                box-shadow       var(--ffs-duration) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__field:focus-within + .fast-fuzzy-search__panel,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__panel:has(.fast-fuzzy-search__result-link:hover),
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__panel:has(.fast-fuzzy-search__result-link[aria-selected="true"]) {
    background: var(--ffs-glass-bg-hover);
}

/* ---- Result link ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link {
    color: var(--ffs-glass-white);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: var(--ffs-space-4) var(--ffs-space-5);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                border-color     var(--ffs-duration-fast) var(--ffs-easing),
                color            var(--ffs-duration-fast) var(--ffs-easing),
                box-shadow       var(--ffs-duration-fast) var(--ffs-easing),
                transform        var(--ffs-duration-fast) var(--ffs-easing);
    animation: ffs-glass-row-in var(--ffs-duration) var(--ffs-easing) both;
    animation-delay: calc(var(--ffs-i, 0) * 18ms);
}

@keyframes ffs-glass-row-in {
    from { opacity: 0; transform: translateY(2px); }
    to   { opacity: 1; transform: translateY(0); }
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 2px 8px rgba(0, 0, 0, 0.15);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link:active {
    transform: scale(var(--ffs-press-scale));
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link:focus-visible {
    outline: 0;
    box-shadow:
        0 0 0 2px var(--ffs-glass-bg),
        0 0 0 4px var(--ffs-glass-focus);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link[aria-selected="true"] {
    border-color: var(--ffs-glass-border-selected);
    background: rgba(255, 255, 255, 0.14);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 6px 18px rgba(0, 0, 0, 0.3);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link[aria-selected="true"]:hover {
    background: rgba(255, 255, 255, 0.2);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__result-icon-frame,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link:hover .fast-fuzzy-search__result-icon-frame {
    transform: translateX(2px);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link[disabled],
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link[aria-disabled="true"] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

/* ---- Result icon + image ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-icon {
    background: rgba(255, 255, 255, 0.12);
    color: var(--ffs-glass-white);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                color            var(--ffs-duration-fast) var(--ffs-easing),
                border-color     var(--ffs-duration-fast) var(--ffs-easing),
                box-shadow       var(--ffs-duration-fast) var(--ffs-easing),
                transform        var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link:hover .fast-fuzzy-search__result-icon,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__result-icon {
    background: rgba(255, 255, 255, 0.28);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.35);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-image {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    transition: transform var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__result-image,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link:hover .fast-fuzzy-search__result-image {
    transform: scale(1.05);
}

/* ---- Result chip ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__chip {
    background: rgba(255, 255, 255, 0.1);
    color: var(--ffs-glass-white);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                color            var(--ffs-duration-fast) var(--ffs-easing),
                border-color     var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link:hover .fast-fuzzy-search__chip,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__chip {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.3);
}

/* ---- Empty state ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__empty {
    background: transparent;
    color: var(--ffs-glass-white-subtle);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__empty-title {
    color: var(--ffs-glass-white);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__empty-description {
    color: var(--ffs-glass-white-muted);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__empty svg {
    width: 24px;
    height: 24px;
    padding: 12px;
    border-radius: var(--ffs-radius-pill);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 4px 12px rgba(0, 0, 0, 0.25);
    color: var(--ffs-glass-white);
    opacity: 1;
}

/* ---- Keyboard footer ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__keyboard-shortcuts {
    background: rgba(0, 0, 0, 0.18);
    border-top-color: var(--ffs-glass-border);
    color: var(--ffs-glass-white-subtle);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__kbd {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
    color: var(--ffs-glass-white);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                border-color     var(--ffs-duration-fast) var(--ffs-easing),
                box-shadow       var(--ffs-duration-fast) var(--ffs-easing),
                transform        var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__keyboard-shortcuts:hover .fast-fuzzy-search__kbd {
    border-color: rgba(255, 255, 255, 0.3);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__kbd:hover {
    background: rgba(255, 255, 255, 0.16);
    transform: translateY(-0.5px);
}

/* ---- View all button ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__view-all {
    background: transparent;
    color: var(--ffs-glass-white);
    border-top-color: var(--ffs-glass-border);
    position: relative;
    overflow: hidden;
    transition: color var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__view-all:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__view-all > * {
    position: relative;
    z-index: 1;
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__view-all-icon {
    transition: transform var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__view-all:hover .fast-fuzzy-search__view-all-icon {
    transform: translateX(3px);
}

/* ---- Panel close button ---- */
.fast-fuzzy-search__panel-close--glassmorphic {
    background: rgba(0, 0, 0, 0.45);
    color: var(--ffs-glass-white);
    border: 1px solid var(--ffs-glass-border);
    border-radius: var(--ffs-radius-pill);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.1) inset,
        0 8px 24px rgba(0, 0, 0, 0.3);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                border-color     var(--ffs-duration-fast) var(--ffs-easing),
                box-shadow       var(--ffs-duration-fast) var(--ffs-easing),
                transform        var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search__panel-close--glassmorphic:hover,
.fast-fuzzy-search__panel-close--glassmorphic:focus {
    background: rgba(0, 0, 0, 0.65);
    border-color: var(--ffs-glass-border-strong);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 10px 30px rgba(0, 0, 0, 0.36);
}

.fast-fuzzy-search__panel-close--glassmorphic:active {
    transform: scale(var(--ffs-active-scale));
}

/* ---- Trigger buttons ---- */
.fast-fuzzy-search__icon-button.fast-fuzzy-search--glassmorphic,
.fast-fuzzy-search__button.fast-fuzzy-search--glassmorphic {
    background: var(--ffs-glass-bg);
    color: var(--ffs-glass-white);
    border: 1px solid var(--ffs-glass-border);
    backdrop-filter: blur(var(--ffs-glass-blur)) saturate(160%);
    -webkit-backdrop-filter: blur(var(--ffs-glass-blur)) saturate(160%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 8px 24px rgba(0, 0, 0, 0.22);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                border-color     var(--ffs-duration-fast) var(--ffs-easing),
                box-shadow       var(--ffs-duration-fast) var(--ffs-easing),
                transform        var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search__icon-button.fast-fuzzy-search--glassmorphic {
    border-radius: var(--ffs-radius-pill);
}

.fast-fuzzy-search__button.fast-fuzzy-search--glassmorphic {
    border-radius: 16px;
}

.fast-fuzzy-search__icon-button.fast-fuzzy-search--glassmorphic:hover,
.fast-fuzzy-search__button.fast-fuzzy-search--glassmorphic:hover {
    background: var(--ffs-glass-bg-hover);
    border-color: var(--ffs-glass-border-strong);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.1) inset,
        0 12px 32px rgba(0, 0, 0, 0.3);
}

.fast-fuzzy-search__icon-button.fast-fuzzy-search--glassmorphic:active,
.fast-fuzzy-search__button.fast-fuzzy-search--glassmorphic:active {
    background: var(--ffs-glass-bg-active);
}

.fast-fuzzy-search__icon-button.fast-fuzzy-search--glassmorphic:focus-visible,
.fast-fuzzy-search__button.fast-fuzzy-search--glassmorphic:focus-visible {
    border-color: var(--ffs-glass-focus);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.1) inset,
        0 0 0 4px var(--ffs-glass-focus);
}

.fast-fuzzy-search__icon-button.fast-fuzzy-search--glassmorphic[disabled],
.fast-fuzzy-search__icon-button.fast-fuzzy-search--glassmorphic[aria-disabled="true"],
.fast-fuzzy-search__button.fast-fuzzy-search--glassmorphic[disabled],
.fast-fuzzy-search__button.fast-fuzzy-search--glassmorphic[aria-disabled="true"] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

/* ---- Skeleton shimmer ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__skeleton {
    background: linear-gradient(90deg,
        rgba(255, 255, 255, 0.06) 0%,
        rgba(255, 255, 255, 0.14) 50%,
        rgba(255, 255, 255, 0.06) 100%);
    background-size: 200% 100%;
    border-radius: 4px;
    color: transparent;
    animation: ffs-glass-shimmer 1.4s ease-in-out infinite;
    user-select: none;
    pointer-events: none;
}

@keyframes ffs-glass-shimmer {
    from { background-position: 200% 0; }
    to   { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .fast-fuzzy-search--glassmorphic .fast-fuzzy-search__skeleton {
        animation: none;
        background: rgba(255, 255, 255, 0.08);
    }
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__result-item:not(:last-child) {
    margin-bottom: 0.5rem;
}

/* ---- Scrollbar ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__scrollbar::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__scrollbar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__scrollbar:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.45);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__scrollbar {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.14) transparent;
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__scrollbar:hover {
    scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}

/* ---- Panel entry transition ---- */
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__transition-enter .fast-fuzzy-search,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__transition-enter-start .fast-fuzzy-search {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
}

.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__transition-enter-active .fast-fuzzy-search,
.fast-fuzzy-search--glassmorphic .fast-fuzzy-search__transition-enter-end .fast-fuzzy-search {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: opacity var(--ffs-duration) var(--ffs-easing),
                transform var(--ffs-duration) var(--ffs-easing);
}
