#love-preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 60, 140, .28), transparent 35%),
    radial-gradient(circle at 70% 80%, rgba(130, 70, 255, .28), transparent 38%),
    linear-gradient(135deg, #080813, #14071a 55%, #05040a);
  transition: opacity .65s ease, visibility .65s ease;
}

#love-preloader.hide {
  opacity: 0;
  visibility: hidden;
}

.lp-card {
  position: relative;
  width: 260px;
  padding: 34px 28px;
  text-align: center;
  border-radius: 28px;
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 25px 80px rgba(0,0,0,.45);
  backdrop-filter: blur(22px);
}

.lp-logo {
  width: 76px;
  height: 76px;
  margin: 0 auto 16px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 42px;
  color: #fff;
  background: linear-gradient(135deg, #ff2d86, #8d5cff);
  box-shadow: 0 0 35px rgba(255,45,134,.55);
  animation: lpPulse 1.6s infinite ease-in-out;
}

.lp-title {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 2px;
}

.lp-subtitle {
  margin-top: 8px;
  font-size: 13px;
  color: rgba(255,255,255,.7);
}

.lp-bars {
  height: 42px;
  margin: 24px auto 18px;
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 7px;
}

.lp-bars span {
  width: 7px;
  height: 16px;
  border-radius: 20px;
  background: linear-gradient(to top, #ff2d86, #ffd1e6);
  animation: lpBars .9s infinite ease-in-out;
}

.lp-bars span:nth-child(2) { animation-delay: .12s; }
.lp-bars span:nth-child(3) { animation-delay: .24s; }
.lp-bars span:nth-child(4) { animation-delay: .36s; }
.lp-bars span:nth-child(5) { animation-delay: .48s; }

.lp-line {
  overflow: hidden;
  height: 4px;
  border-radius: 20px;
  background: rgba(255,255,255,.13);
}

.lp-line span {
  display: block;
  width: 45%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff2d86, #8d5cff, #fff);
  animation: lpLoad 1.25s infinite ease-in-out;
}

@keyframes lpPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

@keyframes lpBars {
  0%, 100% { height: 12px; opacity: .55; }
  50% { height: 40px; opacity: 1; }
}

@keyframes lpLoad {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(260%); }
}