/* Glossary-pagina (/glossary), prefix .g- */
.g-hero { padding-bottom: 40px; }
.g-hero h1 { font-size: clamp(36px, 5vw, 54px); line-height: 1.05; letter-spacing: -.03em; margin: 0 0 14px; }
.g-search { position: relative; margin-top: 24px; }
.g-search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; color: var(--color-text-muted); pointer-events: none; }
.g-search-icon svg { width: 20px; height: 20px; }
.g-search .s-input { width: 100%; min-height: 52px; padding-left: 46px; font-size: 16px; }

.g-bar { position: sticky; top: var(--header-height); z-index: 40; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding: 10px 0; }
.g-bar .s-container { display: grid; gap: 10px; }
.g-az { display: flex; flex-wrap: wrap; gap: 2px; }
.g-az a, .g-az span { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 32px; border-radius: 8px; font-size: 14px; font-weight: 700; }
.g-az a { color: var(--color-primary); }
.g-az a:hover { background: var(--color-surface-blue); text-decoration: none; }
.g-az a.is-dim { color: var(--color-text-muted); opacity: .55; }
.g-az span { color: var(--color-border-strong); }
.g-groups { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 767px) {
    .g-az, .g-groups { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); }
    .g-az::-webkit-scrollbar, .g-groups::-webkit-scrollbar { display: none; }
    .g-az a, .g-az span, .g-groups .s-chip { flex: 0 0 auto; }
}

.g-count { margin: 0 0 8px; }
.g-list { max-width: 46rem; }
.g-letter { padding-top: 12px; scroll-margin-top: calc(var(--header-height) + 120px); }
.g-letter-title { margin: 16px 0 4px; font-size: 15px; font-weight: 800; letter-spacing: .1em; color: var(--color-primary); }
.g-term { padding: 20px 16px; margin: 0 -16px; border-bottom: 1px solid var(--color-border); border-radius: 12px; scroll-margin-top: calc(var(--header-height) + 130px); }
.g-term.is-flash { animation: s-highlight 2.4s ease; }
.g-term-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 8px; }
.g-term-title { font-size: 21px; line-height: 1.3; margin: 0; }
.g-term-def { margin: 0 0 8px; color: var(--color-text-primary); }
.g-term-more { margin: 0; font-size: 15px; color: var(--color-text-secondary); }
.g-term-more a { font-weight: 650; }
.g-empty { margin: 8px 0 24px; }
.g-close-actions { justify-content: center; margin-top: 20px; }
