/* The reader itself scrolls. Its dismissal control stays above every source canvas. */
.panel { height:100dvh; max-height:100dvh; }
.panel > .panel-controls { position:fixed; inset:0 0 auto; height:calc(56px + env(safe-area-inset-top)); z-index:100; display:flex; align-items:flex-start; justify-content:flex-end; padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left)); pointer-events:none; background:linear-gradient(#fff 70%,#ffffff00); }
.panel-controls > .panel-close { position:relative; top:auto; float:none; margin:0; min-width:88px; min-height:44px; padding:10px 18px; pointer-events:auto; touch-action:manipulation; box-shadow:0 2px 12px #00000012; }
.panel-controls > .panel-close:focus-visible { outline:2px solid #191919; outline-offset:4px; }
@media (max-width:760px) {
  .panel > .panel-controls { height:calc(56px + env(safe-area-inset-top)); }
}
