#visualization-area {
  width: 100%;
  height: 150px;  
  background-color: #f0f0f0; 
  margin-bottom: 20px; 
  border: 1px solid #ccc; 
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  flex-direction: column; 
  gap: 10px;
  position: relative; /* Add this line */
}

#chord-display {
  font-size: 3rem; 
  font-weight: bold;
}

#beat-indicator {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #333;
  animation: pulse 1s infinite; 
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

#chord-sequencer {
  display: grid;
  grid-template-columns: repeat(16, 1fr); /* 16 steps */
  gap: 5px;
  margin-bottom: 10px; 
}

#kick-sequencer, #snare-sequencer, #hihat-sequencer {
  display: grid;
  grid-template-columns: repeat(32, 1fr); /* 32 steps */
  gap: 5px;
  margin-bottom: 5px; /* Reduced margin */
}

.sequencer-cell {
  height: 30px;
  border: 1px solid #ccc;
  cursor: pointer;
  display: flex; 
  align-items: center;
  justify-content: center;
}

.sequencer-cell.active {
  background-color: #4CAF50;
}

#kick-sequencer .sequencer-cell,
#snare-sequencer .sequencer-cell,
#hihat-sequencer .sequencer-cell {
  height: 15px; 
}

.form-group {
  margin-bottom: 10px; 
}

.form-group label {
  margin-bottom: 3px; 
}

.row-label { 
  margin-bottom: 5px; 
  font-weight: bold; 
}

.row {
  margin-bottom: 15px; 
}

#tempo-display {
  font-size: 1.2rem;
  position: absolute;
  top: 10px;
  left: 10px;
}

#key-display {
  font-size: 1.2rem;
  position: absolute;
  top: 10px;
  right: 10px;
}