/* ============================================================================
   wb-ui · streaming-text（流式文本 + 光标）
   1:1 移植自 aicss.dev StreamingText.module.css（fetched 2026-08-13）。
   流式中：实心光标；结束：光标转闪烁（上游行为）。整块 data-state：
   running / ok / error（尾注 danger）/ empty（不渲染）。
   消费 workbench.assistant.delta/completed payload.text。零裸色。
   ========================================================================== */

.wbui-streaming-text {
  font-size: 14px;             /* 上游原值 */
  line-height: 19px;
  color: var(--wbui-ink);
  font-family: var(--wbui-sans);
  margin: 0;
}
.wbui-streaming-text[data-state="empty"] { display: none; }

.wbui-st-caret {
  display: inline-block;
  width: 8px;
  height: 1.05em;
  margin-left: 2px;
  background: var(--wbui-accent);
  vertical-align: text-bottom;
  animation: wbui-st-caret-blink 1s step-end infinite;
}
/* 流式中实心不闪；结束后才闪烁（上游 caretSteady 语义） */
.wbui-streaming-text[data-state="running"] .wbui-st-caret { animation: none; opacity: 1; }
.wbui-streaming-text[data-state="error"] .wbui-st-caret { display: none; }

.wbui-st-error-note {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--wbui-danger);
}

@keyframes wbui-st-caret-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .wbui-st-caret { animation: none; }
}
