*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#fff;background:#0f0f1a;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}.container{justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative}.background-canvas{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.content{z-index:1;text-align:center;max-width:600px;padding:40px 24px;animation:1.5s ease-out fadeIn;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.brand{z-index:10;position:fixed;top:32px;left:40px;overflow:hidden}.brand-text{letter-spacing:4px;text-transform:uppercase;color:#ffffffb3;background:linear-gradient(90deg,#ffffffb3 0% 40%,#fff 50%,#ffffffb3 60% 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:14px;font-weight:700;animation:3s ease-in-out infinite shine;display:inline-block;position:relative}@keyframes shine{0%{background-position:200% 0}50%{background-position:-50% 0}to{background-position:-50% 0}}.logo-container{width:120px;height:120px;margin:0 auto 40px;position:relative}.logo-ring{animation:20s linear infinite spin;position:absolute;top:0;left:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logo-dot{background:#7c5cbf;border-radius:50%;width:8px;height:8px;animation:4s ease-in-out infinite dotFloat;position:absolute}.dot-1{background:#7c5cbf;animation-delay:0s;top:50%;left:0;transform:translateY(-50%);box-shadow:0 0 20px #7c5cbf80}.dot-2{background:#5c8fbf;animation-delay:1s;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 20px #5c8fbf80}.dot-3{background:#bf5c8f;animation-delay:2s;top:50%;right:0;transform:translateY(-50%);box-shadow:0 0 20px #bf5c8f80}.dot-4{background:#5cbf8f;animation-delay:3s;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 20px #5cbf8f80}@keyframes dotFloat{0%,to{opacity:.6;transform:translateY(-50%)scale(1)}50%{opacity:1;transform:translateY(-50%)scale(1.5)}}.dot-2{animation-name:dotFloat2}@keyframes dotFloat2{0%,to{opacity:.6;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.5)}}.dot-3{animation-name:dotFloat3}@keyframes dotFloat3{0%,to{opacity:.6;transform:translateY(-50%)scale(1)}50%{opacity:1;transform:translateY(-50%)scale(1.5)}}.dot-4{animation-name:dotFloat4}@keyframes dotFloat4{0%,to{opacity:.6;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.5)}}.title{flex-direction:column;gap:4px;margin-bottom:20px;display:flex}.title-line{letter-spacing:-1px;color:#ffffffe6;font-size:48px;font-weight:700;line-height:1.1}.title-line.accent{background:linear-gradient(135deg,#7c5cbf,#5c8fbf,#bf5c8f);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:56px}.bottom-bar{z-index:10;flex-direction:column;align-items:flex-end;gap:16px;display:flex;position:fixed;bottom:32px;right:40px}.status-bar{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:100px;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.status-dot{background:#f59e0b;border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite statusBlink}@keyframes statusBlink{0%,to{opacity:1;box-shadow:0 0 8px #f59e0b80}50%{opacity:.3;box-shadow:0 0 2px #f59e0b1a}}.status-text{color:#fff9;letter-spacing:.3px;font-size:13px;font-weight:500}.progress-container{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.progress-bar{background:#ffffff14;border-radius:2px;width:240px;height:3px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#7c5cbf,#5c8fbf);border-radius:2px;width:40%;height:100%;animation:2.5s ease-in-out infinite progressMove}@keyframes progressMove{0%{transform:translate(-100%)}50%{transform:translate(150%)}to{transform:translate(350%)}}.progress-label{color:#ffffff4d;letter-spacing:1px;text-transform:uppercase;font-size:12px}@media (width<=640px){.title-line{font-size:36px}.title-line.accent{font-size:42px}.content{padding:24px 20px}}
