/* Adaptive rendering keeps the established look while pausing decorative work
   only when the device or live runtime signals sustained pressure. */

/* Pause background crawl during active user interaction to keep 60/120fps fluid gestures */
body.is-interacting #macroBackgroundFx::before {
  animation-play-state: paused !important;
}

/* Pause only looping paint effects. The card/orb elements themselves own the
   one-shot ef-soft-materialize entrance; pausing those containers can strand
   newly rendered content at the animation's opacity: 0 keyframe. */
html[data-performance-tier="2"] body.is-interacting .pattern-layer,
html[data-performance-tier="2"] body.is-interacting .aether-momentum-orbit,
html[data-performance-tier="2"] body.is-interacting .segment-fill::after,
html[data-performance-tier="2"] body.is-interacting #macroBackgroundFx::before,
html[data-performance-tier="3"] .pattern-layer,
html[data-performance-tier="3"] .aether-momentum-orbit,
html[data-performance-tier="3"] .segment-fill::after,
html[data-performance-tier="3"] .thought-orb.is-recurring-orb::before,
html[data-performance-tier="3"] #macroBackgroundFx::before {
  animation-play-state: paused !important;
}

html[data-performance-tier="3"] .thought-details-dialog,
html[data-performance-tier="3"] .recur-details-sidecar,
html[data-performance-tier="3"] .diegetic-modal-wrap,
html[data-performance-tier="3"] .ef-dossier-panel {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-performance-tier="3"] #efTopologyCanvas,
html[data-performance-tier="3"] #efSceneryCanvas,
html[data-performance-tier="3"] #weatherCanvas {
  image-rendering: auto;
}

@media (prefers-reduced-motion: reduce) {
  html[data-performance-motion="reduced"] .pattern-layer,
  html[data-performance-motion="reduced"] .aether-momentum-orbit,
  html[data-performance-motion="reduced"] .segment-fill::after,
  html[data-performance-motion="reduced"] .thought-orb.is-recurring-orb::before,
  html[data-performance-motion="reduced"] #macroBackgroundFx::before {
    animation-play-state: paused !important;
  }
}
