.splash-overlay{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden}.splash-canvas{position:absolute;inset:0;z-index:0}.splash-logo-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;pointer-events:none}.splash-logo{width:min(320px,60vw);height:auto;opacity:0;transform:scale(.92)}.splash-logo.visible{animation:logoReveal 1s cubic-bezier(.22,1,.36,1) forwards}@keyframes logoReveal{to{opacity:1;transform:scale(1)}}.splash-loader{display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0}.splash-loader.visible{animation:fadeIn .4s ease forwards;animation-delay:.3s}@keyframes fadeIn{to{opacity:1}}.splash-loader-track{position:relative;width:160px;height:2px;border-radius:999px;background:#ffffff14;overflow:hidden}.splash-loader-fill{position:absolute;inset:0;width:0%;border-radius:999px;background:linear-gradient(90deg,#3b5bdb,#7048e8);box-shadow:0 0 8px #4361ee99}.splash-loader.visible .splash-loader-fill{animation:loaderFill 2.6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.3s}@keyframes loaderFill{to{width:100%}}.splash-loader-label{font-family:Inter,sans-serif;font-weight:300;font-size:10px;letter-spacing:.3em;color:#a0a0b0;text-transform:uppercase}.splash-overlay.exiting{animation:splashExit .6s ease forwards}.splash-overlay.exiting .splash-logo,.splash-overlay.exiting .splash-loader{animation:logoExit .4s ease forwards}@keyframes logoExit{to{opacity:0;transform:scale(.95)}}@keyframes splashExit{0%{opacity:1}60%{opacity:1;background:#000}to{opacity:0}}
