.qazgeo-glossary-term {
  position: relative;
  display: inline;
  color: inherit;
  border-bottom: 1px dotted color-mix(in srgb, var(--brand, #006f76) 62%, transparent);
  cursor: help;
  text-decoration: none;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.qazgeo-glossary-term:hover,
.qazgeo-glossary-term[data-open="true"],
.qazgeo-glossary-term:focus-visible {
  color: var(--brand-strong, var(--brand, #006f76));
  border-bottom-style: solid;
}

.qazgeo-glossary-term:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--brand, #006f76) 38%, transparent);
  outline-offset: 3px;
  border-radius: 2px;
}

.qazgeo-glossary-tooltip {
  position: fixed;
  z-index: 1400;
  width: min(320px, calc(100vw - 24px));
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--brand, #006f76) 28%, var(--border, #d8e0e8));
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface, #fff) 96%, var(--brand-soft, #e1f2f0));
  color: var(--text, #151a2d);
  box-shadow: 0 10px 24px rgba(23, 35, 52, 0.16);
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.42;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-3px);
  transition: opacity 120ms ease, transform 120ms ease;
}

.qazgeo-glossary-tooltip:not([hidden]) {
  opacity: 1;
  transform: translateY(0);
}

[data-theme="dark"] .qazgeo-glossary-tooltip,
html.dark .qazgeo-glossary-tooltip {
  background: color-mix(in srgb, var(--surface, #181e24) 96%, var(--brand-soft, #183c3d));
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.34);
}

@media (prefers-reduced-motion: reduce) {
  .qazgeo-glossary-tooltip { transition: none; }
}

@media (max-width: 640px) {
  .qazgeo-glossary-tooltip {
    width: min(280px, calc(100vw - 24px));
    padding: 8px 10px;
    font-size: 0.7rem;
  }
}
