/* Mobile pull-to-refresh feedback. Gesture logic lives in pull-to-refresh.js. */
.pull-refresh-indicator{
  position:fixed;
  z-index:16000;
  top:max(8px,env(safe-area-inset-top,0px));
  left:50%;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  max-width:calc(100vw - 32px);
  padding:7px 12px;
  border:1px solid color-mix(in srgb,var(--ct-secondary) 26%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--st-surface-glass) 94%,transparent);
  color:var(--ct-text);
  box-shadow:0 10px 28px rgba(0,0,0,.24),inset 0 1px 0 color-mix(in srgb,#fff 12%,transparent);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  backdrop-filter:blur(18px) saturate(1.15);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-54px) scale(.94);
  transition:opacity .15s ease,transform .18s ease,border-color .15s ease;
}
.pull-refresh-indicator.visible{opacity:1}
.pull-refresh-indicator.ready{border-color:color-mix(in srgb,var(--ct-accent) 58%,var(--st-border))}
.pull-refresh-indicator.refreshing{opacity:1;transform:translate(-50%,0) scale(1)}
.pull-refresh-indicator-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 20px;
  border-radius:50%;
  color:var(--ct-accent);
  font:900 1rem/1 system-ui,sans-serif;
  transform:rotate(var(--pull-refresh-rotation,0deg));
  transition:transform .08s linear;
}
.pull-refresh-indicator.refreshing .pull-refresh-indicator-icon{animation:pull-refresh-spin .72s linear infinite}
.pull-refresh-indicator-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 .72rem/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ct-secondary)}
.pull-refresh-indicator.ready .pull-refresh-indicator-label,.pull-refresh-indicator.refreshing .pull-refresh-indicator-label{color:var(--ct-text)}
html[data-theme="light"] .pull-refresh-indicator{
  background:rgba(255,253,247,.92);
  border-color:rgba(43,60,49,.22);
  box-shadow:0 10px 24px rgba(45,55,47,.16),inset 0 1px 0 rgba(255,255,255,.9);
}
@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}
@media(min-width:901px){.pull-refresh-indicator{display:none!important}}
@media(prefers-reduced-motion:reduce){.pull-refresh-indicator{transition:none}.pull-refresh-indicator.refreshing .pull-refresh-indicator-icon{animation:none}}
