.visitor-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:18px clamp(12px,3vw,40px);border:0;background:#08120ff5;color:#fff;overflow:hidden;box-sizing:border-box}
.visitor-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}
.visitor-viewer::backdrop{background:#08120f}
.viewer-toolbar,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.viewer-toolbar{padding-top:env(safe-area-inset-top)}
.viewer-controls{padding-bottom:env(safe-area-inset-bottom)}
.visitor-viewer button{min-height:44px;padding:10px 18px;border:1px solid #ffffff60;border-radius:6px;background:#ffffff10;color:#fff;font:inherit;font-size:15px;cursor:pointer}
.visitor-viewer button:disabled{opacity:.35;cursor:default}
.visitor-viewer button:focus-visible,.is-zoomable:focus-visible{outline:3px solid #d8bd7d;outline-offset:4px}
.visitor-viewer figure{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;margin:0;min-height:0}
.viewer-stage{position:relative;min-height:0;width:100%;height:100%}
.viewer-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.viewer-full{opacity:0}.viewer-full.is-ready{opacity:1}
.visitor-viewer figcaption{text-align:center;font-size:16px;line-height:1.5;color:#f3eee4}
.viewer-status{font-size:14px;text-align:center;color:#d8bd7d}
.viewer-count{font-size:16px;font-variant-numeric:tabular-nums}
@media(max-width:620px){.viewer-status{font-size:12px;max-width:42%}.visitor-viewer button{padding:10px 12px}.visitor-viewer figcaption{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
