/* chat scene (Dataland). Card, head and dot come from widgets.css (.chat-*). */
.sc-chat .chat-phase { transition: none; display: inline-block; min-width: 118px; text-align: center; }
.sc-chat-body { position: relative; }
.sc-chat-list { position: relative; display: flex; flex-direction: column; gap: 13px; will-change: transform; }
.sc-chat-msg { max-width: 80%; font-size: 23px; line-height: 1.36; padding: 15px 20px; border-radius: 22px; }
.sc-chat-msg.v { align-self: flex-end; background: rgba(255,255,255,.13); border-bottom-right-radius: 6px; }
.sc-chat-msg.a { align-self: flex-start; background: linear-gradient(135deg, #2f7fe0, #1b55a8); color: #fff; border-bottom-left-radius: 6px; box-shadow: 0 8px 30px rgba(47,127,224,.22); }
.sc-chat-msg.t { align-self: flex-start; max-width: 96%; display: flex; align-items: center; gap: 12px;
  font-size: 17px; padding: 10px 14px; border-radius: 12px; border: 1.5px dashed rgba(255,255,255,.25); background: rgba(255,255,255,.035); color: #ececec; }
.sc-chat-msg.t code { font-size: 17px; }
.sc-chat-ktag { font-family: var(--mono); font-weight: 700; font-size: 12px; letter-spacing: .1em; padding: 4px 8px; border-radius: 6px; color: #111; }
.k-tools .sc-chat-ktag { background: #6aa8ff; }
.k-memory .sc-chat-ktag { background: #3fd49b; }
.k-state .sc-chat-ktag { background: #f3b84e; }
.sc-chat-msg.k-memory { border-color: rgba(63,212,155,.45); }
.sc-chat-msg.k-state { border-color: rgba(243,184,78,.55); }
.sc-chat-res { color: #9a9a9a; font-family: var(--mono); white-space: nowrap; min-width: 1ch; }
.sc-chat-txt .m-word { display: inline-block; }
.sc-chat-typing { position: absolute; left: 26px; bottom: 26px; display: flex; gap: 7px; padding: 17px 20px; border-radius: 22px; border-bottom-left-radius: 6px; background: rgba(47,127,224,.38); }
.sc-chat-typing i { width: 9px; height: 9px; border-radius: 50%; background: #fff; opacity: .85; display: block; }
