/* ============================================================================
   jp-scribe-glossary.css — transcript term tips
   ============================================================================ */
.jpg-term {
  cursor: help;
  text-decoration: underline dotted rgba(0,201,192,.55);
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  transition: background .14s ease, text-decoration-color .14s ease;
  border-radius: 3px;
}
.jpg-term:hover, .jpg-term:focus-visible {
  background: rgba(0,201,192,.14);
  text-decoration-color: #00C9C0;
  outline: none;
}
/* patient bubble terms pick up the indigo accent so they stay legible */
.t-bubble.patient-bubble .jpg-term { text-decoration-color: rgba(165,180,252,.6); }
.t-bubble.patient-bubble .jpg-term:hover, .t-bubble.patient-bubble .jpg-term:focus-visible { background: rgba(124,92,247,.16); text-decoration-color: #A5B4FC; }

.jpg-tip {
  position: fixed; z-index: 10080; max-width: 290px; pointer-events: none;
  padding: 11px 13px 10px; border-radius: 12px;
  background: linear-gradient(180deg, #0C1F44, #0A1730);
  border: 1px solid rgba(0,201,192,.30);
  box-shadow: 0 18px 44px rgba(0,0,0,.5);
  animation: jpgIn .14s ease both;
}
@keyframes jpgIn { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.jpg-tip::after {
  content: ""; position: absolute; left: var(--ax, 50%); bottom: -6px; transform: translateX(-50%) rotate(45deg);
  width: 11px; height: 11px; background: #0A1730; border-right: 1px solid rgba(0,201,192,.30); border-bottom: 1px solid rgba(0,201,192,.30);
}
.jpg-tip.below::after { bottom: auto; top: -6px; border: none; border-left: 1px solid rgba(0,201,192,.30); border-top: 1px solid rgba(0,201,192,.30); background: #0C1F44; }
.jpg-tip-term { font-size: 12px; font-weight: 800; color: #5EEAE2; letter-spacing: .01em; text-transform: capitalize; margin-bottom: 4px; }
.jpg-tip-def { font-size: 12.5px; line-height: 1.55; color: rgba(255,255,255,.92); }
.jpg-tip-src { margin-top: 7px; font-size: 9.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: rgba(255,255,255,.42); }

html[data-theme="light"] .jpg-tip { background: #fff; border-color: rgba(0,201,192,.34); box-shadow: 0 18px 44px rgba(10,37,64,.22); }
html[data-theme="light"] .jpg-tip::after { background: #fff; }
html[data-theme="light"] .jpg-tip.below::after { background: #fff; }
html[data-theme="light"] .jpg-tip-term { color: #00A89F; }
html[data-theme="light"] .jpg-tip-def { color: #1A2B42; }
html[data-theme="light"] .jpg-tip-src { color: #5A6B8C; }
