/* Approved PMAP depth hydration only. Paper and lettering remain flat; original print resumes on OFF or failed verification. */
.cr-pmap-spatial-canvas{position:absolute!important;inset:auto!important;z-index:4!important;display:block!important;max-width:none!important;max-height:none!important;border:0!important;margin:0!important;padding:0!important;pointer-events:none!important;user-select:none!important;transform:none!important;filter:none!important;opacity:1!important;mix-blend-mode:normal!important;contain:paint!important}
.cr-shell[data-comic-mask-mode="pmap-v4"][data-spatial="true"][data-view="reader"] :is(.cr-page,.cr-spread-page-frame)>img[data-page-index]{transform:none!important;will-change:auto!important}
.cr-shell[data-comic-mask-mode="pmap-v4"][data-spatial="true"][data-view="reader"] :is(.cr-page,.cr-spread-page-frame)[data-pmap-ready="true"]>img[data-page-index]{opacity:0!important;transform:none!important}
/* Gutters are paper-registered and must stay above MapMask in Spatial mode.
 * Its verified stencil ensures particles never appear in art panels. */
/* Leave gutter FX visibility to panel-fx.css so page-turn suspension still wins. */
.cr-shell:not([data-spatial="true"]) .cr-pmap-spatial-canvas,.cr-shell:not([data-view="reader"]) .cr-pmap-spatial-canvas{display:none!important}
/* During paper movement the original printed page owns the viewport. */
.cr-shell:is(.cr-live-swipe,.cr-turn-active) .cr-pmap-spatial-canvas{visibility:hidden!important}
.cr-shell[data-comic-mask-mode="pmap-v4"] .cr-pmap-spatial-canvas{visibility:hidden!important}
.cr-shell[data-comic-mask-mode="pmap-v4"][data-spatial="true"][data-view="reader"] :is(.cr-page,.cr-spread-page-frame)[data-pmap-ready="true"]>.cr-pmap-spatial-canvas{visibility:visible!important}
/* A swipe always wins over a prepared depth canvas, even before the frame scheduler runs. */
.cr-shell:is(.cr-live-swipe,.cr-turn-active)[data-comic-mask-mode="pmap-v4"][data-spatial="true"][data-view="reader"] :is(.cr-page,.cr-spread-page-frame)>.cr-pmap-spatial-canvas{visibility:hidden!important}

/* Portal geometry is measured in reader stage coordinates. Physical paper
 * remains clipped for the page flip, while masked subjects may protrude into
 * 15%-maximum overscan. The interactive UI always stays above this canvas. */
.cr-stage>.cr-pmap-spatial-canvas[data-pmap-portal="true"]{
 position:absolute!important;inset:auto!important;z-index:5!important;
 pointer-events:none!important;visibility:hidden!important;
 max-width:none!important;max-height:none!important;contain:paint!important;
}
.cr-shell[data-comic-mask-mode="pmap-v4"][data-spatial="true"][data-view="reader"]
 .cr-stage>.cr-pmap-spatial-canvas[data-pmap-portal="true"][data-pmap-visible="true"]{
 visibility:visible!important;
}
.cr-shell:is(.cr-live-swipe,.cr-turn-active) .cr-stage>.cr-pmap-spatial-canvas[data-pmap-portal="true"],
.cr-shell:not([data-spatial="true"]) .cr-stage>.cr-pmap-spatial-canvas[data-pmap-portal="true"]{
 visibility:hidden!important;
}
