:root {
  --background-dark: #1A1A1A;
  --primary-glow: #F0B90B;
  --secondary-glow: #FFD700;
  --text-color: #E0E0E0;
  --border-color: rgba(240, 185, 11, 0.2);
  --card-bg: rgba(40, 40, 40, 0.6);
}
body {
  margin: 0;
  background-color: var(--background-dark);
  color: var(--text-color);
  font-family: 'VT323', monospace;
  background-image:
    linear-gradient(rgba(240, 185, 11, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240, 185, 11, 0.03) 1px, transparent 1px);
  background-size: 20px 20px;
  animation: background-pan 10s linear infinite;
  overflow-x: hidden;
  position: relative;
  min-height: 100vh;
}
main {
  margin: 0 auto;
  padding: 2rem 1rem;
  max-width: 1280px;
}
.container { width: 100%; margin-left: auto; margin-right: auto; }
.absolute { position: absolute; }
.relative { position: relative; }
.top-6 { top: 1.5rem; }
.right-6 { right: 1.5rem; }
.z-50 { z-index: 50; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.text-center { text-align: center; }
.space-y-12 > *:not(:first-child) { margin-top: 3rem; }
.space-y-4 > *:not(:first-child) { margin-top: 1rem; }
.text-8xl { font-size: 6rem; }
.text-4xl { font-size: 2.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-xl { font-size: 1.25rem; }
.text-sm { font-size: 0.875rem; }
.font-bold { font-weight: 700; }
.glow-text { text-shadow: 0 0 5px var(--primary-glow), 0 0 10px var(--primary-glow); }
.animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
@keyframes pulse { 50% { opacity: .5; } }
.text-gray-400 { color: #9ca3af; }
.text-gray-500 { color: #6b7280; }
.text-secondary-glow { color: var(--secondary-glow); }
.card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 1rem;
  backdrop-filter: blur(10px);
  box-shadow: 0 0 20px rgba(240, 185, 11, 0.1);
  animation: float 6s ease-in-out infinite;
  padding: 1.5rem;
  width: 100%;
}
@keyframes float { 0% { transform: translatey(0px); } 50% { transform: translatey(-10px); } 100% { transform: translatey(0px); } }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.max-w-md { max-width: 28rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-screen-xl { max-width: 1280px; }
.w-full { width: 100%; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.mt-2 { margin-top: 0.5rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.input-glow {
  flex-grow: 1;
  background: transparent;
  border: 2px solid var(--border-color);
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  color: var(--text-color);
  transition: all 0.3s;
}
.input-glow:focus { outline: none; border-color: var(--primary-glow); box-shadow: 0 0 10px var(--primary-glow); }
.btn-glow {
  padding: 0.5rem 1.5rem;
  border-radius: 0.375rem;
  transition: all 0.3s;
  background: var(--primary-glow);
  color: var(--background-dark);
  border: 1px solid var(--primary-glow);
  box-shadow: 0 0 5px var(--primary-glow), 0 0 15px var(--primary-glow);
  font-weight: bold;
  cursor: pointer;
}
.btn-glow:hover { box-shadow: 0 0 10px var(--primary-glow), 0 0 30px var(--primary-glow); transform: scale(1.05); }
.btn-glow:disabled { opacity: 0.5; cursor: not-allowed; box-shadow: none; transform: none; }
.break-all { word-break: break-all; }
.grid { display: grid; }
.info-box { background: rgba(13, 13, 26, 0.5); padding: 1rem; border-radius: 0.5rem; border: 1px solid var(--border-color); }


/* Styles for the "Back to website" link */
.back-link-container {
  width: 100%;
  text-align: center;
  /* Adjust margin if you want more or less space below the banner */
}

.back-link {
  color: #a0a0a0; /* A subtle grey */
  text-decoration: none;
  font-size: 1.125rem; /* 18px */
  transition: color 0.3s ease;
}

.back-link:hover {
  color: var(--primary-glow); /* Glows gold on hover */
  text-decoration: underline;
}

/* Layout for the stats cards container */
.stats-container {
  display: flex;
  flex-direction: column;
  gap: 2rem; /* Space between cards on mobile */
  width: 100%;
  align-items: center;
  justify-content: center;
}

/* On screens wider than 768px, make them side-by-side */
@media (min-width: 768px) {
  .stats-container {
    flex-direction: row;
    flex-wrap: wrap; /* Allows wrapping if more cards are added */
  }
}