/* ==========================================================================
   huaidan_pc - PC 端主题样式
   ========================================================================== */
:root{
  --hd-primary:#ff2d6f;
  --hd-primary-dark:#e0245e;
  --hd-primary-soft:#fdeef2;
  --hd-grad:linear-gradient(135deg,#ff5fa2 0%,#a855f7 100%);
  --hd-text:#1f2329;
  --hd-muted:#8a9099;
  --hd-line:#f0f0f1;
  --hd-bg:#f6f6f8;
  --hd-green:#22c55e;
  --hd-gold:#f5c518;
  --hd-radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
body.hd-body{background:var(--hd-bg);color:var(--hd-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
button{font-family:inherit}
.hd-container{max-width:1280px;margin:0 auto;padding:0 24px}

/* ---------- 顶部导航 ---------- */
.hd-nav{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--hd-line)}
.hd-nav-inner{max-width:1320px;margin:0 auto;height:70px;display:flex;align-items:center;gap:24px;padding:0 26px}
.hd-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}
.hd-logo-mark{display:inline-flex}
.hd-logo-text{font-size:23.5px;font-weight:800;letter-spacing:.2px;background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:lowercase}
.hd-logo-dark{background:none;-webkit-background-clip:initial;background-clip:initial;color:#1f2329}
.hd-logo-text::first-letter{text-transform:lowercase}
.hd-menu{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}
.hd-menu-item{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;font-size:16.5px;font-weight:500;color:#4b5158;text-decoration:none;white-space:nowrap;transition:background .18s,color .18s}
.hd-menu-item:hover{background:#f7f7f9;color:var(--hd-primary)}
.hd-menu-item.active{color:var(--hd-primary);font-weight:700}
.hd-menu-item.active .hd-nav-icon{color:var(--hd-primary)}
.hd-nav-icon{display:inline-flex;color:#6b7280}
.hd-nav-icon-video{color:#ff5fa2}
.hd-nav-icon-compass{color:#f59e0b}
.hd-nav-icon-grid{color:#8b5cf6}
.hd-nav-icon-chat{color:#22c55e}
.hd-nav-icon-wallet{color:#3b82f6}
.hd-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}

/* 通知铃铛 */
.hd-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#4b5158;text-decoration:none}
.hd-bell:hover{background:#f5f5f7}
.hd-bell-dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:#ff2d6f;box-shadow:0 0 0 2px #fff}

/* 语言切换 */
.hd-lang{position:relative}
.hd-lang-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:none;background:none;font-size:16px;color:#3c4148;cursor:pointer;border-radius:8px}
.hd-lang-btn:hover{background:#f5f5f7}
.hd-lang-menu{position:absolute;right:0;top:130%;min-width:168px;background:#fff;border:1px solid var(--hd-line);border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.12);padding:6px;display:none;z-index:300;max-height:340px;overflow:auto}
.hd-lang-menu.show{display:block}
.hd-lang-menu a{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:8px;font-size:15.5px;color:#3c4148;text-decoration:none;white-space:nowrap}
.hd-lang-menu a:hover{background:#f7f7f9;color:var(--hd-primary)}
.hd-lang-menu a.active{background:var(--hd-primary-soft);color:var(--hd-primary);font-weight:700}
/* 国旗：内联 SVG 渲染（尺寸 19×13） */
.hd-flag{width:19px;height:13px;border-radius:3px;display:inline-block;background:#dfe3ec;flex-shrink:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.hd-flag svg{display:block;width:100%;height:100%}
.hd-flag::before,.hd-flag::after{content:none!important}

/* 用户头像下拉 */
.hd-user{position:relative}
.hd-avatar-btn{position:relative;border:none;background:none;padding:0;cursor:pointer;line-height:0}
.hd-avatar-btn-v .hd-avatar{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 0 0 2px rgba(59,130,246,.4),0 2px 10px rgba(59,130,246,.3)}
.hd-v-mini{position:absolute;right:0;top:0;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:9px;font-weight:900;display:flex;align-items:center;justify-content:center;border:1.5px solid #fff;box-shadow:0 1px 3px rgba(59,130,246,.5)}
.hd-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;padding:2px;background:linear-gradient(135deg,#ffd166,#ff5fa2 50%,#a855f7);box-shadow:0 2px 10px rgba(255,45,111,.22)}
.hd-avatar-online{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:var(--hd-green);border:2px solid #fff}
.hd-user-menu{position:absolute;right:0;top:126%;width:272px;background:#fff;border:1px solid var(--hd-line);border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.14);padding:0;display:none;z-index:300;overflow:hidden}
.hd-user-menu::before{content:'';position:absolute;top:-7px;right:14px;width:14px;height:14px;background:#fff;border-top:1px solid var(--hd-line);border-left:1px solid var(--hd-line);transform:rotate(45deg)}
.hd-user-menu.show{display:block}
.hd-user-card{display:flex;align-items:center;gap:12px;padding:16px 16px 12px}
.hd-user-card-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;background:#f1f2f4;flex-shrink:0;display:inline-flex;position:relative}
.hd-user-card-avatar-v{box-shadow:0 0 0 2px #3b82f6}
.hd-v-crown{position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 4px rgba(59,130,246,.4)}
.hd-user-card-avatar img{width:100%;height:100%;object-fit:cover}
.hd-user-card-info{min-width:0}
.hd-user-card-name{display:inline-flex;align-items:center;gap:3px;font-size:18px;font-weight:800;color:#14181f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.hd-user-card-id{display:inline-flex;align-items:center;gap:2px;font-size:14.5px;color:var(--hd-muted);margin-top:3px}
.hd-verified{vertical-align:-2px;margin-right:4px;flex-shrink:0}
.hd-verified-mini{vertical-align:-1px;margin-right:3px;flex-shrink:0}
.hd-user-points{font-size:15.5px;color:#3c4148;padding:10px 16px 14px;border-bottom:1px solid var(--hd-line)}
.hd-user-menu-list{border-bottom:1px solid var(--hd-line);padding:6px 0}
.hd-user-menu-list:last-child{border-bottom:none}
.hd-user-menu-list a{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:17px;color:#22262c;text-decoration:none}
.hd-user-menu-list a:hover{background:#fafafb}
.hd-mi-icon{display:inline-flex;color:#3c4148}
.hd-mi-text{flex:1}
.hd-mi-arrow{color:#c4c8cd;font-size:19.5px;line-height:1}
.hd-user-menu-list a.hd-logout{color:#e11d48}
.hd-user-menu-list a.hd-logout .hd-mi-icon{color:#e11d48}
.hd-auth-link{font-size:16px;color:#3c4148;text-decoration:none;padding:7px 10px;border-radius:8px}
.hd-auth-link:hover{background:#f5f5f7}
.hd-auth-btn{font-size:16px;color:#fff;text-decoration:none;padding:8px 16px;border-radius:999px;background:var(--hd-grad);font-weight:700}

/* ---------- 页面容器 ---------- */
.hd-page{padding:0 0 40px}
.hd-page-full{padding:0}
.hd-footer{border-top:1px solid var(--hd-line);background:#fff;padding:18px 0;color:var(--hd-muted);font-size:14.5px;text-align:center}

/* ---------- 通用组件 ---------- */
.hd-card{background:#fff;border-radius:var(--hd-radius);box-shadow:0 2px 10px rgba(15,23,42,.05)}
.hd-badge{display:inline-flex;align-items:center;border-radius:6px;font-size:13px;font-weight:800;padding:3px 8px;line-height:1.2}
.hd-badge-free{background:var(--hd-green);color:#fff}
.hd-badge-point{background:var(--hd-gold);color:#5a4200}
.hd-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;cursor:pointer;font-weight:700;border-radius:999px;text-decoration:none}
.hd-btn-primary{background:var(--hd-primary);color:#fff}
.hd-btn-primary:hover{background:var(--hd-primary-dark)}
.hd-empty{padding:56px 20px;text-align:center;color:var(--hd-muted);font-size:16px}

/* 顶部导航自适应：图标与多语言文字始终共存，空间不足时压缩尺寸并可横向滚动 */
@media (max-width:1180px){
  .hd-nav-inner{gap:14px;padding:0 18px}
  .hd-menu-item{padding:9px 10px;font-size:15.5px;gap:5px}
}
@media (max-width:1024px){
  .hd-menu{gap:0;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hd-menu::-webkit-scrollbar{display:none}
  .hd-menu-item{padding:9px 8px;font-size:14.5px;gap:4px;flex-shrink:0}
  .hd-nav-icon svg{width:15px;height:15px}
  .hd-logo-text{font-size:20.5px}
  .hd-actions{gap:9px}
}
@media (max-width:820px){
  .hd-nav-inner{gap:10px;padding:0 14px;height:58px}
  .hd-menu-item{padding:8px 6px;font-size:13px;gap:3px}
  .hd-nav-icon svg{width:14px;height:14px}
  .hd-lang-btn{font-size:14.5px;padding:5px 6px}
  .hd-avatar{width:34px;height:34px}
}

/* ---------- 短视频页 ---------- */
.hd-strip-wrap{background:#fff;border-bottom:1px solid var(--hd-line);padding:14px 0 8px}
.hd-online-strip{display:flex;gap:18px;overflow-x:auto;padding:6px 0 12px;scrollbar-width:none}
.hd-online-strip::-webkit-scrollbar{display:none}
.hd-strip-item{flex-shrink:0;width:74px;text-align:center;text-decoration:none;color:inherit}
.hd-strip-item img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #fbbf24;padding:2px;background:#fff}
.hd-strip-item{position:relative}
.hd-strip-item::after{content:'';position:absolute;right:14px;bottom:18px;width:10px;height:10px;border-radius:50%;background:var(--hd-green);border:2px solid #fff}
.hd-strip-name{font-size:14px;color:#3c4148;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd-strip-region{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);background:rgba(255,45,111,.92);color:#fff;font-size:11.5px;font-weight:900;padding:2px 8px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 8px rgba(255,45,111,.35)}

.vd-page{padding:22px 20px 40px}
.vd-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px;gap:16px;flex-wrap:wrap}
.vd-title{font-size:27px;font-weight:800;color:#14181f}
.vd-sub{font-size:15.5px;color:var(--hd-muted);margin-top:6px}
.vd-head-tools{display:flex;align-items:center;gap:12px}
.vd-tabs{display:inline-flex;background:#fff;border-radius:999px;padding:4px;gap:2px;border:1px solid var(--hd-line)}
.vd-tab{padding:6px 14px;border-radius:999px;font-size:15px;color:#3c4148;text-decoration:none;font-weight:600}
.vd-tab.active{background:#14181f;color:#fff}
.vd-filter{background:#fff;border:1px solid var(--hd-line);border-radius:999px;padding:7px 14px;font-size:15px;color:#3c4148;cursor:pointer}
.vd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:1280px){.vd-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:980px){.vd-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.vd-grid{grid-template-columns:1fr}}
.vd-card{display:block;border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s;box-shadow:0 2px 8px rgba(15,23,42,.04);cursor:pointer}
.vd-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(15,23,42,.1)}
.vd-card-img{position:relative;aspect-ratio:3/4;background:#f1f2f4 center/cover no-repeat;overflow:hidden}
.vd-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#ff9a9e 0%,#a855f7 50%,#3b82f6 100%);opacity:.4;z-index:0;transition:opacity .35s}
.vd-card:hover .vd-card-img::after{opacity:.55}
.vd-card-badge{position:absolute;top:8px;right:8px;background:var(--hd-gold);color:#5a4200;font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:10px;z-index:3;box-shadow:0 2px 6px rgba(0,0,0,.15);display:inline-flex;align-items:center;gap:3px;backdrop-filter:blur(2px)}
.vd-badge-free{background:rgba(34,197,94,.95);color:#fff}
.vd-badge-paid{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}
.vd-badge-vip{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}
.vd-badge-unlocked{background:rgba(34,197,94,.95);color:#fff}
.vd-video-locked{filter:blur(12px) saturate(.7)}
.vd-unlock-wrap{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(12,14,22,.88);color:#fff;text-align:center;padding:20px;backdrop-filter:blur(6px)}
.vd-unlock-wrap[hidden]{display:none}
.vd-unlock-ico{font-size:36.5px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}
.vd-unlock-price{font-size:19.5px;font-weight:900;color:#ffd166}
.vd-unlock-title{font-size:15px;font-weight:700;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}
.vd-unlock-btn{border:none;border-radius:999px;padding:11px 30px;font-size:16px;font-weight:800;cursor:pointer;background:var(--hd-grad);color:#fff;box-shadow:0 8px 20px rgba(255,45,111,.35);transition:filter .15s,transform .15s}
.vd-unlock-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.vd-unlock-btn:disabled{opacity:.6;cursor:wait}
.vd-unlock-vip{font-size:14.5px;color:#ffc4da;font-weight:700;text-decoration:none}
.vd-unlock-vip:hover{text-decoration:underline}
.vd-card-badge .vd-bd-coin{font-size:12.5px}
.vd-card-grad{position:absolute;left:0;right:0;bottom:0;height:78%;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.92) 100%);z-index:1}
.vd-card-body{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;color:#fff}
.vd-card-line1{display:flex;align-items:center;gap:8px;min-width:0}
.vd-card-line1 .vd-card-name{flex:0 1 auto}
.vd-card-line1 .vd-card-id{margin-top:0;flex-shrink:0}
.vd-card-name{display:inline-flex;align-items:center;gap:4px;font-size:16.5px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.4);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-card-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}
.vd-verified{vertical-align:-1px;flex-shrink:0}
.vd-card-age{color:#fff;font-weight:700;opacity:.95;flex-shrink:0}
.vd-card-id{font-size:13px;opacity:.9;margin-top:4px;display:inline-flex;align-items:center;gap:5px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.vd-card-id::before{content:'';display:inline-block;width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:inset 0 0 0 1.5px #fff;flex-shrink:0}
.vd-card-loc{font-size:13px;opacity:.92;margin-top:5px;display:flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.vd-card-loc::before{content:'';display:inline-block;width:12px;height:12px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 010-5 2.5 2.5 0 010 5z'/></svg>") center/contain no-repeat;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3));flex-shrink:0}
.vd-card-loc.is-empty{opacity:.4}
.vd-card-desc{font-size:14px;opacity:.85;line-height:1.3;max-height:34px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.vd-card-meta{display:flex;gap:10px;font-size:13px;margin-top:6px;opacity:.92;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.vd-card-meta .vd-mi{display:inline-flex;align-items:center;gap:3px}
.vd-online-pin{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:4px;background:rgba(34,197,94,.95);color:#fff;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:10px;z-index:3;box-shadow:0 2px 6px rgba(34,197,94,.3)}
.vd-online-pin::before{content:'';width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8);animation:online-pulse 1.5s ease-in-out infinite}
.vd-card-heart{position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:50%;border:none;background:rgba(255,255,255,.85);color:#3c4148;cursor:pointer;font-size:18.5px;display:flex;align-items:center;justify-content:center;z-index:2}
.vd-card-heart:hover{background:var(--hd-primary);color:#fff}
.vd-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:linear-gradient(135deg,#ff9a9e 0%,#a855f7 100%) #000}
.vd-pager{display:flex;gap:8px;justify-content:center;margin-top:22px}
.vd-page-btn{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:9px;background:#fff;border:1px solid var(--hd-line);font-size:15px;color:#3c4148;text-decoration:none}
.vd-page-btn.active{background:#14181f;color:#fff;border-color:#14181f}
.vd-page-btn:hover:not(.active){border-color:#fda4af;color:var(--hd-primary)}
.fd-page{padding:22px 20px 40px}
.fd-tabs{display:inline-flex;background:#fff;border-radius:999px;padding:5px;gap:4px;box-shadow:0 2px 8px rgba(15,23,42,.05);margin-bottom:16px}
.fd-tab{padding:8px 22px;border-radius:999px;font-size:15.5px;font-weight:700;color:#3c4148;text-decoration:none;transition:background .15s,color .15s}
.fd-tab.active{background:linear-gradient(135deg,#ec4899,#a855f7);color:#fff}
.fd-tab:hover:not(.active){background:#f5f6f8}
.fd-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.fd-sel{padding:8px 12px;border:1px solid var(--hd-line);border-radius:999px;background:#fff;font-size:15px;cursor:pointer}
.fd-sel-country{max-width:150px}
.fd-search-wrap{position:relative;flex:1;min-width:160px}
.fd-search{width:100%;padding:8px 16px;border:1px solid var(--hd-line);border-radius:999px;font-size:15px;outline:none;background:#fff}
.fd-search:focus{border-color:var(--hd-primary);box-shadow:0 0 0 3px rgba(255,45,111,.12)}
.fd-search-hint{position:absolute;left:16px;top:100%;margin-top:4px;font-size:14px;color:var(--hd-muted)}
.fd-go{padding:8px 18px;border:none;border-radius:999px;background:var(--hd-primary);color:#fff;font-weight:700;cursor:pointer}
.fd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:1280px){.fd-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:980px){.fd-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.fd-grid{grid-template-columns:1fr}}
.fd-card{display:block;border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.fd-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(15,23,42,.1)}
.fd-card-img{position:relative;aspect-ratio:3/4;background:#f1f2f4 center/cover no-repeat;transition:transform .35s}
.fd-card:hover .fd-card-img{transform:scale(1.03)}
.fd-vip{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,#fbbf24,#d97706);color:#fff;font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:10px;z-index:2;box-shadow:0 2px 6px rgba(217,119,6,.4)}
.fd-vip::before{content:'♛';font-size:12.5px}
.fd-region{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.92);color:#14181f;font-size:11.5px;font-weight:900;padding:4px 9px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.12);backdrop-filter:blur(2px);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-online-pin{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:4px;background:rgba(34,197,94,.95);color:#fff;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:10px;z-index:2;box-shadow:0 2px 6px rgba(34,197,94,.3)}
.fd-online-pin::before{content:'';width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8);animation:online-pulse 1.5s ease-in-out infinite}
.fd-card-grad{position:absolute;left:0;right:0;bottom:0;height:78%;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.92) 100%);z-index:1}
.fd-card-body{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;color:#fff}
.fd-card-name{display:flex;align-items:center;gap:3px;font-size:16.5px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.4);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-verified{vertical-align:-1px;flex-shrink:0}
.fd-card-age{font-weight:700;opacity:.95}
.fd-card-id{font-size:13px;opacity:.9;margin-top:4px;display:flex;align-items:center;gap:5px;max-width:100%;overflow:hidden;white-space:nowrap}
.fd-card-id::before{content:none}
.fd-card-check{display:inline-flex;flex-shrink:0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
.fd-card-sex{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;font-size:11.5px;font-weight:900;font-style:normal;line-height:1;color:#fff;flex-shrink:0}
.fd-card-sex-f{background:#ff3a7d}
.fd-card-sex-m{background:#2f7bd6}
.fd-card-loc{font-size:13px;opacity:.92;margin-top:5px;display:flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.fd-card-loc::before{content:'';display:inline-block;width:14px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 010-5 2.5 2.5 0 010 5z'/></svg>") center/contain no-repeat;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3));flex-shrink:0}
.fd-card-loc.is-empty{opacity:.4}

/* ---------- 广场页 ---------- */
.hd-page-square{background:#f5f6f8}
.sq-page{display:grid;grid-template-columns:264px 1fr;gap:20px;padding:22px 24px 48px;align-items:start;max-width:1320px;margin:0 auto}
.sq-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:140px}

/* 左侧我的卡片 */
.sq-me-card{padding:0 0 16px;overflow:hidden}
.sq-me-banner{height:74px;background:linear-gradient(135deg,#ff9a9e 0%,#fecfef 40%,#a18cd1 100%)}
.sq-me-avatar-wrap{position:relative;width:72px;height:72px;margin:-38px auto 0}
.sq-me-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 12px rgba(15,23,42,.12);background:#fff}
.sq-me-crown{position:absolute;top:-4px;right:-6px;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:12.5px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.sq-me-v{position:absolute;bottom:-2px;right:-2px;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:12.5px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.sq-me-info{text-align:center;padding:8px 16px 0}
.sq-me-name{display:inline-flex;align-items:center;gap:3px;font-size:18.5px;font-weight:800;color:#14181f}
.sq-me-state{font-size:14.5px;color:var(--hd-green);margin-top:5px;font-weight:700}
.sq-me-id{font-size:13px;color:var(--hd-muted);margin-top:3px}
.sq-me-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 16px 0;padding:12px 0;border-top:1px solid var(--hd-line);border-bottom:1px solid var(--hd-line)}
.sq-stat{text-align:center;text-decoration:none;color:inherit;border-radius:8px;transition:background .14s}
.sq-stat:hover{background:#faf5ff}
.sq-stat b{display:block;font-size:19.5px;font-weight:900;color:#14181f}
.sq-stat span{font-size:13px;color:var(--hd-muted);margin-top:2px;display:block}
.sq-me-balance{display:flex;align-items:center;justify-content:space-between;margin:12px 16px 0;padding:9px 14px;border-radius:10px;background:linear-gradient(135deg,#fff1f6,#f5f0ff);font-size:14.5px;color:#7c5c8a}
.sq-me-balance b{font-size:17px;font-weight:900;color:var(--hd-primary)}
.sq-manage{display:block;margin:14px 16px 0;text-align:center;padding:11px;border-radius:10px;background:linear-gradient(135deg,#c084fc,#ec4899);color:#fff;text-decoration:none;font-weight:800;font-size:15.5px;box-shadow:0 6px 16px rgba(236,72,153,.28);transition:transform .15s,box-shadow .15s}
.sq-manage:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(236,72,153,.36)}

/* 左侧导航 */
.sq-nav{padding:8px}
.sq-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:15.5px;color:#3c4148;text-decoration:none;transition:background .14s,color .14s}
.sq-nav-item:hover{background:#faf5ff;color:var(--hd-primary)}
.sq-nav-item.active{background:var(--hd-primary-soft);color:var(--hd-primary);font-weight:700}
.sq-nav-icon{width:20px;text-align:center;font-size:17px}
.sq-nav-arrow{margin-left:auto;color:#c8ccd2;font-size:18.5px}

/* 主区域 */
.sq-main{min-width:0;display:flex;flex-direction:column;gap:14px}
.sq-tabs{display:inline-flex;gap:6px;background:#fff;border-radius:999px;padding:5px;width:fit-content;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.sq-tab{padding:7px 20px;border-radius:999px;font-size:15.5px;font-weight:700;color:#3c4148;text-decoration:none;transition:background .15s,color .15s}
.sq-tab.active{background:linear-gradient(135deg,#ec4899,#a855f7);color:#fff}

/* 发布器 */
.sq-composer{padding:16px 18px}
.sq-comp-row{display:flex;align-items:center;gap:12px}
.sq-comp-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}
.sq-comp-input{flex:1;background:#f5f6f8;border-radius:999px;padding:12px 18px;font-size:16px;color:#8b9198;text-decoration:none;transition:background .15s}
.sq-comp-input:hover{background:#eef0f3}
.sq-comp-tools{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--hd-line)}
.sq-comp-tool{display:inline-flex;align-items:center;gap:5px;font-size:15px;color:#5a6169;text-decoration:none;padding:6px 14px;border-radius:999px;transition:background .14s,color .14s}
.sq-comp-tool span{font-size:17px}
.sq-comp-tool:hover{background:var(--hd-primary-soft);color:var(--hd-primary)}

/* 动态卡片 */
.sq-post{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 2px 10px rgba(15,23,42,.05);transition:box-shadow .18s}
.sq-post:hover{box-shadow:0 8px 24px rgba(15,23,42,.09)}
.sq-post-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.sq-pavatar-wrap{position:relative;flex-shrink:0}
.sq-pavatar{width:46px;height:46px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 2px #fff,0 0 0 3px #f1d9ff}
.sq-pcrown{position:absolute;top:-4px;right:-5px;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:10.5px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.sq-pmeta{flex:1;min-width:0}
.sq-pname-row{display:flex;align-items:center;gap:3px}
.sq-pname{font-size:17px;font-weight:800;color:#14181f;text-decoration:none}
.sq-pname:hover{color:var(--hd-primary)}
.sq-verified{vertical-align:-1px;flex-shrink:0}
.sq-psub{display:flex;align-items:center;gap:6px;margin-top:3px}
.sq-pid{font-size:13px;color:var(--hd-muted)}
.sq-ptime{font-size:13px;color:var(--hd-muted)}
.sq-follow{background:linear-gradient(135deg,#fff5e6,#ffe9cc);border:none;color:#d97706;font-size:14.5px;font-weight:800;border-radius:999px;padding:7px 18px;cursor:pointer;transition:background .15s,color .15s}
.sq-follow:hover{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}
.sq-follow.done{background:#f1f2f4;color:#9aa0a8}
.sq-more{background:none;border:none;color:#b6bbc2;font-size:22.5px;cursor:pointer;text-decoration:none;line-height:1;padding:0 4px}
.sq-pcontent{font-size:16.5px;line-height:1.65;color:#22262c;margin-bottom:12px;word-break:break-word}
.sq-pimgs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.sq-pimgs .sq-pimg{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block;background:#f1f2f4}
.sq-pimgs.n1{grid-template-columns:1fr;max-width:380px}
.sq-pimgs.n1 .sq-pimg{aspect-ratio:4/3}
.sq-pimgs.n2{grid-template-columns:repeat(2,1fr);max-width:420px}
.sq-pfoot{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--hd-line)}
.sq-acts{display:flex;gap:20px}
.sq-act{background:none;border:none;font-size:15px;color:var(--hd-muted);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:0;transition:color .14s}
.sq-act:hover,.sq-act.liked{color:var(--hd-primary)}
.sq-act.liked svg{fill:var(--hd-primary)}
.sq-detail{font-size:14.5px;color:#b6bbc2;text-decoration:none}
.sq-detail:hover{color:var(--hd-primary)}
.sq-pager{margin:22px 0 6px;display:flex;justify-content:center}
/* ---------- 通用分页组件（Paginator::render 输出） ---------- */
.hd-pager{
  width:100%;
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
  background:linear-gradient(180deg,#fff 0%,#fffafc 100%);
  border:1px solid var(--hd-line);
  border-radius:22px;
  padding:16px 22px;
  box-shadow:0 12px 32px rgba(20,24,31,.06),0 2px 6px rgba(20,24,31,.04);
}
.hd-pager-list{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}

/* 页码 / 上下一页按钮：大尺寸 */
.hd-pager-num,.hd-pager-btn{
  min-width:46px;height:46px;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:0 14px;
  background:#f8f9fb;
  border:1px solid #eef0f3;
  border-radius:14px;
  font-size:17px;font-weight:800;line-height:1;color:#4b5563;
  text-decoration:none;cursor:pointer;
  transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s;
}
.hd-pager-num:hover,.hd-pager-btn:hover{
  background:#fff;border-color:#ffd3e4;color:var(--hd-primary);
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(255,45,111,.16);
}
.hd-pager-num.is-active{
  background:linear-gradient(135deg,#ff5fa2,#ff2d6f);
  border-color:transparent;color:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(255,45,111,.36);
}
.hd-pager-num.is-active:hover{background:linear-gradient(135deg,#ff5fa2,#ff2d6f);color:#fff}

/* 上/下一页：更宽，带文字与箭头 */
.hd-pager-btn{padding:0 20px;font-size:16.5px;letter-spacing:.2px}
.hd-pager-arrow{font-size:22px;line-height:1;font-weight:700}
.hd-pager-btn.is-disabled{
  color:#c7ccd6;background:#fafbfc;border-color:#f2f3f5;
  cursor:not-allowed;box-shadow:none;transform:none;
}
.hd-pager-gap{min-width:30px;text-align:center;font-size:18.5px;font-weight:800;color:#c0c5cd;user-select:none}

/* 页码信息胶囊 */
.hd-pager-info{
  display:inline-flex;align-items:baseline;gap:1px;
  padding:9px 18px;border-radius:999px;
  background:var(--hd-primary-soft);
  font-size:16px;font-weight:900;color:var(--hd-primary);
  letter-spacing:.3px;white-space:nowrap;
}
.hd-pager-info b{font-size:20.5px;line-height:1}
.hd-pager-info i{font-style:normal;margin:0 4px;color:#f9a8c4;font-weight:700}

/* 窄屏：上下两行，上/下一页仅保留箭头 */
@media (max-width:900px){
  .hd-pager{flex-direction:column;gap:12px;padding:14px;border-radius:18px}
  .hd-pager-list{gap:6px}
  .hd-pager-num,.hd-pager-btn{min-width:42px;height:42px;border-radius:12px;font-size:16px;padding:0 11px}
  .hd-pager-btn{padding:0 15px}
}
@media (max-width:640px){
  .hd-pager{padding:12px;gap:10px}
  .hd-pager-num,.hd-pager-btn{min-width:38px;height:38px;font-size:15.5px;border-radius:11px;padding:0 9px}
  .hd-pager-btn{padding:0 11px}
  .hd-pager-label{display:none}
  .hd-pager-arrow{font-size:19.5px}
  .hd-pager-info{font-size:15px;padding:7px 14px}
  .hd-pager-info b{font-size:18.5px}
}
@media (max-width:1080px){.sq-page{grid-template-columns:1fr}.sq-side{position:static}}

/* ---------- 发布动态页 ---------- */
.pc-page{padding:22px 20px 48px;max-width:820px}
.pc-head{margin-bottom:16px}
.pc-title{font-size:27px;font-weight:800;color:#14181f}
.pc-sub{font-size:15.5px;color:var(--hd-muted);margin-top:6px}
.pc-card{padding:22px}
.pc-alert{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:15px}
.pc-alert-success{background:#e8f7ee;color:#1b5e20;border:1px solid #c8e6c9}
.pc-alert-error{background:#fdeaea;color:#b71c1c;border:1px solid #ffcdd2}
.pc-author{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.pc-author-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover}
.pc-author-name{display:inline-flex;align-items:center;gap:3px;font-size:17px;font-weight:800;color:#14181f}
.pc-author-tip{font-size:14px;color:var(--hd-muted);margin-top:3px}
.pc-textarea{width:100%;border:1px solid var(--hd-line);border-radius:12px;padding:14px;outline:none;resize:vertical;min-height:150px;line-height:1.7;font-size:16.5px;color:#22262c;transition:border-color .15s,box-shadow .15s}
.pc-textarea:focus{border-color:var(--hd-primary);box-shadow:0 0 0 3px rgba(236,72,153,.12)}
.pc-hint{margin:8px 2px 0;color:#a8adb4;font-size:14px;display:flex;justify-content:flex-end}
.pc-media-label{font-size:16px;font-weight:800;color:#14181f;margin:18px 0 10px}
.pc-upload-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.pc-upload-preview:empty{display:none}
.pc-upload-preview-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f5f6f8}
.pc-upload-preview-item img,.pc-upload-preview-item video{width:100%;height:100%;object-fit:cover}
.pc-upload-remove{position:absolute;top:5px;right:5px;width:24px;height:24px;border:none;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center}
.pc-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:1px dashed #d8dce1;border-radius:12px;cursor:pointer;color:#5a6169;font-size:15.5px;font-weight:600;background:#fafbfc;transition:border-color .15s,color .15s,background .15s}
.pc-upload-btn:hover{background:#fdf2f8;border-color:var(--hd-primary);color:var(--hd-primary)}
.pc-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--hd-line)}
.pc-btn{display:inline-block;padding:11px 26px;border-radius:999px;border:none;text-decoration:none;font-weight:800;font-size:16px;cursor:pointer}
.pc-btn-primary{background:linear-gradient(135deg,#ec4899,#a855f7);color:#fff;box-shadow:0 6px 16px rgba(236,72,153,.28)}
.pc-btn-primary:hover{filter:brightness(1.05)}
.pc-btn-gray{background:#f2f3f5;color:#5a6169}
.pc-btn:disabled{opacity:.65;cursor:not-allowed}

/* ---------- 联系人页 ---------- */
.hd-page-messages{min-height:calc(100vh - 70px - 56px);background:#f2f3f7}
.ms-profile{width:326px;flex-shrink:0;padding:14px;overflow-y:auto}
.ms-prof-empty{color:var(--hd-muted);font-size:15.5px;text-align:center;margin-top:40px}
.ms-prof-card{background:#fff;border-radius:16px;box-shadow:0 2px 10px rgba(15,23,42,.05);padding-bottom:18px;text-align:center}
.ms-prof-banner{height:88px;border-radius:16px 16px 0 0;background:linear-gradient(135deg,#fce7f3,#ede9fe)}
.ms-prof-avatar-wrap{position:relative;width:84px;height:84px;margin:-42px auto 8px}
.ms-prof-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;border:3px solid #fff;box-shadow:0 4px 12px rgba(15,23,42,.12)}
.ms-wrap{display:flex;width:calc(100% - 28px);height:calc(100vh - 70px - 56px - 28px);max-width:1352px;margin:14px auto;gap:16px;background:transparent}
.ms-list{width:348px;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 2px 14px rgba(15,23,42,.06);overflow:hidden}
.ms-list-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 6px}
.ms-list-title{font-size:19.5px;font-weight:800}
.ms-list-set{background:none;border:none;font-size:20.5px;color:#3c4148;cursor:pointer}
.ms-tabs{display:flex;gap:4px;padding:6px 12px 10px;border-bottom:1px solid var(--hd-line)}
.ms-tab{flex:1;text-align:center;padding:8px 0;border-radius:8px;font-size:15px;color:#3c4148;text-decoration:none;font-weight:600}
.ms-tab.active{background:#fef3c7;color:#92400e}
.ms-search{padding:12px 14px;border-bottom:1px solid var(--hd-line)}
.ms-search input{width:100%;padding:9px 14px;border:none;border-radius:999px;background:#f2f3f5;font-size:15px;outline:none}
.ms-items{flex:1;overflow-y:auto}
.ms-item{display:flex;align-items:center;gap:10px;padding:12px 16px;text-decoration:none;color:inherit}
.ms-item:hover{background:#fafafb}
.ms-item.active{background:#fff5f7;font-weight:700}
.ms-item.active .ms-item-name{color:var(--hd-primary)}
.ms-item-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative}
.ms-item-avatar-official{box-shadow:0 0 0 2px #3b82f6,inset 0 0 0 2px #fff;border-radius:50%}
.ms-item-avatar img{width:100%;height:100%;object-fit:cover}
.ms-item-main{flex:1;min-width:0}
.ms-item-name{font-size:16px;font-weight:700;color:#14181f;display:block}
.ms-item-preview{font-size:14px;color:var(--hd-muted);display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ms-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.ms-item-time{font-size:12.5px;color:var(--hd-muted)}
.ms-item-badge{background:var(--hd-primary);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:1px 6px;min-width:18px;text-align:center}
.ms-main{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;border-radius:16px;box-shadow:0 2px 14px rgba(15,23,42,.06);overflow:hidden}
.ms-main-head{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--hd-line);background:#fff;flex-shrink:0;min-height:70px}
.ms-main-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block}
.ms-main-avatar-wrap{position:relative;display:inline-block;flex-shrink:0}
.ms-head-crown{position:absolute;right:-4px;bottom:-4px;font-size:16px;color:#a855f7;background:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1px solid #e9d5ff}
.ms-head-online{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #fff;box-shadow:0 0 0 1px rgba(34,197,94,.4);animation:online-pulse 2s ease-in-out infinite}
.ms-head-info{flex:1;min-width:0}
.ms-head-actions{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}
.ms-head-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:#5b6470;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.ms-head-btn:hover{background:#f5f6f8;color:#ec4899;transform:translateY(-1px)}
.ms-head-btn:active{transform:translateY(0)}
.ms-head-home{text-decoration:none}
.ms-official-crown{position:absolute;right:-4px;bottom:-4px;width:22px;height:22px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:900;border:2px solid #fff;box-shadow:0 2px 6px rgba(245,158,11,.4)}
.ms-verified{display:inline-block;vertical-align:-2px;margin-right:3px}
.ms-official-tag{display:inline-block;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;font-size:11px;font-weight:800;border-radius:4px;padding:1px 6px;margin-left:5px;vertical-align:1px;letter-spacing:.5px}
.ms-item-name{display:inline-flex;align-items:center;gap:2px;font-size:16px;font-weight:700;color:#14181f}
.ms-main-name{font-size:18px;font-weight:800;color:#14181f;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-main-status{font-size:14px;color:#22c55e;margin-top:3px;font-weight:500}
.ms-main-body{flex:1;overflow-y:auto;padding:20px 22px 16px;display:flex;flex-direction:column;align-items:stretch;background:#f4f5f8}
.ms-main-input{padding:14px 18px;border-top:1px solid var(--hd-line);background:#fff}
/* 工具按钮行：位于输入框上方 */
.ms-tool-row{display:flex;align-items:center;gap:4px;padding:0 8px 8px;flex-wrap:wrap}
.ms-input-row{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 18px;background:#f5f6f8;border-radius:999px;border:1px solid #ebedf0;transition:border-color .15s,box-shadow .15s}
.ms-input-row:focus-within{border-color:var(--hd-primary);box-shadow:0 0 0 3px rgba(236,72,153,.08);background:#fff}
.ms-tool{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:#5b6470;font-size:14.5px;font-weight:600;cursor:pointer;border-radius:999px;padding:7px 13px;transition:background .15s,color .15s,transform .15s;flex-shrink:0}
.ms-tool:hover{background:#f5f6f8;color:#ec4899;transform:translateY(-1px)}
.ms-tool:active{transform:translateY(0)}
.ms-tool.active{background:var(--hd-primary);color:#fff}
.ms-tool.trans-on{background:var(--hd-primary);color:#fff}
.ms-tool-icon{display:inline-block;font-size:19.5px;line-height:1}
.ms-tool-icon img{width:22px;height:22px;object-fit:contain;display:block}
/* 翻译功能 */
.sq-trans{margin-top:10px;padding:10px 12px;background:#f5f3ff;border:1px solid #e9d5ff;border-radius:10px;font-size:15.5px;color:#4c1d95}
.sq-trans-label{display:block;font-size:14px;font-weight:800;color:#7c3aed;margin-bottom:4px}
.sq-trans-text{line-height:1.65;word-break:break-word}
.ch-trans{max-width:75%;margin:4px 12px 0;padding:6px 10px;background:#f5f3ff;border:1px solid #e9d5ff;border-radius:10px;font-size:14.5px;color:#4c1d95;line-height:1.6;word-break:break-word}
.ch-msg.mine .ch-trans{margin-left:auto}
.ch-trans-btn{display:inline-flex;align-items:center;gap:4px;margin:4px 0 0;padding:3px 10px;border:1px solid #eceef4;border-radius:999px;background:#fff;color:#8a8fa3;font-size:14px;line-height:18px;cursor:pointer}
.ch-trans-btn:hover{color:#ff2d6f;border-color:#ffd9e5}
.ch-trans-btn[disabled]{opacity:.6;cursor:default}
.ch-msg .ch-bubble{cursor:default}
.ms-tool-label{white-space:nowrap;user-select:none}
.ms-input{flex:1;border:none;outline:none;font-size:16px;padding:8px 10px;background:transparent;border-radius:8px;color:#14181f;min-width:0}
.ms-input::placeholder{color:#a3a8b0}
.ms-send-circle{width:36px;height:36px;border-radius:50%;border:none;background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff;font-size:18.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(244,63,94,.28);transition:transform .15s}
.ms-send-circle:hover{transform:scale(1.05)}
.ms-send-circle:active{transform:scale(.95)}
/* ===== 微信风格聊天消息 ===== */
.ch-msg{display:flex;align-items:flex-start;gap:8px;margin-bottom:2px;width:100%;box-sizing:border-box;padding:0 4px}
.ch-msg.other{flex-direction:row}
.ch-msg.mine{flex-direction:row-reverse;margin-left:auto}
.ch-mavatar{width:36px;height:36px;flex-shrink:0;flex-grow:0;align-self:flex-start;margin-top:4px;border-radius:6px;overflow:hidden;background:#eee}
.ch-mavatar-img{width:100%;height:100%;border-radius:6px;object-fit:cover;display:block}
.ch-mavatar-pl{visibility:hidden}

/* 气泡：对方=白底+细边；自己=微信绿 */
.ch-bubble{position:relative;max-width:62%;padding:12px 15px;border-radius:12px;font-size:16px;line-height:1.5;word-break:break-word;white-space:pre-wrap;box-shadow:0 1px 2px rgba(15,23,42,.04);min-height:36px;display:flex;align-items:center}
.ch-msg.other .ch-bubble{background:#fff;color:#14181f;border:1px solid #ededed}
.ch-msg.mine .ch-bubble{background:#95ec69;color:#14181f}

/* 小尾巴（首条消息才有） */
.ch-msg.other.first .ch-bubble::before,
.ch-msg.mine.first .ch-bubble::before{content:'';position:absolute;width:0;height:0;border-style:solid;border-width:5px 6px;top:14px}
.ch-msg.other.first .ch-bubble::before{left:-6px;border-color:transparent #ededed transparent transparent;filter:drop-shadow(-1px 0 0 rgba(15,23,42,.04))}
.ch-msg.other.first .ch-bubble::after{content:'';position:absolute;width:0;height:0;border-style:solid;border-width:5px 6px;top:14px;left:-5px;border-color:transparent #fff transparent transparent}
.ch-msg.mine.first .ch-bubble::before{right:-6px;border-color:transparent transparent transparent #95ec69}

/* 连续消息：圆角、间距更紧凑 */
.ch-msg.other.cont .ch-bubble{border-top-left-radius:3px}
.ch-msg.mine.cont .ch-bubble{border-top-right-radius:3px}
.ch-msg.other.cont + .ch-msg.other .ch-bubble{border-top-left-radius:3px}
.ch-msg.mine.cont + .ch-msg.mine .ch-bubble{border-top-right-radius:3px}
.ch-msg.other + .ch-msg.other, .ch-msg.mine + .ch-msg.mine{margin-top:-6px}
.ch-msg.other + .ch-msg.mine, .ch-msg.mine + .ch-msg.other{margin-top:10px}

/* 时间分隔 */
.ch-time-sep{display:flex;justify-content:center;align-items:center;margin:14px 0 8px;width:100%}
.ch-time-sep span{font-size:14px;color:#6b7280;background:rgba(220,222,226,0.55);padding:3px 12px;border-radius:999px;letter-spacing:.2px;backdrop-filter:blur(2px)}
.ch-system-wrap{display:flex;justify-content:center;align-items:center;margin:14px 0;width:100%}
.ch-system{background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:6px;padding:6px 14px;font-size:14.5px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 3px rgba(251,191,36,.15)}
.ch-sys-tag{background:#a855f7;color:#fff;font-size:12px;font-weight:800;border-radius:4px;padding:1px 7px;letter-spacing:.3px}

.ch-img{max-width:140px;max-height:160px;width:auto;height:auto;object-fit:cover;border-radius:10px;cursor:pointer;display:block;box-shadow:0 2px 8px rgba(15,23,42,.14);transition:transform .15s,filter .15s}
.ch-img:hover{transform:scale(1.02);filter:brightness(1.04)}
/* 图片消息气泡：去掉默认内边距，让图片贴合圆角 */
.ch-bubble:has(> .ch-img){padding:2px;background:transparent!important;border:none!important;box-shadow:none!important;min-height:0}
.ch-bubble:has(> .ch-img)::before,.ch-bubble:has(> .ch-img)::after{display:none!important}
.ch-bubble:has(> .ch-video-wrap){padding:2px;background:transparent!important;border:none!important;box-shadow:none!important;min-height:0}
.ch-bubble:has(> .ch-video-wrap)::before,.ch-bubble:has(> .ch-video-wrap)::after{display:none!important}
.ch-video{max-width:140px;max-height:180px;border-radius:10px;display:block;background:linear-gradient(135deg,#ff9a9e 0%,#a855f7 100%) #000;cursor:pointer;object-fit:cover;box-shadow:0 2px 8px rgba(15,23,42,.14)}
.ch-video-wrap{position:relative;display:inline-block;max-width:140px;border-radius:10px;overflow:hidden}
.ch-video-wrap::after{content:'▶';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.28);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18.5px;backdrop-filter:blur(4px);pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.ch-recalled{background:#f1f2f4!important;color:#9aa0a8!important;font-size:14.5px}

/* 卡片消息（红包/礼物）：保留气泡背景，但卡片本体彩色；首条依然显示小尾巴 */
.ch-card-bubble{background:transparent!important;box-shadow:none!important;padding:0!important;max-width:220px;border:none!important}
.ch-card-bubble.ch-red-pkg-host,
.ch-card-bubble.ch-gift-card-host{background:transparent;padding:0;border:none;display:block}
.ch-msg.other .ch-card-bubble{background:transparent!important;border:none!important}
.ch-msg.mine .ch-card-bubble{background:transparent!important}
.ch-msg.other .ch-red-pkg,
.ch-msg.other .ch-gift-card{border:1px solid #ededed}
.ch-red-pkg,.ch-gift-card{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;cursor:pointer;min-width:160px;box-shadow:0 2px 6px rgba(220,38,38,.18);transition:transform .15s}
.ch-red-pkg:hover,.ch-gift-card:hover{transform:translateY(-1px)}
.ch-red-pkg-icon{font-size:27px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}
.ch-red-pkg-body{flex:1;min-width:0}
.ch-red-pkg-title{font-size:14.5px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-red-pkg-sub{font-size:12.5px;opacity:.92;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-gift-card{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 6px rgba(217,119,6,.18)}
.ch-gift-img{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#fff}
.ch-gift-body{flex:1;min-width:0;color:#fff}
.ch-gift-name{font-size:14.5px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-gift-sub{font-size:12.5px;opacity:.92;margin-top:1px}

/* 文本消息（含表情代码渲染的行内图片） */
.ch-text{display:inline;white-space:pre-wrap;word-break:break-word;line-height:1.55}
.ch-text img.ch-emoji-inline,.ch-bubble img.ch-emoji-inline{width:24px;height:24px;vertical-align:middle;margin:0 1px;display:inline-block;border-radius:0;background:transparent}
.ch-system-wrap{display:flex;justify-content:center;align-items:center;margin:14px 0;width:100%}
.ch-system-wrap{display:flex;justify-content:center;align-items:center;margin:14px 0}
.ch-system-wrap>.ch-system{margin:0}
.ch-sys-icon{flex-shrink:0}
.ch-sys-tag{display:inline-block;background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;font-size:12px;font-weight:800;border-radius:4px;padding:1px 8px;letter-spacing:.3px}
.ch-side{width:280px;flex-shrink:0;border-left:1px solid var(--hd-line);padding:20px;text-align:center;overflow-y:auto}
.ch-side-cover{width:160px;height:160px;border-radius:14px;margin:0 auto 14px;overflow:hidden;position:relative}
.ch-side-cover .ch-side-avatar{width:100%;height:100%;object-fit:cover;display:block}
.ch-side-name{font-size:19.5px;font-weight:800;margin-bottom:8px}
.ch-side-tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.ch-tag{background:#f0f9ff;color:#0284c7;font-size:14px;border-radius:999px;padding:3px 10px}
.ch-side-desc{font-size:15px;color:var(--hd-muted);line-height:1.6;margin:0 0 16px;padding:0 4px;text-align:left}
.ch-side-section{border-top:1px dashed var(--hd-line);padding-top:12px;margin-top:14px;text-align:left}
.ch-side-section-title{font-size:14px;font-weight:800;color:#9ca3af;letter-spacing:1px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.ch-side-section-title small a{color:var(--hd-primary);font-size:12.5px;letter-spacing:0;text-decoration:none;font-weight:700}
.ch-side-section-title small a:hover{text-decoration:underline}
.ch-side-gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ch-side-gift{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f6f7f9}
.ch-side-gift img{width:100%;height:100%;object-fit:cover}
.ch-side-gift-qty{position:absolute;right:4px;bottom:4px;background:rgba(0,0,0,.6);color:#fff;font-size:11.5px;font-weight:800;border-radius:6px;padding:1px 5px}
.ch-side-albums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ch-side-album{aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f6f7f9}
.ch-side-album img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.ch-side-album:hover img{transform:scale(1.06)}
.ch-side-empty{font-size:14px;color:#9ca3af;text-align:center;padding:10px 0;background:#fafbfc;border-radius:10px}

/* ---------- 充值页 ---------- */
.rc-page{padding:20px 20px 40px}
.rc-back{display:inline-flex;align-items:center;gap:6px;font-size:16px;color:#3c4148;text-decoration:none;margin-bottom:14px}
.rc-balance-card{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:20px 26px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.rc-bc-lbl{font-size:15px;opacity:.9}
.rc-bc-num{font-size:33.5px;font-weight:900;margin-top:6px}
.rc-bc-grade{font-size:20.5px;font-weight:800;margin-top:6px}
.rc-bc-vip{display:inline-block;margin-top:8px;background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff;font-size:13px;font-weight:800;border-radius:999px;padding:3px 12px;box-shadow:0 4px 10px rgba(236,72,153,.35)}
.rc-bc-right{text-align:right;flex-shrink:0}
.rc-bc-dates{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px;margin-top:8px;font-size:14px;line-height:1.5}
.rc-bc-dates span{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.16);border-radius:999px;padding:3px 10px}
.rc-bc-dates em{font-style:normal;opacity:.82}
.rc-bc-days{background:rgba(255,255,255,.28)!important;font-weight:800}
.rc-tabs{display:flex;gap:18px;padding:0 6px 12px;border-bottom:1px solid var(--hd-line);margin-bottom:16px}
.rc-tab{background:none;border:none;padding:10px 4px;font-size:17px;color:var(--hd-muted);font-weight:700;cursor:pointer;border-bottom:2px solid transparent}
.rc-tab.active{color:var(--hd-primary);border-bottom-color:var(--hd-primary)}
.rc-grid{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
.rc-list{display:grid;grid-template-columns:1fr;gap:16px}
@media(max-width:900px){.rc-list{grid-template-columns:1fr}}
.rc-pkg{display:flex;flex-direction:column;gap:12px;padding:18px 20px;position:relative;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;border:2px solid transparent}
.rc-pkg:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.08);border-color:#fda4af}
.rc-pkg.is-active{border-color:var(--hd-primary);background:linear-gradient(180deg,var(--hd-primary-soft,#fef2f2) 0%,transparent 60%)}
.rc-pkg-hot{position:absolute;top:-11px;right:14px;background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;letter-spacing:.3px;box-shadow:0 4px 12px rgba(249,115,22,.4);z-index:2}
.rc-pkg-head{display:flex;align-items:flex-start;gap:12px}
.rc-pkg-icon{width:52px;height:52px;border-radius:14px;color:#fff;font-size:29px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.rc-pkg-info{flex:1;min-width:0}
.rc-pkg-name{font-size:18.5px;font-weight:800;color:#14181f;display:flex;align-items:center;gap:8px;line-height:1.25}
.rc-pkg-save{display:inline-block;margin-top:6px;background:#e7f8ee;color:#16a34a;font-size:12.5px;font-weight:800;border-radius:6px;padding:3px 9px;border:1px solid rgba(22,163,74,.15)}
.rc-pkg-days{margin-top:4px;font-size:14.5px;color:var(--hd-muted);font-weight:600}
/* 会员套餐简介（后台「会员套餐管理 → 简介」）*/
.rc-pkg-desc{margin-top:4px;font-size:13px;line-height:1.45;color:#8a8f99;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.rc-pkg-perms{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;font-size:15px;color:#3c4148;padding-top:12px;border-top:1px dashed var(--hd-line,#e5e7eb)}
@media(max-width:900px){.rc-pkg-perms{grid-template-columns:repeat(2,1fr)}}
.rc-perm{color:#3c4148;display:flex;align-items:center;gap:6px;line-height:1.5;min-width:0}
.rc-perm::before{content:'✓';display:inline-block;flex-shrink:0;font-size:12px;font-weight:900;color:#22c55e}
.rc-pkg-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:auto}
.rc-pkg-price{text-align:right;margin-left:auto;line-height:1.25;flex-shrink:0}
.rc-pkg-price b{display:block;font-size:27px;font-weight:900;color:#14181f;letter-spacing:-.3px}
.rc-pkg-price .rc-pkg-orig{font-size:12.5px;color:#9ca3af;text-decoration:line-through;margin-left:4px;font-weight:600}
.rc-pkg-price .rc-pkg-unit{font-size:14px;color:var(--hd-muted);font-weight:600;margin-top:2px}
.rc-pkg-buy{border:none;border-radius:999px;background:var(--hd-grad);color:#fff;font-weight:800;font-size:15px;padding:9px 20px;cursor:pointer;flex-shrink:0;box-shadow:0 4px 12px rgba(236,72,153,.3);transition:transform .15s,box-shadow .15s}
.rc-pkg-buy:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(236,72,153,.4)}
.rc-side{position:sticky;top:84px}
.rc-summary{padding:20px}
.rc-sec-title{font-size:17px;font-weight:800;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--hd-line)}
.rc-sum-row{display:flex;justify-content:space-between;padding:8px 0;font-size:16px;color:#3c4148}
.rc-sum-row b{color:#14181f;font-weight:700}
.rc-submit{width:100%;border:none;border-radius:999px;background:linear-gradient(135deg,#a855f7,#ec4899);color:#fff;font-size:16px;font-weight:800;padding:12px;cursor:pointer;margin-top:14px}
.rc-submit:hover{opacity:.95}
.rc-sec-title{font-size:18px;font-weight:800;margin-bottom:12px}
.rc-pack{display:flex;flex-direction:column;align-items:center;gap:2px;border:2px solid var(--hd-line);border-radius:12px;padding:14px 8px;cursor:pointer;transition:border-color .15s,background .15s}
.rc-pack:hover{border-color:#fda4af}
.rc-pack.active{border-color:var(--hd-primary);background:var(--hd-primary-soft)}
.rc-pack-points{font-size:24.5px;font-weight:900;color:#14181f}
.rc-pack.active .rc-pack-points{color:var(--hd-primary)}
.rc-pack-label{font-size:14px;color:var(--hd-muted)}
.rc-pack-price{font-size:15px;font-weight:700;color:#3c4148;margin-top:4px}
.rc-custom{margin-bottom:22px}
.rc-custom-input{display:flex;align-items:center;gap:8px;border:2px solid var(--hd-line);border-radius:12px;padding:10px 14px;font-size:17px;color:var(--hd-muted)}
.rc-pays{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.rc-pay{display:flex;align-items:center;gap:12px;border:2px solid var(--hd-line);border-radius:12px;padding:12px 16px;cursor:pointer}
.rc-pay:hover{border-color:#fda4af}
.rc-pay.active{border-color:var(--hd-primary);background:var(--hd-primary-soft)}
.rc-pay-icon{font-size:24.5px}
.rc-pay-desc{font-size:14px;color:var(--hd-muted);margin-left:auto}
.rc-submit{width:100%;border:none;border-radius:999px;background:var(--hd-primary);color:#fff;font-size:17px;font-weight:800;padding:13px;cursor:pointer}
.rc-submit:hover{background:var(--hd-primary-dark)}
.rc-balance{padding:22px;text-align:center}
.rc-balance-label{font-size:15px;color:var(--hd-muted)}
.rc-balance-num{font-size:36.5px;font-weight:900;color:var(--hd-primary);margin:8px 0 14px}
.rc-balance-link{font-size:15px;color:var(--hd-primary);text-decoration:none}

/* ---------- 个人中心页 ---------- */
.pf-page{padding:20px 20px 40px;display:flex;flex-direction:column;gap:14px}
.pf-back{display:inline-flex;align-items:center;gap:6px;font-size:16px;color:#3c4148;text-decoration:none}
.pf-banner-wrap{position:relative;overflow:hidden;padding:0}
.pf-banner{position:relative;height:300px}
.pf-banner-avatar{position:absolute;left:30px;bottom:-42px;width:110px;height:110px;border-radius:50%;background:#fff;padding:5px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.pf-banner-avatar-v{box-shadow:0 0 0 4px #3b82f6,0 6px 18px rgba(59,130,246,.3)}
.pf-banner-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.pf-crown{position:absolute;top:-6px;right:-6px;width:30px;height:30px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18.5px;border:2px solid #fff}
.pf-banner-verify{position:absolute;bottom:-2px;right:-2px;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 2px 5px rgba(59,130,246,.4)}
.pf-banner-info{position:absolute;left:160px;bottom:18px;color:#fff}
.pf-name-row{display:flex;align-items:center;gap:10px}
.pf-name{font-size:27px;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.pf-verified{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:13px;font-weight:700;border-radius:6px;padding:3px 10px;letter-spacing:.3px}
.pf-loc{font-size:15px;opacity:.95;margin-top:6px}
.pf-sign{font-size:15px;opacity:.95;margin-top:4px;font-style:italic}
.pf-stats-row{background:#fff;border-radius:14px;padding:14px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;box-shadow:0 2px 8px rgba(15,23,42,.05);margin-top:50px}
.pf-big-stat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;text-decoration:none;color:inherit;transition:transform .15s}
.pf-big-stat:hover{transform:translateY(-2px)}
.pf-big-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#fef3c7,#fbbf24);display:flex;align-items:center;justify-content:center;font-size:27px;color:#b45309}
.pf-big-stat:nth-child(2) .pf-big-icon{background:linear-gradient(135deg,#dbeafe,#60a5fa);color:#1d4ed8}
.pf-big-stat:nth-child(3) .pf-big-icon{background:linear-gradient(135deg,#fce7f3,#f472b6);color:#be185d}
.pf-big-stat:nth-child(4) .pf-big-icon{background:linear-gradient(135deg,#ede9fe,#a78bfa);color:#6d28d9}
.pf-big-label{font-size:15px;color:#3c4148;font-weight:600}
.pf-subtabs{background:#fff;border-radius:14px;padding:6px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.pf-subtab{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;border-radius:10px;font-size:15.5px;color:#3c4148;text-decoration:none;transition:background .15s,color .15s}
.pf-subtab:hover{background:#fafafb}
.pf-subtab.active{background:linear-gradient(135deg,#fef3c7,#fbbf24);color:#92400e;font-weight:700}
.pf-subicon{font-size:18.5px}
.pf-card{padding:20px 24px}
.pf-card-title{font-size:18.5px;font-weight:800;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--hd-line)}
.pf-rows{display:grid;grid-template-columns:1fr 1fr;gap:6px 30px}
.pf-row{display:flex;padding:10px 0;border-bottom:1px dashed var(--hd-line);font-size:16px}
.pf-row-k{width:110px;color:var(--hd-muted);flex-shrink:0}
.pf-row-v{color:#22262c}
.pf-banner{height:170px;background:var(--hd-grad)}
.pf-head-main{display:flex;align-items:flex-end;gap:18px;padding:0 24px 20px;margin-top:-48px}
.pf-avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;border:4px solid #fff;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.15)}
.pf-info{flex:1;padding-bottom:6px}
.pf-name-row{display:flex;align-items:center;gap:10px}
.pf-name{font-size:24.5px;font-weight:900}
.pf-age{background:var(--hd-primary-soft);color:var(--hd-primary);font-size:14.5px;font-weight:800;border-radius:6px;padding:2px 8px}
.fd-vip-static{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:10px}
.fd-vip-static{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:10px}
.pf-meta{display:flex;gap:14px;font-size:15px;color:var(--hd-muted);margin-top:8px;flex-wrap:wrap}
.pf-online{color:var(--hd-green)}
.pf-sign{font-size:15.5px;color:#3c4148;margin-top:10px}
.pf-photos{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;padding:0 20px 20px}
.pf-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.pf-rows{padding:0 20px 20px}
.pf-row{display:flex;padding:11px 0;border-bottom:1px solid var(--hd-line);font-size:16px}
.pf-row:last-child{border-bottom:none}
.pf-row-k{width:120px;color:var(--hd-muted);flex-shrink:0}
.pf-row-v{color:#22262c}
.sq-pvideo{object-fit:cover;background:linear-gradient(135deg,#ff9a9e 0%,#a855f7 100%) #14181f}

/* ---------- 个人主页（设计稿风格 /profile） ---------- */
.hd-page-profile{background:#f4f5f7}
.mp-wrap{max-width:780px;margin:0 auto;padding:20px 20px 48px;display:flex;flex-direction:column;gap:14px}
.mp-back{display:inline-flex;align-items:center;gap:4px;font-size:16px;color:#3c4148;text-decoration:none;align-self:flex-start;margin-bottom:-2px}
.mp-back-ico{font-size:20.5px;line-height:1}
.mp-back:hover{color:var(--hd-primary)}

.mp-hero{position:relative;overflow:hidden;padding:0}
.mp-cover{position:relative;height:172px;background:#8b9cb3}
.mp-cover-art{position:absolute;inset:0;width:100%;height:100%;display:block}
.mp-cover-cam{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:10px;border:none;background:rgba(255,255,255,.82);color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:background .15s}
.mp-cover-cam:hover{background:#fff}
.mp-avatar{position:absolute;left:26px;top:120px;width:92px;height:92px;border-radius:50%;background:#fff;padding:4px;box-shadow:0 4px 14px rgba(15,23,42,.18);z-index:2}
.mp-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.mp-avatar-cam{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.mp-crown{position:absolute;top:-4px;right:4px;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;border:2px solid #fff}

.mp-hero-body{position:relative;padding:16px 24px 20px 134px;min-height:74px}
.mp-hero-info{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.mp-name{font-size:23.5px;font-weight:800;color:#14181f;line-height:1.25}
.mp-loc{display:inline-flex;align-items:center;gap:5px;font-size:15px;color:#8a9099}
.mp-loc-ico{display:inline-flex;color:#a3a9b2}
.mp-verified{display:inline-flex;align-items:center;gap:5px;background:#2f74ea;color:#fff;font-size:14px;font-weight:600;border-radius:6px;padding:3px 10px}
.mp-verified-ico{display:inline-flex}
.mp-edit{position:absolute;right:24px;top:18px;display:inline-flex;align-items:center;gap:6px;border:1px solid #e6e7ea;background:#fff;color:#3c4148;border-radius:10px;padding:8px 16px;font-size:15.5px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s,box-shadow .15s}
.mp-edit:hover{border-color:#fda4af;color:var(--hd-primary);box-shadow:0 4px 12px rgba(236,72,153,.12)}
.mp-edit-ico{display:inline-flex}

.mp-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0}
.mp-stat{display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:inherit;transition:transform .15s}
.mp-stat:hover{transform:translateY(-2px)}
.mp-stat-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.mp-stat-like .mp-stat-icon{background:linear-gradient(135deg,#f43f8e,#db2777)}
.mp-stat-follow .mp-stat-icon{background:linear-gradient(135deg,#38a3f5,#2563eb)}
.mp-stat-fans .mp-stat-icon{background:linear-gradient(135deg,#fbb03b,#f59e0b)}
.mp-stat-subs .mp-stat-icon{background:linear-gradient(135deg,#b06bf5,#8b5cf6)}
.mp-stat-label{font-size:15px;color:#5a6069}

.mp-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:#eff0f2;border-radius:12px;padding:6px}
.mp-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 6px;border-radius:9px;font-size:15.5px;color:#5a6069;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}
.mp-tab:hover{color:var(--hd-primary)}
.mp-tab.active{background:#fff;color:#14181f;font-weight:700;box-shadow:0 1px 4px rgba(15,23,42,.1)}
.mp-tab-icon{display:inline-flex}

.mp-card{padding:22px 26px 26px}
.mp-card-title{display:flex;align-items:center;gap:8px;font-size:18.5px;font-weight:800;color:#14181f;margin-bottom:20px}
.mp-card-title-ico{display:inline-flex;color:#14181f}
.mp-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.mp-field{display:flex;flex-direction:column;gap:8px}
.mp-field-label{font-size:15px;color:#8a9099}
.mp-field-box{display:flex;align-items:center;gap:9px;background:#f6f7f9;border-radius:10px;padding:11px 14px;font-size:16px;color:#22262c}
.mp-field-ico{display:inline-flex;color:#8a9099;flex-shrink:0}
.mp-field-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.mp-tabs-2{grid-template-columns:repeat(2,1fr);max-width:400px}
.mp-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mp-sign{font-size:15px;color:#8a9099;font-style:italic}
.mp-avatar-verify{position:absolute;bottom:-2px;right:-2px;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:14px;font-weight:900;display:flex;align-items:center;justify-content:center;border:3px solid #fff}
.mp-actions{position:absolute;right:24px;top:18px;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.mp-actions .up-btn{margin:0}

/* 个人主页 Tab 内容 */
.mp-title-action{margin-left:auto;font-size:15px;font-weight:600;color:var(--hd-primary);text-decoration:none}
.mp-title-action:hover{color:var(--hd-primary-dark)}
.mp-center{display:flex;flex-direction:column;align-items:center;gap:14px}
.mp-blank{padding:34px 20px;text-align:center;color:#8a9099;font-size:15.5px}
.mp-verify-state{display:flex;align-items:center;gap:16px;border-radius:12px;padding:18px 20px}
.mp-verify-state.ok{background:#eff6ff;color:#1d4ed8}
.mp-verify-state.no{background:#fff7ed;color:#c2410c}
.mp-verify-ico{flex-shrink:0;display:inline-flex}
.mp-verify-t{font-size:17px;font-weight:800}
.mp-verify-d{font-size:15px;margin-top:4px;opacity:.85;line-height:1.6}
.mp-verify-pending{margin-top:14px;background:#fefce8;border:1px dashed #fbbf24;color:#92400e;border-radius:10px;padding:10px 14px;font-size:15px}
.mp-album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mp-album{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:12px;overflow:hidden;background:#f6f7f9;transition:transform .15s,box-shadow .15s}
.mp-album:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,23,42,.12)}
.mp-album-cover{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#eef0f3;position:relative}
.mp-album-cover img{width:100%;height:100%;object-fit:cover}
.mp-album-empty{color:#b6bcc4;display:inline-flex}
.mp-album-video-badge{position:absolute;right:8px;bottom:8px;width:30px;height:30px;border-radius:50%;background:rgba(255,45,111,.85);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.mp-album-name{font-size:15.5px;font-weight:700;color:#14181f;padding:10px 12px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-album-meta{font-size:14px;color:#8a9099;padding:2px 12px 12px}
.mp-order{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid var(--hd-line)}
.mp-order:last-child{border-bottom:none}
.mp-order-icon{width:38px;height:38px;border-radius:50%;background:#f6f7f9;color:#5a6069;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mp-order-info{flex:1;min-width:0}
.mp-order-type{font-size:16px;font-weight:700;color:#22262c}
.mp-order-detail{font-size:14px;color:#5a6069;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-order-time{font-size:14px;color:#8a9099;margin-top:3px}
.mp-order-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.mp-order-amount{font-size:17px;font-weight:800}
.mp-order-amount.in{color:#16a34a}
.mp-order-amount.out{color:#22262c}
.mp-order-status{font-size:13px;font-weight:700;border-radius:6px;padding:2px 8px}
.mp-os-ok{background:#dcfce7;color:#15803d}
.mp-os-warn{background:#fef9c3;color:#a16207}
.mp-os-off{background:#f1f2f4;color:#8a9099}
.mp-balance-box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 0 24px;background:linear-gradient(135deg,#fdf2f8,#f5f3ff);border-radius:14px}
.mp-balance-label{font-size:15px;color:#8a9099}
.mp-balance-num{font-size:43px;font-weight:900;line-height:1.15;background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.mp-balance-btn{margin-top:12px}
.mp-card-sub{font-size:16px;font-weight:800;color:#14181f;margin:20px 0 2px}

@media (max-width:640px){
  .mp-hero-body{padding:60px 18px 20px}
  .mp-edit{position:static;margin-top:12px}
  .mp-actions{position:static;margin-top:12px;justify-content:flex-start}
  .mp-fields{grid-template-columns:1fr}
  .mp-tab-text{display:none}
  .mp-album-grid{grid-template-columns:repeat(2,1fr)}
}

/* ---------- 用户公开主页 ---------- */
.hd-page-user{background:#f5f6f8}
.up-vip-tag{display:inline-flex;align-items:center;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:12px;font-weight:900;border-radius:5px;padding:2px 8px;letter-spacing:.5px}
.up-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.up-btn{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:999px;padding:8px 22px;font-size:15.5px;font-weight:800;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s,color .15s}
.up-btn:hover{transform:translateY(-1px)}
.up-btn-primary{background:linear-gradient(135deg,#ec4899,#a855f7);color:#fff;box-shadow:0 4px 12px rgba(236,72,153,.3)}
.up-btn-amber{background:linear-gradient(135deg,#fff5e6,#ffe9cc);color:#d97706}
.up-btn-amber:hover{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}
.up-btn-amber.done{background:#f1f2f4;color:#9aa0a8}
.up-btn-pink{background:linear-gradient(135deg,#fff1f6,#ffe4ef);color:#ec4899}
.up-btn-pink.active{background:linear-gradient(135deg,#ec4899,#be185d);color:#fff}
.up-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:16px;padding:16px 20px}
.up-meta-item{display:flex;flex-direction:column;gap:5px}
.up-meta-label{font-size:13px;color:var(--hd-muted)}
.up-meta-value{font-size:17px;font-weight:800;color:#14181f}
.up-tabs{margin:16px 0 0}
.up-album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.up-album{display:flex;flex-direction:column;text-decoration:none;overflow:hidden;transition:transform .15s,box-shadow .15s}
.up-album:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,23,42,.12)}
.up-album-cover{aspect-ratio:4/3;background:#f1f2f4;display:block;overflow:hidden}
.up-album-cover img{width:100%;height:100%;object-fit:cover;display:block}
.up-album-name{padding:11px 14px;font-size:15.5px;font-weight:800;color:#14181f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- 动态详情页 ---------- */
.hd-page-post-detail{background:#f5f6f8}
.pd-post{max-width:760px;margin:0 auto}
.pd-content{font-size:18px}
.pd-video{aspect-ratio:16/10}
.pd-comments{max-width:760px;margin:14px auto 0;padding:18px 20px}
.pd-comments-title{font-size:17px;font-weight:800;color:#14181f;margin-bottom:14px}
.pd-comment{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid var(--hd-line)}
.pd-comment:last-of-type{border-bottom:none}
.pd-comment-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0}
.pd-comment-main{min-width:0;flex:1}
.pd-comment-head{display:flex;align-items:center;gap:8px}
.pd-comment-name{font-size:15.5px;font-weight:800;color:#14181f;text-decoration:none}
.pd-comment-name:hover{color:var(--hd-primary)}
.pd-comment-time{font-size:13px;color:var(--hd-muted)}
.pd-comment-content{margin-top:4px;font-size:15.5px;line-height:1.6;color:#3c4148;word-break:break-word}
.pd-comment-form{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--hd-line)}
.pd-comment-input{flex:1;background:#f5f6f8;border:1px solid transparent;border-radius:999px;padding:10px 18px;font-size:15.5px;outline:none;color:#3c4148;transition:background .15s,border-color .15s}
.pd-comment-input:focus{background:#fff;border-color:var(--hd-primary)}
.pd-comment-submit{border:none;background:linear-gradient(135deg,#ec4899,#a855f7);color:#fff;font-size:15.5px;font-weight:800;border-radius:999px;padding:10px 24px;cursor:pointer}
.pd-login-tip{text-align:center;margin-top:14px;font-size:15px;color:var(--hd-muted)}
.pd-login-tip a{color:var(--hd-primary);font-weight:700;text-decoration:none}

/* ---------- 联系人页：选项卡面板 / 好友请求 / 聊天面板 ---------- */
.ms-items[data-pane]{display:none}
.ms-items[data-pane].show{display:block}
button.ms-item{width:100%;border:none;background:none;cursor:pointer;font:inherit;text-align:left}
.ms-tab-n{display:inline-block;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:800;border-radius:999px;padding:1px 6px;margin-left:3px;vertical-align:1px}
.ms-req-item{position:relative}
.ms-req-btns{position:absolute;right:12px;bottom:10px;display:flex;gap:6px}
.ms-req-accept,.ms-req-reject{border:none;border-radius:999px;padding:5px 12px;font-size:14px;font-weight:800;cursor:pointer}
.ms-req-accept{background:linear-gradient(135deg,#ec4899,#a855f7);color:#fff}
.ms-req-accept:hover{opacity:.9}
.ms-req-reject{background:#f1f2f4;color:#6b7280}
.ms-req-reject:hover{background:#e5e7eb}
.ms-req-done{font-size:14px;color:var(--hd-muted)}
.ms-online-text{color:#10b981!important}
.ms-req-entry{padding-bottom:44px}
.ms-head-crown{position:absolute;right:-3px;bottom:-1px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:11.5px;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center}
.ms-head-home{margin-left:auto;font-size:15px;font-weight:700;color:var(--hd-primary);text-decoration:none}
.ch-bubble.ch-recalled{background:#f1f2f4!important;color:#9aa0a8!important;font-size:14.5px}

/* ---------- 视频页：播放标记 / 弹窗播放器 / 分页省略 ---------- */
.vd-play-badge{position:absolute;top:8px;left:8px;z-index:2;color:#fff;pointer-events:none;opacity:.9;transition:transform .15s}
.vd-card:hover .vd-play-badge{transform:scale(1.15)}
.vd-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .16s ease}
.vd-modal.open{display:flex;opacity:1}
.vd-modal-mask{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(10,10,20,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vd-modal-box{position:relative;max-width:900px;width:100%;margin:auto;background:#14181f;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55);transform:translateY(10px) scale(.98);transition:transform .18s ease}
.vd-modal.open .vd-modal-box{transform:translateY(0) scale(1)}
.vd-modal-head{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:13px 18px;color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(10px)}
.vd-modal-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.25)}
.vd-modal-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.vd-modal-userinfo{flex:1;min-width:0}
.vd-modal-name{color:#fff;font-size:17px;font-weight:800;text-decoration:none}
.vd-modal-name:hover{color:#fda4af}
.vd-modal-stats{display:block;font-size:14px;color:rgba(255,255,255,.6);margin-top:3px}
.vd-modal-count{font-size:14px;color:rgba(255,255,255,.55);background:rgba(255,255,255,.1);border-radius:999px;padding:4px 12px;font-weight:800;white-space:nowrap}
.vd-modal-close{border:none;background:rgba(255,255,255,.12);color:#fff;width:34px;height:34px;border-radius:50%;font-size:17px;cursor:pointer;flex-shrink:0;transition:background .15s,transform .15s}
.vd-modal-close:hover{background:rgba(255,45,111,.75);transform:rotate(90deg)}
.vd-modal-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#000}
.vd-modal-video-wrap{position:relative;flex:1;min-width:0}
.vd-modal-video{width:100%;max-height:68vh;background:linear-gradient(135deg,#ff9a9e 0%,#a855f7 100%) #000;display:block}
.vd-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);pointer-events:none}
.vd-loading[hidden]{display:none}
.vd-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--hd-primary,#ff2d6f);animation:vd-spin .8s linear infinite;display:block}
@keyframes vd-spin{to{transform:rotate(360deg)}}
.vd-toast{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(10,10,20,.82);color:#fff;font-size:15px;font-weight:700;padding:8px 18px;border-radius:999px;pointer-events:none;backdrop-filter:blur(4px)}
.vd-toast[hidden]{display:none}
.vd-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:64px;border:none;border-radius:14px;background:rgba(20,24,31,.55);color:#fff;font-size:31.5px;line-height:1;cursor:pointer;backdrop-filter:blur(6px);transition:background .15s,opacity .15s;display:flex;align-items:center;justify-content:center}
.vd-nav-prev{left:14px}
.vd-nav-next{right:14px}
.vd-nav:hover:not(:disabled){background:var(--hd-primary,#ff2d6f)}
.vd-nav:disabled{opacity:.25;cursor:default}
.vd-modal-foot{position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 16px;background:rgba(255,255,255,.04);flex-wrap:wrap}
.vd-foot-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;border:none;transition:background .15s}
.vd-foot-btn:hover{background:var(--hd-primary,#ff2d6f)}
.vd-foot-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.75);font-size:15px;font-weight:700;cursor:pointer;user-select:none}
.vd-foot-toggle input{accent-color:var(--hd-primary,#ff2d6f);width:16px;height:16px;cursor:pointer}
@media(max-width:760px){.vd-nav{width:36px;height:48px;font-size:24.5px}.vd-modal{padding:10px}.vd-modal-video{max-height:56vh}.vd-modal-count{display:none}}

/* PC 视频弹窗打赏面板 */
.vd-tip-panel{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;width:min(620px,calc(100% - 48px));max-height:60vh;overflow:auto;z-index:220;background:rgba(20,24,31,.96);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 16px;backdrop-filter:blur(10px);box-shadow:0 -10px 40px rgba(0,0,0,.5)}
.vd-tip-panel[hidden]{display:none}
.vd-tip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.vd-tip-title{color:#fff;font-size:16px;font-weight:800}
.vd-tip-close{border:none;background:rgba(255,255,255,.12);color:#fff;width:26px;height:26px;border-radius:50%;font-size:14px;cursor:pointer}
.vd-tip-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.vd-tip-chip{padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .15s}
.vd-tip-chip:hover,.vd-tip-chip.is-active{background:var(--hd-primary,#ff2d6f);border-color:var(--hd-primary,#ff2d6f)}
.vd-tip-row{display:flex;gap:8px}
.vd-tip-input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:8px 14px;font-size:15px;outline:none}
.vd-tip-input:focus{border-color:var(--hd-primary,#ff2d6f)}
.vd-tip-btn{padding:8px 22px;border-radius:999px;border:none;background:var(--hd-primary,#ff2d6f);color:#fff;font-size:15px;font-weight:800;cursor:pointer}
.vd-tip-btn:disabled{opacity:.5;cursor:not-allowed}
/* 视频弹窗页脚最近打赏滚动条 */
.vd-tip-marquee{flex:1 1 120px;max-width:260px;min-width:80px;overflow:hidden;position:relative;border-radius:999px;background:rgba(255,255,255,.08)}
.vd-tip-marquee[hidden]{display:none}
.vd-tip-marquee-track{display:flex;align-items:center;gap:10px;width:max-content;padding:0 10px;will-change:transform}
.vd-tip-marquee-item{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font-size:14px;font-weight:600;white-space:nowrap}
.vd-tip-marquee-item img{width:18px;height:18px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.1)}
.vd-tip-marquee-name{max-width:80px;overflow:hidden;text-overflow:ellipsis}
.vd-tip-marquee-amt{color:var(--hd-primary,#ff2d6f);font-weight:800}
@keyframes vdTipMarqueeX{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.vd-page-ellipsis{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--hd-muted)}

/* ---------- 广场：图片灯箱 ---------- */
.sq-pimgs img.sq-pimg{cursor:zoom-in}
.sq-pvideo{cursor:pointer}
.hd-lightbox{position:fixed;inset:0;background:rgba(10,10,20,.92);z-index:210;display:flex;align-items:center;justify-content:center}
.hd-lightbox[hidden]{display:none}
.hd-lightbox-img{max-width:92vw;max-height:86vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.hd-lightbox-close{position:fixed;top:18px;right:22px;border:none;background:rgba(255,255,255,.14);color:#fff;width:40px;height:40px;border-radius:50%;font-size:19.5px;cursor:pointer}
.hd-lightbox-close:hover{background:rgba(255,255,255,.3)}
.hd-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.14);color:#fff;width:44px;height:44px;border-radius:50%;font-size:24.5px;line-height:1;cursor:pointer}
.hd-lightbox-nav:hover{background:rgba(255,255,255,.3)}
.hd-lightbox-prev{left:22px}
.hd-lightbox-next{right:22px}
.hd-lightbox-count{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.85);font-size:15px;font-weight:700;background:rgba(0,0,0,.4);border-radius:999px;padding:5px 14px}

/* ---------- 登录 / 注册 / 重置密码页（全屏背景 + 左品牌 右玻璃表单） ---------- */
.au-page{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px 40px}
.au-bg{position:fixed;inset:0;z-index:0;overflow:hidden}
.au-bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.au-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,12,30,.3) 0%,rgba(22,12,30,.05) 34%,rgba(22,12,30,.16) 64%,rgba(14,8,20,.52) 100%),linear-gradient(90deg,rgba(22,12,30,.28) 0%,rgba(22,12,30,0) 44%,rgba(22,12,30,.26) 100%)}
/* 右上角语言切换 */
.au-top{position:fixed;top:18px;right:24px;z-index:30}
.au-lang{position:relative}
.au-lang-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.35);background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff;font-size:14.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(225,29,72,.35)}
.au-lang-btn svg{display:block}
.au-lang-menu{position:absolute;right:0;top:132%;min-width:172px;background:#fff;border:1px solid var(--hd-line);border-radius:12px;box-shadow:0 14px 34px rgba(15,23,42,.22);padding:6px;display:none;z-index:40;max-height:340px;overflow:auto}
.au-lang-menu.show{display:block}
.au-lang-menu a{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:8px;font-size:15.5px;color:#3c4148;text-decoration:none;white-space:nowrap}
.au-lang-menu a:hover{background:#f7f7f9;color:var(--hd-primary)}
.au-lang-menu a.active{background:var(--hd-primary-soft);color:var(--hd-primary);font-weight:700}
/* 主体两栏 */
.au-wrap{position:relative;z-index:5;width:100%;max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:76px;align-items:center}
.au-brand{color:#fff;text-align:center;min-width:0}
.au-brand-logo{width:86px;height:86px;margin:0 auto 20px;border-radius:24px;background:linear-gradient(135deg,#c084fc 0%,#8b5cf6 48%,#6d28d9 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 18px 40px rgba(109,40,217,.5),inset 0 1px 0 rgba(255,255,255,.4);border:2px solid rgba(255,255,255,.9)}
.au-brand-logo svg{width:46px;height:46px}
.au-brand-title{font-size:34.5px;font-weight:900;letter-spacing:.5px;background:linear-gradient(100deg,#f472b6 0%,#c084fc 52%,#a855f7 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 10px rgba(0,0,0,.45))}
.au-brand-sub{margin:14px auto 0;max-width:430px;font-size:15.5px;line-height:1.75;color:rgba(255,255,255,.86);text-shadow:0 1px 8px rgba(0,0,0,.4)}
.au-stats{display:flex;gap:12px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.au-stat{min-width:108px;padding:12px 16px;border-radius:12px;background:rgba(30,18,40,.5);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);text-align:center}
.au-stat b{display:block;font-size:22px;font-weight:900;color:#fff;letter-spacing:.3px}
.au-stat span{display:block;margin-top:3px;font-size:13px;color:rgba(255,255,255,.72)}
.au-feats{display:flex;flex-direction:column;gap:10px;max-width:392px;margin:26px auto 0;text-align:left}
.au-feat{display:flex;align-items:center;gap:12px;padding:11px 15px;border-radius:12px;background:rgba(30,18,40,.46);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);color:#fff;font-size:15px;line-height:1.5}
.au-feat-ico{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#c084fc,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 4px 10px rgba(124,58,237,.4)}
/* 表单玻璃卡 */
.au-panel{width:100%;padding:26px 26px 22px;border-radius:18px;background:rgba(26,16,34,.6);border:1px solid rgba(255,255,255,.18);box-shadow:0 28px 64px rgba(0,0,0,.45);backdrop-filter:blur(20px);color:#fff;box-sizing:border-box}
.au-panel-title{font-size:22.5px;font-weight:900;text-align:center;letter-spacing:.5px;background:linear-gradient(100deg,#f9a8d4 0%,#e879f9 48%,#a855f7 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.au-panel-sub{margin-top:8px;text-align:center;font-size:14.5px;color:rgba(255,255,255,.72)}
.au-alert{margin-top:14px;padding:10px 13px;border-radius:10px;font-size:14.5px;text-align:left;line-height:1.5}
.au-err{background:rgba(220,38,38,.22);color:#fecaca;border:1px solid rgba(248,113,113,.45)}
.au-ok{background:rgba(22,163,74,.22);color:#bbf7d0;border:1px solid rgba(74,222,128,.45)}
.au-form{margin-top:18px;display:flex;flex-direction:column;gap:13px}
.au-label{font-size:14.5px;font-weight:700;color:rgba(255,255,255,.88);margin-bottom:-6px}
.au-field{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:11px;padding:0 12px;transition:border-color .16s,background .16s,box-shadow .16s}
.au-field:focus-within{border-color:#c084fc;background:rgba(255,255,255,.14);box-shadow:0 0 0 3px rgba(168,85,247,.2)}
.au-field-ico{display:inline-flex;color:rgba(255,255,255,.55);flex-shrink:0}
.au-input{flex:1;min-width:0;background:none;border:none;outline:none;padding:11px 0;font-size:15.5px;color:#fff;font-family:inherit}
.au-input::placeholder{color:rgba(255,255,255,.44)}
.au-input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px rgba(60,40,80,.9) inset}
select.au-input{cursor:pointer}
select.au-input option{color:#22262c}
.au-eye{background:none;border:none;padding:2px;color:rgba(255,255,255,.55);cursor:pointer;display:inline-flex}
.au-eye:hover{color:#fff}
.au-code-row{display:flex;gap:8px;align-items:stretch}
.au-code-row .au-field{flex:1;min-width:0}
.au-code-btn{flex-shrink:0;border:none;border-radius:10px;padding:0 15px;font-size:14.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#f472b6,#a855f7);cursor:pointer;font-family:inherit;white-space:nowrap}
.au-code-btn:hover{filter:brightness(1.08)}
.au-code-btn:disabled{opacity:.55;cursor:not-allowed;filter:none}
.au-row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.au-check{display:flex;align-items:flex-start;gap:8px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.82);cursor:pointer}
.au-check input{accent-color:#a855f7;width:14px;height:14px;margin-top:2px;flex-shrink:0;cursor:pointer}
.au-check a{color:#e9d5ff;text-decoration:none;font-weight:700}
.au-check a:hover{text-decoration:underline}
.au-gender{display:flex;gap:10px}
.au-gender-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 0;border-radius:11px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);font-size:15px;color:rgba(255,255,255,.82);cursor:pointer;transition:all .16s}
.au-gender-opt input{position:absolute;opacity:0;pointer-events:none}
.au-gender-opt:hover{background:rgba(255,255,255,.13)}
.au-gender-opt:has(input:checked){background:linear-gradient(135deg,rgba(244,114,182,.28),rgba(168,85,247,.3));border-color:#c084fc;color:#fff;font-weight:700}
.au-forgot{font-size:14.5px;font-weight:700;color:#f9a8d4;text-decoration:none}
.au-forgot:hover{color:#fbcfe8}
.au-submit{margin-top:2px;border:none;border-radius:10px;background:linear-gradient(135deg,#f472b6 0%,#a855f7 100%);color:#fff;font-size:16.5px;font-weight:900;padding:12px;cursor:pointer;font-family:inherit;box-shadow:0 10px 24px rgba(168,85,247,.35);transition:filter .15s,transform .15s}
.au-submit:hover{filter:brightness(1.06);transform:translateY(-1px)}
.au-foot{margin-top:16px;text-align:center;font-size:14.5px;color:rgba(255,255,255,.78)}
.au-foot a{color:#fbbf24;font-weight:900;text-decoration:none;margin-left:5px}
.au-foot a:hover{color:#fcd34d;text-decoration:underline}
.au-terms{margin-top:14px;font-size:12.5px;line-height:1.8;color:rgba(255,255,255,.62);text-align:center}
.au-terms a{color:#fbbf24;text-decoration:none;font-weight:700}
.au-terms a:hover{text-decoration:underline}
.au-copy{position:relative;z-index:5;margin-top:22px;text-align:center;font-size:13px;line-height:1.9;color:rgba(255,255,255,.5);text-shadow:0 1px 6px rgba(0,0,0,.4)}
.au-copy a{color:rgba(255,255,255,.68);text-decoration:none}
@media(max-width:1080px){
  .au-wrap{grid-template-columns:minmax(0,1fr) 380px;gap:36px}
  .au-brand-title{font-size:31.5px}
  .au-stats{gap:8px}
  .au-stat{min-width:92px;padding:10px 12px}
}
@media(max-width:900px){
  .au-page{padding:64px 16px 32px}
  .au-wrap{grid-template-columns:minmax(0,1fr);gap:26px;max-width:440px}
  .au-brand-sub,.au-feats{display:none}
  .au-stats{margin-top:18px}
  .au-brand-logo{width:70px;height:70px;border-radius:20px;margin-bottom:14px}
  .au-brand-logo svg{width:38px;height:38px}
  .au-brand-title{font-size:27px}
}

/* ---------- 我的点赞 ---------- */
.lk-page{max-width:1080px;margin:26px auto;padding:0 16px}
.lk-title{font-size:24.5px;font-weight:800;color:#14181f;margin-bottom:16px}
.lk-tabs{display:flex;gap:8px;margin-bottom:18px}
.lk-tab{padding:8px 18px;border-radius:999px;border:1px solid var(--hd-line);background:#fff;color:#3c4148;font-size:15.5px;font-weight:700;text-decoration:none}
.lk-tab:hover{border-color:var(--hd-primary);color:var(--hd-primary)}
.lk-tab.active{background:var(--hd-grad);color:#fff;border-color:transparent}
.lk-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.lk-card{background:#fff;border:1px solid var(--hd-line);border-radius:16px;padding:18px 12px;text-align:center;text-decoration:none;transition:box-shadow .15s,transform .15s}
.lk-card:hover{box-shadow:0 10px 26px rgba(255,45,111,.12);transform:translateY(-2px)}
.lk-card img{width:76px;height:76px;border-radius:50%;object-fit:cover;border:2px solid #ffe4ef}
.lk-name{display:block;margin-top:10px;font-size:16px;font-weight:700;color:#22262c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:980px){.lk-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.lk-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- 好友申请 ---------- */
.rq-page{max-width:860px}
.rq-list{display:flex;flex-direction:column;gap:12px}
.rq-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--hd-line);border-radius:16px;padding:14px 16px}
.rq-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #ffe4ef;flex-shrink:0}
.rq-main,.rq-main2{flex:1;min-width:0}
.rq-name{font-size:17px;font-weight:700;color:#22262c;text-decoration:none}
.rq-name:hover{color:var(--hd-primary)}
.rq-meta{margin-top:3px;font-size:14px;color:var(--hd-muted)}
.rq-actions{display:flex;gap:8px}
.rq-accept,.rq-reject{border:none;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:800;cursor:pointer}
.rq-accept{background:var(--hd-grad);color:#fff}
.rq-accept:hover{filter:brightness(1.05)}
.rq-reject{background:#f1f2f4;color:#6b7280}
.rq-reject:hover{background:#e5e7eb}
.rq-pending{font-size:14.5px;color:var(--hd-muted);background:#f6f7f9;border-radius:999px;padding:5px 12px}

/* ---------- 邀请返利 ---------- */
.iv-page{max-width:860px}
.iv-promo{width:100%;max-height:320px;object-fit:cover;border-radius:16px;border:1px solid var(--hd-line);margin-bottom:14px}
.iv-intro{padding:14px 16px;border:1px solid #ffe4ef;background:#fff7fa;border-radius:14px;color:#3c4148;line-height:1.8;margin-bottom:14px;font-size:16px}
.iv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.iv-stat{background:#fff;border:1px solid var(--hd-line);border-radius:14px;padding:14px}
.iv-stat-label{display:block;font-size:14px;color:var(--hd-muted);margin-bottom:6px}
.iv-stat-num{font-size:22.5px;font-weight:800;color:#14181f}
.iv-hl{color:var(--hd-primary)}
.iv-box{background:#fff;border:1px solid var(--hd-line);border-radius:14px;padding:14px 16px;margin-bottom:16px}
.iv-line{display:flex;align-items:center;gap:8px;font-size:15.5px;color:#3c4148;word-break:break-all}
.iv-line+.iv-line{margin-top:8px}
.iv-k{color:var(--hd-muted)}
.iv-link{color:var(--hd-primary)}
.iv-copy{border:none;background:var(--hd-grad);color:#fff;border-radius:999px;font-size:14px;font-weight:700;padding:4px 12px;cursor:pointer;margin-left:auto;flex-shrink:0}
.iv-h2{font-size:18.5px;font-weight:800;color:#14181f;margin:0 0 10px}
.iv-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--hd-line);border-radius:14px;overflow:hidden}
.iv-table th{text-align:left;font-size:14.5px;color:var(--hd-muted);padding:10px 12px;background:#f6f7f9}
.iv-table td{padding:10px 12px;border-top:1px solid var(--hd-line);font-size:15.5px}
@media(max-width:760px){.iv-stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- VIP ---------- */
.vp-page{max-width:1120px}
.vp-status{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;background:#fff;border:1px solid var(--hd-line);border-radius:16px;padding:16px 20px;margin:0 0 22px}
.vp-label{font-size:14px;color:var(--hd-muted);font-weight:700}
.vp-value{font-size:20.5px;font-weight:800;color:#14181f}
.vp-value.on{background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.vp-expire{margin-top:4px;font-size:14px;color:var(--hd-muted)}
.vp-right{text-align:right}
.vp-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.vp-plan{position:relative;background:#fff;border:1px solid var(--hd-line);border-radius:18px;padding:20px 18px;display:flex;flex-direction:column}
.vp-plan.popular{border-color:var(--hd-primary);box-shadow:0 12px 30px rgba(255,45,111,.14)}
.vp-pop{position:absolute;top:14px;right:14px;background:var(--hd-grad);color:#fff;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:800}
.vp-name{font-size:18.5px;font-weight:800;color:#14181f;padding-right:56px}
.vp-price{margin-top:10px;display:flex;align-items:baseline;gap:8px}
.vp-price span{font-size:31.5px;font-weight:900;background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.vp-price s{font-size:15px;color:var(--hd-muted)}
.vp-dur{margin-top:4px;font-size:14px;color:var(--hd-muted)}
.vp-desc{margin-top:8px;font-size:14.5px;color:#6b7280;line-height:1.6;min-height:36px}
.vp-features{margin:12px 0 0;padding-left:18px;color:#3c4148;font-size:15px;line-height:1.9;min-height:100px}
.vp-buy{margin-top:auto}
.vp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.vp-card{position:relative;border:1px solid var(--hd-line);border-radius:12px;padding:9px 6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;color:#3c4148;text-align:center;background:#fff}
.vp-card input{position:absolute;opacity:0;pointer-events:none}
.vp-card:hover{border-color:var(--hd-primary)}
.vp-card.active{border-color:var(--hd-primary);background:#fff0f5;color:var(--hd-primary)}
.vp-modal-box{position:relative;max-width:460px;width:100%;background:#fff;border-radius:18px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.vp-close{position:absolute;right:12px;top:10px;border:none;background:#f1f2f4;color:#6b7280;width:30px;height:30px;border-radius:50%;font-size:17px;cursor:pointer}
.vp-close:hover{background:#e5e7eb}
.vp-modal-title{font-size:18.5px;font-weight:800;color:#14181f;margin-bottom:10px}
.vp-modal-box>div{font-size:15.5px;color:#3c4148;line-height:1.8}
.vp-addr{word-break:break-all}
.vp-qr{max-width:180px;border:1px solid var(--hd-line);border-radius:10px;margin-top:8px}
@media(max-width:960px){.vp-plans{grid-template-columns:1fr}}

/* ---------- 订单 ---------- */
.od-page{max-width:1080px}
.od-table th{white-space:nowrap}
.od-table td{white-space:nowrap}
.od-badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700}
.od-badge.paid{background:#e8f7ee;color:#166534}
.od-badge.pending{background:#fff7e6;color:#b45309}
.od-badge.cancelled{background:#fdeaea;color:#b91c1c}
.od-badge.other{background:#f1f2f4;color:#6b7280}
.od-plus{color:#10b981;font-weight:700}
.od-minus{color:#ef4444;font-weight:700}
.od-table-wrap{overflow-x:auto}

/* ---------- 通用弹窗 ---------- */
.hd-modal{position:fixed;inset:0;background:rgba(10,10,20,.55);z-index:220;display:flex;align-items:center;justify-content:center;padding:20px}
.hd-modal[hidden]{display:none}

/* ---------- 相册详情 ---------- */
.av-page{max-width:1080px}
.al-back{font-size:15.5px;font-weight:700;color:var(--hd-primary);text-decoration:none;border:1px solid var(--hd-line);border-radius:999px;padding:8px 16px;background:#fff}
.al-back:hover{border-color:var(--hd-primary);background:#fff0f5}
.al-upload{background:#fff;border:1px solid var(--hd-line);border-radius:14px;padding:14px 16px;margin:14px 0}
.al-upload-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.al-file{padding:8px;border:1px solid var(--hd-line);border-radius:10px;background:#fafbfc;font-size:15px}
.al-upload-form .rq-accept{border:none;cursor:pointer}
.al-tip{font-size:14px;color:var(--hd-muted);margin-top:8px}
.al-pgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.al-photo{border:1px solid var(--hd-line);border-radius:14px;overflow:hidden;background:#fff}
.al-pimg{aspect-ratio:1/1;background:#f6f7f9;cursor:pointer}
.al-pimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.al-pimg:hover img{transform:scale(1.04)}
.al-pact{padding:8px;display:flex;justify-content:flex-end}
.al-del{border:none;background:#fdeaea;color:#b91c1c;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:800;cursor:pointer}
.al-del:hover{background:#fbd5d5}
@media(max-width:1100px){.al-pgrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:780px){.al-pgrid{grid-template-columns:repeat(3,1fr)}}

/* ---------- 设置 ---------- */
.st-page{max-width:900px}
.st-section{background:#fff;border:1px solid var(--hd-line);border-radius:16px;padding:18px 20px;margin-top:16px}
/* ===== 设置页表单控件（.au-input 原为登录页深色透明样式，在白色卡片内重置） ===== */
.st-section .au-input{display:block;width:100%;flex:none;background:#f6f7fb;border:1px solid #e3e6ee;border-radius:10px;padding:11px 12px;font-size:16px;color:#1f2329;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.st-section .au-input:focus{border-color:#ff4d8d;background:#fff;box-shadow:0 0 0 3px rgba(255,77,141,.1)}
.st-section .au-input::placeholder{color:#a8adba}
.st-section .au-input:disabled{background:#f0f1f5;color:#9aa0ab;cursor:not-allowed}
.st-section select.au-input{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:34px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239aa0ab' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.st-section select.au-input option{color:#22262c}
.st-section input[type=date].au-input{min-height:44px}
.st-section textarea.au-input{resize:vertical;min-height:92px;line-height:1.6}
.st-h2{font-size:17px;font-weight:800;color:#1f2329;margin:0 0 14px}
.st-avatar-row{display:flex;align-items:center;gap:18px}
.st-avatar-wrap{position:relative;flex-shrink:0}
.st-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid #ffe0ec;background:#f4f4f6;display:block}
.st-badge{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);background:#ff9f43;color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.st-name-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.st-name-row .st-field{min-width:200px}
.st-value{font-size:17px;font-weight:800;color:#1f2329;padding:9px 0}
.st-btn{flex-shrink:0;border:none;border-radius:10px;padding:11px 20px;font-size:15.5px;font-weight:800;color:#fff;background:linear-gradient(90deg,#ff3d7f,#a855f7);cursor:pointer;box-shadow:0 4px 12px rgba(255,61,127,.22);transition:filter .15s ease}
.st-btn:hover{filter:brightness(1.05)}
.st-btn:disabled{opacity:.55;cursor:not-allowed}
.st-locktip{font-size:14px;color:#e0851f;margin-top:4px}
.st-form{margin:0}
.st-full{grid-column:1/-1}
.st-right{display:flex;justify-content:flex-end}
.st-kv{margin-top:2px}
.st-kv-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed #eef0f4;font-size:15.5px}
.st-kv-row:last-child{border-bottom:none}
.st-k{color:#8a8f9c;flex-shrink:0}
.st-v{font-weight:700;color:#1f2329;word-break:break-all;text-align:right}
.st-verified-ok{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#10b981}
.st-verified-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#10b981;color:#fff;font-size:15px;font-weight:900}
.st-verified-state{font-size:15.5px;padding:10px 14px;border-radius:10px;background:#f6f7fb;color:#5b6270}
.st-verified-pending{background:#fff7e8;color:#c47d10}
.st-verified-rejected{background:#fdeef2;color:#d63384;margin-bottom:12px}
.st-h2{font-size:18.5px;font-weight:800;color:#14181f;margin-bottom:14px}
.st-verified-ok{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;color:#15803d}
.st-verified-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#22c55e;color:#fff;font-size:15px;font-weight:900}
.st-verified-state{padding:10px 14px;border-radius:10px;font-size:15.5px;font-weight:700;margin-bottom:12px}
.st-verified-pending{background:#fff7e0;color:#a16207;border:1px solid #fde68a}
.st-verified-rejected{background:#ffebee;color:#b91c1c;border:1px solid #ffcdd2}
.st-avatar-row{display:flex;gap:16px;align-items:center}
.st-avatar-wrap{position:relative;display:inline-block}
.st-avatar{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid #ffe4ef}
.st-badge{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);background:#e57319;color:#fff;font-size:12.5px;font-weight:700;padding:2px 10px;border-radius:10px;white-space:nowrap}
.st-btn{cursor:pointer;padding:9px 18px}
.st-name-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.st-field{display:flex;flex-direction:column;gap:6px}
.st-value{font-size:17px;font-weight:800;color:#14181f;min-height:20px}
.st-locktip{margin-top:2px;font-size:14px;color:#e65100}
.st-form{margin-top:8px}
.st-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.st-full{grid-column:1/-1}
.st-right{align-items:flex-end}
.st-kv{border-top:1px dashed var(--hd-line);padding-top:10px}
.st-kv-row{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:15.5px}
.st-k{color:var(--hd-muted)}
.st-v{color:#22262c;font-weight:700;word-break:break-all}
@media(max-width:900px){.st-grid{grid-template-columns:1fr}.st-avatar-row{flex-direction:column;align-items:flex-start}.st-name-row{flex-direction:column;align-items:stretch}}

/* ---------- 礼物商店 ---------- */
.sp-page{max-width:1080px}
.sp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sp-item{border:1px solid var(--hd-line);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.sp-item:hover{box-shadow:0 10px 26px rgba(255,45,111,.12);transform:translateY(-2px)}
.sp-img{aspect-ratio:1;background:#fafbfc;display:flex;align-items:center;justify-content:center}
.sp-img img{width:100%;height:100%;object-fit:contain;padding:10px}
.sp-body{padding:12px;flex:1;display:flex;flex-direction:column}
.sp-name{font-size:16.5px;font-weight:800;color:#22262c;margin-bottom:6px}
.sp-price{font-size:20.5px;font-weight:900;background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}
.sp-form{margin-top:auto}
.sp-qty{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:15px}
.sp-qty label{color:var(--hd-muted);font-weight:700}
.sp-qty-input{width:60px;padding:6px 8px;border:1px solid var(--hd-line);border-radius:10px;outline:none;font-size:15px;background:#fafbfc}
.sp-qty-input:focus{border-color:var(--hd-primary)}
.sp-add{width:100%;padding:10px 12px;font-size:15px}
@media(max-width:1100px){.sp-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.sp-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- 购物车 ---------- */
.ct-page{max-width:900px}
.ct-head,.ct-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:center}
.ct-head{padding:12px 14px;background:#f6f7f9;border-radius:12px;font-size:14.5px;font-weight:800;color:var(--hd-muted);margin-bottom:10px}
.ct-item{padding:14px;border:1px solid var(--hd-line);border-radius:12px;background:#fff;margin-bottom:10px}
.ct-name{font-weight:800;color:#22262c}
.ct-qty{font-weight:700;color:#3c4148}
.ct-price{font-weight:700;color:var(--hd-muted)}
.ct-sub{font-size:17px;font-weight:900;color:var(--hd-primary)}
.ct-total{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#fff;border:1px solid #ffe4ef;border-radius:14px;margin:16px 0}
.ct-total span{font-size:17px;font-weight:800;color:#14181f}
.ct-total b{font-size:24.5px;font-weight:900;background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ct-checkout{margin-top:6px}
.ct-checkout .vp-label{margin-bottom:10px}
.ct-providers{display:flex;gap:12px;margin-bottom:16px}
.ct-provider{display:flex;gap:8px;align-items:center;border:1px solid var(--hd-line);border-radius:12px;padding:10px 14px;cursor:pointer;font-size:15.5px;font-weight:700;background:#fff}
.ct-provider input{accent-color:var(--hd-primary)}
.ct-provider:hover{border-color:var(--hd-primary)}

/* ---------- 支付结果 ---------- */
.co-page{max-width:640px}
.co-card{background:#fff;border:1px solid var(--hd-line);border-radius:20px;padding:34px 28px;text-align:center;margin-top:20px}
.co-card.co-ok{border-color:#bbf7d0}
.co-card.co-fail{border-color:#fbd5d5}
.co-icon{width:64px;height:64px;line-height:64px;margin:0 auto 14px;border-radius:50%;background:#dcfce7;color:#166534;font-size:33.5px;font-weight:900}
.co-icon-fail{background:#fdeaea;color:#b91c1c}
.co-sub{margin-top:8px;font-size:16px;color:var(--hd-muted)}
.co-card .st-kv{margin-top:20px;text-align:left}
.co-actions{margin-top:22px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ---------- 动态/视频编辑 ---------- */
.pe-page,.ve-page{max-width:860px}
.pe-textarea{width:100%;border:1px solid var(--hd-line);border-radius:14px;padding:14px 16px;outline:none;resize:vertical;min-height:150px;line-height:1.8;font-size:16px;background:#fafbfc;color:#22262c;font-family:inherit}
.pe-textarea:focus{border-color:var(--hd-primary);box-shadow:0 0 0 3px rgba(255,45,111,.1);background:#fff}
.pe-hint{margin-top:8px;color:var(--hd-muted);font-size:14px;display:flex;justify-content:flex-end}
.pe-page .co-actions{justify-content:flex-end;margin-top:16px}
.ve-player{width:100%;max-height:400px;background:linear-gradient(135deg,#ff9a9e 0%,#a855f7 100%) #000;border-radius:14px;display:block}
.ve-form{margin-top:16px}
.ve-form .al-file{width:100%;margin-bottom:12px;box-sizing:border-box}
.ve-form .co-actions{justify-content:flex-start;margin-top:14px}

/* ---------- 礼物盒子 ---------- */
.gb-page{max-width:860px}
.gb-shop{display:flex;flex-direction:column;gap:12px}
.gb-item{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--hd-line);border-radius:16px;padding:14px 16px}
.gb-img{width:80px;height:80px;border-radius:12px;object-fit:contain;background:#fafbfc;flex:0 0 auto}
.gb-info{flex:1;min-width:0}
.gb-name{font-size:17px;font-weight:800;color:#22262c;margin-bottom:4px}
.gb-price{font-size:20.5px;font-weight:900;background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gb-send{flex:0 0 auto}
.gb-row{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--hd-line);border-radius:16px;padding:14px 16px}
.gb-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid #ffe4ef;flex-shrink:0}
.gb-main{flex:1;min-width:0}
.gb-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.gb-from{font-weight:800;color:#22262c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gb-time{font-size:14.5px;color:var(--hd-muted);white-space:nowrap}
.gb-gift{margin-top:10px;display:flex;align-items:center;gap:10px}
.gb-gift img{width:44px;height:44px;border-radius:10px;border:1px solid var(--hd-line);object-fit:contain;background:#fafbfc}
.gb-gname{font-weight:800;color:#3c4148}
.gb-qty{font-weight:900;color:var(--hd-primary)}
.gb-modal-box{max-width:440px}
.gb-info-row{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.gb-modal-img{width:88px;height:88px;border-radius:14px;object-fit:contain;background:#fafbfc}
.gb-qty-controls{display:flex;gap:10px;margin-top:8px}
.gb-qty-btn{width:44px;height:44px;border:1px solid var(--hd-line);border-radius:12px;background:#fff;font-size:20.5px;font-weight:800;cursor:pointer;color:#3c4148}
.gb-qty-btn:hover{border-color:var(--hd-primary);color:var(--hd-primary)}
.gb-qty-input{text-align:center;font-weight:800}
.gb-total{display:flex;justify-content:space-between;align-items:center;margin:16px 0;padding:14px 16px;background:#fff7fa;border:1px solid #ffe4ef;border-radius:12px}
.gb-total span:first-child{font-weight:800;color:#14181f}
.gb-total span:last-child{font-weight:900;font-size:22.5px;background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gb-submit{width:100%}

/* ---------- 发布动态 ---------- */
.pc-upload-area{margin-top:8px}
.pc-upload-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.pc-upload-preview-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f6f7f9}
.pc-upload-preview-item img,.pc-upload-preview-item video{width:100%;height:100%;object-fit:cover}
.pc-upload-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
.pc-upload-btn{display:inline-block;padding:9px 16px;border:1px dashed var(--hd-line);border-radius:12px;cursor:pointer;color:var(--hd-muted);font-size:15px;font-weight:700;background:#fafbfc}
.pc-upload-btn:hover{background:#fff0f5;border-color:var(--hd-primary);color:var(--hd-primary)}

/* ---------- 动态详情 ---------- */
.pd-page{max-width:860px}
.pd-card{background:#fff;border:1px solid var(--hd-line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(255,45,111,.05)}
.pd-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.pd-back{color:var(--hd-primary);text-decoration:none;font-weight:800;font-size:16px}
.pd-back:hover{text-decoration:underline}
.pd-title{margin:0;font-size:22.5px;color:#14181f;font-weight:900}
.pd-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.pd-avatar{width:52px;height:52px;border-radius:50%;border:2px solid #ffe4ef;object-fit:cover}
.pd-author{flex:1;min-width:0}
.pd-author-name{font-weight:900;color:#14181f;text-decoration:none;display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-author-name:hover{color:var(--hd-primary)}
.pd-author-meta{margin-top:4px;font-size:14px;color:var(--hd-muted)}
.pd-stats{display:flex;gap:12px;font-weight:900;color:#6b7280;font-size:16px}
.pd-content{margin-top:10px;color:#3c4148;line-height:1.75;white-space:pre-wrap;word-break:break-word;font-size:16.5px}
.pd-media-grid{display:grid;gap:8px;margin-top:12px;max-width:560px}
.pd-media-grid.grid-1{grid-template-columns:1fr}
.pd-media-grid.grid-2,.pd-media-grid.grid-4{grid-template-columns:repeat(2,1fr)}
.pd-media-grid.grid-3,.pd-media-grid.grid-5,.pd-media-grid.grid-6,.pd-media-grid.grid-7,.pd-media-grid.grid-8,.pd-media-grid.grid-9{grid-template-columns:repeat(3,1fr)}
.pd-media-item{border-radius:12px;overflow:hidden;background:#f6f7f9}
.pd-media-item img{width:100%;height:100%;object-fit:cover;display:block}
.pd-media-video{background:#000;position:relative}
.pd-media-video video{width:100%;height:100%;display:block}
.pd-media-video::after{content:'▶';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.28);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20.5px;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.pd-actions{margin-top:16px}
.pd-like{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid var(--hd-line);background:#fafbfc;color:#3c4148;text-decoration:none;font-weight:800;font-size:16px;transition:all .15s}
.pd-like:hover{border-color:var(--hd-primary);background:#fff0f5;color:var(--hd-primary)}
.pd-like.liked{background:var(--hd-grad);color:#fff;border-color:transparent}
.pd-comments{margin-top:20px;border-top:1px dashed var(--hd-line);padding-top:16px}
.pd-comments h3{margin:0 0 10px;font-size:18.5px;color:#14181f}
.pd-comment{padding:10px 0;border-bottom:1px solid #f1f5f9}
.pd-comment-author{font-weight:800;color:#22262c}
.pd-comment-content{margin-top:4px;color:#3c4148;line-height:1.6;font-size:16px}
.pd-comment-time{margin-top:4px;font-size:14px;color:var(--hd-muted)}

/* ---------- 相册 ---------- */
.al-page{max-width:1080px}
.al-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.al-create{margin-top:0;padding:10px 22px}
.al-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.al-card{display:block;border:1px solid var(--hd-line);border-radius:16px;overflow:hidden;background:#fff;text-decoration:none;transition:box-shadow .15s,transform .15s}
.al-card:hover{box-shadow:0 10px 26px rgba(255,45,111,.12);transform:translateY(-2px)}
.al-cover{aspect-ratio:4/3;background:#f6f7f9}
.al-cover img{width:100%;height:100%;object-fit:cover;display:block}
.al-body{padding:12px}
.al-name{font-size:16.5px;font-weight:800;color:#22262c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.al-meta{margin-top:4px;font-size:14px;color:var(--hd-muted)}
.al-pager{margin-top:18px}
.al-empty-sub{font-size:15px;color:var(--hd-muted);margin:8px 0 16px}
.al-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.al-actions button{border:none;border-radius:999px;padding:9px 18px;font-size:15px;font-weight:800;cursor:pointer}
.al-actions .rq-accept{background:var(--hd-grad);color:#fff}
.al-actions .rq-reject{background:#f1f2f4;color:#6b7280}
@media(max-width:1100px){.al-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.al-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- 相册：类型徽章 / 私密解锁 / 视频相册 ---------- */
.al-cover{position:relative}
.al-cover-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:43px;opacity:.5}
.al-cover-video{aspect-ratio:16/9}
.al-badge{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:800;color:#fff;background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}
.al-badge-video{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.al-badge-lock{left:auto;right:8px;background:linear-gradient(135deg,#f59e0b,#f97316)}
.al-badge-paid{position:static;background:linear-gradient(135deg,#f59e0b,#f97316);margin-left:6px;font-size:12px}
.al-create-form{display:flex;flex-direction:column;gap:10px}
.al-flabel{font-size:14.5px;font-weight:700;color:#3c4148}
.al-finput{border:1px solid var(--hd-line);border-radius:10px;padding:9px 12px;font-size:15.5px;outline:none;font-family:inherit;background:#fff;color:#22262c}
.al-finput:focus{border-color:#ff4d8d;box-shadow:0 0 0 3px rgba(255,45,111,.1)}
.al-fcheck{display:flex;align-items:center;gap:6px;font-size:15px;color:#3c4148;cursor:pointer}
.al-fcheck-inline{display:inline-flex;margin:0 0 0 4px}
.al-ftip{font-size:14px;color:var(--hd-muted)}
.al-panel{border:1px solid var(--hd-line);border-radius:14px;padding:14px 16px;margin:12px 0;background:#fff}
.al-panel-title{font-size:16px;font-weight:800;color:#22262c;margin-bottom:10px}
.al-priv-form{display:flex;flex-direction:column;gap:10px}
.al-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.al-upload-row .al-file{flex:0 0 auto}
.al-price-input{width:110px}
.al-title-input{flex:1 1 220px}
.al-paylabel{display:inline-flex;align-items:center;gap:4px;font-size:15px;color:#3c4148;cursor:pointer;white-space:nowrap}
.al-unlock-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid #ffe1b8;background:#fff8ec;border-radius:14px;padding:12px 16px;margin:12px 0}
.al-unlock-text{font-size:15px;color:#92600a;flex:1 1 auto}
.al-vip-link{font-size:14.5px;color:#ff2d6f;font-weight:700;text-decoration:none;white-space:nowrap}
.al-vip-link:hover{text-decoration:underline}
.al-pimg{position:relative;cursor:pointer}
.al-pimg-locked img{filter:blur(14px) saturate(.7);transform:scale(1.1)}
.al-pimg-locked{cursor:default}
.al-lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(15,23,42,.35);color:#fff;text-align:center;padding:8px}
.al-lock-ico{font-size:24.5px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.al-lock-price{font-size:15px;font-weight:800}
.al-lock-title{font-size:14.5px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.al-unlock-one{padding:6px 14px;font-size:14px}
.al-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}
.al-vcard{border:1px solid var(--hd-line);border-radius:14px;overflow:hidden;background:#fff}
.al-video{width:100%;aspect-ratio:16/9;background:#000;display:block}
.al-video-blur{filter:blur(16px) saturate(.7);pointer-events:none}
.al-vlock{position:relative}
.al-vlock .al-lock-overlay{background:rgba(15,23,42,.45)}
.al-vinfo{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.al-vtitle{font-size:15.5px;font-weight:800;color:#22262c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.al-vact{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.al-vedit{font-size:14.5px;color:#2f7bd6;font-weight:700;text-decoration:none}
.al-vedit:hover{text-decoration:underline}
@media(max-width:1100px){.al-vgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.al-vgrid{grid-template-columns:repeat(1,1fr)}}


/* ---------- 消息卡片（红包/礼物）样式已统一在前面 ---------- */

/* ---------- 表情选择器 ---------- */
.ms-emoji-panel{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:12px;background:#fff;border:1px solid var(--hd-line);border-radius:12px;margin:0 0 8px;max-height:280px;overflow-y:auto;box-shadow:0 8px 24px rgba(15,23,42,.1);animation:emp-pop .18s ease;scrollbar-width:thin}
@keyframes emp-pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ms-emoji-item{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;font-size:24.5px;border-radius:8px;cursor:pointer;background:transparent;border:none;transition:background .12s,transform .12s}
.ms-emoji-item:hover{background:#f5f6f8;transform:scale(1.15)}
.ms-emoji-item:active{background:#fef3f4}
/* 聊天页表情面板：默认表情 + 表情包标签页 */
#ch-emoji-panel{display:block}
.ms-emoji-tabs{display:flex;gap:6px;margin-bottom:8px;border-bottom:1px solid var(--hd-line);padding-bottom:6px;flex-wrap:wrap}
.ms-emoji-tab{border:none;background:transparent;padding:4px 12px;border-radius:999px;font-size:14.5px;font-weight:700;color:#6b7280;cursor:pointer;transition:background .12s,color .12s}
.ms-emoji-tab:hover{background:#f5f6f8}
.ms-emoji-tab.active{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff}
#ch-emoji-panel .ms-emoji-grid{display:none;grid-template-columns:repeat(8,1fr);gap:4px}
#ch-emoji-panel .ms-emoji-grid.active{display:grid}
.ms-emoji-item-img{width:34px;height:34px;object-fit:contain;cursor:pointer;border-radius:6px;padding:2px;transition:transform .12s,background .12s}
.ms-emoji-item-img:hover{background:#f5f6f8;transform:scale(1.12)}

/* 联系人列表：在线状态绿点 */
.ms-item-online{font-weight:600}
.ms-item-avatar-online{position:relative}
.ms-online-dot{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #fff;box-shadow:0 0 0 1px rgba(34,197,94,.4);animation:online-pulse 2s ease-in-out infinite}
@keyframes online-pulse{0%,100%{box-shadow:0 0 0 1px rgba(34,197,94,.4)}50%{box-shadow:0 0 0 4px rgba(34,197,94,.15)}}
.ms-online-text{color:#22c55e;font-weight:600}

/* ===== 大图预览 Lightbox ===== */
.ms-lightbox[hidden],.ms-rp-modal[hidden],.ms-emoji-panel[hidden],.ms-msg-menu[hidden],#ms-head[hidden],#ms-send-form[hidden],#ms-prof-card[hidden],.rc-list[hidden]{display:none!important}
.ms-lightbox{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);animation:lb-fade .2s ease}
@keyframes lb-fade{from{opacity:0}to{opacity:1}}
.ms-lightbox-img{max-width:92vw;max-height:86vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);object-fit:contain;background:#000;animation:lb-zoom .25s cubic-bezier(.4,0,.2,1)}
@keyframes lb-zoom{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.ms-lightbox-close{position:absolute;top:24px;right:28px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:29px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s;backdrop-filter:blur(10px)}
.ms-lightbox-close:hover{background:rgba(255,255,255,.22);transform:rotate(90deg)}
.ms-lightbox-prev,.ms-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:34.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);transition:background .15s}
.ms-lightbox-prev{left:24px}.ms-lightbox-next{right:24px}
.ms-lightbox-prev:hover,.ms-lightbox-next:hover{background:rgba(255,255,255,.22)}
.ms-lightbox-info{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:15px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.4);padding:6px 14px;border-radius:20px;backdrop-filter:blur(10px)}

/* ===== 消息右键菜单 ===== */
.ms-msg-menu{position:fixed;z-index:1100;background:#fff;border-radius:10px;padding:6px;box-shadow:0 12px 32px rgba(15,23,42,.18),0 0 0 1px rgba(15,23,42,.06);display:flex;flex-direction:column;min-width:120px;animation:mm-pop .14s ease}
@keyframes mm-pop{from{opacity:0;transform:scale(.92) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}
.ms-msg-menu button{padding:9px 16px;border:none;background:transparent;font-size:15.5px;color:#374151;text-align:left;cursor:pointer;border-radius:6px;transition:background .12s}
.ms-msg-menu button:hover{background:#f3f4f6;color:#14181f}
.ms-msg-menu button.danger:hover{background:#fef2f2;color:#dc2626}

/* ===== 礼物选择弹窗 ===== */
.ms-gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 14px;max-height:280px;overflow-y:auto}
.ms-gift-card-mini{position:relative;border:2px solid transparent;border-radius:12px;padding:10px;cursor:pointer;text-align:center;background:#fafbfc;transition:all .15s}
.ms-gift-card-mini:hover{background:#fff;border-color:#f3e8ff;transform:translateY(-2px)}
.ms-gift-card-mini.active{border-color:var(--hd-primary);background:linear-gradient(135deg,#fdf2f8,#fce7f3)}
.ms-gift-card-mini img{width:60px;height:60px;border-radius:10px;object-fit:cover;margin:0 auto 6px;display:block}
.ms-gift-card-mini-name{font-size:14px;font-weight:600;color:#14181f;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-gift-card-mini-price{font-size:12.5px;color:#f59e0b;font-weight:700}
.ms-gift-qty{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0 4px}
.ms-qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--hd-line);background:#fff;cursor:pointer;font-size:20.5px;color:#374151;display:flex;align-items:center;justify-content:center;transition:all .15s}
.ms-qty-btn:hover{border-color:var(--hd-primary);color:var(--hd-primary)}
.ms-qty-val{min-width:36px;text-align:center;font-size:18.5px;font-weight:800;color:#14181f}

/* 红包/礼物弹窗动画 */
.ms-rp-modal{display:flex;align-items:center;justify-content:center;animation:rp-fade .2s ease}
.ms-rp-modal[hidden]{display:none}
@keyframes rp-fade{from{opacity:0}to{opacity:1}}
.ms-rp-box{animation:rp-pop .25s cubic-bezier(.4,0,.2,1)}
@keyframes rp-pop{from{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}

/* ===== 联系人资料卡增强 ===== */
.ms-prof-vtag{display:inline-flex;align-items:center;font-size:12.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);padding:2px 8px;border-radius:4px;letter-spacing:.4px;box-shadow:0 1px 3px rgba(217,119,06,.3)}
.ms-prof-verified{color:#3b82f6;font-size:12.5px;font-weight:600}
.ms-prof-actions{display:flex;gap:8px;margin-top:16px;justify-content:center}
.ms-prof-btn{padding:8px 18px;border-radius:999px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.ms-prof-btn-primary{background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff;box-shadow:0 4px 12px rgba(244,63,94,.25)}
.ms-prof-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(244,63,94,.35)}
.ms-prof-btn-ghost{background:#f5f6f8;color:#374151}
.ms-prof-btn-ghost:hover{background:#ebedf0;color:#14181f}

/* ---------- 红包弹窗（详情 / 发送共用） ---------- */
.ms-rp-modal{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center}
.ms-rp-mask{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}
.ms-rp-box{position:relative;background:#fff;width:340px;border-radius:18px;padding:30px 26px 26px;box-shadow:0 24px 60px rgba(15,23,42,.25);text-align:center}
.ms-rp-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:24.5px;color:#9ca3af;cursor:pointer;line-height:1;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ms-rp-close:hover{background:#f3f4f6;color:#374151}
.ms-rp-icon{font-size:58.5px;line-height:1;margin-bottom:10px;filter:drop-shadow(0 4px 8px rgba(220,38,38,.3))}
.ms-rp-title{font-size:18.5px;font-weight:800;color:#14181f;line-height:1.4;margin-bottom:8px;word-break:break-word}
.ms-rp-amount{font-size:36.5px;font-weight:900;background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-background-clip:text;background-clip:text;color:transparent;margin:6px 0 8px;letter-spacing:-.5px}
.ms-rp-sub{font-size:15px;color:#6b7280;margin-bottom:4px}
.ms-rp-status{font-size:14px;color:#dc2626;height:18px;margin-bottom:8px}
.ms-rp-btn{width:100%;border:none;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:17px;font-weight:800;border-radius:999px;padding:11px 0;cursor:pointer;box-shadow:0 6px 16px rgba(220,38,38,.3);margin-top:6px}
.ms-rp-btn:disabled{background:#e5e7eb;color:#9ca3af;box-shadow:none;cursor:not-allowed}
.ms-rp-send-box .ms-rp-title{text-align:left;font-size:20.5px;margin:6px 0 18px}
.ms-rp-row{margin-bottom:14px;text-align:left}
.ms-rp-row label{display:block;font-size:14px;color:#6b7280;margin-bottom:4px}
.ms-rp-row input{width:100%;border:1px solid var(--hd-line);border-radius:10px;padding:10px 12px;font-size:16px;outline:none;box-sizing:border-box;background:#fafbfc}
.ms-rp-row input:focus{border-color:var(--hd-primary);background:#fff}
.ms-rp-msg{font-size:15px;height:18px;margin:8px 0}
.ms-rp-confirm{width:100%;border:none;background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff;font-size:17px;font-weight:800;border-radius:999px;padding:11px 0;cursor:pointer;margin-top:4px}
.ms-rp-confirm:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}

/* ---------- 资料卡 礼物 / 相册 区块 ---------- */
.ms-prof-section{margin-top:16px;border-top:1px dashed var(--hd-line);padding-top:14px}
.ms-prof-section-title{font-size:14px;font-weight:800;color:#9ca3af;letter-spacing:1px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.ms-prof-section-title small{color:var(--hd-primary);font-size:12.5px;letter-spacing:0;cursor:pointer;text-decoration:none}
.ms-prof-gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ms-prof-gift{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f6f7f9}
.ms-prof-gift img{width:100%;height:100%;object-fit:cover}
.ms-prof-gift-qty{position:absolute;right:4px;bottom:4px;background:rgba(0,0,0,.6);color:#fff;font-size:11.5px;font-weight:800;border-radius:6px;padding:1px 5px}
.ms-prof-albums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ms-prof-album{aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f6f7f9;cursor:pointer}
.ms-prof-album img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.ms-prof-album:hover img{transform:scale(1.05)}
.ms-prof-empty-block{font-size:14px;color:#9ca3af;text-align:center;padding:14px 0}
.ms-prof-visit-btn{display:block;text-align:center;padding:9px 12px;border-radius:999px;background:var(--hd-grad);color:#fff;font-size:15px;font-weight:800;text-decoration:none;box-shadow:0 4px 12px rgba(236,72,153,.25);transition:opacity .15s}
.ms-prof-visit-btn:hover{opacity:.92}

/* ---------- 资料卡 头部 banner / 头像 / 名字 ---------- */
.ms-prof-banner{height:88px;border-radius:16px 16px 0 0;background:linear-gradient(135deg,#fce7f3,#ede9fe);transition:background .25s}
.ms-prof-avatar-wrap{position:relative;width:84px;height:84px;margin:-42px auto 8px}
.ms-prof-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;border:3px solid #fff;box-shadow:0 4px 12px rgba(15,23,42,.12)}
.ms-prof-crown{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;width:24px;height:24px;border-radius:50%;font-size:16px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(217,119,6,.4)}
.ms-prof-online{position:absolute;right:6px;bottom:6px;width:16px;height:16px;border-radius:50%;background:#22c55e;border:3px solid #fff;box-shadow:0 0 0 2px rgba(34,197,94,.18);animation:ms-prof-pulse 1.8s ease-in-out infinite}
@keyframes ms-prof-pulse{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.18)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.06)}}
.ms-prof-name-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;padding:0 12px}
.ms-prof-name{font-size:20.5px;font-weight:900;color:#14181f;line-height:1.3}
.ms-prof-vtag{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:12.5px;font-weight:900;padding:2px 8px;border-radius:999px;letter-spacing:.5px;box-shadow:0 2px 6px rgba(217,119,6,.3)}
.ms-prof-verified{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:12.5px;font-weight:900;padding:2px 8px;border-radius:999px;letter-spacing:.5px;box-shadow:0 2px 6px rgba(37,99,235,.3)}
.ms-prof-id{font-size:14.5px;color:#6b7280;margin:6px 0 8px;text-align:center}
.ms-prof-id-prefix{color:#9ca3af;margin-right:2px}
.ms-prof-id-num{font-weight:800;color:#374151;letter-spacing:.3px}
.ms-prof-relation{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0 12px}
.ms-prof-tag{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:800;padding:3px 9px;border-radius:999px;letter-spacing:.3px}
.ms-prof-tag-online{background:rgba(34,197,94,.12);color:#16a34a}
.ms-prof-tag-vip{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#a16207}
.ms-prof-tag-official{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}

/* ---------- 资料卡 基本资料 2x2 网格 ---------- */
.ms-prof-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px;margin:0 14px 12px;padding:12px;background:#fafbfc;border-radius:12px;border:1px solid var(--hd-line)}
.ms-prof-info-item{display:flex;flex-direction:column;gap:2px}
.ms-prof-info-label{font-size:12.5px;color:#9ca3af;font-weight:800;letter-spacing:.5px}
.ms-prof-info-value{font-size:15px;color:#14181f;font-weight:700;line-height:1.3;word-break:break-all}
.ms-prof-info-value.ms-prof-empty-val{color:#cbd5e1;font-weight:600}

/* ---------- 资料卡 个性签名 ---------- */
.ms-prof-sign{font-size:15px;color:#6b7280;line-height:1.55;padding:0 14px;margin:0 0 6px;text-align:left;word-break:break-word;white-space:pre-wrap}
.ms-prof-sign.ms-prof-sign-empty{color:#cbd5e1;font-style:italic;text-align:center;padding:8px 14px}

/* ---------- 资料卡 快捷操作 ---------- */
.ms-prof-actions{display:flex;gap:8px;padding:14px 14px 4px;border-top:1px solid var(--hd-line);margin-top:12px}
.ms-prof-action{flex:1;text-align:center;padding:10px 12px;border-radius:999px;font-size:15px;font-weight:800;cursor:pointer;border:none;text-decoration:none;transition:opacity .15s,transform .15s;font-family:inherit}
.ms-prof-action-primary{background:var(--hd-grad);color:#fff;box-shadow:0 4px 12px rgba(236,72,153,.25)}
.ms-prof-action-primary:hover{opacity:.92}
.ms-prof-action-secondary{background:#f1f2f4;color:#6b7280}
.ms-prof-action-secondary:hover{background:#e5e7eb}
.ms-prof-action:active{transform:scale(.98)}
/* 新版按钮（兼容 ms-prof-btn） */
.ms-prof-btn-primary{background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff;box-shadow:0 4px 12px rgba(244,63,94,.25)}
.ms-prof-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(244,63,94,.35)}
.ms-prof-btn-ghost{background:#f5f6f8;color:#374151}
.ms-prof-btn-ghost:hover{background:#ebedf0;color:#14181f}

