/* ---- Glossary ---- */
#lib-glossary { width: 100%; }
.lib-glossary { padding: 0; }
.lib-glossary-search { display: block; width: 100%; padding: 8px 14px; background: #13151f; color: #e0e0e0; border: 1.5px solid #2a2d3a; border-radius: 10px; font-size: 0.88rem; margin-bottom: 10px; outline: none; transition: border-color 0.2s; box-sizing: border-box; }
.lib-glossary-search:focus { border-color: #3a3d4a; }
.lib-glossary-search::placeholder { color: #555; }
.lib-glossary-cats { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; margin-bottom: 6px; justify-content: center; }
.lib-glossary-cat { padding: 4px 12px; border-radius: 10px; font-size: 0.72rem; font-weight: 600; background: #1a1d2e; color: #888; border: 1.5px solid #2a2d3a; cursor: pointer; transition: all 0.15s; font-family: inherit; }
.lib-glossary-cat:hover { color: #bbb; border-color: #444; }
.lib-glossary-cat.active { background: #2a2d3a; color: #ccc; border-color: #3a3d4a; }
/* A-Z letter bar — shared styles in base.css */
.lib-glossary-count { display: none; }
.lib-glossary-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; max-height: 65vh; overflow-y: auto; padding-right: 4px; }
.lib-glossary-grid::-webkit-scrollbar { width: 5px; }
.lib-glossary-grid::-webkit-scrollbar-thumb { background: #2a2d3a; border-radius: 10px; }
.lib-glossary-card { background: #13151f; border: 1.5px solid #2a2d3a; border-radius: 10px; padding: 10px 12px; transition: border-color 0.2s; display: flex; flex-direction: column; min-height: 120px; }
.lib-glossary-card:hover { border-color: #3a3d4a; }
.lib-glossary-term { font-size: 0.85rem; font-weight: 700; color: #e0e0e0; margin-bottom: 4px; }
.lib-glossary-def { font-size: 0.76rem; color: #aaa; line-height: 1.5; }
.lib-glossary-example { font-size: 0.72rem; color: #999; margin-top: auto; padding-top: 6px; }
.lib-glossary-example-label { color: #777; font-weight: 600; margin-right: 4px; }
