.ffn-thread-host{position:relative}
.ffn-graphic-thread{position:absolute;inset:0 auto auto 0;display:block;z-index:4;pointer-events:none;overflow:hidden;width:100%;max-width:none}
.ffn-graphic-thread path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ffn-thread-base{stroke-width:1;opacity:.32}
.ffn-thread-progress{stroke-width:1.7;opacity:.86}
.ffn-thread-branch{stroke:currentColor;stroke-width:1;opacity:.32;transition:opacity .25s ease,stroke-width .25s ease}
.ffn-thread-point{fill:currentColor;opacity:.45;transition:opacity .25s ease}
.ffn-thread-halo{fill:currentColor;opacity:0;transition:opacity .25s ease;filter:blur(2px)}
.ffn-thread-node.is-passed .ffn-thread-branch{opacity:.5;stroke-width:1}
.ffn-thread-node.is-passed .ffn-thread-point{opacity:.9}
.ffn-thread-node.is-attended .ffn-thread-branch{opacity:.72;stroke-width:1.2}
.ffn-thread-node.is-attended .ffn-thread-point{opacity:1}
.ffn-thread-node.is-attended .ffn-thread-halo{opacity:.14}
#ffn-packs .ffn-pack-showcase .ffn-pack__copy{padding-left:62px}
@media(max-width:760px){#ffn-packs .ffn-pack-showcase .ffn-pack__copy{padding-left:44px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.ffn-thread-branch,.ffn-thread-point,.ffn-thread-halo{transition:none}.ffn-thread-halo{filter:none}}
