/* The controller owns scene entrances. Finished scenes stay perfectly still;
   mobile fitting and the illustrations' own perspective remain untouched. */
.ppc.ppc--motion.ppc--pinned .ppc-panel,
.ppc.ppc--motion.ppc--pinned .ppc-panel.is-active {
    transform: none;
    transition: none;
}

/* Animated elements can retain inherited visibility:hidden in Chromium after
   their panel becomes active. Own the state on each target, including after
   cancellation, so interrupted entrances cannot leave artwork hidden. */
@media screen {
    .ppc.ppc--motion.ppc--pinned .ppc-panel :is(.ps-product, .ppc-comp, .pm-visual, .ppc-motion-target) {
        visibility: hidden;
    }
    .ppc.ppc--motion.ppc--pinned .ppc-panel.is-active :is(.ps-product, .ppc-comp, .pm-visual, .ppc-motion-target) {
        visibility: visible;
    }
}

/* Avoid running the older assembly transitions underneath the new sequence. */
.ppc.ppc--motion.ppc--pinned .ppc-panel :is(.crm-focus, .aw-worker, .ppf) {
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .ppc.ppc--motion .ppc-panel { transition: none; }
}
