/* App-wide gesture policy: scrolling remains native, pinch/double-tap zoom
   does not resize the player, captions or controls independently.
   Browser/OS accessibility overrides remain outside application control. */
html,
body {
  touch-action: pan-x pan-y;
}
/* Scroll containers can be gesture roots themselves; cover dynamically opened
   dialogs too. More specific card-swipe and drag-handle policies still win. */
* { touch-action: pan-x pan-y; }

/* Repeated Listen/word taps are actions, not a request for browser zoom.
   Keep scrolling; no touch-event cancellation is needed.
   Do not widen this to practice cards: their existing custom swipe owns pan. */
#situation-overlay,
#startLearningBtn,
.card-practice-container .header button,
.card-practice-container .practice-settings-btn {
  touch-action: manipulation;
}

video,
.video-js,
.lesson-video-frame {
  touch-action: pan-x pan-y;
}
