/* Tap-a-verse pop-ups (verse.js). Hand-written; uses the tokens in /assets/site.css. */
.bv-pop{position:absolute;z-index:1000;width:min(440px,calc(100vw - 32px));background:#fff;color:var(--ink,#122c40);border:1px solid var(--line,#d9e0e5);border-top:0;box-shadow:0 18px 48px rgba(18,44,64,.22),0 2px 8px rgba(18,44,64,.12);font:16px/1.6 var(--sans,'DM Sans',system-ui,sans-serif);text-align:left;display:flex;flex-direction:column;max-height:min(70vh,560px)}
.bv-pop:focus{outline:none}
.bv-pop:focus-visible{outline:3px solid var(--accent,#9c5a24);outline-offset:3px}
.bv-pop::before{content:'';position:absolute;left:calc(var(--bv-arrow,30px) - 8px);top:-8px;width:16px;height:16px;background:var(--gold,#e9bd76);transform:rotate(45deg)}
.bv-pop.bv-up::before{top:auto;bottom:-8px;background:var(--tint,#f1f5f7);border:solid var(--line,#d9e0e5);border-width:0 1px 1px 0}
.bv-head{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:14px;background:var(--ink,#122c40);color:#fff;padding:16px 20px 13px;border-top:3px solid var(--gold,#e9bd76)}
.bv-pop .bv-title{font:400 1.45rem/1.15 var(--serif,'Libre Caslon Display',Georgia,serif);letter-spacing:0;margin:0;color:#fff}
.bv-version{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#e9bd76);cursor:help}
.bv-body{padding:16px 20px 6px;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;min-height:0}
.bv-body:focus-visible{outline:2px solid var(--accent,#9c5a24);outline-offset:-2px}
.bv-loading .bv-body{color:var(--muted,#52616a);font-size:15px;padding-bottom:14px}
.bv-pop .bv-text{margin:0 0 12px;font-size:16px;line-height:1.62}
.bv-num{font-size:.68em;font-weight:700;color:var(--accent,#9c5a24);margin-right:3px;line-height:0;vertical-align:.5em}
.bv-gap{color:var(--muted,#52616a)}
.bv-pop .bv-chapter{margin:4px 0 4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#52616a)}
.bv-pop .bv-more{margin:0 0 12px;font-size:14px;color:var(--muted,#52616a);font-style:italic}
.bv-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px 12px;border-top:1px solid var(--line,#d9e0e5);background:var(--tint,#f1f5f7)}
.bv-pop .bv-read{font-size:14px;font-weight:600;color:var(--ink,#122c40);text-decoration:underline;text-decoration-color:var(--gold,#e9bd76);text-decoration-thickness:2px;text-underline-offset:4px;padding-block:6px;white-space:nowrap}
.bv-pop .bv-read:hover{color:var(--accent,#9c5a24)}
.bv-close{font:600 14px/1 var(--sans,'DM Sans',system-ui,sans-serif);color:var(--ink,#122c40);background:#fff;border:1px solid var(--line,#d9e0e5);padding:10px 16px;min-height:40px;cursor:pointer}
.bv-close:hover{border-color:var(--ink,#122c40)}
.bv-close:focus-visible,.bv-pop .bv-read:focus-visible{outline:3px solid var(--accent,#9c5a24);outline-offset:3px}
.bv-loading{max-width:240px}
.bv-loading .bv-foot{justify-content:flex-end}
.bv-ref{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}

/* Phones: a bottom sheet. */
.bv-scrim{position:fixed;inset:0;z-index:999;background:rgba(18,44,64,.42)}
.bv-pop.bv-sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;max-height:78vh;border:0;box-shadow:0 -10px 40px rgba(18,44,64,.3);padding-bottom:env(safe-area-inset-bottom,0)}
.bv-pop.bv-sheet::before{display:none}
.bv-sheet .bv-head{padding:18px 16px 14px}
.bv-sheet .bv-body{padding:16px 16px 6px}
.bv-sheet .bv-foot{padding:10px 16px 14px}
.bv-sheet .bv-close{min-height:44px;padding-inline:20px}
.bv-sheet .bv-read{padding-block:12px}
html.bv-sheet-open,html.bv-sheet-open body{overflow:hidden}

@media (prefers-reduced-motion:no-preference){
  .bv-pop{animation:bv-in .14s ease-out}
  .bv-pop.bv-sheet{animation:bv-up .22s cubic-bezier(.2,.8,.3,1)}
  .bv-scrim{animation:bv-fade .2s ease-out}
}
@keyframes bv-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes bv-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes bv-fade{from{opacity:0}to{opacity:1}}
@media print{.bv-pop,.bv-scrim{display:none!important}}
