/* AN · Pápai. Scope every rule to this component; never crop the artwork. */
.an-papai { border-bottom:1px solid var(--line,#d4d7d7); margin:0 0 28px; padding:0 0 24px; }
.an-papai__inner { width:min(100%,900px); margin-inline:auto; }
.an-papai__header { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; margin:0 0 16px; }
.an-papai .an-papai__name { margin:0; color:var(--blue,#203f50); font:650 38px/1.08 var(--serif,Georgia,serif); letter-spacing:0; }
.an-papai__byline { margin:0; color:var(--muted,#59666d); font:400 15px/1.35 var(--sans,Arial,sans-serif); }
.an-papai__figure { margin:0; }
.an-papai__image-link { display:block; background:#fff; cursor:zoom-in; }
.an-papai .an-papai__image { display:block; width:100%; max-width:100%; height:auto!important; max-height:none!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center; margin:0; border:0; border-radius:0; }
.an-papai__caption { margin:12px 0 0; font:400 16px/1.45 var(--sans,Arial,sans-serif); color:var(--ink,#1c292f); }
.an-papai__footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 24px; margin-top:10px; color:var(--muted,#59666d); font:400 13px/1.4 var(--sans,Arial,sans-serif); }
.an-papai__links { display:flex; flex-wrap:wrap; gap:20px; margin-left:auto; }
.an-papai__links a,.an-papai__links button { color:inherit; text-decoration:none; font:inherit; background:none; border:0; padding:0; cursor:pointer; }
.an-papai__links a:hover { text-decoration:underline; text-underline-offset:3px; }
.an-papai a:focus-visible,.an-papai-lightbox button:focus-visible { outline:2px solid var(--accent,#8b3428); outline-offset:4px; }
.an-papai-lightbox { position:fixed; inset:0; margin:auto; width:min(1500px,96vw); height:min(96dvh,1200px); max-width:96vw; max-height:96dvh; padding:0; border:0; background:#fff; color:#1c292f; box-shadow:none; font-family:var(--sans,Arial,sans-serif); }
.an-papai-lightbox::backdrop { background:rgb(247 247 244 / .96); }
.an-papai-lightbox[open] { display:flex; flex-direction:column; }
.an-papai-lightbox__bar { flex:none; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:8px 18px; border-bottom:1px solid #d4d7d7; background:#fff; }
.an-papai-lightbox__title { margin:0; font:500 18px/1.2 var(--serif,Georgia,serif); }
.an-papai-lightbox__actions { display:flex; gap:8px; }
.an-papai-lightbox__actions button { font:400 14px/1.2 var(--sans,Arial,sans-serif); padding:10px 12px; min-height:40px; background:#f1f4f5; border:1px solid #d4d7d7; color:#1c292f; cursor:pointer; }
.an-papai-lightbox__canvas { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; touch-action:pan-x pan-y pinch-zoom; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); place-items:center; background:white; }
.an-papai-lightbox .an-papai-lightbox__image { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; margin:0; }
.an-papai-lightbox__canvas.is-zoomed { display:block; }
.an-papai-lightbox .is-zoomed .an-papai-lightbox__image { width:max(1400px,160%); height:auto; max-width:none; max-height:none; object-fit:contain; }
.an-papai__share { display:flex; gap:8px 18px; flex-wrap:wrap; align-items:center; margin:14px 0 0; padding:14px 0 0; border-top:1px solid var(--line,#d4d7d7); font:400 14px/1.4 var(--sans,Arial,sans-serif); }
.an-papai__share[hidden] { display:none; }
.an-papai__share a,.an-papai__share button { padding:8px 10px; border:1px solid #cbd4d8; background:#fff; color:var(--blue,#203f50); font:inherit; cursor:pointer; }
.an-papai__share p { width:100%; margin:0; color:var(--muted,#59666d); }
.an-papai__share input { width:100%; padding:9px; border:1px solid #cbd4d8; background:#fff; color:var(--ink,#1c292f); font:inherit; }
.an-papai button:focus-visible { outline:2px solid var(--accent,#8b3428); outline-offset:4px; }
@container paper (max-width:680px) {
  .an-papai { padding-bottom:20px; margin-bottom:22px; }
  .an-papai__header { gap:4px; flex-direction:column; margin-bottom:12px; }
  .an-papai .an-papai__name { font-size:32px; }
  .an-papai__byline { font-size:14px; }
  .an-papai__footer { font-size:12px; }
}
@media(max-width:600px) {
  .an-papai-lightbox { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; }
  .an-papai-lightbox__bar { padding:8px 12px; gap:8px; }
  .an-papai-lightbox__title { font-size:16px; }
}
@media print { .an-papai__links,.an-papai-lightbox { display:none!important; } .an-papai { break-inside:avoid; } }
