/* Glossary styles for caymanbot.com (#4504): glossary links in article prose, and the /glossary
   lookup page (search, A to Z jump list, entries). Loaded only by pages that use them. */
/* Glossary links (#4504): the first mention of a term in article prose links to its page. */
a.glossary-term { color:inherit; text-decoration:underline dotted; text-decoration-color:var(--primary); text-underline-offset:3px; }
a.glossary-term:hover, a.glossary-term:focus-visible { color:var(--primary); }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
/* /glossary: search, A to Z jump list and the entries. Jump targets land below the fixed navbar. */
.glossary-search { display:grid; gap:.45rem; margin:0 0 1.2rem; }
.glossary-search[hidden] { display:none; }
.glossary-search label { color:var(--muted); font-size:.78rem; font-weight:700; letter-spacing:.02em; }
.glossary-search input { width:100%; min-height:48px; padding:.7rem .9rem; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); font:500 1rem/1.3 Inter,sans-serif; }
.glossary-search input:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent); }
.glossary-search-status { margin:0!important; min-height:1.2em; font-size:.8rem; }
.glossary-az { display:flex; flex-wrap:wrap; gap:.35rem; }
.glossary-az a, .glossary-az span { display:inline-flex; align-items:center; justify-content:center; min-width:2.4rem; min-height:2.4rem; padding:0 .45rem; border:1px solid var(--line); border-radius:8px; font:600 .85rem/1 JetBrains Mono,monospace; text-decoration:none; }
.glossary-az a { background:var(--surface); color:var(--text); }
.glossary-az a:hover, .glossary-az a:focus-visible { border-color:var(--primary); color:var(--primary); }
.glossary-az span { color:var(--muted); opacity:.45; }
.glossary-letter, .glossary-entry { scroll-margin-top:7rem; }
.glossary-letter { padding:1.5rem 0 .5rem; border-top:1px solid var(--line); }
.glossary-letter[hidden], .glossary-entry[hidden], .glossary-no-results[hidden] { display:none; }
.article .glossary-letter-heading { margin-bottom:.4rem; color:var(--primary); font:700 1.1rem/1 JetBrains Mono,monospace; letter-spacing:.05em; }
.glossary-entry { padding:1.1rem 0 1.4rem; }
.glossary-entry + .glossary-entry { border-top:1px dashed var(--line); }
.glossary-entry-term { margin-bottom:.35rem; font-size:1.25rem; line-height:1.3; letter-spacing:-.01em; }
.glossary-entry-term a { text-decoration:none; }
.glossary-entry-term a:hover, .glossary-entry-term a:focus-visible { color:var(--primary); text-decoration:underline; }
.article .glossary-entry-short { color:var(--text); font-weight:500; }
.glossary-entry-long p { font-size:.95rem; }
.article .glossary-entry-link { margin-bottom:0; font-size:.85rem; }
.glossary-entry-link a { color:var(--primary); text-underline-offset:3px; }
.glossary-entry:target { border-radius:10px; outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent); outline-offset:.5rem; }
