#jukebox{
  position:fixed; left:16px; bottom:16px; z-index:2000;
  background:var(--card); color:var(--text);
  border:1px solid var(--border); border-radius:12px;
  box-shadow:var(--shadow); padding:8px 10px;
  display:flex; align-items:center; gap:10px;
}
#jukebox button{
  background:var(--accent); color:#fff; border:none; cursor:pointer;
  padding:6px 10px; border-radius:10px; font-weight:600; transition:filter .15s ease;
}
#jukebox button:hover{ filter:brightness(1.05); }
#jukebox .track{ font-size:.9rem; color:var(--muted); max-width:220px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#yt-player{ width:0; height:0; overflow:hidden; }

/* === Mobile floating jukebox (center-left) === */
@media (max-width: 768px) {
  #jukebox {
    position: fixed;
    left: 8px;
    top: 75%;
    transform: translateY(-50%);
    bottom: auto;
    right: auto;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    border-radius: 14px;
    padding: 10px;
    width: auto;
    height: auto;
    z-index: 2000;
    box-shadow: var(--shadow);
  }

  #jukebox button {
    padding: 8px 10px;
    border-radius: 50%;
    font-size: 0.85rem;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;      /* ensures ::after stays inside the circle */
  }

  #jukebox button span {
    opacity: 0;            /* hides text without shifting layout */
  }

  #jukebox button::after {
    content: "Rand";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    font-size: 0.85rem;
    color: inherit;
    opacity: 1;
  }

  #jukebox .track {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 0.75rem;
    max-height: 120px;
    max-width: none;
    white-space: normal;
    text-align: center;
    color: var(--muted);
  }
}
