.tubes-board {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  max-width: 480px;
}

.tube {
  width: 56px;
  min-height: 180px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 3px;
  position: relative;
}

.tube::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: #94A3B8;
  border-radius: 0 0 8px 8px;
}

.tube.selected .tube-slot {
  outline: 3px solid #FBBF24;
  outline-offset: 2px;
}

.tube-slot {
  width: 48px;
  height: 36px;
  border-radius: 6px 6px 2px 2px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  transition: transform 0.15s;
}

.tube-empty {
  width: 48px;
  height: 144px;
  border: 3px dashed #CBD5E1;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
}

.color-red { background: #EF4444; }
.color-blue { background: #3B82F6; }
.color-green { background: #22C55E; }
.color-yellow { background: #EAB308; }
.color-purple { background: #A855F7; }

@media (max-width: 400px) {
  .tube { width: 48px; min-height: 150px; }
  .tube-slot { width: 40px; height: 30px; }
}
