/* =========================================================
   短剧三页面共享样式表（首页 / 分类页 / 播放页）
   ========================================================= */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
  --bg:#0f0f14;--card:#181820;--card2:#1f1f2a;
  --text:#f2f2f7;--sub:#8e8e9d;--line:#262633;
  --accent:#ff5a1f;--accent2:#ffb347;--radius:14px;
}
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;max-width:480px;margin:0 auto;padding-bottom:70px;min-height:100vh}
a{color:inherit;text-decoration:none}

/* ================= 顶部栏 ================= */
header{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,#16161f,rgba(15,15,20,.92));backdrop-filter:blur(8px);padding:12px 14px;display:flex;align-items:center;gap:10px}
.logo{font-size:20px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.search{flex:1;background:#1e1e28;border:1px solid var(--line);border-radius:20px;padding:8px 14px;color:var(--sub);font-size:13px;display:flex;align-items:center;gap:6px;cursor:pointer}
.search:active{background:#262633}
.search-box{flex:1;display:flex;align-items:center;gap:6px;background:#1e1e28;border:1px solid var(--line);border-radius:20px;padding:7px 14px}
.search-box input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:13px}
.search-box input::placeholder{color:var(--sub)}
.search-btn{font-size:13px;color:var(--accent);font-weight:700;cursor:pointer}

/* ================= 通用区块标题 ================= */
.section-title{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;font-size:16px;font-weight:700}
.section-title::before{content:"";width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--accent2))}
.section-title .cat-count{margin-left:auto;font-size:11px;font-weight:400;color:var(--sub)}
.sec-title{display:flex;align-items:center;gap:8px;padding:16px 14px 10px;font-size:15px;font-weight:700}
.sec-title::before{content:"";width:4px;height:15px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--accent2))}
.sec-title .sub{font-size:11px;color:var(--sub);font-weight:400;margin-left:auto;cursor:pointer}

/* ================= 封面占位（渐变 + 首字） ================= */
.cover{position:relative;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:space-between;padding:10px;overflow:hidden}
.cover-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}
.cover-char{position:relative;z-index:2;font-size:44px;font-weight:800;opacity:.9;align-self:flex-end;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.cover-name{position:relative;z-index:2;font-size:12px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.5);line-height:1.3}
/* 角标 */
.corner{position:absolute;top:8px;left:8px;font-size:10px;padding:2px 7px;border-radius:4px;background:linear-gradient(135deg,var(--accent),#e83818);font-weight:700}
.corner.only{background:linear-gradient(135deg,#f7971e,#c81e5b)}
.corner.orig{background:linear-gradient(135deg,#7b2ff7,#f107a3)}
.banner-info .corner{position:static;display:inline-block;flex-shrink:0}

/* ================= 首页：轮播 ================= */
.banner{position:relative;margin:12px 14px;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#181820}
.banner-track{display:flex;height:100%;transition:transform .45s ease}
.banner-slide{min-width:100%;position:relative;overflow:hidden}
.banner-slide .cover{width:100%;height:100%}
.banner-info{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 10px;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.banner-info .bn-name{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}
.banner-info .bn-desc{font-size:12px;color:#c9c9d6;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner-dots{position:absolute;right:12px;bottom:8px;display:flex;gap:5px}
.banner-dots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.4);transition:all .3s}
.banner-dots i.on{width:16px;background:var(--accent)}

/* ================= 首页：双列卡片 ================= */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;cursor:pointer;border:1px solid transparent}
.card:active{transform:scale(.97)}
.card-body{padding:8px 10px 10px}
.card-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-meta{display:flex;gap:10px;margin-top:5px;font-size:11px;color:var(--sub)}
.card-meta b{color:#ff8a5c;font-weight:600}

/* ================= 加载更多 ================= */
.load-more{margin:18px 14px 8px;padding:11px;text-align:center;border-radius:12px;background:var(--card);color:var(--sub);font-size:13px;cursor:pointer}
.load-more:active{background:#22222e}
.load-more.loading{opacity:.6;pointer-events:none}

/* ================= 分类页：左侧专区 ================= */
.layout{display:flex;min-height:calc(100vh - 116px)}
.sidebar{width:86px;flex-shrink:0;background:#13131b;border-right:1px solid var(--line);padding:8px 0 20px;overflow-y:auto}
.zone{display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 6px;font-size:12px;color:var(--sub);cursor:pointer;border-left:3px solid transparent;transition:all .2s}
.zone .z-ico{font-size:20px}
.zone.active{color:var(--accent);background:linear-gradient(90deg,rgba(255,90,31,.12),transparent);border-left-color:var(--accent);font-weight:700}
.content{flex:1;min-width:0;padding:10px 12px 20px}
.filter-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.filter-row::-webkit-scrollbar{display:none}
.chip{flex-shrink:0;padding:6px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);font-size:12px;color:var(--sub);cursor:pointer}
.chip.on{background:linear-gradient(135deg,var(--accent),#e83818);color:#fff;border-color:transparent;font-weight:700}
.count{font-size:12px;color:var(--sub);padding:2px 2px 10px}

/* ================= 分类页：横版卡片 ================= */
.hcard{display:flex;gap:10px;background:var(--card);border-radius:var(--radius);padding:10px;margin-bottom:10px;cursor:pointer}
.hcard:active{transform:scale(.98)}
.hcover{position:relative;width:96px;flex-shrink:0;border-radius:10px;overflow:hidden}
.hcover .cover{aspect-ratio:3/4;padding:6px}
.hcover .cover-char{font-size:30px}
.hcover .cover-name{font-size:10px}
.hinfo{flex:1;min-width:0;display:flex;flex-direction:column}
.hname{font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}
.hname .corner{position:static;flex-shrink:0}
.htags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.htag{font-size:10px;padding:2px 7px;border-radius:4px;background:#23232f;color:#b9b9c8}
.hdesc{font-size:11px;color:var(--sub);margin-top:5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hmeta{margin-top:auto;padding-top:6px;font-size:11px;color:var(--sub);display:flex;gap:10px}
.hmeta b{color:#ff8a5c;font-weight:600}
.hactors{font-size:10px;color:#7d7d8d;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ================= 播放页：播放器 ================= */
.player-wrap{position:sticky;top:0;z-index:20;background:#000}
.player-bar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}
.player-bar .back{width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer}
.player-bar .pname{font-size:13px;font-weight:600;background:rgba(0,0,0,.45);padding:5px 14px;border-radius:16px;max-width:65%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
video{width:100%;aspect-ratio:16/9;background:#000;display:block}

/* ================= 播放页：剧集信息 ================= */
.info{padding:14px 14px 0}
.i-title{font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}
.i-title .corner{position:static;flex-shrink:0}
.i-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:12px;color:var(--sub)}
.i-meta b{color:#ff8a5c;font-weight:600}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tag{font-size:11px;padding:3px 9px;border-radius:5px;background:#23232f;color:#b9b9c8}

/* ================= 播放页：操作按钮 ================= */
.actions{display:flex;gap:10px;padding:12px 14px 0}
.act{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 0;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:13px;color:var(--sub);cursor:pointer}
.act .aico{font-size:16px}
.act.on{color:var(--accent);border-color:rgba(255,90,31,.5);background:rgba(255,90,31,.1)}
.act.primary{background:linear-gradient(135deg,var(--accent),#e83818);color:#fff;border:none;font-weight:700}

/* ================= 播放页：选集 ================= */
.eps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 14px}
.ep{aspect-ratio:2/1;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:8px;font-size:12px;color:#c9c9d6;cursor:pointer}
.ep:active{background:#262633}
.ep.cur{background:linear-gradient(135deg,var(--accent),#e83818);color:#fff;border-color:transparent;font-weight:700}
.ep.off{opacity:.3;cursor:not-allowed;color:#6a6a78}
.ep.more{grid-column:1/-1;aspect-ratio:auto;padding:10px;color:var(--sub)}

/* ================= 播放页：简介 ================= */
.desc{padding:10px 14px 0;font-size:12px;color:var(--sub);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.desc.open{-webkit-line-clamp:unset}
.desc-toggle{font-size:12px;color:var(--accent);padding:4px 14px 0;cursor:pointer}

/* ================= 播放页：猜你喜欢 ================= */
.rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px}
.rec-card{background:var(--card);border-radius:var(--radius);overflow:hidden;cursor:pointer}
.rec-card:active{transform:scale(.97)}
.rec-cover{position:relative;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:space-between;padding:10px;overflow:hidden}
.rec-char{position:relative;z-index:2;font-size:40px;font-weight:800;opacity:.9;align-self:flex-end}
.rec-name{position:relative;z-index:2;font-size:11px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.rec-body{padding:7px 10px 9px}
.rec-title{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec-meta{display:flex;gap:8px;margin-top:4px;font-size:10px;color:var(--sub)}
.rec-meta b{color:#ff8a5c;font-weight:600}

/* ================= 底部导航 ================= */
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:#15151d;border-top:1px solid var(--line);display:flex;z-index:30}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;font-size:11px;color:var(--sub)}
.nav-item .ico{font-size:19px;line-height:1}
.nav-item.active{color:var(--accent)}

/* ================= 通用 ================= */
.empty{text-align:center;color:var(--sub);padding:30px 0;font-size:13px}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:rgba(0,0,0,.85);color:#fff;font-size:13px;padding:9px 18px;border-radius:20px;opacity:0;pointer-events:none;transition:all .3s;z-index:99}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
