/* Стили сплеша инлайном, чтобы отрисовать мгновенно, до загрузки CSS-бандла */
#boot-splash {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: grid;
  place-items: center;
  background: #f4f6f8;
}
#boot-splash .boot-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  animation: boot-in 0.4s ease both;
}
#boot-splash .boot-logo {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(135deg, #10b981, #047857);
  box-shadow: 0 14px 34px -10px rgba(16, 185, 129, 0.55);
  animation: boot-float 2.2s ease-in-out infinite;
}
#boot-splash .boot-name {
  font: 600 17px/1.2 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: #17212b;
  letter-spacing: -0.01em;
}
#boot-splash .boot-name b {
  font-weight: 800;
  color: #0b7a56;
}
#boot-splash .boot-bar {
  width: 176px;
  height: 4px;
  border-radius: 999px;
  background: #e3e8ee;
  overflow: hidden;
}
#boot-splash .boot-bar span {
  display: block;
  width: 40%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #10b981, #34d399);
  animation: boot-slide 1.1s ease-in-out infinite;
}
@keyframes boot-slide {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(350%); }
}
@keyframes boot-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes boot-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
#boot-splash.boot-hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.32s ease;
}
[data-theme='dark'] #boot-splash {
  background: #0b0e12;
}
[data-theme='dark'] #boot-splash .boot-name { color: #eef2f6; }
[data-theme='dark'] #boot-splash .boot-name b { color: #56e0ae; }
[data-theme='dark'] #boot-splash .boot-bar { background: #232b35; }

#boot-splash .boot-hint {
  min-height: 18px;
  font: 500 12.5px/1.4 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: #8494a3;
  animation: boot-hint-in .28s ease both;
}
[data-theme='dark'] #boot-splash .boot-hint { color: #7c8a99; }
@keyframes boot-hint-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
