/* A small, real execution view. Only the currently active connection moves. */
.chat-activity{margin-block:0 18px;color:#526057;font-size:12px;max-width:100%;--activity-flow:normal}
.activity-summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;min-height:38px;width:fit-content;max-width:100%;border-radius:6px;padding:4px 1px;user-select:none}
.activity-summary::-webkit-details-marker{display:none}
.activity-summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.activity-summary:hover .activity-disclosure{text-decoration:underline;text-underline-offset:3px}
.activity-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#6b8270}
.activity-title{font-weight:500}
.activity-extra{font-size:10px;color:#657065}
.activity-disclosure{font-size:10px;margin-inline-start:8px;color:#657065}
.activity-chevron{width:12px;height:12px;flex-shrink:0;transition:transform .15s ease}
.chat-activity[open]>.activity-summary .activity-chevron{transform:rotate(90deg)}
[dir=rtl] .activity-chevron{transform:scaleX(-1)}
[dir=rtl] .chat-activity[open]>.activity-summary .activity-chevron{transform:rotate(90deg)}
.activity-content{padding:16px 18px;border:1px solid #e1e6e1;border-radius:10px;background:#fafbf9;max-width:100%}
.activity-route{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1.15fr) 28px minmax(0,1fr);align-items:center;gap:5px}
.activity-node{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;padding:10px 8px;border:1px solid #e1e6e1;border-radius:7px;background:#fff;min-width:0;color:#66706a;font-size:11px;text-align:center}
.activity-node>svg{width:17px;height:17px;flex-shrink:0}
.activity-node>span{overflow-wrap:anywhere}
.activity-node small{font-size:9px;display:block;width:100%;line-height:1.3;color:#66706a;direction:ltr;unicode-bidi:isolate}
.activity-node.is-active{border-color:#78957d;background:#f1f6ee;color:#344e3e}
.activity-node.is-finished{color:#405f49}
.activity-edge{display:block;color:#bac5b9;width:100%;height:24px}
.activity-edge svg{width:100%;height:100%;display:block}
.activity-edge.is-active{color:#607d65}
.activity-edge.is-active .activity-flow-line{stroke-dasharray:3 4;animation:neon-activity-flow 1s linear infinite}
[dir=rtl] .activity-edge svg{transform:scaleX(-1)}
.activity-context-route{display:flex;align-items:center;gap:8px;width:55%;margin-block-start:10px}
.activity-context-route .activity-node{flex:1}
.activity-context-route .activity-edge{width:38px;flex:0 0 38px}
.activity-timeline{display:flex;gap:7px 16px;flex-wrap:wrap;list-style:none;padding:0;margin:17px 0 0;font-size:10px;color:#657065}
.activity-timeline li{display:flex;align-items:center;gap:5px}
.activity-timeline li::before{content:'';width:4px;height:4px;border:1px solid #a2b19e;border-radius:50%;flex-shrink:0}
.activity-timeline .is-current{color:#344e3e;font-weight:600}
.activity-timeline :is(.is-current,.is-saved)::before{background:#6b8270;border-color:#6b8270}
.activity-note,.activity-sources{margin:12px 0 0;font-size:10px;overflow-wrap:anywhere}
.activity-sources{display:flex;flex-wrap:wrap;gap:5px 9px}
.activity-sources a{text-underline-offset:3px}
.chat-activity[data-phase=incomplete] .activity-dot{background:#876d60}
.chat-activity[data-phase=incomplete] .activity-title{color:#78594d}
.chat-activity[data-phase=saved] .activity-dot{background:#71856c}
.activity-paused .activity-flow-line{animation-play-state:paused!important}
@keyframes neon-activity-flow{to{stroke-dashoffset:-14}}
@media(prefers-reduced-motion:reduce){.activity-edge.is-active .activity-flow-line{animation:none;stroke-dasharray:none}.activity-chevron{transition:none}}
@media(max-width:520px){.activity-content{padding:12px}.activity-route{grid-template-columns:minmax(0,1fr) 18px minmax(0,1.1fr) 18px minmax(0,1fr);gap:3px}.activity-node{font-size:10px;padding:9px 5px;gap:4px}.activity-node>svg{width:15px;height:15px}.activity-extra{display:none}.activity-summary{min-height:44px}.activity-context-route{width:65%}.activity-timeline{gap:8px 12px}}
.chat-activity:not([open]) .activity-flow-line{animation:none}
.activity-sources a{display:inline-flex;align-items:center;min-height:28px}
@media(max-width:520px){.activity-sources a{min-height:44px}}
