.slide img { cursor: zoom-in; }
.slide img:focus-visible { outline: 3px solid #5a49dc; outline-offset: -3px; }
body.overview .slide img { cursor: pointer; }
.lightbox {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: 100%; max-width: none;
  height: 100%; height: 100dvh; max-height: none;
  margin: 0; border: 0;
  padding: max(64px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  background: transparent;
  overflow: hidden;
}
.lightbox[open] { display: flex; align-items: center; justify-content: center; }
.lightbox::backdrop { background: rgb(15 15 18 / 94%); }
.lightbox > img {
  display: block; width: auto; height: auto;
  max-width: 100%; max-height: 100%;
  object-fit: contain; border-radius: 4px;
  touch-action: none; user-select: none;
}
.lightbox__zoom {
  position: absolute; z-index: 2; top: max(12px, env(safe-area-inset-top));
  left: 16px; display: flex; gap: 2px; padding: 2px;
  border: 1px solid rgb(255 255 255 / 25%); border-radius: 24px;
  background: #29292d;
}
.lightbox__zoom button {
  min-width: 44px; height: 44px; border: 0; border-radius: 22px;
  padding: 0 10px; background: transparent; color: white;
  font: 18px/1 Inter, sans-serif; cursor: pointer;
}
.lightbox__zoom button:nth-child(2) { min-width: 72px; font-size: 14px; font-variant-numeric: tabular-nums; }
.lightbox__zoom button:hover:not(:disabled) { background: #404047; }
.lightbox__zoom button:disabled { opacity: .35; cursor: default; }
.lightbox__zoom button:focus-visible { outline: 2px solid white; }
.lightbox__close {
  z-index: 2;
  position: absolute; top: max(12px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right));
  width: 44px; height: 44px; padding: 0;
  border: 1px solid rgb(255 255 255 / 25%); border-radius: 50%;
  background: #29292d; color: white; font: 32px/1 Arial, sans-serif; cursor: pointer;
}
.lightbox__close:hover { background: #404047; }
.lightbox__close:focus-visible { outline: 2px solid white; outline-offset: 3px; }
@media print { .lightbox { display: none !important; } }
