/* Stage 30: scoped viewer; gallery layout and original assets remain untouched. */
body.px-stage30-open{overflow:hidden}
.px-stage30-viewer{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px;color:#f4f5f6}
.px-stage30-backdrop{position:absolute;inset:0;background:rgba(5,7,10,.92)}
.px-stage30-panel{position:relative;display:flex;flex-direction:column;width:min(1100px,100%);max-height:calc(100dvh - 36px);background:#15191d;border:1px solid #343a40;border-radius:12px;overflow:hidden;box-shadow:0 24px 80px #0009}
.px-stage30-top,.px-stage30-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px}
.px-stage30-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.px-stage30-close,.px-stage30-prev,.px-stage30-next,.px-stage30-save{cursor:pointer;color:#fff;border:1px solid #50565d;background:#242b32;border-radius:8px}
.px-stage30-close{font-size:26px;width:36px;height:36px;line-height:1}
.px-stage30-image-wrap{position:relative;display:flex;justify-content:center;align-items:center;min-height:180px;overflow:hidden;background:#0a0d10}
.px-stage30-image-wrap img{display:block;max-width:100%;max-height:calc(100dvh - 175px);width:auto;height:auto;object-fit:contain}
.px-stage30-prev,.px-stage30-next{position:absolute;top:50%;transform:translateY(-50%);z-index:1;font-size:30px;width:42px;height:46px;background:#151a20cc}
.px-stage30-prev{left:10px}.px-stage30-next{right:10px}
.px-stage30-save{padding:9px 16px;font-size:12px}.px-stage30-save[aria-pressed=true]{border-color:#5b9279;color:#b1f1ce}
.px-stage30-source{color:#f2f3f5!important;font-size:12px;text-decoration:none}
.px-stage30-viewer button:focus-visible,.px-stage30-source:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:600px){.px-stage30-viewer{padding:8px}.px-stage30-panel{max-height:calc(100dvh - 16px)}.px-stage30-top,.px-stage30-bottom{padding:9px 12px}.px-stage30-image-wrap img{max-height:calc(100dvh - 145px)}}
