.page-spinner {
    position: fixed;
    inset: 0;
    background: rgba(240, 244, 255, 0.92);
    backdrop-filter: blur(6px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-spinner-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.spinner-char {
    font-size: 5rem;
    line-height: 1;
    animation: bounce 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) infinite
        alternate;
    filter: drop-shadow(0 6px 12px rgba(108, 99, 255, 0.3));
}

.spinner-char.pop {
    animation:
        bounce 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) infinite alternate,
        pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.inline-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 32px;
    color: var(--text-muted);
    font-size: 0.95rem;
    font-style: italic;
    grid-column: 1 / -1;

    &span {
        font-size: 2.5rem;
        display: block;
        animation: bounce 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) infinite
            alternate;
    }
}
