/* A quiet, read-only look back at an earned scene. */
.map-pin[data-recap-index]{cursor:pointer}
.map-pin[data-recap-index]:focus-visible{outline:none}
.map-pin[data-recap-index]:focus-visible circle{stroke:#fff;stroke-width:8;filter:drop-shadow(0 0 4px #1a5551)}
button.progress-step.done{cursor:pointer;font:inherit;font-size:.82rem;font-weight:750}
button.progress-step.done:hover{background:#bde1ca}
.lighthouse-recap{padding:0;width:min(620px,calc(100% - 32px));max-height:min(90dvh,780px);overflow:auto;border:1px solid #b7d1c6;border-radius:22px;background:#fffcf4;color:#173e50;box-shadow:0 20px 60px #142e3c55}
.lighthouse-recap::backdrop{background:#102d36b3}
.recap-art{position:relative;display:grid;place-items:center;height:clamp(180px,32vw,280px);overflow:hidden;background:linear-gradient(135deg,#f9e9bd,#e4f2e7)}
.recap-art img{display:block;width:100%;height:100%;object-fit:cover}
.recap-art[data-station="0"] img,.recap-art[data-station="2"] img{object-fit:contain;filter:drop-shadow(0 8px 9px #7c694a45)}
.recap-art .treasure-chest{bottom:18%}
.recap-body{padding:clamp(20px,4vw,32px)}
.recap-overline{margin:0 0 .55rem;color:#98681d;font-size:.76rem;font-weight:800;letter-spacing:.08em}
.recap-body h2{margin:0 0 .65rem;font-family:Georgia,serif}
.recap-body #recap-copy{margin:0 0 1.25rem;line-height:1.55}
.recap-body button{max-width:100%}
