/* DJ button + track label for the banger system */
#djbtn {
  position: fixed; top: 12px; right: 58px; z-index: 70;
  padding: 0.45rem 0.55rem; border-radius: 10px; line-height: 1; font-size: 1rem; cursor: pointer;
  background: linear-gradient(180deg, #f2f3f5, #a7abb3); border: 1px solid #5b5f67;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 2px 4px rgba(0,0,0,.25);
}
#djbtn.live {
  background: linear-gradient(180deg, #ff6a4d, #a51f16); color: #fff; border-color: #7c150e;
  animation: djpulse .53s ease-in-out infinite;
}
@keyframes djpulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.09); } }
#djbtn:focus-visible { outline: 2px solid #e23b2e; outline-offset: 2px; }
#djlabel {
  position: fixed; top: 52px; right: 12px; z-index: 70; max-width: min(340px, 72vw); text-align: right;
  font: 800 0.6rem/1.3 ui-sans-serif, system-ui, sans-serif; letter-spacing: 0.1em; text-transform: uppercase;
  color: #e23b2e; background: rgba(0,0,0,.08); padding: 6px 10px; border-radius: 12px;
  opacity: 0; transition: opacity .2s ease; pointer-events: none;
}
#djlabel.show { opacity: 1; }
@media (prefers-color-scheme: dark) { #djlabel { color: #ff7a5f; background: rgba(255,255,255,.08); } }
@media (prefers-reduced-motion: reduce) { #djbtn.live { animation: none; } }

/* DOOM-metal track: hellish red vignette */
body.doom::after {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 40;
  box-shadow: inset 0 0 220px 70px rgba(170,0,0,.4);
  animation: doompulse 1.05s ease-in-out infinite;
}
@keyframes doompulse { 0%,100% { opacity: .65; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { body.doom::after { animation: none; opacity: .8; } }
