.member-room-photo-stage{isolation:isolate;background:var(--paper);padding:clamp(12px,3vw,28px);position:relative;overflow:hidden}.member-room-photo-stage .photo-zoom{z-index:1;position:relative}.member-photo-ambient{z-index:0;filter:blur(36px)saturate(.7);--ambient-opacity:.18;opacity:var(--ambient-opacity);pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:15% 8%}:root[data-theme=dark] .member-photo-ambient{--ambient-opacity:.25;filter:blur(40px)saturate(.6)}.member-room-photo-stage .photo-zoom-tools{border-radius:var(--radius-xl);background:var(--paper);width:fit-content;max-width:100%;margin:0 auto 12px;padding:6px}.member-room-photo-stage .photo-zoom-viewport{border-radius:2px}.member-room-photo-stage .photo-zoom-content img{filter:drop-shadow(0 6px 12px #0002)}.member-room-photo-viewer[data-closing=true]{pointer-events:none}.member-room-photo-viewer[data-closing=true]::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0c0f00}@media (prefers-reduced-motion:no-preference){.member-room-photo-viewer::backdrop{transition:background .18s ease-out;animation:.26s ease-out member-photo-backdrop}.member-room-photo-viewer>header,.member-room-photo-viewer>footer{animation:.22s 70ms both member-photo-tools}.member-photo-ambient{animation:.4s ease-out both member-photo-ambient}}@keyframes member-photo-backdrop{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#0a0c0f00}}@keyframes member-photo-tools{0%{opacity:0}to{opacity:1}}@media (forced-colors:active),(prefers-contrast:more){.member-photo-ambient{display:none}.member-room-photo-stage .photo-zoom-content img{filter:none}}@keyframes member-photo-ambient{0%{opacity:0}to{opacity:var(--ambient-opacity)}}.member-room-photo-viewer{border-radius:18px;margin:auto}@media (width<=480px){.member-room-photo-viewer{border-radius:var(--radius-xl)}}.member-photo-image{position:relative}.member-room-photo-stage .photo-zoom[data-zoomed=false] .member-photo-image{height:58dvh;min-height:180px}.member-room-photo-stage .photo-zoom[data-zoomed=false] .member-photo-image>img{object-fit:contain;height:100%;max-height:none}.member-photo-image[data-ready=false]>img{opacity:0}.member-photo-status{text-align:center;background:var(--surface-subtle);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.member-photo-status p{margin:0;font-size:.9375rem}.member-room-photo-viewer .member-photo-status button{border-radius:var(--radius-md);width:auto;height:auto;min-height:44px;font:inherit;padding:8px 16px;font-size:.875rem}.member-room-photo-stage:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}
