@font-face { font-family: BootInter; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/inter-cyrillic-400-normal.woff2') format('woff2'); }
.app-boot { position: fixed; inset: 0; z-index: 1000; display: grid; place-content: center; justify-items: center; gap: 24px; background: #f3f4f8; color: #4d426f; font-family: BootInter, sans-serif; }
.app-boot__halo { position: relative; width: 120px; height: 120px; isolation: isolate; }
.app-boot__halo::before { content: ''; position: absolute; inset: -7px; border-radius: 50%; background: conic-gradient(from 30deg, #c4b4f0, #b5d9f8, #f6cdbc, #d9c7f5, #c4b4f0); filter: blur(10px); opacity: .8; animation: boot-flow 4s linear infinite; }
.app-boot__halo::after { content: ''; position: absolute; inset: 17px; border-radius: 50%; background: #f3f4f8; box-shadow: 0 0 16px #f3f4f8; }
.app-boot__error { max-width: 270px; margin: 0; padding-inline: 12px; font-size: 14px; line-height: 1.6; text-align: center; }
.app-boot__retry { min-height: 44px; padding: 10px 18px; border: 0; border-radius: 14px; color: #fff; background: #4f46aa; font: inherit; cursor: pointer; }
.app-boot__retry:focus-visible { outline: 3px solid #9987dc; outline-offset: 3px; }
.app-boot [hidden] { display: none; }
@keyframes boot-flow { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .app-boot__halo::before { animation: none; } }
