.preview-modal{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:clamp(1rem,4vw,3rem)!important;overflow:hidden!important;background:var(--bg)}.preview-modal .close-btn{z-index:2}.preview-modal .preview-modal-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.preview-modal .preview-modal-spinner{width:3rem;height:3rem;color:var(--text-primary)}.preview-modal .preview-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);text-align:center}.preview-modal .preview-modal-error p{margin:1rem 0}.preview-modal .preview-modal-error-icon{width:3rem;height:3rem}.preview-modal .preview-modal-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;height:100%;min-height:0}.preview-modal .preview-modal-caption{margin:3rem 0 .5rem;font-size:clamp(1rem,2vw,1.25rem);font-weight:600;color:var(--text-primary);text-align:center;text-wrap:balance}.preview-modal .preview-modal-image{display:block;flex-shrink:1;min-width:0;min-height:0;width:auto;height:auto;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;box-shadow:0 1px 4px #0000001f,0 10px 32px #00000024;transition:opacity .2s ease-in-out}.preview-modal .preview-modal-image.loading{opacity:0}
