
/* Sources: stable flex layout, readable titles, reliable favicon fallback */
.source-grid-v158{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
.source-card-v158{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:50px!important;
  padding:7px 8px!important;
  overflow:hidden!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.024)!important;
  border:1px solid rgba(255,255,255,.055)!important;
}
.source-card-v158:hover{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.105)!important;
}
.source-favicon-v159{
  position:relative!important;
  flex:0 0 26px!important;
  width:26px!important;
  height:26px!important;
  border-radius:8px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#252932!important;
  border:1px solid rgba(255,255,255,.075)!important;
}
.source-favicon-v159::before{
  content:attr(data-letter);
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#aeb6c4;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
}
.source-favicon-v159 img.source-icon-img-v160{
  position:relative!important;
  z-index:1!important;
  display:block;
  width:18px!important;
  height:18px!important;
  border-radius:5px!important;
  object-fit:contain!important;
  background:transparent!important;
}
.source-favicon-v159.icon-fallback-v160 img{display:none!important}
.source-copy-v158{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:hidden!important;
}
.source-copy-v158 b{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#cbd0d9!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  font-weight:760!important;
}
.source-copy-v158 small{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin-top:3px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#707987!important;
  font-size:9px!important;
  line-height:1.15!important;
}
.source-index-v159{
  margin-right:5px!important;
  color:#838c9a!important;
  font-size:8.7px!important;
}
.source-open-v158{
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  border-radius:7px!important;
  display:grid!important;
  place-items:center!important;
  color:#788290!important;
  background:rgba(255,255,255,.035)!important;
}
.source-open-v158 svg{width:12px!important;height:12px!important}
@media(max-width:900px){
  .source-grid-v158{grid-template-columns:1fr!important}
  .source-card-v158{min-height:48px!important}
}

/* Animated response state */
.msg.ai.is-thinking-v160 .bot{
  animation:aisBotThinkingV160 1.35s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(135,128,255,.34);
}
.thinking-v160{
  min-height:34px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#aeb4c2;
}
.thinking-orbit-v160{
  position:relative;
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  border:1px solid rgba(155,140,255,.28);
}
.thinking-orbit-v160::before{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  left:7px;
  top:7px;
  border-radius:50%;
  background:#9c91ff;
  box-shadow:0 0 12px rgba(156,145,255,.72);
}
.thinking-orbit-v160::after{
  content:"";
  position:absolute;
  width:4px;
  height:4px;
  left:9px;
  top:-3px;
  border-radius:50%;
  background:#78d9ff;
  transform-origin:2px 14px;
  animation:aisThinkingOrbitV160 1.05s linear infinite;
}
.thinking-copy-v160{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.thinking-copy-v160 span:first-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:680;
}
.thinking-dots-v160{
  display:inline-flex;
  align-items:center;
  gap:3px;
}
.thinking-dots-v160 i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#8991a0;
  animation:aisThinkingDotV160 1.1s ease-in-out infinite;
}
.thinking-dots-v160 i:nth-child(2){animation-delay:.14s}
.thinking-dots-v160 i:nth-child(3){animation-delay:.28s}
.bubble.answer-arrive-v160{
  animation:aisAnswerArriveV160 .28s ease-out both;
}
@keyframes aisThinkingOrbitV160{to{transform:rotate(360deg)}}
@keyframes aisThinkingDotV160{
  0%,70%,100%{opacity:.32;transform:translateY(0)}
  35%{opacity:1;transform:translateY(-3px)}
}
@keyframes aisBotThinkingV160{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(135,128,255,.28)}
  50%{transform:scale(1.055);box-shadow:0 0 0 7px rgba(135,128,255,0)}
}
@keyframes aisAnswerArriveV160{
  from{opacity:.35;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}

/* Sending is a real locked state, including rapid double-clicks and Enter */
.round.send:disabled,
.round.send.is-busy-v160{
  pointer-events:none!important;
  cursor:not-allowed!important;
  opacity:.42!important;
  filter:saturate(.25)!important;
  transform:none!important;
  box-shadow:none!important;
}
.round.send.is-busy-v160 svg{
  animation:aisSendBusyV160 1.05s ease-in-out infinite;
}
@keyframes aisSendBusyV160{
  0%,100%{opacity:.45;transform:translateY(1px)}
  50%{opacity:.9;transform:translateY(-1px)}
}
.ais-no-anim-v6 .msg.ai.is-thinking-v160 .bot,
.ais-no-anim-v6 .thinking-orbit-v160::after,
.ais-no-anim-v6 .thinking-dots-v160 i,
.ais-no-anim-v6 .bubble.answer-arrive-v160,
.ais-no-anim-v6 .round.send.is-busy-v160 svg{
  animation:none!important;
}

