.tree-node .tree-name { font-size: 34px; }
.tree-node .tree-hebrew { font-size: 41px; }
.tree-node .tree-meaning { font-size: 23px; }

.scene.is-active .concept-card,
.scene.is-active .signal,
.scene.is-active .compare-panel,
.scene.is-active .path-step,
.scene.is-active .divine-letter {
  animation: riseIn .72s cubic-bezier(.2,.75,.2,1) both;
  animation-delay: calc(var(--i, 0) * 110ms + 120ms);
}

.scene.is-active .hebrew-glyph {
  animation: glyphReveal 1.05s cubic-bezier(.2,.75,.2,1) both;
}

.scene.is-active .tree-edge.active {
  stroke-dasharray: 18 12;
  animation: pathTravel 1.25s linear infinite;
}

@keyframes riseIn {
  from { opacity: 0; transform: translateY(35px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes glyphReveal {
  from { opacity: 0; transform: scale(.78) rotate(-3deg); filter: blur(12px); }
  to { opacity: 1; transform: scale(1) rotate(0); filter: blur(0); }
}

@keyframes pathTravel {
  to { stroke-dashoffset: -60; }
}
