.jwsChartSequence .node-expansion-toggle { display:none!important; }
.jwsChartSequence [data-chart-node-id] { opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease; }
.jwsChartSequence [data-chart-node-id].animation-visible { opacity:1;pointer-events:auto; }
.jwsChartSequence .animation-hidden { opacity:0!important;pointer-events:none; }
.jwsChartSequence .grammarViewChartNode.animation-hidden { transform:translateY(10px) scale(.97); }
.jwsChartSequence .expansionItem { opacity:0;transition:opacity .35s ease; }
.jwsChartSequence .expansionItem { position:relative; }
.jwsChartSequence .chartSequenceTargetHighlight { position:absolute; inset:-3px; width:auto; height:auto; z-index:8; pointer-events:none; }
.jwsChartSequence .expansionItem.animation-visible { opacity:1; }
.jwsChartSequence .shoot-item-enter { animation:jwsSequenceItemEnter 460ms cubic-bezier(.16,1,.3,1) both; }
/* Node tags sit outside the node box: never clip them during or after entry. */
@keyframes jwsSequenceItemEnter {
    from { opacity:0; transform:translateY(8px) scale(.97); }
    to { opacity:1; transform:none; }
}
.jwsChartSequence.sequenceRevealPending .shoot-item-enter {
    animation:none!important;
    transition:none!important;
    opacity:0!important;
    transform:none!important;
}
/* Keep expansion dimensions measurable before applyShootStep reveals its rows. */
.jwsChartSequence .node-expansion-list:not(:has(.expansionItem.animation-visible)) { visibility:hidden;pointer-events:none; }
.jwsChartSequence .grammarViewChartNodeText,
.jwsChartSequence .grammarViewChartNodeGrammarTags,
.jwsChartSequence .grammarViewChartEdgeLabel { visibility:hidden;opacity:0;pointer-events:none; }
.jwsChartSequence .grammarViewChartNode.animation-revealed .grammarViewChartNodeText,
.jwsChartSequence .grammarViewChartNode.animation-revealed .grammarViewChartNodeGrammarTags,
.jwsChartSequence .grammarViewChartEdgeLabel.animation-revealed { visibility:visible;opacity:1;pointer-events:auto; }
.jwsChartSequence .grammarViewChartLine.animation-line-reveal { animation:shoot-line-reveal .38s ease-out both; }
@keyframes shoot-line-reveal { from { opacity:0; } to { opacity:1; } }

@media (prefers-reduced-motion: reduce) { .jwsChartSequence * { animation: none !important; transition: none !important; } }
