.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);justify-content:center;z-index:9999;animation:fadeIn .5s ease-out}.loader-content,.page-loader{display:flex;align-items:center}.loader-content{flex-direction:column;gap:2rem;max-width:400px;width:90%}.logo-container{animation:logoFloat 2s ease-in-out infinite}.loader-logo{filter:brightness(0) invert(1);opacity:.9}.progress-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.progress-bar{width:100%;height:4px;background:rgba(255,255,255,.1);overflow:hidden}.progress-bar,.progress-fill{border-radius:2px;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#ffffff,#f0f0f0);transition:width .3s ease-out}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3) 50%,transparent);animation:shimmer 1.5s infinite}.progress-text{color:#ffffff;font-size:1.2rem;font-weight:500;letter-spacing:1px}.loading-text{display:flex;align-items:center;gap:.5rem;color:#ffffff;font-size:1.1rem;font-weight:400;opacity:.8}.dots{display:flex;gap:.2rem}.dots span{animation:dotPulse 1.4s infinite;animation-fill-mode:both}.dots span:first-child{animation-delay:0s}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes dotPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width:768px){.loader-content{gap:1.5rem}.loader-logo{width:150px;height:60px}.loading-text,.progress-text{font-size:1rem}}