* { box-sizing: border-box; }
html, body {
    margin: 0; height: 100%; font-family: Arial, Helvetica, sans-serif;
    /* Bloqueia o "puxar pra recarregar" do Chrome, que reabria o 1o arquivo. */
    overscroll-behavior: none;
}
body { display: flex; flex-direction: column; }
.barra {
    display: flex; align-items: center; gap: 8px;
    padding: 8px; background: #222; color: #fff; flex-wrap: wrap;
}
.btn {
    display: inline-block; padding: 12px 16px;
    background: #444; color: #fff; text-decoration: none;
    border-radius: 4px; font-size: 18px;
}
.btn:active { background: #666; }
#sel { flex: 1; min-width: 120px; padding: 10px; font-size: 16px; }
#contador { font-size: 16px; white-space: nowrap; }
.zoomgrp { display: inline-flex; align-items: center; gap: 4px; }
.zoomgrp .btn { padding: 12px 14px; min-width: 44px; text-align: center; }
#zoomnivel { min-width: 64px; }
#visor {
    flex: 1; width: 100%; overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-x pan-y;
    background: #525659; padding: 8px 0;
}
#paginas { width: 100%; }
canvas.pagina {
    display: block; margin: 0 auto 8px;
    background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
.carregando { color: #ddd; text-align: center; padding: 24px; font-size: 16px; }
.erro { padding: 20px; font-size: 18px; color: #900; }
#visor .erro { color: #f4b4b4; text-align: center; }
