.rp-svg{width:100%;height:100%;display:block;overflow:visible}
.rp-scene{opacity:0;transition:opacity 2.8s ease}.rp-scene.rp-scene-on{opacity:1}
.rp-label,.rp-symbol,.rp-word,.rp-feature{font-family:Georgia,'Times New Roman',serif;fill:#102d50}
.rp-symbol,.rp-word,.rp-feature{font-style:italic;text-anchor:middle}
.rp-symbol{font-size:27px;opacity:0;transition:opacity 2.4s ease,transform 4.2s cubic-bezier(.25,.62,.25,1);transform-box:view-box;transform-origin:center}.rp-symbol.on{opacity:.82}.rp-symbol.rp-distractor.dim{opacity:.07}
.rp-P{transform:translate(-62px,42px)}.rp-x{transform:translate(54px,-34px)}.rp-ex{transform:translate(-72px,-44px)}.rp-P.placed,.rp-x.placed,.rp-ex.placed{transform:translate(0,0);opacity:1}
.rp-distractor{animation:rp-float 14s ease-in-out infinite alternate}@keyframes rp-float{from{transform:translate(-3px,2px) scale(.985)}to{transform:translate(4px,-3px) scale(1.015)}}
.rp-structure{opacity:0;transform:scale(.97);transform-origin:center;transition:opacity 3s ease,transform 3.4s ease}.rp-structure.on{opacity:1;transform:scale(1)}.rp-branch{stroke:rgba(103,129,151,.48);stroke-width:1.05;fill:none}
.rp-axis{stroke:rgba(174,188,200,.48);stroke-width:.85}.rp-word{font-size:25px;opacity:0;transition:opacity 3.2s ease}.rp-word.on{opacity:1}
/* Expectation: opacity is controlled only here, never by keyframes. */
.rp-dist{opacity:0;transform:scale(.985);transform-origin:center bottom;transition:opacity 4.2s cubic-bezier(.22,.61,.36,1),transform 5s ease}.rp-dist.on{opacity:.94;transform:scale(1);animation:rp-prob-breathe 10s ease-in-out infinite alternate}@keyframes rp-prob-breathe{from{transform:scale(.995)}to{transform:scale(1.006)}}
.rp-dist-fill{fill:rgba(121,198,193,.20)}.rp-dist-edge{fill:none;stroke:rgba(97,164,163,.27);stroke-width:.72}
.rp-alt{opacity:0;transform:scale(.55);transform-origin:205px 183px;transition:opacity 3s ease,transform 4s cubic-bezier(.25,.62,.25,1)}.rp-alt.on{opacity:1;transform:scale(1);animation:rp-alt-drift 14s ease-in-out infinite alternate}.rp-alt.soft{opacity:.10!important;transform:scale(.96)}@keyframes rp-alt-drift{from{translate:-2px 2px}to{translate:3px -3px}}
.rp-alt-line{stroke:rgba(117,151,177,.52);stroke-width:1.05;fill:none}.rp-node{fill:rgba(117,158,192,.21);stroke:rgba(80,123,158,.27);stroke-width:.8}.rp-teal-node{fill:rgba(73,186,179,.26);stroke:rgba(37,151,147,.3)}
.rp-coherence{fill:none;stroke:#159b98;stroke-width:1.2;stroke-dasharray:4 5;stroke-dashoffset:150;opacity:0;transition:opacity 2.3s ease,stroke-dashoffset 4s cubic-bezier(.3,.65,.25,1)}.rp-coherence.on{opacity:.68;stroke-dashoffset:0}
.rp-bundle{opacity:0;transform:scale(.97);transform-origin:center;transition:opacity 3s ease,transform 3.3s ease}.rp-bundle.seen{opacity:1;transform:scale(1)}
.rp-memory-line{stroke:rgba(111,151,181,.52);stroke-width:1.05;fill:none}.rp-memory-node{fill:rgba(114,169,201,.20);stroke:rgba(80,123,158,.28);stroke-width:.8;transition:opacity 2.6s ease,fill 2.6s ease,stroke 2.6s ease}.rp-feature{font-size:14px;dominant-baseline:middle;transition:opacity 2.6s ease,fill 2.6s ease}
.rp-memory-node.react{fill:rgba(73,186,179,.34);stroke:rgba(37,151,147,.52);opacity:1!important}.rp-feature.react,.rp-feature.resolved{fill:#159b98;opacity:1!important}.rp-retrieve{fill:none;stroke:#159b98;stroke-width:1.2;stroke-dasharray:5 6;stroke-dashoffset:420;opacity:0;transition:opacity 2s ease,stroke-dashoffset 4.4s cubic-bezier(.32,.62,.25,1)}.rp-retrieve.on{opacity:.65;stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.rp-scene,.rp-symbol,.rp-structure,.rp-word,.rp-dist,.rp-alt,.rp-coherence,.rp-bundle,.rp-feature,.rp-memory-node,.rp-retrieve{transition:none!important;animation:none!important}.rp-P,.rp-x,.rp-ex{transform:none!important}}

.rp-old .rp-memory-line{transition:stroke 2s ease,opacity 2s ease}

/* Decay individual children rather than the parent bundle so selective reactivation can return to full opacity. */
.rp-old.decayed {
  opacity: 1 !important;
  transform: scale(1);
}
.rp-old.decayed .rp-memory-line {
  opacity: .42;
  transition: opacity 3.8s ease, stroke 2s ease;
}
.rp-old.decayed .rp-memory-node,
.rp-old.decayed .rp-feature {
  opacity: .42;
}
.rp-old.decayed .node-0,
.rp-old.decayed .feature-0 { opacity: .32; }
.rp-old.decayed .node-2,
.rp-old.decayed .feature-2 { opacity: .28; }

/* Retrieved f2 selectively reactivates to full strength. */
.rp-old.decayed .rp-memory-node.react {
  opacity: 1 !important;
  fill: rgba(73,186,179,.34);
  stroke: rgba(37,151,147,.62);
}
.rp-old.decayed .rp-feature.react {
  opacity: 1 !important;
  fill: #102d50;
}
.rp-old.retrieving .rp-memory-line:nth-of-type(1),
.rp-old.retrieving .rp-memory-line:nth-of-type(3) {
  opacity: .82 !important;
  stroke: rgba(37,151,147,.42);
}


.rp-current .feature-3 {
  opacity: 1;
  transition: opacity 2.2s ease, fill 2.2s ease;
}
.rp-current .feature-3.retrieved { opacity: 0; }
.rp-target-resolved {
  opacity: 0;
  fill: #159b98;
  transition: opacity 2.2s ease;
}
.rp-target-resolved.on { opacity: 1; }
