/* 维汉影院 VOD 前端样式 - 深色影院主题，移动端优先 */
:root{
  --bg:#0E0E14; --bg2:#161620; --card:#1C1C28; --card2:#24243340;
  --primary:#FF5A3C; --primary2:#FF8A65; --gold:#FFC53D;
  --txt:#F5F5F7; --txt2:#9A9AB0; --txt3:#6A6A80;
  --line:#2A2A3C; --radius:16px; --radius-s:10px;
  --shadow:0 6px 24px rgba(0,0,0,.4);
  --tab-h:56px; --top-h:54px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  background:var(--bg);color:var(--txt);font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:14px;line-height:1.5;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
input,button{font-family:inherit;border:none;outline:none;background:none;color:inherit}
button{cursor:pointer}

/* RTL 维语 */
html[lang="ug"] body{direction:rtl;font-family:"UKIJ Tuz Tom","Alpida","Microsoft YaHei",sans-serif}

#app{max-width:680px;margin:0 auto;min-height:100vh;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom));position:relative}

/* 顶部栏 */
#topbar{position:sticky;top:0;z-index:50;background:rgba(14,14,20,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top-inner{height:var(--top-h);display:flex;align-items:center;gap:10px;padding:0 14px}
.logo{font-size:18px;font-weight:700;color:var(--primary);white-space:nowrap;cursor:pointer}
.search-box{flex:1;position:relative;height:36px}
.search-box input{width:100%;height:100%;background:var(--card);border-radius:18px;padding:0 36px 0 14px;font-size:13px;color:var(--txt)}
html[lang="ug"] .search-box input{padding:0 14px 0 36px}
.search-box input::placeholder{color:var(--txt3)}
.search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}
html[lang="ug"] .search-icon{right:auto;left:12px}
.lang-switch{padding:6px 12px;background:var(--card);border-radius:14px;font-size:12px;color:var(--gold);white-space:nowrap}

/* 底部 tab */
#tabbar{position:fixed;left:0;right:0;bottom:0;z-index:90;height:calc(var(--tab-h) + env(safe-area-inset-bottom));background:rgba(16,16,22,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;padding-bottom:env(safe-area-inset-bottom)}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--txt3);cursor:pointer;font-size:11px}
.tab .tab-ic{font-size:20px;line-height:1}
.tab.on{color:var(--primary)}

/* 页面切换 */
.page{display:none;animation:fadeIn .3s ease}
.page.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* banner */
.banner-swiper{padding:12px 0}
.banner-swiper .swiper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 14px;scrollbar-width:none}
.banner-swiper .swiper::-webkit-scrollbar{display:none}
.banner-item{flex:0 0 92%;scroll-snap-align:center;position:relative;height:200px;border-radius:var(--radius);overflow:hidden;cursor:pointer}
.banner-item img{width:100%;height:100%;object-fit:cover}
.banner-item .bm{position:absolute;left:14px;bottom:12px;right:14px;font-size:18px;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8)}

/* 分类快捷 */
.quick-cats{display:flex;overflow-x:auto;gap:8px;padding:8px 14px 16px;scrollbar-width:none}
.quick-cats::-webkit-scrollbar{display:none}
.quick-cat{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;width:62px;cursor:pointer}
.quick-cat .qc-ic{
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:26px;line-height:1;
  /* emoji 落在彩色底上加一点白色投影，保证任何底色下都看得清 */
  text-shadow:0 1px 3px rgba(0,0,0,.35);
  border:1px solid var(--line);
  box-shadow:0 3px 10px rgba(0,0,0,.28);
  transition:transform .16s ease,box-shadow .16s ease;
  /* 底色由下方 nth-child 逐个覆盖 */
  background:linear-gradient(135deg,var(--card),var(--card2));
}
/* 每个分类一个色底 + 一个色环，避免整排灰扑扑看不出区别 */
.quick-cat:nth-child(6n+1) .qc-ic{background:linear-gradient(135deg,#FF7A45,#FF3D71);border-color:#FF7A4555;box-shadow:0 3px 12px rgba(255,90,60,.30)}
.quick-cat:nth-child(6n+2) .qc-ic{background:linear-gradient(135deg,#4FACFE,#00F2FE);border-color:#4FACFE55;box-shadow:0 3px 12px rgba(79,172,254,.30)}
.quick-cat:nth-child(6n+3) .qc-ic{background:linear-gradient(135deg,#FA709A,#FEE140);border-color:#FA709A55;box-shadow:0 3px 12px rgba(250,112,154,.30)}
.quick-cat:nth-child(6n+4) .qc-ic{background:linear-gradient(135deg,#43E97B,#38F9D7);border-color:#43E97B55;box-shadow:0 3px 12px rgba(67,233,123,.28)}
.quick-cat:nth-child(6n+5) .qc-ic{background:linear-gradient(135deg,#A18CD1,#FBC2EB);border-color:#A18CD155;box-shadow:0 3px 12px rgba(161,140,209,.30)}
.quick-cat:nth-child(6n+6) .qc-ic{background:linear-gradient(135deg,#FDCB6E,#E17055);border-color:#FDCB6E55;box-shadow:0 3px 12px rgba(224,112,85,.30)}
/* 悬停/按下反馈 */
.quick-cat:active .qc-ic{transform:scale(.9)}
@media (hover:hover){.quick-cat:hover .qc-ic{transform:translateY(-2px) scale(1.06);box-shadow:0 8px 18px rgba(0,0,0,.45)}}
.quick-cat .qc-tx{font-size:11px;color:var(--txt2);max-width:62px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-cat:hover .qc-tx{color:var(--txt)}

/* 板块 */
.section{padding:12px 0}
.sec-head{display:flex;align-items:center;justify-content:space-between;padding:0 14px 8px}
.sec-head .sh-tx{font-size:17px;font-weight:700}
.sec-head .sh-tx::before{content:"";display:inline-block;width:4px;height:16px;background:var(--primary);border-radius:2px;margin-inline-end:8px;vertical-align:-3px}
.sec-head .sh-more{font-size:12px;color:var(--txt3)}
.row-scroll{display:flex;overflow-x:auto;gap:10px;padding:0 14px;scrollbar-width:none}
.row-scroll::-webkit-scrollbar{display:none}
.movie-card{flex:0 0 116px;cursor:pointer}
.movie-card .mc-poster{width:116px;height:162px;border-radius:var(--radius-s);overflow:hidden;background:var(--card);position:relative}
.movie-card .mc-poster img{width:100%;height:100%;object-fit:cover}
.movie-card .mc-score{position:absolute;inset-block-end:6px;inset-inline-end:6px;background:rgba(0,0,0,.55);color:var(--gold);font-size:11px;padding:1px 6px;border-radius:4px}
.movie-card .mc-title{font-size:13px;margin-top:6px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.movie-card .mc-sub{font-size:11px;color:var(--txt3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.movie-card .mc-views{font-size:11px;color:var(--txt3);margin-top:2px}

/* 片库网格 */
.filter-bar{padding:10px 14px;background:var(--bg2);position:sticky;top:var(--top-h);z-index:20;border-bottom:1px solid var(--line)}
.filter-row{display:flex;overflow-x:auto;gap:8px;padding:4px 0;scrollbar-width:none}
.filter-row::-webkit-scrollbar{display:none}
.filter-item{flex:0 0 auto;padding:5px 14px;background:var(--card);border-radius:14px;font-size:12px;color:var(--txt2);border:1px solid transparent;cursor:pointer}
.filter-item.on{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-color:transparent}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px}
.grid .movie-card{flex:none;width:100%}
.grid .movie-card .mc-poster{width:100%;height:0;padding-bottom:140%;position:relative}
.grid .movie-card .mc-poster img{position:absolute;inset:0}
.load-more{text-align:center;padding:18px;color:var(--txt3);font-size:13px;cursor:pointer}
.load-more.loading{pointer-events:none;opacity:.6}

/* 详情页 */
.detail-hero{position:relative;height:340px;overflow:hidden}
.detail-hero img{width:100%;height:100%;object-fit:cover;filter:blur(2px) brightness(.6)}
.detail-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,var(--bg) 100%)}
.detail-hero .dh-inner{position:absolute;inset-block-start:20px;inset-inline-start:14px;inset-inline-end:14px;z-index:2;display:flex;gap:14px}
.detail-hero .dh-poster{width:100px;height:140px;border-radius:10px;overflow:hidden;flex:0 0 100px;box-shadow:var(--shadow)}
.detail-hero .dh-poster img{width:100%;height:100%;object-fit:cover}
.detail-hero .dh-meta{flex:1;padding-top:10px}
.detail-hero .dh-title{font-size:20px;font-weight:700;line-height:1.3}
.detail-hero .dh-sub{font-size:13px;color:var(--txt2);margin-top:6px}
.detail-hero .dh-score{color:var(--gold);font-size:22px;font-weight:700;margin-top:8px}
.detail-hero .dh-score small{font-size:12px;color:var(--txt3);font-weight:400}
.detail-actions{display:flex;gap:12px;padding:16px;border-bottom:8px solid var(--bg2)}
.detail-actions .btn-play{flex:1;height:44px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-radius:22px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
.detail-actions .btn-fav{width:44px;height:44px;background:var(--card);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--txt2)}
.detail-actions .btn-fav.on{color:var(--primary)}
.detail-info{padding:16px;border-bottom:8px solid var(--bg2)}
.detail-info .di-row{font-size:13px;color:var(--txt2);line-height:2}
.detail-info .di-row b{color:var(--txt);font-weight:500;margin-inline-end:8px}
.detail-intro{padding:16px;border-bottom:8px solid var(--bg2)}
.detail-intro .di-text{font-size:14px;color:var(--txt2);line-height:1.7}
.detail-intro .di-toggle{color:var(--primary);font-size:13px;margin-top:8px;cursor:pointer;display:inline-block}
.section-eps{padding:16px;border-bottom:8px solid var(--bg2)}
.section-eps .sec-head{padding:0 0 12px}
.eps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.eps-grid .ep-item{height:38px;background:var(--card);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--txt2);cursor:pointer;border:1px solid transparent}
.eps-grid .ep-item.on{background:var(--primary);color:#fff}
.section-related{padding:16px}

/* 详情页：点赞 / 评论 / 观影人数 */
.detail-actions .btn-like{flex:0 0 auto;height:44px;padding:0 16px;background:var(--card);border-radius:22px;display:flex;align-items:center;gap:6px;font-size:14px;color:var(--txt2)}
.detail-actions .btn-like.on{color:var(--primary)}
.detail-actions .btn-like .bl-ic{font-size:18px}
.detail-actions .btn-like .bl-n{font-weight:600}
.dh-sub .ds-dot{display:inline-block;width:6px;height:6px;background:#3ddc84;border-radius:50%;margin:0 8px;vertical-align:middle;animation:pulse 1.5s infinite}
.dh-sub .ds-live{color:#3ddc84;font-weight:500}
@keyframes pulse{0%{opacity:1}50%{opacity:.4}100%{opacity:1}}
.detail-stats{display:flex;justify-content:space-around;padding:14px 16px;border-bottom:8px solid var(--bg2);background:var(--card)}
.detail-stats .dst-item{text-align:center}
.detail-stats .dst-n{display:block;font-size:16px;font-weight:700;color:var(--txt)}
.detail-stats .dst-l{display:block;font-size:12px;color:var(--txt3);margin-top:2px}
.section-comments{padding:16px;border-bottom:8px solid var(--bg2)}
.section-comments .sec-head{display:flex;align-items:center;gap:8px;padding:0 0 12px}
.section-comments .sh-count{background:var(--primary2);color:#fff;font-size:12px;padding:2px 8px;border-radius:10px}
.cm-input-box{display:flex;gap:10px;margin-bottom:14px}
.cm-input{flex:1;height:40px;padding:0 14px;background:var(--bg2);border:1px solid var(--line);border-radius:20px;color:var(--txt);font-size:14px}
.cm-input:focus{outline:none;border-color:var(--primary)}
.cm-send{height:40px;padding:0 18px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-radius:20px;font-size:14px;font-weight:600}
.cm-list{display:flex;flex-direction:column;gap:14px}
.cm-loading,.cm-empty{text-align:center;color:var(--txt3);font-size:13px;padding:20px 0}
.cm-item{display:flex;gap:12px}
.cm-ava{width:36px;height:36px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--txt2);overflow:hidden;flex:0 0 36px}
.cm-ava img{width:100%;height:100%;object-fit:cover}
.cm-body{flex:1;min-width:0}
.cm-name{font-size:13px;color:var(--txt2);margin-bottom:4px}
.cm-time{margin-left:8px;font-size:11px;color:var(--txt3)}
.cm-text{font-size:14px;color:var(--txt);line-height:1.6;word-break:break-word}

/* 播放器 */
.player-wrap{background:#000;position:relative}
.player-wrap video{width:100%;display:block;background:#000;max-height:60vh}
.player-err{
  position:absolute;left:0;right:0;bottom:0;padding:10px 14px;
  background:rgba(180,35,35,.92);color:#fff;font-size:12px;line-height:1.6;text-align:center;
}
.player-bar{padding:12px 14px;background:var(--bg2);border-bottom:1px solid var(--line)}
.player-bar .pb-title{font-size:15px;font-weight:600}
.player-bar .pb-sub{font-size:12px;color:var(--txt3);margin-top:4px}
.player-next{margin-top:10px;height:40px;padding:0 18px;background:var(--card);border-radius:20px;font-size:13px;color:var(--primary);display:inline-flex;align-items:center;gap:6px}
.player-eps{padding:14px}
.player-eps .sec-head{padding:0 0 12px}
.no-source{padding:60px 24px;text-align:center}
.no-source .ns-ic{font-size:48px;opacity:.4}
.no-source .ns-tx{font-size:16px;margin-top:16px;color:var(--txt2)}
.no-source .ns-tip{font-size:13px;color:var(--txt3);margin-top:8px;line-height:1.6}

/* 抽屉 */
.drawer{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.6);visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}
.drawer.show{visibility:visible;opacity:1}
.drawer .dr-inner{position:absolute;inset-block-end:0;inset-inline:0;background:var(--bg2);border-radius:16px 16px 0 0;padding:18px;max-height:60vh;overflow:auto;transform:translateY(100%);transition:transform .3s}
.drawer.show .dr-inner{transform:translateY(0)}

/* 我的 */
.mine-head{background:linear-gradient(135deg,var(--card),var(--bg2));padding:30px 18px 24px;text-align:center}
.mine-head .mh-ava{width:72px;height:72px;border-radius:50%;background:var(--card);margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:32px;border:2px solid var(--line)}
.mine-head .mh-name{font-size:17px;font-weight:600;margin-top:10px}
.mine-head .mh-sub{font-size:12px;color:var(--txt3);margin-top:4px}
.mine-head.mh-click{cursor:pointer}
.mine-head.mh-click:active{opacity:.75}
.mine-head .mh-img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--primary)}
.mine-head .vip-badge{display:inline-block;margin-inline-start:6px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:#3a2b00;background:linear-gradient(135deg,#ffd700,#ffb300)}
.mine-head .mh-edit{font-size:12px;color:var(--primary);margin-top:8px}

/* 会员入口卡片 */
.vip-entry{margin:14px 16px;padding:14px 16px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#3a2b00;background:linear-gradient(135deg,#f7e08b,#ffb300 55%,#ff8f00);box-shadow:0 6px 18px rgba(255,179,0,.25)}
.vip-entry.on{background:linear-gradient(135deg,#2b2b33,#3a3324);color:#ffd700;border:1px solid rgba(255,215,0,.35);box-shadow:none}
.vip-entry .ve-l{display:flex;align-items:center;gap:10px}
.vip-entry .ve-ic{font-size:26px}
.vip-entry .ve-t{font-size:15px;font-weight:700}
.vip-entry .ve-s{font-size:11px;opacity:.8;margin-top:2px}
.vip-entry .ve-btn{font-size:12px;font-weight:600;background:rgba(0,0,0,.18);padding:6px 12px;border-radius:14px}
.vip-entry.on .ve-btn{background:linear-gradient(135deg,#ffd700,#ffb300);color:#3a2b00}

/* 我的菜单 VIP 项 */
.mm-item.mm-vip{color:#ffb300}

/* 编辑资料页 */
.profile-wrap{padding:20px 24px 40px}
.pf-title{font-size:20px;font-weight:700;text-align:center;margin:10px 0 24px}
.pf-avatar{text-align:center;cursor:pointer;margin-bottom:22px}
.pf-avatar img,.pf-av-empty{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid var(--primary)}
.pf-av-empty{display:flex;align-items:center;justify-content:center;font-size:36px;background:var(--card);margin:0 auto}
.pf-av-tip{font-size:12px;color:var(--txt3);margin-top:10px}
.pf-label{display:block;font-size:12px;color:var(--txt3);margin-bottom:8px}
.pf-phone{font-size:13px;color:var(--txt3);text-align:center;margin:12px 0 0}

/* 会员中心 */
.vip-wrap{padding:16px 20px 40px}
.vip-loading{text-align:center;color:var(--txt3);padding:60px 0}
.vip-hero{position:relative;overflow:hidden;border-radius:18px;padding:34px 20px 26px;text-align:center;color:#3a2b00;background:linear-gradient(150deg,#fff3c4 0%,#ffd700 30%,#f59e0b 70%,#b45309 100%);box-shadow:0 10px 30px rgba(245,158,11,.35)}
.vip-hero::after{content:'';position:absolute;inset-block-start:-40px;inset-inline-end:-30px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.22)}
.vh-crown{font-size:44px}
.vh-title{font-size:20px;font-weight:800;margin-top:8px;letter-spacing:1px}
.vh-slogan{font-size:12px;opacity:.85;margin-top:6px}
.vh-status{display:inline-block;margin-top:14px;padding:6px 16px;border-radius:16px;font-size:12px;font-weight:600;background:rgba(58,43,0,.85);color:#ffd700}
.vip-sec-title{font-size:15px;font-weight:700;margin:24px 0 12px;color:var(--txt2)}
.vip-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vip-benefit{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.vip-benefit .vb-ic{font-size:24px}
.vip-benefit .vb-name{font-size:13px;font-weight:600}
.vip-benefit .vb-desc{font-size:11px;color:var(--txt3);margin-top:2px}
.vip-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.vip-plan{position:relative;text-align:center;padding:18px 8px 14px;border-radius:14px;background:var(--card);border:2px solid var(--line);cursor:pointer;transition:border-color .2s,transform .2s}
.vip-plan:active{transform:scale(.97)}
.vip-plan.on{border-color:#ffb300;background:linear-gradient(180deg,rgba(255,179,0,.12),var(--card))}
.vip-plan .vp-tag{position:absolute;inset-block-start:-9px;inset-inline-end:10px;padding:2px 8px;border-radius:9px;font-size:10px;font-weight:700;color:#3a2b00;background:linear-gradient(135deg,#ffd700,#ffb300)}
.vip-plan .vp-name{font-size:13px;color:var(--txt2)}
.vip-plan .vp-price{font-size:26px;font-weight:800;color:#ffb300;margin-top:8px}
.vip-plan .vp-price small{font-size:14px;font-weight:600}
.vip-plan .vp-per{font-size:10px;color:var(--txt3);margin-top:4px}
.vip-cta{width:100%;height:50px;margin-top:22px;border:none;border-radius:25px;font-size:16px;font-weight:700;color:#3a2b00;background:linear-gradient(135deg,#ffd700,#ffb300 60%,#ff8f00);box-shadow:0 8px 22px rgba(255,179,0,.35);cursor:pointer}
.vip-cta:active{transform:scale(.98)}
.vip-note{text-align:center;font-size:11px;color:var(--txt3);margin-top:14px}
.mine-tabs{display:flex;background:var(--bg2);border-bottom:1px solid var(--line)}
.mine-tabs .mt-item{flex:1;text-align:center;padding:14px 0;font-size:14px;color:var(--txt2);cursor:pointer;border-bottom:2px solid transparent}
.mine-tabs .mt-item.on{color:var(--primary);border-color:var(--primary)}
.mine-list{padding:12px 14px}
.mine-list .ml-card{display:flex;gap:12px;padding:10px;background:var(--card);border-radius:10px;margin-bottom:10px;cursor:pointer}
.mine-list .ml-card .ml-poster{width:80px;height:112px;border-radius:8px;overflow:hidden;flex:0 0 80px}
.mine-list .ml-card .ml-poster img{width:100%;height:100%;object-fit:cover}
.mine-list .ml-card .ml-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}
.mine-list .ml-card .ml-title{font-size:14px;font-weight:500}
.mine-list .ml-card .ml-sub{font-size:12px;color:var(--txt3)}
.mine-menu{margin-top:14px}
.mine-menu .mm-item{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--card);border-bottom:1px solid var(--line);cursor:pointer;font-size:14px}
.mine-menu .mm-item:first-child{border-radius:10px 10px 0 0}
.mine-menu .mm-item:last-child{border-radius:0 0 10px 10px;border-bottom:none}
.mine-menu .mm-item .mm-arr{color:var(--txt3)}
.mine-about{margin-top:14px}
.mine-menu .mm-grp{padding:6px 18px 4px;font-size:12px;color:var(--txt3)}

/* 关于 / 协议 / 隐私 / FAQ 页 */
.about-wrap{padding:8px 18px 40px;line-height:1.8}
.about-title{font-size:20px;font-weight:700;margin:14px 0 18px;text-align:center}
.about-body{font-size:14px;color:var(--txt2)}
.about-body h3{font-size:15px;font-weight:600;margin:20px 0 8px;color:var(--primary)}
.about-body p{margin:10px 0}
.about-body ul{margin:10px 0;padding-left:20px}
.about-body li{margin:6px 0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;font-size:14px;font-weight:500;cursor:pointer}
.faq-q .faq-ar{color:var(--txt3);transition:transform .2s;transform:rotate(90deg)}
.faq-item.open .faq-q .faq-ar{transform:rotate(-90deg);color:var(--primary)}
.faq-a{max-height:0;overflow:hidden;font-size:13px;color:var(--txt2);transition:max-height .25s ease}
.faq-item.open .faq-a{max-height:400px;padding:0 4px 16px}

.empty-box{padding:80px 24px;text-align:center;color:var(--txt3)}
.empty-box .eb-ic{font-size:56px;opacity:.3}
.empty-box .eb-tx{margin-top:14px;font-size:14px}

/* 登录 */
.login-wrap{padding:60px 24px}
.login-wrap .lw-title{font-size:24px;font-weight:700;text-align:center;margin-bottom:30px;color:var(--primary)}
.login-field{margin-bottom:16px}
.login-field input{width:100%;height:48px;background:var(--card);border-radius:10px;padding:0 14px;font-size:15px;border:1px solid var(--line)}
.login-field input:focus{border-color:var(--primary)}
.login-field.pwd-field{position:relative}
.login-field.pwd-field input{padding-inline-end:48px}
.login-field .pwd-eye{position:absolute;inset-inline-end:6px;inset-block-start:50%;transform:translateY(-50%);width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:19px;cursor:pointer;user-select:none;opacity:.75;border-radius:8px}
.login-field .pwd-eye:hover{opacity:1;background:rgba(255,255,255,.06)}
.login-btn{width:100%;height:48px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-radius:24px;font-size:16px;font-weight:600;margin-top:8px}
.login-tip{text-align:center;color:var(--txt3);font-size:12px;margin-top:18px;line-height:1.8}

.back-bar{display:inline-flex;align-items:center;gap:6px;margin:10px 16px;padding:8px 18px;border-radius:20px;background:var(--card);border:1px solid var(--line);color:var(--txt2);font-size:14px;cursor:pointer;transition:color .2s,border-color .2s}
.back-bar:hover{color:#fff;border-color:var(--primary)}
.back-bar .bb-ar{font-size:17px;line-height:1}

/* toast */
.k-toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);background:rgba(20,20,28,.95);color:#fff;padding:10px 18px;border-radius:10px;font-size:13px;z-index:200;opacity:0;transition:opacity .25s,transform .25s;max-width:80%;text-align:center}
.k-toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.k-toast-err{background:rgba(220,53,69,.92)}

/* 进度条 */
.progress-bar{height:3px;background:rgba(255,255,255,.2);position:relative;cursor:pointer}
.progress-bar .pb-fill{height:100%;background:var(--primary);width:0;transition:width .1s}
.player-controls{display:flex;align-items:center;gap:12px;padding:10px 14px;color:#fff;background:#000}
.player-controls .pc-time{font-size:12px;color:var(--txt2);min-width:42px}
.player-controls .pc-play{font-size:22px;cursor:pointer}
