/* ======================================================================
   ADIMASTER RELEASE 34 — REACTOR PLAYER V4 — PLAYER ONLY
   Baseline: R30 DESKTOP-30-PARITY-HUD-LANGUAGE
   Scope: #heroFeature after it is moved into #adiPersistentPlayerDock.
   No boot, routing, Gateway, Artist, Gear, Travel or audio-engine changes.
   ====================================================================== */

#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34{
  --rp34-bg:#040a13;
  --rp34-panel:#07111e;
  --rp34-cyan:#49eaff;
  --rp34-cyan2:#79f5ff;
  --rp34-pink:#e955c7;
  --rp34-violet:#8b5cff;
  --rp34-green:#50f2c5;
  --rp34-red:#ef5364;
  --rp34-text:#f1f8ff;
  --rp34-dim:#72899b;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  padding:8px!important;
  border:1px solid rgba(92,229,255,.26)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  transform:none!important;
  background:
    radial-gradient(circle at 63% 115%,rgba(126,70,255,.11),transparent 42%),
    radial-gradient(circle at 14% -25%,rgba(45,224,255,.09),transparent 42%),
    linear-gradient(155deg,rgba(5,14,25,.985),rgba(2,7,14,.985))!important;
  box-shadow:
    0 24px 68px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(255,255,255,.018),
    0 0 30px rgba(57,224,255,.05)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34:hover{
  transform:none!important;
  border-color:rgba(92,229,255,.34)!important;
  box-shadow:0 26px 72px rgba(0,0,0,.57),0 0 34px rgba(57,224,255,.07)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34::after{display:none!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  padding:0!important;
  border-radius:18px!important;
  pointer-events:none!important;
  opacity:.7!important;
  background:
    linear-gradient(90deg,rgba(73,234,255,.58),transparent 12%,transparent 88%,rgba(233,85,199,.46)) top/100% 1px no-repeat,
    linear-gradient(90deg,rgba(73,234,255,.20),transparent 35%,rgba(233,85,199,.18)) bottom/100% 1px no-repeat!important;
  -webkit-mask:none!important;
  mask:none!important;
}

/* TOP MODE RAIL -------------------------------------------------------- */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpTopline{
  min-height:31px!important;
  padding:0 7px 6px!important;
  gap:8px!important;
  justify-content:flex-start!important;
  border-bottom:1px solid rgba(255,255,255,.035)!important;
  font-size:7px!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpModeSwitch{
  order:1!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpModeSwitch button{
  position:relative!important;
  min-width:76px!important;
  height:25px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 9px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:7px!important;
  background:rgba(3,9,17,.62)!important;
  color:#8599a8!important;
  box-shadow:inset 0 0 16px rgba(255,255,255,.01)!important;
  font-size:7px!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
  cursor:pointer!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpModeSwitch button:hover{
  border-color:rgba(101,231,255,.20)!important;
  color:#d8eff8!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpModeSwitch button.active{
  color:#e9fdff!important;
  border-color:rgba(82,241,203,.25)!important;
  background:linear-gradient(180deg,rgba(79,241,201,.075),rgba(4,12,21,.70))!important;
  box-shadow:inset 0 0 17px rgba(80,242,197,.025),0 0 16px rgba(72,229,255,.025)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpModeDot{
  display:block!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  border-radius:50%!important;
  background:var(--rp34-red)!important;
  box-shadow:0 0 7px rgba(239,83,100,.28)!important;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpModeSwitch button.active .qpModeDot{
  background:var(--rp34-green)!important;
  box-shadow:0 0 9px rgba(80,242,197,.88),0 0 17px rgba(80,242,197,.24)!important;
  transform:scale(1.08)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.isPlaying .qpModeSwitch button.active .qpModeDot{
  animation:rp34ModePulse 1.7s ease-in-out infinite!important;
}
@keyframes rp34ModePulse{50%{box-shadow:0 0 12px rgba(80,242,197,1),0 0 23px rgba(80,242,197,.34)}}

/* Keep source label for the existing JS contract, but visually make it a
   tiny system indicator rather than a third MUSIC/RADIO label. */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpLiveMark34{
  order:2!important;
  margin-left:auto!important;
  gap:5px!important;
  color:#60778a!important;
  opacity:.72!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpLiveMark34>i{
  width:5px!important;height:5px!important;
  background:var(--rp34-cyan)!important;
  box-shadow:0 0 8px rgba(73,234,255,.58)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpLiveMark34>em{
  font-size:6px!important;
  letter-spacing:.13em!important;
  color:#60778a!important;
}

/* MAIN PLAYER ---------------------------------------------------------- */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpMain{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:13px!important;
  min-height:168px!important;
  padding:10px!important;
  border:1px solid rgba(86,229,255,.09)!important;
  border-radius:13px!important;
  background:
    radial-gradient(circle at 12% 42%,rgba(73,234,255,.045),transparent 35%),
    linear-gradient(152deg,rgba(8,18,31,.96),rgba(3,9,17,.91))!important;
  box-shadow:inset 0 0 28px rgba(31,116,170,.025)!important;
}

/* album art */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpCoverStage{
  align-self:center!important;
  width:112px!important;
  height:112px!important;
  min-height:112px!important;
  aspect-ratio:1!important;
  border-radius:11px!important;
  transform:none!important;
  box-shadow:0 14px 30px rgba(0,0,0,.46)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpCoverGlow{
  inset:-12%!important;
  filter:blur(15px)!important;
  opacity:.65!important;
  background:radial-gradient(circle,rgba(57,226,255,.15),rgba(136,72,255,.075) 37%,transparent 68%)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpCoverStage img{
  border-radius:10px!important;
  border:1px solid rgba(93,229,255,.22)!important;
  box-shadow:0 0 0 1px rgba(229,75,194,.055),0 0 22px rgba(74,224,255,.055)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpCorner{
  width:12px!important;height:12px!important;
  opacity:.72!important;
  border-color:var(--rp34-cyan)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpScan{opacity:.5!important}

/* track metadata */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpData{
  min-width:0!important;
  justify-content:flex-start!important;
  padding-top:1px!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpEyebrow{
  margin:0 0 3px!important;
  color:#75f3ff!important;
  font-size:6px!important;
  font-weight:950!important;
  letter-spacing:.19em!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpData h2{
  display:block!important;
  margin:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  font-size:18px!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
  color:var(--rp34-text)!important;
  text-shadow:0 0 18px rgba(73,234,255,.055)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpData p{
  display:block!important;
  min-height:0!important;
  margin:3px 0 3px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  color:#7d91a2!important;
  font-size:7px!important;
  line-height:1.25!important;
}

/* subtle waveform + progress */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave{
  height:14px!important;
  margin:0 0 1px!important;
  padding:0 1px!important;
  gap:2px!important;
  opacity:.9!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span{
  width:2px!important;
  border-radius:3px!important;
  background:linear-gradient(to top,var(--rp34-pink),var(--rp34-cyan))!important;
  box-shadow:0 0 6px rgba(73,234,255,.14)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(1){height:22%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(2){height:48%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(3){height:76%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(4){height:42%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(5){height:90%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(6){height:58%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(7){height:34%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(8){height:69%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(9){height:88%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(10){height:51%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(11){height:30%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpWave span:nth-child(12){height:61%!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpSeekWrap{
  margin:0 0 1px!important;
  gap:6px!important;
  color:#536c7f!important;
  font-size:6px!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpSeekWrap span{width:27px!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 #qpSeek{height:10px!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 #qpSeek::-webkit-slider-runnable-track{
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,rgba(73,234,255,.92),rgba(233,85,199,.72))!important;
  box-shadow:0 0 8px rgba(73,234,255,.10)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 #qpSeek::-webkit-slider-thumb{
  width:8px!important;height:8px!important;margin-top:-3px!important;
  border:1px solid #d5fbff!important;
  background:#4ce8ec!important;
  box-shadow:0 0 10px rgba(76,232,236,.70)!important;
}

/* REACTOR TRANSPORT ---------------------------------------------------- */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpControls{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:24px!important;
  min-height:64px!important;
  margin:0!important;
  padding:0!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpControls::before,
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpControls::after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:46px!important;
  height:1px!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,transparent,rgba(73,234,255,.28))!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpControls::before{right:calc(50% + 43px)!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpControls::after{left:calc(50% + 43px)!important;transform:scaleX(-1)!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpControls button:not(.qpPlay){
  width:31px!important;
  height:31px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:50%!important;
  color:#d9ecf7!important;
  background:rgba(4,10,18,.80)!important;
  box-shadow:inset 0 0 13px rgba(255,255,255,.012)!important;
  font-size:16px!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpControls button:not(.qpPlay):hover{
  transform:none!important;
  border-color:rgba(73,234,255,.30)!important;
  color:#fff!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpPlay{
  position:relative!important;
  isolation:isolate!important;
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  border:1px solid rgba(95,236,255,.62)!important;
  border-radius:50%!important;
  color:#dffcff!important;
  background:
    radial-gradient(circle at 44% 40%,rgba(75,239,255,.30),rgba(28,88,150,.20) 34%,rgba(11,24,55,.95) 60%,rgba(3,8,17,.98) 73%)!important;
  box-shadow:
    0 0 0 5px rgba(59,222,255,.055),
    0 0 0 9px rgba(139,92,255,.035),
    0 0 25px rgba(69,228,255,.30),
    0 0 40px rgba(233,85,199,.08),
    inset 0 0 18px rgba(95,236,255,.17)!important;
  font-size:15px!important;
  text-shadow:0 0 9px rgba(113,246,255,.8)!important;
  transition:box-shadow .2s ease,transform .2s ease!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpPlay::before,
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpPlay::after{
  content:""!important;
  position:absolute!important;
  pointer-events:none!important;
  border-radius:50%!important;
  z-index:-1!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpPlay::before{
  inset:-8px!important;
  border:1px solid rgba(73,234,255,.34)!important;
  border-left-color:rgba(233,85,199,.58)!important;
  border-right-color:rgba(139,92,255,.50)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpPlay::after{
  inset:-14px!important;
  border:1px dashed rgba(104,230,255,.16)!important;
  border-top-color:rgba(233,85,199,.32)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.isPlaying .qpPlay{
  box-shadow:
    0 0 0 5px rgba(59,222,255,.075),
    0 0 0 9px rgba(139,92,255,.045),
    0 0 30px rgba(69,228,255,.40),
    0 0 48px rgba(233,85,199,.11),
    inset 0 0 20px rgba(95,236,255,.22)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.isPlaying .qpPlay::before{animation:rp34RingA 4.8s linear infinite!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.isPlaying .qpPlay::after{animation:rp34RingB 7s linear infinite reverse!important}
@keyframes rp34RingA{to{transform:rotate(360deg)}}
@keyframes rp34RingB{to{transform:rotate(360deg)}}

/* continuous play becomes a secondary status strip, not a competing CTA */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpContinuous{
  width:auto!important;
  min-width:126px!important;
  min-height:24px!important;
  margin:-2px auto 0!important;
  padding:3px 8px!important;
  justify-content:center!important;
  gap:6px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#60788a!important;
  box-shadow:none!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpContinuous:hover{
  background:rgba(73,234,255,.025)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpToggle{
  width:25px!important;height:14px!important;
  border-color:rgba(255,255,255,.08)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpToggle i{
  left:2px!important;top:2px!important;
  width:8px!important;height:8px!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpContinuous.active .qpToggle i{left:13px!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpContinuousText strong{
  font-size:6px!important;
  letter-spacing:.13em!important;
  color:#668094!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpContinuous.active .qpContinuousText strong{color:#6ef1d6!important}

/* RADIO --------------------------------------------------------------- */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpRadioPresets{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  margin:4px 0 2px!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpRadioPresets button{
  min-height:29px!important;
  padding:4px 2px!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:7px!important;
  background:rgba(3,9,17,.68)!important;
  color:#6c8192!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpRadioPresets strong{
  font-size:6px!important;
  color:#9bb0bf!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpRadioPresets span{
  margin-top:1px!important;
  font-size:5px!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpRadioPresets button.active{
  border-color:rgba(80,242,197,.28)!important;
  background:linear-gradient(180deg,rgba(80,242,197,.075),rgba(3,9,17,.70))!important;
  box-shadow:0 0 13px rgba(80,242,197,.04)!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.radioMode .qpData p{margin-bottom:1px!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.radioMode .qpWave{height:10px!important;margin-bottom:0!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.radioMode .qpControls{min-height:61px!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.radioMode .qpPlay{width:60px!important;height:60px!important;flex-basis:60px!important}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34.radioMode .qpCoverStage img{
  object-fit:contain!important;
  padding:18px!important;
  background:radial-gradient(circle at 50% 45%,rgba(54,232,255,.08),rgba(4,10,17,.82) 64%)!important;
}

/* footer */
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpFooter{
  min-height:25px!important;
  padding:3px 7px 0!important;
  border-top:0!important;
  color:#536b7e!important;
  font-size:6px!important;
  letter-spacing:.13em!important;
}
#adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpFooter a{
  color:#54eaff!important;
  font-weight:950!important;
}

/* DESKTOP dock proportions -------------------------------------------- */
@media(min-width:761px){
  #adiPersistentPlayerDock{
    width:min(470px,calc(100vw - 36px))!important;
  }
  #adiPersistentPlayerDock #heroFeature.adiReactorPlayer34{
    min-height:0!important;
  }
}

/* MOBILE: preserve R30 dock behavior. Only the opened player receives
   the new visual skin; boot and breakpoint logic are untouched. */
@media(max-width:760px){
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34{
    width:100%!important;
    max-height:min(72vh,560px)!important;
    padding:7px!important;
    border-radius:17px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpTopline{
    min-height:30px!important;
    padding:0 5px 5px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpModeSwitch{
    width:100%!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpModeSwitch button{
    flex:1 1 0!important;
    min-width:0!important;
    height:29px!important;
    font-size:8px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpLiveMark34{display:none!important}
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpMain{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
    min-height:0!important;
    padding:8px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpCoverStage{
    width:106px!important;
    height:106px!important;
    min-height:106px!important;
    margin:1px auto 0!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpData{
    width:100%!important;
    align-items:center!important;
    text-align:center!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpEyebrow{font-size:7px!important}
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpData h2{
    max-width:100%!important;
    font-size:18px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpData p{
    max-width:100%!important;
    font-size:7px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpWave{
    width:min(210px,82%)!important;
    justify-content:center!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpSeekWrap{
    width:100%!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpControls{
    width:100%!important;
    min-height:72px!important;
    gap:31px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpPlay{
    width:62px!important;height:62px!important;flex-basis:62px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpControls button:not(.qpPlay){
    width:34px!important;height:34px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpContinuous{
    min-height:25px!important;
    margin:0 auto!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpRadioPresets{
    width:100%!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpRadioPresets button{
    min-height:32px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpFooter{
    min-height:24px!important;
  }
}

@media(max-width:390px){
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpCoverStage{
    width:92px!important;height:92px!important;min-height:92px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpControls{gap:25px!important}
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpPlay{
    width:56px!important;height:56px!important;flex-basis:56px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpModeDot,
  #adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpPlay::before,
  #adiPersistentPlayerDock #heroFeature.adiReactorPlayer34 .qpPlay::after{
    animation:none!important;
  }
}

/* R34 mobile conflict shield: old R30 portrait rules intentionally remain in
   the package, but these higher-specificity final rules prevent them from
   clipping the new Reactor layout. */
@media(max-width:760px){
  #adiPersistentPlayerDock.userExpandedMobile{
    max-height:78dvh!important;
    height:auto!important;
    overflow:visible!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34{
    max-height:none!important;
    overflow:visible!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpMain{
    max-height:none!important;
    overflow:visible!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpCoverStage{
    min-width:106px!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpData{
    overflow:visible!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpData p{
    display:block!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpFooter{
    display:flex!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpContinuous{
    display:flex!important;
  }
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34.radioMode .qpContinuous{
    display:none!important;
  }
}
@media(max-width:390px){
  #adiPersistentPlayerDock.userExpandedMobile #heroFeature.adiReactorPlayer34 .qpCoverStage{
    min-width:92px!important;
  }
}
