.glossary { width: min(940px, 100%); margin: 96px auto 0; padding: 56px 0 0; border-top: 1px solid #e8e8e8; }
.glossary header { text-align: center; margin-bottom: 32px; }
.glossary h2 { margin: 0 0 12px; font-size: clamp(2rem, 5vw, 3rem); font-weight: 500; letter-spacing: -0.04em; }
.glossary header p { color: #777; line-height: 1.6; }
.glossary-search { max-width: 560px; margin: 0 auto 28px; }
.glossary-search label { display: block; margin-bottom: 10px; font-size: .9rem; color: #666; }
.glossary-search-row { display: flex; gap: 10px; }
.glossary-search input { min-width: 0; }
.glossary button { border: 1px solid #dedede; border-radius: 6px; background: #f6f6f6; color: #444; padding: 10px 14px; }
.glossary button:focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .glossary button:hover:not(:disabled):not([aria-pressed="true"]):not([aria-expanded="true"]) { background: #eaeaea; }
}
.glossary-alphabet { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; max-width: 760px; margin: 0 auto 30px; }
.glossary-alphabet button { min-width: 38px; padding: 9px; }
.glossary-alphabet button:disabled { opacity: .3; cursor: default; }
.glossary button[aria-pressed="true"], .glossary button[aria-expanded="true"] { background: #111; border-color: #111; color: white; }
.glossary-count { text-align: center; font-size: .85rem; color: #777; margin: 0 0 20px; }
.glossary-words { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.glossary-words button { border-radius: 18px; font-size: .95rem; font-weight: 600; }
.glossary-definition { position: relative; max-width: 680px; margin: 32px auto 0; border: 1px solid #e0e0e0; border-left: 4px solid #999; border-radius: 8px; padding: 28px; background: #fafafa; }
.glossary-definition h3 { margin: 0; padding-right: 42px; font-size: 1.5rem; }
.glossary-expansion { color: #888; font-style: italic; padding-right: 32px; }
.glossary-description { color: #555; line-height: 1.8; margin-bottom: 0; }
.glossary-definition button { position: absolute; top: 16px; right: 16px; font-size: 1.2rem; }
@media (max-width: 540px) { .glossary { margin-top: 56px; } .glossary-definition { padding: 20px; } .glossary-search-row { flex-wrap: wrap; } .glossary-search input { flex: 1 1 200px; } }

.glossary-categories { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 auto 28px; }
.glossary-categories button { border-radius: 20px; font-size: .9rem; }

.glossary-filters { margin-bottom: 28px; }
.glossary-filters summary { width: fit-content; margin: 0 auto 24px; cursor: pointer; color: #666; padding: 10px 16px; }
.glossary-search-row .glossary-clear { font-size: 1.5rem; min-width: 44px; }
