#portal-pwa-pull-refresh {
    position: fixed;
    top: 0;
    left: 50%;
    z-index: 65;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-left: -1.375rem;
    border-radius: 9999px;
    background: rgba(10, 10, 10, 0.88);
    border: 1px solid rgba(184, 132, 42, 0.45);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    color: #d4a54e;
    pointer-events: none;
    opacity: 0;
    transform: translateY(calc(-120% + var(--pull-offset, 0px)));
    transition: opacity 160ms ease;
}

#portal-pwa-pull-refresh.is-visible {
    opacity: 1;
}

#portal-pwa-pull-refresh.is-refreshing {
    opacity: 1;
}

#portal-pwa-pull-refresh__icon {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 120ms linear;
}

#portal-pwa-pull-refresh.is-refreshing #portal-pwa-pull-refresh__icon {
    animation: portal-pwa-pull-spin 720ms linear infinite;
}

@keyframes portal-pwa-pull-spin {
    to {
        transform: rotate(360deg);
    }
}
