/* Seven Inch Soul quietly unlocks the radio's overhead disco. */
#disco-ambient {
  opacity:0; pointer-events:none; transition:opacity .75s ease;
}
#disco-ambient.disco-dimmed { opacity:.64; transition:opacity 1.1s ease .15s; }
#disco-hanger {
  position:fixed; top:0; left:var(--disco-left,0px); z-index:1;
  width:var(--disco-size,68px); height:var(--disco-size,68px);
  transform:translateY(calc(-100% - 12px)); visibility:hidden; pointer-events:none;
  transition:transform .95s cubic-bezier(.22,.72,.28,1), visibility 0s .95s;
}
#disco-hanger.disco-open.disco-available {
  transform:translateY(var(--disco-top,95px)); visibility:visible;
  transition:transform 1.15s cubic-bezier(.2,.8,.3,1), visibility 0s;
}
.disco-cable {
  position:absolute; left:50%; transform:translateX(-50%); bottom:95%; width:2px; height:100vh;
  background:linear-gradient(90deg,#080f20,#919da9 60%,#182237);
  box-shadow:1px 0 1px #050818;
}
#disco-ball-mount {
  display:block; position:relative; width:100%; height:100%; padding:0;
  border:0; border-radius:50%; background:transparent;
  filter:drop-shadow(-5px 1px 10px #65d7e51c) drop-shadow(5px 1px 10px #e39bcd26);
}
#disco-ball-mount::before {
  content:''; position:absolute; top:3%; left:50%; transform:translateX(-50%);
  box-sizing:border-box; width:12%; height:5%;
  border:1px solid #101725; border-radius:2px; background:linear-gradient(90deg,#4b5965,#b4c1c5,#515d68);
}
#disco-ball { display:block; width:100%; height:100%; }
#disco-reflections,#disco-machine-reflections { opacity:0; pointer-events:none; transition:opacity .5s; }
#disco-reflections.disco-lit,#disco-machine-reflections.disco-lit { opacity:1; transition:opacity 1.1s .35s; }
#disco-reflections rect,#disco-machine-reflections rect { filter:drop-shadow(0 0 3px currentColor); }
#disco-machine-reflections {
  position:absolute; inset:0; width:100%; height:100%; z-index:11;
  overflow:hidden; border-radius:12px; mix-blend-mode:screen;
}
@media (prefers-reduced-motion:reduce) {
  #disco-ambient,#disco-ambient.disco-dimmed { transition:none; }
  #disco-hanger,#disco-hanger.disco-open.disco-available { transition:none; }
  #disco-reflections,#disco-reflections.disco-lit,
  #disco-machine-reflections,#disco-machine-reflections.disco-lit { transition:none; }
}
