/* ── Audio toggle ── */
.audio-toggle{
  position:fixed;
  left:20px;
  bottom:20px;
  z-index:200;
  width:81px;
  height:81px;
  border-radius:999px;
  border:1px solid var(--border-accent);
  background:radial-gradient(circle at 30% 20%,rgba(167,139,250,.5),rgba(7,9,15,1));
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:var(--text);
  box-shadow:0 10px 30px rgba(0,0,0,.7), 0 0 0 1px rgba(167,139,250,.18), 0 0 28px rgba(167,139,250,.22);
  transition:transform .15s,border-color .15s,background .15s;
}
.audio-toggle::before{
  content:'';
  position:absolute;
  inset:-46px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(167,139,250,.44) 0%, rgba(167,139,250,.20) 32%, rgba(167,139,250,.09) 54%, transparent 72%);
  opacity:0;
  animation:audioGlowPulse 2s ease-in-out infinite;
  pointer-events:none;
  z-index:-1;
}
.audio-toggle--playing::before{
  opacity:1;
}
@keyframes audioGlowPulse{
  0%,100%{ transform:scale(1); opacity:.62; }
  50%{ transform:scale(1.32); opacity:1; }
}
.audio-toggle:hover{
  transform:translateY(-1px);
  border-color:var(--accent);
  box-shadow:0 14px 36px rgba(0,0,0,.85), 0 0 0 1px rgba(167,139,250,.30), 0 0 44px rgba(167,139,250,.30);
}
.audio-toggle:active{
  transform:translateY(0);
  box-shadow:0 8px 24px rgba(0,0,0,.75);
}
.audio-toggle--playing{
  box-shadow:
    0 0 0 1px rgba(167,139,250,.62),
    0 0 72px rgba(167,139,250,.72),
    0 0 120px rgba(129,140,248,.35);
  background:radial-gradient(circle at 30% 20%,rgba(167,139,250,.8),rgba(7,9,15,1));
}
.audio-toggle__icon{
  width:51px;
  height:51px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.audio-icon{
  width:36px;
  height:36px;
  display:block;
  color:#fff;
  transition:opacity .16s ease-out,transform .16s ease-out;
}
.audio-icon--sound{
  transform:scale(2);
  transform-origin:50% 50%;
}
.audio-icon--muted{
  position:absolute;
  opacity:0;
}
.audio-toggle--muted .audio-icon--sound{
  opacity:0;
  transform:scale(1);
}
.audio-toggle--muted .audio-icon--muted{
  opacity:1;
  transform:scale(2);
  transform-origin:50% 50%;
}
.audio-icon--muted .audio-icon-cross{
  stroke:var(--accent);
}
