/* Definitions belong to the text: a fine dotted underline is the only cue. */
button.glossary-term {
  display: inline; position: static; width: auto; min-width: 0; min-height: 0;
  margin: 0; padding: 0; border: 0; border-radius: 0; background: none;
  color: inherit; font: inherit; line-height: inherit; letter-spacing: inherit;
  text-align: inherit; text-transform: inherit; vertical-align: baseline;
  text-decoration-line: underline; text-decoration-style: dotted;
  text-decoration-color: color-mix(in srgb, currentColor 42%, transparent);
  text-decoration-thickness: 1px; text-underline-offset: .2em;
  cursor: help; box-shadow: none; -webkit-appearance: none; appearance: none;
  transition: text-decoration-color .15s ease;
}
button.glossary-term:hover { background: none; color: inherit; transform: none; text-decoration-color: currentColor; }
button.glossary-term:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }
.glossary-popover {
  position: fixed; z-index: 1100; width: 310px; max-width: calc(100vw - 24px);
  box-sizing: border-box; padding: 17px 19px; border: 1px solid rgba(53,52,44,.16);
  border-radius: 14px; background: #fffffc; color: #282922;
  box-shadow: 0 8px 32px rgba(25,30,24,.12); font-family: inherit;
  text-align: left; white-space: normal; overflow-wrap: anywhere;
}
.glossary-popover[hidden] { display: none !important; }
.glossary-popover strong { display: block; margin: 0 0 7px; font-size: 13px; line-height: 1.35; font-weight: 650; letter-spacing: 0; }
.glossary-popover p { margin: 0; color: #51554d; font-size: 13px; line-height: 1.55; font-weight: 400; letter-spacing: 0; }
@media (prefers-reduced-motion: reduce) { button.glossary-term { transition: none; } }
@media (forced-colors: active) {
  button.glossary-term { text-decoration-color: LinkText; }
  .glossary-popover { background: Canvas; color: CanvasText; border: 1px solid CanvasText; box-shadow: none; }
  .glossary-popover p { color: CanvasText; }
}
