html.home-pull-refresh-enabled { overscroll-behavior-y: none; }
.home-pull-surface { transition: translate 180ms ease-out; }
.home-pull-surface.is-pulling { transition: none; }
.home-pull-indicator {
  position: fixed; z-index: 80; top: calc(env(safe-area-inset-top, 0px) + 10px);
  left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 8px;
  padding: 8px 13px; border-radius: 30px; pointer-events: none;
  background: var(--theme-chrome-bg, #080a0d); color: var(--theme-text, #fff);
  box-shadow: 0 3px 16px #0002; font-size: 12px; font-weight: 500; white-space: nowrap;
  opacity: 1; transition: opacity 180ms ease-out;
}
.home-pull-indicator[data-home-pull-indicator="idle"] { opacity: 0; }
.home-pull-spinner { display: inline-block; font-size: 24px; line-height: 1; transform: rotate(var(--home-pull-turn, 0deg)); }
.home-pull-indicator[data-home-pull-indicator="refreshing"] .home-pull-spinner { animation: home-refresh-spin .8s linear infinite; }
.home-refresh-accessible { position: absolute; width: 1px; height: 1px; padding: 0; clip-path: inset(50%); overflow: hidden; }
.home-refresh-accessible:focus-visible { z-index: 90; top: 8px; left: 16px; width: auto; height: auto; padding: 8px 14px; clip-path: none; }
@keyframes home-refresh-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .home-pull-surface, .home-pull-indicator { transition: none; }
  .home-pull-indicator .home-pull-spinner { animation: none !important; }
}
