@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap');

/* Global styles */
body {
  font-family: 'Crimson Text', serif;
  background-attachment: fixed;
}

/* Gold color utilities */
.text-gold-400 {
  color: #fbbf24;
}

.text-gold-300 {
  color: #fcd34d;
}

.border-gold-400 {
  border-color: #fbbf24;
}

.bg-gold-800 {
  background-color: #92400e;
}

/* House colors */
.text-red-400 {
  color: #f87171;
}

.text-blue-400 {
  color: #60a5fa;
}

.text-green-400 {
  color: #4ade80;
}

.text-yellow-400 {
  color: #facc15;
}

/* Magical effects */
.magical-glow {
  box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
  animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
  from {
    box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
  }
  to {
    box-shadow: 0 0 30px rgba(139, 92, 246, 0.6);
  }
}

/* Typewriter cursor */
.typewriter::after {
  content: '|';
  animation: blink 1s infinite;
}

@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

/* Hover effects for magical feel */
.choice-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

/* Scroll styling */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.3);
}

::-webkit-scrollbar-thumb {
  background: rgba(139, 92, 246, 0.6);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(139, 92, 246, 0.8);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .grid-cols-4 {
    grid-template-columns: 1fr;
  }
  
  .text-4xl {
    font-size: 2rem;
  }
}

/* Progress bar animations */
.bg-blue-500, .bg-red-500, .bg-pink-500, .bg-green-500, .bg-yellow-500 {
  transition: width 0.5s ease-in-out;
}

/* Button press effects */
button:active {
  transform: scale(0.98);
}

/* Card hover effects */
.bg-black:hover {
  background-color: rgba(0, 0, 0, 0.7);
}