/* The public glossary (/glossary/ and a page per term, made by tools/glossary-pages.mjs), on top of legal.css. */
:root { --surface: #FFFFFF; --green-soft: rgba(52, 199, 89, 0.12); --amber-soft: rgba(255, 159, 10, 0.12); }
@media (prefers-color-scheme: dark) { :root { --surface: #1C1C1E; --green-soft: rgba(48, 209, 88, 0.14); --amber-soft: rgba(255, 159, 10, 0.16); } }
.top-in, main.gl, .foot-in { max-width: 820px; }
.top nav { align-items: center; }
.top nav .top-cta { padding: 6px 14px; border-radius: 999px; background: var(--blue); color: #fff; font-weight: 600; }
.top nav .top-cta:hover { color: #fff; text-decoration: none; filter: brightness(1.08); }
.gl .kicker { margin: 8px 0 0; font-size: 14px; color: var(--label-3); }
.gl .def { margin: 22px 0 0; font-size: 19px; line-height: 1.6; color: var(--label); }
.gl .ex { margin-top: 22px; padding: 16px 20px 18px; border-radius: 16px; background: var(--green-soft); }
.gl .ex h2 { margin: 0; font-size: 15px; letter-spacing: 0; text-transform: none; }
.gl .ex p { margin-top: 6px; color: var(--label); }
.gl .dated { margin-top: 16px; padding: 10px 14px; border-radius: 12px; background: var(--amber-soft); font-size: 14px; }
.gl sub, .gl sup { line-height: 0; }
.rel, .idx { list-style: none; margin: 10px 0 0; padding: 0; }
.rel li, .idx li { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--sep); display: grid; gap: 2px; }
.rel li + li, .idx li + li { margin-top: 0; }
.rel a, .idx a { font-weight: 600; text-decoration: none; }
.rel a:hover, .idx a:hover { text-decoration: underline; }
.rel span, .idx span { font-size: 14.5px; line-height: 1.5; color: var(--label-2); }
.letters { position: sticky; top: 53px; z-index: 1; display: flex; flex-wrap: wrap; gap: 4px; margin: 24px 0 0; padding: 8px 0; background: color-mix(in srgb, var(--bg) 92%, transparent); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.letters a { min-width: 30px; padding: 4px 0; border-radius: 8px; text-align: center; font-weight: 600; font-size: 14px; text-decoration: none; }
.letters a:hover { background: var(--blue-soft); }
.letter { scroll-margin-top: 110px; }
.letter h2 { margin-top: 30px; }
/* “Learn it for good”, under the title. */
.cta { margin-top: 22px; padding: 20px 22px 18px; border-radius: 20px; background: var(--surface); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04); }
.cta h2 { margin: 0; font-size: 19px; }
.cta p { font-size: 15px; line-height: 1.55; }
.cta .cta-row { margin-top: 14px; }
.cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 16px; }
.cta .btn { display: inline-block; padding: 11px 22px; border-radius: 999px; background: var(--blue); color: #fff; font-weight: 600; text-decoration: none; }
.cta .btn:hover { filter: brightness(1.08); }
/* Past the free terms (html.gated, set by the page's meter): the start of the definition, fading, and the way in,
   which replaces “Learn it for good”. */
.gl .teaser, .gl .gate { display: none; }
html.gated .gl .paid, html.gated .gl .cta { display: none; }
html.gated .gl .teaser { display: block; margin: 22px 0 0; font-size: 19px; line-height: 1.6; color: var(--label); -webkit-mask-image: linear-gradient(#000 30%, transparent); mask-image: linear-gradient(#000 30%, transparent); user-select: none; }
html.gated .gl .gate { display: block; margin-top: 8px; padding: 26px 24px 22px; border-radius: 20px; background: var(--surface); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04); }
.gate h2 { margin: 0; }
.gate .btn { display: inline-block; padding: 11px 22px; border-radius: 999px; background: var(--blue); color: #fff; font-weight: 600; text-decoration: none; }
.gate .btn:hover { filter: brightness(1.08); }
.idx { columns: 2 220px; column-gap: 32px; }
.idx li { break-inside: avoid; padding: 7px 0; }
/* Phones: the header on one line (Pricing and Sign in are in the footer), the letters on one scrolling line. */
@media (max-width: 520px) {
  .top-in { flex-wrap: nowrap; }
  .top nav { margin-left: auto; width: auto; }
  .top nav a:not(.top-cta) { display: none; }
  .letters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: -20px; margin-right: -20px; padding: 8px 20px; }
  .letters::-webkit-scrollbar { display: none; }
  .letters a { flex: none; }
  .letter { scroll-margin-top: 120px; }
  .gl .def { font-size: 18px; }
}
