:root {
  --accent: #d7ff3f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: 'Raleway', sans-serif;
  color: #f2efe8;
  background: linear-gradient(to right, #e8c14a 0%, #d4af37 45%, #1e3a8a 55%, #0f1f5e 100%);
  min-height: 100vh;
}

.font-display { font-family: 'Bebas Neue', sans-serif; }

.hero-grid {
  background-image: 
    linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 30px 30px;
}

/* Book Cards */
.book-card {
  transition: all .28s ease;
}
.book-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 25px -5px rgba(95, 95, 95, 0.1);
}

/* Preview Window */
.preview-window {
  position: relative;
  height: 480px;
  width: 420px;
  overflow: hidden;
  border: 1px solid rgba(209, 208, 208, 0.109);
  background: rgba(178, 178, 178, 0.35);
  backdrop-filter: blur(10px);
}

.preview-track {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  animation: previewScroll 70s linear infinite;
}

.preview-window:hover .preview-track {
  animation-play-state: paused;
}

@keyframes previewScroll {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}

/* Modal Scrollbar */
.custom-scroll {
  scrollbar-width: thin;
  scrollbar-color: #d4af37 #374151;
}

.custom-scroll::-webkit-scrollbar { width: 8px; }
.custom-scroll::-webkit-scrollbar-track {
  background: #374151;
  border-radius: 20px;
}
.custom-scroll::-webkit-scrollbar-thumb {
  background: #d4af37;
  border-radius: 20px;
}
.custom-scroll::-webkit-scrollbar-thumb:hover {
  background: #e8c14a;
}

/* Modal Animation */
.modal {
  animation: modalPop .3s ease;
}
@keyframes modalPop {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}