/**
 * 播放页 UI（仅 data-page=play）
 * 字号使用固定值 + 媒体查询，不使用 clamp()
 */

/* ---------- 播放器外框 ---------- */
body[data-page="play"] .mizhiady-player-box {
    position: relative;
    padding-bottom: 8px;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body[data-page="play"] #PlayerVideoArea {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    position: relative;
}

/* 片名标题在播放器上方，避免被视频层叠遮挡 */
body[data-page="play"] .play-page-player-head {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    height: auto;
    min-height: 0;
    padding: 0 0 10px;
    box-sizing: border-box;
}

body[data-page="play"] .play-page-player-head .video_title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--font-color);
    letter-spacing: 0.02em;
}

body[data-page="play"] .mizhiady-player {
    position: relative;
    z-index: 1;
    border-radius: 16px;
    padding: 2px;
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.02) 40%,
        rgba(255, 255, 255, 0.06) 100%
    );
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
}

[data-theme="light"][data-page="play"] .mizhiady-player {
    background: linear-gradient(
        145deg,
        rgba(40, 98, 229, 0.12) 0%,
        rgba(255, 255, 255, 0.9) 50%,
        rgba(233, 237, 244, 0.95) 100%
    );
    box-shadow: 0 16px 40px rgba(32, 36, 45, 0.08);
}

body[data-page="play"] .player-left .embed-responsive {
    border-radius: 14px 14px 0 0;
}

/* MacPlayer embed-responsive：左上角广告警示水印（约 5 秒后自动隐藏） */
@keyframes mzady-player-ad-warning-dismiss {
    to {
        opacity: 0;
        visibility: hidden;
    }
}

body[data-page="play"] #PlayerVideoArea .MacPlayer.embed-responsive {
    position: relative;
}

body[data-page="play"] #PlayerVideoArea .MacPlayer.embed-responsive::after {
    content: "警告：请切勿相信播放视频中的任何广告。";
    position: absolute;
    left: 10px;
    top: 10px;
    z-index: 100000;
    pointer-events: none;
    max-width: calc(100% - 20px);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.92);
    text-shadow:
        0 0 1px rgba(0, 0, 0, 0.4),
        0 1px 2px rgba(0, 0, 0, 0.75);
    letter-spacing: 0.02em;
    box-sizing: border-box;
    animation: mzady-player-ad-warning-dismiss 1ms linear 5s forwards;
}

/* 仅播放器内桌面底栏；勿用 .player-foot 通配，否则会套到页面底部的 .m_player_foot */
body[data-page="play"] .player-left .player-foot.hidden-xs {
    border-radius: 0 0 14px 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: none;
    height: 56px;
    background: rgba(18, 20, 26, 0.92);
}

[data-theme="light"][data-page="play"] .player-left .player-foot.hidden-xs {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(32, 36, 45, 0.08);
}

body[data-page="play"] .player-left .player-foot .data .item {
    font-size: 13px;
}

body[data-page="play"] .player-left .player-foot .data .item div span {
    font-size: 13px;
}

/* 移动端底部点赞/收藏等条：与主题 mizhiady-site 胶囊样式一致，不被上方面板底栏样式污染 */
body[data-page="play"] .player-foot.m_player_foot {
    height: auto;
    min-height: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    top: auto;
}

[data-theme="light"][data-page="play"] .player-foot.m_player_foot {
    background: transparent;
}

body[data-page="play"] .player-foot.m_player_foot .data {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    justify-content: flex-start;
}

body[data-page="play"] .player-foot.m_player_foot .data .item {
    margin: 0;
    font-size: 12px;
    background: var(--input-bg);
    border-radius: 50px;
    padding: 2px 10px;
    box-sizing: border-box;
}

/* 线路 Tab：当前线路字重 */
body[data-page="play"] .episodes_wrap .swiper-slide.active .swiper-slide-text span {
    font-weight: 700;
}

/* 线路延迟徽章 */
body[data-page="play"] .mzady-route__ping {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    border-radius: 4px;
    vertical-align: middle;
    color: var(--font-color-secondary, #9aa0a6);
    background: transparent;
    transition: background-color .2s, color .2s;
}
body[data-page="play"] .mzady-route__ping:empty { display: none; }
body[data-page="play"] .mzady-route__ping--loading {
    color: var(--font-color-secondary, #9aa0a6);
    background: rgba(148, 163, 184, 0.12);
}
body[data-page="play"] .mzady-route__ping--fast {
    color: #2ed573;
    background: rgba(46, 213, 115, 0.15);
}
body[data-page="play"] .mzady-route__ping--mid {
    color: #ffa502;
    background: rgba(255, 165, 2, 0.15);
}
body[data-page="play"] .mzady-route__ping--slow {
    color: #ff4757;
    background: rgba(255, 71, 87, 0.15);
}
/* 跨域检测未完成（「—」）：柔和黄/琥珀，避免与错误红同等观感 */
body[data-page="play"] .mzady-route__ping--warn {
    color: #a16207;
    background: rgba(234, 179, 8, 0.22);
    box-shadow: 0 0 0 1px rgba(202, 138, 4, 0.18);
}
[data-theme="dark"][data-page="play"] .mzady-route__ping--warn {
    color: #facc15;
    background: rgba(234, 179, 8, 0.16);
    box-shadow: 0 0 0 1px rgba(250, 204, 21, 0.2);
}
body[data-page="play"] .mzady-route__ping--blocked {
    color: #fff;
    background: #ff4757;
    background-image: linear-gradient(135deg, #ff4757 0%, #c62839 100%);
    box-shadow: 0 0 0 1px rgba(255, 71, 87, 0.35);
}

/* ---------- 播放页异常提示覆盖层（403 / 地区受限等） ---------- */
body[data-page="play"] .mzady-play-alert {
    position: absolute;
    inset: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(8, 12, 20, 0.82);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-radius: 14px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease-out;
}
body[data-page="play"] .mzady-play-alert[hidden] { display: none; }
body[data-page="play"] .mzady-play-alert.is-visible {
    opacity: 1;
    pointer-events: auto;
}
body[data-page="play"] .mzady-play-alert__inner {
    max-width: 520px;
    width: 100%;
    color: #fff;
    text-align: center;
    padding: 28px 24px;
    background: linear-gradient(160deg, rgba(32, 36, 45, 0.9), rgba(20, 22, 30, 0.9));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}
body[data-page="play"] .mzady-play-alert__icon {
    color: #ff4757;
    margin-bottom: 10px;
    display: inline-flex;
}
body[data-page="play"] .mzady-play-alert__title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 8px;
}
body[data-page="play"] .mzady-play-alert__desc {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 6px;
}
body[data-page="play"] .mzady-play-alert__hint {
    font-size: 12px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 18px;
}
body[data-page="play"] .mzady-play-alert__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 10px;
}
body[data-page="play"] .mzady-play-alert__btn {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 999px;
    cursor: pointer;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .15s, border-color .15s, transform .15s;
}
body[data-page="play"] .mzady-play-alert__btn:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.28);
}
body[data-page="play"] .mzady-play-alert__btn:active { transform: translateY(1px); }
body[data-page="play"] .mzady-play-alert__btn--primary {
    background: var(--theme-color, #ff4757);
    border-color: transparent;
    color: #fff;
}
body[data-page="play"] .mzady-play-alert__btn--primary:hover {
    filter: brightness(1.1);
    background: var(--theme-color, #ff4757);
    border-color: transparent;
}
body[data-page="play"] .mzady-play-alert__btn--ghost {
    background: transparent;
}
body[data-page="play"] .mzady-play-alert__meta {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    word-break: break-all;
    margin-top: 8px;
}
body[data-page="play"] .mzady-play-alert__meta:empty { display: none; }

@media (max-width: 640px) {
    body[data-page="play"] .mzady-play-alert__inner { padding: 20px 16px; }
    body[data-page="play"] .mzady-play-alert__title { font-size: 16px; }
    body[data-page="play"] .mzady-play-alert__desc { font-size: 13px; }
    body[data-page="play"] .mzady-play-alert__actions { flex-direction: column; }
    body[data-page="play"] .mzady-play-alert__btn { width: 100%; }
}

/* Light theme adjustments */
[data-theme="light"][data-page="play"] .mzady-play-alert {
    background: rgba(240, 242, 246, 0.88);
}
[data-theme="light"][data-page="play"] .mzady-play-alert__inner {
    background: #fff;
    color: #1a1f2c;
    border-color: rgba(32, 36, 45, 0.08);
    box-shadow: 0 24px 60px rgba(32, 36, 45, 0.14);
}
[data-theme="light"][data-page="play"] .mzady-play-alert__desc { color: rgba(26, 31, 44, 0.78); }
[data-theme="light"][data-page="play"] .mzady-play-alert__hint { color: rgba(26, 31, 44, 0.48); }
[data-theme="light"][data-page="play"] .mzady-play-alert__btn {
    background: rgba(26, 31, 44, 0.04);
    border-color: rgba(26, 31, 44, 0.12);
    color: #1a1f2c;
}
[data-theme="light"][data-page="play"] .mzady-play-alert__btn:hover {
    background: rgba(26, 31, 44, 0.08);
    border-color: rgba(26, 31, 44, 0.2);
}
[data-theme="light"][data-page="play"] .mzady-play-alert__btn--primary {
    background: var(--theme-color, #ff4757);
    color: #fff;
    border-color: transparent;
}
[data-theme="light"][data-page="play"] .mzady-play-alert__meta { color: rgba(26, 31, 44, 0.4); }

/* 右侧选集面板 */
body[data-page="play"] .player-side-box {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="light"][data-page="play"] .player-side-box {
    border-color: rgba(32, 36, 45, 0.1);
    box-shadow: 0 8px 32px rgba(32, 36, 45, 0.06);
}

/* 右侧栏：标题「线路」+ 排序，扁平列表 */
body[data-page="play"] .play-page-line-head .play-page-line-head__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 36px;
}

body[data-page="play"] .play-page-line-head__title {
    font-size: 18px;
    font-weight: 600;
    color: var(--font-color);
}

body[data-page="play"] .play-page-line-head .sections_type-left.play-page-line-head__title-wrap {
    flex: 1;
    min-width: 0;
}

body[data-page="play"] .play-page-line-head .sections_type-right {
    position: static;
    flex-shrink: 0;
    padding-left: 10px;
}

body[data-page="play"] .player-side-box .tab-content.tab-content--flat > .lists-box--all {
    display: grid;
}

body[data-page="play"] .player-list-head .header-sections {
    /* sidebar 在左侧已经用 border-right 起到结构分隔作用，
       head / body 之间的横向 border-bottom 会横穿 sidebar 上方看起来断裂，统一去掉 */
    border-bottom: none;
}

/* ---------- 线路列表改为左侧竖向 sidebar ----------
   .sections_type-left 原本是 .header-sections_type 里 flex:1 的横向滚动条，
   这里把它抽出做绝对定位侧栏，贴在 .player-side-box 左边 0 起、从顶到底
   贯穿 head + body。鼠标用户滚轮即可看完所有线路，不再需要横向滚动。
   右侧内容（排序按钮 + 剧集网格）统一让出 sidebar 宽度的左 padding。 */

:root {
    --play-side-sidebar-w: 88px;
}

body[data-page="play"] .player-side-box .sections_type-left {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: var(--play-side-sidebar-w);
    padding: 10px 4px 10px 6px;
    box-sizing: border-box;
    overflow-y: auto;
    overflow-x: hidden;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.02);
    z-index: 1;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.35) transparent;
}
[data-theme="light"][data-page="play"] .player-side-box .sections_type-left {
    border-right-color: rgba(32, 36, 45, 0.08);
    background: rgba(32, 36, 45, 0.015);
}
body[data-page="play"] .player-side-box .sections_type-left::-webkit-scrollbar {
    width: 3px;
    background: transparent;
}
body[data-page="play"] .player-side-box .sections_type-left::-webkit-scrollbar-thumb {
    background-color: rgba(148, 163, 184, 0.4);
    border-radius: 3px;
}

/* 右侧主内容让出 sidebar 宽度 */
body[data-page="play"] .player-side-box > .player-list-head,
body[data-page="play"] .player-side-box > .player-list-body {
    padding-left: var(--play-side-sidebar-w);
    box-sizing: border-box;
}

/* 与 .player-list-head .header-sections 左右内边距对齐 */
body[data-page="play"] .player-list-head > .mzady-route-refresh-hint {
    margin-bottom: 10px;
    padding-left: 16px;
    padding-right: 13px;
    font-size: 12px
}

/* sidebar 抽走后，flex 容器里只剩 sort 按钮，用 margin-left:auto 顶到右端 */
body[data-page="play"] .player-list-head .header-sections .header-sections_type .sections_type-right {
    margin-left: auto;
}

/* sidebar 内线路列：取消横向 swiper 样式，改垂直堆叠 */
body[data-page="play"] .sections_type-left .episodes_wrap {
    display: block;
    overflow: visible;
    margin: 0;
    padding: 0;
}
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-container {
    width: 100%;
    float: none;
    margin: 0;
    overflow: visible;
}
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}
/* 线路行：slide 本身变成 flex 容器，水平 + 垂直居中里面的 <a>。
   同时显式清掉 base CSS 里 .swiper-slide { padding-bottom: 10px; margin-right: 19px }
   以及 .swiper-slide.active { border-bottom: 2px solid var(--theme-color) } 的残留。 */
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide,
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide.active,
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide.swiper-slide-active {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    padding-bottom: 0;
    border-bottom: none;
    border-radius: 6px;
    background: transparent;
    transition: background-color 0.18s ease;
}
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide.active {
    background: rgba(40, 98, 229, 0.18);
    box-shadow: inset 2px 0 0 var(--theme-color);
}
[data-theme="light"][data-page="play"] .sections_type-left .episodes_wrap .swiper-slide.active {
    background: rgba(40, 98, 229, 0.08);
}
/* <a> 内部也用 flex 居中 label + ping，挤不下自然 wrap */
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide .swiper-slide-text {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 3px 4px;
    width: 100%;
    padding: 10px 7px;
    line-height: 1.25;
    font-size: 12px;
    box-sizing: border-box;
    text-decoration: none;
}
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide .swiper-slide-text > span:first-child {
    flex: 0 0 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide .mzady-route__ping {
    flex: 0 0 auto;
    margin-left: 0;
    font-size: 9px;
    padding: 0 4px;
    line-height: 1.5;
    border-radius: 3px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* 隐藏的具体线路名（如 "如意资源" / "FF线路"），给 JS hook 预留 */
body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide .mzady-route__name {
    display: none;
}
@media (hover: hover) {
    body[data-page="play"] .sections_type-left .episodes_wrap .swiper-slide:not(.active):hover {
        background: rgba(148, 163, 184, 0.12);
    }
}

/* 剧集网格让出 sidebar 后宽度变窄，把 padding 收紧让每列尽量不憋屈 */
body[data-page="play"] .player-side-box .player-list-body .lists-box {
    padding: 12px 10px;
}

body[data-page="play"] .lists-box .listitem {
    border-radius: 10px;
    margin-bottom: 8px;
    transition: background 0.2s ease, color 0.2s ease;
}

body[data-page="play"] .lists-box .listitem a {
    display: block;
    padding: 0 12px;
    font-size: 13px;
}

body[data-page="play"] .lists-box .listitem.active {
    background: rgba(40, 98, 229, 0.2);
}

body[data-page="play"] .lists-box .listitem.active a {
    color: var(--theme-color);
    font-weight: 600;
}

/* ---------- 面包屑（覆盖全局 .breadcrumb 18px） ---------- */
body[data-page="play"] .mizhiady-player-detail .play-breadcrumb {
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 0;
}

body[data-page="play"] .play-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--font-color-6);
}

body[data-page="play"] .play-breadcrumb a {
    color: var(--font-color-6);
    text-decoration: none;
    transition: color 0.2s ease;
}

@media (hover: hover) {
    body[data-page="play"] .play-breadcrumb a:hover {
        color: var(--theme-color);
    }
}

body[data-page="play"] .play-breadcrumb svg {
    flex-shrink: 0;
    opacity: 0.55;
}

body[data-page="play"] .play-breadcrumb span:last-child {
    color: var(--font-color);
    font-weight: 500;
}

/* ---------- 标题区 ---------- */
body[data-page="play"] .mizhiady-player-detail.play-page-meta {
    margin-top: 28px;
    padding: 24px 24px 20px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.05) 0%,
        rgba(255, 255, 255, 0.02) 100%
    );
    gap: 16px;
}

[data-theme="light"][data-page="play"] .mizhiady-player-detail.play-page-meta {
    background: #fff;
    border-color: rgba(32, 36, 45, 0.08);
    box-shadow: 0 4px 24px rgba(32, 36, 45, 0.06);
}

body[data-page="play"] .mizhiady-player-detail .title-box.play-page-title {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    font-size: inherit;
    line-height: inherit;
}

body[data-page="play"] .mizhiady-player-detail .title-box .title_num {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 500;
    margin: 0;
    padding: 6px 12px 6px 8px;
    border-radius: 999px;
    background: rgba(40, 98, 229, 0.12);
    color: var(--theme-color);
}

body[data-page="play"] .mizhiady-player-detail .title-box .title_num svg {
    flex-shrink: 0;
}

body[data-page="play"] .mizhiady-player-detail .title-box .title_num svg path {
    stroke: currentColor;
}

body[data-page="play"] .mizhiady-player-detail .title-box .title_ep {
    display: inline-flex;
    align-items: center;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 500;
    margin-left: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(40, 98, 229, 0.12);
    color: var(--theme-color);
    vertical-align: middle;
}

/* ---------- 元信息胶囊 ---------- */
body[data-page="play"] .detail-box.play-meta-row {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.5;
}

body[data-page="play"] .detail-box.play-meta-row .line {
    display: none;
}

body[data-page="play"] .play-meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1.4;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    color: var(--font-color);
}

[data-theme="light"][data-page="play"] .play-meta-pill {
    border-color: rgba(32, 36, 45, 0.1);
    background: rgba(233, 237, 244, 0.6);
    color: #20242d;
}

body[data-page="play"] .play-meta-pill .iconfont {
    font-size: 15px;
    color: #f5a623;
}

body[data-page="play"] .play-meta-pill--douban svg {
    margin-right: 0;
}

body[data-page="play"] .play-meta-pill .douban-tag {
    font-size: 11px;
    opacity: 0.75;
    margin-left: 4px;
}

/* ---------- 简介 ---------- */
body[data-page="play"] .vod-content.play-page-intro {
    margin-top: 20px;
    padding: 20px 22px 22px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.02);
}

[data-theme="light"][data-page="play"] .vod-content.play-page-intro {
    background: #fafbfc;
    border-color: rgba(32, 36, 45, 0.08);
}

body[data-page="play"] .vod-content.play-page-intro .play-page-intro-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 12px;
}

body[data-page="play"] .vod-content.play-page-intro .play-page-intro-head__name {
    font-size: 15px;
    font-weight: 600;
    color: var(--font-color);
    line-height: 1.4;
}

body[data-page="play"] .vod-content.play-page-intro .play-page-intro-head .title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 0;
    color: var(--font-color);
    display: flex;
    align-items: center;
    gap: 8px;
}

body[data-page="play"] .vod-content.play-page-intro .wrapper_more .wrapper_more_text {
    font-size: 14px;
    line-height: 1.75;
    color: var(--font-color-6);
}

[data-theme="dark"][data-page="play"] .vod-content .intro .wrapper_more .wrapper_more_text::after {
    box-shadow: inset calc(100px - 999vw) calc(30px - 999vw) 0 0 #191919;
}

[data-theme="light"][data-page="play"] .vod-content .intro .wrapper_more .wrapper_more_text::after {
    box-shadow: inset calc(100px - 999vw) calc(30px - 999vw) 0 0 #fafbfc;
}

/* ---------- 桌面端标题更大 ---------- */
@media screen and (min-width: 992px) {
    body[data-page="play"] .play-page-player-head .video_title {
        font-size: 26px;
    }

    body[data-page="play"] .mizhiady-player-detail .title-box .title_num {
        font-size: 16px;
    }

    body[data-page="play"] .mizhiady-player-detail .title-box .title_ep {
        font-size: 16px;
    }
}

/* ---------- 移动端沿用主题断点，收紧内边距 ---------- */
@media screen and (max-width: 768px) {
    /* 主题已改为非 fixed 播放器；详情区与视频区之间保留小间距（勿用 240px 占位） */
    body[data-page="play"] .mizhiady-player-detail {
        margin-top: 12px;
    }

    /* 覆盖主题里 header#play_header 固定 45px，避免与 min-height:56px 冲突或裁切 */
    header#play_header {
        height: auto;
        min-height: 56px;
    }

    /* 播放/详情顶栏：返回与搜索同一行垂直居中；左右与屏边留白 */
    header#play_header .row {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        padding: 8px 10px;
        min-height: 44px;
        box-sizing: border-box;
    }

    header#play_header .detail-top {
        padding: 0;
        padding-right: 10px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
    }

    header#play_header .search {
        flex: 1;
        display: flex;
        align-items: center;
        align-self: stretch;
        min-width: 0;
        margin-top: 0;
    }

    header#play_header .search .search-box {
        margin-top: 0;
        width: 100%;
        max-width: none;
    }

    /* 移动端线路块在 meta 卡片上方 */
    body[data-page="play"] .m_vod_list.visible-xs {
        margin-bottom: 12px;
        width: 100%;
        box-sizing: border-box;
    }

    body[data-page="play"] .m_vod_list.visible-xs .vod-list-box {
        width: 100%;
    }

    body[data-page="play"] .mizhiady-player-detail .play-breadcrumb {
        font-size: 12px;
    }

    body[data-page="play"] .mizhiady-player-detail.play-page-meta {
        padding: 16px;
        margin-top: 0;
    }

    body[data-page="play"] .mizhiady-player-detail .title-box .title_num {
        font-size: 14px;
    }

    body[data-page="play"] .mizhiady-player-detail .title-box .title_ep {
        font-size: 13px;
        margin-left: 4px;
        padding: 3px 8px;
    }

    body[data-page="play"] .detail-box.play-meta-row {
        font-size: 13px;
    }

    body[data-page="play"] .play-meta-pill {
        font-size: 12px;
        padding: 5px 10px;
    }

    /* 避免横向撑破视口；播放器与文案区占满行宽 */
    body[data-page="play"] main .container {
        overflow-x: hidden;
    }

    body[data-page="play"] .mizhiady-player {
        flex-direction: column;
        width: 100%;
        min-width: 0;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none;
        padding: 0;
        position: relative;
        z-index: 1;
        isolation: isolate;
    }

    body[data-page="play"] .player-left {
        width: 100%;
        min-width: 0;
        position: relative;
        z-index: 1;
    }

    /*
     * 标题区：主题 .player-head 固定 70px，长标题会溢出到下方视频区，点击被 h1 截获。
     * 改为自适应高度 + 降低叠层；视频区单独提高 z-index 保证可点、控件可触达。
     */
    body[data-page="play"] .play-page-player-head.player-head {
        height: auto;
        min-height: 0;
        align-items: flex-start;
        overflow: visible;
        z-index: 0;
    }

    body[data-page="play"] #PlayerVideoArea {
        position: relative;
        z-index: 2;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        pointer-events: auto;
        touch-action: manipulation;
    }

    body[data-page="play"] #PlayerVideoArea .MacPlayer.embed-responsive {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    body[data-page="play"] #PlayerVideoArea .MacPlayer table {
        width: 100% !important;
        max-width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
        border-spacing: 0;
        box-sizing: border-box;
    }

    body[data-page="play"] #PlayerVideoArea .MacPlayer td#playleft {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
        vertical-align: top;
    }

    body[data-page="play"] #PlayerVideoArea video,
    body[data-page="play"] #PlayerVideoArea embed,
    body[data-page="play"] #PlayerVideoArea object,
    body[data-page="play"] #PlayerVideoArea iframe {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* 与 myui 的 hidden-xs(max-width:767px) 对齐：≤768px 也隐藏桌面底栏，避免 z-index:10 盖住视频 */
    body[data-page="play"] .player-left > .player-foot.hidden-xs {
        display: none !important;
    }

    body[data-page="play"] .detail-box.play-meta-row {
        gap: 6px;
    }

    body[data-page="play"] .play-meta-pill {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* 与 .row 左右留白一致，不再额外 padding 避免标题比视频更缩进 */
    body[data-page="play"] .play-page-player-head {
        padding: 0 0 8px;
        position: relative;
        z-index: 0;
    }

    body[data-page="play"] .play-page-player-head .video_title {
        font-size: 17px;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    body[data-page="play"] .mizhiady-player-detail.play-page-meta {
        border-radius: 12px;
    }

    body[data-page="play"] .vod-content.play-page-intro {
        padding: 16px;
        border-radius: 12px;
    }

    /* 操作条在播放器正下方（DOM 已移入 mizhiady-player-box），仅保留与视频区的间距 */
    body[data-page="play"] .mizhiady-player-box > .player-foot.m_player_foot.visible-xs {
        margin: 10px 0 0;
        padding: 0;
        width: 100%;
    }
}
