body {
  margin: 0;
  font-family: Arial, sans-serif;
  background-color: #121212;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.join-container {
  background: #222;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  text-align: center;
}

#roomInput,
#nameInput {
  padding: 0.5rem;
  width: 250px;
  font-size: 1rem;
  border-radius: 5px;
  border: none;
  margin-bottom: 1rem;
}

button {
  padding: 0.5rem 1rem;
  font-size: 1rem;
  background: #4caf50;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.join-container form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* put input + join on same line */
.input-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* keep input width; join button sizes to content */
#roomInput { width: 250px; }

/* spectator button on its own line, same width as input */
#spectatorBtn {
  width: 250px;
  background: #3a3a3a;      /* secondary look */
}
#spectatorBtn:hover {
  background: #4a4a4a;
}

/* optional: explicit primary style */
.btn-primary { background: #4caf50; }
.btn-primary:hover { background: #43a046; }

/* keep input + join on one line */
.input-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* unify sizing */
:root { --join-control-h: 42px; } /* tweak to taste */

.input-row #roomInput,
.input-row .btn-primary {
  height: var(--join-control-h);
  box-sizing: border-box;
  font-size: 1rem;
}

/* kill the input's bottom margin only in the row */
.input-row #roomInput {
  margin-bottom: 0;
  padding: 0 0.75rem;
}

/* center the button label perfectly */
.input-row .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;     /* horizontal padding only */
  line-height: 1;      /* avoid extra baseline slack */
}


