.loading-spinner-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 160px);padding:2rem;background:linear-gradient(135deg,#f0f2ff,#e8ecf8 50%,#f5f0ff)}.loading-spinner-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 48px;background:rgba(255,255,255,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 4px 24px rgba(124,111,224,.12),0 1px 4px rgba(124,111,224,.08);animation:cardIn .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.spinner-track{position:relative;width:80px;height:80px;flex-shrink:0}.spinner-track:before{content:"";position:absolute;inset:0;border-radius:50%;border:4px solid rgba(124,111,224,.12)}.spinner-arc{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0,#7c6fe0 60%,#a78bfa 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#fff calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#fff calc(100% - 4px));animation:arcSpin 1.1s linear infinite;filter:drop-shadow(0 0 6px rgba(124,111,224,.4))}@keyframes arcSpin{to{transform:rotate(1turn)}}.spinner-center-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.93)}}.loading-spinner-message{margin:0;font-size:.95rem;font-weight:600;letter-spacing:.01em;background:linear-gradient(90deg,#5b52c8,#7c6fe0,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-dots{display:flex;gap:6px}.loading-dots span{width:6px;height:6px;border-radius:50%;background:#a78bfa;animation:dotBounce 1.2s ease-in-out infinite}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.18s}.loading-dots span:nth-child(3){animation-delay:.36s}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}@media (max-width:768px){.loading-spinner-container{min-height:calc(100vh - 120px);padding:1.5rem}.loading-spinner-card{padding:32px 36px;gap:16px}.spinner-track{width:68px;height:68px}.loading-spinner-message{font-size:.875rem}}