.glossary-hero{background:linear-gradient(135deg, var(--surface-card) 0%, var(--surface-section) 100%);padding:var(--space-12) 0 var(--space-8);text-align:center}.glossary-hero h1{font-size:var(--text-4xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2);color:var(--text-primary)}.glossary-hero p{font-size:var(--text-lg);color:var(--text-secondary);max-width:600px;line-height:var(--leading-relaxed);margin:0 auto}.glossary-search-wrapper{max-width:640px;margin:var(--space-6) auto 0}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon-container{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.glossary-search,.search-input.glossary-search{width:100%;font-size:var(--text-base);background:var(--surface-ground);border:1px solid var(--surface-border);border-radius:var(--radius-lg);color:var(--text-primary);outline:none;padding:.85rem 7rem .85rem 3rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.glossary-search::placeholder{color:var(--text-muted)}.glossary-search:focus{border-color:var(--color-forest-400);box-shadow:0 0 0 3px #3fa67633}.search-results-count{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;pointer-events:none;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.glossary-filters{gap:var(--space-2);padding:var(--space-5,.75rem) var(--space-3,.5rem);top:var(--navbar-height,72px);z-index:var(--z-sticky,50);background:var(--surface-ground,#0f1a15);border-bottom:1px solid var(--surface-border,#2d5a47);flex-wrap:wrap;justify-content:center;margin:0 auto;display:flex;position:sticky}.glossary-filters .filter-btn{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);background:var(--surface-ground);border:1px solid var(--surface-border);border-radius:var(--radius-full);cursor:pointer;align-items:center;gap:.35rem;min-height:36px;padding:.45rem .9rem;font-family:inherit;transition:all .15s;display:inline-flex}.glossary-filters .filter-btn:hover{border-color:var(--color-forest-400);color:var(--text-primary);background:var(--surface-hover)}.glossary-filters .filter-btn.active{background:var(--color-forest-600);border-color:var(--color-forest-500);color:#fff;font-weight:var(--weight-semibold)}@media (pointer:coarse){.glossary-filters .filter-btn{min-height:44px}}.glossary-alpha-index{padding:var(--space-3) 0;border-top:1px solid var(--surface-border-light);border-bottom:1px solid var(--surface-border-light);margin-top:var(--space-5)}.glossary-alpha-index ul{flex-wrap:wrap;justify-content:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.alpha-link{width:32px;height:32px;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);border-radius:var(--radius-sm);justify-content:center;align-items:center;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.alpha-link:hover{color:var(--text-primary);background:var(--surface-hover)}.alpha-link.disabled{color:var(--text-muted);opacity:.35;pointer-events:none}.alpha-link.active{background:var(--color-forest-500);color:#fff}.glossary-content{max-width:960px;padding:var(--space-8) var(--space-4) var(--space-16);margin:0 auto}.glossary-loading{text-align:center;padding:var(--space-8);color:var(--text-muted)}.glossary-loading .spinner{border:3px solid var(--surface-border);border-top-color:var(--color-forest-400);width:32px;height:32px;margin:0 auto var(--space-3);border-radius:50%;animation:.8s linear infinite glossary-spin}@keyframes glossary-spin{to{transform:rotate(360deg)}}.glossary-letter-group{margin-bottom:var(--space-8)}.glossary-letter-heading{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-forest-400);border-bottom:2px solid var(--surface-border);padding-bottom:var(--space-2);margin-bottom:var(--space-4);scroll-margin-top:calc(var(--navbar-height) + 28px)}.glossary-letter-terms{gap:var(--space-3);flex-direction:column;display:flex}.glossary-card{padding:var(--space-4) var(--space-5);background:var(--surface-card);border:1px solid var(--surface-border);border-left:3px solid var(--color-forest-500);border-radius:var(--radius-md);scroll-margin-top:calc(var(--navbar-height) + 28px);transition:border-color .2s,box-shadow .2s}.glossary-card:hover{border-left-color:var(--color-forest-300);box-shadow:var(--shadow-sm,0 1px 3px #0000004d)}.glossary-card.glossary-highlight{border-left-color:var(--text-accent,#d4a574);animation:1.5s ease-out glossary-pulse;box-shadow:0 0 0 2px #d4a5744d}@keyframes glossary-pulse{0%{box-shadow:0 0 0 4px #d4a57480}to{box-shadow:0 0 0 2px #d4a5744d}}.glossary-card-header{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.glossary-card-term{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);align-items:baseline;gap:var(--space-2);margin:0;display:flex}.glossary-anchor{font-size:var(--text-sm);color:var(--text-muted);opacity:0;text-decoration:none;transition:opacity .15s}.glossary-card:hover .glossary-anchor{opacity:.6}.glossary-anchor:hover{color:var(--color-forest-300);opacity:1!important}.glossary-card-full{font-size:var(--text-sm);color:var(--text-accent,#d4a574);font-weight:var(--weight-medium);margin:0 0 var(--space-1);font-style:italic}.glossary-card-definition{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:var(--space-1) 0 0}.badge{font-size:.65rem;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);border-radius:var(--radius-full);white-space:nowrap;padding:.2rem .6rem;display:inline-block}.badge-primary{color:var(--text-accent);background:#3fa67626}.badge-secondary{color:#a7b4c6;background:#94a3b826}.badge-info{color:#38bdf8;background:#38bdf826}.badge-success{color:#4ade80;background:#4ade8026}.badge-warning{color:#fbbf24;background:#fbbf2426}.badge-danger{color:#fb8a8a;background:#f8717126}[data-theme=light] .badge-secondary{color:#4b5563}[data-theme=light] .badge-info{color:#0b6aa3}[data-theme=light] .badge-danger{color:#c0271f}@media (prefers-color-scheme:light){html:not([data-theme]) .badge-secondary{color:#4b5563}html:not([data-theme]) .badge-info{color:#0b6aa3}html:not([data-theme]) .badge-danger{color:#c0271f}}.glossary-related{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-3);align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.related-label{font-weight:var(--weight-medium);color:var(--text-muted);margin-right:var(--space-1)}.related-link{color:var(--text-accent);border-radius:var(--radius-sm);padding:.15rem .45rem;text-decoration:none;transition:background .15s}.related-link:hover{background:var(--surface-hover);text-decoration:underline}.glossary-sources{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-2);font-style:italic}.glossary-card mark{color:inherit;background:#d4a5744d;border-radius:2px;padding:.05em .15em}.glossary-no-results{text-align:center;padding:var(--space-12) var(--space-4);color:var(--text-muted)}.glossary-no-results p{font-size:var(--text-lg);margin-bottom:var(--space-2)}@media (width<=768px){.glossary-hero{padding:var(--space-8) 0 var(--space-6)}.glossary-hero h1{font-size:var(--text-2xl)}.glossary-hero p{font-size:var(--text-base)}.glossary-filters .filter-btn{font-size:var(--text-xs);padding:.35rem .7rem}.alpha-link{width:28px;height:28px;font-size:var(--text-xs)}.glossary-content{padding:var(--space-6) var(--space-3) var(--space-12)}.glossary-letter-heading{font-size:var(--text-xl)}.glossary-card-header{gap:var(--space-1);flex-direction:column}}@media print{.glossary-hero{padding:1rem 0;color:#1a1a1a!important;background:#fff!important}.glossary-search-wrapper,.glossary-filters,.glossary-alpha-index{display:none}.glossary-section,.glossary-card,.glossary-grid,.glossary-letter-group,[class*=glossary-]{color:#1a1a1a!important;background:#fff!important}.glossary-hero h1,.glossary-hero p,.glossary-card h3,.glossary-card p,.glossary-card li,.glossary-card span,.glossary-card dt,.glossary-card dd,.glossary-letter-group h2{color:#1a1a1a!important}.glossary-card{break-inside:avoid;border:1px solid #ccc;margin-bottom:.5rem}.badge{border:1px solid #999;color:#333!important;background:#f0f0f0!important}}
