/* Glossary (widgets/glossary/glossary.js) */
/* Inverted: brand reds in both themes. */
.gl { --gl-bg: #8e8f93; --gl-ink: #a3060a; --gl-tile: #c10a10; --gl-hi: #fff; position: relative; display: flex; flex-direction: column; gap: 10px; padding: 14px; background: var(--gl-bg); }
.gl__eyebrow { font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.gl__grid { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 5px; }
.gl__term { display: flex; align-items: center; justify-content: center; padding: 4px 8px; border: 0; border-radius: 10px; background: var(--gl-tile); color: #fff; font: 800 clamp(10px, 1.12cqw, 13.5px)/1.15 var(--font); letter-spacing: 0; text-align: center; cursor: pointer; transition: background .2s ease, color .2s ease, transform .25s cubic-bezier(.2,.8,.2,1); }
.gl__term:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px #fff; }
.gl__term.is-on { background: var(--gl-hi); color: var(--gl-ink); transform: scale(1.03); }
.gl__card { position: absolute; left: 0; top: 0; z-index: 2; width: min(330px, calc(100% - 20px)); padding: 12px 14px; border-radius: 14px; background: #5c0306; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.28); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.gl__card.is-on { opacity: 1; }
.gl__card b { display: block; margin-bottom: 4px; font-size: 14px; font-weight: 800; }
.gl__card p { margin: 0; font-size: 13px; line-height: 1.42; opacity: .88; }
@media (prefers-reduced-motion: reduce) { .gl__term { transition: none; } }
[data-theme=dark] .gl { --gl-bg: #2a2b30; }
