body.auth-checking::before,
body.auth-checking::after { content: none !important; display: none !important; }
body > .lucky-loader { display: none; }
body.auth-checking > .lucky-loader {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  visibility: visible !important;
  align-content: center;
  justify-items: center;
  gap: 14px;
  padding: 24px;
  color: #17243b;
  background: radial-gradient(circle at 50% 38%, #fff 0, #f4f7fc 48%, #eaf0fa 100%);
}
.lucky-loader strong { display: flex; font-family: Inter, "Microsoft YaHei UI", sans-serif; font-size: clamp(34px, 8vw, 58px); font-weight: 950; letter-spacing: -.055em; }
.lucky-loader strong span { color: #cbd5e4; animation: lucky-letter 1.8s ease-in-out infinite; }
.lucky-loader strong span:nth-child(2) { animation-delay: .10s; }
.lucky-loader strong span:nth-child(3) { animation-delay: .20s; }
.lucky-loader strong span:nth-child(4) { animation-delay: .30s; }
.lucky-loader strong span:nth-child(5) { animation-delay: .40s; }
.lucky-loader strong span:nth-child(6) { animation-delay: .50s; }
.lucky-loader strong span:nth-child(7) { animation-delay: .60s; }
.lucky-loader strong span:nth-child(8) { animation-delay: .70s; }
.lucky-loader strong span:nth-child(9) { animation-delay: .80s; }
.lucky-loader p { margin: 0; color: #6f7d92; font: 600 13px/1.5 "Microsoft YaHei UI", sans-serif; }
.lucky-loader button { display: none; border: 1px solid #bfd0ec; border-radius: 999px; padding: 9px 16px; color: #245dc9; background: white; font-weight: 800; }
.lucky-loader.is-slow button { display: block; }
@keyframes lucky-letter { 0%, 22%, 100% { color: #cbd5e4; transform: translateY(0); } 38%, 65% { color: #2f6fec; transform: translateY(-2px); text-shadow: 0 7px 18px #2f6fec38; } }
@media (prefers-reduced-motion: reduce) { .lucky-loader strong span { animation: none; color: #2f6fec; } }
