/* Blade Wipe Transition (strong + cinematic)
   - Left-to-right reveal using clip-path, with a quick highlight sweep
   - Works with page-transitions-synced.js (no JS changes needed)
*/

/* Target multiple possible containers to be safe */
.nm-enter,
.md-content.nm-enter,
.md-content__inner.nm-enter,
.md-typeset.nm-enter {
  position: relative;
  opacity: 0;
  transform: translateX(24px);
  clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); /* collapsed */
  will-change: opacity, transform, clip-path, filter;
  filter: saturate(.9) brightness(.95);
}

.nm-enter.nm-enter-active,
.md-content.nm-enter.nm-enter-active,
.md-content__inner.nm-enter.nm-enter-active,
.md-typeset.nm-enter.nm-enter-active {
  opacity: 1;
  transform: translateX(0);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); /* full */
  filter: saturate(1) brightness(1);
  transition:
    opacity 520ms ease-out,
    transform 520ms cubic-bezier(.25,1,.3,1),
    clip-path 520ms cubic-bezier(.25,1,.3,1),
    filter 520ms ease-out;
}

/* Shimmer sweep overlay during enter */
.nm-enter::after,
.md-content.nm-enter::after,
.md-content__inner.nm-enter::after,
.md-typeset.nm-enter::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(100deg,
      rgba(138,60,244,0) 0%,
      rgba(138,60,244,.18) 20%,
      rgba(255,126,51,.22) 50%,
      rgba(138,60,244,.18) 80%,
      rgba(138,60,244,0) 100%);
  transform: translateX(-35%);
  opacity: 0;
}

.nm-enter.nm-enter-active::after,
.md-content.nm-enter.nm-enter-active::after,
.md-content__inner.nm-enter.nm-enter-active::after,
.md-typeset.nm-enter.nm-enter-active::after {
  animation: nm-sweep 520ms ease-out forwards;
}

@keyframes nm-sweep {
  0%   { transform: translateX(-35%); opacity: 0.0; }
  25%  { opacity: 0.45; }
  60%  { opacity: 0.25; }
  100% { transform: translateX(35%); opacity: 0; }
}

/* Make it a bit stronger during the synced boost window */
body.nm-transitioning .nm-enter.nm-enter-active,
body.nm-transitioning .md-content.nm-enter.nm-enter-active,
body.nm-transitioning .md-content__inner.nm-enter.nm-enter-active,
body.nm-transitioning .md-typeset.nm-enter.nm-enter-active {
  transition-duration: 650ms;
}
