.profile-photo-open{position:absolute;inset:0;z-index:2;border:0;border-radius:inherit;background:transparent;cursor:zoom-in;padding:0}

.profile-photo-open:focus-visible{outline:3px solid #087be8;outline-offset:-5px}
.gallery-photo-open{display:block;width:100%;padding:0;border:0;border-radius:16px;background:#f7f0fa;overflow:hidden;cursor:zoom-in;line-height:0}
.gallery-photo-open:focus-visible{outline:3px solid #087be8;outline-offset:4px}
.gallery-photo-open img{display:block}
.photo-viewer-open{overflow:hidden}
#creatorPhotoDialog{position:fixed;inset:0;margin:auto;border:1px solid #eadde6;border-radius:24px;padding:0;background:#fffafc;color:#151116;width:min(96vw,1100px);max-width:1100px;height:92vh;max-height:920px;height:min(92dvh,920px);max-height:92vh;max-height:92dvh;overflow:hidden;box-shadow:0 24px 80px #15111655}
#creatorPhotoDialog::backdrop{background:#1d1421d6;backdrop-filter:blur(5px)}
.photo-viewer-shell{display:flex;flex-direction:column;height:100%;min-height:0}
.photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid #eadde6;flex:none}
.photo-viewer-header h2{font-size:17px;margin:0}
.photo-viewer-close,.photo-viewer-control{min-width:44px;min-height:44px;border:1px solid #eadde6;border-radius:999px;padding:10px 16px;background:#fff;font:inherit;font-size:15px;font-weight:750;color:#6321e8;cursor:pointer}
.photo-viewer-close:focus-visible,.photo-viewer-control:focus-visible{outline:3px solid #087be8;outline-offset:2px}
#creatorPhotoStage{position:relative;min-height:0;flex:1 1 0;overflow:auto;background:#f5f0f5;overscroll-behavior:contain}
.photo-viewer-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
#enlargedCreatorPhoto{display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center}
#enlargedCreatorPhoto[hidden]{display:none}
#creatorPhotoStage.zoomed .photo-viewer-canvas{width:200%;height:200%;align-items:flex-start}
#creatorPhotoStage.zoomed #enlargedCreatorPhoto{object-fit:contain}
#enlargedPhotoStatus{position:absolute;left:16px;right:16px;top:12px;margin:0;padding:8px;text-align:center;background:#fffafce8;border-radius:12px;font-size:14px;pointer-events:none}
#enlargedPhotoStatus:empty{display:none}
.photo-viewer-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;flex:none;border-top:1px solid #eadde6}
.photo-viewer-control[hidden]{display:none}
.photo-viewer-control:disabled{opacity:.55;cursor:default}
#creatorPhotoCount{font-size:14px;font-weight:700;color:#756b76}
@media(max-width:600px){#creatorPhotoDialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh;height:100dvh;max-height:100dvh;border-radius:0;border:0}.photo-viewer-header{padding:calc(12px + env(safe-area-inset-top)) 14px 12px}.photo-viewer-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.photo-viewer-header h2{font-size:16px}.photo-viewer-footer{gap:8px}.photo-viewer-control{padding:10px 14px}}

/* Keep the full profile photo visible on phones as well as desktop. */
#profile .profileHero{background:#f5f1f6}
#profile .profileHero .creator-card-photo{object-fit:contain;object-position:center}
