/* ===== 全局用户体验优化 ===== */
/* 页面打开淡入过渡，不白屏闪 */
body{animation:pageFadeIn .1s ease-out;}
@keyframes pageFadeIn{from{opacity:0;}to{opacity:1;}}
/* 手机端所有按钮点击触摸反馈 */
a,button,.btn,.vod-card,.topbar a,.mobile-nav a,.ep-item,.filter-btn{
  -webkit-tap-highlight-color:transparent;
  transition:transform .1s ease, opacity .1s ease;
}
a:active,button:active,.btn:active,.vod-card:active,.topbar a:active,.mobile-nav a:active,.ep-item:active,.filter-btn:active{
  transform:scale(.96);opacity:.8;
}
/* 图片加载失败默认占位 */
img{background:#2d2d35;}
/* 全局toast提示固定屏幕正中间 */
#globalToast{
  position:fixed !important;left:50% !important;top:50% !important;
  transform:translate(-50%,-50%) !important;
  background:rgba(0,0,0,.85) !important;color:#fff !important;
  padding:12px 24px !important;border-radius:6px !important;
  z-index:999999 !important;font-size:14px !important;
  opacity:0;pointer-events:none;
  transition:opacity .2s ease;
}
#globalToast.show{opacity:1;}
/* 滚动加载底部提示 */
#loadMoreTip{
  text-align:center;padding:16px;color:#888;font-size:13px;
}
/* 骨架屏占位 */
.skeleton-card{
  background:var(--bg2,#242429);
  border-radius:8px;overflow:hidden;
}
.skeleton-poster{
  width:100%;aspect-ratio:2/3;
  background:linear-gradient(90deg,#2d2d35 25%,#3a3a42 50%,#2d2d35 75%);
  background-size:200% 100%;
  animation:skeletonLoad 1.5s infinite;
}
.skeleton-line{
  height:12px;margin:8px;background:linear-gradient(90deg,#2d2d35 25%,#3a3a42 50%,#2d2d35 75%);
  background-size:200% 100%;
  animation:skeletonLoad 1.5s infinite;border-radius:4px;
}
@keyframes skeletonLoad{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
/* ===== 原有样式 ===== */
/* 全局视频不拉伸，保持比例，iOS下不飘位置 */
.art-video-player video{object-fit:contain!important;width:100%!important;height:100%!important;background:#000;display:block;}
/* 彻底隐藏Artplayer自带的加载转圈，只用我们自己的加载层 */
.art-video-player .art-loading{display:none!important;}
body:not(.player-v) #artplayer{width:100%;position:relative;aspect-ratio:16/9;}
body:not(.player-v) #artplayer .art-video-player{width:100%;height:100%!important;}
/* 主站底部导航强制固定在最底部，滚动不会跑 */
.mobile-nav{position:fixed!important;bottom:0;left:0;right:0;z-index:9999;}
body{padding-bottom:60px;}
/* 禁止iOS双指缩放 */
html, body{touch-action: pan-x pan-y!important;max-width:100%;-webkit-user-scalable:no;user-scalable:no;}
input, textarea, select{font-size:16px!important;}
/* 全局去圆角 */
*{border-radius:0!important}
/* 默认深色模式：你上传的是黑图，反成柔和米白色，和主站文字颜色一致，不是刺眼纯白 */
.site-logo{filter:invert(1) brightness(0.85)}
/* 浅色/白色模式：黑logo直接显示，自然是深灰色，和文字颜色一致 */
html[data-theme="light"] .site-logo{filter:none}
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#1a1a1e;--bg2:#242429;--bg3:#2d2d35;--border:#3a3a42;
  --text:#fff;--text2:#b0b0c0;--text3:#888898;
  --accent:#e50914;--accent2:#ff8c42;--green:#27ae60;--red:#e74c3c;--orange:#f39c12;
}
body{font-family:'Noto Sans SC',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
a{color:var(--accent);text-decoration:none}
button{cursor:pointer;border:none;outline:none;font-family:inherit}
input,select,textarea{font-family:inherit;outline:none}

/* ========== 顶部导航 ========== */
.topbar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--bg);backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid var(--border)}
.topbar-inner{max-width:1400px;margin:0 auto;height:100%;display:flex;align-items:center;gap:16px;padding:0 32px}
.topbar .logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:20px;white-space:nowrap;cursor:pointer;margin-right:8px;color:var(--text)}
.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}
.dropdown-divider{height:1px;background:var(--border);margin:6px 0}
.login-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100000;display:none;align-items:center;justify-content:center}
.login-modal.show{display:flex}
.login-box{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:28px;width:340px}
.login-box h3{margin:0 0 20px;font-size:18px}
.login-box input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;margin-bottom:12px}
.login-box button{width:100%;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px;font-size:14px;cursor:pointer}
.topbar .logo-accent{color:var(--accent)}
.topbar .search-box{width:360px;position:relative;flex-shrink:0}
.topbar .search-box input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:8px 16px 8px 38px;color:var(--text);font-size:13px}
.topbar .search-box input:focus{border-color:var(--accent)}
.topbar .search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text3)}
.topbar .search-go{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:var(--accent);color:#fff;border:none;border-radius:16px;padding:5px 14px;font-size:12px;cursor:pointer}
.topbar nav{display:flex;gap:2px;align-items:center}
.topbar nav a{padding:6px 14px;border-radius:8px;color:var(--text2);font-size:16px;transition:.2s;cursor:pointer}
.topbar nav a.active{background:var(--accent);color:#fff}
.topbar nav a:hover:not(.active){background:var(--bg3);color:var(--text)}
.topbar .admin-link{font-size:12px;color:var(--text3);padding:6px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:.2s}
.topbar .admin-link:hover{color:var(--text);border-color:var(--accent)}
.topbar .theme-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);cursor:pointer;transition:.2s;color:var(--text2)}
.topbar .theme-toggle:hover{color:var(--accent);border-color:var(--accent)}
.top-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg3);cursor:pointer;transition:.2s;color:var(--text2)}
.top-icon:hover{color:var(--accent)}
.top-icon-group{position:relative}
.dropdown-menu{position:absolute;top:44px;left:50%;transform:translateX(-50%);background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:8px;min-width:160px;box-shadow:0 8px 24px rgba(0,0,0,.3);display:none;z-index:200}
.dropdown-menu.show{display:block}
.dropdown-title{font-size:13px;color:var(--text);padding:10px 8px;text-align:center;border-bottom:1px solid var(--border);margin-bottom:4px;font-weight:500}
.dropdown-item{padding:5px 8px;border-radius:6px;font-size:13px;cursor:pointer;transition:.2s;text-align:center}
.dropdown-item:hover{background:var(--bg3);color:var(--accent)}
.dropdown-footer{font-size:12px;color:var(--text3);padding:8px 8px 4px;text-align:center;border-top:1px solid var(--border);margin-top:4px}
.dropdown-footer a{color:var(--accent);cursor:pointer}
.color-swatches{display:flex;gap:10px;padding:8px 4px}
.swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;transition:.2s;border:2px solid transparent}
.swatch:hover{transform:scale(1.15)}
.swatch.active{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}
.search-wrap{position:relative;display:flex;align-items:center}
.search-wrap .search-box{position:absolute;right:48px;width:300px;opacity:0;pointer-events:none;transition:all .3s}
.search-wrap.open .search-box{opacity:1;pointer-events:auto;right:48px}
.search-wrap.open .top-icon{display:none}
[data-theme="light"]{--bg:#f4f4f5;--bg2:#fff;--bg3:#ececee;--text:#111;--text2:#555;--text3:#777;--border:#e0e0e0;--accent:#e50914;--accent2:#ff8c42;--green:#27ae60;--orange:#e67e22;--red:#c0392b}

.app{padding-top:56px;min-height:100vh;max-width:1400px;margin:0 auto;padding-left:32px;padding-right:32px}
.view{display:none;min-height:calc(100vh - 56px)}
.only-mobile{display:none}
@media(max-width:768px){.only-mobile{display:inline}}
.view.active{display:block}

/* ========== Hero 轮播 ========== */
.hero{position:relative;height:650px;overflow:hidden;width:100vw}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s}
.hero-slide.active{opacity:1}
.hero-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:120px;font-weight:900;color:rgba(255,255,255,.08)}
.hero-slide.s1 .hero-bg{background:linear-gradient(135deg,#1a1a2e,#16213e)}
.hero-slide.s2 .hero-bg{background:linear-gradient(135deg,#0f2027,#2c5364)}
.hero-slide.s3 .hero-bg{background:linear-gradient(135deg,#2d1b1b,#6b2d2d)}
.hero-slide.s4 .hero-bg{background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,transparent 25%),linear-gradient(to right,rgba(10,10,11,.4) 0%,transparent 60%)}
.hero-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 32px}
.hero-tag{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;background:rgba(0,0,0,.5);color:#fff;margin-bottom:12px;width:fit-content}
.hero-title{font-size:42px;font-weight:900;margin-bottom:8px;text-shadow:0 2px 20px rgba(0,0,0,.5);color:#fff}
.hero-meta{font-size:14px;color:rgba(255,255,255,.8);margin-bottom:16px}
.hero-desc{font-size:14px;color:rgba(255,255,255,.7);max-width:520px;line-height:1.7;margin-bottom:24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero-actions{display:flex;gap:12px}
.btn-play{padding:10px 28px;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px;transition:.2s}
.btn-play:hover{opacity:.9}
.btn-ghost{padding:10px 20px;border-radius:8px;background:rgba(255,255,255,.1);color:var(--text);font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:.2s}
.btn-ghost:hover{background:rgba(255,255,255,.2)}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:.2s}
.hero-dot.active{background:var(--accent);width:24px;border-radius:4px}

/* ========== 通用板块 ========== */
.section{margin:0;padding:32px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-title{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:16px}
.section-title::before{display:none}
.section-more{font-size:13px;color:var(--text3);cursor:pointer}
.section-more:hover{color:var(--accent)}

/* ========== 卡片网格 ========== */
.card-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:start}
.v-card{cursor:pointer;transition:.2s;display:block;min-width:0}
.v-card:hover{transform:translateY(-4px)}
.v-poster{position:relative;width:100%;height:0;padding-bottom:150%;overflow:hidden;background:linear-gradient(135deg,#2d2d2d,#1e1e1e)}
.v-poster img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.v-poster .badge{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;padding:2px 10px;font-size:11px;font-weight:400;z-index:2;border-radius:4px;backdrop-filter:blur(4px)}
.v-badge-remark{position:absolute;bottom:8px;left:1px;background:rgba(0,0,0,.25);color:#fff;padding:2px 8px;font-size:11px;font-weight:400;z-index:2;border-radius:0;text-align:left;max-width:98%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-poster .ep-badge{position:absolute;bottom:0;left:1px;width:98%;background:linear-gradient(to top,rgba(0,0,0,.25),transparent);padding:20px 8px 8px;font-size:12px;font-weight:400;z-index:2;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-info{padding:8px 4px}
.v-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-sub{font-size:12px;color:var(--text3);margin-top:2px}
.p1{background:linear-gradient(160deg,#2a2a35,#1a1a22)}
.p2{background:linear-gradient(160deg,#2d2a25,#1a1814)}
.p3{background:linear-gradient(160deg,#2a2530,#1a1520)}
.p4{background:linear-gradient(160deg,#252a2e,#14181c)}
.p5{background:linear-gradient(160deg,#2e2525,#1a1414)}
.p6{background:linear-gradient(160deg,#2a2830,#151420)}
.p7{background:linear-gradient(160deg,#252830,#121620)}
.p8{background:linear-gradient(160deg,#3a1c71,#d76d77)}
.p9{background:linear-gradient(160deg,#1a2980,#26d0ce)}
.p10{background:linear-gradient(160deg,#603813,#b29f94)}

/* ========== 追剧日历 ========== */
.cal-week{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.cal-day{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px 10px;text-align:center;cursor:pointer;transition:.2s}
.cal-day:hover{border-color:var(--accent)}
.cal-day.today{border-color:var(--accent);background:var(--accent);color:#fff}
.cal-day.today .cal-dow,.cal-day.today .cal-date,.cal-day.today .cal-count{color:#fff!important}
.cal-dow{font-size:12px;color:var(--text3)}
.cal-date{font-size:20px;font-weight:700;margin:4px 0}
.cal-count{font-size:11px;color:var(--accent)}

/* ========== 继续观看 ========== */
.hist-row{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;padding-bottom:8px;touch-action:pan-x;-webkit-overflow-scrolling:touch}
.hist-row::-webkit-scrollbar{height:0}
.hist-card{flex:0 0 calc((100% - 70px)/6);cursor:pointer;transition:.2s;min-width:0}
.hist-card:hover{transform:translateY(-3px)}
.hist-poster{width:100%;height:110px;border-radius:8px;overflow:hidden;background:#1a1a1a;position:relative;flex-shrink:0}
.hist-poster img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;left:0}
.hist-label{font-size:12px;color:var(--text2);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slide-arrow{width:28px;height:28px;border-radius:50%;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--text2);transition:.2s;user-select:none}
.slide-arrow:hover{color:var(--accent);border-color:var(--accent)}

/* ========== 列表页 ========== */
.list-page{margin:0;padding:20px 0}
.list-page{padding-top:20px}
.list-header{margin-bottom:8px;display:flex;justify-content:space-between;align-items:baseline}
.list-header .page-title{font-size:20px;font-weight:600;margin-bottom:0}
.list-header .page-desc{font-size:13px;color:var(--text3);margin-bottom:0}
/* 搜索页标题栏渐变框 */
#view-list.search-mode .list-header{padding:20px 24px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),color-mix(in srgb,var(--accent) 2%,transparent))}
.filter-box{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:20px}
.filter-row{display:flex;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border)}
.filter-row:last-child{border-bottom:none}
.filter-label{width:40px;font-size:13px;color:var(--accent);padding-top:5px;flex-shrink:0}
.filter-opts{display:flex;gap:6px;flex-wrap:wrap}
.filter-opt{padding:5px 14px;border-radius:6px;font-size:12px;background:var(--bg3);color:var(--text2);cursor:pointer;transition:.2s;border:1px solid transparent}
.filter-opt:hover{color:var(--text)}
.filter-opt.active{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.sort-tabs{display:flex;gap:8px;margin-bottom:16px}
.sort-tab{padding:8px 20px;border-radius:8px;font-size:13px;background:var(--bg3);color:var(--text2);cursor:pointer;transition:.2s;border:1px solid var(--border);display:flex;align-items:center;gap:4px}
.sort-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.sort-tab.active .rec-star{color:#fff!important}
.page-btn{padding:8px 16px;border-radius:8px;font-size:13px;background:var(--bg3);color:var(--text2);cursor:pointer;border:1px solid var(--border)}
.page-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.page-btn.cur{background:var(--accent);color:#fff;border-color:var(--accent)}
.page-btn:disabled{opacity:.4;cursor:default}
.list-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:start}
.list-card{cursor:pointer;transition:.2s}
.list-card:hover{transform:translateY(-3px)}
.list-poster{aspect-ratio:2/3;border-radius:8px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;color:rgba(255,255,255,.9);text-align:center;padding:10px}
.list-badge{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;font-size:11px;padding:2px 8px;border-radius:4px}
.list-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;padding:20px 10px 8px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);font-size:12px}
.list-views{color:#fff;display:flex;align-items:center;gap:4px}
.list-rate{color:#4ecca3;font-weight:700;font-size:16px}
.list-name{font-size:13px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ========== 观看记录侧边栏 ========== */
.history-panel{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}
.side-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid var(--border)}
.side-tab{padding:8px 16px;font-size:13px;color:var(--text3);cursor:pointer;transition:.2s;border-bottom:2px solid transparent;margin-bottom:-1px}
.side-tab:hover{color:var(--text2)}
.side-tab.active{color:var(--text);font-weight:600;border-bottom-color:var(--accent)}
.side-tab .cnt{font-size:11px;margin-left:2px;color:var(--accent)}
.side-tab-content{display:none}
.side-tab-content.active{display:block}
.side-empty{text-align:center;padding:30px 10px;color:var(--text3);font-size:13px}
.history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.history-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}
.history-title .cnt{background:var(--accent);color:#fff;font-size:10px;padding:1px 6px;border-radius:8px}
.history-more{font-size:12px;color:var(--text3);cursor:pointer}
.history-more:hover{color:var(--accent)}
.history-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:.2s}
.history-item:last-child{border-bottom:none}
.history-item:hover .h-name{color:var(--accent)}
.h-poster{width:48px;height:64px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:rgba(255,255,255,.9);text-align:center;padding:2px;overflow:hidden}
.h-info{flex:1;min-width:0}
.h-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-progress{font-size:11px;color:var(--text3);margin-top:3px}
.h-bar{height:3px;background:var(--bg3);border-radius:2px;margin-top:5px;overflow:hidden}
.h-bar .fill{height:100%;background:var(--accent);border-radius:2px}

/* ========== 快捷操作 ========== */
.quick-btn{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(229,9,20,.4);z-index:200;transition:.2s;font-size:11px;font-weight:600}
/* 手机端底部导航 */
.mobile-nav{display:none}
.mnav-scroll{display:flex;overflow-x:auto;flex:1;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mnav-scroll::-webkit-scrollbar{display:none}
.mnav-fade{position:absolute;right:48px;top:0;bottom:0;width:30px;background:linear-gradient(to right,transparent,var(--bg2));pointer-events:none}
/* 个人中心 */
.mine-page{padding-top:20px}
.notfound-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}
/* 网站底部 */
.site-footer{padding:24px 16px;text-align:center;border-top:1px solid var(--border);margin-top:20px}
.footer-links{display:flex;justify-content:center;gap:20px;margin-bottom:12px;flex-wrap:wrap}
.footer-links a{font-size:13px;color:var(--text2);text-decoration:none}
.footer-links a:hover{color:var(--accent)}
.footer-copy{font-size:12px;color:var(--text3);line-height:1.6}
/* 弹窗公告 */
.notice-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.notice-box{background:var(--bg2);border-radius:14px;padding:30px;max-width:400px;width:100%;text-align:center;position:relative;border:1px solid var(--border)}
.notice-close{position:absolute;top:10px;right:14px;font-size:24px;color:var(--text3);cursor:pointer;line-height:1}
.notice-close:hover{color:var(--text)}
.notice-title{font-size:18px;font-weight:600;margin-bottom:12px}
.notice-content{font-size:14px;color:var(--text2);line-height:1.8}
/* 图标选择器 */
.icon-picker .icon-opt{display:flex;align-items:center;justify-content:center;height:44px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:.2s;color:var(--text2)}
.icon-picker .icon-opt:hover{border-color:var(--accent);background:var(--bg3);color:var(--accent)}
.icon-picker .icon-opt.selected{border-color:var(--accent);background:var(--accent);color:#fff}
.icon-picker .icon-opt svg{width:20px;height:20px}
.mine-header{display:flex;flex-direction:column;align-items:center;padding:30px 20px;background:var(--bg2);border-radius:14px;margin-bottom:16px}
.mine-avatar{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin-bottom:12px}
.mine-name{font-size:18px;font-weight:600;margin-bottom:4px}
.mine-desc{font-size:13px;color:var(--text3);margin-bottom:16px}
.mine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.mine-item{background:var(--bg2);border-radius:12px;padding:16px 8px;text-align:center;cursor:pointer;transition:.2s}
.mine-item:hover{border-color:var(--accent)}
.mine-item span{display:block;font-size:12px;color:var(--text2);margin-top:6px}
@media(max-width:900px){
  .mine-grid{grid-template-columns:repeat(2,1fr)}
  #rank-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px}
}
@media(max-width:900px){
  .mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--bg2);border-top:1px solid var(--border);z-index:150;align-items:center;padding:0 8px;padding-bottom:env(safe-area-inset-bottom);overflow:hidden}
  .mnav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--text3);cursor:pointer;text-decoration:none;flex-shrink:0;padding:0 12px}
  .mnav-item svg{width:22px;height:22px}
  .mnav-item.active{color:var(--accent)}
  body{padding-bottom:56px}
  .site-footer{display:none}
}
/* PC导航链接 */
.nav-link{color:var(--text3);text-decoration:none;padding:6px 12px;border-radius:8px;transition:.2s;cursor:pointer;white-space:nowrap}
.nav-link:hover{color:var(--text);background:rgba(255,255,255,.06)}
.nav-link.active{color:var(--accent);font-weight:600}
.quick-btn:hover{transform:scale(1.08)}
.quick-modal{position:fixed;bottom:90px;right:24px;width:380px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:20px;z-index:201;display:none;box-shadow:0 8px 32px rgba(0,0,0,.5)}
.quick-modal.show{display:block}
.quick-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.quick-head .t{font-size:15px;font-weight:700}
.quick-head .x{cursor:pointer;color:var(--text3);font-size:18px}
.quick-transport{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.qt-btn{padding:10px;background:var(--bg3);border-radius:8px;text-align:center;font-size:12px;cursor:pointer;transition:.2s}
.qt-btn:hover{background:var(--border);color:var(--accent)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qi{padding:12px;background:var(--bg3);border-radius:8px;cursor:pointer;transition:.2s}
.qi:hover{background:var(--border)}
.qi .n{font-size:13px;font-weight:500}
.qi .d{font-size:11px;color:var(--text3);margin-top:2px;text-align:center}

/* ========== 播放器角标 ========== */
.player-corner{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:10}
.corner-icon{width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:.2s}
.corner-icon:hover{background:rgba(0,0,0,.75)}

/* 播放器控制条 */
.player-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);padding:30px 16px 10px;z-index:10}
.pc-progress{height:3px;background:rgba(255,255,255,.2);border-radius:2px;margin-bottom:8px;cursor:pointer;position:relative}
.pc-progress .filled{height:100%;width:35%;background:var(--accent);border-radius:2px}
.pc-row{display:flex;align-items:center;gap:14px;color:#fff;font-size:13px}
.pc-row .time{font-size:12px;opacity:.8;font-variant-numeric:tabular-nums}
.pc-row .spacer{flex:1}
.pc-row .pc-item{cursor:pointer;opacity:.85;transition:.2s;font-size:12px}
.pc-row .pc-item:hover{opacity:1}

/* 右侧播放列表 */
.vod-side-info{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}
.vod-side-title{font-size:18px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between}
.vod-side-title .intro{font-size:12px;color:var(--text3);font-weight:400;cursor:pointer}
.vod-side-tags{display:flex;gap:8px;font-size:12px;color:var(--text2);margin-bottom:10px;flex-wrap:wrap}
.vod-side-score{display:flex;gap:16px;font-size:13px;margin-bottom:12px}
.vod-side-score .s{color:var(--orange);font-weight:700;font-size:18px}
.vod-side-score .v{color:var(--text2)}
.vod-side-link{font-size:12px;color:var(--text3);margin-bottom:12px}
.vod-side-btns{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border)}
.vsb{flex:1;padding:8px;text-align:center;background:var(--bg3);border-radius:6px;font-size:12px;cursor:pointer;transition:.2s}
.vsb:hover{background:var(--border);color:var(--accent)}
/* VIP提示已移除 */
.playlist-tabs{display:flex;gap:16px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:8px}
.plt{font-size:14px;color:var(--text2);cursor:pointer;position:relative;padding-bottom:8px;top:9px}
.plt.active{color:var(--text);font-weight:600}
.plt.active::after{content:'';position:absolute;bottom:-9px;left:0;right:0;height:2px;background:var(--accent)}
.ep-badge{position:absolute;top:0;right:0;font-size:9px;padding:1px 4px;border-radius:0 6px 0 6px;font-weight:500}
.ep-badge.free{background:#27ae60;color:#fff}
.ep-badge.preview{background:#e67e22;color:#fff}
.ep-badge.vip{background:#f0b90b;color:#000}
.ep-badge.speed{background:#3498db;color:#fff}
.ep-item{position:relative}

/* ========== 管理后台 ========== */
.admin-wrap{display:flex;min-height:calc(100vh - 56px)}
.sidebar{width:220px;background:var(--bg2);border-right:1px solid var(--border);padding:20px 0;flex-shrink:0}
.sidebar .menu-item{display:flex;align-items:center;gap:10px;padding:12px 24px;color:var(--text2);font-size:14px;cursor:pointer;transition:.2s;border-left:3px solid transparent}
.sidebar .menu-item:hover{background:var(--bg3);color:var(--text)}
.sidebar .menu-item.active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.sidebar .menu-item svg{width:18px;height:18px;flex-shrink:0}
.sidebar .section{padding:16px 24px 8px;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:1px}
.admin-main{flex:1;padding:28px 32px;max-width:calc(100vw - 220px)}
.sub-page{display:none}
.sub-page.active{display:block}
.page-title{font-size:24px;font-weight:700;margin-bottom:4px}
.page-desc{font-size:13px;color:var(--text2);margin-bottom:24px}
.card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}
.card:hover{border-color:#3a3a45}
.card-title{font-size:15px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}
.card-title .tag{font-size:11px;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:400}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:20px;position:relative;overflow:hidden}
.stat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent)}
.stat-card.green::after{background:var(--green)}
.stat-card.orange::after{background:var(--orange)}
.stat-card.cyan::after{background:var(--accent2)}
.stat-label{font-size:12px;color:var(--text2);margin-bottom:8px}
.stat-value{font-size:28px;font-weight:700}
.stat-sub{font-size:11px;color:var(--text3);margin-top:4px}
.sync-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sync-status-box{text-align:center;padding:24px}
.sync-big-time{font-size:36px;font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums}
.sync-next{font-size:13px;color:var(--text2);margin-top:8px}
.sync-progress{width:100%;height:6px;background:var(--bg3);border-radius:3px;margin:16px 0;overflow:hidden}
.sync-progress .bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:3px;transition:width .5s;width:0%}
.btn{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;transition:.2s;display:inline-flex;align-items:center;gap:6px}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{opacity:.9}
.btn:disabled{opacity:.5;cursor:not-allowed}
.log-list{max-height:300px;overflow-y:auto}
.log-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;align-items:flex-start}
.log-item:last-child{border-bottom:none}
.log-time{color:var(--text3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;min-width:140px}
.log-badge{font-size:11px;padding:2px 6px;border-radius:4px;white-space:nowrap}
.log-badge.success{background:rgba(46,204,113,.15);color:var(--green)}
.log-badge.error{background:rgba(255,107,107,.15);color:var(--red)}
.log-msg{color:var(--text2);flex:1}
.form-row{display:grid;grid-template-columns:140px 1fr;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}
.form-row:last-child{border-bottom:none}
.form-label{font-size:13px;color:var(--text2)}
.form-input{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;width:100%}
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{text-align:left;padding:10px 12px;color:var(--text2);font-weight:500;border-bottom:1px solid var(--border);font-size:12px}
.data-table td{padding:10px 12px;border-bottom:1px solid var(--border)}
.pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px}
.pill.on{background:rgba(46,204,113,.15);color:var(--green)}
.pill.off{background:rgba(255,107,107,.15);color:var(--red)}
.bar-chart{display:flex;align-items:flex-end;gap:8px;height:180px;padding-top:10px}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.bar{width:100%;background:linear-gradient(180deg,var(--accent),var(--accent2));border-radius:4px 4px 0 0;min-height:4px;transition:height .8s ease}
.bar-label{font-size:10px;color:var(--text3)}
.cat-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.cat-row:last-child{border-bottom:none}
.cat-bar{flex:1;height:6px;background:var(--bg3);border-radius:3px;margin:0 12px;overflow:hidden}
.cat-bar .fill{height:100%;background:var(--accent);border-radius:3px}
.overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}

/* ========== 播放页 ========== */
.player-page{margin:0;padding:20px 0}
.player-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.player-back{color:var(--text2);font-size:13px;display:flex;align-items:center;gap:6px;cursor:pointer}
.player-back:hover{color:var(--text)}
.player-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.player-left{min-width:0}
.player-container{background:#000;border-radius:10px;overflow:hidden;aspect-ratio:16/9;position:relative}
/* 竖屏短剧模式：播放器全屏覆盖所有 */
body.vertical-mode{overflow:hidden}
body.vertical-mode #view-player .player-container{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100vh!important;z-index:99999!important;border-radius:0!important;margin:0!important;max-width:none!important}
/* 右侧悬浮按钮栏 */
body.vertical-mode .side-actions{position:fixed;right:12px;bottom:160px;display:flex;flex-direction:column;gap:16px;z-index:100000}
body.vertical-mode .side-actions .act-btn{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-size:11px}
body.vertical-mode .side-actions .act-btn svg{width:22px;height:22px;margin-bottom:2px}
/* 竖屏模式下快捷操作按钮也显示在上面 */
body.vertical-mode .quick-btn{z-index:100000!important}
#view-player.vertical .player-container{aspect-ratio:9/16;max-width:420px;margin:0 auto}
#view-player.vertical .player-container{aspect-ratio:9/16;max-width:420px;margin:0 auto}
.player-container .art-player{width:100%;height:100%}
.player-nav{display:flex;gap:8px;margin:12px 0;align-items:center}
.player-bottom-bar{display:flex;align-items:center;gap:10px;margin:4px 0 8px}
.player-bottom-bar .ep-nav-info{flex:1;text-align:center;font-size:13px;color:var(--text2)}
.player-bottom-bar .player-tools{flex:1;justify-content:center}
.ep-nav-btn{padding:8px 16px;border-radius:8px;background:var(--bg3);color:var(--text);font-size:13px;cursor:pointer;transition:.2s;border:1px solid var(--border)}
.ep-nav-btn:hover:not(.nav-off){border-color:var(--accent);color:var(--accent)}
.ep-nav-btn.nav-off{opacity:.3!important;cursor:not-allowed!important;pointer-events:none!important}
.ep-nav-info{flex:1;text-align:center;font-size:13px;color:var(--text2)}
.player-tools{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tool-btn{padding:5px 12px;border-radius:6px;background:var(--bg3);color:var(--text2);font-size:12px;cursor:pointer;transition:.2s;border:1px solid var(--border);display:flex;align-items:center;gap:4px}
.tool-btn:hover{color:var(--text);border-color:var(--accent)}
.player-source-bar{margin-bottom:4px}
.source-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin-bottom:4px}
.source-label svg{color:var(--accent)}
.source-from{font-size:11px;font-weight:400;color:var(--text3);margin-left:8px}
.source-tabs{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;align-items:center}
.source-tabs::-webkit-scrollbar{height:4px}
.source-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.src-tab{white-space:nowrap}
@media(min-width:768px){
  .source-tabs{flex-wrap:wrap;overflow-x:visible}
}
.source-tab{padding:6px 14px;border-radius:6px;font-size:12px;background:transparent;color:var(--text2);cursor:pointer;transition:.2s;border:1px solid transparent;display:flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}
.source-tab:hover{color:var(--text);background:var(--bg3)}
.source-tab.active{background:var(--accent);color:#fff}
.source-tab .speed{width:6px;height:6px;border-radius:50%;display:inline-block}
.source-tab .speed.fast{background:var(--green)}
.source-tab .speed.mid{background:var(--orange)}
.source-tab .speed.slow{background:var(--red)}
.source-tab .speed.testing{background:var(--text3);animation:pulse 1s infinite}
.test-btn{padding:5px 12px;border-radius:6px;font-size:12px;background:var(--bg3);color:var(--text2);cursor:pointer;transition:.2s;border:1px solid var(--border);display:flex;align-items:center;gap:4px}
.test-btn:hover{background:var(--bg2);color:var(--accent);border-color:var(--accent)}
.test-btn:disabled{opacity:.5;cursor:not-allowed}
.ep-panel{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:8px 14px 14px;margin-bottom:8px}
.ep-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ep-expand{font-size:12px;color:var(--accent);cursor:pointer}
.ep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;max-height:280px;overflow-y:auto;transition:max-height .3s;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
.ep-grid.expanded{max-height:600px}
.ep-grid::-webkit-scrollbar{width:6px}
.ep-grid::-webkit-scrollbar-track{background:transparent}
.ep-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.ep-grid::-webkit-scrollbar-thumb:hover{background:var(--accent)}
.ep-grid.expanded{max-height:none}
.comment-box{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:16px}
.comment-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.comment-title{font-size:15px;font-weight:600}
.comment-title .cnt{font-size:12px;color:var(--text3);font-weight:400;margin-left:4px}
.comment-sort{font-size:12px;color:var(--text3)}
.comment-sort span{cursor:pointer}
.comment-sort span.active{color:var(--accent)}
.comment-input-row{display:flex;gap:12px;margin-bottom:12px}
.comment-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.comment-input{flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:12px;color:var(--text);font-size:13px;resize:vertical;min-height:60px;font-family:inherit}
.comment-input:focus{outline:none;border-color:var(--accent)}
.comment-submit-row{display:flex;justify-content:flex-end;margin-bottom:20px}
.comment-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:13px;cursor:pointer;transition:.2s}
.comment-btn:hover{opacity:.9}
.comment-empty{text-align:center;padding:30px 0;color:var(--text3)}
.comment-empty-icon{font-size:36px;margin-bottom:10px;opacity:.4}
.ep-item{padding:10px 8px;text-align:center;background:var(--bg3);border-radius:6px;font-size:12px;cursor:pointer;transition:.2s;border:1px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;color:var(--text)}
.ep-item:hover{border-color:var(--accent);color:var(--text)}
.ep-item.active{background:var(--accent);color:#fff!important}
.src-tab{background:var(--bg3);border:none;color:var(--text);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}
.src-tab.active{background:var(--accent);color:#fff}
.src-dot{display:none;width:6px;height:6px;border-radius:50%;margin-left:6px;vertical-align:middle}
.ep-item.active .ep-tag{background:rgba(255,255,255,.25);color:#fff!important}
.ep-item.done{color:var(--green)}
.ep-item .ep-tag{position:absolute;top:0;right:0;font-size:9px;padding:1px 5px;border-radius:0 6px 0 6px;background:rgba(255,255,255,.15);color:inherit}
.vod-info-box{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}
.vod-info-box h1{font-size:20px;margin-bottom:4px;line-height:1.4}
.info-meta{display:flex;gap:10px;font-size:12px;color:var(--text2);margin-bottom:12px;flex-wrap:wrap}
.info-meta .year{color:var(--orange)}
.info-desc{font-size:13px;color:var(--text2);line-height:1.7;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.info-extra{font-size:12px;color:var(--text2);line-height:2;word-break:break-all;overflow-wrap:anywhere}
.info-extra b{color:var(--text)}
.player-right .side-box{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}
.side-title{font-size:14px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.side-title::before{content:'';width:3px;height:14px;background:var(--accent);border-radius:2px}
.side-card{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:.2s}
.side-card:last-child{border-bottom:none}
.side-card:hover .side-name{color:var(--accent)}
.side-poster{width:60px;height:80px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:rgba(255,255,255,.85);text-align:center;padding:4px;overflow:hidden}
.side-info{flex:1;min-width:0}
.side-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-sub{font-size:11px;color:var(--text3);margin-top:4px;line-height:1.4}

@media(max-width:900px){
  /* 顶栏 */
  .topbar-inner{padding:0 16px;gap:10px}
  .topbar .logo{font-size:15px}
  .topbar .logo svg{width:20px;height:20px}
  .topbar nav{display:none}
  .search-wrap .search-box{width:calc(100vw - 100px);right:44px}
  .search-wrap.open .search-box{right:44px}
  .top-icon{width:32px;height:32px}

  .section{padding:6px 0 8px!important}
  .section-head{padding:0 12px!important;margin-bottom:4px!important}
  .section-title{font-size:16px!important;font-weight:700!important;line-height:1.2!important}
  .section-title::before{display:none!important}

  /* 播放页：广告和内容紧凑，左右对齐 */
  #player-side-ad,#home-banner-ad,#list-top-ad{margin:0 12px!important;padding:0!important}
  #list-top-ad img,#home-banner-ad img{width:100%!important;display:block!important}
  .source-tabs,.ep-list,.player-info,.ep-section,.play-panel{padding-left:12px!important;padding-right:12px!important;}
  /* 竖屏短剧自适应，不变形 */
  #vplayer-container video{width:100%!important;height:100%!important;object-fit:contain}

  /* Hero - 仿腾讯视频 */
  .hero{height:200px;min-height:0;margin:56px 12px 0 12px;border-radius:0;width:auto}
  .hero-content{padding:0 16px;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding-bottom:32px}
  .hero-title{font-size:18px;margin:0 0 4px;font-weight:700}
  .hero-desc{-webkit-line-clamp:1;font-size:11px;margin:0 0 8px;opacity:.85}
  .hero-bg{font-size:40px}
  .hero-meta{display:none}
  .hero-tag{margin:0 0 6px;font-size:10px}
  .hero-actions{margin-top:10px}
  .hero-dots{bottom:8px;left:50%;transform:translateX(-50%)}
  .btn-play{padding:6px 16px;font-size:12px;border-radius:0}
  .btn-ghost{padding:6px 12px;font-size:12px;border-radius:0}

  /* 卡片：2列网格，横版海报18:10 */
  .card-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px;overflow:visible}
  .card{width:auto}
  .v-poster{padding-bottom:55.5%}
  .v-name{font-size:13px;margin-top:6px;font-weight:600}
  .v-name{font-size:14px;margin-top:6px;font-weight:600;color:var(--text)}
  .v-sub{font-size:12px;color:var(--text3);margin-top:2px}
  .list-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px}
  .list-grid .v-poster{padding-bottom:55.5%}

  /* 继续观看横滑 - 4个横版卡片，扁比例 */
  .hist-row{gap:8px;padding:0 12px;display:flex;overflow-x:auto;touch-action:pan-x;-webkit-overflow-scrolling:touch}
  .hist-card{flex:0 0 calc((100vw - 48px)/4);min-width:0}
  .hist-card .hist-poster{height:auto;aspect-ratio:21/10;border-radius:0}
  .hist-card .hist-poster img{width:100%;height:100%;object-fit:cover}
  /* 追剧日历 */
  .cal-week{grid-template-columns:repeat(3,1fr);gap:8px}

  /* 播放页 手机端正确布局 */
  .player-layout{display:flex;flex-direction:column;width:100%}
  .player-topbar{display:none}
  /* 把player-left摊平成和player-right同级，方便排序 */
  .player-left{display:contents}
  .player-left>*{width:100%;padding-left:12px;padding-right:12px;box-sizing:border-box}
  .player-left .player-container{padding:0;order:1}
  .player-left .player-bottom-bar{order:2}
  .player-left .player-source-bar{order:3}
  .player-left .ep-panel{order:4}
  .player-right{display:block;width:100%;box-sizing:border-box;padding:0 12px;order:5}
  .player-right .side-box{display:none}
  #comment-box{display:block;width:100%;padding:0 12px;box-sizing:border-box;order:6}
  /* 播放器：sticky在导航下方，普通块级父容器下sticky一定生效 */
  .player-container{position:sticky!important;top:56px!important;z-index:50;border-radius:0;width:100%;margin:0}
  .ep-panel{margin:8px 0 0;padding:8px 12px;background:var(--bg2);border-radius:8px}
  .ep-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));max-height:180px}
  .player-bottom-bar{gap:8px;margin:8px 0;padding:0 12px;box-sizing:border-box}
  .vod-actions{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:8px 0!important}
  .vod-actions > div{padding:10px 4px!important}
  .vod-actions > div div{font-size:11px!important}

  /* 列表页筛选：标签在左，选项横向滚动 */
  .list-page{padding:4px 0}
  .list-header{padding:14px 12px 12px;margin-bottom:4px;border-radius:0}
  .list-header .page-title{font-size:16px;margin-bottom:0;line-height:1.2}
  .list-header .page-desc{margin-bottom:0;font-size:12px}
  /* 所有播放页模块占满宽度，内部左右padding12px，和选集内容完全对齐 */
  #player-side-ad{width:100%!important;margin:4px 0 0!important;padding:0 12px!important;box-sizing:border-box!important}
  .player-bottom-bar{width:100%!important;margin:4px 0 0!important;padding:6px 12px!important;gap:8px!important;box-sizing:border-box!important}
  .player-source-bar{width:100%!important;padding:0 12px!important;box-sizing:border-box!important}
  .source-tabs{width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
  .quick-float-btn{right:12px!important}
  .player-layout{gap:6px!important}
  #list-top-ad,#home-banner-ad{width:auto!important;margin:6px 12px!important;padding:0!important;box-sizing:border-box!important}
  .filter-box{padding:10px 12px;margin:0 12px 8px}
  .sort-tabs{padding:0 12px;margin-bottom:10px}
  #view-rank{padding:0 12px}
  #view-rank > div:first-child{margin:6px 0 10px!important;padding:20px 16px!important}
  #view-rank > div:nth-child(2){padding:0!important;margin-bottom:10px!important}
  #rank-list{padding:0}
  #view-message{padding:0 12px}
  #view-message .container{padding:0}
  #view-message > div:first-child{margin:6px 0 10px!important;padding:20px 16px!important}
  #view-player{padding:0}
  #view-player .player-container{margin:0;width:100%;border-radius:0}
  #view-player .ep-panel{padding:8px 12px;margin:0 0 4px;background:var(--bg2);border-radius:8px}
  #view-player .vod-info-box{min-height:200px;width:100%;box-sizing:border-box;padding:12px;margin-bottom:8px}
  #view-player .comment-box{min-height:150px;width:100%;box-sizing:border-box;padding:12px}
  #view-player .vod-side-info{min-height:120px;width:100%;box-sizing:border-box;padding:12px}
  .filter-row{flex-direction:row;gap:8px;align-items:center;padding:8px 0}
  .filter-label{width:auto;min-width:40px;font-size:12px;flex-shrink:0}
  .filter-opts{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;flex:1;padding-bottom:2px}
  .filter-opts::-webkit-scrollbar{display:none}
  .filter-opt{padding:4px 12px;font-size:11px;white-space:nowrap;flex-shrink:0}

  /* 管理后台 */
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .sync-panel{grid-template-columns:1fr}
  .admin-wrap{flex-direction:column}
  .sidebar{width:100%;display:flex;overflow-x:auto;padding:0}
  .sidebar .section{display:none}
  .sidebar .menu-item{border-left:none;border-bottom:3px solid transparent;white-space:nowrap;padding:10px 14px;font-size:13px}
  .sidebar .menu-item.active{border-bottom-color:var(--accent)}
  .admin-main{max-width:100%;padding:12px}
  .page-title{font-size:18px}
  .page-desc{font-size:12px}
  .card{padding:14px}
  .form-row{flex-direction:column;gap:4px}
  .form-label{font-size:13px;min-width:auto}
  .form-input{font-size:14px}
  .data-table{font-size:12px;display:block;overflow-x:auto;white-space:nowrap}
  .data-table th,.data-table td{padding:8px 10px}
  .icon-picker{grid-template-columns:repeat(4,1fr)!important}
  .icon-picker .icon-opt{height:38px}

  /* 快捷按钮 */
  .quick-modal{right:20px;width:calc(100vw - 40px);bottom:150px}
  .quick-btn{bottom:90px;right:24px}
  .dropdown-menu{left:50%;right:auto;transform:translateX(-50%);min-width:120px;padding:6px}

  /* 内容区边距 */
  .app{padding-left:0;padding-right:0;padding-top:0!important}
  .section{padding:4px 0 12px}
  .section-title{font-size:16px}
  .player-page{padding:0}
  .vod-actions{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
  .vod-actions > div{padding:10px 4px!important}
  .vod-actions > div div{font-size:11px!important}
  .vod-actions svg{width:24px!important;height:24px!important}
  .vod-actions #fav-icon svg{stroke-width:2.5}
}
/* 横屏播放器弹窗层级强制压过X5视频层 */
.art-video-player .art-video{z-index:1!important}
.art-video-player .art-popup,.art-video-player .art-dialog,.art-video-player .art-contextmenu,.art-video-player .art-setting,.art-video-player .art-list{z-index:99999!important}
