:root{--c:#e8467c;--bg:#0f1115;--bg2:#171a21;--bg3:#1f232c;--tx:#e8eaed;--tx2:#9aa0a6;--bd:#2a2f3a;--r:8px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--c);outline-offset:2px}
img{max-width:100%;display:block}
button{font-family:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 16px;width:100%}
main.wrap{flex:1;padding-top:12px;padding-bottom:28px}

/* 头部 */
.hd{background:var(--bg2);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:50}
.hd-in{display:flex;align-items:center;gap:16px;height:60px}
.logo{font-size:22px;font-weight:700;color:var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%;letter-spacing:.5px}
.logo img{height:40px;width:auto}
.so{position:relative;flex:1;display:flex;max-width:460px;margin-left:auto}
.so-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--tx2);pointer-events:none}
.so input{flex:1;min-width:0;height:38px;border:1px solid var(--bd);border-right:0;background:var(--bg3);color:var(--tx);padding:0 14px 0 36px;border-radius:19px 0 0 19px;font-size:14px;outline:none;transition:border-color .2s,background .2s}
.so input::placeholder{color:var(--tx2);opacity:.8}
.so input:focus{border-color:var(--c)}
.so button{height:38px;padding:0 18px;border:0;background:var(--c);color:#fff;border-radius:0 19px 19px 0;font-size:14px;cursor:pointer;transition:filter .2s}
.so button:hover{filter:brightness(1.1)}
.nav{border-top:1px solid var(--bd)}
.nav-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;height:44px;align-items:center}
.nav-in::-webkit-scrollbar{display:none}
.nav a{padding:6px 14px;border-radius:16px;white-space:nowrap;color:var(--tx2);font-size:15px;transition:color .2s,background .2s}
.nav a:hover{color:var(--tx)}
.nav a.on{background:var(--c);color:#fff}

.notice{display:flex;align-items:flex-start;gap:10px;background:var(--bg2);border:1px solid var(--bd);border-left:3px solid var(--c);padding:9px 12px;border-radius:var(--r);margin-bottom:12px;color:var(--tx2)}
.notice span{white-space:pre-line;min-width:0}
.ico-bell{flex:none;font-style:normal;font-size:12px;line-height:20px;padding:0 7px;border-radius:4px;background:var(--c);color:#fff;margin-top:1px}
.ico-bell::before{content:"公告"}

/* 片单 */
.sec{margin:20px 0}
.sec-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sec-hd h2{font-size:18px;font-weight:600;padding-left:10px;border-left:4px solid var(--c);line-height:1.2;white-space:nowrap}
.more{color:var(--tx2);font-size:13px;white-space:nowrap;transition:color .2s}
a.more:hover{color:var(--c)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 12px}
@media(min-width:640px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.grid{grid-template-columns:repeat(4,1fr);gap:20px 16px}}
.card{display:block;min-width:0}
.thumb{position:relative;aspect-ratio:16/9;background:var(--bg3) url(/static/nopic.svg) center/40px no-repeat;border-radius:var(--r);overflow:hidden;isolation:isolate}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .35s ease}
.thumb::after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none;opacity:.9}
.card:hover .thumb img{transform:scale(1.05)}
.play{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.85);z-index:2;opacity:0;transform:scale(.8);transition:opacity .25s,transform .25s;backdrop-filter:blur(2px)}
.play::before{content:"";position:absolute;left:16px;top:11px;border-style:solid;border-width:9px 0 9px 14px;border-color:transparent transparent transparent #fff}
.card:hover .play{opacity:1;transform:scale(1)}
.dur,.tag,.new{position:absolute;z-index:2;font-size:12px;line-height:1;padding:4px 6px;border-radius:4px;background:rgba(0,0,0,.72);color:#fff;font-variant-numeric:tabular-nums}
.dur{right:6px;bottom:6px}
.tag{left:6px;top:6px;background:var(--c);max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.new{right:6px;top:6px;background:#f5a524;color:#1a1200;font-weight:700;font-size:11px;letter-spacing:.5px}
.tt{margin-top:7px;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.card:hover .tt{color:var(--c)}
.mt{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:12px;color:var(--tx2);white-space:nowrap;overflow:hidden}
.mt span+span::before{content:"·";margin-right:8px;opacity:.6}
.mt-t:empty,.mt-t:empty+span::before{display:none}
.empty{padding:70px 0;text-align:center;color:var(--tx2)}
.ico-empty{display:block;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--bg3) url(/static/nopic.svg) center/28px no-repeat;opacity:.8}

/* 热门标签 */
.hot{display:flex;align-items:center;gap:12px;margin:4px 0 20px;padding:10px 12px;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r)}
.hot-hd{flex:none;font-size:14px;color:var(--c)}
.hot-in{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.hot-in::-webkit-scrollbar{display:none}
.hot-in a{flex:none;padding:3px 11px;border-radius:14px;background:var(--bg3);color:var(--tx2);font-size:13px;transition:color .2s,background .2s}
.hot-in a:hover{color:#fff;background:var(--c)}

/* 分页 */
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:28px 0 8px}
.pager a,.pager b{min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--bg3);border:1px solid var(--bd);transition:border-color .2s,color .2s}
.pager b{background:var(--c);border-color:var(--c);color:#fff}
.pager a:hover{border-color:var(--c);color:var(--c)}
.pg-info{width:100%;text-align:center;color:var(--tx2);font-size:12px;margin-top:4px}

/* 播放页 */
.crumb{color:var(--tx2);font-size:13px;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumb a:hover{color:var(--c)}
.crumb span{color:var(--tx)}
.player{background:#000;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.player video{width:100%;height:100%;display:block;background:#000}
.player-empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--tx2)}
.pbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.pb-tip{flex:1;min-width:0;color:var(--tx2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:16px;border:1px solid var(--bd);background:var(--bg2);color:var(--tx);font-size:13px;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}
.pb-btn:hover{border-color:var(--c);color:var(--c)}
.pb-btn.pb-pri{background:var(--c);border-color:var(--c);color:#fff}
.pb-btn.pb-pri:hover{filter:brightness(1.1);color:#fff}
.eps{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);padding:12px;margin-bottom:12px}
.ep-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:260px;overflow:auto}
.ep-list a{padding:7px 4px;text-align:center;background:var(--bg3);border:1px solid var(--bd);border-radius:6px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-list a.on,.ep-list a:hover{border-color:var(--c);color:var(--c)}
.ep-list a.on{background:var(--c);color:#fff}
.info{display:flex;gap:18px;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);padding:16px}
.info-pic{flex:none;width:240px;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--bg3)}
.info-pic img{width:100%;height:100%;object-fit:cover}
.info-bd{min-width:0;flex:1}
.info h1{font-size:20px;line-height:1.4;margin-bottom:6px}
.info h1 small{font-size:14px;color:var(--c);font-weight:400}
.info-sub{color:var(--tx2);font-size:13px;margin:-2px 0 6px}
.meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--tx2);font-size:12px;margin-bottom:8px}
.meta>*{padding:2px 8px;border-radius:4px;background:var(--bg3)}
.meta .meta-t{background:var(--c);color:#fff}
.row{margin:6px 0;color:var(--tx2)}
.row b{color:var(--tx);font-weight:500}
.row a{margin-right:10px;transition:color .2s}
.row a:hover{color:var(--c)}
.chip{display:inline-block;padding:1px 9px;margin:2px 6px 2px 0;border:1px solid var(--bd);border-radius:10px;font-size:12px}
.chip:hover{border-color:var(--c)}
.blurb{margin-top:10px;padding-top:10px;border-top:1px dashed var(--bd);color:var(--tx2);line-height:1.8}
.blurb.fold{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blurb-x{margin-top:4px;border:0;background:none;color:var(--c);font-size:13px;cursor:pointer;padding:0}
@media(max-width:759px){.info-pic{display:none}}

/* 广告 */
.ad{margin:10px 0;display:flex;flex-direction:column;gap:8px}
.ad-img img{width:100%;height:auto;border-radius:6px}
.ad-html{overflow:hidden}
.ad-texts{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
@media(min-width:640px){.ad-texts{grid-template-columns:repeat(4,1fr)}}
@media(min-width:960px){.ad-texts{grid-template-columns:repeat(6,1fr)}}
.ad-text{display:block;text-align:center;padding:7px 4px;background:var(--bg3);border:1px dashed var(--bd);border-radius:6px;color:var(--c);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-x{position:absolute;right:4px;top:4px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:16px;line-height:24px;cursor:pointer;z-index:2}
.ad-float{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:640px;z-index:90;padding-bottom:env(safe-area-inset-bottom)}
.ad-float .ad-img img{border-radius:0}
.ad-float .ad-text{border-radius:0}
.ad-pop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.ad-pop[hidden]{display:none}
.ad-pop-box{position:relative;max-width:420px;width:100%;display:flex;flex-direction:column;gap:8px}
.ad-side{position:fixed;top:140px;width:120px;z-index:40;display:none}
.ad-side-l{left:8px}.ad-side-r{right:8px}
@media(min-width:1560px){.ad-side{display:block}}

/* 页脚 */
.ft{border-top:1px solid var(--bd);background:var(--bg2);color:var(--tx2);font-size:12px;text-align:center;padding:20px 0 calc(20px + env(safe-area-inset-bottom))}
.ft p{margin-top:6px}
.ft-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:13px;margin-bottom:10px}
.ft-nav a:hover{color:var(--c)}
.ft-keep b{color:var(--c);font-weight:600}
.gotop{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:80;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg2);color:var(--tx);border:1px solid var(--bd);box-shadow:0 6px 18px rgba(0,0,0,.25);transition:opacity .25s,transform .25s}
.gotop[hidden]{display:flex;opacity:0;transform:translateY(10px);pointer-events:none}
.gotop:hover{color:var(--c);border-color:var(--c)}
.toast{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);background:rgba(0,0,0,.82);color:#fff;padding:10px 18px;border-radius:8px;font-size:14px;z-index:200;pointer-events:none}

.msg-box{padding:80px 0;text-align:center}
.msg-t{font-size:18px;margin-bottom:20px}
.btn{display:inline-block;padding:8px 24px;background:var(--c);color:#fff;border-radius:18px}

@media(max-width:639px){
  .hd-in{height:54px;gap:10px}
  .logo{font-size:18px}
  .logo img{height:32px}
  .so input{height:34px;padding:0 8px 0 32px}
  .so-ico{left:11px}
  .so button{height:34px;padding:0 12px}
  .sec-hd h2{font-size:16px}
  .tt{font-size:13px}
  .info{padding:12px}
  .info h1{font-size:17px}
  .pb-tip{display:none}
  .pbar .pb-btn[data-copy]{margin-left:auto}
  .play{display:none}
}
