html.yc-pwa-pull-refresh {
    overscroll-behavior-y: contain;
}

.yc-pull-refresh-indicator {
    --pull-distance: 0px;
    position: fixed;
    z-index: 10020;
    top: max(8px, env(safe-area-inset-top));
    left: 50%;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(31, 31, 31, .94);
    color: #fff;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .32);
    font: 600 13px/1.2 Arial, sans-serif;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, calc(-100% - 20px + var(--pull-distance)));
    transition: opacity 120ms ease;
}

.yc-pull-refresh-indicator.is-visible { opacity: 1; }
.yc-pull-refresh-indicator svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.yc-pull-refresh-indicator.is-ready svg { transform: rotate(180deg); }
.yc-pull-refresh-indicator.is-loading svg { animation: yc-pull-refresh-spin .7s linear infinite; }

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