*{margin:0;padding:0;box-sizing:border-box}
html,body{background:#0f1115;color:#d5d7db;font:14px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
a{color:#d5d7db;text-decoration:none;transition:.2s}
a:hover{color:#fff}
ul,li{list-style:none}
img{display:block;width:100%;border:0}
.wrap{width:1200px;max-width:calc(100% - 24px);margin:0 auto}
.box{background:#171a20;border-radius:14px;box-shadow:0 0 0 1px rgba(255,255,255,.03) inset}

.site-header{position:sticky;top:0;z-index:30;background:#0f1115;border-bottom:1px solid rgba(255,255,255,.05)}
.header-inner{display:flex;align-items:center;gap:20px;height:60px}
.left-tools{width:36px;color:#9aa0aa}
.menu-trigger{font-size:22px;cursor:pointer}
.site-logo{font-size:24px;font-weight:800;letter-spacing:1px;color:#fff}
.site-nav{display:flex;gap:22px;flex:1}
.site-nav a{color:#c8ccd3}
.site-nav a:hover,.site-nav a.active{color:#fff}
.right-tools{display:flex;align-items:center;gap:12px}
.history-btn{color:#9aa0aa}
.search-form{display:flex;align-items:center;background:#171a20;border-radius:20px;padding:4px}
.search-form input{width:200px;background:transparent;border:none;outline:none;color:#fff;padding:0 12px;height:32px}
.search-form button{height:32px;padding:0 14px;border:none;border-radius:16px;background:#232833;color:#fff;cursor:pointer}

.ad-banner,.home-banner{
    height:78px;
    margin:16px 0;
    border-radius:12px;
    background:#1a1e25;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8f96a1;
}
.module{margin-top:18px;padding:18px}
.module-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.module-head h2{font-size:20px;color:#fff}
.module-head a{color:#98a0ad}

.card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.vod-card{min-width:0}
.vod-cover{position:relative;display:block;border-radius:10px;overflow:hidden;background:#232833}
.vod-cover img{aspect-ratio:2/3;object-fit:cover}
.vod-remarks{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.68);padding:2px 8px;border-radius:10px;font-size:12px;color:#fff}
.vod-score{position:absolute;right:8px;top:8px;background:rgba(0,0,0,.68);padding:2px 8px;border-radius:10px;font-size:12px;color:#fff}
.vod-title{margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vod-title a{color:#e6e9ee}

.page-detail{padding-bottom:24px}
.detail-top{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:20px;
    padding:18px;
}
.detail-cover img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
    border-radius:10px;
    background:#222;
}
.detail-title{
    font-size:34px;
    line-height:1.25;
    color:#fff;
    margin-bottom:10px;
    font-weight:700;
}
.detail-meta{color:#b0b6c0;margin-bottom:10px}
.detail-line{color:#c2c7cf;margin-bottom:8px}
.detail-score-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.score-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:96px;
    height:34px;
    padding:0 12px;
    border-radius:18px;
    background:#232833;
    color:#fff;
    font-size:14px;
}
.detail-desc-wrap{color:#c9ced6;margin-top:4px}
.detail-desc{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    line-height:1.8;
}
.detail-desc-wrap.open .detail-desc{display:block}
.plain-desc{display:block;overflow:visible;-webkit-line-clamp:initial}
.desc-toggle{margin-top:6px;color:#c7ccd5;cursor:pointer;user-select:none}
.detail-action{margin-top:16px}
.play-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:42px;
    padding:0 18px;
    border-radius:22px;
    background:#fff;
    color:#111;
    font-weight:700;
}
.play-btn:hover{color:#111;opacity:.92}

.block-title{
    font-size:22px;
    line-height:1.3;
    color:#fff;
    font-weight:700;
    margin-bottom:14px;
}
.episode-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.episode-list a,.episode-grid a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:86px;
    height:40px;
    padding:0 14px;
    border-radius:10px;
    background:#232833;
    color:#dce0e6;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.episode-list a:hover,.episode-grid a:hover,.episode-grid a.current{
    background:#fff;
    color:#111;
    font-weight:700;
}

.download-note{color:#aeb4be;margin-bottom:10px;line-height:1.8}
.download-list li+li{margin-top:8px}
.download-list a{color:#d4d8df;word-break:break-all}

.guess-head{margin-bottom:14px}
.guess-head a{font-size:22px;color:#fff;font-weight:700}
.guess-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.guess-item{min-width:0}
.guess-cover{display:block;overflow:hidden;border-radius:10px;background:#232833}
.guess-cover img{width:100%;aspect-ratio:2/3;object-fit:cover}
.guess-meta{margin-top:8px}
.guess-remark{color:#aeb4be;font-size:13px;margin-bottom:4px}
.guess-meta h4{font-size:16px;line-height:1.45;font-weight:600}
.guess-meta h4 a{color:#f1f3f6}

.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.tab{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:88px;
    height:36px;
    padding:0 16px;
    border-radius:18px;
    background:#232833;
    color:#dce0e6;
    cursor:pointer
}
.tab.active{background:#fff;color:#111;font-weight:700}
.playlist{display:none}
.playlist.active{display:block}
.episode-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}

.play-layout{display:grid;grid-template-columns:1fr 360px;gap:18px;margin-top:16px}
.player-wrap,.play-side{padding:18px}
.player-title{font-size:20px;color:#fff;margin-bottom:12px}
.player-box{background:#000;border-radius:12px;overflow:hidden;min-height:580px}
.mac-player{position:relative;width:100%;height:100%}
.mac-player iframe{position:absolute;left:0;top:0;width:100%;height:100%;background:#000}
.side-episodes{grid-template-columns:repeat(3,minmax(0,1fr))}

.mac_pages{text-align:center;margin-top:20px}
.mac_pages a,.mac_pages span{display:inline-block;min-width:36px;height:36px;line-height:36px;border-radius:18px;background:#232833;color:#dce0e6;margin:0 4px;padding:0 10px}
.mac_pages .active,.mac_pages a:hover{background:#fff;color:#111}

.site-footer{margin-top:24px;padding:28px 0 40px;color:#8f96a1}
.footer-inner{text-align:center}
.footer-link{margin-bottom:10px}
.footer-link a{color:#cfd5de}

@media (max-width: 1024px){
  .card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .episode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .guess-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .play-layout{grid-template-columns:1fr}
}
@media (max-width: 768px){
  .header-inner{flex-wrap:wrap;height:auto;padding:12px 0}
  .site-nav{order:3;width:100%;overflow:auto;white-space:nowrap;padding-bottom:4px}
  .search-form input{width:120px}
  .detail-top{grid-template-columns:1fr}
  .detail-cover{max-width:220px}
  .detail-title{font-size:28px}
  .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .episode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .guess-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 480px){
  .wrap{max-width:calc(100% - 16px)}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .episode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-title{font-size:24px}
}
