html.bb-v2-pending {
  background: #050505;
}

html.bb-v2-pending body {
  visibility: hidden !important;
}

#bb-brand-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  visibility: visible;
  overflow: hidden;
  opacity: 1;
  background:
    radial-gradient(circle at 50% 44%, rgba(176, 116, 25, .15), transparent 34%),
    radial-gradient(circle at 50% 105%, rgba(255, 184, 55, .08), transparent 38%),
    #050505;
  transition: opacity .28s ease;
}

#bb-brand-loader.bb-loader-exit {
  opacity: 0;
}

.bb-loader-stage {
  position: relative;
  width: min(88vw, 560px);
  height: min(73vw, 455px);
  max-height: 62vh;
  transform: translateY(-1vh);
}

.bb-loader-mark {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  width: min(54vw, 300px);
  aspect-ratio: 1;
  transform: translateX(-50%);
}

.bb-loader-letters {
  position: absolute;
  z-index: 3;
  inset: 9%;
  background: url("/bb-loader-letters.webp") center / contain no-repeat;
  mix-blend-mode: screen;
  filter: drop-shadow(0 9px 13px rgba(0, 0, 0, .88));
  animation: bb-letters-drop-spin 1.25s cubic-bezier(.18, .74, .18, 1) both;
  transform-origin: center;
}

.bb-loader-ring {
  position: absolute;
  z-index: 2;
  inset: 2%;
  border: clamp(3px, .65vw, 5px) solid #373737;
  border-radius: 50%;
  filter: drop-shadow(0 7px 8px #000) drop-shadow(0 0 2px #bdbdbd);
  animation: bb-ring-drop 1.25s cubic-bezier(.18, .74, .18, 1) both;
  transition: transform .62s cubic-bezier(.12, .7, .22, 1), opacity .56s ease, filter .48s ease, visibility 0s linear .62s;
}

.bb-loader-ring-1 { clip-path: polygon(50% 50%, 0 0, 50% 0); }
.bb-loader-ring-2 { clip-path: polygon(50% 50%, 50% 0, 100% 0); }
.bb-loader-ring-3 { clip-path: polygon(50% 50%, 100% 0, 100% 50%); }
.bb-loader-ring-4 { clip-path: polygon(50% 50%, 100% 50%, 100% 100%); }
.bb-loader-ring-5 { clip-path: polygon(50% 50%, 100% 100%, 50% 100%); }
.bb-loader-ring-6 { clip-path: polygon(50% 50%, 50% 100%, 0 100%); }
.bb-loader-ring-7 { clip-path: polygon(50% 50%, 0 100%, 0 50%); }
.bb-loader-ring-8 { clip-path: polygon(50% 50%, 0 50%, 0 0); }

.bb-loader-landed .bb-loader-ring {
  opacity: 0;
  visibility: hidden;
  filter: blur(2.5px);
}

.bb-loader-landed .bb-loader-ring-1 { transform: translate(-54px, -70px) rotate(-54deg) scale(.68); }
.bb-loader-landed .bb-loader-ring-2 { transform: translate(48px, -78px) rotate(48deg) scale(.64); }
.bb-loader-landed .bb-loader-ring-3 { transform: translate(86px, -24px) rotate(74deg) scale(.72); }
.bb-loader-landed .bb-loader-ring-4 { transform: translate(82px, 58px) rotate(42deg) scale(.62); }
.bb-loader-landed .bb-loader-ring-5 { transform: translate(38px, 86px) rotate(-38deg) scale(.69); }
.bb-loader-landed .bb-loader-ring-6 { transform: translate(-45px, 82px) rotate(46deg) scale(.65); }
.bb-loader-landed .bb-loader-ring-7 { transform: translate(-88px, 42px) rotate(-62deg) scale(.7); }
.bb-loader-landed .bb-loader-ring-8 { transform: translate(-84px, -30px) rotate(58deg) scale(.66); }

.bb-loader-impact {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: -1%;
  width: 28%;
  height: 4px;
  border-radius: 50%;
  background: #ffbd42;
  opacity: 0;
  transform: translateX(-50%) scaleX(.15);
  box-shadow: 0 0 14px 5px rgba(255, 170, 35, .75);
}

.bb-loader-landed .bb-loader-impact {
  animation: bb-impact .48s ease-out both;
}

.bb-loader-base {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 0;
  width: 100%;
  aspect-ratio: 759 / 239;
  background: url("/bb-loader-base.webp") center / contain no-repeat;
  mix-blend-mode: screen;
  opacity: 0;
  transform: translate(-50%, 14px) scale(.97);
  animation: bb-base-in .5s .42s ease-out forwards;
}

@keyframes bb-letters-drop-spin {
  0% { transform: translateY(-72vh) rotate(-900deg) scale(.62); opacity: .25; }
  72% { transform: translateY(3%) rotate(22deg) scale(1.02); opacity: 1; }
  86% { transform: translateY(-5%) rotate(-8deg) scale(.99); }
  100% { transform: translateY(0) rotate(0) scale(1); opacity: 1; }
}

@keyframes bb-ring-drop {
  0% { translate: 0 -72vh; scale: .62; opacity: .3; }
  72% { translate: 0 3%; scale: 1.02; opacity: 1; }
  100% { translate: 0 0; scale: 1; opacity: 1; }
}

@keyframes bb-base-in {
  to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}

@keyframes bb-impact {
  0% { opacity: 0; transform: translateX(-50%) scaleX(.15); }
  28% { opacity: 1; transform: translateX(-50%) scaleX(2.5); }
  100% { opacity: 0; transform: translateX(-50%) scaleX(4.4); }
}

@media (max-width: 520px) {
  .bb-loader-stage {
    width: 92vw;
    height: 76vw;
  }

  .bb-loader-mark {
    width: 58vw;
  }

  .bb-loader-base {
    width: 96%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bb-loader-letters,
  .bb-loader-ring,
  .bb-loader-base,
  .bb-loader-landed .bb-loader-impact {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
  }
}
