/* A short luminous edge travels around each tool, just as in the supplied pricing cards. */
#tools .tool-card{position:relative}
#tools .tool-card:after{content:none}
#tools .tool-border{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible;border-radius:inherit;fill:none}
.tool-border .rim-halo{opacity:.12}.tool-border .rim-light{opacity:.42}.tool-border .rim-core{opacity:.95}
/* The approved paths are the tethers. A narrow light and its soft tail travel towards the puzzles. */
.cosmic-motion .puzzle-branches>path:not(.tether-pulse){stroke-opacity:.38}
.cosmic-motion .puzzle-branches .tether-pulse{stroke-dasharray:.07 .93;stroke-dashoffset:.12;opacity:0;fill:none;stroke-linecap:round}
.cosmic-motion .puzzle-branches .tether-halo{stroke:#bf92ed;stroke-width:8}
.cosmic-motion .puzzle-branches .tether-core{stroke:#e6c9ff;stroke-width:1.8;stroke-dasharray:.026 .974}
.cosmic-motion .puzzles-attracting .puzzle-branches .tether-pulse{animation:tether-signal 5200ms linear infinite;animation-delay:var(--tether-delay)}
@keyframes tether-signal{0%{stroke-dashoffset:.12;opacity:0}10%{opacity:.85}75%{stroke-dashoffset:-.94;opacity:.9}88%,100%{stroke-dashoffset:-1.08;opacity:0}}
.cosmic-motion .puzzles-attracting .puzzle-branches .tether-halo{animation-name:tether-signal-halo}
@keyframes tether-signal-halo{0%{stroke-dashoffset:.12;opacity:0}10%{opacity:.16}75%{stroke-dashoffset:-.94;opacity:.2}88%,100%{stroke-dashoffset:-1.08;opacity:0}}
.dam-particles{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.mascot[data-dam-effect="splinters"] .beaver-dam{transform:translateX(-50%)!important;filter:none;opacity:var(--dam-whole,1)}
.story-world .mascot[data-dam-effect="splinters"] .beaver{clip-path:none!important;opacity:var(--beaver-visible,0)}
.beaver-wave{overflow:visible;stroke:none;fill:none;aspect-ratio:574/732}
.beaver-waving-arm{transform-origin:157px 371px;transform-box:view-box}
.beaver-greeting .beaver-waving-arm{animation:beaver-gentle-wave 6200ms ease-in-out infinite}
@keyframes beaver-gentle-wave{0%,10%,49%,100%{transform:rotate(0)}19%{transform:rotate(-6deg)}27%{transform:rotate(5deg)}35%{transform:rotate(-5deg)}42%{transform:rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.tool-border{display:none}.cosmic-motion .puzzles-attracting .puzzle-branches .tether-pulse{display:none;animation:none!important}.beaver-greeting .beaver-waving-arm{animation:none!important}.dam-particles{display:none}.mascot[data-dam-effect="splinters"] .beaver-dam{opacity:0}.story-world .mascot[data-dam-effect="splinters"] .beaver{opacity:1}}
