/* Frontend perf only — no bind/AI logic. Soften paint/jank on mobile WeChat. */
html { scroll-behavior: auto; }
.bot-dash, .ss-content-col, .bot-dash-main { -webkit-overflow-scrolling: touch; }

.bot-agent-item,
.bot-dash-card,
.bot-stat-card,
.bot-chart-card,
.bot-agents-list > *,
.ss-section,
.bot-profile-card,
.bot-dash-grid__secondary {
  content-visibility: auto;
  contain-intrinsic-size: 1px 140px;
}
.bot-agent-item, .bot-dash-card, .bot-stat-card { contain: layout paint style; }

/* Decorative motion off by default — less jank on mid phones */
.bot-bind-hero--glow,
.bot-bind-hero__spark,
.bot-bind-hero__ring {
  animation: none !important;
  opacity: .35;
}
.bot-chart-svg polyline,
.bot-enter {
  animation-duration: .28s !important;
}

@media (max-width: 768px) {
  .bot-profile-card,
  .bot-dash-top,
  .bot-dash-drawer-backdrop,
  .bot-fan-menu__scrim,
  .bot-stat-card,
  .bot-dash-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .bot-enter { animation: none !important; opacity: 1 !important; transform: none !important; }
  .bot-chart-svg polyline { animation: none !important; stroke-dasharray: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

html.is-page-hidden .bot-bind-hero--glow,
html.is-page-hidden [class*="Pulse"],
html.is-page-hidden .bot-bind-qr__spin {
  animation-play-state: paused !important;
}

img.bot-user-avatar-img, .bot-bind-qr img {
  content-visibility: auto;
  decoding: async;
}
