.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0c3869 0%,#032a3a 50%,#1e3c72 100%);display:flex;justify-content:center;align-items:center;z-index:9999;transition:all 0.8s cubic-bezier(.4,0,.2,1);opacity:1;visibility:visible}.preloader.fade-out{opacity:0;visibility:hidden;transform:scale(1.1)}.preloader::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(255,215,0,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,87,9,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(75,35,5,.05) 0%,transparent 50%);animation:backgroundPulse 4s ease-in-out infinite alternate}@keyframes backgroundPulse{0%{opacity:.3;transform:scale(1)}100%{opacity:.7;transform:scale(1.05)}}.preloader-particles{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.particle{position:absolute;background:rgba(255,215,0,.3);border-radius:50%;animation:floatParticle 8s linear infinite}.particle:nth-child(1){width:4px;height:4px;left:10%;animation-delay:0s;animation-duration:6s}.particle:nth-child(2){width:6px;height:6px;left:20%;animation-delay:1s;animation-duration:8s}.particle:nth-child(3){width:3px;height:3px;left:30%;animation-delay:2s;animation-duration:7s}.particle:nth-child(4){width:5px;height:5px;left:40%;animation-delay:0.5s;animation-duration:9s}.particle:nth-child(5){width:4px;height:4px;left:50%;animation-delay:1.5s;animation-duration:6.5s}.particle:nth-child(6){width:7px;height:7px;left:60%;animation-delay:2.5s;animation-duration:8.5s}.particle:nth-child(7){width:3px;height:3px;left:70%;animation-delay:3s;animation-duration:7.5s}.particle:nth-child(8){width:5px;height:5px;left:80%;animation-delay:0.8s;animation-duration:9.5s}.particle:nth-child(9){width:4px;height:4px;left:90%;animation-delay:1.8s;animation-duration:6.8s}@keyframes floatParticle{0%{transform:translateY(100vh) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-10vh) rotate(360deg);opacity:0}}.preloader-content{position:relative;z-index:10;text-align:center;max-width:400px;width:100%;padding:2rem}.logo-container{position:relative;margin-bottom:2rem;animation:logoEntrance 2s ease-out forwards}@keyframes logoEntrance{0%{opacity:0;transform:scale(.5) rotate(-180deg)}50%{opacity:.7;transform:scale(1.1) rotate(0deg)}100%{opacity:1;transform:scale(1) rotate(0deg)}}.logo{width:120px;height:120px;margin:0 auto;background:linear-gradient(135deg,#FFD700 0%,#FFA500 50%,#FF8C00 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px rgba(255,215,0,.5),0 0 60px rgba(255,215,0,.3),inset 0 2px 10px rgba(255,255,255,.3);position:relative;overflow:hidden;animation:logoPulse 2s ease-in-out infinite alternate;transition:transform 0.3s ease}@keyframes logoPulse{0%{transform:scale(1);box-shadow:0 0 30px rgba(255,215,0,.5),0 0 60px rgba(255,215,0,.3),inset 0 2px 10px rgba(255,255,255,.3)}100%{transform:scale(1.05);box-shadow:0 0 40px rgba(255,215,0,.7),0 0 80px rgba(255,215,0,.5),inset 0 2px 15px rgba(255,255,255,.4)}}.logo.completed{animation:completionPulse 0.6s ease-out forwards}@keyframes completionPulse{0%{transform:scale(1);box-shadow:0 0 30px rgba(255,215,0,.5),0 0 60px rgba(255,215,0,.3)}50%{transform:scale(1.3);box-shadow:0 0 60px rgba(255,215,0,.9),0 0 120px rgba(255,215,0,.7)}100%{transform:scale(1);box-shadow:0 0 40px rgba(255,215,0,.6),0 0 80px rgba(255,215,0,.4)}}.logo-icon{font-size:3rem;color:#0c3869;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.3);animation:iconRotate 3s linear infinite}@keyframes iconRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.spinning-ring{position:absolute;top:-15px;left:-15px;right:-15px;bottom:-15px;border:3px solid transparent;border-top:3px solid rgba(255,215,0,.8);border-right:3px solid rgba(255,215,0,.6);border-radius:50%;animation:spin 2s linear infinite}.spinning-ring:nth-child(2){top:-25px;left:-25px;right:-25px;bottom:-25px;border-top:2px solid rgba(255,165,0,.6);border-right:2px solid rgba(255,165,0,.4);animation-duration:3s;animation-direction:reverse}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.progress-container{width:100%;max-width:300px;margin:0 auto 1.5rem;position:relative}.progress-bar-custom{width:100%;height:4px;background:rgba(255,255,255,.2);border-radius:10px;overflow:hidden;position:relative;backdrop-filter:blur(10px)}.progress-fill{height:100%;background:linear-gradient(90deg,#FFD700,#FFA500,#FF8C00);border-radius:10px;width:0%;transition:width 0.3s ease;position:relative;overflow:hidden}.progress-fill::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:progressShine 2s infinite}@keyframes progressShine{0%{left:-100%}100%{left:100%}}.loading-text{color:rgba(255,255,255,.9);font-size:1.1rem;font-weight:600;margin-bottom:.5rem;text-shadow:0 2px 10px rgba(0,0,0,.3);animation:textPulse 2s ease-in-out infinite alternate}@keyframes textPulse{0%{opacity:.7}100%{opacity:1}}.percentage-text{color:gold;font-size:.9rem;font-weight:700;text-shadow:0 1px 5px rgba(0,0,0,.3);letter-spacing:1px;transition:all 0.3s ease}.percentage-text.completed{color:#0f8;transform:scale(1.2);text-shadow:0 0 10px rgba(0,255,136,.5)}.loading-dots{display:inline-block}.loading-dots span{display:inline-block;animation:dotPulse 1.5s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:0.2s}.loading-dots span:nth-child(3){animation-delay:0.4s}@keyframes dotPulse{0%,60%,100%{opacity:.3;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}.brand-name{color:rgba(255,255,255,.9);font-size:1.3rem;font-weight:700;margin-top:1rem;text-shadow:0 2px 10px rgba(0,0,0,.3);letter-spacing:2px;animation:brandFade 3s ease-in-out infinite alternate}@keyframes brandFade{0%{opacity:.7;transform:translateY(0)}100%{opacity:1;transform:translateY(-5px)}}.main-content{display:none;animation:contentFadeIn 0.8s ease-out forwards}.main-content.show{display:block}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@media (max-width:768px){.logo{width:100px;height:100px}.logo-icon{font-size:2.5rem}.loading-text{font-size:1rem}.preloader-content{padding:1rem}}@media (max-width:480px){.logo{width:80px;height:80px}.logo-icon{font-size:2rem}}