/* Johnny TV V2 — final CSS authority */
:root {
  --jtv-z-content:1;
  --jtv-z-dock:1000;
  --jtv-z-overlay:10000;
  --jtv-z-modal:100000;
  --jtv-z-auth:1000000;
}
button:focus-visible,a:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible {
  outline:3px solid var(--gold,#d4af37);
  outline-offset:3px;
}
.party-widget,.party-widget.active { left:auto; right:30px; }
.video-custom-controls { z-index:110; }
.overlay-container { z-index:99; pointer-events:none; }
@media (max-width:768px) {
  .party-widget,.party-widget.active {
    top:auto; left:10px; right:10px; bottom:80px;
    width:calc(100% - 20px); max-height:70vh; transform:none;
  }
  .chat-panel-sidebar { width:100vw; right:-100vw; }
  .chat-panel-sidebar.active { right:0; }
}
@media (max-width:480px) {
  .party-widget,.party-widget.active { bottom:140px; width:calc(100% - 20px); }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}
