@keyframes mcp-pulse { 0%, 100% { opacity: .55; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes mcp-working { 0% { border-color: #39404c; } 50% { border-color: #34d399; box-shadow: 0 0 0 2px rgb(52 211 153 / .08); } 100% { border-color: #39404c; } }
@keyframes mcp-progress { from { width: 0; } to { width: 100%; } }
.mcp-flow-pulse { animation: mcp-pulse 1.8s ease-in-out infinite; }
.mcp-scene-card[data-state="working"] { animation: mcp-working 1.4s ease-in-out infinite; }
.mcp-scene-card[data-state="working"] .mcp-scene-progress span { display: block; width: 100%; height: 100%; border-radius: inherit; background: #34d399; animation: mcp-progress .56s linear; }
.mcp-scene-card[data-state="done"] { border-color: rgb(52 211 153 / .65); }
.mcp-scene-card[data-state="done"] .mcp-scene-progress span { display: block; width: 100%; height: 100%; border-radius: inherit; background: #34d399; }
@media (prefers-reduced-motion: reduce) { .mcp-flow-pulse, .mcp-scene-card[data-state="working"] { animation: none; } }
