/* Animations */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.fade-in {
  animation: fadeIn 0.5s ease-out;
}

/* Global Styles */
html, body {
  margin: 0;
  padding: 0;
  background: #121212;
  color: #e0e0e0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  font-size: 1.1rem;
}

/* Container */
.container, .container-fluid {
  margin-top: 10px;
  padding: 0 15px;
}

/* Card Styles */
.card {
  border: none;
  border-radius: 10px;
  overflow: hidden;
  background: #1e1e1e;
  margin-bottom: 15px;
}
.card-header, .card-footer {
  background: #2c2c2c;
  color: #ffffff;
  padding: 0.75rem 1rem;
}
.card-body {
  background: #242424;
  color: #e0e0e0;
  padding: 0.75rem 1rem;
}

/* Buttons */
.btn-primary {
  background-color: #0062cc;
  border-color: #0056b3;
  font-size: 1rem;
  padding: 0.5rem 1rem;
}
.btn-outline-light {
  color: #ffffff;
  border-color: #ffffff;
  font-size: 1rem;
}
.btn-outline-light:hover {
  background-color: #ffffff;
  color: #0062cc;
}

/* Canvas & Drawing Area */
.canvas-container {
  position: relative;
  width: 100%;
  height: 300px;
}
#drawCanvas {
  width: 100%;
  height: 100%;
  border: 2px solid #ffffff;
  border-radius: 5px;
}

/* List & Input */
.list-group-item {
  font-size: 0.95rem;
  padding: 0.5rem 0.75rem;
}
#joinLink {
  font-weight: bold;
}

/* Custom Lobby Card Spacing */
.custom-card {
  margin-bottom: 10px;
}

/* Responsive Adjustments */
@media (min-width: 768px) {
  .canvas-container {
    height: 450px;
  }
  .card-header h2,
  .card-header h4 {
    font-size: 1.5rem;
  }
  .card-body p, .card-body h4 {
    font-size: 1.1rem;
  }
}

/* Notification Adjustments for Mobile */
@media (max-width: 767px) {
  .alert {
    margin-bottom: 4px;
    padding: 0.5rem 0.75rem;
    font-size: 0.95rem;
  }
}

/* Color Circle for Player Avatars */
.color-circle {
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: middle;
}
