.viewer{color:#fff;background:#0a0a0a;border:1px solid #ffffff1a;border-radius:12px;width:min(95vw,1000px);max-width:none;height:min(90dvh,850px);max-height:none;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 64px #0009}.viewer[open]{flex-direction:column;animation:.2s ease-out viewerIn;display:flex}.viewer::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3}@keyframes viewerIn{0%{opacity:0;transform:scale(.97)}}@media (prefers-reduced-motion){.viewer[open]{animation:none}}.viewer-header{align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.viewer-title{flex:1;font-size:1.25rem;font-weight:700}.viewer-counter{color:#ffffffb3;font-variant-numeric:tabular-nums}.viewer-viewport{flex:1;min-height:0;margin:0 1rem 1rem;overflow:hidden}@media (max-width:640px){.viewer{height:fit-content}.viewer-viewport{flex:none;height:min(70dvh,125vw);margin:0 .5rem .5rem}}.viewer-container{touch-action:pan-y pinch-zoom;height:100%;display:flex}.viewer-slide{flex:0 0 100%;min-width:0;position:relative}.viewer-image,.viewer-placeholder{object-fit:contain}.viewer-image{opacity:0;transition:opacity .3s}.viewer-image-loaded{opacity:1}.viewer-placeholder-blur{filter:blur(16px);transform:scale(1.05)}.viewer-spinner{border:3px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:2.5rem;height:2.5rem;margin:-1.25rem 0 0 -1.25rem;animation:.8s linear infinite viewerSpin;position:absolute;top:50%;left:50%;box-shadow:0 0 0 4px #00000059}@keyframes viewerSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion){.viewer-image{transition:none}.viewer-spinner{animation-duration:2s}}.viewer-button{background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.25rem;line-height:1;transition:background .2s;display:flex}.viewer-button:hover{background:#ffffff40}.viewer-prev,.viewer-next{font-size:2rem;position:absolute;top:50%;transform:translateY(-50%)}.viewer-prev{left:.75rem}.viewer-next{right:.75rem}@media (max-width:640px){.viewer-prev,.viewer-next{display:none}}
