:root{
  --ll625-panel: rgba(18,22,35,.82);
  --ll625-panel-strong: rgba(21,26,40,.94);
  --ll625-line: rgba(255,255,255,.09);
  --ll625-soft: rgba(255,255,255,.66);
  --ll625-shadow: 0 20px 55px rgba(0,0,0,.28);
}

/* response actions + typewriter */
.msg.ai{
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018)) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.14) !important;
}
.msgActions{
  position: relative;
  align-items: center !important;
  gap: 6px !important;
  padding-inline: 6px !important;
}
.msgActions .btn,
.imageCardBtn,
.ll625MoreBtn{
  border-radius: 14px !important;
}
.msgActions .btn svg,
.ll625MoreBtn svg,
.imageCardBtn svg{
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ll625MoreBtn{
  display: grid !important;
  place-items: center !important;
}
.ll625ResponseMenu{
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  width: min(250px, calc(100vw - 26px));
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(12,16,26,.96);
  box-shadow: 0 26px 80px rgba(0,0,0,.45);
  backdrop-filter: blur(20px) saturate(1.2);
  display: none;
  z-index: 40;
}
.ll625ResponseMenu.is-open{display:block;animation:ll625MenuIn .18s ease both}
@keyframes ll625MenuIn{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
.ll625MenuMeta{
  font-size: 11px;
  color: var(--theme-muted, #b8bfd8);
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 3px 8px 9px;
  font-weight: 700;
}
.ll625ResponseMenu button{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 10px;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 12px;
  text-align: left;
}
.ll625ResponseMenu button:hover{background: rgba(255,255,255,.07)}
.ll625ActionIcon{
  width: 18px;
  height: 18px;
  color: var(--theme-muted,#ced4e7);
  flex: 0 0 auto;
}
.ll625ActionIcon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ll625TypeSurface{
  display: inline-block;
  position: relative;
  min-height: 1.6em;
  width: 100%;
}
.ll625TypeText{white-space: pre-wrap}
.ll625Caret{
  display:inline-block;
  width: 10px;
  height: 1.1em;
  margin-left: 2px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--accent,#8b95ff) 82%, white 18%);
  vertical-align: text-bottom;
  animation: ll625Blink .95s steps(1,end) infinite;
}
@keyframes ll625Blink{50%{opacity:.15}}

/* chat menu polish */
.chatContextMenu{
  width: 260px !important;
  padding: 8px !important;
  border-radius: 20px !important;
  background: rgba(14,18,29,.95) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  backdrop-filter: blur(22px) saturate(1.16) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.42) !important;
}
.chatContextMenu button{
  min-height: 46px !important;
  border-radius: 14px !important;
}
.chatMenuIcon svg{
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* image page */
.ll625CreateHeading{
  max-width: 1120px;
  margin: 0 auto 12px;
  color: #f2f4ff;
  font-size: 13px;
  font-weight: 700;
}
.imageStudioTop{
  background: rgba(8,10,18,.86) !important;
}
.imageQuickPrompts{
  gap: 12px !important;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.imageQuickPrompts::-webkit-scrollbar{display:none}
.imageQuickPrompts button{
  min-height: 44px !important;
  padding: 0 16px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.imageQuickPrompts .ll625PresetPrimary{
  background: linear-gradient(180deg, rgba(var(--accent-rgb),.24), rgba(var(--accent-rgb),.12)) !important;
  border-color: rgba(var(--accent-rgb),.25) !important;
}
.imageGalleryHead{
  max-width: 1120px;
  margin: 0 auto 12px !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
}
.imageGalleryHead span{
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--theme-muted) !important;
}
.imageGalleryHead h2{font-size: clamp(28px,4vw,42px) !important;letter-spacing:-.04em !important}
.imageGrid{
  margin-top: 8px !important;
}
.imageCard{
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)) !important;
  overflow: hidden !important;
}
.imageCard::after{
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: inherit;
  pointer-events: none;
}
.imageCardOverlay{
  padding: 70px 12px 12px !important;
  gap: 8px !important;
  background: linear-gradient(transparent, rgba(7,10,16,.94)) !important;
}
.imageCardTitle{
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #eef2ff !important;
}
.imageCardBtn{
  width: 38px !important;
  height: 38px !important;
  background: rgba(255,255,255,.94) !important;
  color: #0f1320 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.28) !important;
}
.imageEnhanceBtn{
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(241,238,255,.96)) !important;
}
.imagePromptBar{
  border-radius: 26px !important;
  background: rgba(15,18,29,.9) !important;
}
.imagePromptBar textarea{
  font-size: 15px !important;
}
.imagePromptBar select{
  background: rgba(255,255,255,.06) !important;
}
.imageGenerate{
  font-size: 0 !important;
}
.imageGenerate::before{
  content: 'Create';
  font-size: 14px;
  font-weight: 800;
}
.imageStatus{font-size: 13px !important;color:#cfd5ea !important}

/* control center */
.ll625CcIntro{
  display:grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,.95fr);
  gap: 16px;
  margin-bottom: 16px;
}
.ll625CcIntroCard,
.ll625CcMiniGuide{
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  padding: 16px;
}
.ll625CcIntroCard h3{margin:0 0 8px;font-size:18px}
.ll625CcIntroCard p{margin:0;color:var(--theme-muted,#c1c6d9);line-height:1.62}
.ll625CcTags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ll625CcTags span{padding:6px 10px;border-radius:999px;background:rgba(var(--accent-rgb),.12);color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.02em}
.ll625CcMiniGuide{display:grid;gap:12px}
.ll625CcMiniGuide div{display:grid;gap:3px}
.ll625CcMiniGuide b{font-size:13px}
.ll625CcMiniGuide small{color:var(--theme-muted,#c1c6d9);line-height:1.5}
.ll625CcSection{border-radius:18px;padding:14px;border:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.02)}

/* general polish */
.sidebarScrim{backdrop-filter: blur(3px)}
.chatItem{border-radius: 18px !important}
.topbar,.composer{backdrop-filter: blur(18px) saturate(1.08)}

@media (max-width: 760px){
  .ll625ResponseMenu{right: 0; left:auto; width:min(240px, calc(100vw - 18px));}
  .ll625CcIntro{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .msgActions{gap:4px !important}
  .msgActions .btn,.ll625MoreBtn{width:36px !important;height:36px !important}
  .imagePromptBar{width: calc(100vw - 12px) !important}
  .imagePromptBar select{min-height: 42px !important}
  .imageGenerate::before{content:'Go';}
}

/* v62.6 — ChatGPT-like assistant message layout and actions */
.msgrow{
  align-self:stretch !important;
  display:block !important;
}
.msg.ai{
  width:100% !important;
  max-width:800px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.msg.ai::before,.msg.ai::after{display:none !important;content:none !important}
.msg.ai .aiMsgBody,.msg.ai .assistantTextBody{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.msg.user{
  align-self:flex-end !important;
}
.msgActions{
  width:max-content !important;
  min-height:38px !important;
  margin-top:7px !important;
  padding:0 !important;
  gap:2px !important;
  position:relative !important;
}
.msgActions .responseCopyBtn{order:1 !important}
.msgActions .speakbtn{order:2 !important}
.msgActions .responseShareBtn{order:3 !important}
.msgActions .responseRetryBtn{display:none !important}
.msgActions .ll625MoreBtn{order:4 !important}
.msgActions .btn{
  width:34px !important;
  height:34px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:9px !important;
  color:color-mix(in srgb,var(--theme-text) 68%,transparent) !important;
  background:transparent !important;
  opacity:1 !important;
  transition:background .16s ease,color .16s ease,transform .16s ease !important;
}
.msgActions .btn:hover,.msgActions .btn:focus-visible,.msgActions .ll625MoreBtn.is-open{
  color:var(--theme-text) !important;
  background:rgba(255,255,255,.07) !important;
}
.msgActions .btn:active{transform:scale(.94) !important}
.msgActions .btn svg{
  width:19px !important;
  height:19px !important;
}
.ll625ResponseMenu{
  left:0 !important;
  right:auto !important;
  bottom:calc(100% + 8px) !important;
  width:248px !important;
  padding:8px !important;
  border-radius:18px !important;
  background:rgba(35,35,35,.98) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.48) !important;
}
.ll625ResponseMenu button{
  min-height:46px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  font-size:14px !important;
  font-weight:600 !important;
}
.ll625ResponseMenu button:hover{background:rgba(255,255,255,.07) !important}
.ll625MenuDivider{
  height:1px !important;
  margin:6px 4px !important;
  background:rgba(255,255,255,.08) !important;
}
.ll625MenuMeta{display:none !important}
@media(max-width:800px){
  .msgActions .responseCopyBtn,.msgActions .speakbtn,.msgActions .responseShareBtn,.msgActions .ll625MoreBtn{opacity:1 !important}
  .ll625ResponseMenu{width:min(248px,calc(100vw - 24px)) !important}
}
