.tempest-glossary {
	--tg-accent: #275968;
	--tg-ink: #24251f;
	--tg-muted: #64665d;
	--tg-line: #dedfd6;
	--tg-offset: 1rem;
	--tg-sticky-top: 0px;
	--tg-admin-offset: 0px;
	--tg-index-height: 7rem;
	--tg-surface: #fff;
	color: var(--tg-ink);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.65;
	width: 100%;
}
.tempest-glossary *, .tempest-glossary *::before, .tempest-glossary *::after { box-sizing: border-box; }
.tempest-glossary .tempest-glossary__title {
	color: var(--tg-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 400;
	line-height: 1.15;
	margin: 0 0 1.5rem;
}
.tempest-glossary .tempest-glossary__intro { color: var(--tg-muted); font-size: 1.15em; max-width: 44rem; margin: 0 0 2rem; }
.tempest-glossary .tempest-glossary__index {
 position: sticky;
 top: calc(var(--tg-sticky-top) + var(--tg-admin-offset));
 z-index: 20;
 background: var(--tg-surface);
 border: 1px solid var(--tg-line);
 border-radius: 10px;
 box-shadow: 0 4px 16px rgb(0 0 0 / 6%);
 margin: 2rem 0 2rem;
 padding: .75rem;
}
.tempest-glossary .tempest-glossary__index-heading { display: flex; justify-content: space-between; gap: .5rem; margin-bottom: .5rem; color: var(--tg-muted); font-size: .75rem; line-height: 1.4; }
.tempest-glossary .tempest-glossary__swipe { display: none; }
.tempest-glossary .tempest-glossary__letters { display: flex; flex-wrap: wrap; gap: .35rem; padding: 4px; }
body.admin-bar .tempest-glossary { --tg-admin-offset: 32px; }
@media (min-width: 601px) and (max-width: 782px) { body.admin-bar .tempest-glossary { --tg-admin-offset: 46px; } }
@media (max-width: 600px) { body.admin-bar .tempest-glossary { --tg-admin-offset: 0px; } }
.tempest-glossary .tempest-glossary__index a {
	border: 1px solid var(--tg-line);
	border-radius: 3px;
	color: var(--tg-muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: ui-monospace, monospace;
	font-size: .8em;
	min-width: 2.75rem;
	flex: 0 0 auto;
	min-height: 2.75rem;
	padding: .3rem .55rem;
	text-decoration: none;
}
.tempest-glossary .tempest-glossary__index a:hover, .tempest-glossary .tempest-glossary__index a[aria-current="location"] { background: var(--tg-accent); border-color: var(--tg-accent); color: #fff; }
.tempest-glossary a:focus-visible, .tempest-glossary [tabindex="-1"]:focus-visible { outline: 2px solid var(--tg-accent); outline-offset: 4px; }
.tempest-glossary .tempest-glossary__group { border-top: 1px solid var(--tg-line); margin: 2rem 0 0; padding: 0; }
.tempest-glossary .tempest-glossary__letter {
	color: var(--tg-accent);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 1.4rem;
	padding: 0;
	scroll-margin-top: calc(var(--tg-offset) + var(--tg-sticky-top) + var(--tg-admin-offset));
}
.tempest-glossary:has(.tempest-glossary__index) .tempest-glossary__letter, .tempest-glossary:has(.tempest-glossary__index) .tempest-glossary__entry { scroll-margin-top: calc(var(--tg-offset) + var(--tg-sticky-top) + var(--tg-admin-offset) + var(--tg-index-height)); }
.tempest-glossary .tempest-glossary__entries { margin: 0; padding: 0; }
.tempest-glossary .tempest-glossary__entry { border-left: 2px solid var(--tg-line); margin: 0 0 1.5rem; padding: 0 0 0 1.25rem; scroll-margin-top: calc(var(--tg-offset) + var(--tg-sticky-top) + var(--tg-admin-offset)); overflow-wrap: anywhere; }
.tempest-glossary dt { color: var(--tg-ink); font-weight: 700; font-size: 1em; margin: 0 0 .35rem; padding: 0; }
.tempest-glossary dd { color: var(--tg-muted); margin: 0; padding: 0; }
.tempest-glossary .tempest-glossary__definition > :first-child { margin-top: 0; }
.tempest-glossary .tempest-glossary__definition > :last-child { margin-bottom: 0; }
.tempest-glossary .tempest-glossary__definition p { margin: 0 0 .8em; }
.tempest-glossary .tempest-glossary__related { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem .6rem; font-size: .8em; margin-top: .65rem; }
.tempest-glossary .tempest-glossary__related-label { font-family: ui-monospace, monospace; font-size: .9em; letter-spacing: .08em; text-transform: uppercase; }
.tempest-glossary .tempest-glossary__related ul { display: flex; flex-wrap: wrap; gap: .35rem .65rem; list-style: none; margin: 0; padding: 0; }
.tempest-glossary .tempest-glossary__related li { list-style: none; margin: 0; padding: 0; }
.tempest-glossary a { color: var(--tg-accent); text-underline-offset: .18em; }
.tempest-glossary .tempest-glossary__related a { text-decoration: none; }
.tempest-glossary .tempest-glossary__related a:hover { text-decoration: underline; }
@media (max-width: 600px) {
	.tempest-glossary .tempest-glossary__entry { padding-left: .9rem; }
	.tempest-glossary .tempest-glossary__index { padding: .6rem; border-radius: 8px; }
 .tempest-glossary .tempest-glossary__letters { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--tg-line) transparent; scroll-padding-inline: 4px; padding-bottom: .5rem; }
 .tempest-glossary .tempest-glossary__swipe { display: inline; white-space: nowrap; }
 .tempest-glossary .tempest-glossary__index:not(.is-overflowing) .tempest-glossary__swipe { visibility: hidden; }
 .tempest-glossary .tempest-glossary__index a { min-width: 44px; min-height: 44px; border-radius: 5px; }
}

.tempest-glossary .tempest-glossary__term-anchor { scroll-margin-top: calc(var(--tg-offset) + var(--tg-sticky-top) + var(--tg-admin-offset)); }
.tempest-glossary:has(.tempest-glossary__index) .tempest-glossary__term-anchor { scroll-margin-top: calc(var(--tg-offset) + var(--tg-sticky-top) + var(--tg-admin-offset) + var(--tg-index-height)); }
.tempest-glossary .tempest-glossary__entry:has(.tempest-glossary__term-anchor:target) { border-left-color: var(--tg-accent); }
.tempest-glossary .tempest-glossary__copy-link { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; margin: 0 0 0 .7rem; min-height: 36px; padding: .3rem .65rem; border: 1px solid var(--tg-line); border-radius: 5px; background: var(--tg-surface); color: var(--tg-accent); font-family: inherit; font-weight: 500; font-size: .75rem; line-height: 1.4; cursor: pointer; }
.tempest-glossary .tempest-glossary__copy-link[hidden] { display: none; }
.tempest-glossary .tempest-glossary__copy-link:hover { border-color: var(--tg-accent); }
.tempest-glossary .tempest-glossary__copy-link:focus-visible, .tempest-glossary .tempest-glossary__term-anchor:focus-visible { outline: 2px solid var(--tg-accent); outline-offset: 3px; }
.tempest-glossary .tempest-glossary__copy-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tempest-glossary .tempest-glossary__copy-url { display: block; width: 100%; margin: .5rem 0; padding: .65rem; border: 1px solid var(--tg-line); border-radius: 4px; color: var(--tg-ink); background: var(--tg-surface); font-size: .9rem; }
@media (max-width: 600px) { .tempest-glossary .tempest-glossary__copy-link { min-height: 44px; } }
