.loading-container{display:flex;flex-direction:column;align-items:center;gap:2rem}.loading-logo{width:4rem;height:4rem;position:relative;animation:logoFloat 3s ease-in-out infinite}.loading-logo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;opacity:.2;animation:logoPulse 2s ease-in-out infinite}.loading-dots{display:flex;gap:.5rem;align-items:center}.loading-dot{width:.75rem;height:.75rem;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);animation:dotBounce 1.4s ease-in-out infinite both;box-shadow:0 4px 8px rgba(59,130,246,.3)}.loading-dot:first-child{animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}.loading-dot:nth-child(3){animation-delay:0s}.loading-text{font-size:.875rem;font-weight:500;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textFade 2s ease-in-out infinite;letter-spacing:.05em}.loading-progress{width:12rem;height:.25rem;background:rgba(59,130,246,.1);border-radius:.125rem;overflow:hidden;position:relative}.loading-progress:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,#3b82f6,#8b5cf6,transparent);animation:progressSlide 2s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(180deg)}}@keyframes logoPulse{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.2);opacity:.4}}@keyframes dotBounce{0%,80%,to{transform:scale(.8) translateY(0);opacity:.6}40%{transform:scale(1.2) translateY(-10px);opacity:1}}@keyframes textFade{0%,to{opacity:.7}50%{opacity:1}}@keyframes progressSlide{0%{left:-100%}to{left:100%}}.dark .loading-progress{background:rgba(59,130,246,.15)}@media (max-width:768px){.loading-container{gap:1.5rem}.loading-logo{width:2.5rem;height:2.5rem}.loading-dots{gap:.375rem}.loading-dot{width:.625rem;height:.625rem}.loading-progress{width:8rem;height:.1875rem}.loading-text{font-size:.75rem}}