/* emergent loom — visuals + interaction transitions for styles/emergent/loom.js
   (raw-time threads → loom mouth → sacred line → peeling branches).
   Self-sufficient: repeats the shared .strand* interaction rules so this
   style works even if editorial's CSS isn't loaded. */

/* raw-time threads + loom-mouth glyphs + the-loom caption are decorative */
#timeline-svg .raw-thread   { pointer-events: none }
#timeline-svg .loom-glyph   { pointer-events: none }
#timeline-svg .loom-caption { pointer-events: none }

/* nexus dots — click/hover to highlight that strand */
#timeline-svg .nexus-node   { cursor: pointer; transition: opacity .25s ease }

/* shared strand interaction (duplicated from editorial so emergent is standalone) */
#timeline-svg .strand                 { cursor: pointer; transition: opacity .25s ease, stroke-width .15s ease }
#timeline-svg .strand-hit             { cursor: pointer; pointer-events: stroke; fill: none }
#timeline-svg .strand-label           { cursor: pointer; transition: opacity .2s ease, fill .15s ease }
#timeline-svg .strand-label.selected  { font-weight: 700 }
