/* Impuls Click / Telegram Android WebView: avoid black compositor tiles.
   CSS-only compatibility fix. Do not change payment, auth, or privacy states.
   Activated by the project's existing html.android device detection. */

/* Do not force permanent GPU layers for fixed overlays that are in the DOM
   even when the sheet is closed. Painting them on some Android WebViews can
   invalidate / black out the scrolling document. */
html.android .backdrop,
html.android .wset-backdrop,
html.android .alert-backdrop,
html.android .input-dock-backdrop {
  transform: none !important;
  will-change: auto !important;
  contain: none !important;
  backface-visibility: visible !important;
  -webkit-backface-visibility: visible !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html.android .backdrop:not(.show),
html.android .wset-backdrop:not(.show),
html.android .alert-backdrop:not(.show) {
  display: none !important;
}

/* Inactive fixed sheets previously existed as whole-screen transformed
   surfaces. Remove them from paint/hit testing without changing React state. */
html.android .bottom-sheet,
html.android .sub-page,
html.android .wset-bottom-sheet,
html.android .wset-sub-page,
html.android .input-dock-card,
html.android .toast,
html.android .err-toast,
html.android .in-app-banner,
html.android .custom-alert {
  will-change: auto !important;
  contain: none !important;
  backface-visibility: visible !important;
  -webkit-backface-visibility: visible !important;
}
html.android .bottom-sheet:not(.show),
html.android .sub-page:not(.show),
html.android .wset-bottom-sheet:not(.show),
html.android .wset-sub-page:not(.show) {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Two-dimensional animations preserve sheet opening and in-sheet dragging.
   Do not use !important here: pointer-drag sets a temporary inline transform. */
html.android .bottom-sheet { transform: translateY(100%); }
html.android .bottom-sheet.show { transform: translateY(0); }
html.android .sub-page { transform: translateX(100%); }
html.android .sub-page.show { transform: translateX(0); }
html.android .toast,
html.android .err-toast { transform: translateY(-100px); }
html.android .toast.show,
html.android .err-toast.show { transform: translateY(0); }
html.android .in-app-banner { transform: translate(-50%, -150%); }
html.android .in-app-banner.show { transform: translate(-50%, 0); }

/* Full-viewport radial glows use large blurred fixed layers. These are
   decoration only, not content (and not the incognito balance blur). */
html.android .aura-purple,
html.android .aura-cyan,
html.android .wset-aura-1,
html.android .wset-aura-2,
html.android .ndf-aura-warn-1,
html.android .ndf-aura-warn-2,
html.android .academy-aura,
html.android .faq-aura,
html.android .lock-aura-danger-1,
html.android .lock-aura-danger-2,
html.android .ng-aura-1,
html.android .ng-aura-2,
html.android .aura-1,
html.android .aura-2 {
  display: none !important;
}

/* Avoid extra 3D stacking layers in the navigation/scrolling shell. */
html.android .dock-wrapper,
html.android .dock,
html.android .tab-shell,
html.android .app-container {
  will-change: auto !important;
  backface-visibility: visible !important;
  -webkit-backface-visibility: visible !important;
}
