/* ===== 对话交互 1:1（msg-actions.js）：操作条 / 长文折叠 / 滚动收起输入框 ===== */
.chat-bubble p{word-break:break-word;}
.ma-actions{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap;opacity:0;transition:opacity .18s;}
.chat-bubble:hover .ma-actions,.chat-bubble.ma-force .ma-actions{opacity:1;}
.ma-btn{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;border:1px solid rgba(148,163,184,.25);
  background:rgba(148,163,184,.08);color:#9fb3c8;border-radius:13px;font-size:12px;cursor:pointer;transition:all .15s;}
.ma-btn i{font-style:normal;font-size:11px;line-height:1;}
.ma-btn:hover{border-color:rgba(34,211,238,.5);color:#5fe3f5;background:rgba(34,211,238,.1);}
.ma-btn.ma-danger:hover{border-color:rgba(248,113,113,.55);color:#fca5a5;background:rgba(248,113,113,.1);}
.ma-meta{display:inline-flex;align-items:center;gap:8px;margin-left:2px;font-size:11.5px;color:#7c8da3;}
.ma-status{display:inline-flex;align-items:center;gap:4px;}
.ma-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}
.ma-status-ok{color:#34d399;}
.ma-status-run{color:#fbbf24;}
.ma-status-run::before{animation:maPulse 1s infinite;}
@keyframes maPulse{0%,100%{opacity:.35}50%{opacity:1}}
/* 长文折叠（参考站金色渐变“展开”横条） */
.chat-bubble p.ma-collapsed{max-height:400px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,#000 74%,rgba(0,0,0,.18) 90%,transparent 100%);mask-image:linear-gradient(180deg,#000 74%,rgba(0,0,0,.18) 90%,transparent 100%);}
.ai-think-body.ma-needs-collapse{max-height:220px;overflow:auto;}
.ma-collapse-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:5px;margin:2px 0 2px;padding:0;height:32px;border:none;border-radius:0 0 12px 12px;background:linear-gradient(180deg,rgba(245,158,11,0) 0%,rgba(245,158,11,.16) 55%,rgba(245,158,11,.28) 100%);color:#f5b642;font-size:12.5px;font-weight:500;letter-spacing:2px;cursor:pointer;transition:background .2s,color .2s;}
.ma-collapse-btn svg{width:14px;height:14px;transition:transform .2s;}
.ma-collapse-btn.is-up svg{transform:rotate(180deg);}
.ma-collapse-btn:hover{background:linear-gradient(180deg,rgba(245,158,11,.08),rgba(245,158,11,.36));color:#ffd27a;text-decoration:none;}
/* 滚动收起底部输入框（1:1 参考站：居中圆形键盘钮 + 呼吸光晕/扩散环） */
.ws-main{position:relative;}
#wsComposer{transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .3s,visibility .35s;}
#wsComposer.input-collapsed{transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none;}
.input-collapse-fab,.external-back-to-bottom{position:absolute;left:50%;bottom:14px;z-index:1450;width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(34,211,238,.45);background:linear-gradient(135deg,rgba(20,32,52,.96),rgba(12,20,34,.96));
  color:#5fe3f5;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 6px 16px rgba(0,0,0,.45);
  transform:translate(-50%,6px) scale(.2);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .35s cubic-bezier(.34,1.3,.64,1),opacity .25s ease,visibility 0s linear .35s;}
.input-collapse-fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(34,211,238,.5);opacity:0;}
.input-collapse-fab.is-visible{transform:translate(-50%,0) scale(1);opacity:1;visibility:visible;pointer-events:auto;
  transition:transform .35s cubic-bezier(.34,1.3,.64,1) .1s,opacity .25s ease .1s,visibility 0s linear .1s;
  animation:spFabBreathGlow 3.2s ease-in-out .5s infinite;}
.input-collapse-fab.is-visible::after{animation:spFabBreathRing 3.2s ease-in-out .5s infinite;}
.input-collapse-fab:hover{border-color:rgba(94,227,245,.8);}
@keyframes spFabBreathGlow{0%,100%{box-shadow:0 6px 16px rgba(0,0,0,.45),0 0 4px rgba(34,211,238,.15)}50%{box-shadow:0 6px 16px rgba(0,0,0,.45),0 0 14px rgba(34,211,238,.5)}}
@keyframes spFabBreathRing{0%{transform:scale(.92);opacity:0}30%{opacity:.55}70%,100%{transform:scale(1.3);opacity:0}}
/* 伴随“回到底部”钮：默认居中，键盘钮出现时让位到右侧 */
.external-back-to-bottom{width:40px;height:40px;bottom:18px;}
.external-back-to-bottom.is-visible{transform:translate(-50%,0) scale(1);opacity:1;visibility:visible;pointer-events:auto;transition:transform .3s .05s,opacity .2s .05s,visibility 0s;}
.input-collapse-fab.is-visible ~ .external-back-to-bottom.is-visible{left:calc(50% + 42px);}
.input-collapse-fab svg,.external-back-to-bottom svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.external-back-to-bottom svg{width:19px;height:19px;}
@media(max-width:820px){.input-collapse-fab,.external-back-to-bottom{bottom:12px;}}
.sp-ma-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:99999;background:rgba(15,23,38,.96);
  color:#e6eef8;border:1px solid rgba(34,211,238,.35);padding:8px 18px;border-radius:18px;font-size:13px;
  opacity:0;transition:opacity .2s;}
.sp-ma-toast.show{opacity:1;}
html[data-theme=light] .ma-btn{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.12);color:#5b6b82;}
html[data-theme=light] .ma-meta{color:#94a3b8;}
@media(max-width:820px){.ma-actions{opacity:1;}}
