@media (min-width: 901px) {
  .theater { background: var(--bg); }
  .theater .fs-stage {
    position: relative !important;
    display: block !important;
    width: min(100%, 1040px) !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 auto !important;
  }
  .theater .fs-stage .vignette-wrap,
  .theater .fs-stage .stage-frame {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .theater .fs-stage video.stage {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
  }
  .theater .theater-meta {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: min(100%, 1040px);
    margin: 0 auto;
    padding: 0.9rem 0.15rem 1.4rem !important;
    background: transparent !important;
  }
}

@media (min-width: 1100px) {
  .yt-watch { display: grid !important; grid-template-columns: minmax(0, 1fr) 402px; column-gap: 24px; align-items: start; width: min(100% - 32px, 1750px); margin: 0 auto; padding: 12px 0 40px; background: var(--bg); }
  .yt-watch .fs-stage { grid-column: 1; width: 100% !important; margin: 0 !important; }
  .yt-watch .theater-meta { grid-column: 1; width: 100% !important; margin: 0 !important; }
  .yt-watch .upnext { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 12px; }
}
.upnext { min-width: 0; }
.upnext h2 { margin: 0 0 12px; font-size: 16px; }
.upnext-card { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 8px; margin: 0 0 10px; color: inherit; text-decoration: none; }
.upnext-card img, .upnext-card video, .upnext-card .thumb { width: 168px; height: 94px; object-fit: cover; border-radius: 8px; background: #111; display: block; }
.upnext-card video { pointer-events: none; }
.upnext-card span { display: grid; align-content: start; gap: 2px; min-width: 0; }
.upnext-card strong { font-size: 14px; line-height: 1.3; font-weight: 650; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.upnext-card em { font-style: normal; color: var(--muted); font-size: 12px; }
body.stage-wide .yt-watch { display: block !important; width: auto; }
body.stage-wide .upnext { max-width: 1040px; margin: 16px auto; position: static; }
@media (max-width: 1099px) { .upnext { padding: 4px 12px 24px; } }
