/* Policy glossary: the dictionary card on inline glossary links
   (assets/js/glossary-card.js). A small slip of dictionary paper: kicker,
   bold small-caps headword with the category as an italic part-of-speech
   label, the short definition and a link to the entry. Tokens: site.css. */
.glc {
  position: absolute; z-index: 60; left: 0; top: 0; width: min(330px, calc(100vw - 24px));
  padding: 0.95rem 1.1rem 0.85rem; color: var(--ink, #2A1B45);
  background: linear-gradient(180deg, #FFFDF8, #FBF7EE);
  border: 1px solid #E3DAC4; border-top: 3px solid #E2B865; border-radius: 4px;
  box-shadow: 0 18px 40px -18px rgba(42, 27, 69, 0.55), 0 2px 6px -2px rgba(42, 27, 69, 0.18);
  opacity: 0; visibility: hidden; transform: translateY(4px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
  pointer-events: none;
}
.glc.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity 0.16s ease, transform 0.16s ease; pointer-events: auto; }
.glc.is-above { transform: translateY(-4px); }
.glc.is-open.is-above { transform: none; }
.glc-arrow {
  position: absolute; top: -9px; width: 12px; height: 12px; margin-left: -6px;
  background: #E2B865; transform: rotate(45deg); clip-path: polygon(0 0, 100% 0, 0 100%);
}
.glc.is-above .glc-arrow { top: auto; bottom: -7px; background: #FBF7EE; border: 1px solid #E3DAC4; border-width: 0 1px 1px 0; clip-path: none; }
.glc-kicker {
  margin: 0 0 0.3rem; font-family: var(--font-sans, Inter, sans-serif); font-size: 0.62rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: #9A7426;
}
.glc-head { margin: 0 0 0.4rem; font-family: var(--font-serif, Newsreader, Georgia, serif); line-height: 1.2; }
.glc-word { font-size: 1.22rem; font-weight: 600; font-variant-caps: small-caps; letter-spacing: 0.02em; }
.glc-cat { font-size: 0.92rem; color: #6E42A6; white-space: nowrap; }
.glc-def { margin: 0 0 0.6rem; font-family: var(--font-serif, Newsreader, Georgia, serif); font-size: 0.98rem; line-height: 1.45; color: #3A2C52; }
.glc-more { font-size: 0.8rem; font-weight: 600; color: #6E42A6; text-decoration: none; }
.glc-more:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .glc, .glc.is-open { transition: none; transform: none; } }
@media print { .glc { display: none; } }
