.app-preloader{position:fixed;inset:0;z-index:100100;display:grid;place-items:center;--pl-bg:#0a0b16;--pl-grad-a:#0d0f22;--pl-grad-b:#0a0b16;--pl-glow-teal:rgba(45,212,191,0.1);--pl-glow-violet:rgba(167,139,250,0.12);--pl-glow-magenta:rgba(242,92,176,0.07);--pl-grid:rgba(150,170,210,0.0425);--pl-ease:cubic-bezier(0.16,1,0.3,1);background:radial-gradient(1100px 620px at 18% -8%,var(--pl-glow-teal),transparent 62%),radial-gradient(1000px 700px at 92% 0,var(--pl-glow-violet),transparent 58%),radial-gradient(900px 800px at 70% 110%,var(--pl-glow-magenta),transparent 60%),linear-gradient(180deg,var(--pl-grad-a),var(--pl-grad-b) 60%,var(--pl-bg) 100%);transition:opacity .38s ease,visibility .38s}html.light .app-preloader{--pl-bg:#f5f6f8;--pl-grad-a:#ffffff;--pl-grad-b:#f0f1f4;--pl-glow-teal:rgba(0,232,203,0.13);--pl-glow-violet:rgba(155,92,255,0.11);--pl-glow-magenta:rgba(255,110,190,0.08);--pl-grid:rgba(22,30,55,0.03)}.app-preloader__grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--pl-grid) 1px,transparent 1px),linear-gradient(90deg,var(--pl-grid) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(180deg,#000,#000 62%,transparent 96%);mask-image:linear-gradient(180deg,#000,#000 62%,transparent 96%)}.app-preloader__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:30px;transition:opacity .3s ease,transform .38s var(--pl-ease)}html[data-app-ready] .app-preloader{opacity:0;visibility:hidden;pointer-events:none}html[data-app-ready] .app-preloader__inner{opacity:0;transform:translateY(-6px) scale(.985)}.app-preloader--stage{position:relative;z-index:0;min-height:100vh;min-height:100dvh}html[data-app-ready] .app-preloader--stage{opacity:1;visibility:visible;pointer-events:auto}html[data-app-ready] .app-preloader--stage .app-preloader__inner{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.app-preloader,.app-preloader__inner{transition:none}html[data-app-ready] .app-preloader__inner{transform:none}}@media (max-width:480px){.app-preloader__inner{gap:18px}}