/* ios-drawer-clip.css — stop drawer panel contents from visually leaking on iOS Safari */

/* General safety: clip the fixed topbar when open */
.topbar.is-open{
  overflow: hidden !important;
}
.topbar.is-open .topbar-inner{
  overflow: hidden !important;
}

/* Keep inner panel scrolling smooth + constrain scroll areas */
#drawerAnno .drawer-list,
#drawerTOC .toc-scroll{
  -webkit-overflow-scrolling: touch;
}

/* Override early inline styles that set height:100% on scroll areas (can overflow on iOS) */
#drawerTOC .toc-scroll,
#drawerAnno .drawer-list{
  height: auto !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

/* iOS Safari-specific hard clipping (prevents compositor “paint outside” bugs) */
@supports (-webkit-touch-callout: none){
  .topbar.is-open,
  .topbar.is-open .topbar-inner{
    contain: paint;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
    /* mask hack forces proper clipping on some iOS builds */
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }

  .topbar.is-open .drawer-panels,
  .topbar.is-open .drawer-panels .panel{
    overflow: hidden;
    contain: paint;
  }

  /* Ensure flex children can actually shrink within the fixed-height panel */
  #drawerAnno,
  #drawerTOC{
    min-height: 0;
  }
}
