.ek-abbr { text-decoration: underline dotted; text-decoration-color: var(--ek-brand, #487f00); text-underline-offset: 3px; cursor: help; }
.ek-abbr:focus-visible { outline: 3px solid var(--ek-sun, #f48c0f); outline-offset: 2px; border-radius: 2px; }
.ek-abbr-bubble { position: absolute; z-index: 60; max-width: min(20rem, calc(100vw - 16px)); padding: .7rem .9rem; font-size: .875rem; line-height: 1.45; color: var(--ek-ink, #17250f); background: var(--ek-surface, #fff); border: 1px solid var(--ek-brand, #487f00); border-radius: 8px; box-shadow: 0 10px 28px -10px rgba(0, 0, 0, .45); }
.ek-abbr-bubble p { margin: 0 0 .4rem; }
.ek-abbr-bubble a { font-size: .8125rem; font-weight: 600; } .ek-glossary { --gl-line: var(--ek-line, #dbe4cb); }
.ek-gl-search { display: block; font-weight: 600; }
.ek-gl-search input { display: block; width: 100%; max-width: 28rem; margin-top: .3rem; padding: .65rem .8rem; font: inherit; font-size: 16px; color: inherit; background: var(--ek-surface, #fff); border: 1px solid var(--gl-line); border-radius: 8px; box-sizing: border-box; }
.ek-gl-nav { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 2rem; }
.ek-gl-nav a { padding: .35rem .8rem; font-size: .875rem; color: inherit; text-decoration: none; border: 1px solid var(--gl-line); border-radius: 999px; background: var(--ek-surface, #fff); }
.ek-gl-nav a:hover { border-color: var(--ek-brand, #487f00); }
.ek-gl-sec h2 { margin-top: 2.5rem; }
.ek-gl-item { padding: 1rem 0; border-bottom: 1px solid var(--gl-line); scroll-margin-top: 1rem; }
.ek-gl-item h3 { margin: 0 0 .1rem; font-size: 1.2rem; }
.ek-gl-item p { margin: .3rem 0 0; max-width: 46rem; }
.ek-gl-full { color: var(--ek-muted, #56664a); font-style: italic; }
.ek-gl-ex { padding: .5rem .8rem; background: var(--ek-surface, #fff); border-left: 4px solid var(--ek-brand, #487f00); border-radius: 4px; }
.ek-gl-see { font-size: .875rem; color: var(--ek-muted, #56664a); }
.ek-gl-item.is-target { background: var(--ek-surface, #fff); box-shadow: -6px 0 0 var(--ek-sun, #f48c0f); padding-left: 1rem; }