.bm-logo {
  display: inline-block;
  width: 40px;
  height: 36px;
  flex-shrink: 0;
  vertical-align: middle;
}
.bm-logo svg { display: block; width: 100%; height: 100%; overflow: visible; }
.bm-logo-build .bm-logo-brick {
  animation: bm-brick-place 420ms cubic-bezier(.2,.75,.3,1) both;
  animation-delay: calc(var(--brick) * 75ms);
  transform-box: fill-box;
  transform-origin: center;
}
@keyframes bm-brick-place {
  from { opacity: 0; transform: translateY(-28px) scale(.85); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.bm-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 24px;
  background: rgba(18, 18, 17, 0.45);
  color: #fff;
  transition: opacity 300ms ease, visibility 300ms ease;
  pointer-events: none;
}
.bm-loader[hidden] { display: none; }
.bm-loader .bm-logo { width: 124px; height: 111px; }
.bm-loader-finished { opacity: 0; visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .bm-logo-build .bm-logo-brick { animation: none; }
  .bm-loader { transition: none; }
}
