/* ===========================================================================
   主页下拉刷新指示器（ui/shell/pull-refresh.js）
   基础态收在顶栏后面、透明；跟手位置由 <head> 里的 .az-ptr-live 规则覆盖（AZOTHSwipe.setRule），
   被拉的那一页挂 .az-ptr-pull、同样由规则给 translateY——顶栏、底栏不动，只有内容往下挪。
   不写 style 属性。刷新中内圈转。
   =========================================================================== */
.az-ptr {
    position: fixed;
    left: 50%;
    /* 原点 = 顶栏底边（.status-bar：55px + 安全区），跟手位移相对它算；z 999 压在顶栏 / 底栏（1000）下面，
       下拉时像是从顶栏后面钻出来 */
    top: calc(55px + var(--azoth-safe-top, env(safe-area-inset-top, 0px)));
    z-index: 999;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--card-bg, #fff);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16), 0 1px 3px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    transform: translate(-50%, -40px);
    opacity: 0;
}

.az-ptr-ring {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid var(--text, #222);
    border-top-color: transparent;
    opacity: .75;
}

.az-ptr.is-spinning .az-ptr-ring {
    animation: az-ptr-spin .7s linear infinite;
}

@keyframes az-ptr-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .az-ptr.is-spinning .az-ptr-ring { animation-duration: 1.6s; }
}
