.photo-gallery .photo-open{display:block;min-width:0;aspect-ratio:3/4;overflow:hidden;border-radius:12px;cursor:zoom-in}
.photo-gallery .photo-open:first-child{aspect-ratio:4/5}
.profile-detail .photo-gallery .photo-open:first-child{grid-column:1/-1}
.photo-gallery .photo-open img,.profile-detail .photo-gallery .photo-open img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
body.gallery-open{overflow:hidden}
.photo-lightbox{position:fixed;inset:0;margin:0;padding:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;border:0;background:#151016;color:#fff;overflow:hidden}
.photo-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.photo-lightbox::backdrop{background:#151016}
.lightbox-toolbar,.lightbox-navigation{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#251b29}
.lightbox-toolbar{padding-top:max(12px,env(safe-area-inset-top))}
.lightbox-navigation{justify-content:space-between;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.lightbox-count{margin-right:auto;font-weight:700;white-space:nowrap}
.photo-lightbox button{background:#403045;color:#fff;border:1px solid #79617c;border-radius:8px;padding:8px 12px;min-height:44px;min-width:44px;font-size:14px}
.photo-lightbox button:focus-visible,.lightbox-stage:focus-visible{outline:3px solid #f6c8dc;outline-offset:-3px}
.photo-lightbox button:disabled{opacity:.4}
.lightbox-stage{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;touch-action:none;cursor:zoom-in}
.lightbox-stage .lightbox-image{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;user-select:none}
.lightbox-stage[data-zoom="2"] .lightbox-image{width:200%;height:200%}
.lightbox-stage[data-zoom="3"] .lightbox-image{width:300%;height:300%}
.lightbox-stage[data-zoom="4"] .lightbox-image{width:400%;height:400%}
.lightbox-stage:not([data-zoom="1"]){cursor:grab}
.lightbox-stage:not([data-zoom="1"]):active{cursor:grabbing}
.lightbox-status{font-size:12px;text-align:center;color:#dfd1e3}
@media(max-width:480px){.lightbox-toolbar,.lightbox-navigation{gap:6px;padding-left:8px;padding-right:8px}.photo-lightbox button{padding:8px;font-size:12px}.lightbox-status{font-size:11px;max-width:115px}}
