.site-loading, .site-loading body { overflow: hidden; }
.site-loading body > :not(.preloader):not(script) { visibility: hidden; }
.preloader { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: #f7fafc; color: #06192f; transition: opacity .6s ease, visibility .6s; }
.preloader[hidden] { display: none; }
html:not(.site-loading) .preloader:not(.preloader--leaving) { display: none; }
.preloader--leaving { opacity: 0; visibility: hidden; pointer-events: none; }
.preloader__content { width: min(560px, calc(100% - 64px)); }
.preloader__logo { display: block; width: 50%; height: auto; margin: 0 auto 56px; }
.preloader__track { height: 3px; background: #dbe5ed; overflow: hidden; }
.preloader__fill { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #00c781, #00b5cf, #0753ff); transition: width .2s ease; }
.preloader__details { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-top: 18px; font-size: 13px; line-height: 1.6; }
.preloader__percent { font-variant-numeric: tabular-nums; }
.preloader__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.preloader__actions[hidden] { display: none; }
.preloader__actions button { padding: 10px 16px; border: 1px solid #06192f; border-radius: 4px; }
.preloader__actions button:hover { background: #e5edf4; }
.preloader__actions button:focus-visible { outline: 3px solid #0753ff; outline-offset: 4px; }
@media (max-width: 600px) { .preloader__logo { margin-bottom: 40px; } }
@media (prefers-reduced-motion: reduce) { .preloader, .preloader__fill { transition: none; } }
