.hero-section { position: relative; top: env(safe-area-inset-top); z-index: 1; width: 100%; }
.hero-poster { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; cursor: pointer; background: #111; }
.hero-poster__img { width: 100%; height: 100%; object-fit: cover; }
.hero-poster__gradient { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(0,0,0,.5), rgba(0,0,0,.2), rgba(0,0,0,.1), transparent); pointer-events: none; }
.hero-poster__play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80px; height: 80px; fill: rgba(255,255,255,.66); }

.video-box { width: 100%; height: 100%; }
.video-area { position: relative; width: 100%; height: 100%; background: #000; }
#videoPlayer { width: 100%; height: 100%; }

.pause-ad { position: absolute; inset: 0; z-index: 100; background: rgba(0,0,0,.85); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.pause-ad__close { position: absolute; top: 0.1rem; right: 0.1rem; width: 0.48rem; height: 0.48rem; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; font-size: 0.32rem; border: none; display: flex; align-items: center; justify-content: center; z-index: 101; }
.pause-ad img {object-fit: contain; max-width: 100%; max-height: 100%; }

.fullscreen-ad { position: absolute; top: 0; left: 0; max-width: 750px; width: 100%; height: auto; z-index: 9999;aspect-ratio: 16 / 9;}
.fullscreen-ad__content { position: relative; width: 100%; cursor: pointer;height: 100%; }
.fullscreen-ad__top-bar { position: absolute; top: 0.16rem; right: 0.16rem; z-index: 10; display: flex; align-items: center; gap: 0.12rem; }
.fullscreen-ad__close { width: 0.52rem; height: 0.52rem; border-radius: 50%; background: rgba(0,0,0,.5); border: none; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.fullscreen-ad__close svg { width: 0.26rem; height: 0.26rem; }
.fullscreen-ad__countdown { font-size: 0.22rem; color: #fff; background: rgba(0,0,0,.5); padding: 0.04rem 0.2rem; border-radius: 999px; }
.fullscreen-ad__image, .fullscreen-ad__video { width: 100%; display: block; }
.fullscreen-ad__loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 5; background: rgba(0,0,0,.3);height: 100%; }
.fullscreen-ad__spinner { width: 48px; height: 48px; border: 3px solid rgba(255,255,255,.2); border-top-color: #fff; border-radius: 50%; animation: ad-spin .8s linear infinite; }
.fullscreen-ad__notice { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 15; background: rgba(0,0,0,.5); color: #fff; font-size: 0.32rem; letter-spacing: 0.04rem; height: 100%;}
.fullscreen-ad__notice-text{font-size: 0.24rem; background: #000; padding: 0.1rem 0.2rem; border-radius: 1rem;}
@keyframes ad-spin { to { transform: rotate(360deg); } }

.movie-info { padding: 0 0.24rem; padding-top: 0.2rem; }
.movie-info__tags { display: flex; gap: 0.16rem; flex-wrap: wrap; margin-bottom: 0.16rem; }
.tag {line-height: 1.4; background: rgba(255,255,255,.1); color: #fff; border-radius: 999px; padding: 0.08rem 0.2rem; font-size: 0.24rem; }

.source-lines { padding: 0.16rem 0; }
.source-lines__title { font-size: 0.3rem; color: #fff; margin-bottom: 0.12rem; }
.source-lines__list { display: flex; gap: 0.16rem; flex-wrap: wrap; }
.source-lines__btn { padding: 0.1rem 0.24rem; border-radius: 0.1rem; background: #161616; color: rgba(255,255,255,.7); font-size: 0.26rem; cursor: pointer; border: none; }
.source-lines__btn--active { background: #e50914; color: #fff; }

.inline-ad { margin: 0.16rem 0; border-radius: 0.12rem; overflow: hidden; cursor: pointer; }
.inline-ad img { width: 100%; }