/* ============ 会员 / 登录 样式 ============ */

/* ---------- 顶部会员入口 ---------- */
.auth-zone{display:inline-flex;align-items:center;gap:8px}
.btn-login{
  border-color:var(--c-gold);background:rgba(160,113,60,.28);color:#f5e6c4;
  font-weight:700;letter-spacing:1px;
}
.btn-login:hover{background:rgba(233,201,138,.35)}

.member-chip{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  border:1px solid #8a6d3b;background:rgba(255,255,255,.08);color:#f0e2c2;
  border-radius:999px;padding:4px 10px 4px 5px;transition:.15s;
}
.member-chip:hover{background:rgba(233,201,138,.25)}
.member-chip .avatar{
  width:26px;height:26px;border-radius:50%;background:var(--c-gold);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;
}
.member-chip .mnick{font-size:14px;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-chip .vip{
  font-size:11px;color:#e9c98a;border:1px solid #b8904a;border-radius:999px;
  padding:1px 7px;background:rgba(160,113,60,.25);
}

/* ---------- 遮罩 + 弹窗 ---------- */
.modal-mask{
  display:none;position:fixed;inset:0;background:rgba(30,22,12,.5);
  align-items:center;justify-content:center;z-index:100;padding:16px;
}
.modal{
  width:100%;max-width:400px;background:var(--c-card);border:1px solid var(--c-line);
  border-radius:12px;box-shadow:0 18px 60px rgba(0,0,0,.35);overflow:hidden;
  animation:zc-pop .18s ease;
}
@keyframes zc-pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;background:linear-gradient(180deg,#43341f,#2e2416);color:#e9c98a;
}
.modal-title{font-size:17px;letter-spacing:2px;font-weight:700}
.modal-close{
  border:none;background:none;color:#cbb47f;font-size:24px;line-height:1;cursor:pointer;padding:0 4px;
}
.modal-close:hover{color:#fff}

.auth-tabs{display:flex;border-bottom:1px solid var(--c-line);background:#fffaf0}
.auth-tab{
  flex:1;border:none;background:none;padding:11px 4px;cursor:pointer;font-size:14px;
  color:#7a6a4f;border-bottom:3px solid transparent;transition:.15s;
}
.auth-tab:hover{color:#5b3d14;background:#f7ecd6}
.auth-tab.on{color:#a43a20;font-weight:700;border-bottom-color:var(--c-red2)}

.auth-body{padding:20px 18px}

/* ---------- 表单 ---------- */
.af-row{display:flex;gap:8px;margin-bottom:14px;align-items:center}
.af-row input{
  flex:1;min-width:0;font-family:inherit;font-size:15px;color:var(--c-ink);
  background:#fdf6e7;border:1px solid #d9c79f;border-radius:8px;padding:10px 12px;
}
.af-row input:focus{outline:none;border-color:var(--c-gold);box-shadow:0 0 0 3px rgba(160,113,60,.12)}
.af-row input::placeholder{color:#b3a284}

.btn-sm{
  border:1px solid #8a6d3b;background:#fff9ea;color:#6b4a14;border-radius:8px;
  padding:10px 12px;font-size:14px;cursor:pointer;white-space:nowrap;transition:.15s;
}
.btn-sm:hover{background:#f4e7cb}
.btn-sm:disabled{opacity:.55;cursor:not-allowed}

.btn-block{
  width:100%;border:none;border-radius:8px;padding:12px;font-size:16px;font-weight:700;
  letter-spacing:2px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#b07a3a,#8a5c24);
  transition:.15s;
}
.btn-block:hover{filter:brightness(1.06)}
.btn-block:active{transform:translateY(1px)}

.btn-wechat{
  width:100%;border:none;border-radius:8px;padding:12px;font-size:16px;font-weight:700;
  letter-spacing:2px;cursor:pointer;color:#fff;background:#1aad19;transition:.15s;
}
.btn-wechat:hover{background:#159b14}
.btn-wechat:active{transform:translateY(1px)}

.auth-note{font-size:12px;color:#9c8760;line-height:1.8;margin-top:12px}

/* ---------- 会员中心 ---------- */
.member-card{text-align:center}
.member-card .avatar-lg{
  width:64px;height:64px;border-radius:50%;background:var(--c-gold);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;
  margin-bottom:8px;
}
.member-card .nick{font-size:18px;font-weight:700;margin-bottom:14px}
.member-list{
  text-align:left;background:#fdf6e7;border:1px solid #efe3c8;border-radius:10px;
  padding:12px 14px;margin-bottom:16px;
}
.member-list .mrow{display:flex;justify-content:space-between;font-size:14px;padding:7px 0;border-bottom:1px dashed #e9dcc0}
.member-list .mrow:last-child{border-bottom:none}
.member-list .mlabel{color:#98713a}
.member-list .mvalue{color:var(--c-ink)}
.member-list .mvalue.vip{color:var(--c-red);font-weight:700}

.btn-ghost-out{
  width:100%;border:1px solid #d9c79f;background:transparent;border-radius:8px;
  padding:10px;font-size:14px;color:#8a6d3b;cursor:pointer;transition:.15s;
}
.btn-ghost-out:hover{background:#f7ecd6}

/* ---------- toast ---------- */
.zc-toast{
  position:fixed;left:50%;bottom:42px;transform:translateX(-50%) translateY(20px);
  background:rgba(46,36,22,.92);color:#f3e7cd;font-size:14px;padding:10px 18px;
  border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:200;
  max-width:82vw;
}
.zc-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- 登录 tab 内部切换（验证码 / 密码） ---------- */
.mode-switch{
  display:flex;background:#f3ecdd;border:1px solid #e2d4bb;border-radius:8px;
  padding:3px;margin-bottom:14px;
}
.mode-btn{
  flex:1;border:none;background:none;padding:8px;font-size:13px;color:#7a6a4f;
  border-radius:6px;cursor:pointer;transition:.15s;
}
.mode-btn.on{background:#fffcf5;color:#a43a20;font-weight:700;box-shadow:0 1px 4px rgba(90,60,20,.12)}

/* ---------- 记住我 ---------- */
.remember{
  display:flex;align-items:center;gap:6px;font-size:13px;color:#8a7a5a;
  margin:2px 0 12px;cursor:pointer;user-select:none;
}
.remember input{width:15px;height:15px;accent-color:var(--c-gold);cursor:pointer}

/* ---------- 等级徽章 ---------- */
.level-badge{
  display:inline-block;font-size:12px;letter-spacing:1px;border-radius:999px;
  padding:3px 12px;margin-bottom:14px;font-weight:700;
}
.level-badge.lv-trial{color:#8a6d3b;background:#f3e6c8;border:1px solid #d9c79f}
.level-badge.lv-formal{color:#fff;background:linear-gradient(180deg,#c8891f,#a0713c);border:1px solid #8a5c24}

/* ---------- 权益列表 ---------- */
.rights{
  text-align:left;background:#fdf6e7;border:1px solid #efe3c8;border-radius:10px;
  padding:12px 14px;margin-bottom:16px;
}
.rights-title{font-size:12px;color:#98713a;margin-bottom:6px;letter-spacing:1px}
.rights ul{list-style:none;padding:0}
.rights li{
  position:relative;font-size:13px;color:#6b5a42;padding:4px 0 4px 16px;line-height:1.6;
}
.rights li::before{
  content:"✓";position:absolute;left:0;top:4px;color:var(--c-ji);font-weight:700;
}

/* ---------- 开通 / 续费（mock 支付） ---------- */
.pay-title{font-size:14px;color:#7a5420;margin-bottom:10px;letter-spacing:1px}
.pay-plan{
  display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:10px;
  border:1px solid #e2d4bb;border-radius:8px;background:#fdf6e7;cursor:pointer;transition:.15s;
}
.pay-plan:hover{border-color:var(--c-gold)}
.pay-plan.sel{border-color:var(--c-gold);background:#fbf3e0;box-shadow:0 0 0 2px rgba(160,113,60,.12)}
.pay-plan input{accent-color:var(--c-gold);margin:0}
.pp-main{flex:1;font-size:14px;color:var(--c-ink)}
.pp-price{font-size:16px;font-weight:700;color:var(--c-red)}

/* ---------- 会员专属锁定占位（付费墙） ---------- */
.lock-box{text-align:center;padding:56px 20px}
.lock-ico{
  width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#c8891f,#a0713c);color:#fff;font-size:16px;font-weight:800;letter-spacing:1px;
  margin-bottom:14px;box-shadow:0 4px 12px rgba(160,113,60,.25);
}
.lock-title{font-size:18px;font-weight:700;color:#5b3d14;margin-bottom:8px;letter-spacing:1px}
.lock-desc{font-size:13px;color:#9c8760;margin-bottom:20px;line-height:1.8}
.btn-lock{
  border:none;border-radius:8px;padding:11px 26px;font-size:15px;font-weight:700;letter-spacing:2px;
  color:#fff;background:linear-gradient(180deg,#b07a3a,#8a5c24);cursor:pointer;transition:.15s;
}
.btn-lock:hover{filter:brightness(1.06)}
.btn-lock.ghost{
  display:block;margin:10px auto 0;
  background:transparent;color:#8a5c24;border:1px solid #cfa95f;
  font-size:14px;padding:9px 22px;letter-spacing:1px;
}
.btn-lock.ghost:hover{background:rgba(160,113,60,.1)}

/* ---------- 分享好友解锁 ---------- */
.share-body{padding:18px 20px 22px}
.share-desc{font-size:13px;color:#9c8760;line-height:1.8;margin-bottom:16px;text-align:center}
.share-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.share-act{
  flex:1;min-width:90px;max-width:132px;display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:16px 10px;border:1px solid var(--c-line);border-radius:10px;background:#fdf6e7;
  font-size:14px;color:#5b3d14;font-weight:700;letter-spacing:1px;cursor:pointer;transition:.15s;
}
.share-act:hover{border-color:var(--c-gold);background:#fbf3e0}
.sa-ico{
  width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#c8891f,#a0713c);color:#fff;font-size:16px;font-weight:800;
}
.share-poster{margin-top:18px;text-align:center}
.share-poster img{width:100%;max-width:280px;border:1px solid var(--c-line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.share-poster-tip{font-size:12px;color:#9c8760;margin-top:10px;line-height:1.7}
.share-unlock-tip{
  margin-top:16px;padding:10px 14px;border-radius:8px;text-align:center;
  background:#eaf6ef;border:1px solid #bfe2cf;color:#0f7a50;font-size:14px;font-weight:700;letter-spacing:1px;
}

/* ---------- 会员状态（已到期等） ---------- */
.mvalue.mwarn{color:#c0392b;font-weight:700}

/* ---------- 开通 / 续费正式会员（联系站长） ---------- */
#upgradeBody .up-title{
  font-size:16px;font-weight:700;color:#7a5420;letter-spacing:1px;margin-bottom:10px;
}
#upgradeBody .up-rights{
  background:#fdf6e7;border:1px solid #efe3c8;border-radius:10px;padding:10px 14px;margin-bottom:12px;
}
#upgradeBody .up-rt{font-size:12px;color:#98713a;margin-bottom:4px}
#upgradeBody .up-rights ul{list-style:none;padding:0;margin:0}
#upgradeBody .up-rights li{
  font-size:13px;color:#6b5a42;padding:3px 0 3px 16px;position:relative;line-height:1.6;
}
#upgradeBody .up-rights li::before{
  content:"✓";position:absolute;left:0;top:3px;color:var(--c-ji);font-weight:700;
}
#upgradeBody .up-steps{
  background:#fff9ea;border:1px dashed #d9c79f;border-radius:10px;padding:12px 14px;margin-bottom:6px;
}
#upgradeBody .up-step{
  display:flex;align-items:center;gap:8px;font-size:14px;color:#5b3d14;padding:6px 0;line-height:1.6;
}
#upgradeBody .up-n{
  flex:0 0 18px;height:18px;border-radius:50%;background:var(--c-gold);color:#fff;
  font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;
}
#upgradeBody .up-wechat{color:var(--c-red2);font-size:15px;user-select:all;padding:0 2px}

/* ---------- 渲染出错提示（面板内） ---------- */
.ph-err{
  color:#c0392b;background:#fdecea;border:1px solid #f3cdc8;
  padding:14px 16px;border-radius:8px;font-size:13px;line-height:1.8;margin:10px 0;
}
