/* 术语标注：正文里的专业名词自动包裹成可点击查看释义的按钮 */
.gloss-term {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  color: var(--color-primary, #2563EB);
  border-bottom: 1.5px dashed var(--color-primary, #2563EB);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.gloss-term:hover { opacity: .8; }
.gloss-term:active { opacity: .6; }

/* 释义弹层：移动端底部弹出，桌面居中 */
.gloss-pop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.gloss-pop.show { opacity: 1; pointer-events: auto; }
.gloss-pop-mask { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); }
.gloss-pop-panel {
  position: relative;
  width: min(560px, 92vw);
  background: var(--color-surface-1, #fff);
  color: var(--color-text, #1f2937);
  border-radius: 16px 16px 0 0;
  padding: 22px 22px calc(22px + env(safe-area-inset-bottom));
  box-shadow: 0 -8px 30px rgba(0, 0, 0, .18);
  border-top: 3px solid var(--color-primary, #2563EB);
}
.gloss-close {
  position: absolute;
  top: 10px;
  right: 14px;
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  color: var(--color-text-tertiary, #94a3b8);
  cursor: pointer;
}
.gloss-term-name {
  font-size: 16px;
  font-weight: 700;
  margin-right: 28px;
}
.gloss-term-def {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-text-secondary, #475569);
}
@media (min-width: 768px) {
  .gloss-pop { align-items: center; }
  .gloss-pop-panel { border-radius: 16px; }
}
[data-theme="dark"] .gloss-pop-panel {
  background: #1e293b;
  color: #e2e8f0;
  border-top-color: var(--color-primary);
}
[data-theme="dark"] .gloss-term-def { color: #cbd5e1; }
