body {
  font-family: sans-serif;
  padding: 20px;
  background: #f0f0f0;
}

button, select {
  margin: 5px;
  padding: 10px 15px;
  font-size: 16px;
  cursor: pointer;
}

#setup {
  margin-bottom: 20px;
}

#playerInputs input {
  margin: 5px;
  padding: 5px;
}

.tray {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.tray .draggable {
  background: #fff;
  border: 2px solid #ccc;
  padding: 10px;
  font-size: 24px;
  cursor: grab;
}

.drop-zone {
  border: 2px dashed #aaa;
  padding: 20px;
  margin: 10px 0;
  background: #fff;
  min-height: 60px;
  text-align: center;
}

#alertMeterContainer {
  width: 100%;
  height: 20px;
  background: #eee;
  border: 2px solid #ccc;
  margin-bottom: 10px;
}

#alertMeter {
  height: 100%;
  width: 0%;
  background: linear-gradient(to right, yellow, orange, red);
  transition: width 0.3s ease;
}

#supervisor {
  font-size: 48px;
  text-align: center;
  margin-top: 20px;
}

#overlay {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #fffbe6;
  border: 2px solid gold;
  padding: 15px;
  font-weight: bold;
  z-index: 1000;
}

.hidden {
  display: none;
}

.badge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.badge {
  padding: 10px;
  border: 2px solid #ccc;
  background: #fff;
  text-align: center;
  opacity: 0.5;
}

.badge.unlocked {
  border-color: gold;
  background: #fffbe6;
  opacity: 1;
}
