/* Rumanji viewport-cover transition — the effect sits ABOVE the loading page. */
.rpe-page-transition-cover {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  pointer-events: none;
  overflow: hidden;
  opacity: 1;
  background:
    radial-gradient(ellipse at 50% -10%, rgba(226,29,47,.22) 0%, rgba(226,29,47,.07) 34%, transparent 62%),
    rgba(8,10,14,.94);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  will-change: opacity, transform;
  animation: rpeCoverReveal 1.05s cubic-bezier(.22,.72,.22,1) both;
}
.rpe-page-transition-beam {
  position:absolute; left:-18%; top:0; width:136%; height:7px;
  background:linear-gradient(90deg,transparent 0%,rgba(226,29,47,.15) 22%,rgba(255,55,75,.98) 50%,rgba(226,29,47,.15) 78%,transparent 100%);
  box-shadow:0 0 18px rgba(226,29,47,.8),0 0 58px rgba(226,29,47,.38);
  transform:translate3d(-32%,0,0) scaleX(.48);
  animation:rpeCoverBeam 1.05s cubic-bezier(.16,.72,.2,1) both;
}
.rpe-page-transition-core {
  position:absolute; left:12%; right:12%; top:-70px; height:180px;
  background:radial-gradient(ellipse at 50% 0%,rgba(235,32,55,.55),rgba(226,29,47,.16) 38%,transparent 72%);
  filter:blur(14px); opacity:.9;
  animation:rpeCoverCore 1.05s ease-out both;
}
html.rpe-page-leave .rpe-page-transition-cover {
  animation:none;
  opacity:1;
  background:rgba(8,10,14,.92);
  transition:opacity .12s ease;
}
@keyframes rpeCoverReveal {
  0%,18% { opacity:1; transform:scale(1); }
  48% { opacity:.88; }
  72% { opacity:.42; }
  100% { opacity:0; transform:scale(1.008); visibility:hidden; }
}
@keyframes rpeCoverBeam {
  0% { opacity:0; transform:translate3d(-32%,0,0) scaleX(.48); }
  18% { opacity:1; }
  58% { opacity:.9; transform:translate3d(4%,0,0) scaleX(.88); }
  100% { opacity:0; transform:translate3d(30%,0,0) scaleX(1.12); }
}
@keyframes rpeCoverCore { 0%{opacity:.95;transform:scaleX(.62)} 65%{opacity:.48;transform:scaleX(1)} 100%{opacity:0;transform:scaleX(1.1)} }
@media (prefers-reduced-motion: reduce) {
  .rpe-page-transition-cover { display:none !important; }
}
