/* ── Dentro de la app (iOS/Capacitor) ─────────────────────────────────────
   El lector se dibuja de borde a borde de la pantalla —`viewport-fit=cover`—
   así que las esquinas del sistema (isla dinámica, reloj, indicador de inicio)
   se comen lo que haya arriba y abajo: la barra de «Buscar / Colecciones»
   salía por debajo de la isla y no se podía tocar.

   La clase `.en-app` la pone greb-course.native al arrancar, así que estas
   reglas NO tocan el navegador ni la web instalada como PWA. */

.en-app body { padding-top: env(safe-area-inset-top); }

.en-app .reader-topbar,
.en-app .toolbar,
.en-app .catalog-topbar,
.en-app .library-topbar {
  padding-top: max(env(safe-area-inset-top), 0.5rem);
}

/* El indicador de inicio flota sobre los últimos 34 px: el folio, la barra del
   audiolibro y los botones flotantes se suben por encima. */
.en-app .page-footer,
.en-app .audiobook-dock,
.en-app .mobile-fab,
.en-app .spread-indicator {
  padding-bottom: env(safe-area-inset-bottom);
}

/* Nada de rebote elástico ni de selección accidental al pasar página: en una
   app eso se lee como un fallo, no como una web. */
.en-app, .en-app body {
  overscroll-behavior: none;
  -webkit-touch-callout: none;
}
.en-app .spread, .en-app .page { -webkit-user-select: none; user-select: none; }
/* …salvo el texto del libro, que se subraya y se cita. */
.en-app .book-para, .en-app .faro-p, .en-app .prose-p,
.en-app .faro-cita, .en-app .faro-h {
  -webkit-user-select: text; user-select: text;
}
