/* PL_BEAT_THEORY_20261005 */
#bbTheoryRoot { position: fixed; z-index: 70; left: 14px; bottom: 14px; pointer-events: none; }
.bbtheory-fab,
.bbtheory-panel,
.bbtheory-x,
.bbtheory-head { pointer-events: auto; }
.bbtheory-fab {
  border: 0;
  height: 46px;
  padding: 0 16px;
  border-radius: 999px;
  font: 800 0.95rem/1 Fredoka, Nunito, ui-rounded, system-ui, sans-serif;
  color: #08221f;
  background: #5eead4;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
  cursor: pointer;
}
.bbtheory-fab:focus-visible,
.bbtheory-head:focus-visible,
.bbtheory-x:focus-visible { outline: 2px solid #f7f1e6; outline-offset: 2px; }
.bbtheory-panel {
  position: absolute;
  left: 0;
  bottom: 58px;
  width: min(420px, calc(100vw - 28px));
  max-height: min(70vh, 640px);
  overflow: auto;
  padding: 12px;
  border-radius: 18px;
  background: #14101c;
  color: #f7f1e6;
  border: 1px solid rgba(94, 234, 212, 0.35);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}
.bbtheory-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.bbtheory-top p { margin: 0; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; color: #5eead4; font-weight: 800; }
.bbtheory-top strong { display: block; margin-top: 2px; font-size: 1rem; }
.bbtheory-x {
  width: 32px; height: 32px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255,255,255,.08); color: #f7f1e6; font-weight: 800;
}
.bbtheory-class { border-top: 1px solid rgba(247, 241, 230, 0.12); }
.bbtheory-head {
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 10px 4px;
  cursor: pointer;
}
.bbtheory-kicker { display: block; font-size: 0.72rem; color: rgba(247, 241, 230, 0.62); font-weight: 700; }
.bbtheory-name { display: block; margin-top: 2px; font: 750 1rem/1.25 Fredoka, Nunito, ui-rounded, system-ui, sans-serif; }
.bbtheory-class.is-current .bbtheory-kicker { color: #5eead4; }
.bbtheory-body { display: none; padding: 0 4px 12px; }
.bbtheory-panel > .bbtheory-body { display: block; padding: 4px 2px 8px; }
.bbtheory-class:not(.is-shut) .bbtheory-body { display: block; }
.bbtheory-body p { margin: 0 0 8px; font-size: 0.92rem; line-height: 1.45; color: rgba(247, 241, 230, 0.92); }
.bbtheory-head::after { content: "▾"; float: right; opacity: 0.7; }
.bbtheory-class.is-shut .bbtheory-head::after { content: "▸"; }
@media (max-width: 720px) {
  .bbtheory-panel { max-height: 62vh; }
}
