/* ===== reset ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;color:#333;background:#fff;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:#4078c0;text-decoration:none;transition:color .15s}
a:hover{color:#2a5fa0}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}

/* ===== layout ===== */
.wrap{max-width:1220px;margin:0 auto;padding:0 20px}
.main-layout{display:flex;gap:28px;padding:20px 0 40px}
.main-content{flex:1;min-width:0}
.sidebar{width:280px;flex-shrink:0}

/* ===== header ===== */
.header{background:#fff;border-bottom:1px solid #eee;padding:0}
.header-top{text-align:center;}
.header-logo{display:inline-flex;align-items:center;gap:10px;font-size:26px;font-weight:400;color:#555;letter-spacing:2px; margin-top: 50px;}
.logo-icon{width:38px;height:38px;background:#4078c0;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:bold;flex-shrink:0}
.logo-icon svg{width:24px;height:24px;fill:#fff}
.header-top span{float: left;margin-top: 25px;font-weight: 500;font-size: 30px;color: #999;width: 120px}
.header-search-wrap{    margin: 50px auto;display:flex;justify-content:center}
.header-search{display:flex;max-width:580px;width:100%;    border: 2px solid #eaeaea;}
.header-search input{flex:1;width: 100%;
    height: 51px;
    padding: 10px 80px 10px 15px;
    background-color: #fff;
    font-size: 15px;
    line-height: 24px;
    color: #000;
    font-weight: 500;
    outline: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    border: 0;}
.header-search input::placeholder{color:#aaa}
.header-search input:focus{border-color:#4078c0;background:#fff}
.header-search button{height: 51px;padding:0 24px;    background-color: #eaeaea;color:#000;border:none;font-size:14px;cursor:pointer;white-space:nowrap}
.header-search button:hover{background:#3569a8}
.header-nav-wrap{background: none;border-bottom: solid 1px #eaeaea;border-top: solid 1px #eaeaea;padding: 5px 0px;margin-bottom: 15px;-webkit-box-shadow:0 1px 3px 0 rgb(0 0 0 / 12%);box-shadow: 0 1px 3px 0 rgb(0 0 0 / 12%);}
.header-nav{display:flex;gap:0}
.header-nav>li{position:relative; margin: 0px 1px;}
.header-nav>li>a{display:block;padding:10px 18px;font-size:14px;color:#4078c0;border-radius:4px;white-space:nowrap}
.header-nav>li>a:hover,.header-nav>li>a.active{background:#eee;color:#2a5fa0}
.header-nav>li>a.active{font-weight:500}

/* 移动端菜单 */
.menu-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:#666;line-height:1;padding:4px 8px}
@media(max-width:768px){
  .header-nav-wrap{position:relative}
  .menu-toggle{display:block}
  .header-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #eee;border-radius:6px;flex-direction:column;padding:8px;z-index:200;box-shadow:0 4px 12px rgba(0,0,0,.1)}
  .header-nav.show{display:flex}
  .header-nav>li>a{padding:10px 16px}
}

/* ===== section 模块 ===== */
.section-block{margin-bottom:36px}
.section-block:last-child{margin-bottom:0}
.sec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}
.sec-header .sec-title{font-size:16px;font-weight:500;color:#333}
.sec-header .sec-more{font-size:13px;color:#4078c0}
.sec-header .sec-more:hover{text-decoration:underline}
.sec-header .sec-count{font-size:13px;color:#999}

/* ===== 海报网格 6列 ===== */
.poster-grid {
    overflow: hidden;
    margin: 0 -10px; /* 抵消内部gap，左右不留白 */
}
.poster-card {
    float: left;
    width: 16.66666667%;
    padding: 0 10px; /* 左右间距20px = 左右各10px */
    box-sizing: border-box;
    text-align: center;
    margin-bottom: 20px; /* 上下间距 */
}
/* 固定2:3海报容器，padding百分比方案，所有卡片宽高一致 */
.poster-card .poster-img {
    width: 100%;
    height: 0;
    padding-top: 150%; /* 宽2高3比例 */
    position: relative;
    background: #e9ecf1;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
}
.poster-card .poster-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* 无图占位文字 */
.poster-card .poster-img::after {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b8bec8;
    font-size: 13px;
}
.poster-card:hover .poster-img {
    box-shadow: 0 3px 12px rgba(0,0,0,.1);
    transform: translateY(-2px);
}
.poster-card .poster-title {
    display: block;
    margin-top: 7px;
    font-size: 13px;
    color: #337ab7;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.poster-card .poster-title:hover {
    color: #4078c0;
}

/* ===== 侧边栏 ===== */
.sidebar .side-block{margin-bottom:24px}
.sidebar .side-block:last-child{margin-bottom:0}
.side-block .side-title{font-size:15px;font-weight:500;color:#333;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid #f0f0f0}
.side-rank-list{counter-reset:rank}
.side-rank-list li{display:flex;align-items:center;padding:7px 0;border-bottom:1px solid #f9f9f9;counter-increment:rank}
.side-rank-list li:last-child{border-bottom:none}
.side-rank-list li::before{content:counter(rank);width:20px;font-size:13px;font-weight:600;color:#333;flex-shrink:0}
.side-rank-list li:nth-child(1)::before,.side-rank-list li:nth-child(2)::before,.side-rank-list li:nth-child(3)::before{color:#e74c3c}
.side-rank-list li a{font-size:13px;color:#4078c0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.side-rank-list li a:hover{color:#2a5fa0;text-decoration:underline}

/* 侧边菜单链接列表 */
.side-menu-list li{padding:5px 0;border-bottom:1px solid #f9f9f9}
.side-menu-list li:last-child{border-bottom:none}
.side-menu-list li a{font-size:13px;color:#222;display:block;padding:4px 0}
.side-menu-list li a:hover,.side-menu-list li a.active{color:#2a5fa0;font-weight:500}

/* 侧边筛选标签 */
.side-filter-tags{display:flex;flex-wrap:wrap;gap:6px}
.side-filter-tags a{display:inline-block;padding:3px 10px;font-size:12px;color:#4078c0;border:1px solid #e0e5ec;border-radius:4px;transition:all .15s}
.side-filter-tags a:hover,.side-filter-tags a.active{background:#4078c0;color:#fff;border-color:#4078c0}

/* ===== filter-bar 筛选栏 ===== */
.filter-bar{display:flex;align-items:flex-start;margin-bottom:18px;padding:12px;background:#fafbfc;border-radius:6px;font-size:13px;border:1px solid #f0f0f0}
.filter-bar .filter-label{flex-shrink:0;padding:3px 0;color:#666;margin-right:10px;white-space:nowrap}
.filter-bar .filter-options{display:flex;flex-wrap:wrap;gap:6px}
.filter-bar .filter-options a{display:inline-block;padding:3px 10px;border-radius:4px;color:#666;border:1px solid transparent;font-size:12px}
.filter-bar .filter-options a:hover{color:#4078c0;background:#eaf2fa}
.filter-bar .filter-options a.active{background:#4078c0;color:#fff;border-color:#4078c0}
.filter-bar .filter-options a.clear-btn{color:#e74c3c;font-size:11px}

/* ===== 播放器 ===== */
.player-wrapper{width:100%;margin-bottom:20px}
.player-box{width:100%;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden;position:relative}
.player-box iframe{width:100%;height:100%;border:none}
.player-box .play-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.4)}
.play-placeholder .play-triangle{width:0;height:0;border-style:solid;border-width:20px 0 20px 36px;border-color:transparent transparent transparent rgba(255,255,255,.7);margin-bottom:16px}
.copyright-notice{text-align:center;padding:40px 20px;color:#999;font-size:14px}

/* ===== 影片信息行 ===== */
.vod-info-bar{display:flex;gap:16px;margin-bottom:20px;padding:14px 0;border-bottom:1px solid #f0f0f0}
.vod-info-main{flex:1;min-width:0}
.vod-info-main h1{font-size:20px;font-weight:500;color:#333;margin-bottom:8px;line-height:1.3}
.vod-info-main .vod-meta{font-size:13px;color:#999}
.vod-info-main .vod-meta span:not(:last-child)::after{content:' / ';color:#ddd}
.vod-info-thumb{width:90px;flex-shrink:0}
.vod-info-thumb img{width:90px;border-radius:6px}
.vod-info-thumb .thumb-placeholder{width:90px;aspect-ratio:2/3;background:#e9ecf1;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#b8bec8;font-size:11px}

/* ===== 播放线路 ===== */
.source-section{margin-bottom:24px}
.source-section .source-heading{font-size:15px;font-weight:500;color:#333;margin-bottom:10px}
.source-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.source-tabs .source-tab{padding:6px 16px;font-size:13px;color:#666;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .15s;background:#fff}
.source-tabs .source-tab:hover{color:#4078c0;border-color:#4078c0}
.source-tabs .source-tab.active{background:#4078c0;color:#fff;border-color:#4078c0}
.source-episodes{display:none;flex-wrap:wrap;gap:6px}
.source-episodes.active{display:flex}
.source-episodes a{display:inline-block;padding:5px 14px;font-size:13px;color:#4078c0;border:1px solid #e0e5ec;border-radius:4px;transition:all .15s;background:#fff}
.source-episodes a:hover,.source-episodes a.active{background:#4078c0;color:#fff;border-color:#4078c0}

/* ===== 影片简介卡片(播放页右侧) ===== */
.vod-intro-card{background:#fafbfc;border:1px solid #f0f0f0;border-radius:6px;padding:16px}
.vod-intro-card .intro-poster{margin-bottom:12px}
.vod-intro-card .intro-poster img,.vod-intro-card .intro-poster .thumb-placeholder{width:100%;border-radius:6px}
.vod-intro-card .intro-poster .thumb-placeholder{aspect-ratio:2/3;background:#e9ecf1;display:flex;align-items:center;justify-content:center;color:#b8bec8;font-size:12px}
.vod-intro-card .intro-item{margin-bottom:6px;font-size:13px;line-height:1.6}
.vod-intro-card .intro-item strong{color:#333;font-weight:500}
.vod-intro-card .intro-item span{color:#666}
.vod-intro-card .intro-desc{margin-top:8px;font-size:13px;color:#666;line-height:1.7;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}

/* ===== video detail page ===== */
.detail-header{display:flex;gap:20px;margin-bottom:24px}
.detail-poster{width:180px;flex-shrink:0}
.detail-poster img,.detail-poster .thumb-placeholder{width:180px;border-radius:6px}
.detail-poster .thumb-placeholder{aspect-ratio:2/3;background:#e9ecf1;display:flex;align-items:center;justify-content:center;color:#b8bec8}
.detail-info{flex:1;min-width:0}
.detail-info h1{font-size:22px;font-weight:500;color:#333;margin-bottom:12px}
.detail-info .detail-meta{font-size:13px;color:#666;line-height:2}
.detail-info .detail-meta strong{color:#333;margin-right:4px}
.detail-info .detail-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.detail-info .detail-tags a{display:inline-block;padding:4px 12px;font-size:12px;color:#4078c0;border:1px solid #e0e5ec;border-radius:4px}
.detail-info .detail-tags a:hover{background:#eaf2fa}

/* ===== 分页 ===== */
.pagination{text-align:center;padding:24px 0 8px}
.pagination a,.pagination span{display:inline-block;padding:6px 12px;margin:0 2px;font-size:13px;color:#4078c0;border:1px solid #e0e5ec;border-radius:4px;transition:all .15s;min-width:34px;text-align:center}
.pagination a:hover{background:#eaf2fa;border-color:#4078c0}
.pagination a.active,.pagination span.active{background:#4078c0;color:#fff;border-color:#4078c0;font-weight:500}
.pagination span.dots{border-color:transparent;color:#999}

/* ===== 友情链接 ===== */
.friend-links{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;border-top:1px solid #f0f0f0}
.friend-links a{font-size:12px;color:#999}
.friend-links a:hover{color:#4078c0}

/* ===== 统计提示 ===== */
.data-count{font-size:13px;color:#999}

/* ===== 视频列表(文字) ===== */
.vod-text-list li{padding:8px 0;border-bottom:1px solid #f9f9f9}
.vod-text-list li:last-child{border-bottom:none}
.vod-text-list li a{font-size:14px;color:#4078c0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vod-text-list li a:hover{color:#2a5fa0}
.vod-text-list li a .ep-note{font-size:12px;color:#999;margin-left:8px}

/* ===== 关键词高亮 ===== */
.keyword-highlight{color:#4078c0;font-weight:500}

/* ===== footer ===== */
.footer{background:#fafbfc;border-top:1px solid #eee;padding:20px 0;text-align:center;color:#999;font-size:13px;line-height:2}
.footer a{color:#999}
.footer a:hover{color:#4078c0}
.footer .footer-rss{display:flex;justify-content:center;gap:14px;margin-bottom:6px;flex-wrap:wrap}
.footer .footer-rss a{font-size:12px;color:#aaa}
.footer .footer-rss a:hover{color:#4078c0}

/* ===== 返回顶部 ===== */
.back-to-top{position:fixed;bottom:30px;right:30px;width:40px;height:40px;background:#4078c0;color:#fff;border:none;border-radius:50%;font-size:18px;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:99;opacity:.85;transition:opacity .2s}
.back-to-top:hover{opacity:1}
.back-to-top.show{display:flex}

/* ===== 懒加载 ===== */
img[data-src]{opacity:0;transition:opacity .3s}
img[data-src].loaded{opacity:1}
.poster-img img[data-src]{background:#e9ecf1;min-height:100%}

/* ===== 响应式 ===== */
@media(max-width:1024px){
  .main-layout{flex-direction:column;gap:20px}
  .sidebar{width:100%}
  .side-rank-list{display:flex;flex-wrap:wrap;gap:0 16px}
  .side-rank-list li{width:calc(50% - 8px);border-bottom:none;padding:4px 0}
  .detail-header{flex-direction:column}
  .detail-poster{width:140px}
  .detail-poster img,.detail-poster .thumb-placeholder{width:140px}
}
@media(max-width:768px){
  .wrap{padding:0 14px}
  .poster-grid{grid-template-columns:repeat(3,1fr);gap:10px}
  .poster-card .poster-title{font-size:12px}
  .header-search{max-width:100%}
  .detail-header{flex-direction:column;align-items:flex-start}
  .vod-info-bar{flex-direction:column}
  .vod-info-thumb{width:70px}
  .vod-info-thumb img,.vod-info-thumb .thumb-placeholder{width:70px}
  .source-tabs .source-tab{padding:5px 12px;font-size:12px}
  .source-episodes a{padding:4px 10px;font-size:12px}
  .filter-bar{flex-direction:column;gap:6px}
  .back-to-top{bottom:16px;right:16px;width:36px;height:36px;font-size:16px}
}
@media(max-width:480px){
  .poster-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .sec-header .sec-title{font-size:15px}
  .header-logo{font-size:22px}
  .header-search input{height:36px;font-size:13px}
  .header-search button{height:36px;padding:0 16px;font-size:13px}
  .detail-poster{width:100px}
  .detail-poster img,.detail-poster .thumb-placeholder{width:100px}
  .pagination a,.pagination span{padding:5px 8px;font-size:12px;min-width:28px}
}
