#fs { position: fixed; inset: 0; z-index: 50; background: #151515; overflow: hidden; display: flex; }
#fs .fs-bg { position: absolute; inset: -60px; background: center / cover no-repeat;
  filter: blur(60px) brightness(.4); }
#fs .fs-top { position: absolute; top: 14px; right: 18px; z-index: 5; display: flex; gap: 8px; align-items: center; }
#fs .fs-tab { background: rgba(0, 0, 0, .4); border: 0; color: var(--text); padding: 10px 14px;
  border-radius: 20px; cursor: pointer; font-size: 13px; }
#fs .fs-tab:hover { background: rgba(0, 0, 0, .65); }
#fs .fs-tab.on { background: var(--accent); }
#fs .fs-btn { background: rgba(0, 0, 0, .4); border: 0; color: var(--text); width: 40px; height: 40px;
  border-radius: 50%; font-size: 18px; cursor: pointer; }
#fs .fs-btn:hover { background: rgba(0, 0, 0, .65); }

#fs .fs-main { position: relative; z-index: 1; flex: 1; min-width: 0; display: flex;
  align-items: center; justify-content: center; padding: 70px 24px 24px; }
#fs .fs-inner { width: min(440px, 100%); display: flex; flex-direction: column; align-items: center; text-align: center; }
#fs .fs-art { width: min(380px, 78vw, 44vh); height: auto; aspect-ratio: 1; font-size: 90px;
  border-radius: 6px; box-shadow: 0 14px 44px rgba(0, 0, 0, .6); }
#fs .fs-title { font-size: 24px; margin-top: 26px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#fs .fs-artist { color: var(--dim); font-size: 15px; margin-top: 4px; min-height: 22px; }
#fs .fs-seek { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 26px; color: var(--dim); font-size: 12px; }
#fs .fs-seek input { flex: 1; accent-color: var(--accent); }
#fs .fs-controls { display: flex; align-items: center; gap: 14px; margin-top: 14px; }
#fs .fs-controls button { background: none; border: 0; color: var(--text); font-size: 30px; cursor: pointer; padding: 8px; }
#fs .fs-controls .big { font-size: 54px; color: var(--accent); }
#fs .fs-controls .sm { font-size: 20px; opacity: .55; }
#fs .fs-controls .sm.on { opacity: 1; color: var(--accent); }

#fs .fs-side { position: relative; z-index: 4; width: 380px; flex-shrink: 0; background: rgba(20, 20, 20, .86);
  backdrop-filter: blur(8px); border-left: 1px solid #333; padding: 70px 18px 18px; overflow-y: auto; }
@media (max-width: 800px) {
  #fs .fs-side { position: absolute; top: 0; right: 0; bottom: 0; width: min(100%, 380px); }
}