html, body {
  margin: 0;
  padding: 0;
  background: #333; /* Dark grey */
  color: #a020f0;   /* Purple */
  font-family: "Lucida Console", "Courier New", monospace;
}

#app {
  padding: 20px;
  border: 2px solid #a020f0;
  margin: 20px;
}

/* programma 900 in Arial */
h2 {
  font-family: Arial, sans-serif;
  color: #a020f0;
  margin-top: 0;
}

h4 {
  color: #a020f0;
  margin-top: 0;
}

select,
button,
input[type="checkbox"],
input[type="file"],
label {
  font-family: "Lucida Console", "Courier New", monospace;
  background: #333;
  color: #a020f0;
  border: 1px solid #a020f0;
}

/* Buttons in general */
button {
  cursor: pointer;
}

/* Hover for ALL buttons */
button:hover {
  background: #a020f0;
  color: #333;
}

/* .tabBtn is also a button; these styles just ensure consistency */
.tabBtn {
  margin-right: 5px;
}

/* .tabContent styling */
.tabContent {
  margin-top: 20px;
  display: none;
}

/* Sliders layout */
.slidersContainer {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.sliderGroup {
  display: flex;
  flex-direction: column;
  width: 180px;
}

/* Toggle area */
.toggleBtns {
  margin-top: 10px;
}

/* Specialized buttons share same general hover behavior */
.resetDacBtn,
.modBtn,
.groupBtn {
  margin: 5px 0;
}

/* Physics area */
#physicsArea {
  display: flex;
  gap: 20px;
}
#physicsCanvas {
  border: 2px solid #a020f0;
}
#ballsPanel {
  display: flex;
  flex-direction: column;
  width: 300px;
}
#tabsForBalls {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.ballPanel {
  display: none;
  border: 1px solid #a020f0;
  padding: 8px;
  margin-bottom: 10px;
}
.ballPanel h4 {
  margin: 0 0 5px;
}

/* Active tab indicator (optional) */
.activeTab {
  font-weight: bold;
}
