/* Product-wide interaction rules: no zoom, selection or visible scrollbars. */
html,
body {
  width: 100%;
  max-width: 100%;
  -ms-overflow-style: none;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overscroll-behavior: none;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}

*,
*::before,
*::after {
  -ms-overflow-style: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  scrollbar-width: none;
}

*::-webkit-scrollbar { display: none; width: 0; height: 0; }

img { -webkit-user-drag: none; user-drag: none; }

html.viewer-open {
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

body.viewer-open {
  position: fixed;
  top: var(--locked-scroll-y, 0px);
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

body.viewer-open .app-shell { pointer-events: none; }

body.sheet-open .reel-track,
body.sheet-open .viewer-topbar { pointer-events: none; }

.episode-sheet,
.sheet-handle,
.sheet-header,
.sheet-close,
.sheet-tabs,
.sheet-content { pointer-events: auto; }

.episode-sheet .sheet-handle,
.episode-sheet .sheet-header { touch-action: none; }

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
