/* Two full-height curtains, matching the reference's 700 ms cover and 1000 ms reveal. */
html:is(.ev-transition-leave,.ev-transition-enter)::before,
html:is(.ev-transition-leave,.ev-transition-enter)::after { content:""; position:fixed; top:0; left:0; width:100%; height:100%; pointer-events:auto; transform-origin:top; }
html:is(.ev-transition-leave,.ev-transition-enter)::before { z-index:2147483647; background:#1a1a1a; }
html:is(.ev-transition-leave,.ev-transition-enter)::after { z-index:2147483646; background:#fff; }
html.ev-transition-leave::before,html.ev-transition-leave::after { animation:ev-cover 700ms cubic-bezier(.76,0,.24,1) both; }
html.ev-transition-leave body::before { content:""; position:fixed; inset:0; z-index:2147483645; background:#000; pointer-events:auto; animation:ev-backdrop 700ms cubic-bezier(.65,0,.35,1) both; }
html.ev-transition-leave main { animation:ev-main-leave 700ms cubic-bezier(.65,0,.35,1) both; }
html.ev-transition-enter::before,html.ev-transition-enter::after { pointer-events:none; }
html.ev-transition-enter-active::before { animation:ev-reveal 700ms cubic-bezier(.76,0,.24,1) both,ev-fade 500ms 500ms linear both; }
html.ev-transition-enter-active::after { animation:ev-fade 500ms 500ms linear both; }
@keyframes ev-cover { from { height:0; } to { height:100%; } }
@keyframes ev-backdrop { from { opacity:0; } to { opacity:.33; } }
@keyframes ev-main-leave { from { transform:translateY(0); filter:blur(0); } to { transform:translateY(20vw); filter:blur(15px); } }
@keyframes ev-reveal { from { transform:translateY(0); } to { transform:translateY(100%); } }
@keyframes ev-fade { from { opacity:1; } to { opacity:0; } }
@media(prefers-reduced-motion:reduce),(forced-colors:active) {
  html:is(.ev-transition-leave,.ev-transition-enter)::before,html:is(.ev-transition-leave,.ev-transition-enter)::after,html.ev-transition-leave body::before { display:none; }
  html.ev-transition-leave main { animation:none; }
}
