.presentation-stage { overflow: hidden; }
.presentation-reader { display: flex; flex-direction: column; height: 100%; }
.presentation-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 2px 8px;
  background: #f4f7fb;
  color: #24344a;
}
.presentation-controls button {
  min-width: 44px;
  min-height: 40px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #006acb;
  font: inherit;
  font-size: 1.25rem;
  cursor: pointer;
}
.presentation-controls button:hover { background: #e2edfa; }
.presentation-controls button:disabled { opacity: 0.35; cursor: default; }
.presentation-controls span { min-width: 75px; text-align: center; font-size: 0.9rem; }
.presentation-viewport {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 8px;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  position: relative;
}
.presentation-pages { margin: 0 auto; }
.presentation-slide { position: relative; margin-bottom: 12px; background: white; box-shadow: 0 2px 12px #0005; }
.presentation-slide img {
  display: block;
  width: 100%;
  height: 100%;
}
.presentation-slide img[hidden] { display: none; }
.presentation-status { position: absolute; top: 0; left: 0; right: 0; z-index: 1; background: #303539; color: white; padding: 24px 12px; text-align: center; }
.presentation-status[hidden] { display: none; }
