[hidden] { display: none !important; }
.menu-link { border: 0; padding: 0; background: transparent; cursor: pointer; }
.reader {
  position: fixed; inset: 0; z-index: 10;
  display: flex; flex-direction: column;
  height: 100vh; height: 100dvh;
  background: #e3dcd1; color: #321720;
  font-family: Arial, Helvetica, sans-serif;
}
.reader-toolbar {
  flex-shrink: 0; background: #32121b; color: #f5e5c7;
  padding: calc(8px + env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 8px max(10px, env(safe-area-inset-left));
  box-shadow: 0 2px 12px #0003; z-index: 2;
}
.reader-controls {
  display: flex; align-items: center; justify-content: space-between;
  gap: 6px; max-width: 1080px; margin: auto;
}
.reader-toolbar button, .reader-toolbar select {
  min-height: 44px; border: 1px solid #c9ae7c50; border-radius: 5px;
  background: #ffffff06; color: inherit; font: 14px/1.2 Arial, sans-serif;
  touch-action: manipulation;
}
.reader-toolbar button { padding: 8px; cursor: pointer; }
.reader-toolbar select { width: 79px; padding: 7px; text-align: center; background: #3b1b23; }
.reader-toolbar option { color: #f5e5c7; background: #3b1b23; }
.reader-toolbar button:disabled, .reader-toolbar select:disabled { opacity: .4; cursor: default; }
.reader-toolbar button:focus-visible, .reader-toolbar select:focus-visible { outline: 2px solid #f4d59b; outline-offset: 2px; }
.back-button { display: flex; align-items: center; gap: 6px; }
.back-button svg { width: 16px; height: 16px; }
.zoom-controls { display: flex; gap: 4px; }
.zoom-controls button { min-width: 44px; font-size: 22px; }
.zoom-controls .fit-button { font-size: 19px; }
.reader-content { position: relative; flex: 1; min-height: 0; padding-bottom: env(safe-area-inset-bottom); }
#viewerContainer {
  position: absolute; inset: 0; max-width: 1100px; margin: 0 auto;
  overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  background: #e3dcd1; color-scheme: light;
}
#viewerContainer:focus-visible { outline: 2px solid #6f3d44; outline-offset: -2px; }
.pdfViewer { padding-top: 8px; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
.pdfViewer .page { background-color: white; }
#pdfPages.removePageBorders .page { margin: 0 auto 10px; }
.reader-status {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 18px; padding: 30px;
  text-align: center; background: #e3dcd1; z-index: 1;
}
.reader-status p { margin: 0; font-size: 15px; line-height: 1.6; }
.reader-status progress { width: 180px; max-width: 80%; accent-color: #501b28; }
.reader-status button { min-height: 44px; padding: 10px 20px; border: 0; border-radius: 5px; background: #501b28; color: white; font-size: 14px; cursor: pointer; }
.noscript-note { position: fixed; bottom: 12px; left: 12px; right: 12px; padding: 12px; color: #fff4d7; background: #32121b; text-align: center; }
@media (hover: hover) { .reader-toolbar button:not(:disabled):hover { background: #ffffff15; } }
