.reader-definition-term {
  display: inline; padding: 0; margin: 0; border: 0; border-radius: 0;
  background: transparent; color: inherit; font: inherit; line-height: inherit;
  text-align: inherit; cursor: pointer; text-decoration: underline dotted;
  text-underline-offset: .2em; text-decoration-color: currentColor;
}
.reader-definition-term:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.reader-definition-popover {
  position: fixed; inset: auto; margin: 0; box-sizing: border-box;
  max-height: min(420px, calc(100vh - 24px)); overflow-y: auto;
  padding: 18px; border: 1px solid #555; border-radius: 12px;
  background: #151719; color: #f3f3f3; box-shadow: 0 8px 32px #0006;
  font: 14px/1.5 system-ui, sans-serif; z-index: 10000;
}
.reader-definition-popover h3 { margin: 8px 0; font-size: 14px; }
.reader-definition-popover article + article { border-top: 1px solid #555; margin-top: 16px; padding-top: 8px; }
.reader-definition-text { white-space: pre-line; margin: 8px 0; }
.reader-definition-source, .reader-definition-reference-state { color: #bfc2c6; font-size: 12px; overflow-wrap: anywhere; }
.reader-definition-close { display: block; margin-left: auto; padding: 4px 8px; color: inherit; background: #303336; border: 0; border-radius: 6px; cursor: pointer; }

.reader-definition-controls { position: sticky; top: -18px; z-index: 1; background: inherit; margin-top: -18px; padding: 18px 0 8px; }
