:root{
  --bg:#0d0d10; --bg2:#17171c; --bg3:#22222a; --line:#2a2a33;
  --text:#ececf0; --muted:#9a9aa6;
  --accent:#ff8a00; --accent2:#ff5e00; --vip:#ff2d6f;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-tap-highlight-color:transparent;}
a{color:inherit;text-decoration:none;}
img{display:block;}

/* 顶栏 */
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,13,16,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.header-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:12px 16px;}
.logo{font-size:20px;font-weight:800;letter-spacing:.5px;white-space:nowrap;}
.logo b{color:var(--accent);}
.logo span{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.header-spacer{flex:1;}
.vip-btn{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;}
.user-chip{color:var(--muted);font-size:13px;display:none;}
@media(min-width:560px){ .user-chip{display:inline;} }

/* 分类条（手机横向滚动） */
.cat-bar{position:sticky;top:57px;z-index:40;background:var(--bg);border-bottom:1px solid var(--line);}
.cat-scroll{max-width:960px;margin:0 auto;display:flex;gap:8px;padding:10px 16px;overflow-x:auto;scrollbar-width:none;}
.cat-scroll::-webkit-scrollbar{display:none;}
.cat{flex:0 0 auto;padding:7px 16px;border-radius:18px;background:var(--bg3);color:var(--text);font-size:14px;white-space:nowrap;border:1px solid transparent;}
.cat.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:600;}

/* 容器 */
.container{max-width:960px;margin:0 auto;padding:16px;}
.section-title{font-size:16px;font-weight:700;margin:6px 2px 14px;display:flex;align-items:center;gap:8px;}
.section-title::before{content:"";width:4px;height:16px;border-radius:2px;background:linear-gradient(var(--accent),var(--accent2));}

/* 视频网格 */
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
@media(min-width:1100px){ .grid{gap:16px;} }

.v-card{background:var(--bg2);border-radius:12px;overflow:hidden;transition:transform .15s,box-shadow .15s;}
.v-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.5);}
.v-thumb{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;}
.v-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.55));}
.v-badges{position:absolute;top:8px;left:8px;display:flex;gap:6px;z-index:2;}
.badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;line-height:1.6;}
.badge.hd{background:#fff;color:#111;}
.badge.vip{background:var(--vip);color:#fff;}
.v-tag{position:absolute;right:8px;bottom:8px;z-index:2;background:rgba(0,0,0,.7);color:#fff;font-size:11px;padding:2px 7px;border-radius:5px;}
.v-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transition:opacity .15s;}
.v-play span{width:52px;height:52px;border-radius:50%;background:rgba(255,138,0,.92);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;padding-left:4px;}
.v-card:hover .v-play{opacity:1;}
.v-info{padding:9px 11px 12px;}
.v-title{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:39px;}
.v-meta{margin-top:6px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;}
.dot{width:3px;height:3px;border-radius:50%;background:var(--muted);}

.empty-tip{color:var(--muted);text-align:center;padding:60px 0;}

/* 分页 */
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:28px 0 8px;}
.pager a,.pager span{min-width:38px;text-align:center;padding:8px 12px;border-radius:8px;background:var(--bg3);color:var(--text);font-size:14px;}
.pager a.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:700;}
.pager span.gap{background:none;color:var(--muted);}

/* 页脚 */
.site-footer{border-top:1px solid var(--line);margin-top:30px;padding:24px 16px 40px;text-align:center;color:var(--muted);font-size:12px;line-height:1.9;}
.site-footer .warn{color:var(--vip);font-weight:700;}

/* 年龄确认 */
.age-gate{position:fixed;inset:0;z-index:9999;background:rgba(7,7,9,.97);display:flex;align-items:center;justify-content:center;padding:24px;}
.age-box{max-width:380px;text-align:center;}
.age-box .ico{font-size:46px;}
.age-box h2{margin:14px 0 10px;font-size:22px;}
.age-box p{color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:22px;}
.age-actions{display:flex;flex-direction:column;gap:10px;}
.age-actions .enter{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:10px;padding:13px;font-size:16px;font-weight:700;cursor:pointer;}
.age-actions .leave{background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;padding:6px;}
.age-box small{display:block;color:#5e5e68;font-size:12px;margin-top:18px;}

/* 客服悬浮窗（深色，沿用 chat.js 的类名） */
.chat-fab{position:fixed;right:18px;bottom:18px;z-index:1100;padding:12px 18px;border:none;border-radius:30px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px rgba(255,94,0,.45);}
.chat-window{position:fixed;right:18px;bottom:18px;z-index:1100;width:340px;max-width:calc(100vw - 24px);height:460px;max-height:calc(100vh - 24px);background:var(--bg2);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:none;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,.6);}
.chat-window.open{display:flex;}
.chat-header{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:700;}
.chat-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1;}
.chat-body{flex:1;padding:14px;overflow-y:auto;background:var(--bg);}
.chat-input{display:flex;border-top:1px solid var(--line);background:var(--bg2);}
.chat-input input{flex:1;border:none;background:transparent;color:var(--text);padding:12px 14px;outline:none;font-size:14px;}
.chat-input button{border:none;background:var(--accent);color:#fff;padding:0 18px;cursor:pointer;font-weight:600;}
.msg{margin-bottom:12px;display:flex;flex-direction:column;}
.msg.mine{align-items:flex-end;}
.msg.theirs{align-items:flex-start;}
.bubble{max-width:78%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.45;word-break:break-word;white-space:pre-wrap;}
.msg.mine .bubble{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-bottom-right-radius:3px;}
.msg.theirs .bubble{background:var(--bg3);color:var(--text);border-bottom-left-radius:3px;}
.msg-time{font-size:11px;color:#6a6a74;margin-top:3px;}

/* 个人中心入口 */
.nav-link-text{color:var(--muted);font-size:14px;white-space:nowrap;}
.nav-link-text:hover{color:var(--accent);}

/* 搜索条 */
.search-bar{max-width:960px;margin:0 auto;display:flex;gap:8px;padding:0 16px 12px;}
.search-bar input{flex:1;min-width:0;background:var(--bg3);border:1px solid var(--line);color:var(--text);border-radius:20px;padding:9px 16px;font-size:14px;outline:none;}
.search-bar input::placeholder{color:#6a6a74;}
.search-bar button{border:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-radius:20px;padding:0 18px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;}

/* 列表标题 + 排序切换 */
.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 2px 14px;}
.list-head .section-title{margin:0;}
.sort-tabs{display:flex;gap:6px;flex-shrink:0;}
.sort-tabs a{padding:6px 14px;border-radius:16px;background:var(--bg3);color:var(--muted);font-size:13px;}
.sort-tabs a.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:600;}

/* 个人中心页 */
.account{max-width:560px;margin:24px auto;padding:0 16px;}
.account-card{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:24px;}
.account-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;}
.account-row:last-child{border-bottom:none;}
.account-row .k{color:var(--muted);}
.account-row .v{font-weight:600;}
.account .badge-vip{background:var(--vip);color:#fff;padding:2px 10px;border-radius:12px;font-size:13px;}
.account .badge-free{background:var(--bg3);color:var(--muted);padding:2px 10px;border-radius:12px;font-size:13px;}
.account .open-btn{display:block;width:100%;margin-top:20px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:10px;padding:13px;font-size:16px;font-weight:700;cursor:pointer;}

/* 登录 / 个人中心 表单 */
.auth-field{margin-bottom:14px;}
.auth-field label{display:block;color:var(--muted);font-size:13px;margin-bottom:6px;}
.account .input{width:100%;background:var(--bg3);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 14px;font-size:14px;outline:none;}
.account .input::placeholder{color:#6a6a74;}
.auth-tip{color:var(--muted);font-size:13px;line-height:1.7;margin-top:14px;}
.auth-err{background:rgba(255,45,111,.15);color:#ff7aa6;border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:14px;}
.auth-ok{background:rgba(46,204,113,.15);color:#56d98a;border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:14px;}

/* ---------- 广告位 ---------- */
.ad-banner{margin-bottom:14px;}
.ad-banner a{display:block;margin-bottom:8px;}
.ad-banner img{width:100%;border-radius:10px;display:block;}
.ad-icons{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px;scrollbar-width:none;}
.ad-icons::-webkit-scrollbar{display:none;}
.ad-icons a{flex:0 0 auto;width:60px;text-align:center;color:var(--muted);font-size:12px;}
.ad-icons img{width:54px;height:54px;border-radius:14px;object-fit:cover;margin-bottom:4px;background:var(--bg3);}
.ad-icons span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ad-text{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:16px;}
.ad-text a{display:block;text-align:center;color:var(--accent);font-size:13px;padding:8px 6px;background:var(--bg3);border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:560px){.ad-text{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;}}
.ad-float{position:fixed;left:0;right:0;bottom:0;z-index:1050;background:rgba(20,20,24,.96);line-height:0;}
.ad-float .ad-float-item{display:none;}
.ad-float .ad-float-item.on{display:block;}
.ad-float .ad-float-item img{width:100%;display:block;max-height:120px;object-fit:cover;}
.ad-float-close{position:absolute;right:8px;top:8px;background:rgba(0,0,0,.55);border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;z-index:2;}

.feed-status{text-align:center;color:var(--muted);font-size:13px;padding:18px 0;}

/* 登录/注册拦截弹窗 */
.auth-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:1200;padding:20px;}
.auth-modal.show{display:flex;}
.auth-modal-box{background:var(--bg2);border:1px solid var(--line);width:320px;max-width:100%;border-radius:16px;padding:28px 24px;text-align:center;}
.auth-modal-box .modal-emoji{font-size:40px;}
.auth-modal-box h3{margin:12px 0 8px;}
.auth-modal-box p{color:var(--muted);font-size:14px;margin-bottom:20px;}
.auth-modal-box .btn-primary{display:block;width:100%;padding:13px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:16px;font-weight:700;cursor:pointer;}
.auth-modal-box .btn-line{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--text);}
.auth-modal-box .btn-text{margin-top:10px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;}

/* 聊天图片 + 上传按钮 */
.chat-upload{display:flex;align-items:center;justify-content:center;width:42px;font-size:18px;cursor:pointer;color:var(--muted);}
.chat-img{max-width:180px;max-height:180px;border-radius:8px;display:block;cursor:pointer;}

/* 有底部悬浮广告时，客服按钮上移避免遮挡 */
.has-float .chat-fab{bottom:130px;}
.has-float .chat-window{bottom:130px;}

/* 视频框广告卡的"广告"角标 */
.badge.adv{background:rgba(0,0,0,.65);color:#fff;}
.ad-card .v-meta{color:var(--accent);}

/* 图片懒加载占位 */
.v-thumb.lazy{background-size:56px auto;background-repeat:no-repeat;background-position:center;background-color:var(--bg3);}

/* ---------- 充值/开通页 ---------- */
.pay-label{font-size:14px;color:var(--muted);margin-bottom:12px;}
.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.plan-item{position:relative;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;background:var(--bg3);}
.plan-item input{position:absolute;opacity:0;}
.plan-item .plan-name{font-weight:600;}
.plan-item .plan-price{color:var(--accent);font-size:18px;font-weight:700;}
.plan-item input:checked ~ .plan-name{color:var(--accent);}
.plan-item:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;}
.method-tabs{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.method-item{position:relative;border:1px solid var(--line);border-radius:20px;padding:8px 18px;cursor:pointer;background:var(--bg3);font-size:14px;}
.method-item input{position:absolute;opacity:0;}
.method-item:has(input:checked){border-color:var(--accent);color:var(--accent);font-weight:600;}
.pay-amount{font-size:15px;margin-bottom:14px;}
.pay-amount b{color:var(--accent);font-size:22px;}
.qr-box{text-align:center;background:var(--bg3);border-radius:10px;padding:18px;}
.qr-box img{width:200px;max-width:80%;border-radius:8px;background:#fff;}
.qr-acc{margin-top:10px;font-size:14px;word-break:break-all;}
.qr-tip{margin-top:8px;color:var(--muted);font-size:13px;}
@media (max-width:560px){.plan-grid{grid-template-columns:repeat(2,1fr);}}
