/* chapter pages: next/previous, the seam between appended chapters, the landing CTA */
.ch-next{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:72rem;margin:3rem auto 0;padding:0 1.25rem}
.ch-next a{display:block;padding:1rem 1.2rem;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:12px;
  text-decoration:none;color:var(--text,#e6edf3);font-weight:600;line-height:1.35;background:rgba(255,255,255,.02)}
.ch-next a:hover{border-color:var(--teal,#2dd4bf)}
.ch-next small{display:block;font-family:var(--mono,monospace);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted,#8b949e);margin-bottom:.3rem;font-weight:400}
.ch-next .next{grid-column:2;text-align:right}
.ch-appended{border-top:1px dashed var(--line,rgba(255,255,255,.14));margin-top:3rem}
.ch-appended .reveal{opacity:1;transform:none}
.ch-sentinel{height:1px}
.ch-sentinel.busy{height:4rem;background:linear-gradient(90deg,transparent,rgba(45,212,191,.25),transparent) no-repeat;
  background-size:40% 2px;background-position:0 50%;animation:chload 1.1s linear infinite}
@keyframes chload{to{background-position:100% 50%}}
.ch-start{margin:2.5rem auto 4rem;text-align:center}
.ch-go{display:inline-block;padding:1rem 1.6rem;border-radius:999px;border:1px solid var(--teal,#2dd4bf);
  color:var(--teal,#2dd4bf);text-decoration:none;font-weight:700}
.ch-go:hover{background:rgba(45,212,191,.08)}
footer.slim{padding:2.5rem 0 3rem}
@media (max-width:640px){.ch-next{grid-template-columns:1fr}.ch-next .next{grid-column:1}}
@media (prefers-reduced-motion:reduce){.ch-sentinel.busy{animation:none}}
.ch-revnote{margin-top:2rem;font-size:.9rem;color:var(--muted,#8b949e)}
/* search */
.srch-btn{display:inline-flex;align-items:center;gap:.4rem;height:2rem;padding:0 .7rem;border:1px solid var(--line,rgba(255,255,255,.14));
  border-radius:999px;background:transparent;color:var(--sub,#c9d1d9);font:500 .78rem var(--body,system-ui);cursor:pointer}
.srch-btn:hover{border-color:var(--teal,#2dd4bf);color:var(--teal,#2dd4bf)}
.srch-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media (max-width:640px){.srch-btn span{display:none}.srch-btn{padding:0 .5rem}}
.srch-dlg{width:min(46rem,calc(100vw - 2rem));max-height:min(80vh,44rem);margin:8vh auto auto;padding:0;border:1px solid var(--line,rgba(255,255,255,.14));
  border-radius:14px;background:var(--bg,#05080b);color:var(--text,#e6edf3)}
.srch-dlg::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(3px)}
.srch-in{position:relative;padding:1.2rem 1.2rem 1.4rem}
.srch-x{position:absolute;top:.6rem;right:.7rem;width:2rem;height:2rem;border:0;background:none;color:var(--muted,#8b949e);font-size:1.5rem;cursor:pointer}
#srch{--pagefind-ui-scale:.85;--pagefind-ui-primary:var(--teal,#2dd4bf);--pagefind-ui-text:var(--text,#e6edf3);
  --pagefind-ui-background:var(--bg,#05080b);--pagefind-ui-border:rgba(255,255,255,.14);--pagefind-ui-tag:rgba(45,212,191,.12);
  --pagefind-ui-border-width:1px;--pagefind-ui-border-radius:10px;--pagefind-ui-font:var(--body,system-ui);margin-right:2rem}
#srch mark{background:rgba(45,212,191,.25);color:inherit}
#srch .pagefind-ui__search-input{background:transparent;color:var(--text,#e6edf3)}
#srch .pagefind-ui__search-input::placeholder{color:var(--muted,#8b949e);opacity:1}
#srch .pagefind-ui__search-clear{background:transparent;color:var(--muted,#8b949e)}
#srch .pagefind-ui__result-link{color:var(--text,#e6edf3)}
#srch .pagefind-ui__result-nested .pagefind-ui__result-link{color:var(--teal,#2dd4bf)}
/* closing section: the cicada loop plays quietly behind it; the closing video leads */
footer.has-bg{position:relative;overflow:hidden;isolation:isolate}
footer.has-bg .foot-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.22;pointer-events:none;
  -webkit-mask:linear-gradient(180deg,transparent 0,#000 18%,#000 70%,transparent 100%);mask:linear-gradient(180deg,transparent 0,#000 18%,#000 70%,transparent 100%)}
footer.has-bg>.wrap{position:relative}
.foot-close{margin:0 0 2rem}
@media (prefers-reduced-motion:reduce){footer.has-bg .foot-bg{opacity:.14}}
