html {
    font-family: sans-serif;
    background: #eee;
    padding: 1rem;
    font-size: 16px
}
body {
    width: 100%;
    max-width: 600px;
    margin: 2rem auto;
    background: white;
}
h1 { font-family: serif; color: #377ba8; margin: 1rem 0; }
a { color: #377ba8; }
hr { border: none; border-top: 1px solid lightgray; }
nav {
    background: lightgray;
    display: flex;
    align-items: center;
    padding: 0 0.5rem;
}
nav h1 { flex: auto; margin: 0; }
nav h1 a { text-decoration: none; padding: 0.25rem 0.5rem; }
nav ul  { display: flex; list-style: none; margin: 0; padding: 0; }
nav ul li a, nav ul li span, header .action { display: block; padding: 0.5rem; }
.content { padding: 0 1rem 1rem; }
.content > header { border-bottom: 1px solid lightgray; display: flex; align-items: flex-end; }
.content > header h1 { flex: auto; margin: 1rem 0 0.25rem 0; }
.flash { margin: 1em 0; padding: 1em; background: #cae6f6; border: 1px solid #377ba8; }
.post { background: #f0f0f0; border-radius: 20px; padding: 1.5rem; } /* <- TODO */
.post > header { display: flex; align-items: flex-end; font-size: 0.85em; }
.post > header > div:first-of-type { flex: auto; }
.post > header h1 { font-size: 1.5em; margin-bottom: 0; }
.post .about { color: slategray; font-style: italic; }
.post .body { white-space: pre-line; }
.content:last-child { margin-bottom: 0; }
.content form { margin: 1em 0; display: flex; flex-direction: column; }
.content label { font-weight: bold; margin-bottom: 0.5em; }
.content input, .content textarea { margin-bottom: 1em; }
.content textarea { min-height: 12em; resize: vertical; }
input.danger { color: #cc2f2e; }
input[type=submit] { align-self: start; min-width: 10em; }

button, input[type=submit] {
  background-color: #377ba8;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  margin: 0.5rem 0;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s;
}

button:active, input[type=submit]:active {
  background-color: #265676;
}

button:disabled, input[type=submit]:disabled {
  background-color: #cccccc; 
  color: #888888;            
  cursor: not-allowed;       
  opacity: 0.6;              
  box-shadow: none;
}


#recordings-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1rem;
}

.audio-track {
  background: #f8f9fa;
  padding: 0.75rem;
  border-radius: 6px;
  border: 1px solid #e9ecef;
  display: flex;
  align-items: center;
}

.play-track-button {
  background-color: #377ba8 !important;
  color: white !important;
  border: none;
  padding: 0.5rem 1rem !important;
  font-size: 0.9rem !important;
  font-weight: bold;
  border-radius: 4px !important;
  cursor: pointer;
  width: auto !important; 
  margin: 0 !important; 
}


/* tweaks for mobile */
@media (max-width: 480px) {
  nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
  }

  nav h1 {
    font-size: 1.5rem; /* Shrinks "Magic Moments" slightly so it fits on one line */
    margin: 0;
  }

  nav ul {
    display: flex;
    gap: 10px; /* Puts a clean gap between Register and Log In */
    margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap; /* Prevents "Log In" from breaking into two lines */
  }

  h1 {
      font-size: 1.5rem; margin: 0;
     }
}
