/* 全站核心色变量（风格管理系统的取值基座）：后台切换风格模版时整组覆盖（themes/*.php → nxh_theme_css） */
:root{--brand:#ff2e4d;--bg:#000;--bg2:#101018;--card:#15151f;--card2:#1c1c28;--line:#2c2c44;--text:#e8e8ee;--muted:#8b8b9e;--acc-soft:#ff8ba0;--gold:#f7d774;--gold2:#ffd76a;--radius:14px}
*{margin:0;padding:0;box-sizing:border-box}
button{font:inherit} /* 浏览器给 button 的 UA 默认字体（Segoe UI/13.3px）不继承站内字体：不重置则 button 内文字与同级 span 视觉大小/字形不一致（如弹幕设置键的「弹」） */
html{background:#000} /* 根元素底色：刘海/挖孔屏横屏时浏览器把页面挤开一条（viewport gutter）由根元素着色，不设则露白边 */
/* 主滚动条隐藏式沉浸（用户要求一点边距不留）：根滚动条走 ::-webkit-scrollbar 老通道隐藏（Chromium 对 html 应用 scrollbar-width 有怪癖，实测 computed 仍 thin——老通道对根滚动条始终有效）；
   body 用 scrollbar-width:none 兜底内部滚动。滚轮/触摸/键盘滚动不受影响；局部滚动区（侧栏/选集等）各自保留细条 */
body{scrollbar-width:none} /* Chromium 121+：body 层滚动条不渲染 */
html::-webkit-scrollbar{width:0;height:0;display:none} /* 根滚动条隐藏（老通道，根元素可靠） */
body{background:var(--bg);color:var(--text);font-family:"PingFang SC","Microsoft YaHei",sans-serif;min-height:100vh}
a{color:inherit;text-decoration:none}
img{display:block}
/* hidden 属性兜底：防止元素自身的 display 规则（如 .wf-loading 的 flex）覆盖 UA 默认隐藏 */
[hidden]{display:none!important}
/* 导航：iqiyi 客户端式（顶栏 + 左侧固定频道栏） */
/* 顶栏默认透明悬浮（渐变暗化保证幻灯上可读），滚动后切换为淡化渐变实底 */
.nav-top{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;gap:20px;padding:0 24px;height:60px;background:linear-gradient(180deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.46) 52%,rgba(0,0,0,.12) 82%,rgba(0,0,0,0) 100%);transition:background .3s;padding-right:calc(24px + env(safe-area-inset-right,0px));padding-left:calc(24px + env(safe-area-inset-left,0px)) /* viewport-fit=cover 后横屏避开挖孔/刘海侧 */}
.nav-top.scrolled{background:linear-gradient(180deg,rgba(11,11,15,.94),rgba(11,11,15,.88));backdrop-filter:blur(14px)}
.logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:2px;flex:none}
.logo-mark{width:30px;height:30px;border-radius:8px;background:var(--brand);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}
/* 自定义站点 LOGO（后台系统设置配置）：60px 导航高度内按 34px 高缩放，宽上限防超长横图 */
.logo img.brand-logo{height:34px;max-width:150px;object-fit:contain;display:block}
.search-wrap{position:relative;flex:1;max-width:520px;margin:0 auto;display:flex}
.search{flex:1;max-width:none;display:flex;align-items:center;background:rgba(28,28,40,.6);border-radius:20px;padding:0 6px 0 16px;height:38px;border:1px solid rgba(38,38,58,.9);transition:background .2s,border-color .2s}
.search:focus-within{background:rgba(32,32,46,.85);border-color:#3a3a58}
.search input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:13px;min-width:0}
.search button{background:none;border:none;color:var(--muted);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:none;transition:.2s}
.search button:hover{color:#fff;background:rgba(255,255,255,.08)}
.search button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
/* ---------- 腾讯式搜索下拉面板：热搜榜/联想（Tab=频道） ---------- */
.sb-panel{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:min(720px,94vw);background:rgba(19,19,31,.72);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.65);padding:16px 20px 18px;z-index:300}
.sb-panel::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px} /* 悬停桥：补面板与输入框之间的 12px 空隙，鼠标穿越不触发 wrap mouseleave */
/* JS 失效/事件异常兜底：搜索框获得焦点时纯 CSS 强制显示面板壳（列表内容仍由 JS 填充） */
.search-wrap:focus-within .sb-panel[hidden]{display:block!important}
.sb-tabs{display:flex;gap:24px;margin-bottom:14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.sb-tabs::-webkit-scrollbar{display:none}
.sb-tabs a{font-size:13.5px;color:var(--muted);cursor:pointer;white-space:nowrap;flex:none}
.sb-tabs a:hover{color:var(--text)}
.sb-tabs a.on{color:#fff;font-weight:700;font-size:15px}
.sb-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;max-height:58vh;overflow-y:auto;padding-right:4px}
.sb-list::-webkit-scrollbar{width:6px}
.sb-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.sb-item{display:flex;gap:10px;cursor:pointer;position:relative;padding:3px 6px 3px 2px;border-radius:8px;align-items:flex-start;min-width:0}
.sb-item:hover{background:rgba(255,255,255,.045)}
.sb-item img{width:42px;height:56px;object-fit:cover;border-radius:6px;flex:none;background:var(--card2)}
.sb-rank{position:absolute;left:0;top:0;min-width:16px;height:16px;padding:0 3px;background:var(--line);color:var(--text);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:5px 0 8px 0;font-style:normal;z-index:2}
.sb-rank.top{background:linear-gradient(135deg,#ff7a1a,var(--brand));color:#fff}
.sb-info{min-width:0;flex:1}
.sb-name{font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;line-height:1.35}
.sb-hot{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#d8b27a;background:rgba(255,150,40,.07);border:1px solid rgba(255,150,40,.22);border-radius:10px;padding:1px 8px;margin:3px 0;white-space:nowrap}
.sb-hot svg{width:10px;height:10px;fill:currentColor;flex:none}
.sb-meta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}
.sb-empty{grid-column:1/-1;text-align:center;color:var(--muted);font-size:13px;padding:26px 0}
/* 搜索历史（面板顶部）：时间图标 + 关键词 + 单条删除 ×，尾部清空入口 */
.sb-hist{margin:0 0 14px;border-bottom:1px solid #23233a;padding-bottom:12px}
.sb-hist[hidden]{display:none}
.sb-hist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.sb-hist-head span{font-size:12px;color:var(--muted)}
.sb-hist-head a{font-size:12px;color:var(--muted);cursor:pointer}
.sb-hist-head a:hover{color:var(--brand)}
.sb-hist-list{display:flex;flex-wrap:wrap;gap:8px}
.sb-hist-item{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#1f1f2f;border:1px solid var(--line);border-radius:18px;font-size:12.5px;color:#c9c9d6;cursor:pointer;max-width:220px}
.sb-hist-item:hover{border-color:#3d3d5c;color:#fff}
.sb-hist-item svg{width:12px;height:12px;flex:none;opacity:.6}
.sb-hist-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-hist-del{font-style:normal;color:#6b6b80;font-size:15px;line-height:1;padding:2px 5px;margin:-2px -3px 0 0;flex:none}
.sb-hist-del:hover{color:var(--brand)}
/* 输入联想词条（iqiyi 式）：纯文字行 + 右侧类型标签，命中子串品牌色高亮，点击跳搜索结果页 */
.sb-word{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;color:var(--text);cursor:pointer}
.sb-word:hover{background:#1f1f29;color:#fff}
.sb-word em{color:var(--brand);font-style:normal;font-weight:700}
.sb-word i{font-style:normal;font-size:10px;font-weight:600;padding:1px 7px;border-radius:4px;background:var(--line);color:var(--muted);margin-left:auto;flex-shrink:0}
@media (max-width:1000px){
  .sb-panel{position:fixed;left:12px;right:12px;top:64px;transform:none;width:auto}
  .sb-list{grid-template-columns:1fr;max-height:52vh}
}
.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#7a2bff);display:flex;align-items:center;justify-content:center;font-size:13px;flex:none;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.logout{font-size:12px;color:var(--muted);flex:none}
/* 腾讯式头像悬浮窗：hover 头像/面板本体均保持显示，透明桥补齐缝隙防止中途移出 */
.user-box{position:relative;flex:none;margin-left:2px;cursor:pointer}
.user-box .avatar{cursor:pointer}
.u-pop{position:absolute;top:calc(100% + 8px);right:-6px;width:296px;background:rgba(26,26,38,.72);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px 18px 6px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s;z-index:120;box-shadow:0 18px 48px rgba(0,0,0,.5);cursor:default}
.u-pop::before{content:'';position:absolute;top:-10px;left:0;right:0;height:10px}
.user-box:hover .u-pop{opacity:1;visibility:visible;transform:none}
/* 腾讯式顶栏图标组：观看历史悬浮面板 + 客户端下载（预留） */
.nav-ico-group{display:flex;align-items:center;gap:2px;flex:none}
.nav-ico-wrap{position:relative;flex:none}
.nav-ico{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:38px;height:46px;color:#c9c9d8;cursor:pointer;transition:.2s}
.nav-ico svg{width:20px;height:20px}
.nav-ico .ico-txt{font-style:normal;font-size:9.5px;line-height:1;color:#9a9aac;letter-spacing:1px}
.nav-ico:hover{color:#fff}
.nav-ico:hover .ico-txt{color:#fff}
.h-pop{position:absolute;top:calc(100% + 9px);right:-10px;width:352px;background:rgba(26,26,38,.72);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:16px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s;z-index:120;box-shadow:0 18px 48px rgba(0,0,0,.5);cursor:default}
.h-pop::before{content:'';position:absolute;top:-11px;left:0;right:0;height:11px}
.nav-ico-wrap:hover .h-pop{opacity:1;visibility:visible;transform:none}
.hp-title{font-size:14px;font-weight:700;color:#fff;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.07)}
.hp-list{max-height:352px;overflow-y:auto;overscroll-behavior:contain;padding:6px 2px;scrollbar-width:thin;scrollbar-color:var(--line) transparent} /* contain：列表滚到底不再把滚动传给页面 */
.hp-card{display:flex;gap:11px;padding:8px;border-radius:10px;transition:.15s}
.hp-card:hover{background:rgba(255,255,255,.05)}
/* 纯文字历史卡：海报已按需求移除，只留片名+剧集进度+进度条 */
.hpc-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}
.hpc-info h5{font-size:13px;color:#eee;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hpc-info p{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hpc-bar{height:3px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.hpc-bar i{display:block;height:100%;background:var(--brand);border-radius:2px}
.hp-empty{padding:34px 0 30px;text-align:center}
.hp-empty svg{width:96px;height:96px;opacity:.9}
.hp-empty p{margin:10px 0 14px;font-size:12.5px;color:var(--muted)}
.hp-empty a{display:inline-block;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12.5px;padding:7px 22px;border-radius:17px;transition:.2s}
.hp-empty a:hover{border-color:var(--brand);color:var(--brand)}
.hp-more{display:block;text-align:center;padding:11px 0 3px;margin-top:4px;border-top:1px solid rgba(255,255,255,.07);font-size:12.5px;color:var(--muted);transition:.15s}
/* 悬浮窗海报卡片 + 在追小节 + 个人中心历史时间线 */
.hp-list{height:296px} /* 固定高度：观看历史/我的在追两个分页切换时悬浮窗尺寸恒定，不随条数跳动 */
/* 历史悬浮窗双分页（观看历史/我的在追）+ 悬浮窗内时间线小组头 */
/* Tab 下划线高亮式（iqiyi/腾讯风）：文字 Tab 左对齐，激活项白色文字 + 品牌色底条压在分组线上 */
.hp-tabs{display:flex;gap:20px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.07)}
.hp-tabs button{position:relative;border:0;background:none;color:var(--muted);font-size:13px;font-weight:600;padding:4px 2px 10px;cursor:pointer;transition:.15s;font-family:inherit}
.hp-tabs button:hover{color:#fff}
.hp-tabs button.on{color:#fff}
.hp-tabs button.on::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--brand)}
.hp-pane{display:none}
.hp-pane.on{display:block}
.hp-day{padding:7px 4px 4px;font-size:11px}
.hp-day i{font-style:normal;font-weight:600;color:#9a9aac;display:inline-flex;align-items:center;gap:5px}
.hp-day i::before{content:'';width:3px;height:10px;border-radius:2px;background:var(--brand)}
.hp-card .hpc-poster{position:relative;flex:none;width:56px;height:76px;border-radius:7px;overflow:hidden;background:var(--line)}
.hp-card .hpc-poster img{width:100%;height:100%;object-fit:cover;display:block}
.hp-card .hpc-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-style:normal;color:#fff;background:rgba(0,0,0,.32);opacity:0;transition:.15s}
.hp-card:hover .hpc-play{opacity:1}
.hp-sec{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.07)}
.hp-sec-h{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:8px}
.hp-sec-h a{margin-left:auto;font-size:11.5px;font-weight:400;color:var(--muted)}
.hp-sec-h a:hover{color:var(--brand)}
.hps-card{position:relative;display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:9px;transition:.15s}
.hps-card:hover{background:rgba(255,255,255,.05)}
.hps-poster{flex:none;width:38px;height:52px;border-radius:5px;overflow:hidden;background:var(--line)}
.hps-poster img{width:100%;height:100%;object-fit:cover;display:block}
.hps-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.hps-info b{font-size:12.5px;color:#eee;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hps-info em{font-style:normal;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hps-card .uf-dot{top:50%;right:8px;margin-top:-4px}
.hp-sec-empty{padding:8px 4px;font-size:12px;color:var(--muted)}
.hist-day{margin-bottom:16px}
.hist-day:last-child{margin-bottom:0}
.hist-day-h{display:flex;align-items:center;gap:9px;margin-bottom:9px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.hist-day-h i{font-style:normal;font-size:13.5px;font-weight:700;color:var(--text)}
.hist-day-h i::before{content:'';display:inline-block;width:3px;height:12px;border-radius:2px;background:var(--brand);margin-right:7px;vertical-align:-1px}
.hist-day-h span{font-size:11.5px;color:var(--muted)}
.hist-day .uc-hist{margin-bottom:0}
.hp-more:hover{color:var(--brand)}
.dl-app{flex:none;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.26);color:#ddd;border-radius:17px;padding:6px 15px;font-size:12.5px;transition:.2s;cursor:pointer}
.dl-app svg{width:15px;height:15px}
.dl-app:hover{border-color:var(--brand);color:var(--brand)}
.up-name{display:flex;align-items:center;gap:8px;font-size:16px}
.up-name b{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.up-badge{flex:none;background:linear-gradient(135deg,var(--gold),#e8b84b);color:#5a3b00;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:8px}
.up-assets{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:12.5px;color:var(--muted)}
.up-assets a{color:var(--muted)}
.up-assets a:hover b{color:var(--brand)}
.up-assets b{color:#fff;font-weight:600;transition:.2s}
.up-assets i{width:1px;height:10px;background:rgba(255,255,255,.18)}
.up-vip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 4px;padding:14px;border-radius:11px;background:linear-gradient(120deg,rgba(247,215,116,.16),rgba(232,184,75,.07));border:1px solid rgba(247,215,116,.25);transition:.2s}
.up-vip:hover{border-color:rgba(247,215,116,.55);background:linear-gradient(120deg,rgba(247,215,116,.22),rgba(232,184,75,.1))}
.up-vip-t{font-size:14px;font-weight:700;color:#f3d98b}
.up-vip-d{font-size:11.5px;color:var(--muted);margin-top:3px}
.up-vip-btn{flex:none;background:linear-gradient(135deg,var(--gold),#e8b84b);color:#5a3b00;font-size:12px;font-weight:700;padding:7px 14px;border-radius:16px}
.up-menu{margin-top:6px}
.up-menu a{display:flex;align-items:center;gap:11px;padding:11px 4px;font-size:13.5px;color:#d5d5e2;border-radius:8px;transition:.15s}
.up-menu a:hover{color:#fff;background:rgba(255,255,255,.05)}
.up-menu svg{width:17px;height:17px;fill:currentColor;opacity:.75;flex:none}
.up-out{display:block;text-align:center;padding:13px 0;margin:4px -18px 0;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:var(--muted);transition:.15s}
.up-out:hover{color:var(--brand);background:rgba(255,255,255,.03)}
/* 腾讯式描边登录按钮（游客） */
.btn-login{flex:none;border:1px solid rgba(255,255,255,.85);color:#fff;border-radius:17px;padding:6px 20px;font-size:13px;transition:.2s}
.btn-login:hover{border-color:var(--brand);color:var(--brand)}
.m-nav{display:none;flex:1;gap:18px;overflow-x:auto;font-size:13.5px;color:var(--muted);scrollbar-width:none}
.m-nav::-webkit-scrollbar{display:none}
.m-nav a{flex:none;padding:4px 0}
.m-nav a.active{color:var(--brand);font-weight:600}
/* 个人中心（pg-user）：频道导航展开到顶部导航栏（桌面端同样显示，离开展示语境后仍可一键回到各频道） */
.pg-user .m-nav,.pg-play .m-nav{display:flex}
.nav-side{position:fixed;left:0;top:60px;bottom:0;width:168px;z-index:190;background:none;padding:14px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior:contain;direction:rtl /* 滚动条渲染在侧栏左缘（贴窗口边），子元素恢复 ltr */ /* 侧栏统一透明沉浸式：与首页幻灯/频道页头图黑色融为一体（腾讯式），不再出现频道页灰蓝实底与首页色差 */}
.nav-side>*{direction:ltr}
.nav-side::-webkit-scrollbar{width:6px}
.nav-side::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.nav-side::-webkit-scrollbar-track{background:transparent}
.nav-side a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;color:#b6bdcb;font-size:15.5px;transition:.2s;white-space:nowrap}
.nav-side a i{font-style:normal;width:20px;height:20px;flex:none;display:flex;align-items:center;justify-content:center}
.nav-side a i svg{width:19px;height:19px;display:block}
.nav-side a:hover{background:none;color:#fff}
.nav-side a:active{background:none;color:#fff}
.nav-side a.active{background:none;color:#4da8ff;font-weight:600}
/* 顶栏悬浮：非首页主体预留高度，首页幻灯直顶视口 */
.page-main{margin:0 0 0 168px;padding-top:60px}
/* iqiyi 式播放页：无左侧栏，内容全宽 */
.page-main.no-side{margin-left:0}
.pg-home .page-main{padding-top:0}
/* 腾讯式首页：幻灯全幅铺满视口（向左延伸至侧栏之下），左侧栏透明悬浮其上；
   下方板块仍从侧栏右侧开始，滚动时不会穿过透明侧栏 */
@media(min-width:1001px){
  .pg-home .hero-wrap{margin-left:-168px;width:calc(100% + 168px)}
}
/* 幻灯全幅页面（首页 pg-home / 带幻灯的频道页 pg-full）：幻灯直顶视口+铺满视口宽（侧栏本身已全局透明，无需再覆盖背景） */
.pg-full .page-main{padding-top:0}
@media(min-width:1001px){
  .pg-full .hero-wrap{margin-left:-168px;width:calc(100% + 168px)}
}
@media (max-width:1000px){
  .nav-side{display:none}
  .page-main{margin-left:0}
  .m-nav{display:flex}
  .search{max-width:44vw}
}
/* 701-1000px 窄桌面（电脑版缩窗口）：左侧栏保留并收窄为 64px 图标模式（文字隐藏），仅 ≤700px 才切手机布局隐藏侧栏。
   本块必须放在上面 ≤1000px 块之后：重叠区间（701-1000）同优先级后写者胜，覆盖隐藏/零边距/滑轨规则 */
@media (min-width:701px) and (max-width:1000px){
  .nav-side{display:flex;width:64px;padding:12px 5px;gap:2px}
  .nav-side a{justify-content:center;gap:0;padding:11px 0;font-size:0} /* font-size:0 隐藏裸文本节点，仅留图标 */
  .nav-side a i{width:22px;height:22px}
  .nav-side a i svg{width:21px;height:21px}
  /* 图标模式侧栏仅 64px，底栏版权/免责/广告合作等长文案无法横排（竖排成一字一行），整体隐藏——宽屏全量显示、≤700px 手机端侧栏本就隐藏，均不受影响 */
  .side-foot{display:none}
  .page-main{margin-left:64px}
  .m-nav{display:none} /* 频道已由侧栏图标承担，顶栏滑轨隐藏；播放页/用户中心（无侧栏）保留滑轨 */
  .pg-user .m-nav,.pg-play .m-nav{display:flex}
  .pg-home .hero-wrap,.pg-full .hero-wrap{margin-left:-64px;width:calc(100% + 64px)} /* 幻灯继续向左铺满至窗口缘 */
  /* 栅格反压回调：窄桌面内容区 ~936px，平板的 2 列规则会让海报卡过大——恢复自动增列/桌面列数 */
  .grid6{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
  .grid4{grid-template-columns:repeat(4,1fr)}
}
/* Hero */
.hero{position:relative;height:440px;overflow:hidden}
.hero-bg{width:100%;height:100%;object-fit:cover}
/* 渐变层：仅保留底部压暗（左侧黑渐变已按需求移除，文案用投影保证可读） */
.hero .g2{position:absolute;left:0;right:0;bottom:0;height:320px;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.8) 75%,#000 100%)}
/* 大图左右边缘暗化（vignette）：海报与页面两侧背景柔和过渡，消除硬切边 */
.hero-carousel .hc-item::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,0) 16%,rgba(0,0,0,0) 84%,rgba(0,0,0,.5))}
.hero-inner{position:absolute;left:0;right:0;bottom:48px}
.hero-inner .in{max-width:1200px;margin:0 auto;padding:0 40px}
.hero-tag{font-size:12px;color:var(--brand);letter-spacing:3px;margin-bottom:14px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
/* 幻灯主标题：书法楷体风（霞鹜文楷 webfont + 系统楷体兜底），贴近腾讯剧名 logo 观感 */
.hero h1{font-size:42px;letter-spacing:6px;margin-bottom:10px;text-shadow:0 2px 12px rgba(0,0,0,.65);font-family:"LXGW WenKai","Kaiti SC","STKaiti","KaiTi",serif;font-weight:400}
.hero-meta{font-size:13px;color:var(--text);margin-bottom:6px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.hero-actor{font-size:13px;color:#d6dae3;margin-bottom:10px;max-width:560px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.hero-desc{font-size:13px;color:var(--text);line-height:1.8;max-width:560px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 6px rgba(0,0,0,.65)}
/* 「立即播放」按钮：半透明白底胶囊 + 黑色三角（悬停时略提高不透明度） */
.btn-play{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.72);color:#101014;font-size:15px;font-weight:600;height:44px;padding:0 32px;border-radius:999px;transition:.2s;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.btn-play i{font-style:normal;font-size:13px;line-height:1}
.btn-play:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}
/* 操作行：立即播放 + 声音开关并排（随帧渲染于文案区内） */
.hero-ops{display:flex;align-items:center;gap:14px;margin-top:16px}
/* 声音开关：无圈纯图标（轻微投影保证亮背景可见），预览加载出画面后出现 */
.hc-mute{display:none;width:44px;height:44px;border:none;background:transparent;color:#fff;cursor:pointer;align-items:center;justify-content:center;padding:0;transition:.2s;filter:drop-shadow(0 1px 3px rgba(0,0,0,.65))}
.hc-mute:hover{opacity:.8}
.hc-mute svg{width:24px;height:24px;fill:currentColor;display:block}

/* ---------- 首页幻灯轮播（腾讯式：近全屏大图淡切 + 右下缩略条） ---------- */
.hero-carousel{position:relative;height:min(76vh,780px);min-height:520px}
.hero-carousel .hc-item{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease;z-index:1;cursor:pointer}
/* 底部静默带：文案/缩略图下方的深色图像带（多为截帧自带字幕区）不再触发幻灯跳转，光标恢复默认 */
.hc-deadzone{position:absolute;left:0;right:0;bottom:0;height:68px;z-index:4;cursor:default;background:transparent}
.hero-carousel .hc-item.on{opacity:1;visibility:visible;z-index:2}
.hc-bg{width:100%;height:100%;object-fit:cover;display:block}
/* 清晰度策略：无 16:9 横图时背景海报压暗模糊仅作氛围，右侧叠加原尺寸海报立牌（腾讯式），
   海报主体保持原始分辨率不再拉伸，文案压在立牌左侧互不遮挡 */
.hc-bg.blur{filter:blur(16px) brightness(.6);transform:scale(1.12)}
.hc-noslide{position:absolute;inset:0;pointer-events:none}
.hc-poster{position:absolute;right:5%;bottom:190px;height:min(70%,600px);aspect-ratio:2/3;object-fit:cover;object-position:center top;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.12);pointer-events:auto}
@media (max-width:1100px){.hc-poster{display:none}}
.hc-video{width:100%;height:100%;object-fit:cover;display:block}
/* 文案区下移：简介与「立即播放」行与右下缩略图同一高度带 */
/* 幻灯文案区：bottom 锚定内容向上生长，过长会钻进顶栏透明渐变区、被裁出"白线"伪影——
   下移锚点并限高（顶部距 carousel 顶 ≥92px），保证任何内容都保持在导航栏之下 */
.hero-carousel .hero-inner{bottom:76px;max-height:calc(100% - 92px);overflow:hidden;z-index:3}
/* 文案右侧让出海报带（hc-poster 竖版海报位于 right:5%），窄屏海报隐藏后恢复 */
.hero-carousel .hero-inner .in{padding-right:300px}
@media (max-width:1100px){.hero-carousel .hero-inner .in{padding-right:40px}}
/* 腾讯式缩略条：一屏固定 6 张（6×124+5×8=784），更多缩略图靠左右箭头平移查看。
   右对齐用 hc-pad 弹性占位（不能用 justify-content:flex-end——溢出落在 start 方向会成为不可滚动区域，导致箭头失效） */
.hc-list{position:absolute;right:68px;bottom:26px;z-index:5;display:flex;gap:8px;align-items:flex-end;max-width:min(784px,54vw);overflow-x:auto;pointer-events:none;scrollbar-width:none}
.hc-list::-webkit-scrollbar{display:none}
.hc-mstage{display:none} /* 手机端幻灯画面占位元素（默认隐藏无影响，≤700px 撑出 16:9 画面高度） */
.hc-pad{flex:1 1 0;min-width:0;pointer-events:none}
.hc-item2{pointer-events:auto;position:relative;flex:0 0 124px;width:124px;border:2px solid rgba(255,255,255,0);border-radius:8px;overflow:hidden;cursor:pointer;opacity:.72;transition:.25s;background:#0c0d13}
.hc-item2 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.hc-item2 b{display:block;font-size:12px;font-weight:400;color:#c3c8d4;padding:7px 8px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 剧集信息（更新至 X 集）：片名下一行的次要文字，不再用右上角角标 */
.hc-item2 span{display:block;font-size:11px;line-height:1.3;color:#9aa0b0;padding:0 8px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-item2:hover{opacity:1}
.hc-item2.on{opacity:1;border-color:#fff}
.hc-item2.on b{color:#fff;font-weight:600}
/* 当前帧缩略图底部停留进度条（15 秒走满） */
.hc-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.18);opacity:0;transition:opacity .3s}
.hc-prog i{display:block;height:100%;width:0;background:var(--brand)}
.hc-item2.on .hc-prog{opacity:1}
/* 大图左右切换箭头：跟随缩略条新位置（bottom:26px、整条约 142px 高）垂直居中于条带两侧 */
.hc-arrow{position:absolute;bottom:78px;z-index:6;width:38px;height:38px;border-radius:50%;border:none;background:rgba(0,0,0,.5);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:3px;transition:.2s}
.hc-arrow:hover{background:rgba(0,0,0,.85)}
.hc-arrow.l{right:calc(68px + min(784px,54vw) + 10px)}
.hc-arrow.r{right:20px}

/* ---------- 首页横幅广告位 ---------- */
.home-ad{position:relative;margin:0 0 26px;border-radius:8px;overflow:hidden;background:#12121a}
.home-ad img{width:100%;display:block;max-height:170px;object-fit:cover}
.home-ad video{width:100%;display:block;max-height:220px;object-fit:cover}
.home-ad .ad-tag{position:absolute;right:10px;top:10px;background:rgba(0,0,0,.55);color:#ddd;font-size:11px;padding:2px 8px;border-radius:3px;z-index:2;letter-spacing:1px}
/* 区块 */
.wrap{max-width:1500px;margin:0 auto;padding:0 30px 70px}
.sec{margin-top:54px}
/* 腾讯式频道胶囊行：快捷跳转 */
.pill-row{display:flex;gap:12px;margin:28px 0 0;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.pill-row::-webkit-scrollbar{display:none}
.pill{flex:none;padding:9px 24px;border-radius:21px;background:#14141c;color:#c9cdd8;font-size:14px;transition:.2s}
.pill:hover{color:#fff;background:#1f1f2b}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}
/* 板块标题右侧操作区：换一换 + 更多 */
.sec-ops{display:flex;gap:18px;align-items:center;flex:none}
.swap{cursor:pointer;user-select:none;transition:color .2s}
.swap:hover{color:var(--brand)}
.swap.spinning{animation:swp .7s linear infinite}
@keyframes swp{to{transform:rotate(360deg)}}
.sec-head h2,.page-title h2{font-size:22px;letter-spacing:1px}
.accent{display:block;width:36px;height:3px;border-radius:2px;background:var(--brand);margin-top:10px}
.more{font-size:12.5px;color:var(--muted)}
.more:hover{color:var(--brand)}
.count{font-size:12px;color:var(--muted);margin-left:12px}
.page-title{display:flex;align-items:flex-end;margin:34px 0 22px}
.page-title .accent{width:36px;height:3px;margin:0 0 6px 14px;display:inline-block}
/* 卡片 */
.grid6{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px} /* iqiyi 式：按容器宽度自动增列（海报加大：minmax 320，~1724 起 5 列，~2050 起 6 列） */

/* ---- iqiyi 风格首页：幻灯+侧广告 / 横向滚动板块行 ---- */
.hero-wrap{display:flex;gap:14px;align-items:stretch}
.hero-wrap .hero-carousel{flex:1;min-width:0}
.hero-side{width:300px;flex:none;display:flex;flex-direction:column}
.hero-side .side-ad{position:relative;flex:1;background:#141821;border-radius:14px;overflow:hidden;min-height:220px;border:1px solid #22283a}
.hero-side .side-ad img,.hero-side .side-ad video{width:100%;height:100%;object-fit:cover;display:block}
.hero-side .side-ad .ad-tag{position:absolute;right:10px;top:10px;background:rgba(0,0,0,.55);color:#ddd;font-size:11px;padding:2px 8px;border-radius:3px;z-index:2;letter-spacing:1px}
.film-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none} /* 横滑行隐藏滚动条（曾 thin 显条，用户要求取消；滚动/触摸/拖拽能力保留） */
.film-row::-webkit-scrollbar{display:none} /* Chrome/Edge/国产壳老内核兜底（新版已认 scrollbar-width:none） */
.film-row .card{flex:0 0 calc((100% - 48px)/4);min-width:0}
@media(max-width:1000px){
  .hero-wrap{flex-direction:column}
  .hero-side{width:100%}
  .hero-side .side-ad{min-height:120px}
  .film-row .card{flex:0 0 44%}
}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.card{cursor:pointer;min-width:0}
/* iqiyi 式横向海报卡：16:9 缩略图 + 标题/信息右侧留白压缩 */
.thumb{position:relative;aspect-ratio:16/9;width:100%;border-radius:var(--radius);overflow:hidden;background:var(--card2)}
.thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .thumb img{transform:scale(1.05)}
/* 海报评分角标已全站取消（score-b 移除） */
/* VIP 圆角矩形角标：右上角悬浮；点播价角标紧贴海报右下角（左上带圆弧，压在底部渐变条上） */
.vip-b{position:absolute;top:8px;right:8px;z-index:3;background:linear-gradient(135deg,var(--gold),#e8a33d);color:#3d2b00;font-size:11px;font-weight:800;padding:2px 8px;border-radius:6px;letter-spacing:1px;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.pay-b{position:absolute;bottom:0;right:0;z-index:3;background:linear-gradient(135deg,#8fd0ff,#3d8bff);color:#04264f;font-size:11px;font-weight:800;padding:3px 10px;border-radius:10px 0 0 0;box-shadow:0 2px 6px rgba(0,0,0,.4);white-space:nowrap}
/* 已购态：24h 租看有效期内，价格角标切换为绿色「已购·剩X小时」 */
.pay-b.owned{background:linear-gradient(135deg,#8affc1,#2ecc71);color:#04331a}
/* 观看历史行内状态徽标（与海报角标同视觉语言）：青蓝=待购，绿色=已购剩余时间内 */
.h-tag{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:5px;background:linear-gradient(135deg,#8fd0ff,#3d8bff);color:#04264f;vertical-align:2px;margin-left:6px;white-space:nowrap}
.h-tag.owned{background:linear-gradient(135deg,#8affc1,#2ecc71);color:#04331a}
.remark{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;font-size:11px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.play-glow{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;background:rgba(0,0,0,.32);transition:.25s;z-index:1}
.card:hover .play-glow{opacity:1}
.play-glow span{width:44px;height:44px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;color:#fff}
/* 频道筛选栏（平铺标签组） */
/* 频道页筛选条吸顶（用户要求：滑动到顶部导航时不再滑动）：负 margin 拉全宽遮住两侧滚过内容；背景与页面同色，常态隐形、吸附滚动时遮挡；手机端顶栏两行高度不定，恢复不吸顶 */
.filter-bar{display:flex;flex-direction:column;gap:10px;margin:0 -30px 22px;padding:10px 30px 12px;position:sticky;top:60px;z-index:90;background:var(--bg);border-bottom:1px solid rgba(255,255,255,.04)}
.fg{display:flex;gap:10px;align-items:flex-start}
.fg-label{flex:none;width:42px;font-size:12.5px;color:var(--muted);line-height:27px}
.fg-items{display:flex;gap:6px;flex-wrap:wrap}
.fg-item{display:inline-block;padding:4px 13px;border-radius:15px;background:var(--card);color:var(--muted);font-size:12.5px;line-height:19px;transition:.15s}
.fg-item:hover{color:var(--brand)}
.fg-item.on{background:var(--brand);color:#fff;font-weight:600}
/* 筛选行 TOP N 折叠：超出部分隐藏，行尾「更多」展开 */
.fg-extra{display:none}
.fg.open .fg-extra{display:inline-block}
.fg-more{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:12.5px;line-height:27px;color:#7a7aff;cursor:pointer;padding:0 8px;user-select:none}
.fg-more i{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .2s}
.fg.open .fg-more i{transform:rotate(180deg)}
.fg-more:hover{color:#9a9aff}
.card h4{font-size:14px;margin-top:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* iqiyi 式卡片 meta 行：已看 X/Y 集（有观看记录）或 年份 · 地区 */
.card-meta{font-size:11.5px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-card .card-meta{margin-top:3px}
.pv-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity .35s}
.pv-video.ready{opacity:1}
/* iqiyi 式卡片声音开关：圆形半透明按钮（与幻灯声音开关同款图标），首帧就绪后出现于右下角 */
.pv-sound{position:absolute;right:8px;bottom:34px;z-index:4;width:30px;height:30px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;display:none;align-items:center;justify-content:center;cursor:pointer;padding:0;backdrop-filter:blur(2px);transition:background .2s}
.pv-sound:hover{background:rgba(0,0,0,.8)}
.pv-sound svg{width:16px;height:16px;fill:currentColor;display:block}
/* 海报加追按钮（iqiyi 式「+追」）：hover 海报浮现于左上角；已追常亮品牌色；点击不触发卡片跳转（JS stopPropagation） */
.card-fol{position:absolute;top:8px;left:8px;z-index:4;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px 0 7px;border-radius:13px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;opacity:0;transform:translateY(-4px);transition:.18s;cursor:pointer;backdrop-filter:blur(2px);pointer-events:none}
.card:hover .card-fol{opacity:1;transform:none;pointer-events:auto}
.card-fol:hover{border-color:#fff;background:rgba(0,0,0,.8)}
.card-fol i{font-style:normal;font-size:13px;line-height:1}
.card-fol em{font-style:normal;line-height:1}
.card-fol.on{border-color:rgba(150,195,255,.6);background:rgba(10,16,28,.5);color:#9cc4ff} /* 已在追：透明胶囊+浅蓝文字（用户指定，弃红色底） */
.card-fol.on:hover{border-color:rgba(150,195,255,.95);background:rgba(10,16,28,.72);filter:none}
/* 幻灯激活帧的影片片段预览：置于渐变层之上、左侧文案之下 */
.hc-item .pv-live{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity .35s}
.hc-item .pv-live.ready{opacity:1}
/* iqiyi 式瀑布流加载指示 */
.wf-loading{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:13px;padding:26px 0}
.wf-loading i{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:wfs 0.8s linear infinite}
/* 频道筛选 AJAX 换区过渡：替换瞬间半透明，防内容闪变 */
#chMain{transition:opacity .18s ease}
#chMain.ch-swap{opacity:.35}
@keyframes wfs{to{transform:rotate(360deg)}}
/* 排行 + 下载 */
.rank-row{margin-top:54px;display:grid;grid-template-columns:2fr 1fr;gap:20px}
.rank-box{background:var(--card);border-radius:16px;padding:22px}
.rank-box h3,.dl-mini h3{font-size:15px;margin-bottom:12px;padding-left:10px;border-left:3px solid var(--brand)}
.rank-item{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:13px}
.rank-item .no{width:18px;text-align:center;font-style:italic;font-weight:700;color:var(--muted)}
.rank-item:nth-of-type(1) .no,.rank-item:nth-of-type(2) .no,.rank-item:nth-of-type(3) .no{color:var(--brand)}
.rank-item a{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hot-num{font-size:11.5px;color:var(--muted)}
.dl-mini{background:var(--card);border-radius:16px;padding:22px}
.dl-mini p{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:12px}
.btn-dl{display:inline-block;border:1px solid var(--line);border-radius:8px;padding:8px 16px;font-size:12px;margin:0 8px 8px 0}
.btn-dl:hover{border-color:var(--brand);color:var(--brand)}
.mini-note{font-size:11px;color:#5c5c74}
.empty{color:var(--muted);padding:40px 0;text-align:center;grid-column:1/-1}
.pager{display:flex;gap:8px;justify-content:center;margin-top:26px}
.pager a{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--card);font-size:13px;color:var(--muted);padding:0 10px}
.pager a.on{background:var(--brand);color:#fff}
.pager .dots{min-width:20px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
/* 播放页 */
/* iqiyi 式影院模式播放页：整页不滚动（html/body 双级 overflow hidden，滚轮/滚动条不再控制页面），
   顶部导航独占 60px，其下左列=直角播放器、右栏=独立滚动可折叠，两者同起点同高度 */
.play-layout{display:flex;align-items:stretch;position:relative}
html.pg-play{height:100%;overflow:hidden}
html.pg-play body{height:100%;overflow:hidden;margin:0} /* html/body 双级锁定：滚轮与滚动条彻底无法滚动页面 */
html.pg-play .page-main{padding-top:60px;height:100%;box-sizing:border-box} /* 顶部导航独占 60px：播放器与侧栏同起点同高度，播放器不被导航遮挡 */
.pg-play .wrap{max-width:none;height:100%;padding:0}
.pg-play .play-layout{height:100%}
.play-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#000}
.player{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;touch-action:manipulation} /* manipulation：禁 iOS 双击缩放手势（保留滚动），双击全屏不被系统手势抢走 */
.pg-play .player{flex:1;aspect-ratio:auto;height:auto;border-radius:0} /* 播放页圆角取消改直角，高度占满左列 */
.pg-play .vip-gate{aspect-ratio:auto;flex:1;border-radius:0;border-width:0 0 0 1px}
.pg-play .side{width:372px;flex:none;box-sizing:border-box;height:100%;overflow-y:auto;overflow-x:hidden;padding:14px 0 16px 12px;background:#0d0d14;transition:margin-right .28s ease;scrollbar-width:none} /* 选集侧栏贴右缘零边距（与左导航栏同款沉浸）：右内边距归零 + 滚动条隐藏零占位，滚轮滚动不受影响 */
.pg-play.side-fold .side{margin-right:-372px} /* 折叠：侧栏滑出，播放器 flex:1 自动占满 */
/* 右栏折叠竖钮：贴侧栏左缘（半嵌在播放器上），折叠后贴窗口右缘 */
.side-toggle{position:absolute;top:50%;transform:translateY(-50%);right:372px;width:18px;height:64px;z-index:40;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #23233a;border-right:none;border-radius:10px 0 0 10px;background:rgba(13,13,20,.85);color:var(--muted);cursor:pointer;transition:right .28s ease,background .2s,color .2s}
.side-toggle:hover{background:rgba(13,13,20,.98);color:#fff}
.side-toggle i{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid currentColor;transition:transform .28s}
.pg-play.side-fold .side-toggle{right:0}
.pg-play.side-fold .side-toggle i{transform:rotate(180deg)}
#video{width:100%;height:100%;object-fit:contain;background:#000;transition:width .35s ease,height .35s ease,transform .35s ease}
.dm-stage{position:absolute;inset:0;overflow:hidden;z-index:3;pointer-events:none}
/* 弹幕：容器穿透、弹幕本体可交互（悬停截停 + 透明气泡 + 赞/举报） */
.dm{position:absolute;white-space:nowrap;font-size:15px;line-height:22px;pointer-events:auto;user-select:none;text-shadow:0 1px 2px rgba(0,0,0,.8);will-change:transform}
.dm b{font-weight:400}
.dm.vip{font-size:16px}
/* 我的弹幕：红描边标识（自己不可选中，无气泡无操作组） */
.dm.mine{outline:1px solid rgba(255,46,77,.85);outline-offset:3px;border-radius:3px}
/* 获赞徽标：心形 SVG + 数量 */
.dm-likes{font-style:normal;display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:11.5px;color:#ffb3c0;vertical-align:1px}
.dm-likes svg{width:12px;height:12px;fill:#ff5f7a;display:block}
.dm-likes u{text-decoration:none}
/* 悬停选中（腾讯式）：整条弹幕裹进深色圆角胶囊；padding+负 margin 使文字位置不动、胶囊向外扩 */
.dm.pop{background:rgba(22,22,26,.92);border-radius:999px;padding:7px 16px;margin:-7px -16px;box-shadow:0 4px 16px rgba(0,0,0,.4);z-index:5}
/* 操作组（赞/举报）：图标内联在文字右侧，仅非本人弹幕悬浮时出现 */
.dm-ops{display:none;margin-left:12px}
.dm.pop .dm-ops{display:inline-flex;align-items:center;gap:14px}
.dm-ops b{display:inline-flex;align-items:center;gap:4px;font-weight:400;font-size:12.5px;color:#fff;cursor:pointer;opacity:.95}
.dm-ops b svg{width:16px;height:16px;display:block}
.dm-ops b u{text-decoration:none}
.dm-ops b.like:hover,.dm-ops b.like.on{color:#ff5f7a}
.dm-ops b.rep:hover,.dm-ops b.rep.on{color:#ffb84d}
/* 全局公告弹幕（后台管理员发送、整站轮播）：文字前品牌渐变「公告」徽标 */
.dm .dm-gt{display:none}
.dm.glob .dm-gt{display:inline-block;font-style:normal;font-size:10.5px;line-height:1;padding:3px 7px;border-radius:5px;background:linear-gradient(135deg,#ff7a1a,var(--brand));color:#fff;font-weight:700;margin-right:8px;vertical-align:2px;text-decoration:none}
.dm.glob b{font-weight:600}
/* 七彩流光弹幕（VIP 专属，后台色板 rainbow 值）：文字渐变滚动动画 */
.dm.dm-rainbow b{background:linear-gradient(90deg,#ff4d4d,#ff9a00,#ffe600,#37d67a,#4a9dff,#9b59ff,#ff6bc1,#ff4d4d);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:dmRainbow 3s linear infinite}
@keyframes dmRainbow{from{background-position:0 0}to{background-position:-200% 0}}
.next-tip{position:absolute;right:16px;bottom:70px;z-index:6;background:rgba(0,0,0,.75);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:13px;display:flex;gap:10px;align-items:center}
.next-tip button{border:none;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:12px}
#nextGo{background:var(--brand);color:#fff}#nextCancel{background:var(--line);color:#bbb}
.ad-ov{position:absolute;inset:0;z-index:7;background:linear-gradient(135deg,#10101c,#1d1d32);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center}
.ad-tag{font-size:11px;letter-spacing:3px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 12px}
.ad-box{font-size:20px;letter-spacing:4px;color:#8a8aa5}
.ad-skip{background:rgba(0,0,0,.5);border:1px solid #44445c;color:#ddd;border-radius:20px;padding:8px 22px;font-size:13px;cursor:pointer}
/* ---------- iqiyi 式单条控制栏：细进度条(右端总时长) + 一行控件（弹幕输入框居中） ---------- */
.ctrl{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:30px 16px 8px;background:linear-gradient(transparent,rgba(0,0,0,.55) 30%,rgba(0,0,0,.88));transition:opacity .3s}
/* 左下角系统提醒浮动条（连播/静音/续播位置/操作反馈）：栈式最多 3 条，2.8s 淡出；不挡点击、不随弹幕开关消失 */
.p-toast-strip{position:absolute;left:14px;bottom:64px;z-index:6;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(72%,420px)}
.p-toast{display:flex;align-items:stretch;gap:9px;background:rgba(10,10,16,.82);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 13px 8px 10px;font-size:12.5px;color:#e8e8ee;line-height:1.45;opacity:0;transform:translateY(8px);transition:opacity .24s,transform .24s;backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(0,0,0,.35)}
.p-toast i{display:block;width:3px;border-radius:2px;flex:none}
.p-toast.in{opacity:1;transform:translateY(0)}
.p-toast.out{opacity:0;transform:translateY(4px)}
/* 顶部标题栏：唤出控件时与控制栏同现（片名 + 集期），不拦截画面点击 */
.ptitle{position:absolute;left:0;right:0;top:0;z-index:4;display:flex;align-items:baseline;gap:12px;padding:14px 18px 30px;background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.32) 55%,transparent);opacity:1;pointer-events:none;transition:opacity .3s}
.ptitle b{color:#fff;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}
.ptitle span{color:rgba(255,255,255,.8);font-size:13px;white-space:nowrap;flex:none}
.prog-wrap{display:flex;align-items:center;gap:12px;margin-bottom:4px;position:relative}
/* 进度条悬停预览：时间 + 该时间点画面缩略（隐藏预览 video seek 取帧） */
.pv-tip{position:absolute;bottom:20px;width:160px;margin-left:-80px;display:none;z-index:30;pointer-events:none}
.pv-tip.on{display:block}
.pv-screen{width:160px;height:90px;border-radius:8px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.18);position:relative}
.pv-screen canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:#000} /* 缓存帧/兜底帧层：video 未就绪时露出的画面 */
.pv-screen video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s}
.pv-tip.ready .pv-screen video{opacity:1}
.pv-tip.cache .pv-screen video{opacity:0} /* 预取 seek 期间：藏 video 防闪错帧，canvas 继续显示悬停真实帧 */
.pv-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted)}
.pv-tip.ready .pv-load,.pv-tip.cache .pv-load{display:none}
.pv-time{display:block;text-align:center;font-size:12px;color:#fff;margin-top:6px;text-shadow:0 1px 3px rgba(0,0,0,.85)}
#timeText{font-size:12px;color:var(--text);flex:none;font-variant-numeric:tabular-nums}
.progress{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.25);position:relative;cursor:pointer;transition:height .15s}
.progress:hover{height:5px}
.progress i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:var(--brand)}
.progress b{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.5);transition:transform .15s}
.progress:hover b{transform:translate(-50%,-50%) scale(1.25)}
.ctrl-row{display:flex;align-items:center;gap:16px;font-size:12px;color:rgba(255,255,255,.82);height:34px} /* 行高锁定：关弹幕时 JS 隐藏 32px 输入框，若无固定高度整条控制条会塌陷跳变 */
.ctrl-row .ic{cursor:pointer;color:rgba(255,255,255,.78);transition:color .2s;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}
.ctrl-row .ic svg{width:18px;height:18px;fill:currentColor;display:block}
.ctrl-row .ic:hover{color:#fff}
.ctrl-row .ic.muted{color:var(--brand)}
.ctrl-row .ic.on{color:var(--brand)} /* 网页全屏等激活态 */
/* iqiyi 式弹幕图标键：「弹」字图标 + 右下角状态件（开关圆钮 / 设置齿轮） */
.dm-ctl,.ctrl #dmSet{position:relative;cursor:pointer;user-select:none;line-height:1;color:rgba(255,255,255,.9);transition:color .15s}
.dm-ctl:not(.on){color:rgba(255,255,255,.4)}
.dm-ctl:hover,.ctrl #dmSet:hover{color:#fff}
.dm-ic{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;font-style:normal}
/* 开关角标：胶囊条形迷你滑块（蓝=开/灰=关，白点滑块）；齿轮与其同高度，均覆盖在「弹」字右下角 */
.dm-ctl .sw{position:absolute;right:-3px;bottom:-2px;width:14px;height:8px;border-radius:4px;background:rgba(255,255,255,.4);box-shadow:0 0 0 2px var(--bg2);transition:background .15s}
.dm-ctl .sw::after{content:"";position:absolute;left:1px;top:1px;width:6px;height:6px;border-radius:50%;background:#fff;transition:transform .15s}
.dm-ctl.on .sw{background:#2a90ff}
.dm-ctl.on .sw::after{transform:translateX(6px)}
.ctrl #dmSet{background:none;border:none;padding:0;display:block;width:24px;height:24px;flex:none}
.ctrl #dmSet .gear{position:absolute;right:-3px;bottom:-2px;width:9px;height:9px;fill:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9));transition:transform .15s}
.ctrl #dmSet:hover .gear{transform:scale(1.12)}
/* 弹幕输入框：居中药丸，Enter 或按钮发送 */
.dm-input{flex:1;max-width:460px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border-radius:17px;padding:3px 4px 3px 14px;height:32px;margin:0 auto;min-width:120px}
/* 弹幕富文本编辑器（原 input 升级 contenteditable）：表情以 <img> 内联所见即所得 */
.dm-input .dm-rich{flex:1;min-width:0;outline:none;color:#fff;font-size:12.5px;white-space:nowrap;overflow:hidden;caret-color:#fff;word-break:break-all}
.dm-input .dm-rich:empty::before{content:attr(data-ph);color:rgba(255,255,255,.45);pointer-events:none}
.dm-input .dm-rich img.dm-em-i{display:inline;width:22px;height:22px;vertical-align:-6px;margin:0 1px;pointer-events:none} /* display:inline 抵消全局 img{display:block}：块级表情会独占一行造成"自动换行" */
.dm-input button{background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:14px;padding:5px 14px;font-size:12px;cursor:pointer;flex:none}
.dm-input button:hover{background:rgba(0,0,0,.68);border-color:rgba(255,255,255,.35)}
/* 登录后「发送/设置」按钮仅在输入框聚焦（或设置面板开启）时显示，游客「登录」按钮常显 */
/* 发送/设置键默认隐藏；鼠标悬停输入区 / 聚焦输入框 / 面板开启（.open）时显示 */
.dm-input #dmSend,.dm-input #dmFace{display:none}
.dm-input #dmFace{background:none;border:none;padding:3px 4px;border-radius:10px;opacity:.85;transition:opacity .15s,transform .15s}
.dm-input #dmFace:hover{background:none;border:none;opacity:1;transform:scale(1.12)}
.dm-input #dmFace svg{width:21px;height:21px;fill:#fff;display:block}
.dm-input:focus-within #dmSend,.dm-input:focus-within #dmFace,
.dm-input:hover #dmSend,.dm-input:hover #dmFace,
.dm-input.open #dmSend,.dm-input.open #dmFace{display:block}
/* 弹幕样式设置面板（后台色板驱动）：颜色/表情各单行，左右箭头横向滚动截断。
   bottom 微升避免贴住控制栏；内边距加大让标题不贴边 */
.fly.dm-panel{padding:14px 18px 15px;width:330px;box-sizing:border-box;cursor:default;bottom:70px} /* 加 .fly 前缀抬高优先级：否则被后方 .fly 的 padding:6px 0 覆盖导致内容贴边 */
.dm-panel.dm-setp{width:340px;padding:16px 20px 18px} /* B 站式弹幕显示设置：标签+滑条+数值行式布局，内边距加宽留白 */
.dm-panel::after{content:"";position:absolute;left:0;right:0;top:100%;height:24px} /* 底部隐形桥：鼠标从面板移到设置键/输入框不触发离开销毁 */
.dm-panel .dm-p-h{font-size:13.5px;font-weight:600;color:rgba(255,255,255,.78);margin:2px 0 10px;cursor:default}
.dm-panel .dm-p-row{display:flex;align-items:center;gap:4px;margin-bottom:12px}
.dm-panel .dm-p-row:last-child{margin-bottom:0}
.dm-panel .dm-arr{flex:none;width:16px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-style:normal;color:rgba(255,255,255,.5);cursor:pointer;user-select:none;text-decoration:none}
.dm-panel .dm-arr:hover{color:#fff}
.dm-panel .dm-p-colors,.dm-panel .dm-p-emoji,.dm-panel .dm-p-ava{flex:1;min-width:0;display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px;scroll-behavior:smooth}
.dm-panel .dm-p-colors::-webkit-scrollbar,.dm-panel .dm-p-emoji::-webkit-scrollbar,.dm-panel .dm-p-ava::-webkit-scrollbar{display:none}
.dm-panel .dm-c{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:13px;font-size:12px;font-style:normal;cursor:pointer;user-select:none;white-space:nowrap;flex:none}
.dm-panel .dm-c.on{box-shadow:0 0 0 2px var(--brand)}
.dm-panel .dm-c u{font-size:9px;line-height:1;padding:2px 3px;border-radius:3px;background:rgba(127,127,127,.35);text-decoration:none}
.dm-panel .dm-c.lock{opacity:.4;filter:grayscale(.7)}
.dm-panel .dm-e{position:relative;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:400;cursor:pointer;flex:none}
.dm-panel .dm-e:hover{background:rgba(255,255,255,.18)}
.dm-panel .dm-e.lock{opacity:.4;filter:grayscale(.7)}
.dm-panel .dm-e u{position:absolute;right:-3px;bottom:-3px;font-size:8px;line-height:1;padding:2px;border-radius:4px;background:var(--gold);color:#5a4a00;text-decoration:none;font-style:normal}
/* 图片表情（后台 upload/emoji 上传）：弹层内圆形钮内适配 + 弹幕文本内联适配 */
.dm-panel .dm-e img{width:26px;height:26px;object-fit:contain;border-radius:6px}
/* 演员头像选择条：圆形照片钮，选中品牌色描边；VIP 锁定灰显（样式仿 .dm-e） */
.dm-panel .dm-a{position:relative;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;overflow:visible}
.dm-panel .dm-a img{width:30px;height:30px;object-fit:cover;border-radius:50%}
.dm-panel .dm-a:hover{box-shadow:0 0 0 1.5px rgba(255,255,255,.45)}
.dm-panel .dm-a.on{box-shadow:0 0 0 2px var(--brand)}
.dm-panel .dm-a.lock{opacity:.4;filter:grayscale(.7)}
/* 七彩色胶囊：渐变底（无纯色背景），白字加投影保证可读 */
.dm-panel .dm-c.rainbow{background:linear-gradient(90deg,#ff4d4d,#ff9a00,#ffe600,#37d67a,#4a9dff,#9b59ff);text-shadow:0 1px 2px rgba(0,0,0,.55)}
/* B 站式设置区：标题+重置，标签+渐变滑条+右侧数值（滑条渐变由 JS paintRange 内联） */
.dm-panel .dm-p-h2{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:#fff;margin:2px 0 16px}
.dm-panel .dm-reset{font-style:normal;font-size:12px;font-weight:400;color:rgba(255,255,255,.85);background:rgba(255,255,255,.14);border-radius:4px;padding:4px 14px;cursor:pointer}
.dm-panel .dm-reset:hover{background:rgba(255,255,255,.24);color:#fff}
.dm-panel .dm-p-sr{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.dm-panel .dm-p-sr:last-child{margin-bottom:0}
.dm-panel .dm-p-sr>span{flex:none;width:60px;font-size:12.5px;color:rgba(255,255,255,.85)}
.dm-panel .dm-p-val{flex:none;width:44px;text-align:right;font-size:12px;font-weight:400;color:rgba(255,255,255,.85)}
.dm-panel .dm-p-sr input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;outline:none;cursor:pointer;background:rgba(255,255,255,.16)}
.dm-panel .dm-p-sr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#4fe08d;border:2px solid #fff;box-sizing:border-box}
.dm-panel .dm-p-sr input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#4fe08d;border:2px solid #fff;box-sizing:border-box}
/* 公告浮窗（截停公告弹幕时弹出）：跟随弹幕位置，深色卡片，不拦截弹幕层交互 */
.dm-npop{position:absolute;z-index:12;display:none;max-width:min(460px,82%);box-sizing:border-box;padding:10px 14px 11px;border-radius:12px;background:rgba(12,12,20,.95);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 40px rgba(0,0,0,.55);color:#fff;font-size:13px;line-height:1.7;pointer-events:none;animation:dmnIn .22s ease}
.dm-npop.on{display:block}
.dm-npop u{display:inline-block;font-style:normal;font-size:10.5px;line-height:1;padding:3px 7px;border-radius:5px;background:linear-gradient(135deg,#ff7a1a,var(--brand));color:#fff;font-weight:700;margin:3px 8px 0 0;vertical-align:1px;text-decoration:none}
.dm-npop span{word-break:break-all}
.dm .dm-em{display:inline;height:1.25em;vertical-align:-0.22em;margin:0 2px} /* display:inline 抵消全局 img{display:block}：弹幕内表情与文字同行 */
.dm .dm-ava{display:inline;width:1.45em;height:1.45em;border-radius:50%;object-fit:cover;vertical-align:-0.28em;margin:0 4px 0 0;box-shadow:0 0 0 1px rgba(255,255,255,.3)} /* 演员头像随弹幕上屏：同样必须 inline 抵消全局 img block */
/* 倍速/清晰度：iqiyi 式纯文字按钮 */
.ctrl-row .txt-btn{cursor:pointer;color:rgba(255,255,255,.78);font-size:13px;white-space:nowrap;transition:color .2s}
.ctrl-row .txt-btn:hover{color:#fff}
.ctrl-row .txt-btn.on{color:#fff}
/* 音量：悬停图标展开滑条（触屏设备常显） */
.vol-wrap{display:flex;align-items:center;gap:6px}
.ctrl-row .gap{margin-left:auto}
/* 控制条选集弹层（腾讯式）：点击「选集」按钮在控制条上方展开，可切播放版本 */
.ep-pop-wrap{position:relative;display:inline-flex}
.ep-pop{position:absolute;right:-60px;bottom:36px;width:min(420px,80vw);max-height:320px;background:rgba(12,12,20,.96);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px 14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.ep-pop[hidden]{display:none}
.ep-pop-tabs{display:flex;gap:14px;margin-bottom:10px;flex:none;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}
.ep-pop-tabs a{font-size:12.5px;color:rgba(255,255,255,.6);cursor:pointer;white-space:nowrap}
.ep-pop-tabs a.on{color:var(--brand);font-weight:700}
.ep-pop-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.ep-pop-grid.open{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.ep-pop-grid .ep-more{grid-column:1/-1;margin-top:2px}
.ep-pop-grid.ep-pop-hide{display:none}
.ep-pop-grid .ep{background:rgba(255,255,255,.08)}
.ep-pop-grid .ep:hover{background:rgba(255,255,255,.16);color:#fff}
.ep-pop-grid .ep.cur{background:var(--brand);color:#fff}
.player.idle .ep-pop{opacity:0;pointer-events:none}
/* 弹幕公告：播放开始时顶部展示一次（0 纯文字横幅 / 1 链接横幅 / 2 居中浮窗），不入弹幕流 */
.dm-notice-bar{position:absolute;left:0;right:0;top:0;z-index:8;text-align:center;padding:9px 46px;font-size:13px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.45) 70%,transparent);animation:dmnIn .4s ease;transition:opacity .4s}
.dm-notice-bar.out{opacity:0;pointer-events:none}
.dm-notice-bar.link a{color:#ffd04d;font-weight:600}
.dm-notice-bar.link a:hover{text-decoration:underline}
.player.idle .dm-notice-bar{opacity:0}
.player.idle .dm-notice-bar.out{opacity:0}
@keyframes dmnIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.dm-notice-float{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;pointer-events:none}
.dm-notice-float .dmnf-box{pointer-events:auto;display:flex;align-items:center;gap:14px;max-width:min(560px,86%);padding:18px 22px;border-radius:14px;background:rgba(12,12,20,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 50px rgba(0,0,0,.55);animation:dmnIn .35s ease}
.dm-notice-float .dmnf-txt{color:#fff;font-size:14.5px;line-height:1.6;word-break:break-all}
.dm-notice-float .dmnf-x{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.dm-notice-float .dmnf-x:hover{background:rgba(255,255,255,.22)}
/* 自动播放被拒时的点击播放遮罩 */
.play-mask{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);cursor:pointer}
.play-mask span{color:#fff;font-size:16px;border:1px solid rgba(255,255,255,.55);border-radius:24px;padding:12px 32px;background:rgba(0,0,0,.55)}
/* 空闲自动隐藏：控件/跳过按钮/光标全部淡出 */
.player.idle{cursor:none}
/* 卡顿缓冲提示（player.js waiting 事件挂载，恢复自动移除） */
.nxh-buf{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;display:flex;align-items:center;gap:9px;padding:11px 20px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:13.5px;pointer-events:none;backdrop-filter:blur(4px)}
.nxh-buf i{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:nxbSpin .8s linear infinite;flex:none}
@keyframes nxbSpin{to{transform:rotate(360deg)}}
/* iqiyi 式悬浮控制面板（倍速/清晰度/播放设置/音量竖条，player.js 动态挂载） */
.fly{position:absolute;right:18px;bottom:62px;z-index:8;background:rgba(18,18,26,.94);border-radius:10px;padding:6px 0;min-width:120px;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,.5);backdrop-filter:blur(6px);animation:flyIn .18s}
@keyframes flyIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fly a{color:rgba(255,255,255,.85);font-size:13px;padding:8px 16px;cursor:pointer;text-decoration:none;white-space:nowrap;display:flex;justify-content:space-between;align-items:center;gap:12px}
.fly a:hover{background:rgba(255,255,255,.1)}
.fly a.on{color:#fff;font-weight:600}
/* VIP 试看：角标 + 结束浮层 */
.trial-tag{position:absolute;top:14px;right:14px;z-index:30;display:flex;gap:6px;align-items:center;padding:5px 12px;border-radius:999px;background:rgba(0,0,0,.62);backdrop-filter:blur(4px);font-size:12px;color:var(--gold2);border:1px solid rgba(255,215,106,.35);pointer-events:none}
.trial-tag b{font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.trial-ov{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.82);backdrop-filter:blur(3px)}
.trial-ov .to-card{width:min(420px,86%);padding:34px 30px 26px;border-radius:18px;background:linear-gradient(160deg,var(--card2),#14141d);border:1px solid rgba(255,215,106,.25);text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.6)}
.trial-ov .to-crown{width:54px;height:54px;margin:0 auto 14px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;color:#1a1a10;background:linear-gradient(135deg,var(--gold2),#ffaa2b)}
.trial-ov h3{font-size:19px;color:#fff;margin:0 0 10px}
.trial-ov p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 18px}
.trial-ov .to-ops{display:flex;gap:12px;justify-content:center}
.trial-ov .to-btn{display:inline-block;padding:11px 26px;border-radius:10px;font-size:14px;font-weight:600;color:#1a1a10;background:linear-gradient(135deg,var(--gold2),#ffaa2b);border:none;text-decoration:none;cursor:pointer}
.trial-ov .to-btn.ghost{background:none;color:var(--muted);border:1px solid #2c2c3a}
.trial-ov .to-note{font-size:11.5px;margin:16px 0 0;color:rgba(139,139,158,.7)}
/* 音量竖向悬浮窗（悬停音量图标弹出） */
.fly.vol{right:6px;bottom:54px;min-width:0;width:46px;height:150px;padding:10px 0;align-items:center;justify-content:center;gap:4px}
.fly.vol b{color:#fff;font-size:11px;font-weight:500}
.fly.vol .vslide{position:relative;width:22px;height:118px}
.fly.vol .vslide input{position:absolute;left:50%;top:50%;width:110px;transform:translate(-50%,-50%) rotate(-90deg);accent-color:var(--brand);cursor:pointer;margin:0}
.player.idle .ctrl{opacity:0;pointer-events:none}
/* ---------- 播放器右键菜单（问题反馈 / 画中画 / 版本号） ---------- */
.ctx-menu{position:absolute;z-index:20;min-width:170px;background:rgba(18,18,26,.96);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:5px 0;box-shadow:0 10px 30px rgba(0,0,0,.55);backdrop-filter:blur(8px);animation:flyIn .15s}
.ctx-menu a{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.85);font-size:13px;padding:8px 14px;cursor:pointer;user-select:none}
.ctx-menu a:hover{background:rgba(255,255,255,.09);color:#fff}
.ctx-menu a svg{width:15px;height:15px;fill:currentColor;opacity:.75;flex:none}
.ctx-menu a.dis{color:rgba(255,255,255,.32);cursor:default}
.ctx-menu a.dis:hover{background:none;color:rgba(255,255,255,.32)}
.ctx-menu i{display:block;height:1px;background:rgba(255,255,255,.08);margin:4px 0}
.ctx-menu b{display:block;padding:6px 14px 4px;font-size:11px;font-weight:400;color:rgba(255,255,255,.35);letter-spacing:.5px;cursor:default}
/* ---------- 问题反馈弹窗 ---------- */
.fb-mask{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:20px}
.fb-box{width:min(440px,94vw);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 70px rgba(0,0,0,.6)}
.fb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.fb-head b{font-size:16px;color:#fff}
.fb-x{font-size:20px;color:var(--muted);cursor:pointer;line-height:1;padding:2px 6px;border-radius:6px}
.fb-x:hover{color:#fff;background:rgba(255,255,255,.08)}
.fb-film{font-size:12.5px;color:var(--muted);margin-bottom:10px}
.fb-box textarea{width:100%;height:110px;resize:vertical;background:var(--bg2);border:1px solid #2a2a3e;border-radius:10px;color:var(--text);font-size:13.5px;line-height:1.7;padding:10px 12px;outline:none;font-family:inherit}
.fb-box textarea:focus,.fb-box input:focus{border-color:var(--brand)}
.fb-box input{width:100%;margin-top:10px;background:var(--bg2);border:1px solid #2a2a3e;border-radius:10px;color:var(--text);font-size:13px;padding:9px 12px;outline:none}
.fb-box #fbSend{width:100%;margin-top:14px;background:var(--brand);border:none;color:#fff;font-size:14px;font-weight:600;border-radius:999px;padding:11px;cursor:pointer;transition:.2s}
.fb-box #fbSend:hover{filter:brightness(1.1)}
.fb-box #fbSend:disabled{opacity:.55;cursor:default}
.fb-tip{font-size:11.5px;color:var(--muted);text-align:center;margin-top:10px}
.player.idle .ptitle{opacity:0}
/* 窗口全屏（网页内铺满，非系统全屏）：Esc 或再点一次退出 */
.player.wfull{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;max-width:none;aspect-ratio:auto;border-radius:0;z-index:300} /* 100dvh：动态视口，规避浏览器地址栏收起/展开造成的高度差（不支持 dvh 的旧内核回退 100vh） */
body.wlock{overflow:hidden}
/* 迷你悬浮窗：播放中滚出视口，右下角继续播放 */
.player.mini{position:fixed;right:14px;bottom:80px;width:min(400px,44vw);aspect-ratio:16/9;z-index:130;box-shadow:0 12px 40px rgba(0,0,0,.6);border-radius:10px;overflow:hidden}
.player.mini .dm-input{max-width:none;width:200px}
.ctrl .dm-m-btn{display:none !important} /* 手机端弹幕入口：桌面隐藏（!important 压过 .ctrl .ic 的 display:flex，0,2,0 对 0,2,0 靠 !important 必胜） */
/* 手机顶栏三件套的桌面默认态：播放页返回键 / 搜索入口图标 / 搜索浮出态取消键（手机块内按需 display 还原） */
.nav-back,.m-search-btn,.sb-cancel{display:none}
/* ---------- 手机端（≤700px）：播放页改「上下堆叠」布局（桌面双栏影院模式在窄屏会挤爆）、幻灯 16:9 精简、选集 4 列 ---------- */
@media (max-width:700px){
  /* 顶栏两行（腾讯手机版同款）：全局 gap:20px 在换行后变成巨额行距必须清零；只给 m-nav 设 order:1 换行独占第二行；实底背景——幻灯从顶栏下方开始，频道行不再透出叠盖幻灯画面 */
  .nav-top{flex-wrap:wrap;gap:0;height:auto;padding:0 12px;align-items:center;background:rgba(11,11,15,.97);padding-right:calc(12px + env(safe-area-inset-right,0px));padding-left:calc(12px + env(safe-area-inset-left,0px)) /* 横屏避开挖孔/刘海侧 */}
  .nav-top.scrolled{background:rgba(11,11,15,.97)} /* 同 specificity 后位压过 L13 的滚动渐变，两态视觉统一 */
  .nav-top .logo{flex:none;padding:8px 0 4px}
  .nav-top .logo img.brand-logo{height:26px;max-width:100px}
  /* 搜索改图标按钮（与求片/历史同款）：搜索框不常驻，点图标全宽浮出覆盖整个顶栏 */
  .nav-top .search-wrap{display:none}
  .nav-top.m-search-open .search-wrap{display:flex;position:absolute;left:0;right:0;top:0;height:100%;max-width:none;margin:0;padding:0 12px;background:rgba(11,11,15,.98);z-index:6;align-items:center}
  .nav-top .search{max-width:none;height:34px;border-radius:17px;flex:1 1 0%;min-width:0}
  .nav-top.m-search-open .sb-cancel{display:inline-flex;flex:none;align-items:center;color:var(--muted);font-size:13px;padding:6px 0 6px 10px}
  .nav-top .m-search-btn{display:flex} /* 手机显示搜索图标（0,2,0 压过基础区 .m-search-btn 的 display:none） */
  .nav-top .nav-ico-group{flex:none;gap:0;margin-left:auto}
  .nav-top .nav-ico{width:32px;height:38px}
  .nav-top .nav-ico .ico-txt{display:none} /* 手机只留图标：压缩第一行高度 */
  .nav-top .dl-app{display:none} /* 客户端下载预留位：手机不占空间 */
  .nav-top .btn-login{padding:6px 11px;font-size:12px}
  .pg-play .nav-back{display:flex;align-items:center;justify-content:center;width:30px;height:38px;margin-left:-6px;color:#c9c9d8;flex:none} /* 播放页无频道导航：顶栏左侧补返回键 */
  .pg-play .nav-back:active{color:#fff}
  .pg-play .nav-back svg{width:20px;height:20px}
  .m-nav{order:1;display:flex;flex:1 0 100%;gap:16px;padding:0 2px 7px;font-size:13px}
  .page-main{padding-top:76px} /* 两行实底顶栏约 72px：内容页起点下移 */
  .pg-home .page-main,.pg-full .page-main{padding-top:76px} /* 同 specificity 后位压过 L154/L162 的 padding-top:0：幻灯从顶栏下开始不再被导航盖住 */
  .pg-play .m-nav{display:none} /* 播放页顶栏单行：频道滑轨在播放页无意义（返回键+选集侧栏即导航） */
  /* 播放页：解锁页面滚动（桌面影院模式锁 body 滚动在手机没有意义），播放器全宽 16:9 顶部，选集/详情/推荐自然堆叠在下方 */
  html.pg-play{height:auto;overflow:auto} /* html 级锁（L367）必须一并解锁，否则 body 解了页面依然滚不动 */
  html.pg-play body{height:auto;overflow-y:auto;overflow-x:hidden}
  html.pg-play .page-main{height:auto;padding-top:64px} /* 播放页单行顶栏（图标行 ~44px），补偿 64px */
  .pg-play .wrap{height:auto}
  .pg-play .play-layout{display:block;height:auto} /* 带 .pg-play 前缀压过 L371 的 height:100%（同级 specificity 靠后位取胜） */
  .play-main{flex:none;width:100%}
  .pg-play .player{flex:none;height:auto;aspect-ratio:16/9}
  /* 注意：L780-782 的 ≤1000px 块源码在本块之后，同优先级会反过来压制本块——以下选择器一律升级 specificity（html/section/.side 前缀）确保手机断点必胜 */
  html.pg-play .side{width:100%;height:auto;overflow:visible;transition:none;padding:12px 12px 30px}
  .side-toggle{display:none}
  /* 手机发弹幕：控制条内输入区隐藏（不占位），点「弹幕」按钮唤起浮层输入条（同一 DOM 绝对定位浮起） */
  .ctrl .dm-input{position:absolute;left:10px;right:10px;bottom:64px;max-width:none;height:40px;background:#22232f;border:1px solid #3a3b4d;border-radius:22px;padding:5px 8px 5px 16px;box-shadow:0 8px 24px rgba(0,0,0,.5);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}
  .player.dm-m-open .ctrl .dm-input{opacity:1;pointer-events:auto;transform:translateY(0)}
  .ctrl .dm-m-btn{display:flex !important} /* 手机显示入口（同 important 后定义，覆盖 L627 桌面隐藏规则） */
  /* 选集：4 列放宽触摸格（.side 前缀压过 L780 的 5 列） */
  .side .ep-grid{grid-template-columns:repeat(4,1fr);gap:7px}
  .ep{height:38px}
  /* 首页/频道页幻灯：画面 16:9 + 缩略图条「入流」排在画面下方——hc-mstage 占位撑出画面高度，
     条子无论多高（字体缩放/内核差异）都只会把容器撑高，结构上不可能叠到画面 */
  section.hero-carousel{height:auto;min-height:0}
  .hero-carousel .hc-mstage{display:block;height:56vw;min-height:200px} /* 画面占位（仅手机生效） */
  .hero-carousel .hc-item{bottom:auto;height:56vw} /* 画面绝对定位盖在占位区上 */
  section.hero-carousel .hero-inner{bottom:calc(100% - 56vw + 6px)} /* 片名文字块贴画面左下角：距画面底边 6px（100%-56vw=条子实际高度；section 前缀 (0,2,1) 压过平板块 bottom:40px 的同权重反压） */
  .hero-carousel .hero-inner .in{padding:0 6px} /* 左下角边距 p6（覆盖基础 40px 内边距） */
  .hero-carousel .hero-inner h1{font-size:18px} /* 书法字体视觉偏大，手机再降一档（带前缀压过 L780 .hero h1 的 28px） */
  .hero-actor,.hero-desc{display:none}
  .hero-ops .btn-play{display:none}
  .hero-carousel .hc-list{display:flex;position:static;max-width:none;padding:6px 10px 10px} /* 入流横滑条：display 必须在此重申——≤1000px 块的 display:none 源码在后会反压（0,2,0 压 0,1,0） */
  .hero-carousel .hc-pad{display:none} /* 桌面右对齐垫片，手机统一左起 */
  .hero-carousel .hc-item2{flex:0 0 84px;width:84px}
  .hero-carousel .hc-item2 b{font-size:11px;padding:5px 6px 2px}
  .hero-carousel .hc-item2 span{display:none} /* 备注行隐藏，压低缩略图条高度 */
  .hero-carousel .hc-deadzone{bottom:auto;top:calc(56vw - 18px);height:18px} /* 防误触区=画面最后 18px，条子完全可点 */
  .hero-tag{font-size:10px;padding:3px 10px}
}
.player{position:relative;touch-action:none} /* touch-action:none：播放器表面接管全部触屏手势（水平滑=进度/垂直滑=音量），页面滚动让位给滑动区域以外的部分 */
.mini-close{position:absolute;right:8px;top:8px;z-index:8;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.55);color:rgba(255,255,255,.9);font-size:16px;line-height:1;cursor:pointer}
.mini-close:hover{background:rgba(0,0,0,.8)}
/* 触屏手势 HUD：滑动快进/调音量时的中央指示框（仅滑动期间由 JS 显示，pointer-events:none 不挡操作） */
.gest-hud{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9;display:none;flex-direction:column;align-items:center;gap:7px;background:rgba(0,0,0,.62);border-radius:12px;padding:12px 18px;pointer-events:none}
.gest-hud.show{display:flex}
.gest-hud b{font-size:15px;color:#fff;font-weight:600;white-space:nowrap}
.gest-hud i{font-size:12px;color:rgba(255,255,255,.85);font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}
.gest-hud i.bar{width:120px;height:4px;border-radius:2px;background:rgba(255,255,255,.25);position:relative;overflow:hidden;display:block}
.gest-hud i.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--brand);border-radius:2px;display:block}
/* 导航头像（图片或预设渐变） */
.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.avatar.av-p1{background:linear-gradient(135deg,var(--brand),#ff7a45)}
.avatar.av-p2{background:linear-gradient(135deg,#7b5cff,#4dc4ff)}
.avatar.av-p3{background:linear-gradient(135deg,#00b578,#7ce7b0)}
.avatar.av-p4{background:linear-gradient(135deg,#ff9f1c,#ffd166)}
.avatar.av-p5{background:linear-gradient(135deg,#e6397e,#ff7ab0)}
.avatar.av-p6{background:linear-gradient(135deg,#0ea5e9,#7dd3fc)}
.avatar.av-p7{background:linear-gradient(135deg,#64748b,#a8b8cf)}
.avatar.av-p8{background:linear-gradient(135deg,#111827,#4b5563)}
/* iqiyi 式信息区（右栏顶部）：标题+分享/详情操作行、热度行（播放量/年份/主演/类型/备注）、详情展开完整信息 */
/* iqiyi 式合并卡片：side-card 提供壳，信息区 + 选集同卡 */
.side-card{background:var(--card);border-radius:14px;padding:16px;margin-bottom:18px}
.side-card .video-info{background:none;border-radius:0;padding:0;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06)}
.side-card .side-box{background:none;border-radius:0;padding:0;margin:0}
.side-card .ep-panel h3 .vi-rem{font-weight:400}
.video-info{padding:0}
.vi-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
/* 片名永不换行：超长省略（h1 占满剩余宽度，「详情」flex:none 固定右侧） */
.video-info h1{font-size:18px;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vi-head .vi-detail{flex:none}
/* iqiyi 式按钮行：加追/分享等宽大按钮 */
.vi-btns{display:flex;gap:10px;margin-top:14px}
.vi-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;border-radius:10px;background:rgba(255,255,255,.07);color:#d6d6de;font-size:13.5px;cursor:pointer;user-select:none;transition:background .15s,color .15s}
.vi-btn svg{width:16px;height:16px;display:block}
.vi-btn em{font-style:normal}
.vi-btn:hover{background:rgba(255,255,255,.13);color:#fff}
.vi-btn.ok{color:#37d67a}
.vi-detail{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--muted);cursor:pointer;user-select:none;flex:none}
.vi-detail:hover{color:#fff}
.vi-detail i{width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:5px solid currentColor;transition:transform .2s}
.vi-detail.open i{transform:rotate(90deg)}
.meta{display:flex;gap:10px;margin:10px 0 0;color:var(--muted);font-size:13px;align-items:center;overflow:hidden;white-space:nowrap}
.meta2{margin-top:7px}
.meta>span{flex:none}
/* 演员：只收缩不伸展——超长自身省略，类型必然保留行内不被挤出。
   必须 .meta>.vi-leads 提特异性：.meta>span{flex:none} 是 (0,1,1)，单类 .vi-leads 会被覆盖导致收缩失效（曾致类型被挤出） */
.meta>.vi-leads{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.vi-hot{display:inline-flex;align-items:center;gap:4px;color:#ff5f3c;font-weight:600}
.vi-hot svg{width:14px;height:14px;display:block}
.vi-tag{font-size:12.5px;color:#a8a8ba}
.vi-rem{color:#37d67a;font-size:12.5px}
.vi-full{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.vi-full p{margin:0 0 6px;color:var(--muted);font-size:13px;line-height:1.8}
.vi-full p span{color:#b9b9c8}
.vi-full p.desc{margin-bottom:0}
.desc{color:var(--muted);font-size:13px;line-height:1.8;margin:0}
/* 详情面板主视图：演职员 4 列网格全部直接展示（无展开钮，无横向滚动） */
.vi-casts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 12px;margin:2px 0 12px}
.vi-cast-i{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.vi-cast-i>b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;color:#b9b9c8;line-height:1.2}
/* 面板标题行：主视图「详情 ✕」/ 演员视图「‹ 演职员 ✕」 */
.vi-full-h{display:flex;align-items:center;margin-bottom:12px}
.vi-full-h b{font-size:15px;color:#fff;font-weight:600}
.vi-full-h u{margin-left:auto;font-style:normal;color:var(--muted);cursor:pointer;font-size:14px;padding:2px 8px;border-radius:6px;text-decoration:none}
.vi-full-h u:hover{color:#fff;background:rgba(255,255,255,.1)}
.vi-full-h u.vi-back{margin-left:0;font-size:13.5px}
/* 演员视图：大头像 + 名字 + 相关作品 3 列网格（无简介） */
.vi-actor[hidden]{display:none}
.vi-act-card{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.vi-act-ava{position:relative;flex:none;width:96px;height:128px;border-radius:10px;overflow:hidden;background:#1c1c26}
.vi-act-ava .va-letter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:600;color:#fff}
.vi-act-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vi-act-n b{display:block;font-size:18px;color:#fff;line-height:1.4}
.vi-act-n i{font-style:normal;font-size:12px;color:var(--muted)}
.vi-act-t{margin:0 0 10px;font-size:14px;color:#fff;font-weight:600}
.vi-act-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px} /* 3 列：minmax(0,1fr) 防 nowrap 标题撑爆面板 */
.vcf-ld{font-style:normal;color:var(--muted);font-size:12px;padding:4px 0}
.vcf-empty{grid-column:1/-1;color:var(--muted);font-size:12.5px;margin:0}
.vcf-i{display:block;text-decoration:none;min-width:0}
.vcf-i .vcf-p{position:relative;display:block;padding-top:133%;border-radius:8px;overflow:hidden;background:#1c1c26}
.vcf-i .vcf-p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vcf-i .vcf-vip{position:absolute;left:5px;top:5px;z-index:2;font-style:normal;font-size:10px;font-weight:600;color:var(--gold2);border:1px solid rgba(255,215,106,.7);border-radius:4px;padding:1px 4px;background:rgba(0,0,0,.55)}
.vcf-i>span{display:block;margin-top:5px;font-size:12px;color:#cfd2dc;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vcf-i>span em{font-style:normal;color:var(--muted);font-size:11px}
.vcf-i:hover>span{color:var(--brand)}
.va-ico{position:relative;display:block;width:52px;height:52px;border-radius:50%;overflow:hidden}
.va-ico .va-letter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#fff}
.va-ico img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.va-c0{background:linear-gradient(135deg,var(--brand),#ff7a45)}
.va-c1{background:linear-gradient(135deg,#7b5cff,#4dc4ff)}
.va-c2{background:linear-gradient(135deg,#00b578,#7ce7b0)}
.va-c3{background:linear-gradient(135deg,#ff9f1c,#ffd166)}
.va-c4{background:linear-gradient(135deg,#e6397e,#ff7ab0)}
.va-c5{background:linear-gradient(135deg,#0ea5e9,#7dd3fc)}
.va-c6{background:linear-gradient(135deg,#9b6bff,#c4a5ff)}
.va-c7{background:linear-gradient(135deg,#f43f5e,#fb923c)}
/* iqiyi 式播放页右栏「猜你喜欢」网格（2 列小卡片） */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.guess-box{margin-top:0} /* 猜你喜欢已移入播放页右侧栏（与选集/相关推荐同列） */
.ep-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.ep.ep-hide{display:none} /* 双类名提高优先级：.ep 的 display:flex 写在本规则之后，单类 .ep-hide 会被覆盖导致折叠失效 */
.ep-more{display:block;width:100%;margin-top:10px;padding:9px 0;border:0;border-radius:18px;background:#232338;color:#cfcfe0;font-size:13px;cursor:pointer;text-align:center}
.ep-more:hover{background:#2b2b45;color:#fff}
.ep{height:34px;border-radius:8px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;position:relative}
/* iqiyi 式右侧选集面板：独立滚动条，滚轮不穿透主页 */
.ep-panel h3{display:flex;align-items:center;justify-content:space-between;padding-left:9px}
.ep-panel .ep-cur{font-size:11px;color:var(--muted);font-weight:400}
.ep-scroll{margin:0 -4px 0 0;padding:2px 4px 2px 0}
.ep-scroll.open{max-height:56vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.ep-scroll::-webkit-scrollbar{width:6px}
.ep-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.ep-scroll::-webkit-scrollbar-track{background:transparent}
.rel-box{margin-top:24px}
/* iqiyi 式光影：hover 高亮渐变 + 斜向扫光 */
.ep:hover{color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.17),rgba(255,255,255,.06))}
.ep::after{content:'';position:absolute;top:-4px;bottom:-4px;left:-70%;width:55%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);pointer-events:none;opacity:0}
.ep:hover::after{opacity:1;animation:epSweep .55s ease}
@keyframes epSweep{from{left:-70%}to{left:135%}}
/* 正在播放：品牌红渐变 + 高光往复流动（iqiyi 式） */
.ep.cur{background:linear-gradient(120deg,#ff3355,#d81f3d 48%,#ff3355);background-size:220% 100%;animation:epFlow 2.8s ease-in-out infinite alternate;color:#fff;font-weight:600;box-shadow:0 4px 14px rgba(255,46,77,.32)}
@keyframes epFlow{from{background-position:0% 0}to{background-position:100% 0}}
/* 侧栏 */
.side-box{background:var(--card);border-radius:14px;padding:16px;margin-bottom:18px}
.side-box h3{font-size:14px;margin-bottom:10px;padding-left:9px;border-left:3px solid var(--brand)}
.side-item{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:12.5px}
.side-item .no{width:16px;text-align:center;font-style:italic;font-weight:700;color:var(--muted)}
.side-item:nth-of-type(1) .no,.side-item:nth-of-type(2) .no,.side-item:nth-of-type(3) .no{color:var(--brand)}
.side-item a{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-item span{font-size:11px;color:var(--muted)}
.mini{display:flex;gap:10px;margin-bottom:12px}
.mini img{width:84px;height:56px;border-radius:8px;object-fit:cover}
.mini h5{font-size:12.5px;font-weight:500;margin-bottom:4px}
.mini p{font-size:11px;color:var(--muted);line-height:1.5}
/* 登录注册 */
.auth-wrap{display:flex;justify-content:center;padding:80px 16px}
.auth-box{width:360px;background:rgba(22,22,31,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:30px;box-shadow:0 18px 60px rgba(0,0,0,.45)}
.auth-box h2{margin-bottom:18px;font-size:19px}
.auth-box label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}
/* 记住登录勾选行（登录页 + 弹层共用）：横排紧凑，勾选框不走文本框的通栏宽度；
   选择器带容器前缀以压过 .am-form label / .auth-box label 的块级与通栏 input 样式 */
.auth-box .remember-row,.am-form .remember-row{display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none;margin-bottom:12px}
.auth-box .remember-row input[type=checkbox],.am-form .remember-row input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--brand);cursor:pointer;flex:none}
.auth-box input{display:block;width:100%;margin-top:5px;background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--text);outline:none}
.auth-box .btn{display:block;width:100%;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:11px;font-size:14px;cursor:pointer;margin-top:6px}
.auth-tip{font-size:12px;color:var(--muted);margin-top:14px}
.auth-tip a{color:var(--brand)}
.err{background:rgba(255,46,77,.12);border:1px solid rgba(255,46,77,.4);color:var(--acc-soft);border-radius:8px;padding:9px 12px;font-size:13px;margin-bottom:12px}
/* 侧栏底部程序信息（原网页底部 footer 迁移至此）：站名/版本/版权说明/备案号；全部条目统一靠左对齐（桌面/移动一致） */
.side-foot{margin-top:auto;padding:12px 14px 16px;border-top:1px solid rgba(255,255,255,.06);color:#5c6272;font-size:11px;line-height:1.9;word-break:break-all;text-align:left}
.side-foot b{color:var(--muted);font-weight:600;letter-spacing:.5px}
/* 底栏所有条目统一规格：同字号/同色/同间距（版权多行/免责声明/广告合作/备案号观感一致） */
.side-foot span,.side-foot a{display:block;color:#5c6272;font-size:11px;line-height:1.9;margin-top:2px}
.side-foot a{padding:0;text-decoration:none} /* padding:0 抵消 .nav-side a 的 padding:11px 14px——否则广告合作比其他行多缩进 14px */
.side-foot a:hover,.side-foot .sf-dis:hover{color:#9aa0b0}
/* 底栏免责声明（hover 悬浮窗，fixed 定位由 JS 计算位置，不受侧栏 overflow 裁剪）+ 版权多行文案 */
.sf-dis{cursor:help;transition:.15s;position:relative}
.sf-dis:hover{color:#9aa0b0}
.sd-pop{position:fixed;z-index:400;display:none;width:260px;max-height:320px;overflow-y:auto;background:rgba(18,18,30,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.9;color:#d5d9e4;font-style:normal;box-shadow:0 14px 40px rgba(0,0,0,.5);cursor:default;white-space:normal}
.sd-pop.on{display:block}
@media (max-width:1000px){.grid6{grid-template-columns:repeat(2,1fr)}.nav-links{display:none}.hero h1{font-size:28px}.rank-row{grid-template-columns:1fr}.ep-grid{grid-template-columns:repeat(5,1fr)}.grid4{grid-template-columns:repeat(2,1fr)}
.pg-play .side{width:300px}.pg-play.side-fold .side{margin-right:-300px}.side-toggle{right:300px}
.hero-carousel{height:460px}.hero-carousel .hero-inner{bottom:40px}.hc-list{display:none}.hc-arrow{display:none}.hc-deadzone{height:34px}}

/* ---- 用户中心（大站风：品牌大卡面 + 大圆角卡片 + 层级留白） ---- */
/* 顶部个人大卡面：品牌色氛围渐变 + 头像 + 会员徽标 + 数据概览 */
.uc-hero{position:relative;overflow:hidden;border-radius:18px;margin:22px 0 22px;background:linear-gradient(120deg,#33101c 0%,#1c1224 55%,var(--card) 100%);border:1px solid #3a1a26;padding:30px 34px}
.uc-hero::before{content:"";position:absolute;right:-120px;top:-150px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,46,77,.3),transparent 65%);pointer-events:none}
.uc-hero::after{content:"";position:absolute;left:32%;bottom:-170px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(123,92,255,.18),transparent 65%);pointer-events:none}
.uc-hero-in{position:relative;z-index:1;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.uc-ava{width:78px;height:78px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#7a2bff);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;flex:none;overflow:hidden;box-shadow:0 6px 24px rgba(255,46,77,.35);border:2px solid rgba(255,255,255,.22)}
.uc-ava img{width:100%;height:100%;object-fit:cover}
.uc-hero-info{flex:1;min-width:230px}
.uc-name-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.uc-name-row h2{font-size:26px;font-weight:700;letter-spacing:1px;margin:0}
.uc-name-row .uc-vip{font-size:12px;flex:none}
.uc-sub{margin:0;font-size:13px;color:var(--muted)}
.uc-vip-exp{margin:7px 0 0;font-size:12.5px;color:#cfa96b}
.uc-hero-stats{display:flex;flex:none}
.uc-hero-stats .hs{padding:2px 28px;text-align:center;border-left:1px solid rgba(255,255,255,.09)}
.uc-hero-stats .hs:first-child{border-left:0;padding-left:0}
.uc-hero-stats b{display:block;font-size:25px;font-weight:700;color:#fff;line-height:1.25;font-variant-numeric:tabular-nums}
.uc-hero-stats span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.uc-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.uc-card{background:var(--card);border:1px solid #23232e;border-radius:14px;padding:20px 22px;margin-bottom:20px;transition:border-color .2s,box-shadow .2s}
.uc-card:hover{border-color:#333342;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.uc-card h3{margin:0 0 14px;font-size:17px;font-weight:600;display:flex;align-items:center;gap:10px}
.uc-card h3::before{content:"";width:4px;height:17px;border-radius:2px;background:linear-gradient(180deg,var(--brand),#ff7a45);flex:none}
.uc-note{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 12px}
.uc-form{display:flex;gap:10px}
.uc-form.col{flex-direction:column}
.uc-form input{flex:1;background:var(--bg2);border:1px solid #2c2c36;border-radius:10px;color:#eee;padding:11px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}
.uc-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,46,77,.14)}
.uc-form button{background:linear-gradient(135deg,var(--brand),#ff5a3c);color:#fff;border:0;border-radius:10px;padding:11px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px rgba(255,46,77,.22)}
.uc-form button:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,46,77,.38)}
.uc-form button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.uc-tip{padding:11px 16px;border-radius:10px;font-size:14px;margin-bottom:14px}
.uc-tip.ok{background:rgba(0,200,150,.1);color:#00c896;border:1px solid rgba(0,200,150,.3)}
.uc-tip.err{background:rgba(255,46,77,.1);color:var(--brand);border:1px solid rgba(255,46,77,.3)}
/* 推广 / 积分 / 本地头像上传（用户中心） */
.uc-invite{display:flex;gap:10px}
.uc-invite input{flex:1;min-width:0;background:var(--bg2);border:1px solid #2a2a38;border-radius:10px;color:var(--text);padding:11px 14px;font-size:13px}
.uc-invite input:focus{outline:none;border-color:var(--brand)}
.uc-invite button{background:linear-gradient(135deg,var(--brand),#ff5a3c);color:#fff;border:0;border-radius:10px;padding:0 20px;font-size:13.5px;font-weight:600;cursor:pointer;flex-shrink:0;transition:.2s}
.uc-invite button:hover{filter:brightness(1.12);transform:translateY(-1px)}
.uc-ptlog{margin-top:14px;display:flex;flex-direction:column;gap:7px}
.uc-ptlog > b{font-size:12.5px !important;color:var(--muted);font-weight:500}
.uc-pt{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);background:var(--bg2);border:1px solid #1f1f29;border-radius:9px;padding:9px 13px}
.uc-pt span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uc-pt span:last-child{flex-shrink:0;color:#5d5d6d}
.uc-pt b.plus{color:#00c896;flex-shrink:0}
.uc-pt b.minus{color:var(--brand);flex-shrink:0}
.uc-file{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;cursor:pointer}
.uc-file input[type=file]{color:var(--muted);font-size:12.5px;cursor:pointer}
/* 文件选择控件：::file-selector-button 统一美化（走主题变量，深色/白色模版自适应） */
input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--card2);color:var(--text);border-radius:8px;padding:8px 14px;font-size:12.5px;cursor:pointer;margin-right:10px;font-family:inherit;transition:border-color .15s,color .15s}
input[type=file]::file-selector-button:hover{border-color:var(--muted);color:var(--brand)}
.mono{font-family:Consolas,Menlo,monospace;letter-spacing:.5px}
.uc-reqs{display:flex;flex-direction:column;gap:8px}
.uc-req{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg2);border:1px solid #1f1f29;border-radius:10px;font-size:14px}
.rq-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rq-st{font-size:13px;white-space:nowrap}
.rq-st.ok{color:#00c896}.rq-st.wait{color:#ffb020}.rq-st.no{color:var(--muted)}
.rq-time{color:#5d5d6d;font-size:12px;white-space:nowrap}
.uc-meta div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #1e1e27;font-size:13.5px}
.uc-meta div:last-child{border:0}
.uc-meta span{color:var(--muted);flex-shrink:0}
.uc-logout{display:block;text-align:center;color:var(--acc-soft);border:1px solid rgba(255,46,77,.28);border-radius:10px;padding:11px 0;font-size:14px;text-decoration:none;transition:.2s}
.uc-logout:hover{background:rgba(255,46,77,.08);border-color:rgba(255,46,77,.55);color:var(--brand)}
/* 观看历史列表：大海报 + 悬停浮起 */
.uc-hist{display:flex;flex-direction:column;gap:10px}
.uc-h{display:flex;align-items:center;gap:14px;background:#191922;border:1px solid #26262f;border-radius:12px;padding:10px 18px 10px 10px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.uc-h:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.uc-h img{width:62px;height:83px;object-fit:cover;border-radius:8px;flex:none;background:#0d0d12}
.uc-h .h-info{flex:1;min-width:0}
.uc-h h5{margin:0 0 5px;font-size:14.5px;font-weight:600;color:#f2f2f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uc-h p{margin:0;font-size:12px;color:var(--muted)}
.uc-h .h-go{flex:none;font-size:12.5px;font-weight:600;color:var(--brand)}
/* 头像预设选择 */
.av-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.av-opt{aspect-ratio:1;border-radius:50%;cursor:pointer;position:relative;border:2px solid transparent;transition:transform .15s}
.av-opt:hover{transform:scale(1.08)}
.av-opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.av-opt.on{border-color:#fff;box-shadow:0 0 0 2px var(--brand)}
.av-opt.on::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.6)}
@media (max-width:900px){.uc-layout{grid-template-columns:1fr}.uc-hero{padding:24px 20px}.uc-name-row h2{font-size:22px}.uc-hero-stats{width:100%;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.uc-hero-stats .hs{padding:0 12px}}

/* ---- VIP 体系 ---- */
/* 卡片 VIP 角标样式统一见上方 L209（右上角贴边，价格角标其下） */
/* 播放页 VIP 专享提示卡（替换播放器位置） */
.vip-gate{aspect-ratio:16/9;width:100%;border-radius:var(--radius);background:radial-gradient(ellipse at 50% 0%,#221a08 0%,var(--bg2) 60%);border:1px solid #33290f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}
.vip-gate .vg-crown{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#e8a33d);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#3d2b00;letter-spacing:1px;box-shadow:0 4px 18px rgba(232,163,61,.35)}
.vip-gate h3{margin:0;font-size:22px;color:var(--gold2)}
.vip-gate p{margin:0;color:var(--muted);font-size:14px;max-width:440px;line-height:1.7}
.vip-gate .vg-note{font-size:12px;color:#666c80}
.vip-gate .vg-btn{display:inline-block;background:linear-gradient(135deg,var(--gold),#e8a33d);color:#3d2b00;font-weight:700;font-size:14px;padding:9px 28px;border-radius:22px;text-decoration:none}
/* 点播解锁卡（复用 vip-gate 骨架，星河币蓝金变体） */
.vip-gate.pay{background:radial-gradient(ellipse at 50% 0%,#0a1e33 0%,var(--bg2) 60%);border-color:#12304f}
.vip-gate.pay .vg-crown{background:linear-gradient(135deg,#8fd0ff,#3d8bff);color:#04264f;box-shadow:0 4px 18px rgba(61,139,255,.35);font-size:15px}
.vip-gate.pay h3{color:#8fc3ff}
.vip-gate.pay .vg-btn{background:linear-gradient(135deg,#8fd0ff,#3d8bff);color:#04264f}
.vip-gate.pay .vg-btn[disabled]{opacity:.45;cursor:not-allowed}
.vip-gate .vg-btn.ghost{background:transparent;border:1px solid #33415e;color:#aab2c8}
.vip-gate .vg-ops form{display:inline-block;margin:0}
.vip-gate .pay-err{color:#ff7d7d;font-size:13px}
/* 手机QQ浏览器播放页拒绝提示卡（.qq-deny，安卓QQ UA 命中时 site_play.php 服务端拦截渲染） */
.qq-deny{max-width:520px;margin:48px auto 60px;background:var(--bg2);border:1px solid #26262e;border-radius:12px;padding:40px 28px 34px;text-align:center}
.qq-deny .qd-ic{width:54px;height:54px;line-height:54px;margin:0 auto 16px;border-radius:50%;background:rgba(255,215,106,.12);color:var(--gold);font-size:30px;font-weight:700}
.qq-deny h3{font-size:17px;color:#fff;margin:0 0 12px;line-height:1.5}
.qq-deny p{font-size:13px;color:#9a9aa5;line-height:1.9;margin:0 0 22px}
.qq-deny .qd-btn{display:inline-block;background:linear-gradient(135deg,var(--brand),#5a8dff);color:#fff;font-size:14px;font-weight:600;padding:10px 34px;border-radius:22px;text-decoration:none}
/* 用户中心会员状态 */
.uc-vip.on{background:linear-gradient(135deg,var(--gold),#e8a33d);color:#3d2b00;font-weight:700;border-radius:4px;padding:1px 8px}
.uc-vip.off{color:#8a8f9f;border:1px solid var(--line);border-radius:4px;padding:1px 8px}

/* ---- iqiyi 式全局滚动条：细深色（主体页面竖向滚动） ---- */
html{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#454e66}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-corner{background:transparent}

/* ---- iqiyi 短剧竖版海报卡（2:3 剧场式） ---- */
.thumb-v{aspect-ratio:2/3}
.v-card h4{margin-top:8px}
.grid-v{display:grid;grid-template-columns:repeat(8,1fr);gap:20px 16px} /* 短剧竖版卡缩小：列数 6→8（单卡更小更密） */
.film-row-v{gap:14px}
.film-row-v .v-card{flex:0 0 148px}
@media(max-width:1200px){.grid-v{grid-template-columns:repeat(6,1fr)}}
@media(max-width:1000px){.grid-v{grid-template-columns:repeat(4,1fr)}.film-row-v .v-card{flex:0 0 26%}}

/* ---- 登录/注册悬浮窗（iqiyi 式深色弹窗，所有页面游客可用） ---- */
.auth-modal{position:fixed;inset:0;z-index:300}
.am-mask{position:absolute;inset:0;background:rgba(5,6,10,.72);backdrop-filter:blur(4px)}
.am-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,92vw);background:rgba(22,22,31,.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px 28px 28px;box-shadow:0 18px 60px rgba(0,0,0,.6);animation:amIn .22s ease}
@keyframes amIn{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
.am-close{position:absolute;right:12px;top:10px;width:30px;height:30px;border:none;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;border-radius:50%}
.am-close:hover{color:#fff;background:var(--line)}
.am-tabs{display:flex;gap:22px;margin-bottom:18px}
.am-tabs b{font-size:18px;font-weight:600;color:var(--muted);cursor:pointer;padding-bottom:6px;border-bottom:2px solid transparent;letter-spacing:1px}
.am-tabs b.on{color:#fff;border-color:var(--brand)}
.am-form label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:12px}
.am-form input{display:block;width:100%;margin-top:5px;background:#0f0f16;border:1px solid #2c2c40;border-radius:8px;padding:10px 12px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s}
.am-form input:focus{border-color:var(--brand)}
.am-form .am-err{background:rgba(255,46,77,.12);border:1px solid rgba(255,46,77,.4);color:var(--acc-soft);border-radius:8px;padding:8px 12px;font-size:12.5px;margin-bottom:12px}
.am-form button[type="submit"]{display:block;width:100%;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:11px;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:4px;margin-top:4px}
.am-form button[type="submit"]:hover{filter:brightness(1.1)}

/* ============ 演员头像：可点击（跳演员页）+ 悬停纠错钮 ============ */
.va-wrap{position:relative;display:block}
.vi-cast-i a.va-ico{cursor:pointer;transition:transform .2s,box-shadow .2s}
.vi-cast-i a.va-ico:hover{transform:scale(1.08);box-shadow:0 0 0 2px var(--brand)}
.vi-cast-i a.va-ico:hover + .va-fix, .vi-cast-i:hover .va-fix{opacity:1;pointer-events:auto}
.va-fix{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);z-index:3;opacity:0;pointer-events:none;transition:opacity .2s;background:var(--brand);color:#fff;border:none;border-radius:9px;padding:1px 7px;font-size:10px;line-height:1.5;cursor:pointer;white-space:nowrap}
.va-fix:hover{filter:brightness(1.15)}

/* ============ 演员头像纠错弹窗（播放页/演员页共用） ============ */
.afx-mask{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:20px}
.afx-box{position:relative;width:380px;max-width:100%;background:#1b1c24;border:1px solid #2c2c40;border-radius:14px;padding:22px 22px 20px;box-shadow:0 18px 50px rgba(0,0,0,.5)}
.afx-box h3{margin:0 0 10px;font-size:17px;color:#fff}
.afx-x{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.afx-x:hover{color:#fff}
.afx-actor{margin:0 0 8px;font-size:13px;color:#b9b9c8}
.afx-actor b{color:var(--brand);font-size:15px;margin-left:2px}
.afx-tip{margin:0 0 14px;font-size:12.5px;line-height:1.7;color:var(--muted)}
.afx-tip b{font-weight:600}
.afx-file{display:flex;align-items:center;gap:10px;margin-bottom:10px;cursor:pointer}
.afx-file::before{content:"选择图片";background:#2c2c40;color:var(--text);border-radius:8px;padding:8px 14px;font-size:13px;flex:0 0 auto}
.afx-file:hover::before{background:#3a3a52}
.afx-file span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.afx-box input[type="url"]{display:block;width:100%;box-sizing:border-box;background:#0f0f16;border:1px solid #2c2c40;border-radius:8px;padding:10px 12px;color:var(--text);font-size:13px;outline:none;margin-bottom:14px}
.afx-box input[type="url"]:focus{border-color:var(--brand)}
.afx-go{display:block;width:100%;color:#fff;border:none;border-radius:8px;padding:11px;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:4px}
.afx-go:hover{filter:brightness(1.1)}
.afx-go:disabled{opacity:.6;cursor:default}
.afx-msg{margin:12px 0 0;font-size:12.5px;border-radius:8px;padding:8px 12px;text-align:center}
.afx-msg.okk{background:rgba(40,200,120,.12);border:1px solid rgba(40,200,120,.4);color:#5ce0a1}
.afx-msg.err{background:rgba(255,46,77,.12);border:1px solid rgba(255,46,77,.4);color:var(--acc-soft)}

/* ============ 演员影片页（/actor/{name}.html） ============ */
.actor-hero{display:flex;align-items:center;gap:22px;padding:26px 4px 8px}
.actor-ava{position:relative;flex:0 0 auto;display:block;width:96px;height:96px;border-radius:50%;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.45)}
.actor-ava .va-letter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:600;color:#fff}
.actor-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.actor-meta h2{margin:0 0 6px;font-size:24px;color:#fff}
.actor-meta p{margin:0 0 12px;font-size:13px;color:var(--muted)}
.actor-meta p b{color:var(--brand)}
.actor-fix{background:rgba(255,46,77,.12);border:1px solid rgba(255,46,77,.45);color:var(--acc-soft);border-radius:999px;padding:6px 16px;font-size:12.5px;cursor:pointer;transition:background .2s}
.actor-fix:hover{background:rgba(255,46,77,.24);color:#fff}
@media (max-width:640px){.actor-hero{gap:14px}.actor-ava{width:72px;height:72px}.actor-meta h2{font-size:19px}}

/* ===== 顶栏提醒与个人中心增强（信封/签到角标/VIP皇冠/积分明细折叠） ===== */
@keyframes nblink{0%,100%{opacity:1}50%{opacity:.25}}
.blink{animation:nblink 1.1s ease-in-out infinite}
.msg-ico{position:relative}
/* VIP 皇冠：头像左上角 */
.user-box{position:relative}
.av-crown{position:absolute;top:-6px;left:-4px;width:17px;height:17px;z-index:3;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));transform:rotate(-14deg)}
.av-crown svg{width:100%;height:100%;fill:#ffd257;stroke:#b8860b;stroke-width:1.4;stroke-linejoin:round}
/* 头像框右下角双角标：信封（新消息）+「签」（未签到），同尺寸并排锚定右下角 */
.av-badges{position:absolute;bottom:-4px;right:-5px;display:flex;gap:2px;z-index:3}
.av-badge{width:16px;height:16px;border-radius:50%;background:var(--brand);border:1.5px solid #fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.45);flex:none}
.av-badge svg{width:10px;height:10px}
.av-badge-txt{font-size:10px;line-height:1;color:#fff;font-weight:700;font-style:normal}
/* 头像浮窗：消息未读数 + 签到按钮 */
.up-cnt{margin-left:auto;background:var(--brand);color:#fff;font-size:11px;line-height:1;padding:3px 7px;border-radius:9px;font-weight:600}
.up-signf{margin:0}
.up-sign{display:flex;align-items:center;gap:11px;width:100%;padding:11px 4px;font-size:13.5px;color:#d5d5e2;background:none;border:0;border-radius:8px;cursor:pointer;font-family:inherit;transition:.15s;text-align:left}
.up-sign:hover{color:#fff;background:rgba(255,255,255,.05)}
.up-sign:disabled{opacity:.45;cursor:default;background:none}
.up-sign svg{width:17px;height:17px;fill:currentColor;opacity:.75;flex:none}
.up-sign.ok{opacity:1;color:#00c896} /* 就地签到成功过渡态：绿色高亮（1.6s 后落回 disabled 灰） */
/* 个人中心：积分明细折叠头 */
.uc-ptlog-h{display:flex;align-items:center;gap:6px;width:100%;background:none;border:0;padding:2px 0;font-size:12.5px;color:var(--muted);font-weight:500;cursor:pointer;font-family:inherit;text-align:left}
.uc-ptlog-h .arr{margin-left:auto;font-style:normal;transition:transform .18s;font-size:11px}
.uc-ptlog-h.open .arr{transform:rotate(180deg)}
.uc-ptlog-h:hover{color:#c9c9d8}
/* 个人中心大卡面头像：VIP 皇冠同款 */
.uc-ava-wrap{position:relative;flex:none}
.uc-hero .uc-ava-wrap .av-crown{width:26px;height:26px;top:-8px;left:-8px}

/* ===== 个人中心：资料卡统一编辑面板（点击头像/编辑资料展开） ===== */
.uc-ava-wrap{cursor:pointer}
.uc-ava-edit{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:var(--brand);border:2px solid #fff;display:flex;align-items:center;justify-content:center;z-index:4;box-shadow:0 1px 5px rgba(0,0,0,.45)}
.uc-ava-edit svg{width:12px;height:12px;fill:#fff}
.uc-edit-btn{margin-top:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12.5px;font-weight:600;padding:6px 16px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.18s}
.uc-edit-btn:hover{background:var(--brand);border-color:var(--brand)}
.uc-edit-panel{position:relative;z-index:1;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr 1fr;gap:24px}
.uc-edit-panel[hidden]{display:none}
.uc-ep-sec h4{margin:0 0 10px;font-size:13.5px;color:#fff;font-weight:600}
.uc-ep-form{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.uc-ep-form .uc-file{width:100%}
.uc-ep-form input[type="password"],.uc-ep-form input:not([type="file"]){background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:9px 12px;color:#fff;font-size:13px;width:100%;max-width:320px;font-family:inherit;outline:none}
.uc-ep-form input:focus{border-color:var(--brand)}
.uc-ep-pwd-tg{background:none;border:0;padding:0;font:inherit;color:#c9c9d8;cursor:pointer;font-weight:600}
.uc-ep-pwd-tg:hover{color:#fff}
.uc-ep-form button[type="submit"]{background:var(--brand);border:0;color:#fff;font-size:13px;font-weight:600;padding:9px 20px;border-radius:8px;cursor:pointer;font-family:inherit;transition:.15s}
.uc-ep-form button[type="submit"]:hover{filter:brightness(1.12)}
@media (max-width:900px){.uc-edit-panel{grid-template-columns:1fr}}

/* ===== 个人中心：观看历史删除/清空 ===== */
.uc-hist-h,.uc-msg-h{display:flex;align-items:center;gap:12px}
.uc-hist-clear,.uc-msg-ra{margin-left:auto}
.uc-hist-clear button,.uc-msg-ra button{background:none;border:1px solid #3a3a48;color:var(--muted);font-size:12px;padding:4px 12px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.15s}
.uc-hist-clear button:hover,.uc-msg-ra button:hover{color:var(--acc-soft);border-color:var(--brand)}
.uc-h{position:relative}
.uc-h .h-link{display:flex;align-items:center;gap:14px;flex:1;min-width:0;text-decoration:none}
.uc-h .h-del{flex:none}
.uc-h .h-del button{background:none;border:0;color:#55555f;font-size:14px;cursor:pointer;padding:4px 6px;border-radius:6px;font-family:inherit;transition:.15s}
.uc-h .h-del button:hover{color:#fff;background:rgba(255,46,77,.25)}

/* ===== 个人中心：我的消息卡 ===== */
.uc-msg-n{font-size:12px;color:var(--brand);font-weight:600}
.uc-msgs{display:flex;flex-direction:column;gap:10px}
.uc-msg{display:flex;align-items:flex-start;gap:12px;background:#191922;border:1px solid #26262f;border-radius:12px;padding:12px 16px}
.uc-msg.unread{border-color:rgba(255,46,77,.45);background:rgba(255,46,77,.06)}
.uc-msg.read{opacity:.72}
.um-tag{flex:none;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:6px;margin-top:2px;white-space:nowrap;background:#2b2b38;color:#9a9ab0}
.um-tag.t-points{background:rgba(255,180,32,.15);color:#ffc45c}
.um-tag.t-request{background:rgba(61,139,255,.15);color:#8fc0ff}
.um-tag.t-broadcast{background:rgba(255,46,77,.15);color:var(--acc-soft)}
.um-body{flex:1;min-width:0}
.um-body h5{margin:0 0 4px;font-size:13.5px;font-weight:600;color:#f2f2f6}
.um-body p{margin:0 0 5px;font-size:12.5px;color:#a5a5b8;line-height:1.55;word-break:break-word}
.um-time{font-size:11.5px;color:#6b6b7c}
.um-ops{flex:none;display:flex;align-items:center;gap:8px;margin-top:2px}
.um-go{font-size:12.5px;font-weight:600;color:var(--brand);text-decoration:none;white-space:nowrap}
.um-go:hover{text-decoration:underline}
.um-ops button{background:none;border:1px solid #3a3a48;color:var(--muted);font-size:11px;padding:3px 9px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.15s}
.um-ops button:hover{color:#fff;border-color:var(--brand)}

/* ---------- 顶栏「求片」悬浮面板（同历史面板交互） ---------- */
.rq-pop{width:272px}
.rq-list{display:flex;flex-direction:column;gap:8px;max-height:232px;overflow-y:auto;overscroll-behavior:contain;padding:6px 2px;scrollbar-width:thin;scrollbar-color:var(--line) transparent} /* max-height 给底部求片表单腾空间 */
.rq-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px;transition:.2s}
.rq-item:hover{background:rgba(255,255,255,.1)}
.rqi-info{min-width:0}
.rqi-info b{display:block;font-size:13px;color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rqi-info span{font-size:11.5px;color:var(--muted)}
.rqi-go{font-style:normal;color:var(--muted);flex:none;font-size:16px}
/* 求片窗：标题行右对齐「查看全部求片」+ 底部就地求片表单 */
.hp-title.rq-t{display:flex;align-items:baseline;justify-content:space-between}
.hp-title-more{font-size:11.5px;font-weight:400;color:var(--muted);transition:.15s}
.hp-title-more:hover{color:var(--brand)}
.rq-form{display:flex;gap:8px;margin-top:10px}
.rq-form input{flex:1;min-width:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#fff;font-size:12.5px;padding:8px 11px;outline:none;transition:.15s;font-family:inherit}
.rq-form input:focus{border-color:var(--brand);background:rgba(255,255,255,.09)}
.rq-form input::placeholder{color:#6d6d80}
.rq-form button{flex:none;border:0;background:var(--brand);color:#fff;font-size:12.5px;font-weight:600;border-radius:9px;padding:0 16px;cursor:pointer;transition:.15s;font-family:inherit}
.rq-form button:hover{filter:brightness(1.12)}
.rq-form button:disabled{opacity:.55;cursor:default}
.rq-tip{margin-top:7px;font-size:11.5px;color:#00c896}
.rq-tip.err{color:#ffb020}

/* ---------- 播放页暂停广告（iqiyi 式：暂停后视频画面缩小为居中小窗，广告铺满整个播放器，恢复播放还原） ---------- */
.pause-ad{position:absolute;inset:0;z-index:6;display:none;background-color:#000;background-size:cover;background-position:center;overflow:hidden}
/* iqiyi 式三区：b 暂停背景（后台可配图铺满） > a 广告展示板（左侧居中） / c 影片小窗（右下角，由 .ad-pause #video 缩放） */
.pause-ad .pa-board{position:absolute;left:3.5%;top:50%;transform:translateY(-50%);width:68%;height:70%;cursor:pointer;background:rgba(16,16,24,.5);border:1px solid rgba(255,255,255,.08);border-radius:10px}
.pause-ad .pa-media{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:inherit}
.pause-ad .pa-media img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.pause-ad .pa-media video{width:100%;height:100%;object-fit:cover;display:block}
.pause-ad .pa-txt{color:#8a8aa5;font-size:15px;letter-spacing:2px}
/* 控件挂在播放器层（非广告板内）：左上「广告」角标 / 右上「关闭广告，精彩继续」+ 声音开关 / 全层点击跳转（影片小窗与顶栏按钮除外） */
.pause-ad .pa-topbar{position:absolute;top:14px;right:14px;z-index:3;display:flex;align-items:center;gap:10px}
.pause-ad .pa-tag{position:absolute;top:14px;left:14px;z-index:2;font-size:12px;color:#fff;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.28);border-radius:4px;padding:3px 10px;pointer-events:none}
.pause-ad .pa-close{height:30px;padding:0 14px;border:none;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:7px}
.pause-ad .pa-close:hover{background:rgba(0,0,0,.78)}
/* 暂停广告期间：视频缩小为右下角小窗（transform 变换实现，不改布局定位）——
   恢复播放时 transform 平滑过渡回全屏，视觉上由小窗位置原地展开（而非从默认定位跳变）；
   点击小窗=恢复播放，点击其余区域=打开广告跳转链接 */
.player #video{transition:transform .35s ease,border-radius .35s ease,box-shadow .35s ease}
.player.ad-pause #video{position:absolute;inset:0;transform:translate(calc(38.5% - 16px),calc(38.5% - 70px)) scale(.23);z-index:7;box-shadow:0 14px 40px rgba(0,0,0,.6);border-radius:8px;cursor:pointer}
/* 缩小小窗中央的「恢复播放」透明胶囊按钮（iqiyi 式）：仅装饰层，pointer-events:none 点击穿透到视频小窗本身 → 单击即恢复播放 */
.pa-playbtn{display:none;position:absolute;right:16px;bottom:70px;width:23%;aspect-ratio:16/9;align-items:center;justify-content:center;z-index:8;pointer-events:none}
.pa-playbtn::after{content:'▶ 恢复播放';display:flex;align-items:center;padding:0 18px;height:38px;border-radius:19px;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.55);color:#fff;font-size:13px;letter-spacing:2px;white-space:nowrap;backdrop-filter:blur(4px);box-shadow:0 4px 16px rgba(0,0,0,.4)}
.player.ad-pause .pa-playbtn{display:flex}
/* 广告位视频素材的声音开关（SVG 图标，位于广告板顶部「关闭广告，精彩继续」同行左侧；图片/HTML 素材不出现） */
.ad-mute{width:34px;height:30px;border-radius:999px;border:none;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:.2s}
.ad-mute:hover{background:rgba(0,0,0,.78)}
.ad-mute svg{display:block}

/* ============ 高分屏自适应（iqiyi 式：宽屏自动增列/增卡填充，压缩两侧留白） ============ */
/* 主海报栅格 grid6 已改 auto-fill 连续增列；此处对容器宽度与横滚行/短剧竖版栅格做台阶加宽（min-width 与手机/平板 max-width 块互不重叠） */
@media (min-width:1680px){
  .wrap{max-width:1740px}
  .film-row:not(.film-row-v) .card{flex-basis:calc((100% - 64px)/5)} /* 横滚行 5 卡/屏——:not 排除短剧竖版行（v-card 含 card 类曾被误伤成 5 张巨卡，已修） */
  .grid-v{grid-template-columns:repeat(10,1fr)} /* 短剧竖版：容器加宽列数等比+，单卡≈154px 小于基准 166px（曾 9 列 172px 致高分屏短剧反比基准大，已修） */
}
@media (min-width:2000px){
  .wrap{max-width:1980px}
  .film-row:not(.film-row-v) .card{flex-basis:calc((100% - 80px)/6)} /* 横滚行 6 卡/屏（5 间隙×16px）——:not 排除短剧竖版行 */
  .grid-v{grid-template-columns:repeat(11,1fr)} /* 短剧竖版：单卡≈160px 仍小于基准（10 列曾 177px 偏大） */
}

/* ============ 个人中心 DZ 论坛式重构（site_user.php）：横幅用户卡 / 资产数据条 / Tab 主栏 / 模块卡侧栏 ============ */
/* ① 横幅用户卡：暗色蓝灰渐变（DZ 论坛 hero 风），圆头像白描边、与资料文字垂直居中 */
.uch{position:relative;margin:22px 0 20px;border-radius:16px;background:linear-gradient(115deg,#2c3a55,#46639b);border:1px solid rgba(255,255,255,.1)}
.uch-in{display:flex;align-items:center;gap:18px;padding:24px 26px}
.uch-ava{width:92px;height:92px;box-sizing:border-box;border-radius:50%;background:linear-gradient(135deg,var(--brand),#7a2bff);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:#fff;flex:none;overflow:hidden;border:3px solid rgba(255,255,255,.88);box-shadow:0 6px 22px rgba(0,0,0,.45)}
.uch-ava img{width:100%;height:100%;object-fit:cover}
.uch-ava.av-p1{background:linear-gradient(135deg,var(--brand),#ff7a45)}
.uch-ava.av-p2{background:linear-gradient(135deg,#7b5cff,#4dc4ff)}
.uch-ava.av-p3{background:linear-gradient(135deg,#00b578,#7ce7b0)}
.uch-ava.av-p4{background:linear-gradient(135deg,#ff9f1c,#ffd166)}
.uch-ava.av-p5{background:linear-gradient(135deg,#e6397e,#ff7ab0)}
.uch-ava.av-p6{background:linear-gradient(135deg,#0ea5e9,#7dd3fc)}
.uch-ava.av-p7{background:linear-gradient(135deg,#64748b,#a8b8cf)}
.uch-ava.av-p8{background:linear-gradient(135deg,#111827,#4b5563)}
.uch .uc-ava-wrap .av-crown{width:26px;height:26px;top:-8px;left:-8px}
.uch-info{flex:1;min-width:0;color:#fff}
.uch-name-row{display:flex;align-items:center;gap:10px;margin-bottom:7px;flex-wrap:wrap}
.uch-name-row h2{font-size:24px;font-weight:700;letter-spacing:.5px;margin:0;line-height:1.2}
.uch-sex{font-style:normal;flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;color:#fff}
.uch-sex.m{background:#3d8bff}
.uch-sex.f{background:#ff6ba9}
.uch-sign{margin:0 0 6px;font-size:13.5px;color:rgba(255,255,255,.82);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uch-meta{margin:0;font-size:12.5px;color:rgba(255,255,255,.58);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uch-edit{flex:none;align-self:flex-start;margin-left:auto;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.42);color:#fff;font-size:13px;font-weight:600;padding:7px 18px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.18s}
.uch-edit:hover{background:rgba(255,255,255,.26)}
/* ② 资产数据条：四格暗色卡（星河币 / VIP 剩余 / 签到 / 求片） */
.ustats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border:1px solid #23232e;border-radius:14px;margin-bottom:20px;overflow:hidden}
.ustats .us{padding:16px 10px;text-align:center;border-left:1px solid #1f1f2a;min-width:0}
.ustats .us:first-child{border-left:0}
.ustats .us b{display:block;font-size:19px;font-weight:700;color:#fff;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ustats .us span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.ustats .us.hot b{color:var(--gold)}
.ustats .us.ok b{color:#00c896}
/* ③ 主栏容器：防 grid 溢出 */
.uc-main{min-width:0}
/* ④ 资料编辑面板（点击头像/编辑资料展开）：独立三区卡（基本资料 / 头像 / 修改密码），覆盖旧 hero 内嵌样式 */
.uc-edit-panel{margin:-2px 0 20px;padding:20px 22px;background:var(--card);border:1px solid #23232e;border-radius:14px;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px}
.uc-ep-sec{min-width:0}
.uc-ep-sec h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#f2f2f6;display:flex;align-items:center;gap:8px}
.uc-ep-sec h4::before{content:"";width:3px;height:13px;border-radius:2px;background:var(--brand);flex:none}
.uc-ep-pwd-tg{background:none;border:0;padding:0;color:#f2f2f6;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.uc-ep-pwd-tg:hover{color:var(--acc-soft)}
.uc-ep-form{display:flex;flex-direction:column;gap:10px}
.uc-ep-form input,.uc-ep-form select{width:100%;box-sizing:border-box;background:var(--bg2);border:1px solid #2c2c36;border-radius:10px;color:#eee;padding:10px 13px;font-size:13.5px;font-family:inherit;transition:border-color .2s}
.uc-ep-form input:focus,.uc-ep-form select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,46,77,.12)}
.uc-ep-form input[type=date]{color-scheme:dark}
.uc-ep-form label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted)}
.uc-ep-form button{align-self:flex-start;background:linear-gradient(135deg,var(--brand),#ff5a3c);color:#fff;border:0;border-radius:10px;padding:10px 20px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:.18s}
.uc-ep-form button:hover{filter:brightness(1.1)}
.uc-ep-prof{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.uc-ep-prof label.grow{grid-column:1/-1}
.uc-ep-prof button{grid-column:1/-1}
@media (max-width:900px){.uc-edit-panel{grid-template-columns:1fr}}
/* ⑤ 主栏 Tab 条：卡内胶囊切换（历史/消息/求片/推广），未读红点徽标 */
.utabs{display:flex;gap:4px;background:var(--card);border:1px solid #23232e;border-radius:14px;padding:6px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none}
.utabs::-webkit-scrollbar{display:none}
.utabs button{flex:none;position:relative;background:none;border:0;color:var(--muted);font-size:14px;font-weight:600;font-family:inherit;padding:9px 18px;border-radius:9px;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}
.utabs button:hover{color:#e8e8ee;background:rgba(255,255,255,.05)}
.utabs button.on{color:#fff;background:rgba(255,46,77,.16)}
.utab-n{font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--brand);color:#fff;font-size:10.5px;font-weight:700;vertical-align:2px}
.utab-n.g{background:#3f3f52;color:#d5d5e2}
.utab-panel{display:none}
.utab-panel.on{display:block}
/* ⑥ 侧栏最近访客：圆块网格 */
.uc-vis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.uc-v{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#7b5cff,#4dc4ff);color:#fff;font-size:13px;font-weight:600;cursor:default;overflow:hidden;user-select:none}
/* ⑦ 手机端降级：横幅收紧、头像缩小、数据条保持 4 列缩格、编辑面板单列、Tab 横滑 */
@media (max-width:700px){
  .uch{margin:14px 0 16px}
  .uch-in{flex-wrap:wrap;gap:14px;padding:20px 14px}
  .uch-ava{width:74px;height:74px;font-size:28px}
  .uch .uc-ava-wrap .av-crown{width:21px;height:21px;top:-6px;left:-6px}
  .uch-info{flex:1;min-width:0}
  .uch-name-row h2{font-size:19px}
  .uch-sign{font-size:12.5px}
  .uch-edit{padding:5px 13px;font-size:12px}
  .ustats{margin-bottom:16px}
  .ustats .us{padding:11px 3px}
  .ustats .us b{font-size:14.5px}
  .ustats .us span{font-size:10.5px}
  .uc-edit-panel{padding:14px}
  .uc-ep-prof{grid-template-columns:1fr}
  .uc-ep-prof label.grow,.uc-ep-prof button{grid-column:auto}
  .utabs{padding:5px;gap:3px;margin-bottom:12px}
  .utabs button{padding:8px 13px;font-size:13px}
}

/* ⑧ 头像裁剪编辑器：全屏遮罩 + 圆形取景框（大阴影盖角）+ 缩放滑杆 */
.ac-mask{position:fixed;inset:0;z-index:400;background:rgba(5,6,10,.78);display:flex;align-items:center;justify-content:center;padding:16px}
.ac-mask[hidden]{display:none}
.ac-panel{width:min(92vw,380px);background:#16161f;border:1px solid #2a2a3c;border-radius:16px;padding:18px;box-shadow:0 18px 60px rgba(0,0,0,.6)}
.ac-panel h4{margin:0 0 14px;font-size:15px;font-weight:600;color:#fff}
.ac-view{position:relative;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#0d0d13;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.ac-view.dragging{cursor:grabbing}
.ac-view img{position:absolute;left:0;top:0;max-width:none;display:block;pointer-events:none}
.ac-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 9999px rgba(0,0,0,.55);pointer-events:none}
.ac-zoom{display:flex;align-items:center;gap:10px;margin-top:14px}
.ac-zoom button{width:30px;height:30px;border-radius:50%;border:1px solid #3a3a48;background:var(--card2);color:#e8e8ee;font-size:15px;line-height:1;cursor:pointer;padding:0;flex:none;display:flex;align-items:center;justify-content:center}
.ac-zoom button:hover{border-color:var(--brand);color:#fff}
.ac-zoom input[type=range]{flex:1;accent-color:var(--brand);cursor:pointer}
.ac-tip{margin:10px 0 0;font-size:12px;color:var(--muted);text-align:center}
.ac-ops{display:flex;gap:10px;margin-top:14px}
.ac-ops button{flex:1;border:0;border-radius:10px;padding:11px 0;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.ac-ops button.ghost{background:var(--card2);border:1px solid #3a3a48;color:var(--muted)}
.ac-ops button.ghost:hover{color:#fff;border-color:var(--muted)}
.ac-ops button#acOk{background:linear-gradient(135deg,var(--brand),#ff5a3c);color:#fff}
.ac-ops button#acOk:hover{filter:brightness(1.1)}
.ac-ops button#acOk:disabled{opacity:.5;cursor:not-allowed}

/* ⑩ 在追（对标爱优腾追剧）：播放页按钮 + 个人中心在追网格 + 悬浮窗入口 */
.vi-follow svg{fill:currentColor;opacity:.75;transition:.15s}
.vi-follow:hover{color:var(--text)}
.vi-follow.on{color:var(--brand);background:rgba(255,46,77,.12)}
.vi-follow.on svg{opacity:1;animation:viFollowPop .3s}
@keyframes viFollowPop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.uc-empty{padding:34px 10px;text-align:center;font-size:13.5px;color:var(--muted)}
.fol-new-tip{font-style:normal;margin-left:10px;padding:3px 10px;border-radius:10px;background:rgba(255,46,77,.14);color:var(--brand);font-size:11.5px;font-weight:600;vertical-align:2px}
.uf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.uf-card{position:relative;border-radius:12px;background:var(--card2);overflow:hidden;transition:.15s}
.uf-card:hover{transform:translateY(-2px)}
.uf-cover{position:relative;display:block;aspect-ratio:16/9;background:var(--line)}
.uf-cover img{width:100%;height:100%;object-fit:cover;display:block}
.uf-rem{position:absolute;left:0;bottom:0;right:0;padding:14px 8px 5px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:11px;font-style:normal;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uf-dot{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px rgba(255,46,77,.25)}
.uf-info{display:flex;flex-direction:column;gap:3px;padding:9px 10px 10px}
.uf-name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uf-name:hover{color:var(--brand)}
.uf-since{font-size:11px;color:var(--muted)}
.uf-un{position:absolute;top:8px;left:8px;opacity:0;transition:.15s}
.uf-card:hover .uf-un{opacity:1}
.uf-un button{width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#cfcfda;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.uf-un button:hover{background:var(--brand);color:#fff}
.up-fol{position:relative}
.up-fol.has-new{color:#ffd7dd}
.up-fol-n{position:absolute;top:-4px;right:-7px;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 2px rgba(22,22,31,.9)}
@media (max-width:700px){
  .uf-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .uf-info{padding:8px 9px 9px}
  .uf-name{font-size:12.5px}
}

/* ---------- 播放页讨论区（iqiyi 式：发表/点赞/一层回复/删除） ---------- */
/* iqiyi 式右栏 Tab：「视频 | 讨论 N」下划线高亮 */
.side-tabs{display:flex;gap:24px;margin-bottom:4px}
.side-tabs button{position:relative;background:none;border:0;padding:8px 0 10px;font-size:15.5px;color:var(--muted);cursor:pointer;transition:color .15s;font-family:inherit}
.side-tabs button:hover{color:var(--text)}
.side-tabs button.on{color:var(--text);font-weight:700}
.side-tabs button.on::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:var(--brand)}
.side-tabs button span{font-size:12.5px;font-weight:400;opacity:.8;margin-left:1px}
.cmt-box .cmt-form{margin-top:12px}
/* 评论时间线链接：/t3/03:55 → 第3集 3分55秒（同集就地 seek、跨集 URL ?t= 跳转） */
.cmt-ts{color:var(--brand);text-decoration:none;cursor:pointer}
.cmt-ts:hover{text-decoration:underline}
.cmt-box textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--text);font-size:13px;padding:10px 12px;resize:none;line-height:1.6;outline:none;transition:border-color .15s;font-family:inherit}
.cmt-box textarea:focus{border-color:rgba(255,46,77,.45)}
.cmt-form-ops{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px}
.cmt-num{font-size:11.5px;color:var(--muted)}
.cmt-send{border:0;cursor:pointer;background:var(--brand);color:#fff;font-size:12.5px;padding:6px 18px;border-radius:16px;transition:filter .15s}
.cmt-send:hover{filter:brightness(1.12)}
.cmt-cancel{border:0;cursor:pointer;background:rgba(255,255,255,.08);color:var(--muted);font-size:12.5px;padding:6px 14px;border-radius:16px}
.cmt-cancel:hover{color:#fff}
.cmt-login{display:block;margin-top:12px;font-size:12.5px;color:var(--muted);padding:12px;text-align:center;border:1px dashed rgba(255,255,255,.14);border-radius:10px;transition:.15s}
.cmt-login:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.cmt-list{margin-top:6px}
.cmt-item{display:flex;gap:10px;padding:12px 0;border-top:1px solid rgba(255,255,255,.05)}
.cmt-item:first-child{border-top:0}
.cmt-item.cmt-reply{padding-left:10px}
.cmt-ava{position:relative;flex:none;width:34px;height:34px}
.cmt-ava .avatar{width:34px;height:34px;font-size:15px}
.cmt-ava img{position:absolute;inset:0;width:34px;height:34px;border-radius:50%;object-fit:cover}
.cmt-body{flex:1;min-width:0}
.cmt-hd{display:flex;align-items:baseline;gap:8px}
.cmt-name{font-size:12.5px;color:#a8a8ba;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
.cmt-time{font-size:11px;color:#71717f;flex:none}
.cmt-txt{margin:5px 0 0;font-size:13.5px;color:var(--text);line-height:1.7;word-break:break-word}
.cmt-rto{color:#a8a8ba}
.cmt-ops{display:flex;gap:16px;margin-top:7px}
.cmt-ops span{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);cursor:pointer;user-select:none;transition:color .15s}
.cmt-ops span:hover{color:#fff}
.cmt-like svg{width:14px;height:14px;display:block}
.cmt-like.on,.cmt-like.on:hover{color:var(--brand)}
.cmt-del.arm{color:#ff5f5f}
.cmt-replybar{margin-top:8px}
.cmt-replybar textarea{font-size:12.5px;padding:8px 10px}
.cmt-more{display:block;width:100%;margin-top:10px;background:rgba(255,255,255,.05);border:0;color:var(--muted);font-size:12.5px;padding:9px;border-radius:8px;cursor:pointer;transition:.15s}
.cmt-more:hover{background:rgba(255,255,255,.1);color:#fff}
@media (max-width:700px){
  /* iOS Safari：textarea 字号 <16px 聚焦时页面自动放大，手机端锁 16px */
  .cmt-box textarea{font-size:16px}
  .cmt-name{max-width:130px}
}
/* 手机端筛选条不吸顶（顶栏两行高度不定，且小屏吸顶占空间）：恢复常规流式布局 */
@media (max-width:700px){
  .filter-bar{position:static;margin:0 0 18px;padding:0;background:none;border-bottom:none}
}
