/*
Component: 用語リンクとツールチップ
CM Tooltip Glossary の置き換え（2026-09-23）
*/

/* 本文中の用語リンク。現行と同じ点線の下線 */
.qc-term{
  color: #1d3f6e !important;
  border-bottom: 1px dotted #1d3f6e;
  text-decoration: none !important;
  cursor: help;
}
.qc-term:hover,
.qc-term:focus-visible{
  color: #333333 !important;
  border-bottom-color: #333333;
  border-bottom-style: solid;
}

/* ツールチップ本体。JS が body 直下に1つだけ作る */
.qc-term-tip{
  position: absolute;
  z-index: 9999;
  max-width: min(360px, calc(100vw - 32px));
  padding: 14px 16px;
  background: #0f172a;
  color: #ffffff;
  font-size: 13px;
  line-height: 1.8;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  pointer-events: none;
}
.qc-term-tip.is-open{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.qc-term-tip__name{
  display: block;
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 6px;
  color: #93c5fd;
}
.qc-term-tip__more{
  display: block;
  margin-top: 10px;
  font-size: 12px;
  color: rgba(255, 255, 255, .7);
}
/* 吹き出しの三角 */
.qc-term-tip::after{
  content: '';
  position: absolute;
  left: var(--qc-tip-arrow, 24px);
  bottom: -7px;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #0f172a;
}
.qc-term-tip.is-below::after{
  bottom: auto;
  top: -7px;
  border-top: none;
  border-bottom: 8px solid #0f172a;
}

@media (prefers-reduced-motion: reduce){
  .qc-term-tip{ transition: none; }
}
