#restructure300-fx .j314-stage{position:relative;width:min(92vw,720px);aspect-ratio:3/2;max-height:78vh;border-radius:0;overflow:visible;box-shadow:none;background:transparent;animation:j314-appear .28s ease-out both}
#restructure300-fx .j314-stage canvas{display:block;width:100%;height:100%;object-fit:contain}
#restructure300-fx .j314-sparks{position:absolute;inset:0;pointer-events:none}
#restructure300-fx .j314-spark{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;border-radius:50%;background:#fff3c5;box-shadow:0 0 9px #eac56d;animation:j314-spark 2.8s var(--delay) ease-in-out infinite alternate}
@keyframes j314-appear{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes j314-spark{to{opacity:.25;transform:translateY(-12px)}}
#restructure300-fx.r300-static .j314-stage,#restructure300-fx.r300-static .j314-spark{animation:none}
@media(prefers-reduced-motion:reduce){#restructure300-fx .j314-stage,#restructure300-fx .j314-spark{animation:none}}
