#app-tooltip {
  position: fixed;
  z-index: 9999;
  padding: 5px 11px 6px;
  border-radius: 7px;
  background: #171717;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  max-width: 220px;
  white-space: normal;
  text-align: center;
  pointer-events: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.30);
  opacity: 0;
  transform: translateY(5px) scale(0.96);
  transition:
    opacity 140ms ease,
    transform 140ms cubic-bezier(0.34, 1.4, 0.64, 1);
  will-change: opacity, transform;
}

#app-tooltip.tip-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

#app-tooltip::after {
  content: '';
  position: absolute;
  left: var(--tip-arrow, 50%);
  transform: translateX(-50%);
  border: 5px solid transparent;
}

#app-tooltip.tip-above::after {
  top: 100%;
  border-top-color: #171717;
}

#app-tooltip.tip-below::after {
  bottom: 100%;
  border-bottom-color: #171717;
}

[data-theme="dark"] #app-tooltip {
  background: #171717;
  color: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55);
}

[data-theme="dark"] #app-tooltip.tip-above::after {
  border-top-color: #171717;
}

[data-theme="dark"] #app-tooltip.tip-below::after {
  border-bottom-color: #171717;
}

@media (prefers-reduced-motion: reduce) {
  #app-tooltip { transition: none; }
}
