/* CherryMorph: слой перелёта поверх приложения, клики сквозь него */
#cm-layer { position: fixed; inset: 0; z-index: 9000; pointer-events: none; overflow: hidden; contain: strict; }
#cm-layer:empty { display: none; }
.cm-fly { position: fixed; overflow: hidden; transform-origin: 0 0; background-color: #0a070c; will-change: transform, clip-path; }
.cm-from, .cm-shade { position: absolute; }
.cm-shade { inset: 0; }
.cm-name { position: fixed; white-space: nowrap; transform-origin: 0 0; will-change: transform; }
.cm-hold { visibility: hidden !important; }
/* translate, а не transform: у CTA-панели свой translateX(-50%) */
.cm-rise { animation: cm-rise .38s cubic-bezier(.2,.8,.2,1) both; }
@keyframes cm-rise { from { opacity: 0; translate: 0 16px; } }
.cm-fadein { animation: cm-fade .15s ease-out both; }
@keyframes cm-fade { from { opacity: 0; } }
::view-transition-group(cm-photo) { animation-duration: .42s; animation-timing-function: cubic-bezier(.2,.8,.2,1); }
@media (prefers-reduced-motion: reduce) {
  .cm-rise { animation: cm-fade .15s ease-out both; }
}
