/* ════════ PRELOADER — квадрат поворачивается, пока грузится сайт ════════ */
body.pl-lock { overflow: hidden; height: 100vh; }
.pl {
  position: fixed; inset: 0; z-index: 9999; background: var(--bg, #E9E9E7);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px;
  transition: opacity .5s var(--eo, ease), visibility .5s var(--eo, ease);
}
.pl.out { opacity: 0; visibility: hidden; }
/* поворот шагами по 90° — механично, без мигания */
.pl-sq { width: 54px; height: 54px; background: var(--blk, #111); animation: plTurn 2.6s var(--eo) infinite; }
@keyframes plTurn {
  0%, 14% { transform: rotate(0deg); }
  25%, 39% { transform: rotate(90deg); }
  50%, 64% { transform: rotate(180deg); }
  75%, 89% { transform: rotate(270deg); }
  100% { transform: rotate(360deg); }
}
.pl-hint {
  font-family: 'Roboto Mono', monospace; font-size: 10px; letter-spacing: .2em;
  text-transform: uppercase; color: rgba(17,17,17,.4); font-variant-numeric: tabular-nums;
}
@media (prefers-reduced-motion: reduce) { .pl-sq { animation: none; } }
