.cursors-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1000;
}

.cursor-container {
  position: absolute;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease-out, transform 0.1s linear;
  opacity: 0;
  pointer-events: none;
}

.cursor-container.visible {
  opacity: 1;
}

.cursor-icon {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
  transition: transform 0.15s ease-out;
}

.cursor-label {
  position: absolute;
  top: 20px;
  left: 14px;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  animation: fadeIn 0.2s ease-out;
  user-select: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cursor-container:hover .cursor-icon {
  transform: scale(1.1);
}