@media (max-width:767px){body,html{overscroll-behavior-y:none}}.pull-refresh{position:fixed;top:var(--safe-top);left:50%;z-index:10500;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--card);color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:var(--shadow-lg),0 0 18px -4px color-mix(in srgb,var(--accent) 45%,transparent);transform:translate3d(-50%,-54px,0);opacity:0;pointer-events:none;transition:opacity .15s ease,background-color .15s ease,color .15s ease;will-change:transform}.pull-refresh.is-visible{opacity:1}.pull-refresh-icon{display:inline-flex;transition:transform .1s linear}.pull-refresh.is-ready,.pull-refresh.is-refreshing{background:var(--accent);color:#fff;border-color:var(--accent)}.pull-refresh.is-refreshing{transition:transform .2s ease,opacity .15s ease}.pull-refresh.is-refreshing svg{animation:pull-refresh-spin .7s linear infinite}@keyframes pull-refresh-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.pull-refresh-icon{transition:none}.pull-refresh.is-refreshing{transition:opacity .2s ease}.pull-refresh.is-refreshing svg{animation:pull-refresh-fade 1.1s ease-in-out infinite alternate}}@keyframes pull-refresh-fade{0%{opacity:1}to{opacity:.35}}