/* Standalone launch only. Independent of the theme bundle and third-party JS. */
.bf-launch {
  position: fixed; inset: 0; z-index: 100000; overflow: hidden;
  display: grid; place-items: center; color: #fff; background: #080b18;
  font-family: system-ui, -apple-system, sans-serif;
  animation: bf-launch-failsafe .25s 2.35s forwards;
}
.bf-launch::before, .bf-launch::after {
  content: ""; position: absolute; width: 95vmin; height: 95vmin;
  border-radius: 50%; pointer-events: none; opacity: .6;
  background: radial-gradient(circle, #cc20bd26, transparent 67%);
  left: -45vmin; top: -26vmin;
  animation: bf-launch-drift 1.8s ease-out both;
}
.bf-launch::after {
  background: radial-gradient(circle, #00bbef26, transparent 67%);
  left: auto; top: auto; right: -42vmin; bottom: -20vmin;
  animation-direction: reverse;
}
.bf-launch__brand { position: relative; width: min(78vw, 350px); text-align: center; }
.bf-launch__logo {
  display: block; width: 100%; height: auto; position: relative; z-index: 1;
  animation: bf-launch-reveal .85s cubic-bezier(.16, 1, .3, 1) both;
  filter: drop-shadow(0 0 24px #6155ef28);
}
.bf-launch__orbit {
  position: absolute; width: 220px; height: 220px;
  left: 50%; top: 50%; margin: -110px;
  border: 1px solid #8494e014; border-radius: 50%; transform: rotate(-30deg);
  animation: bf-launch-orbit 1.5s ease-out both;
}
.bf-launch__orbit::after {
  content: ""; position: absolute; inset: -1px; border-radius: inherit;
  border: 1px solid transparent; border-top-color: #60deff75;
  border-right-color: #be52e725; transform: rotate(-40deg);
}
.bf-launch__line {
  position: absolute; width: 84px; height: 2px; bottom: -48px; left: 50%;
  margin-left: -42px; overflow: hidden; background: #ffffff0d; border-radius: 2px;
  animation: bf-launch-reveal .6s .25s both;
}
.bf-launch__line::after {
  content: ""; display: block; width: 50%; height: 100%; border-radius: inherit;
  background: linear-gradient(90deg, #e33ed7, #73e5ff);
  animation: bf-launch-light 1.05s ease-in-out infinite;
}
.bf-launch__skip {
  position: absolute; bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  right: calc(24px + env(safe-area-inset-right, 0px));
  border: 0; border-radius: 24px; padding: 12px 16px;
  color: #b3bad1; background: #ffffff08; font: inherit; font-size: 11px;
  letter-spacing: .05em; cursor: pointer;
}
.bf-launch__skip:focus-visible { outline: 2px solid #73e5ff; outline-offset: 3px; }
.bf-launch--leaving { pointer-events: none; animation: bf-launch-failsafe .28s forwards; }
@keyframes bf-launch-reveal {
  from { opacity: 0; transform: translateY(12px) scale(.94); }
  to { opacity: 1; transform: none; }
}
@keyframes bf-launch-orbit {
  from { opacity: 0; transform: rotate(-65deg) scale(.7); }
  35% { opacity: 1; }
  to { opacity: 0; transform: rotate(55deg) scale(1.35); }
}
@keyframes bf-launch-drift { from { transform: translate(-15px, -10px); opacity: 0; } }
@keyframes bf-launch-light { from { transform: translateX(-110%); } to { transform: translateX(310%); } }
@keyframes bf-launch-failsafe { to { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) {
  .bf-launch *, .bf-launch::before, .bf-launch::after { animation: none; }
  .bf-launch__orbit, .bf-launch__line { display: none; }
  .bf-launch { animation: bf-launch-failsafe .01s .3s forwards; }
  .bf-launch--leaving { animation: bf-launch-failsafe .01s forwards; }
}
