/* E-card opening effects (Karte-E). Vanilla CSS, no motion under prefers-reduced-motion. */
.ec-card.fx-on .art{opacity:0;transform:scale(1);will-change:transform,opacity}
.ec-card.fx-on .tz>*{opacity:0;transform:translateY(10px)}
.ec-card.fx-on .tz>.fxu.in,.ec-card.fx-on .tz .fxl.in{opacity:1;transform:none;transition:opacity .6s ease-out,transform .6s ease-out}
.ec-card.fx-on .tz>.fxu.fxt{opacity:1;transform:none}
.ec-card.fx-on .tz>.fxu.fxl-p{opacity:1;transform:none}
.ec-card.fx-on .tz .fxl{display:block;opacity:0;transform:translateY(10px)}
.ec-card .tz .fxl{display:block}
.ec-card.fx-on.fx-s1 .art{opacity:1;transform:scale(1.04);transition:opacity 2.5s ease-out,transform 2.5s ease-out}
.ec-card.fx-on.fx-s2 .art{transform:scale(1);filter:blur(1.5px) brightness(.95);transition:transform 4s ease-in-out,filter 1.2s ease-in-out}
.ec-card.fx-on.fx-s2.fx-live .art{filter:none;opacity:.92}
.ec-card.fx-on.fx-s3 .art{filter:none;opacity:1;transition:filter 1.2s ease-in-out,opacity 1.2s ease-in-out}
.fxh{color:transparent!important}
.fx-wait{visibility:hidden;opacity:0}
.fx-wait.show{visibility:visible;opacity:1;transition:opacity .8s ease-out}
.fxcv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;border-radius:14px}
.fxbox{position:relative}
.fxbox.running{cursor:pointer}
@media (prefers-reduced-motion:reduce){
 .ec-card.fx-on .art,.ec-card.fx-on .tz>*,.ec-card.fx-on .tz .fxl{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
 .fx-wait{visibility:visible;opacity:1}
 .fxcv{display:none}
}
