/* pixel-tooltip */

.pixel-tooltip-wrapper {
  position: relative;
  display: inline-block;
}

.pixel-tooltip {
  position: absolute;
  bottom: calc(100% + var(--space-sm));
  left: 50%;
  transform: translateX(-50%);
  z-index: var(--z-tooltip);
  padding: var(--space-xs) var(--space-sm);
  background-color: var(--bg-dark);
  border: 2px solid var(--border);
  box-shadow: var(--pixel-shadow-sm);
  font-size: var(--font-size-xs);
  color: var(--text-main);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-normal), visibility var(--transition-normal);
}

.pixel-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--border);
}

.pixel-tooltip-wrapper:hover .pixel-tooltip,
.pixel-tooltip-wrapper:focus-within .pixel-tooltip {
  opacity: 1;
  visibility: visible;
}

.pixel-tooltip--bottom {
  bottom: auto;
  top: calc(100% + var(--space-sm));
}

.pixel-tooltip--bottom::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: var(--border);
}

@media (prefers-reduced-motion: reduce) {
  .pixel-tooltip {
    transition: none;
  }
}
