/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* PDF theatre: native dialog supplies focus trapping, Escape, and top-layer
   placement even when opened inside the artifact explorer's Turbo frame. */
.pdf-reader { width:100%; }
.pdf-reader__cover { position:relative; display:block; width:100%; border:0; padding:0; background:transparent; cursor:zoom-in; }
.pdf-reader__cover img { display:block; max-width:100%; max-height:65vh; margin:auto; object-fit:contain; }
.pdf-reader__open { display:block; padding:12px; color:var(--color-ink-700); }
.pdf-reader__theatre { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:#121416; color:#f3f3ef; font-family:system-ui, sans-serif; }
.pdf-reader__theatre[open] { display:flex; flex-direction:column; }
.pdf-reader__theatre::backdrop { background:#121416; }
.pdf-reader__theatre button, .pdf-reader__theatre a { color:inherit; background:#292c30; border:1px solid #52565b; border-radius:6px; padding:8px 12px; min-height:44px; cursor:pointer; }
.pdf-reader__theatre button:disabled { opacity:.3; cursor:default; }
.pdf-reader__theatre :focus-visible { outline:3px solid #ebc77b; outline-offset:2px; }
.pdf-reader__toolbar { display:flex; align-items:center; gap:12px; padding:12px max(12px, env(safe-area-inset-right)); flex-wrap:wrap; }
.pdf-reader__toolbar strong { margin-right:auto; }
.pdf-reader__toolbar input { width:5em; color:#fff; background:#292c30; border:1px solid #666; border-radius:4px; padding:8px; }
.pdf-reader__body { display:flex; flex:1; min-height:0; gap:8px; align-items:center; padding:0 12px; }
.pdf-reader__viewport { height:100%; flex:1; min-width:0; overflow:auto; touch-action:pan-y pinch-zoom; display:flex; align-items:center; justify-content:center; }
.pdf-reader__viewport > img { max-width:100%; max-height:100%; object-fit:contain; }
.pdf-reader__viewport > img[hidden] { display:none; }
.pdf-reader__viewport--zoomed { display:block; touch-action:pan-x pan-y pinch-zoom; }
.pdf-reader__viewport--zoomed > img { max-width:none; max-height:none; width:200%; }
.pdf-reader__arrow { font-size:32px; }
.pdf-reader__theatre footer { text-align:center; padding:8px 12px max(12px, env(safe-area-inset-bottom)); }
.pdf-reader__status { min-height:24px; }
.pdf-reader__strip { display:flex; justify-content:center; gap:8px; margin:8px auto; }
.pdf-reader__strip button { width:58px; height:76px; padding:3px; display:flex; flex-direction:column; align-items:center; justify-content:end; font-size:11px; }
.pdf-reader__strip button[aria-current] { border:2px solid #ebc77b; }
.pdf-reader__strip img { width:100%; height:48px; object-fit:contain; }
.pdf-reader__theatre small { color:#adb1b5; }
@media (max-width:600px) {
  .pdf-reader__toolbar { gap:6px; font-size:12px; padding:8px; }
  .pdf-reader__toolbar strong { display:none; }
  .pdf-reader__toolbar button, .pdf-reader__toolbar a { padding:6px; }
  .pdf-reader__body { padding:0; gap:0; }
  .pdf-reader__arrow { padding:4px !important; min-width:28px; }
  .pdf-reader__strip button { height:62px; }
  .pdf-reader__strip img { height:36px; }
}
