/* Фирменная заставка загрузки - та же, что на страницах сайта (prototype/*.html, там она встроена
   в страницу). Здесь - для кабинета и мероприятий (backend/templates/base.html, static/boot.js). */
html{background:#0b1530}html[data-theme="light"]{background:#f1ebda}
.site-boot{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;overflow:hidden;background:#0b1530;color:#fff4d6;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transition:opacity .32s ease,visibility 0s linear .32s;isolation:isolate;animation:site-boot-failsafe .25s ease 6s forwards}
.site-boot::before{content:"";position:absolute;inset:-40px;background:linear-gradient(rgba(94,176,254,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(94,176,254,.055) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(circle,#000 0,transparent 72%);animation:site-boot-grid 5s linear infinite}
.site-boot--done{opacity:0;visibility:hidden;pointer-events:none}.site-boot__panel{position:relative;display:grid;justify-items:center;gap:13px;width:min(290px,76vw)}
.site-boot__portal{position:relative;width:116px;height:116px;filter:drop-shadow(0 0 18px rgba(94,176,254,.28))}
.site-boot__ring,.site-boot__ring::after{position:absolute;inset:0;border-radius:50%;content:"";background:repeating-conic-gradient(from 0deg,#ff6601 0 7deg,transparent 7deg 16deg,#5eb0fe 16deg 24deg,transparent 24deg 32deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 13px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 13px),#000 0);animation:site-boot-spin 1.45s steps(24) infinite}
.site-boot__ring::after{inset:17px;background:repeating-conic-gradient(from 8deg,#5eb0fe 0 5deg,transparent 5deg 15deg,#ff6601 15deg 19deg,transparent 19deg 30deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0);animation-direction:reverse;animation-duration:1.1s}
.site-boot__core{position:absolute;inset:34px;display:grid;place-items:center;background:#101e42;border:2px solid #173a77;transform:rotate(45deg);box-shadow:inset 0 0 0 3px #0b1530,0 0 0 2px rgba(255,102,1,.35)}
.site-boot__core img{width:33px;height:28px;object-fit:contain;transform:rotate(-45deg)}.site-boot__brand{font-size:18px;line-height:1;letter-spacing:.22em;text-indent:.22em;color:#fff4d6}.site-boot__status{font-size:10px;line-height:1;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:#8eb8ff}
.site-boot__meter{display:block;width:168px;height:8px;border:1px solid #173a77;background:#071027;overflow:hidden}.site-boot__meter::before{content:"";display:block;width:42%;height:100%;background:repeating-linear-gradient(90deg,#ff6601 0 10px,transparent 10px 14px);animation:site-boot-pulse 1.2s steps(4) infinite}
:root[data-theme="light"] .site-boot{background:#f1ebda;color:#0d1b2a}:root[data-theme="light"] .site-boot::before{background-image:linear-gradient(rgba(13,91,217,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(13,91,217,.08) 1px,transparent 1px)}:root[data-theme="light"] .site-boot__core{background:#fcf9f1;border-color:#0d5bd9;box-shadow:inset 0 0 0 3px #f1ebda,0 0 0 2px rgba(255,102,1,.45)}:root[data-theme="light"] .site-boot__brand{color:#0d1b2a}:root[data-theme="light"] .site-boot__status{color:#0d5bd9}:root[data-theme="light"] .site-boot__meter{border-color:#0d5bd9;background:#fcf9f1}
@keyframes site-boot-spin{to{transform:rotate(1turn)}}@keyframes site-boot-grid{to{transform:translate3d(24px,24px,0)}}@keyframes site-boot-pulse{50%{width:76%}to{width:100%}}@keyframes site-boot-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.site-boot::before,.site-boot__ring,.site-boot__ring::after,.site-boot__meter::before{animation:none}.site-boot{transition:none}}

/* медленная сеть: через 8 с - строка, что загрузка идет */
.site-boot__slow{margin:2px 0 0;max-width:260px;font-size:11px;line-height:1.5;letter-spacing:.04em;text-align:center;color:#8eb8ff;opacity:0;animation:site-boot-slow .3s steps(2) 8s forwards}
:root[data-theme="light"] .site-boot__slow{color:#0d5bd9}
@keyframes site-boot-slow{to{opacity:1}}
/* переход между вкладками кабинета: страница обычно готова раньше - заставка проявляется,
   только если загрузка затянулась дольше 0.25 с */
.site-boot--quick{opacity:0;animation:site-boot-reveal .15s steps(2) .25s forwards,site-boot-failsafe .25s ease 6s forwards}
@keyframes site-boot-reveal{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.site-boot__slow{animation:none;opacity:1}}
