/* Two wavefronts rise through the stack; the opaque plates keep text unobscured. */
#proof-stack .settlement-effects {pointer-events:none;}
#proof-stack .settlement-rise-axis {stroke:#b9c2ed;stroke-width:1;stroke-opacity:.16;}
#proof-stack .settlement-rise-core {
  stroke:#d1defa;stroke-width:3;stroke-linecap:round;
  stroke-dasharray:.1 13.9;opacity:.8;
  animation:settlement-core-rise 4.4s linear infinite;
}
#proof-stack .settlement-rise-wave {
  color:#98c7f8;
  transform-box:view-box;transform-origin:0 0;
  animation:settlement-wave-rise var(--proof-cycle,8.8s) linear infinite;
}
#proof-stack .settlement-rise-wave-follow {animation-delay:-4.4s;}
#proof-stack .settlement-rise-wave :is(ellipse,path) {fill:none;stroke:currentColor;}
#proof-stack .settlement-rise-soft {stroke-width:7;opacity:.13;filter:blur(1.6px);}
#proof-stack .settlement-rise-front {stroke-width:1.7;opacity:.68;}
#proof-stack .settlement-rise-side {stroke-width:2.8;stroke-linecap:round;opacity:.92;}
#proof-stack .settlement-rise-spark {fill:#e0e7ff;filter:drop-shadow(0 0 2px #9ac4f3);}
@keyframes settlement-wave-rise {
  0% {transform:translateY(563px) scale(1);opacity:0;color:#83b8f6;}
  8% {transform:translateY(548px) scale(1);opacity:.9;color:#98c7f8;}
  33% {transform:translateY(378px) scale(.84);opacity:.9;color:#acbcf6;}
  55% {transform:translateY(245px) scale(.72);opacity:.9;color:#a9d8ef;}
  76% {transform:translateY(110px) scale(.55);opacity:.9;color:#d2b1f4;}
  88% {transform:translateY(78px) scale(.52);opacity:0;color:#d2b1f4;}
  100% {transform:translateY(68px) scale(.5);opacity:0;color:#d2b1f4;}
}
@keyframes settlement-core-rise {to {stroke-dashoffset:-28;}}
#proof-stack .settlement-data-particle {
  fill:none;
  stroke:#e2ddfc;
  stroke-width:3.5;
  stroke-linecap:round;
  stroke-dasharray:.2 99.8;
  opacity:0;
  animation:settlement-data-travel var(--proof-cycle,8.8s) linear infinite;
  animation-delay:var(--particle-delay);
  filter:drop-shadow(0 0 2px #a9c2ef9c);
}
#proof-stack .settlement-node-halo {
  fill:none;
  stroke:#aacbf4;
  stroke-width:.9;
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  animation:settlement-node-expand var(--proof-cycle,8.8s) ease-out infinite;
  animation-delay:var(--particle-delay);
}
@keyframes settlement-data-travel {
  0% {opacity:0;stroke-dashoffset:1;}
  3% {opacity:1;stroke-dashoffset:0;}
  18% {opacity:1;stroke-dashoffset:-97;}
  21%,100% {opacity:0;stroke-dashoffset:-100;}
}
@keyframes settlement-node-expand {
  0% {opacity:0;transform:scale(.75);}
  3% {opacity:.75;transform:scale(.8);}
  16%,100% {opacity:0;transform:scale(2.25);}
}
#proof-stack .settlement-effects :is(g,path,circle,ellipse) {animation-play-state:paused;}
.tech-section.motion-running #proof-stack .settlement-effects :is(g,path,circle,ellipse) {animation-play-state:running;}
@media(prefers-reduced-motion:reduce) {
  #proof-stack .settlement-effects {display:none;}
  #proof-stack .settlement-effects :is(g,path,circle,ellipse) {animation:none!important;}
}
