/* 弹跳效果 */
.book-container {
  cursor: pointer;
}

.book-container:active {
  animation: bounce 0.5s ease;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* 二维码弹窗 */
.qr-popup {
  position: absolute;
  inset: 10px;
  background: rgba(30, 41, 59, 0.98);
  border-radius: 8px;
  border: 2px solid #4CAF50;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.9);
  transition: opacity 0.15s ease-out,
              visibility 0.15s ease-out,
              transform 0.15s ease-out;
  z-index: 10;
  padding: 10px;
  min-height: auto;
}

.qr-popup:has(img[src*="bilibili"]) {
  padding: 5px;
  inset: 5px;
}

.book-container:hover .qr-popup,
a:hover .qr-popup {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.qr-popup img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.qr-popup img[src*="bilibili"] {
  width: 200px;
  height: 152px;
}

.qr-popup p {
  margin-top: 8px;
  font-size: 12px;
  color: #9CA3AF;
  text-align: center;
}