/* LL AI v65.20 — paint/layout performance pass. Visual timings are unchanged. */
.chat > .msg.user,
.chat > .msgrow,
.chat > .thinkingTrace{
  content-visibility:auto;
  contain-intrinsic-size:auto 132px;
}
.llLongUserMessage .userMsgBodyText{max-height:none!important}
.llLongMessageToggle{
  align-self:flex-end;
  margin-top:7px;
  border:1px solid color-mix(in srgb,var(--theme-line) 82%,transparent);
  border-radius:999px;
  padding:7px 11px;
  background:color-mix(in srgb,var(--theme-surface) 94%,var(--accent) 6%);
  color:var(--theme-muted);
  font:650 10.5px/1.2 inherit;
  cursor:pointer;
}
.llLongMessageToggle:hover{color:var(--theme-text);border-color:color-mix(in srgb,var(--theme-line) 62%,var(--accent) 38%)}
/* Large galleries no longer paint off-screen cards. */
#imageStudio .imageCard,
#imageStudio .v632PresetArt,
#imageStudio .v632PresetCard{
  content-visibility:auto;
  contain-intrinsic-size:240px 240px;
}
/* Do not pin GPU layers all day; promote only during the existing 320ms motion. */
.side,
body.v632ImagesOpen .side,
body.v632ImagesOpen #imageStudio.v632Workspace{will-change:auto!important}
body.llSidebarAnimating .side{will-change:transform,opacity!important}
body.v632ImagesOpen.llSidebarAnimating #imageStudio.v632Workspace{will-change:transform!important}
/* Scrolling on tablet temporarily skips expensive live blur recomposition. Settled design is unchanged. */
body.llPerfScrolling .topbar,
body.llPerfScrolling #imageStudio .imageStudioTop,
body.llPerfScrolling #imageStudio .imagePromptBar{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
@media(max-width:800px){
  .chat > .msg.user,.chat > .msgrow,.chat > .thinkingTrace{contain-intrinsic-size:auto 116px}
}
