/* Vorschau Konzept 1 – Der Faden baut die Struktur */
.fx-structure-host{position:relative}
.fx-structure{position:absolute;top:0;left:0;z-index:2;pointer-events:none;overflow:visible}
.fx-structure .rule{stroke:var(--bronze);stroke-width:1;fill:none;transition:stroke 1.4s ease}
.fx-structure .rule.set{stroke:var(--rule)}
.fx-structure .knot{fill:none;stroke:var(--bronze);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.fx-structure .tip{fill:var(--bronze);opacity:0;transition:opacity .3s ease}
.fx-structure .tip.on{opacity:1}
.fx-structure .end{fill:var(--bronze);transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .7s cubic-bezier(.3,1.6,.5,1)}
.fx-structure .end.on{transform:scale(1)}
.fx-rail-fill{position:absolute;right:-1px;width:1px;background:var(--bronze);transform-origin:top center;transform:scaleY(0);pointer-events:none}
.fx-rail-dot{position:absolute;left:-3px;bottom:-3px;width:7px;height:7px;border-radius:50%;background:var(--bronze);transform-origin:center bottom;opacity:0;transition:opacity .3s ease}
.fx-rail-dot.on{opacity:1}
@media (prefers-reduced-motion:reduce){
  .fx-structure .rule,.fx-structure .end,.fx-rail-dot{transition:none}
}
@media print{.fx-structure,.fx-rail-fill{display:none!important}}
