:root{
  --float-right:24px;
  --primary:#6338ff;
  --primary-dark:#4e28dd;
}
.huomeili_float_qr_wrap{
  position:fixed;
  right:var(--float-right);
  top:50%;
  transform:translateY(-50%);
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:14px;
  pointer-events:auto;
  width:130px;
}
.huomeili_float_qr_card{
  width:100%;
  background:#fff;
  padding:12px 10px;
  border-radius:14px;
  box-shadow:0 2px 16px rgba(255,107,139,0.14);
  text-align:center;
  border:1px solid #e8e8f0;
}
.huomeili_float_qr_card img{
  width:100px;
  height:100px;
  background:#ffe8ef;
  border-radius:8px;
  display:block;
  margin:0 auto;
}
.huomeili_float_qr_card p{
  margin:8px 0 0;
  font-size:13px;
  color:#444;
}
.btn-group{
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
}
.huomeili_float_btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:42px;
  background:var(--primary);
  border:none;
  border-radius:12px;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(99,56,255,0.35);
  animation:softPulse 3.4s ease-in-out infinite;
  will-change:transform;
  transition:background .3s ease,transform .2s ease;
  overflow:hidden;
}
/* 重点：文字强制白色，所有状态全部锁死 */
.huomeili_float_btn .btn-text{
  position:relative;
  z-index:2;
  font-size:14px;
  font-weight:500;
  letter-spacing:.5px;
  text-shadow:0 0 8px rgba(255,255,255,.35);
  pointer-events:none;
  color:#fff !important;
}
.huomeili_float_btn::before,
.huomeili_float_btn::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1.5px solid rgba(139,92,255,0.45);
  opacity:0;
  pointer-events:none;
  z-index:1;
}
.huomeili_float_btn::before{animation:rippleOut 3.4s ease-out infinite}
.huomeili_float_btn::after{animation:rippleOut 3.4s ease-out 1.7s infinite}
.huomeili_float_btn:hover{
  background:var(--primary-dark);
  animation-play-state:paused;
  transform:translateY(-2px);
}
.huomeili_float_btn:active{
  transform:scale(.97);
}
@keyframes softPulse{
  0%,100%{box-shadow:0 4px 14px rgba(99,56,255,0.35)}
  50%{box-shadow:0 8px 22px rgba(99,56,255,0.45),0 0 0 8px rgba(99,56,255,0)}
}
@keyframes rippleOut{
  0%{transform:scale(1);opacity:.55}
  100%{transform:scale(1.28);opacity:0}
}
@media (max-width:768px){
  .huomeili_float_qr_wrap{
    right:0;
    left:0;
    bottom:0;
    top:auto;
    transform:none;
    width:100%;
    flex-direction:row;
    align-items:flex-start;
    gap:1px;
    padding:14px 16px calc(14px + env(safe-area-inset-bottom));
    background:#fff;
    box-shadow:0 -2px 12px rgba(255,107,139,0.12);
    border-radius:14px 14px 0 0;
  }
  .qr-group-mobile{
    display:flex;
    gap:1px;
    flex-shrink:0;
  }
  .huomeili_float_qr_card{
    width:auto;
    flex:unset;
    padding:8px;
    box-shadow:none;
    border:none;
  }
  .huomeili_float_qr_card img{
    width:120px;
    height:120px;
  }
  .btn-group{
    width:auto;
    flex-shrink:0;
    gap:14px;
    padding-top:22px;
  }
  .huomeili_float_btn{
    width:120px;
    height:50px;
    border-radius:14px;
    animation:btnShine 2.2s ease-in-out infinite alternate;
  }
  .huomeili_float_btn .btn-text{
    font-size:18px;
    font-weight:600;
    color:#fff !important;
  }
}
@keyframes btnShine{
  0%{box-shadow:0 0 6px #6338ff,0 0 12px rgba(99,56,255,0.4)}
  100%{box-shadow:0 0 12px #6338ff,0 0 22px rgba(99,56,255,0.7)}
}
/* 高权重兜底，覆盖全站a链接:link/:visited/:hover/:active/:focus */
a.huomeili_float_btn,
a.huomeili_float_btn:link,
a.huomeili_float_btn:visited,
a.huomeili_float_btn:hover,
a.huomeili_float_btn:active,
a.huomeili_float_btn:focus{
  text-decoration:none;
  outline:none;
}
a.huomeili_float_btn .btn-text,
a.huomeili_float_btn:link .btn-text,
a.huomeili_float_btn:visited .btn-text,
a.huomeili_float_btn:hover .btn-text,
a.huomeili_float_btn:active .btn-text,
a.huomeili_float_btn:focus .btn-text{
  color:#fff !important;
}
