html:has(.glossary-main) { scroll-behavior:auto; }
.glossary-main { background:#edf1ee; color:#102b32; padding-top:76px; }
.glossary-page { --glossary-ink:#102b32; --glossary-muted:#486069; --glossary-line:#becdc9; }
.glossary-page [hidden] { display:none !important; }
.glossary-page a { text-underline-offset:4px; }
.glossary-page a:hover { text-decoration:underline; }
.glossary-page :focus-visible { outline:3px solid #99641b; outline-offset:5px; }
.glossary-wrap { width:min(1180px,calc(100% - 96px)); margin-inline:auto; }
.glossary-hero { background:#062c33; color:#f5f4e8; padding:76px 0 52px; }
.glossary-eyebrow { font-size:.69rem; font-weight:700; letter-spacing:.15em; margin:0 0 24px; }
.glossary-hero .glossary-eyebrow { color:#92c9c4; }
.glossary-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(3.5rem,6.6vw,6.3rem); line-height:1.03; letter-spacing:-.055em; font-weight:400; margin:0; }
.glossary-hero h1 em { color:#aedbd2; font-weight:400; }
.glossary-intro { max-width:670px; font-size:1.16rem; line-height:1.75; color:#d2dfda; margin:28px 0 34px; }
.glossary-stats { border-top:1px solid #48686a; display:flex; align-items:center; gap:28px; padding-top:25px; font-size:.84rem; color:#c6dbd5; flex-wrap:wrap; }
.glossary-stats strong { color:#fffdf4; font-size:1.55rem; font-weight:600; padding-right:5px; }
.glossary-stats a { margin-left:auto; text-decoration:underline; }
.glossary-content { padding-bottom:70px; }
.glossary-finder { padding:44px 0 0; }
.glossary-finder h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:2rem; letter-spacing:-.035em; margin:0 0 22px; }
.glossary-enhanced { display:none; }
[data-glossary][data-ready] .glossary-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,.5fr) auto; align-items:end; gap:16px; }
.glossary-controls label { display:block; font-size:.78rem; font-weight:600; margin-bottom:9px; color:#36525a; }
.glossary-controls input,.glossary-controls select { background:#fbfcf9; border:1px solid #8da7a4; color:#102b32; border-radius:3px; padding:12px 14px; height:50px; width:100%; font:inherit; font-size:1rem; }
.glossary-controls input::placeholder { color:#60757a; opacity:1; }
.glossary-controls select { padding-right:25px; }
.glossary-controls button { height:50px; border:1px solid #31525a; background:#edf1ee; border-radius:3px; color:#173a42; font:inherit; font-size:.83rem; font-weight:650; padding:10px 16px; cursor:pointer; }
.glossary-controls button:hover { background:#d9e5df; }
.glossary-popular { font-size:.8rem; line-height:2; color:#486069; margin:18px 0 25px; }
.glossary-popular a { color:#135c60; text-decoration:underline; white-space:nowrap; }
.glossary-alphabet { display:flex; flex-wrap:wrap; gap:5px; padding:16px 0; border-block:1px solid var(--glossary-line); }
.glossary-alphabet a,.glossary-alphabet>span { display:grid; place-items:center; min-width:34px; height:40px; font-size:.84rem; font-weight:650; padding:0 6px; border-radius:2px; }
.glossary-alphabet a { color:#144a51; background:#dfe8e2; }
.glossary-alphabet a:hover { background:#0c4149; color:#fff; text-decoration:none; }
.glossary-alphabet>span,.glossary-alphabet a[aria-disabled=true] { color:#75847f; background:transparent; cursor:default; }
.glossary-count { display:flex; justify-content:space-between; gap:14px; color:var(--glossary-muted); font-size:.78rem; margin:14px 0 26px; }
.glossary-count a { text-decoration:underline; }
.glossary-context { background:#e1e9e1; border-left:3px solid #7b9d8d; padding:19px 23px; font-size:.84rem; line-height:1.7; margin:0 0 30px; color:#36554d; }
.glossary-context p { margin:6px 0 0; max-width:980px; }
.glossary-empty { padding:32px 0; font-size:1rem; }
.glossary-letter-group { scroll-margin-top:100px; }
.glossary-letter-heading { display:flex; align-items:baseline; justify-content:space-between; border-bottom:2px solid #214b50; padding:26px 0 9px; gap:20px; }
.glossary-letter-heading h2 { font-family:Georgia,'Times New Roman',serif; font-size:2.65rem; font-weight:400; margin:0; }
.glossary-letter-heading>a { color:#4b6466; font-size:.75rem; }
.glossary-entry { border-bottom:1px solid var(--glossary-line); padding:25px 0 24px; scroll-margin-top:100px; }
.glossary-entry:target { background:#f8f5dc; box-shadow:0 0 0 14px #f8f5dc; }
.glossary-entry-heading { display:flex; justify-content:space-between; align-items:baseline; gap:22px; }
.glossary-entry h3 { margin:0; font-size:1.25rem; line-height:1.4; font-weight:650; letter-spacing:-.02em; overflow-wrap:anywhere; }
.glossary-entry h3 a::after { content:' #'; opacity:0; color:#61877d; font-weight:400; }
.glossary-entry h3 a:hover::after,.glossary-entry h3 a:focus-visible::after { opacity:1; }
.glossary-category { flex-shrink:0; font-size:.66rem; font-weight:650; letter-spacing:.025em; color:#386455; background:#dce7dd; padding:5px 8px; border-radius:2px; }
.glossary-aliases { color:#536e72; font-size:.78rem; line-height:1.8; margin:7px 0 0; overflow-wrap:anywhere; }
.glossary-aliases>span { color:#607976; margin-right:7px; }
.glossary-definition { font-size:1.01rem; line-height:1.8; max-width:930px; margin:12px 0 10px; color:#203e48; }
.glossary-related { font-size:.81rem; margin:10px 0; line-height:1.8; color:#365c59; }
.glossary-source { font-size:.73rem; color:#566d6c; margin:9px 0 0; line-height:1.9; max-width:970px; }
.glossary-related a,.glossary-source a { color:#176367; text-decoration:underline; }
.glossary-reading { margin-top:66px; padding-top:40px; border-top:1px solid #768e87; scroll-margin-top:100px; }
.glossary-reading h2 { font-family:Georgia,'Times New Roman',serif; font-size:2.5rem; line-height:1.15; letter-spacing:-.04em; font-weight:400; margin:0 0 22px; }
.glossary-reading>p:not(.glossary-eyebrow) { max-width:950px; font-size:.94rem; line-height:1.8; color:#496269; }
.glossary-source-columns { display:grid; grid-template-columns:1fr 1fr; gap:45px; margin-top:30px; }
.glossary-source-columns h3,.glossary-source-columns summary { margin:0; font-size:1rem; font-weight:650; }
.glossary-source-columns summary { cursor:pointer; padding:0 0 14px; }
.glossary-source-columns ul { list-style:none; padding:0; margin:16px 0; }
.glossary-source-columns li { font-size:.8rem; line-height:1.6; border-top:1px solid var(--glossary-line); padding:9px 0; }
.glossary-source-columns a,.glossary-updated a { color:#176367; text-decoration:underline; }
.glossary-updated { margin-top:30px; }
#glossary-top { scroll-margin-top:76px; }
@media(max-width:800px) {
  .glossary-wrap { width:calc(100% - 48px); }
  .glossary-hero { padding:50px 0 36px; }
  .glossary-stats { gap:16px 25px; }
  .glossary-stats a { flex-basis:100%; margin:0; }
  [data-glossary][data-ready] .glossary-controls { grid-template-columns:minmax(0,1fr) auto; }
  .glossary-controls>div:first-child { grid-column:1 / -1; }
  .glossary-entry-heading { display:block; }
  .glossary-category { display:inline-block; margin-top:8px; }
  .glossary-source-columns { grid-template-columns:1fr; gap:26px; }
}
@media(max-width:420px) {
  .glossary-main { padding-top:64px; }
  .glossary-wrap { width:calc(100% - 36px); }
  .glossary-hero h1 { font-size:3.5rem; }
  .glossary-intro { font-size:1rem; }
  .glossary-eyebrow { font-size:.61rem; letter-spacing:.1em; }
  .glossary-controls select { font-size:.86rem; }
  .glossary-controls button { padding:10px; font-size:.76rem; }
  .glossary-controls input { font-size:1rem; }
  .glossary-context { padding:16px; }
  .glossary-definition { font-size:.96rem; }
  .glossary-entry h3 { font-size:1.18rem; }
  .glossary-source { font-size:.73rem; }
  .glossary-reading h2 { font-size:2rem; }
}
@media(prefers-reduced-motion:reduce) { html:has(.glossary-main) { scroll-behavior:auto; } }
@media print {
  .site-header,.site-footer,.glossary-controls,.glossary-alphabet,.glossary-popular,.glossary-count,.glossary-context,.glossary-letter-heading>a { display:none !important; }
  .glossary-main { padding:0; background:white; }
  .glossary-hero { background:white; color:black; padding:20px 0; }
  .glossary-hero h1 { font-size:36px; }
  .glossary-hero h1 em,.glossary-intro,.glossary-stats,.glossary-hero .glossary-eyebrow { color:black; }
  .glossary-wrap { width:100%; }
  .glossary-entry { break-inside:avoid; padding:12px 0; }
  .glossary-source { font-size:10px; }
}
