/* 单页 index_unified 内嵌横滑：#dsphRoot 贴满主内容区，与壳底栏对齐；勿用全窗 fixed 盖住全局底栏 */
html.page-unified #uni-panel-dsph.uni-panel {
  padding: 0;
  overflow: hidden;
  background: #000;
}
html.page-unified .uni-embed-dsph {
  position: relative;
  width: 100%;
  min-height: calc(100dvh - var(--uni-chrome-h) - var(--uni-tabbar-elev));
  min-height: calc(100vh - var(--uni-chrome-h) - var(--uni-tabbar-elev));
  /* 仅 min-height 时子级 height:100% 与内部 fixed+flex 易塌，进度条 track 的 flex:1 会变成几像素高 */
  height: calc(100dvh - var(--uni-chrome-h) - var(--uni-tabbar-elev));
  height: calc(100vh - var(--uni-chrome-h) - var(--uni-tabbar-elev));
  max-height: 100%;
  background: #000;
  overflow: hidden;
  box-sizing: border-box;
}
html.page-unified.page-unified--no-chrome .uni-embed-dsph {
  min-height: calc(100dvh - var(--uni-tabbar-elev));
  min-height: calc(100vh - var(--uni-tabbar-elev));
  height: calc(100dvh - var(--uni-tabbar-elev));
  height: calc(100vh - var(--uni-tabbar-elev));
}
html.page-unified .uni-embed-dsph #dsphRoot.dsp-root {
  position: absolute !important;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  z-index: 0;
}
/* 与壳底栏高度一致，布局与独立横滑页 55px+safe 对齐 */
html.page-unified .uni-embed-dsph {
  --dsph-bar-elev: var(--uni-tabbar-elev);
}
html.page-unified .uni-embed-dsph .dsp-swipe-hint {
  bottom: var(--dsph-bar-elev);
}
html.page-unified .uni-embed-dsph .dsp-side-actions {
  bottom: calc(var(--dsph-bar-elev) + 12px);
}
html.page-unified .uni-embed-dsph .video-meta {
  bottom: calc(var(--dsph-bar-elev) + 16px);
}
/* 勿给 .dsp-cat-tabs--dsph-tr 设 bottom：与主样式 top:50% 并存会把 fixed 条在纵向上拉满，旋转后条带异常加宽 */
html.page-unified .uni-embed-dsph .dsph-fav-empty {
  bottom: calc(var(--dsph-bar-elev) + 20px);
}
/* 左侧竖向进度条：.uni-embed-dsph 内唯一；用 dvh 锚定上下，并加固 __track 的 flex，避免剩一条细线 */
html.page-unified .uni-embed-dsph .dsp-progress {
  top: calc(12px + env(safe-area-inset-top, 0px)) !important;
  bottom: calc(var(--uni-tabbar-elev) + 16px) !important;
  left: max(8px, env(safe-area-inset-left, 0px)) !important;
  right: auto !important;
  width: 14px !important;
  height: auto !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
html.page-unified .uni-embed-dsph .dsp-progress__track {
  flex: 1 1 0% !important;
  min-height: 0 !important;
}
html.page-unified .uni-embed-dsph .empty-state,
html.page-unified .uni-embed-dsph .dsph-fav-empty {
  z-index: 5;
}
/*
 * 单页内嵌竖屏：原先用 100dvh 定旋转层长边，与 .uni-embed-dsph 实高常有 1px 级舍入差，translate 居中后顶/底露一条 #000。
 * 以 .dsp-page 为尺寸容器，长边/短边用 100cqh / 100cqw 与实槽一致，消细黑边。无 cqh 的浏览器仍走下方 fallback。
 */
html.page-unified .uni-embed-dsph .dsp-page {
  container-type: size;
}
/* 与独立页一致：竖槽高度减底栏（作旧浏览器/无 cqh 时的回退） */
html.page-unified.page-dsph .uni-embed-dsph .video-layer {
  width: calc(100dvh - var(--uni-tabbar-elev)) !important;
}
@supports (container-type: size) and (width: 1cqh) {
  @media (orientation: portrait) {
    html.page-unified.page-dsph .uni-embed-dsph .video-layer {
      width: 100cqh !important;
      height: 100cqw !important;
      max-width: none;
      max-height: none;
    }
  }
}
@media (orientation: landscape) {
  html.page-unified.page-dsph .uni-embed-dsph .video-layer {
    bottom: var(--uni-tabbar-elev) !important;
  }
}
