/*
 * Universal full-video player.
 *
 * This contract is intentionally opt-in. Card and thumbnail videos keep their
 * stable preview geometry; only opened/detail players use these classes.
 */
html body .site-video-container.site-video-container.site-video-container.site-video-container.site-video-container.site-video-container {
  position: relative !important;
  display: flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #000 !important;
  line-height: 0 !important;
}

/* Release legacy detail wrappers that used image-card ratios around a player. */
:is(
  .detail-media-frame,
  .blog-detail-media,
  .ms-external-media,
  .ms-external-media__frame,
  .training-detail-media-card,
  .workout-detail-hero-media,
  .exercise-detail-upload-media,
  .media-detail-carousel__item,
  .media-story-composition-stage,
  .media-story-composition,
  .timeline-story-design,
  .watch-detail-player-shell,
  .weekly-story-frame__media,
  .timeline-story-media
):has(.site-video-player.site-video-player.site-video-player.site-video-player.site-video-player.site-video-player) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}

html body .site-video-player.site-video-player.site-video-player.site-video-player.site-video-player.site-video-player {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #000 !important;
  border: 0 !important;
  transform: none !important;
}
