/* Reset and base */
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  background-color: #121212;
  color: #e0e0e0;
  text-align: center;
  padding: 2rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Header styles */
header {
  margin-bottom: 2rem;
}

h1 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #1db954; /* Spotify green */
}

.tagline {
  font-size: 1.125rem;
  color: #b3b3b3;
  font-weight: 400;
}

/* Buttons */
button {
  padding: 0.75rem 2rem;
  font-size: 1.125rem;
  margin-top: 1.5rem;
  border: none;
  border-radius: 30px;
  background-color: #1db954;
  color: white;
  cursor: pointer;
  transition: background-color 0.3s ease;
  box-shadow: 0 4px 12px rgba(29, 185, 84, 0.4);
}

button:hover,
button:focus {
  background-color: #1ed760;
  outline: none;
  box-shadow: 0 6px 16px rgba(29, 215, 100, 0.6);
}

/* Select dropdown */
select {
  margin-top: 1.5rem;
  padding: 0.5rem 2.5rem 0.5rem 1rem; /* extra right padding for arrow */
  font-size: 1rem;
  border-radius: 12px;
  border: 1px solid #333;
  background-color: #222;
  color: #eee;
  appearance: none; /* Remove default arrow */
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  max-width: 90%;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.5);
  
  /* Add arrow using SVG data URI */
  background-image: url('data:image/svg+xml;utf8,<svg fill="%23eee" height="12" viewBox="0 0 24 24" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 12px;
}

/* Hide default dropdown arrow on some browsers */
select::-ms-expand {
  display: none;
}
.hidden {
  display: none !important;
}

/* Responsive */
@media (max-width: 600px) {
  body {
    padding: 1rem;
  }
  h1 {
    font-size: 2rem;
  }
  button {
    font-size: 1rem;
    padding: 0.6rem 1.5rem;
  }
  select {
    font-size: 0.9rem;
  }
}