.visual-glossary-term {
  display:inline; margin:0; padding:0 2px; border:0; border-radius:4px; background:linear-gradient(180deg,transparent 63%,rgba(31,126,191,.19) 63%); color:#0b67ad; font:inherit; font-weight:850; line-height:inherit; text-decoration:underline; text-decoration-color:rgba(11,103,173,.55); text-decoration-style:dotted; text-underline-offset:3px; cursor:pointer;
}
.visual-glossary-term:hover,.visual-glossary-term:focus-visible { outline:0; background:rgba(28,126,194,.14); color:#064979; box-shadow:0 0 0 3px rgba(28,126,194,.12); }
.visual-glossary-term::after { content:"ⓘ"; display:inline-block; margin-left:2px; color:#2384c5; font-size:.48em; font-weight:900; line-height:1; vertical-align:super; text-decoration:none; }
body.visual-glossary-open { overflow:hidden; }
.visual-glossary-overlay[hidden] { display:none; }
.visual-glossary-overlay { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px; background:rgba(3,20,37,.76); backdrop-filter:blur(8px); animation:visual-glossary-fade .18s ease-out; }
.visual-glossary-dialog { position:relative; width:min(1020px,96vw); max-height:min(86vh,780px); display:grid; grid-template-columns:minmax(360px,1.1fr) minmax(330px,.9fr); overflow:auto; border:1px solid rgba(255,255,255,.72); border-radius:24px; background:#fff; box-shadow:0 28px 80px rgba(0,0,0,.38); animation:visual-glossary-rise .22s ease-out; }
.visual-glossary-dialog figure { position:relative; min-height:430px; margin:0; overflow:hidden; background:#dce6ed; }
.visual-glossary-dialog figure img { width:100%; height:100%; min-height:430px; display:block; object-fit:cover; }
.visual-glossary-dialog figcaption { position:absolute; right:18px; bottom:18px; left:18px; padding:10px 14px; border:1px solid rgba(255,255,255,.72); border-radius:12px; background:rgba(5,34,57,.79); color:#fff; font-size:13px; font-weight:900; text-align:center; backdrop-filter:blur(5px); }
.visual-glossary-dialog > article { display:flex; flex-direction:column; justify-content:center; gap:14px; padding:34px 32px; }
.visual-glossary-dialog > article > small { color:#c72434; font-size:10px; font-weight:950; letter-spacing:.15em; }
.visual-glossary-dialog h2 { margin:0; color:#0b315c; font:750 clamp(27px,3vw,39px)/1.05 Georgia,"Times New Roman",serif; }
.visual-glossary-dialog p { margin:0; color:#465867; font-size:16px; line-height:1.62; }
.visual-glossary-tip { display:grid; gap:5px; padding:13px 15px; border-left:5px solid #c72434; border-radius:10px; background:#fff3f4; }
.visual-glossary-tip b { color:#a51f2b; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.visual-glossary-tip span { color:#354653; font-size:13px; font-weight:720; line-height:1.45; }
.visual-glossary-languages { display:grid; grid-template-columns:1fr; gap:5px; padding-top:12px; border-top:1px solid #dce5ec; color:#51606d; font-size:12px; }
.visual-glossary-languages b { margin-bottom:3px; color:#153b60; font-size:10px; letter-spacing:.07em; text-transform:uppercase; }
.visual-glossary-languages span { display:block; }
.visual-glossary-close { position:absolute; top:14px; right:14px; z-index:3; width:43px; height:43px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(6,38,64,.82); color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.22); font-size:28px; line-height:1; cursor:pointer; backdrop-filter:blur(4px); }
.visual-glossary-close:hover,.visual-glossary-close:focus-visible { outline:3px solid rgba(255,255,255,.58); background:#c72434; }
@keyframes visual-glossary-fade { from { opacity:0; } to { opacity:1; } }
@keyframes visual-glossary-rise { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:none; } }
@media(max-width:760px) {
  .visual-glossary-overlay { align-items:end; padding:10px; }
  .visual-glossary-dialog { width:100%; max-height:91vh; grid-template-columns:1fr; border-radius:20px 20px 14px 14px; }
  .visual-glossary-dialog figure,.visual-glossary-dialog figure img { min-height:230px; max-height:330px; }
  .visual-glossary-dialog > article { gap:11px; padding:22px 19px 25px; }
  .visual-glossary-dialog h2 { font-size:28px; }
  .visual-glossary-dialog p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .visual-glossary-overlay,.visual-glossary-dialog { animation:none; }
}
