/* PASS288 — mobile/PWA reliability CSS. Normal visual design remains unchanged. */
:root{--unkwn-vvh:100dvh;--unkwn-keyboard-offset:0px}
html,body{overscroll-behavior-y:none}
/* Native vertical panning remains browser-owned on actual scroll surfaces. */
.screen,.screen-content,.modal-content,.sheet-content,.uwg-rest-shell,.session-forged-sheet{
  -webkit-overflow-scrolling:touch;
}
/* Prevent fixed UI from becoming a gesture dead-zone after viewport changes. */
body.unkwn-keyboard-open .bottom-nav{
  pointer-events:auto;
}
/* Inputs remain comfortably visible above the OSK without changing desktop layout. */
body.unkwn-keyboard-open input,
body.unkwn-keyboard-open textarea,
body.unkwn-keyboard-open select,
body.unkwn-keyboard-open [contenteditable="true"]{
  scroll-margin-bottom:calc(var(--unkwn-keyboard-offset) + var(--unkwn-safe-bottom,0px) + 120px);
}
@media (pointer:coarse){
  .screen.active{touch-action:pan-y pinch-zoom}
  button,.btn,[role="button"],summary,a{touch-action:manipulation}
}
@media (prefers-reduced-motion:reduce){
  html,body,.screen,.screen-content{scroll-behavior:auto!important}
}
