.lprp-root{position:fixed;inset:0;z-index:2147482000;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box}
.lprp-root[hidden]{display:none!important}
.lprp-overlay{position:absolute;inset:0;background:var(--lprp-overlay,rgba(0,0,0,.65))}
.lprp-dialog{position:relative;z-index:1;max-width:var(--lprp-maxw,90vw);max-height:var(--lprp-maxh,90dvh);border:var(--lprp-border,0 solid transparent);border-radius:var(--lprp-radius,0);overflow:visible;box-sizing:border-box}
.lprp-content{max-width:100%;max-height:100%}
.lprp-image-link{display:block;line-height:0}
.lprp-image{display:block;width:auto;height:auto;max-width:var(--lprp-maxw,90vw);max-height:var(--lprp-maxh,90dvh);object-fit:contain}
.lprp-close{position:absolute;top:6px;right:6px;width:34px;height:34px;border:1.5px solid rgba(255,255,255,.95);border-radius:50%;background:rgba(180,0,0,.94);box-shadow:0 2px 7px rgba(0,0,0,.35);z-index:5;cursor:pointer;padding:0}
.lprp-close span{position:absolute;top:50%;left:50%;width:15px;height:2px;background:#fff;border-radius:2px;pointer-events:none}
.lprp-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.lprp-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.lprp-anim-fade{animation:lprpFade .18s ease-out}
.lprp-anim-scale{animation:lprpScale .2s ease-out}
.lprp-anim-slide-up{animation:lprpSlide .22s ease-out}
@keyframes lprpFade{from{opacity:0}to{opacity:1}}
@keyframes lprpScale{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes lprpSlide{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:768px){
  .lprp-root{padding:8px}
  .lprp-close{width:32px;height:32px;top:4px;right:4px}
}