/* ========== PC手机模拟框 ========== */
@media (min-width: 769px) {
  html { height: 100%; }
  body { height: 100%; margin: 0; max-width: none !important; background: #fff !important; overflow: hidden; }

  .pc-shell { display: flex; justify-content: center; align-items: center; width: 100%; height: 100vh; }
  .pc-phone { position: relative; width: 390px; height: 844px; flex-shrink: 0; }
  .pc-phone-frame {
    position: relative; width: 100%; height: 100%;
    border-radius: 50px; background: #1a1a1a; padding: 12px; box-sizing: border-box;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4), inset 0 0 0 2px #333;
  }
  .pc-phone-island {
    position: absolute; top: 16px; left: 50%; transform: translateX(-50%);
    width: 120px; height: 32px; background: #000; border-radius: 20px; z-index: 9999;
  }
  .pc-phone-screen {
    position: relative; width: 100%; height: 100%;
    border-radius: 40px; overflow: hidden; background: #fff;
    /* transform技巧：让position:fixed子元素变为相对本容器定位 */
    transform: translateZ(0);
  }
}

  /* PC二维码按钮 */
  .pc-qr-btn {
    display: block; margin: 0 auto 20px; padding: 12px 32px;
    background: linear-gradient(135deg, #667eea, #764ba2); color: #fff;
    border: none; border-radius: 30px; font-size: 16px; font-weight: 600;
    cursor: pointer; letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(102,126,234,0.4);
    transition: all 0.3s;
  }
  .pc-qr-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(102,126,234,0.6); }
}

@media (max-width: 768px) {
  .pc-shell, .pc-phone, .pc-phone-frame, .pc-phone-screen { display: contents; }
  .pc-phone-island { display: none; }
  .pc-qr-btn { display: none !important; }
}

/* ========== PC二维码弹窗 ========== */
.qr-modal { display: none; }
.qr-modal-bg { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 20001; }
.qr-modal-pop {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%);
  background: #fff; border-radius: 24px; z-index: 20002;
  padding: 36px 40px; text-align: center; width: 340px; max-width: 90%;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.qr-modal-close {
  position: absolute; top: 12px; right: 16px; background: none; border: none;
  font-size: 28px; color: #999; cursor: pointer; line-height: 1;
}
.qr-modal-close:hover { color: #333; }
.qr-modal-icon { font-size: 40px; margin-bottom: 8px; }
.qr-modal-title { font-size: 20px; font-weight: 700; color: #333; margin: 0 0 20px; }
.qr-modal-code {
  display: inline-block; padding: 12px; background: #fff;
  border: 2px solid #eee; border-radius: 12px; margin-bottom: 16px;
}
.qr-modal-code img { display: block; width: 200px; height: 200px; }
.qr-modal-tip { font-size: 14px; color: #666; margin: 0 0 16px; line-height: 1.6; }
.qr-modal-warn {
  background: #fff8e6; border: 1px solid #ffe0a0; border-radius: 12px;
  padding: 12px 16px; text-align: center;
}
.qr-modal-warn span { font-size: 18px; display: block; margin-bottom: 4px; }
.qr-modal-warn p { font-size: 13px; color: #996600; margin: 0; line-height: 1.6; }

/* ========== 微信引导弹层 ========== */
#wechat-mask { display: none; }
.wechat-mask-bg { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 10001; }
.wechat-mask-pop { position: fixed; top: 50%; left: 50%; width: 85%; max-width: 320px; transform: translate(-50%,-50%); background: #fff; border-radius: 20px; z-index: 10002; overflow: hidden; padding: 24px; }
.wechat-mask-header { display: flex; align-items: center; margin-bottom: 20px; }
.wechat-mask-logo { width: 50px; height: 50px; border-radius: 12px; }
.wechat-mask-info { margin-left: 12px; }
.wechat-mask-title { font-size: 16px; font-weight: 600; color: #333; }
.wechat-mask-subtitle { font-size: 13px; color: #999; margin-top: 4px; }
.wechat-mask-steps { background: #f7f8fa; border-radius: 12px; padding: 16px; }
.wechat-mask-steps p { font-size: 14px; color: #333; line-height: 2; display: flex; align-items: center; }
.wechat-mask-steps b { color: #ff4081; }
.step-num { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; background: #ff4081; color: #fff; border-radius: 50%; font-size: 12px; font-weight: 600; margin-right: 8px; flex-shrink: 0; }
.wechat-mask-divider { text-align: center; margin: 18px 0; position: relative; font-size: 12px; color: #ccc; }
.wechat-mask-divider::before, .wechat-mask-divider::after { content: ""; position: absolute; top: 50%; width: 25%; height: 1px; background: #e5e5e5; }
.wechat-mask-divider::before { left: 0; }
.wechat-mask-divider::after { right: 0; }
.wechat-mask-copy { position: relative; height: 40px; background: #f1f6f9; border-radius: 20px; overflow: hidden; }
.wechat-mask-copy input { width: 100%; height: 100%; border: none; outline: none; background: transparent; padding: 0 80px 0 16px; font-size: 13px; color: #999; box-sizing: border-box; }
.wechat-mask-copy button { position: absolute; right: 0; top: 0; height: 100%; padding: 0 18px; background: linear-gradient(90deg,#ff6cab,#ff4081); color: #fff; border: none; border-radius: 0 20px 20px 0; font-size: 14px; font-weight: 500; cursor: pointer; }
