/* 等待态保持通透；正式正文出现时恢复原有回复布局。 */
.message-assistant.message-pending .message-bubble:not(:has(.is-streaming)) {
    background: transparent; border: 0; box-shadow: none;
}
.message-pending .reply-waiting { width: min(100%, 430px); gap: 18px; align-items: center; min-height: 112px; }
.message-pending .reply-waiting > .nz-loader { --nz-size: 78px; }
.thinking-copy { flex: 1; min-width: 0; }
.thinking-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; line-height: 1.5; }
.thinking-scenario { font-size: 11px; color: #ad6946; font-weight: 600; letter-spacing: .04em; }
.thinking-elapsed { font-size: 11px; color: #77716f; white-space: nowrap; font-variant-numeric: tabular-nums; }
.reply-waiting .pending-label { display: block; margin-top: 4px; color: #514a48; font-size: 14px; line-height: 1.6; }
.thinking-track { --thinking-progress: 3%; position: relative; height: 5px; margin: 16px 5px 10px 0; border-radius: 8px; background: #f3eee8; }
.thinking-fill { position: absolute; inset: 0 auto 0 0; width: var(--thinking-progress); border-radius: inherit;
    background: linear-gradient(90deg, #edbe76, #e59965 55%, #e57760); transition: width .7s linear; overflow: hidden; }
.thinking-fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent, #ffffff90, transparent);
    transform: translateX(-100%); animation: thinking-glint 2.8s ease-in-out infinite; }
/* 小火光沿轨道前进，呼应小吒的风火轮。 */
.thinking-spark { position: absolute; left: var(--thinking-progress); top: 50%; width: 9px; height: 9px;
    border-radius: 50%; background: #eea273; transform: translate(-50%, -50%); transition: left .7s linear;
    box-shadow: 0 0 0 3px #fce9d8, 0 0 0 6px #fef6ef; }
.thinking-spark::after { content: "✦"; position: absolute; top: -18px; left: -5px; color: #ce8255; font-size: 10px;
    animation: thinking-twinkle 2s ease-in-out infinite; }
.thinking-meta { display: flex; justify-content: space-between; gap: 8px; color: #77716f; font-size: 11px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.thinking-percent { color: #ad6946; }
.thinking-hint { display: block; color: #77716f; font-size: 11px; line-height: 1.6; margin-top: 7px; }
.thinking-hint:empty { display: none; }
.is-taking-longer .thinking-fill::after { animation-duration: 5s; }
.is-taking-longer .thinking-spark::after { animation-duration: 3.5s; }
@keyframes thinking-glint { 65%, 100% { transform: translateX(100%); } }
@keyframes thinking-twinkle { 50% { opacity: .25; transform: translateY(-3px) scale(.7); } }
@media (max-width: 600px) {
    .message-pending .reply-waiting { gap: 12px; min-height: 102px; }
    .message-pending .reply-waiting > .nz-loader { --nz-size: 62px; }
    .reply-waiting .pending-label { font-size: 13px; }
    .thinking-heading, .thinking-meta { flex-wrap: wrap; column-gap: 8px; row-gap: 2px; }
}
.nz-page-hidden .thinking-fill::after, .nz-page-hidden .thinking-spark::after { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
    .thinking-fill, .thinking-spark { transition: none; }
    .thinking-fill::after, .thinking-spark::after { animation: none; }
}
