#now-playing{
  position:fixed;
  bottom:10px;
  left:48px;
  z-index:30;
  pointer-events:auto;
}

#now-playing a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px; /* circular rectangle / pill */
  background:rgba(250,250,247,0.92);
  backdrop-filter: blur(6px);
  text-decoration:none;
  color:var(--ink);
  max-width:260px;
  transition:transform .2s ease, border-color .2s ease;
}

#now-playing a:hover{
  transform:translateY(-2px);
  border-color:var(--red);
}

.np-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--red);
  flex:0 0 auto;
}

.np-text{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}

.np-label{
  font-size:11px;
  color:var(--muted);
  letter-spacing:0.4px;
  text-transform:uppercase;
}

.np-song{
  font-size:13px;
  font-family: Georgia, serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.panel-footer{
  padding:18px 36px 28px;
  border-top:1px solid var(--line);
}

#open-full{
  all:unset;
  cursor:pointer;

  display:inline-flex;
  align-items:center;
  gap:8px;

  font-family: Georgia, serif;
  font-size:13px;
  color:var(--muted);

  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;

  transition:all .25s ease;
  background:rgba(250,250,247,0.6);
}

#open-full:hover{
  color:var(--ink);
  border-color:var(--red);
  transform:translateY(-1px);
}

#open-full::after{
  content:"↗";
  font-size:12px;
  color:var(--red);
}

.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.lightbox img {
  max-width: 90%;
  max-height: 90%;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  cursor: zoom-out;
}

header h1 a.home-link{
  color:inherit;
  text-decoration:none;
}

header h1 a.home-link:hover{
  color:var(--red);
}