.fw-player-stage {
  isolation: isolate;
  touch-action: none;
}

.watch-player-shell.is-inline-watch-player {
  grid-column: 1 / -1;
  width: 100%;
  margin: 10px 0 14px;
}

.watch-player-shell.is-inline-watch-player .watch-player-stage {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 220px;
  max-height: min(70vh, 560px);
}

.watch-player-shell.is-inline-watch-player .watch-player-video-wrap,
.watch-player-shell.is-inline-watch-player .watch-player-iframe-wrap {
  height: 100%;
  min-height: 0;
  max-height: none;
}

.fw-player-shell.mode-video .watch-player-controls {
  display: none !important;
}

.fw-player-overlay {
  position: absolute;
  inset: 0;
  z-index: 18;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
  font-family: inherit;
}

.fw-player-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.fw-player-gradient {
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
}

.fw-player-gradient-top {
  top: 0;
  height: 34%;
  background: linear-gradient(180deg, rgba(0, 0, 0, .78), transparent);
}

.fw-player-gradient-bottom {
  bottom: 0;
  height: 46%;
  background: linear-gradient(0deg, rgba(0, 0, 0, .86), transparent);
}

.fw-player-topbar,
.fw-player-bottom,
.fw-player-center,
.fw-player-gesture-label {
  position: absolute;
  z-index: 3;
}

.fw-player-topbar {
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
}

.fw-player-title {
  margin: 0;
  font-size: .94rem;
  font-weight: 800;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fw-player-icon-btn,
.fw-player-play-main {
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(20, 20, 20, .52);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  transition: transform .2s ease, background .2s ease;
}

.fw-player-icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex: 0 0 40px;
}

.fw-player-icon-btn svg {
  width: 20px;
  height: 20px;
  stroke-width: 2.35;
}

.fw-player-icon-btn:active,
.fw-player-play-main:active {
  transform: scale(.94);
}

.fw-player-center {
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.fw-player-play-main {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: rgba(229, 9, 20, .9);
  box-shadow: 0 18px 42px -20px rgba(229, 9, 20, .95);
  pointer-events: auto;
}

.fw-player-play-main svg {
  width: 34px;
  height: 34px;
}

.fw-player-overlay:not(.is-paused) .fw-icon-play,
.fw-player-overlay.is-paused .fw-icon-pause {
  display: none;
}

.fw-player-spinner {
  position: absolute;
  width: 58px;
  height: 58px;
  border: 3px solid rgba(255, 255, 255, .2);
  border-top-color: #fff;
  border-radius: 50%;
  display: none;
  animation: fwSpin .85s linear infinite;
}

.fw-player-spinner.is-spinning {
  display: block;
}

.fw-player-spinner.is-spinning + * {
  opacity: 0;
}

.fw-player-bottom {
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  gap: 10px;
  padding: 16px;
}

.fw-player-progress {
  width: 100%;
  accent-color: #e50914;
  cursor: pointer;
}

.fw-player-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fw-player-time {
  color: rgba(255, 255, 255, .86);
  font-size: .78rem;
  font-weight: 700;
}

.fw-player-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.fw-player-select {
  min-height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(20, 20, 20, .62);
  color: #fff;
  padding: 0 10px;
  font: inherit;
  font-size: .78rem;
  font-weight: 700;
  max-width: min(38vw, 148px);
}

.fw-player-fit-select {
  max-width: min(46vw, 168px);
}

.fw-player-gesture-label {
  top: 50%;
  left: 50%;
  min-width: 88px;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .62);
  border: 1px solid rgba(255, 255, 255, .14);
  text-align: center;
  font-weight: 900;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.88);
  pointer-events: none;
}

.fw-player-gesture-label[data-zone="left"] {
  left: 28%;
}

.fw-player-gesture-label[data-zone="right"] {
  left: 72%;
}

.fw-player-gesture-label.is-showing {
  animation: fwGesture .62s ease;
}

.fw-player-hit-zones {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  z-index: 1;
  pointer-events: none;
}

@keyframes fwGesture {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.82); }
  22% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.16); }
}

@keyframes fwSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 767px) {
  body[data-fw-page="movie"] .fw-player-shell.mode-video.show {
    position: static;
    inset: auto;
    z-index: auto;
    margin: 10px 0 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: rgba(12, 12, 12, .96);
    padding: 10px;
  }

  body[data-fw-page="movie"] .fw-player-shell.mode-video.show .watch-player-stage {
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 190px;
    height: auto;
    max-height: 70vh;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, .12);
  }

  body[data-fw-page="movie"] .fw-player-shell.mode-video.show .watch-player-video-wrap {
    height: 100%;
    min-height: 0;
    max-height: none;
  }

  .fw-player-topbar {
    padding-top: 12px;
  }

  .fw-player-bottom {
    padding: 12px;
  }

  .fw-player-bottom-row {
    align-items: flex-end;
    gap: 8px;
  }

  .fw-player-actions {
    gap: 6px;
  }

  .fw-player-select {
    min-height: 34px;
    max-width: 128px;
    padding: 0 8px;
    font-size: .72rem;
  }

  .fw-player-fit-select {
    max-width: 138px;
  }

  .fw-player-play-main {
    width: 66px;
    height: 66px;
  }
}

body.native-app-runtime[data-fw-page="movie"] .watch-player-shell.mode-video.show {
  position: static;
  inset: auto;
  z-index: auto;
  margin: 10px 0 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
  background: rgba(12, 12, 12, .96);
  padding: 10px;
  gap: 10px;
}

body.native-app-runtime[data-fw-page="movie"] .watch-player-shell.mode-video .watch-player-head {
  position: static;
  display: flex;
  padding: 0;
  background: transparent;
  pointer-events: auto;
}

body.native-app-runtime[data-fw-page="movie"] .watch-player-shell.mode-video .watch-player-stage {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  min-height: 190px;
  max-height: 70vh;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .12);
}

body.native-app-runtime[data-fw-page="movie"] .watch-player-shell.mode-video .watch-player-video-wrap {
  height: 100%;
  min-height: 0;
  max-height: none;
}

body.native-player-fullscreen {
  overflow: hidden !important;
  background: #000 !important;
}

body.native-player-fullscreen .mobile-bottom-nav,
body.native-player-fullscreen .mobile-catalog-switch,
body.native-player-fullscreen .apk-floating-btn,
body.native-player-fullscreen .dev-signature {
  display: none !important;
}

.watch-player-stage:fullscreen,
.watch-player-stage:-webkit-full-screen,
body[data-fw-page="movie"] .fw-player-shell.mode-video.show .watch-player-stage:fullscreen,
body[data-fw-page="movie"] .fw-player-shell.mode-video.show .watch-player-stage:-webkit-full-screen,
body.native-app-runtime[data-fw-page="movie"] .watch-player-shell.mode-video .watch-player-stage:fullscreen,
body.native-app-runtime[data-fw-page="movie"] .watch-player-shell.mode-video .watch-player-stage:-webkit-full-screen,
body.native-player-fullscreen .watch-player-stage.is-native-fullscreen-stage {
  width: 100vw !important;
  width: 100dvw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-width: 100vw !important;
  min-width: 100dvw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
  overflow: hidden !important;
}

body.native-player-fullscreen .watch-player-stage.is-native-fullscreen-stage {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483100 !important;
}

.watch-player-stage:fullscreen .watch-player-video-wrap,
.watch-player-stage:-webkit-full-screen .watch-player-video-wrap,
.watch-player-stage:fullscreen .watch-player-iframe-wrap,
.watch-player-stage:-webkit-full-screen .watch-player-iframe-wrap,
body.native-player-fullscreen .watch-player-stage.is-native-fullscreen-stage .watch-player-video-wrap,
body.native-player-fullscreen .watch-player-stage.is-native-fullscreen-stage .watch-player-iframe-wrap {
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  max-height: none !important;
  display: grid !important;
  place-items: center !important;
  background: #000 !important;
}

.watch-player-stage:fullscreen #watchPlayerVideo,
.watch-player-stage:-webkit-full-screen #watchPlayerVideo,
.watch-player-stage:fullscreen #watchPlayerIframe,
.watch-player-stage:-webkit-full-screen #watchPlayerIframe,
body.native-player-fullscreen .watch-player-stage.is-native-fullscreen-stage #watchPlayerVideo,
body.native-player-fullscreen .watch-player-stage.is-native-fullscreen-stage #watchPlayerIframe {
  width: var(--watchFsW, 100vw) !important;
  height: var(--watchFsH, 100vh) !important;
  max-width: none !important;
  max-height: none !important;
  border-radius: 0 !important;
}

.watch-player-stage:fullscreen #watchPlayerVideo,
.watch-player-stage:-webkit-full-screen #watchPlayerVideo,
body.native-player-fullscreen .watch-player-stage.is-native-fullscreen-stage #watchPlayerVideo {
  object-fit: var(--watchFitObjectFit, var(--watchFsObjectFit, contain)) !important;
  object-position: center !important;
  transform: var(--watchFitTransform, none) !important;
  transform-origin: center !important;
}

.watch-player-stage:fullscreen .fw-player-overlay,
.watch-player-stage:-webkit-full-screen .fw-player-overlay,
body.native-player-fullscreen .watch-player-stage.is-native-fullscreen-stage .fw-player-overlay {
  position: absolute !important;
  inset: 0 !important;
}
