/* QChat CSP-safe dynamic CSSOM target.
 * Runtime code may append/update class rules in this same-origin stylesheet.
 * No inline style attributes or <style> injection are used. */

.qchat-runtime-hidden { display: none !important; }

/* Device-lock and video-preparation static presentation. Keep runtime JS free of
 * inline style mutations so style-src-attr 'none' remains enforceable. */
.qchat-device-lock-modal { background: rgba(0, 0, 0, .65); z-index: 2147483646; }
.qchat-device-lock-input { font-size: 16px; }
.qchat-pin-login-masked { visibility: hidden !important; }
.qchat-video-preparation-fixed {
  position: fixed;
  bottom: calc(1rem + env(safe-area-inset-bottom));
  left: 1rem;
  right: 1rem;
  z-index: 1090;
  max-width: 32rem;
  margin: 0 auto;
}
