html.site-booting, html.site-booting body { overflow: hidden; }
html:not(.site-booting) .site-loader { display: none; }
.site-loader { position: fixed; z-index: 100000; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; background: radial-gradient(circle at 25% 18%,#1679cc 0,transparent 34%),linear-gradient(135deg,#062c69,#075bad 58%,#0799d0); transition: opacity .55s ease,visibility .55s ease; }
.site-loader::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px); background-size: 42px 42px; -webkit-mask-image: radial-gradient(circle at center,#000,transparent 72%); mask-image: radial-gradient(circle at center,#000,transparent 72%); }
.site-loader.is-finished { opacity: 0; visibility: hidden; pointer-events: none; }
.site-loader-box { position: relative; width: 330px; padding: 38px 34px 31px; text-align: center; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(255,255,255,.08); box-shadow: 0 24px 70px rgba(0,27,72,.28); -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.loader-symbol { position: relative; width: 74px; height: 74px; margin: 0 auto 22px; }
.loader-ring { position: absolute; inset: 0; border: 2px solid rgba(255,255,255,.18); border-top-color: #fff; border-right-color: #61d7ff; border-radius: 50%; animation: loaderSpin 1.2s linear infinite; }
.loader-bolt { position: absolute; inset: 13px; display: flex; align-items: center; justify-content: center; border-radius: 16px; color: #fff; font-size: 27px; background: linear-gradient(145deg,#46baff,#2477e8); box-shadow: 0 8px 24px rgba(42,169,255,.34); }
.site-loader h2 { margin: 0 0 8px; font-size: 21px; font-weight: 700; letter-spacing: 1px; }
.site-loader p { margin: 0 0 23px; color: rgba(255,255,255,.67); font-size: 12px; letter-spacing: .5px; }
.loader-track { height: 4px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.16); }
.loader-progress { display: block; width: 12%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#4fc8ff,#fff); box-shadow: 0 0 12px rgba(105,216,255,.75); transition: width .35s ease; }
.loader-status { display: block; margin-top: 12px; color: rgba(255,255,255,.62); font-size: 11px; }
@keyframes loaderSpin { to { transform: rotate(360deg); } }
@media (max-width: 600px) { .site-loader-box { width: calc(100% - 44px); max-width: 330px; padding: 32px 25px 27px; border-radius: 18px; } .loader-symbol { width: 66px; height: 66px; } .site-loader h2 { font-size: 19px; } }
@media (prefers-reduced-motion: reduce) { .loader-ring { animation-duration: 2.4s; } .site-loader { transition-duration: .2s; } }
