.loader-container{-webkit-backdrop-filter:blur(20px);z-index:9999;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid #ffffff2e;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:fixed;top:0;left:0}.loader-container:before{content:"";-webkit-backdrop-filter:blur(15px);z-index:-1;background:linear-gradient(135deg,#ffffff40,#ffffff1a);border:1px solid #ffffff4d;border-radius:20px;width:200px;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0000001a,inset 0 1px #fff6}.loader-message{color:#000c;text-align:center;letter-spacing:.05em;text-shadow:0 1px 2px #fffc;z-index:1;margin-top:1.5rem;font-size:.875rem;font-weight:500}.loader-pulse{z-index:1;position:relative}.pulse-circle{-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff6,#ffffff1a);border:1px solid #ffffff80;border-radius:50%;width:40px;height:40px;animation:1.5s ease-in-out infinite pulse;box-shadow:0 4px 16px #0000001a,inset 0 1px #fff9}@keyframes pulse{0%{opacity:1;transform:scale(.6)}50%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(.6)}}.loader-bounce{z-index:1;gap:.5rem;display:flex}.bounce-circle{-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#fff9,#fff3);border:1px solid #fff6;border-radius:50%;width:12px;height:12px;animation:1.4s ease-in-out infinite both bounce;box-shadow:0 2px 8px #0000001a,inset 0 1px #ffffffb3}.bounce1{animation-delay:-.32s}.bounce2{animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loader-wave{z-index:1;align-items:flex-end;gap:.25rem;height:30px;display:flex}.wave-bar{-webkit-backdrop-filter:blur(6px);background:linear-gradient(135deg,#ffffff80,#fff3);border:1px solid #ffffff4d;border-radius:2px;width:4px;height:16px;animation:1.2s ease-in-out infinite wave;box-shadow:0 2px 6px #0000001a,inset 0 1px #fff9}.wave-bar:nth-child(2){animation-delay:-1.1s}.wave-bar:nth-child(3){animation-delay:-1s}.wave-bar:nth-child(4){animation-delay:-.9s}.wave-bar:nth-child(5){animation-delay:-.8s}@keyframes wave{0%,40%,to{transform:scaleY(.4)}20%{transform:scaleY(1)}}.loader-spin{z-index:1;width:40px;height:40px;position:relative}.spin-circle{-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:2px solid #fff3;border-top-color:#fffc;border-radius:50%;width:100%;height:100%;animation:1s linear infinite spin;box-shadow:0 4px 16px #0000001a,inset 0 1px #ffffff4d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-dots{z-index:1;gap:.5rem;display:flex}.dots-circle{-webkit-backdrop-filter:blur(6px);background:linear-gradient(135deg,#ffffffb3,#ffffff4d);border:1px solid #ffffff80;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both dots;box-shadow:0 2px 6px #0000001a,inset 0 1px #fffc}.dots-circle:first-child{animation-delay:-.32s}.dots-circle:nth-child(2){animation-delay:-.16s}@keyframes dots{0%,80%,to{opacity:.6;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.loader-progress{background-color:#0000001a;border-radius:1px;width:80px;height:2px;overflow:hidden}.progress-bar{background-color:#000;width:0;height:100%;animation:1.5s ease-in-out infinite progress}@keyframes progress{0%{width:0}50%{width:100%}to{width:0}}
