/* NovaCat v1.01.46: shared mobile interaction and viewport layer.
   Scope: existing plugin-owned pages; do not alter permissions or media visibility. */
@media (max-width: 900px) {
  html { -webkit-text-size-adjust: 100%; }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root,.novacat-command-center-screen) {
    width:100%; max-width:100%; min-width:0; overflow-x:clip;
    touch-action:pan-y pinch-zoom;
  }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root,.novacat-command-center-screen) :where(main,header,footer,nav,article,section,figure,form,fieldset) {
    box-sizing:border-box; min-width:0;
  }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root,.novacat-command-center-screen) :where(img,video,iframe,canvas) {
    max-inline-size:100%;
  }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root,.novacat-command-center-screen) :where(button,a,input,textarea,select) { touch-action:manipulation; }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root,.novacat-command-center-screen) :where(input,textarea,select) { font-size:max(16px,1em); max-inline-size:100%; }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root) .novacat-mobile-nav {
    position:fixed; inset-inline:0; bottom:0; z-index:100; box-sizing:border-box;
    padding-bottom:calc(7px + env(safe-area-inset-bottom,0px));
    max-inline-size:100%;
  }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root) { padding-bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
  body.novacat-command-center-screen .novacat-cc-main { padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important; }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root) .novacat-mobile-nav a {
    min-height:48px; min-width:0; display:flex; justify-content:center; align-items:center;
    flex-direction:column; overflow-wrap:anywhere;
  }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root) .novacat-mobile-nav a:focus-visible {
    outline:3px solid #d7ae59; outline-offset:-3px;
  }
  body.novacat-command-center-screen .novacat-cc-sidebar { max-height:var(--novacat-visual-height,100dvh); overflow-y:auto; overscroll-behavior:contain; }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root) :where(.novacat-image-player,dialog[open]) { max-height:var(--novacat-visual-height,100dvh); }
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root,.novacat-command-center-screen) :where(.novacat-cc-tablewrap,.novacat-table-scroll,[data-horizontal-scroll]) {
    max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch;
  }
}
@media(max-width:600px) {
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root,.novacat-command-center-screen) :where(.novacat-cc-stage,.novacat-cc-main,.novacat-public-main) { inline-size:100%; max-inline-size:100%; }
}
@media(prefers-reduced-motion:reduce) {
  body:is(.novacat-public,.novacat-front-facing,.novacat-platform-root,.novacat-command-center-screen) :where(*, *::before, *::after) { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}
