/* DISPETCH reference-chat repair v6
   One source of truth for the main chat composer/bubbles and a stable wallpaper layer.
   The keyboard geometry belongs to the WebView/Activity; CSS only animates a small wallpaper translation. */

/* Keep the chat surface full bleed.  The wallpaper is a separate, fixed-height layer below content. */
html:root:root:root:root body .gp.chat {
  isolation:isolate!important;
  background:var(--paper,#fff1d6)!important;
}
html:root:root:root:root body .gp.chat > .ch-wp {
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;
  width:100%!important;max-width:none!important;
  height:var(--wp-h,100%)!important;
  z-index:0!important;pointer-events:none!important;
  background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;
  transform:translate3d(0,calc(0px - var(--kb-shift,0px)),0)!important;
  transform-origin:50% 50%!important;
  transition:transform .08s linear!important;
  will-change:transform;
}
html[data-tbw=cx] body .gp.chat > .ch-wp {background-image:var(--tb-chatwall)!important;background-color:var(--paper,#fff1d6)!important;}
html[data-tbw=w0] body .gp.chat > .ch-wp {background:#fff1d6!important;}
html[data-tbw=w1] body .gp.chat > .ch-wp {background:#fff3b0!important;}
html[data-tbw=w2] body .gp.chat > .ch-wp {background:repeating-linear-gradient(45deg,#fff1d6 0 8px,#ffe2a0 8px 16px)!important;}
html[data-tbw=w3] body .gp.chat > .ch-wp {background:conic-gradient(#fff1d6 25%,#ffe2a0 0 50%,#fff1d6 0 75%,#ffe2a0 0) 0 0/24px 24px!important;}
html[data-tbw=w4] body .gp.chat > .ch-wp {background:#ffd3d8!important;}
html[data-tbw=w5] body .gp.chat > .ch-wp {background:#d6ecff!important;}
html[data-tbw=w6] body .gp.chat > .ch-wp {background:#1e1b12!important;}
html body .gp.chat.tb-chc > .ch-wp {display:none!important;}
html:root:root:root:root body .gp.chat > .gp-h {position:relative!important;z-index:3!important;flex:none!important;}
html:root:root:root:root body .gp.chat > .gp-body {
  position:relative!important;z-index:1!important;display:flex!important;flex:1 1 auto!important;
  width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;
  margin:0!important;padding:0!important;gap:0!important;overflow:hidden!important;
  background:transparent!important;background-image:none!important;
  transform:none!important;transition:none!important;will-change:auto!important;
}
/* Meta AI surface must not zoom with the keyboard. Keep its own content/layout intact. */
html:root:root:root:root body .gp.mx > .gp-body {
  transform:none!important;transition:none!important;will-change:auto!important;backface-visibility:visible!important;
}
html:root:root:root:root body .gp.mx .mx-chat {
  transform:none!important;scale:1!important;translate:none!important;filter:none!important;
}
html:root:root:root:root body .gp.chat:not(.tb-chc) .ch-list,
html:root:root:root:root body .gp.chat:not(.tb-chc) .ch-list:focus {
  flex:1 1 auto!important;min-width:0!important;min-height:0!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:12px 12px 10px!important;box-sizing:border-box!important;
  overflow-x:hidden!important;overflow-y:auto!important;
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  transform:none!important;filter:none!important;-webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:auto!important;touch-action:auto!important;scroll-behavior:auto!important;
}

/* Composer: the OUTER bar is the only panel. The textarea and all icons are transparent children. */
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in {
  position:relative!important;z-index:4!important;isolation:isolate!important;
  display:flex!important;flex:0 0 auto!important;flex-wrap:nowrap!important;align-items:center!important;
  box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:none!important;
  min-height:58px!important;height:auto!important;
  margin:8px 8px calc(max(8px, max(var(--sab,0px),env(safe-area-inset-bottom,0px)) + 6px))!important;
  padding:5px 7px!important;gap:4px!important;
  background:#fffdf8!important;background-color:#fffdf8!important;background-image:none!important;
  border:3px solid #111!important;border-top:3px solid #111!important;border-radius:20px!important;
  box-shadow:4px 4px 0 #111!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;
  overflow:visible!important;transform:none!important;transition:none!important;will-change:auto!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in :is(.ch-at,.ch-emoji,.ch-st,.ch-mic,.ch-send) {
  display:grid!important;place-items:center!important;align-self:center!important;flex:0 0 38px!important;
  width:38px!important;min-width:38px!important;max-width:38px!important;height:42px!important;min-height:42px!important;
  box-sizing:border-box!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;background-image:none!important;
  color:#ed4b66!important;-webkit-text-fill-color:#ed4b66!important;
  box-shadow:none!important;outline:0!important;translate:none!important;scale:1!important;opacity:1!important;
  line-height:0!important;cursor:pointer!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  transition:transform .12s ease-out,color .12s ease-out!important;animation:none!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in :is(.ch-at,.ch-emoji,.ch-st,.ch-mic,.ch-send) svg {
  display:block!important;flex:none!important;width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;
  margin:0!important;stroke:currentColor!important;fill:none!important;transform:none!important;filter:none!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in .ch-send svg {fill:currentColor!important;stroke:currentColor!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in :is(.ch-at,.ch-emoji,.ch-st,.ch-mic,.ch-send):active {
  transform:translate3d(1px,1px,0) scale(.96)!important;background:transparent!important;box-shadow:none!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in .ch-send.off,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in .ch-send:disabled {
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;background:transparent!important;
  color:#ed4b66!important;-webkit-text-fill-color:#ed4b66!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in textarea#chT,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in textarea#chT:focus {
  display:block!important;flex:1 1 auto!important;width:0!important;min-width:48px!important;max-width:100%!important;
  min-height:42px!important;height:42px;max-height:112px!important;box-sizing:border-box!important;align-self:center!important;
  margin:0!important;padding:9px 2px!important;border:0!important;border-radius:0!important;
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  color:#17130d!important;-webkit-text-fill-color:#17130d!important;
  font:inherit!important;font-size:14px!important;font-style:normal!important;font-weight:400!important;
  line-height:22px!important;letter-spacing:.015em!important;text-align:left!important;text-indent:0!important;
  white-space:pre-wrap!important;overflow-wrap:anywhere!important;resize:none!important;overflow-x:hidden!important;overflow-y:auto!important;
  outline:0!important;outline-offset:0!important;box-shadow:none!important;transform:none!important;translate:none!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in textarea#chT::placeholder {
  color:#625c52!important;-webkit-text-fill-color:#625c52!important;opacity:.78!important;text-align:left!important;
  font-style:normal!important;letter-spacing:.015em!important;transform:none!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in textarea#chT:focus-visible {outline:0!important;box-shadow:none!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in.recing :is(.ch-at,.ch-emoji,.ch-st,.ch-mic,.ch-send,textarea) {visibility:hidden!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in .ch-emoji-pop {
  position:absolute!important;left:8px!important;bottom:calc(100% + 8px)!important;z-index:40!important;
  display:grid!important;grid-template-columns:repeat(6,minmax(36px,1fr))!important;gap:4px!important;
  width:min(304px,calc(100vw - 36px))!important;max-height:235px!important;overflow:auto!important;
  padding:8px!important;box-sizing:border-box!important;background:#fffdf8!important;color:#17130d!important;
  border:3px solid #111!important;border-radius:20px!important;box-shadow:4px 4px 0 #111!important;
  touch-action:auto!important;overscroll-behavior:auto!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in .ch-emoji-pop button {
  display:grid!important;place-items:center!important;min-width:0!important;width:100%!important;height:38px!important;
  padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#17130d!important;
  font-size:22px!important;line-height:1!important;box-shadow:none!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in .ch-emoji-pop button:active {background:#ffdc43!important;transform:scale(.96)!important;}

/* Neo-Brutalist bubbles: direction determines color, including optimistic, pending and deleted messages. */
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m {
  display:flex!important;flex-direction:column!important;gap:3px!important;
  width:fit-content!important;min-width:58px!important;max-width:min(82%,560px)!important;flex:0 1 auto!important;
  box-sizing:border-box!important;padding:9px 12px 7px!important;margin-top:4px!important;
  border:3px solid #111!important;border-radius:20px!important;box-shadow:4px 4px 0 #111!important;
  color:#17130d!important;-webkit-text-fill-color:#17130d!important;opacity:1!important;
  line-height:1.45!important;overflow-wrap:anywhere!important;word-break:normal!important;
  background:#fffdf8!important;background-color:#fffdf8!important;transition:none!important;transform:none!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.me,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.del.me,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.pend,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.opt {background:#ffdc43!important;background-color:#ffdc43!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.pe,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.del.pe {background:#fffdf8!important;background-color:#fffdf8!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.me {align-self:flex-end!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.pe {align-self:flex-start!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m :is(.ch-tx,.ch-doc,.ch-vn,.ch-md,.ch-tk) {opacity:1!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m small {align-self:flex-end!important;color:#514b40!important;opacity:1!important;font-size:10.5px!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m small svg {opacity:1!important;vertical-align:-1px!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.del .ch-tx {opacity:1!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.opt,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.pend,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.fail {opacity:1!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-img,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-gif,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-vid,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-doc,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.pend {width:min(78%,300px)!important;padding:5px 5px 7px!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-img .ch-tx,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-gif .ch-tx,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-vid .ch-tx,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-doc .ch-tx,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.pend .ch-tx {padding:2px 8px 0!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-img>small,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-gif>small,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-vid>small,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-doc>small,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.pend>small {padding:0 8px!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m :is(.ch-md img,.ch-md video) {max-width:100%!important;border-radius:12px!important;}

@media(max-width:360px) {
  html.chat-neo:root:root:root:root:root body .gp.chat .ch-in {gap:2px!important;padding-left:5px!important;padding-right:5px!important;}
  html.chat-neo:root:root:root:root:root body .gp.chat .ch-in :is(.ch-at,.ch-emoji,.ch-st,.ch-mic,.ch-send) {flex-basis:34px!important;width:34px!important;min-width:34px!important;max-width:34px!important;}
  html.chat-neo:root:root:root:root:root body .gp.chat .ch-in textarea#chT {min-width:42px!important;font-size:13px!important;}
}
@media(prefers-reduced-motion:reduce) {
  html:root:root:root:root body .gp.chat>.ch-wp {transition:none!important;}
  html.chat-neo:root:root:root:root:root body .gp.chat .ch-in :is(.ch-at,.ch-emoji,.ch-st,.ch-mic,.ch-send) {transition:none!important;}
}


/* Final regression fix: transparent page-progress veil, page taps remain available below it. */
html body #tbm .tb-main>.tb-tab-progress,
html body #tbm .tb-main>.tb-tab-progress.show {
  background:transparent!important;
  pointer-events:none!important;
}
html body .gp.in:not(.chat):not(.mx)::after,
html body .gp.in.chat::after,
html body .gp.in.mx::after {
  background:transparent!important;
}
/* A reply quote is part of its message bubble, not a second opaque card. */
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m .pro-q {
  background:transparent!important;
  color:inherit!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m .pro-q .qb,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m .pro-q .qb b,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m .pro-q .qb span {
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m .pro-q {border-left:3px solid #17130d!important;}
/* Stickers retain the same direction/color/border surface as text and media messages. */
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk {
  background:#fffdf8!important;background-color:#fffdf8!important;
  border:3px solid #111!important;border-radius:20px!important;box-shadow:4px 4px 0 #111!important;
  padding:8px 10px 7px!important;opacity:1!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk.me {background:#ffdc43!important;background-color:#ffdc43!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk.pe {background:#fffdf8!important;background-color:#fffdf8!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stk {animation:none!important;filter:none!important;}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stkimg {background:transparent!important;}
/* Reply preview and composer form one connected surface while replying. */
html.chat-neo:root:root:root:root:root body .gp.chat .ch-rp:not(.pro-h) {
  margin:8px 8px 0!important;padding:8px 10px 0!important;
  background:#fffdf8!important;background-color:#fffdf8!important;
  border:3px solid #111!important;border-bottom:0!important;
  border-radius:20px 20px 0 0!important;box-shadow:4px 0 0 #111!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-rp:not(.pro-h)+.ch-in {
  margin-top:0!important;border-top:0!important;border-radius:0 0 20px 20px!important;
}


/* DISPETCH final correction: keep page geometry fixed; animate opacity only. */
html:root:root:root:root:root body .gp,
html:root:root:root:root:root body .gp.in,
html:root:root:root:root:root body .gp.in.done,
html:root:root:root:root:root body .gp.out {
  transform:none!important;
  transform-origin:initial!important;
  clip-path:none!important;
  contain:none!important;
  transition:opacity .20s ease!important;
  will-change:opacity!important;
  backface-visibility:visible!important;
}
html:root:root:root:root:root body .gp:not(.in),
html:root:root:root:root:root body .gp.out {
  opacity:0!important;pointer-events:none!important;
}
html:root:root:root:root:root body .gp.in:not(.out),
html:root:root:root:root:root body .gp.in.done:not(.out) {
  opacity:1!important;pointer-events:auto!important;
}
/* No artificial spinner/veil on Chat, Meta AI chat, or status viewer surfaces. */
html:root:root:root:root:root body .gp.chat::before,
html:root:root:root:root:root body .gp.chat::after,
html:root:root:root:root:root body .gp.mx::before,
html:root:root:root:root:root body .gp.mx::after,
html:root:root:root:root:root body .tb-sv::before,
html:root:root:root:root:root body .tb-sv::after {
  content:none!important;display:none!important;animation:none!important;visibility:hidden!important;
}
/* Keep the remaining tab/page loader's surface solid rather than transparent. */
html:root:root:root:root:root body #tbm .tb-main>.tb-tab-progress,
html:root:root:root:root:root body #tbm .tb-main>.tb-tab-progress.show {
  background:#fff1d6!important;background-color:var(--paper,#fff1d6)!important;background-image:none!important;
}
html:root:root:root:root:root body .gp.in:not(.chat):not(.mx)::after {
  background-color:var(--paper,#fff1d6)!important;background-image:none!important;
}
/* Stickers sit directly on the chat wallpaper; don't give the sticker itself a separate card surface. */
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk.me,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk.pe {
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;
  min-width:0!important;opacity:1!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stk,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stkimg,
html.chat-neo:root:root:root:root:root body .gp.chat .ch-m.m-stk img {
  background:transparent!important;background-color:transparent!important;box-shadow:none!important;filter:none!important;
}
/* No floating fallback emoji picker; native keyboard focus owns emoji entry. */
html body .gp.chat .ch-in .ch-emoji-pop { display:none!important; }


/* DISPETCH follow-up: date separators, channel creation notices, shared wallpaper, sticker alpha, and symmetric layer motion. */
html:root:root:root:root:root body .gp.chat .ch-day {
  display:flex!important;align-self:center!important;align-items:center!important;justify-content:center!important;
  width:max-content!important;max-width:92%!important;box-sizing:border-box!important;
  margin:12px auto 8px!important;padding:4px 12px!important;
  color:#272218!important;background:#fffdf8!important;background-color:#fffdf8!important;
  border:2px solid #17130d!important;border-radius:999px!important;box-shadow:2px 2px 0 #17130d!important;
  font-size:11.5px!important;font-weight:700!important;letter-spacing:.04em!important;line-height:1.3!important;
}
html:root:root:root:root:root body .gp.chat .ch-sys {
  display:flex!important;align-self:center!important;align-items:flex-start!important;justify-content:center!important;
  max-width:92%!important;margin:8px auto!important;padding:7px 12px!important;box-sizing:border-box!important;
  color:#28241d!important;background:#fffdf8!important;background-color:#fffdf8!important;
  border:2px solid #17130d!important;border-radius:14px!important;box-shadow:2px 2px 0 #17130d!important;
  font-size:12px!important;line-height:1.45!important;text-align:center!important;opacity:1!important;
}
html:root:root:root:root:root body .gp.tb-chc .tb-cl .tb-sys {
  display:flex!important;align-self:center!important;align-items:flex-start!important;justify-content:center!important;gap:7px!important;
  max-width:92%!important;box-sizing:border-box!important;margin:8px auto!important;padding:8px 13px!important;
  color:#28241d!important;background:#fffdf8!important;background-color:#fffdf8!important;background-image:none!important;
  border:2px solid #17130d!important;border-radius:14px!important;box-shadow:3px 3px 0 #17130d!important;
  font-size:12.5px!important;line-height:1.48!important;text-align:center!important;opacity:1!important;cursor:pointer!important;
}
html:root:root:root:root:root body .gp.tb-chc .tb-cl .tb-sys.d {
  display:flex!important;width:max-content!important;max-width:90%!important;margin:12px auto 7px!important;padding:4px 12px!important;
  border-radius:999px!important;font-size:11.5px!important;cursor:default!important;box-shadow:2px 2px 0 #17130d!important;
}
html:root:root:root:root:root body .gp.tb-chc .tb-cl .tb-channel-notice {text-align:left!important;}
html:root:root:root:root:root body .gp.tb-chc .tb-cl .tb-channel-created {
  background:#fff0a8!important;background-color:#fff0a8!important;font-weight:700!important;
}
html:root:root:root:root:root body .gp.tb-chc .tb-cl .tb-sys svg {width:15px!important;height:15px!important;flex:none!important;margin-top:2px!important;}

/* One shared wallpaper stack for direct/group chat, channel chat and Meta AI chat. */
html:root:root:root:root:root body .gp.chat>.ch-wp,
html:root:root:root:root:root body .gp.mx>.ch-wp {
  position:absolute!important;left:0!important;right:0!important;top:0!important;z-index:0!important;
  width:100%!important;max-width:none!important;height:var(--wp-h,100%)!important;
  pointer-events:none!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;
}
html[data-tbw=cx] body .gp.mx>.ch-wp {background-image:var(--tb-chatwall)!important;background-color:var(--paper,#fff1d6)!important;}
html[data-tbw=w0] body .gp.mx>.ch-wp {background:#fff1d6!important;}
html[data-tbw=w1] body .gp.mx>.ch-wp {background:#fff3b0!important;}
html[data-tbw=w2] body .gp.mx>.ch-wp {background:repeating-linear-gradient(45deg,#fff1d6 0 8px,#ffe2a0 8px 16px)!important;}
html[data-tbw=w3] body .gp.mx>.ch-wp {background:conic-gradient(#fff1d6 25%,#ffe2a0 0 50%,#fff1d6 0 75%,#ffe2a0 0) 0 0/24px 24px!important;}
html[data-tbw=w4] body .gp.mx>.ch-wp {background:#ffd3d8!important;}
html[data-tbw=w5] body .gp.mx>.ch-wp {background:#d6ecff!important;}
html[data-tbw=w6] body .gp.mx>.ch-wp {background:#1e1b12!important;}
html:root:root:root:root:root body .gp.chat.tb-chc>.ch-wp {display:block!important;visibility:visible!important;opacity:1!important;}
html:root:root:root:root:root body .gp.chat.tb-chc>.gp-h,
html:root:root:root:root:root body .gp.mx>.gp-h {position:relative!important;z-index:3!important;}
html:root:root:root:root:root body .gp.chat.tb-chc>.gp-body,
html:root:root:root:root:root body .gp.mx>.gp-body {position:relative!important;z-index:1!important;background:transparent!important;background-image:none!important;}
html:root:root:root:root:root body .gp.chat.tb-chc .tb-cl,
html:root:root:root:root:root body .gp.mx .mx-chat,
html:root:root:root:root:root body .gp.mx .mx-scroll {background:transparent!important;background-color:transparent!important;background-image:none!important;}

/* Sticker message containers and assets have no separate card surface; let their alpha show the shared wallpaper. */
html:root:root:root:root:root body .gp.chat .ch-m.m-stk,
html:root:root:root:root:root body .gp.chat .ch-m.m-stk.me,
html:root:root:root:root:root body .gp.chat .ch-m.m-stk.pe {
  display:flex!important;align-items:flex-start!important;width:fit-content!important;min-width:0!important;
  max-width:min(78%,560px)!important;padding:0!important;margin-top:4px!important;
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;
}
html:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stk,
html:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stkimg,
html:root:root:root:root:root body .gp.chat .ch-m.m-stk img {
  display:block!important;background:transparent!important;background-color:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;object-fit:contain!important;
}
html:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stkimg,
html:root:root:root:root:root body .gp.chat .ch-m.m-stk img {width:min(160px,58vw)!important;height:auto!important;max-height:220px!important;}
html:root:root:root:root:root body .gp.chat .ch-m.m-stk>small {margin-top:2px!important;color:var(--ink,#17130d)!important;}

/* Enter/exit are paired transforms on the overlay only. CSS transforms do not change document layout geometry. */
html:root:root:root:root:root body .gp {
  transform:translate3d(0,6px,0) scale(.985)!important;transform-origin:var(--cx,50%) var(--cy,50%)!important;
  opacity:0!important;will-change:transform,opacity!important;backface-visibility:hidden!important;
  transition:transform .32s cubic-bezier(.2,.75,.25,1),opacity .25s cubic-bezier(.2,.75,.25,1)!important;
}
html:root:root:root:root:root body .gp.in:not(.out),
html:root:root:root:root:root body .gp.in.done:not(.out) {
  transform:translate3d(0,0,0) scale(1)!important;opacity:1!important;pointer-events:auto!important;
}
html:root:root:root:root:root body .gp.in.done:not(.out) {will-change:auto!important;}
html:root:root:root:root:root body .gp.out {
  transform:translate3d(0,4px,0) scale(.985)!important;opacity:0!important;pointer-events:none!important;
  transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1)!important;
}
html:root:root:root:root:root body.noanim .gp,
html:root:root:root:root:root body.noanim .gp.out {transition:none!important;}
@media(prefers-reduced-motion:reduce) {
  html:root:root:root:root:root body .gp,
  html:root:root:root:root:root body .gp.out {transition-duration:.01ms!important;}
}

/* Keep the content-area progress visible at first Chat open and on both Chat/Updates tabs. */
html:root:root:root:root:root body #tbm>.tb-main>.tb-tab-progress,
html:root:root:root:root:root body #tbm>.tb-main>.tb-tab-progress.show {
  background:var(--paper,#fff1d6)!important;background-color:var(--paper,#fff1d6)!important;background-image:none!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
html:root:root:root:root:root body #tbm>.tb-main>.tb-tab-progress.show {
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
html:root:root:root:root:root body #tbm>.tb-main>.tb-tab-progress .tb-tab-spinner {display:block!important;}


/* DISPETCH polish v10: identical chat placeholder + WebView's native scroll physics. */
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in textarea#chT,
html.chat-neo:root:root:root:root:root body .gp.chat .tb-gf input#tbGt,
html.chat-neo:root:root:root:root:root body .gp.mx .mx-bar textarea#mxT {
  font-family:inherit!important;font-size:14px!important;font-weight:400!important;
  line-height:22px!important;letter-spacing:.015em!important;text-align:left!important;
}
html.chat-neo:root:root:root:root:root body .gp.chat .ch-in textarea#chT::placeholder,
html.chat-neo:root:root:root:root:root body .gp.chat .tb-gf input#tbGt::placeholder,
html.chat-neo:root:root:root:root:root body .gp.mx .mx-bar textarea#mxT::placeholder {
  color:#625c52!important;-webkit-text-fill-color:#625c52!important;opacity:.78!important;
  font-family:inherit!important;font-size:14px!important;font-weight:400!important;
  line-height:22px!important;letter-spacing:.015em!important;text-align:left!important;
}
/* Keep touch/fling scrolling in the WebView's own scroll container; no simulated drag loop. */
html:root:root:root:root:root body .gp.chat .ch-list,
html:root:root:root:root:root body .gp.chat .tb-gl {
  overflow-x:hidden!important;overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;overscroll-behavior-y:auto!important;
  touch-action:auto!important;scroll-behavior:auto!important;
  transform:none!important;filter:none!important;will-change:scroll-position!important;
}
/* Sticker PNG/JPEGs have no card of their own. Darken blending makes light baked-in image mats
   blend with the wallpaper below while preserving the sticker's darker artwork. */
html:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stkimg {
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;
  mix-blend-mode:darken!important;isolation:auto!important;
}
html:root:root:root:root:root body .gp.chat .ch-m.m-stk .pro-stk {
  background:transparent!important;background-color:transparent!important;border:0!important;
  box-shadow:none!important;filter:none!important;text-shadow:none!important;
}
html:root:root:root:root:root body .gp.chat .ch-m.m-stk>small {
  background:transparent!important;box-shadow:none!important;border:0!important;
}
