.image-viewer[hidden]{display:none!important}
.image-viewer{
  position:fixed;
  inset:0;
  z-index:500;
  overflow:auto;
  overscroll-behavior:contain;
  background:rgb(0 0 0/.8);
  opacity:0;
  transition:opacity 180ms cubic-bezier(.215,.61,.355,1);
}
.image-viewer.is-open{opacity:1}
.image-viewer-scroll{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:64px;
}
.image-viewer-image{
  display:block;
  width:auto;
  height:auto;
  max-width:calc(100vw - 128px);
  max-height:calc(100vh - 128px);
  margin:0;
  object-fit:contain;
  border-radius:2px;
  outline:1px solid rgb(255 255 255/.1);
  outline-offset:-1px;
  opacity:0;
  transform:scale(.97);
  transition:
    opacity 220ms cubic-bezier(.215,.61,.355,1),
    transform 220ms cubic-bezier(.215,.61,.355,1);
}
.image-viewer.is-open .image-viewer-image{opacity:1;transform:scale(1)}
.image-viewer-download{
  position:fixed;
  top:10px;
  right:24px;
  min-width:44px;
  height:44px;
  padding:0 18px;
  border:0;
  border-radius:14px;
  background:#fff;
  color:#141313;
  display:flex;
  align-items:center;
  justify-content:center;
  font:600 16px "SF Pro Rounded Local",system-ui,sans-serif;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 0 0 1px rgb(255 255 255/.14);
  transition:transform 150ms cubic-bezier(.215,.61,.355,1),opacity 150ms ease;
}
.image-viewer-download:active{transform:scale(.96)}
.image-preview,.history-image,.question-avatar{cursor:zoom-in}
@media(prefers-reduced-motion:reduce){
  .image-viewer,.image-viewer-image,.image-viewer-download{transition:none}
}
@media(max-width:760px){
  .image-viewer-scroll{padding:64px 32px 32px}
  .image-viewer-image{max-width:calc(100vw - 64px);max-height:calc(100vh - 96px)}
}
