.wah-term {
  font-weight: bold;
  cursor: help;
  border-bottom: 2px dotted #666;
  position: relative;
  display: inline-block;
}
.wah-term::after {
  content: attr(data-def);
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  /* --wah-shift is a per-instance pixel offset computed just-in-time on
     hover (see canvas_tooltip.js) so the bubble can land at ANY horizontal
     position, not just centered/hard-left/hard-right. Defaults to 0 so the
     tooltip still renders centered even before JS runs (e.g. JS blocked). */
  transform: translateX(calc(-50% + var(--wah-shift, 0px)));
  background-color: #1e3a5f;
  color: #ffffff;
  padding: 8px 12px;
  border-radius: 5px;
  font-size: 0.85em;
  font-weight: normal;
  font-style: normal;
  line-height: 1.5;
  box-sizing: border-box;
  width: 260px;
  white-space: normal;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 9999;
}
.wah-term:hover::after {
  opacity: 1;
}
