/* Leaderboard.css - Only custom styles still needed for Leaderboard page */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;900&display=swap");

:root {
  --font-size-xl: 2.5rem;
  --font-size-lg: 1.45rem;
  --font-size-md: 1.25rem;
  --font-size-sm: 1.02rem;
  --font-weight-bold: 700;
  --font-weight-normal: 400;
  --text-high: hsl(0, 0%, 100%);
  --text-med: hsl(220, 20%, 85%);
  --text-low: hsl(220, 20%, 70%);
  --text-accent: hsl(220, 100%, 75%);
  --space-xs: 0.4rem;
  --space-sm: 0.7rem;
  --space-md: 1.2rem;
  --space-lg: 2rem;
  --space-xl: 2.5rem;
}

/* --- PREDICTIONS (MY PICKS) STYLES --- */
.prediction__container {
  color: rgba(255, 255, 255, 0.92);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) 0;
  text-align: center;
}
.race-info-card {
  background: rgba(40, 50, 80, 0.85);
  border-radius: 1rem;
  box-shadow: 0 2px 12px 0 rgba(60, 120, 255, 0.08);
  padding: var(--space-md) var(--space-md) var(--space-sm) var(--space-md);
  margin-bottom: var(--space-md);
  width: 100%;
  max-width: 440px;
}
.prediction__container .form-group {
  display: flex;
  align-items: center;
  margin-bottom: var(--space-sm);
  width: 100%;
  max-width: 440px;
  gap: var(--space-sm);
}
.prediction__container label {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--text-low);
  white-space: nowrap;
  flex: 0 0 110px;
  margin-right: 0;
  text-align: right;
}
.prediction__container select {
  flex: 1 1 0;
  width: 100%;
  min-width: 0;
  padding: 0.38rem 0.7rem;
  border-radius: 0.5rem;
  border: 1.5px solid #3b82f6;
  background: rgba(24, 30, 44, 0.95);
  color: #fff;
  font-size: var(--font-size-sm);
  font-family: "Inter", Arial, sans-serif;
  transition: border 0.2s, box-shadow 0.2s;
}
.prediction__container select:focus {
  outline: none;
  border-color: #60a5fa;
  box-shadow: 0 0 0 2px #3b82f6;
}
.prediction__container h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.7rem;
  color: #fff;
}
.picks-heading {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-normal);
  color: var(--text-high);
  margin-bottom: var(--space-xs);
}
.prediction-race-name {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--text-high);
  margin-top: 0.1em;
  margin-bottom: var(--space-md);
}
.race-info-timer {
  margin-bottom: var(--space-sm);
  color: var(--text-med);
}
.firstplace select,
.secondplace select,
.thirdplace select,
.fourthplace select,
.fifthplace select,
.sixthplace select,
.seventhplace select {
  min-width: 90px;
}
.prediction__container .submitpredictions__btn {
  margin-top: var(--space-md);
  padding: var(--space-sm) var(--space-lg);
  border: none;
  border-radius: 0.5rem;
  background: linear-gradient(to right, #3b82f6, #8b5cf6);
  color: #fff;
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: background 0.2s;
  align-self: flex-end;
}
.submitpredictions__btn:hover {
  background: linear-gradient(to right, #2563eb, #7c3aed);
}
.error-highlight {
  border: 2px solid #e63946 !important;
}
.popup {
  margin-top: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: 0.5rem;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  display: none;
}
.popup-success {
  background: #38b000;
  color: #fff;
}
.popup-error {
  background: #e63946;
  color: #fff;
}
