/* A separate 3D parent lets the arrival settle into the existing scroll motion. */
.card-entry{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.card-entry-aura{position:absolute;inset:-55%;border-radius:50%;background:radial-gradient(ellipse,#caff9c55,transparent 65%);opacity:0;pointer-events:none;transform:translateZ(-80px)}
.card-face::after{content:'';position:absolute;inset:-60%;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#e4ffd81a 43%,#f6ffe6a6 48%,#d0ff9c40 52%,transparent 60%);transform:translateX(-90%);opacity:0}
.stage[data-card-entry=waiting] .card-entry{visibility:hidden}
.stage[data-card-entry=waiting] .card-shadow{opacity:0!important}
.stage[data-card-entry=running] .card-entry{animation:pmf-card-arrive 2.6s cubic-bezier(.16,.65,.2,1) both;will-change:transform}
.stage[data-card-entry=running] .card-entry-aura{animation:pmf-card-aura 2.6s ease-out both}
.stage[data-card-entry=running] .card-face::after{animation:pmf-card-glint 1.05s ease-in-out 1.5s both}
.stage[data-card-entry=running] .card-shadow{animation:pmf-card-ground 2.6s ease-out both}
@keyframes pmf-card-arrive{
  from{transform:translate3d(0,85px,-280px) rotateY(-360deg) rotateZ(-28deg) scale(.08)}
  to{transform:translate3d(0,0,0) rotateY(0deg) rotateZ(0deg) scale(1)}
}
@keyframes pmf-card-aura{
  0%{opacity:0;transform:translateZ(-80px) scale(.45)}
  35%{opacity:.85}
  65%{opacity:.5}
  100%{opacity:0;transform:translateZ(-80px) scale(1.25)}
}
@keyframes pmf-card-glint{
  0%{opacity:0;transform:translateX(-85%)}
  18%{opacity:.9}
  75%{opacity:.75}
  100%{opacity:0;transform:translateX(85%)}
}
@keyframes pmf-card-ground{
  0%{opacity:0;scale:.45}
  100%{opacity:.6;scale:1}
}
[data-theme=light] .card-entry-aura{background:radial-gradient(ellipse,#86c95b66,transparent 65%)}
@media(prefers-reduced-motion:reduce){
  .stage[data-card-entry] .card-entry{animation:none;visibility:visible}
  .card-entry-aura,.card-face::after{display:none}
}
.motion-paused .stage[data-card-entry] .card-entry{visibility:visible}
.motion-paused .card-entry-aura,.motion-paused .card-face::after{display:none}
