/* zn-doc.css — the document popover (pairs with /sqs/zn-doc.js). */
.zn-doc{
  position:fixed; inset:0; width:100vw; height:100vh; max-width:none; max-height:none;
  margin:0; padding:clamp(16px,3vh,32px) clamp(16px,3vw,40px); border:0; background:transparent;
  display:none; align-items:center; justify-content:center; box-sizing:border-box; z-index:1200;
}
.zn-doc[open]{ display:flex }
.zn-doc::backdrop{ background:rgba(8,10,9,.72); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px) }
.zn-doc-panel{
  width:min(1120px, 100%); height:min(90vh, 100%); display:flex; flex-direction:column;
  background:var(--v4-paper, #F2EEE6); color:var(--v4-ink, #0E0F0E); border-radius:14px; overflow:hidden;
  box-shadow:0 60px 120px -40px rgba(0,0,0,.6);
  animation:zn-doc-in .5s cubic-bezier(.22,.7,.2,1);
}
@keyframes zn-doc-in{ from{ opacity:0; transform:translateY(18px) scale(.985) } to{ opacity:1; transform:none } }
.zn-doc-bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 14px 12px 20px; border-bottom:1px solid var(--v4-line, rgba(0,0,0,.12));
  font-family:var(--mono, ui-monospace, monospace); font-size:var(--zn-label, 11px);
  letter-spacing:var(--zn-label-track, .12em); text-transform:uppercase;
}
.zn-doc-title{ color:var(--v4-ink, #0E0F0E); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.zn-doc-tools{ display:flex; align-items:center; gap:14px; flex:0 0 auto }
.zn-doc-open{ color:var(--v4-mute, #6B6B66); text-decoration:none; border-bottom:1px solid transparent }
.zn-doc-open:hover{ color:var(--v4-ink, #0E0F0E); border-bottom-color:currentColor }
.zn-doc-close{
  width:34px; height:34px; border-radius:50%; border:1px solid var(--v4-line, rgba(0,0,0,.14));
  background:transparent; color:var(--v4-ink, #0E0F0E); font:400 22px/1 var(--sans, system-ui, sans-serif);
  cursor:pointer; display:grid; place-items:center; transition:background .25s ease, transform .25s ease;
}
.zn-doc-close:hover{ background:var(--v4-ink, #0E0F0E); color:var(--v4-paper, #F2EEE6); transform:rotate(90deg) }
.zn-doc-body{ flex:1 1 auto; min-height:0; background:#525659 }
.zn-doc-frame{ display:block; width:100%; height:100%; border:0 }
html.zn-doc-open{ overflow:hidden }
@media (prefers-reduced-motion: reduce){ .zn-doc-panel{ animation:none } }
/* page images (pre-rendered PDF pages) */
.zn-doc-body{ overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch }
.zn-doc-pages{ display:flex; flex-direction:column; gap:12px; padding:14px; max-width:1180px; margin:0 auto; box-sizing:border-box }
.zn-doc-page{ margin:0 }
.zn-doc-page img{ display:block; width:100%; height:auto; background:#fff; border-radius:4px; box-shadow:0 10px 30px -18px rgba(0,0,0,.6) }
.zn-doc-count{ color:var(--v4-mute, #6B6B66); font-variant-numeric:tabular-nums }
.zn-doc-count:empty{ display:none }
@media (max-width:719px){
  .zn-doc{ padding:0 }
  .zn-doc-panel{ width:100%; height:100%; border-radius:0 }
  .zn-doc-open{ display:none }
  .zn-doc-pages{ padding:10px; gap:8px }
}
