.hover-card{color:var(--accent);text-decoration:underline;text-decoration-style:solid;text-decoration-color:color-mix(in srgb,var(--accent) 60%,transparent);text-underline-offset:4px;background:transparent;border-radius:var(--radius-2xs);padding:1px 5px;margin:0 -5px;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:inset 0 0 0 1px transparent;cursor:pointer;position:relative;transition:background-color .2s ease,box-shadow .2s ease,text-decoration-color .2s ease}
/* Hovered, focused or open: the term gets its own framed background */
.hover-card:hover,.hover-card[aria-expanded="true"]{background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent);text-decoration-color:transparent}
.hover-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent);text-decoration-color:transparent}
.hover-card-panel{display:none;position:absolute;top:100%;left:0;margin-top:8px;z-index:30;width:max-content;max-width:min(320px,calc(100vw - 40px));background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-popover);font-size:var(--font-size-md);line-height:1.5;color:var(--text);text-decoration:none;opacity:0;transform:translateY(-6px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}
.hover-card-panel.is-open{display:block}
.hover-card-panel.is-open.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.hover-card-panel.flip-up{top:auto;bottom:100%;margin-top:0;margin-bottom:8px;transform:translateY(6px)}
.hover-card-panel.flip-up.is-visible{transform:translateY(0)}
.hover-card-panel.align-right{left:auto;right:0}
.hover-card-panel img{display:block;width:100%;border-radius:var(--radius-xs);margin-bottom:10px}
.hover-card-panel .hover-card-p{display:block;margin:0 0 8px;color:var(--text-strong)}
.hover-card-panel .hover-card-p:last-child{margin-bottom:0}
.hover-card-panel iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius-xs)}
@media(max-width:600px){
.hover-card-panel{position:static;display:none;width:auto;max-width:100%;margin:10px 0 2px;top:auto;left:auto;right:auto;bottom:auto;transform:none;box-shadow:none}
.hover-card-panel.flip-up{position:static;margin:10px 0 2px;transform:none}
.hover-card-panel.align-right{left:auto;right:auto}
.hover-card-panel.is-open{display:block}
}
@media(prefers-reduced-motion:reduce){
.hover-card,.hover-card-panel{transition:none}
}

/* Light-mode panel (dirty white, black bold text). It grows out of its corner
   nearest the trigger (top-left by default; top-right / bottom-left when the
   JS flips or right-aligns it): a clip-path reveal plus a slight scale. */
.hover-card-panel{background:var(--popover-bg);color:var(--popover-text);border-color:var(--popover-border);font-weight:600;transform:none;transform-origin:0 0;clip-path:inset(0 100% 100% 0 round var(--radius-lg));scale:.92;transition:clip-path var(--dur-popover-out) ease,scale var(--dur-popover-out) ease,opacity var(--dur-popover-out) ease}
.hover-card-panel .hover-card-p{color:var(--popover-text)}
.hover-card-panel.is-open.is-visible{transform:none;clip-path:inset(0 0 0 0 round var(--radius-lg));scale:1;transition:clip-path var(--dur-popover-in) var(--ease-out),scale var(--dur-popover-in) var(--ease-out),opacity 200ms ease}
.hover-card-panel.align-right{transform-origin:100% 0;clip-path:inset(0 0 100% 100% round var(--radius-lg))}
.hover-card-panel.flip-up{transform:none;transform-origin:0 100%;clip-path:inset(100% 100% 0 0 round var(--radius-lg))}
.hover-card-panel.flip-up.align-right{transform-origin:100% 100%;clip-path:inset(100% 0 0 100% round var(--radius-lg))}
.hover-card-panel.is-open.is-visible.align-right,.hover-card-panel.is-open.is-visible.flip-up{clip-path:inset(0 0 0 0 round var(--radius-lg))}
@media(max-width:600px){.hover-card-panel{scale:1}}
@media(prefers-reduced-motion:reduce){.hover-card-panel,.hover-card-panel.is-open.is-visible{transition:none;scale:1}}
