.photo-viewer .viewer-play { width:auto; height:48px; left:50%; bottom:24px; transform:translateX(-50%); border-radius:24px; padding:0 18px; font:14px/1 system-ui,sans-serif; letter-spacing:.02em; white-space:nowrap; }
.photo-viewer .viewer-prev, .photo-viewer .viewer-next, .photo-viewer .viewer-play { top:auto; bottom:max(24px, env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; line-height:1; }
.photo-viewer .viewer-play { gap:8px; }
.viewer-play span { display:flex; align-items:center; font-size:12px; }
.viewer-prev svg, .viewer-next svg { width:22px; height:22px; }
.slideshow-status { position:absolute; left:15%; right:15%; top:14px; margin:0; color:#fff; text-align:center; font:13px/1.5 system-ui,sans-serif; }
.photo-viewer:not(.is-playing) { padding-bottom:110px; }
.slideshow-stage { position:fixed; inset:0; width:100%; height:100%; margin:0; padding:0; border:0; background:#10110f; overflow:hidden; outline:none; }
.slideshow-stage[hidden] { display:none; }
.slideshow-stage img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity 1s ease-in-out; }
.slideshow-stage img.is-current { opacity:1; }
.slideshow-stage::backdrop { background:#10110f; }
.slideshow-notice { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); width:min(620px,90%); padding:12px 18px; background:#000b; border-radius:4px; color:#fff; text-align:center; font:14px/1.5 system-ui,sans-serif; }
.slideshow-notice[hidden] { display:none; }
.photo-viewer.is-playing { padding:0; cursor:none; background:#10110f; }
.photo-viewer.is-playing > :not(.slideshow-stage) { display:none; }
.photo-viewer.is-playing .slideshow-stage { cursor:none; }
@media(prefers-reduced-motion:reduce) { .slideshow-stage img { transition:none; } }
