
html.gwen-transition-await::after{content:"";position:fixed;inset:0;background:#10142d;z-index:100000}
.gwen-page-transition{position:fixed;inset:0;z-index:100001;pointer-events:none;visibility:hidden;overflow:hidden}
.gwen-page-transition.is-departing,.gwen-page-transition.is-arriving{visibility:visible;pointer-events:auto}
.gwen-transition-curtain{position:absolute;top:0;bottom:0;width:51%;background:radial-gradient(ellipse at 50% 40%,#253b61,#111329 65%),repeating-linear-gradient(45deg,#86cfff11 0 1px,transparent 1px 7px);box-shadow:0 0 45px #080915;border:1px solid #8bb9e944}
.curtain-left{left:0;transform:translateX(-105%)}
.curtain-right{right:0;transform:translateX(105%);background:radial-gradient(ellipse at 50% 40%,#342952,#101329 65%)}
.is-departing .curtain-left{animation:gwenCurtainCloseLeft .8s cubic-bezier(.5,0,.3,1) both}
.is-departing .curtain-right{animation:gwenCurtainCloseRight .8s cubic-bezier(.5,0,.3,1) both}
.is-arriving .curtain-left{animation:gwenCurtainOpenLeft .9s cubic-bezier(.22,.7,.25,1) both}
.is-arriving .curtain-right{animation:gwenCurtainOpenRight .9s cubic-bezier(.22,.7,.25,1) both}
.gwen-transition-seam{position:absolute;left:0;right:0;top:50%;height:1px;background:repeating-linear-gradient(90deg,#8ae8ff 0 6px,transparent 6px 12px);box-shadow:0 0 12px #5ddcff;opacity:0;transform-origin:left}
.is-departing .gwen-transition-seam{animation:gwenTransitionThread .8s ease-in-out both}
.gwen-transition-scissors{position:absolute;left:-70px;top:calc(50% - 35px);width:55px;height:75px;transform:rotate(90deg);filter:drop-shadow(0 0 12px #5ddcff);opacity:0}
.is-departing .gwen-transition-scissors{animation:gwenTransitionCut .8s ease-in-out both}
.transition-blade{transform-origin:50px 85px}
.is-departing .blade-a{animation:gwenTransitionBlade .18s ease-in-out 4 alternate}
.is-departing .blade-b{animation:gwenTransitionBlade .18s ease-in-out 4 alternate-reverse}
.gwen-transition-mark{position:absolute;left:0;right:0;top:58%;text-align:center;font:600 20px var(--serif);letter-spacing:.18em;color:#c9ecff;text-shadow:0 0 15px #5ddcff66;opacity:0}
.gwen-transition-mark span{display:block;margin-top:12px;font:600 8px var(--sans);letter-spacing:.25em;color:#acabd6}
.is-departing .gwen-transition-mark{animation:gwenTransitionMark .8s ease both}
.is-arriving .gwen-transition-mark{animation:gwenTransitionMarkExit .4s ease both}
@keyframes gwenCurtainCloseLeft{0%,25%{transform:translateX(-105%)}100%{transform:none}}
@keyframes gwenCurtainCloseRight{0%,25%{transform:translateX(105%)}100%{transform:none}}
@keyframes gwenCurtainOpenLeft{0%,15%{transform:none}100%{transform:translateX(-105%)}}
@keyframes gwenCurtainOpenRight{0%,15%{transform:none}100%{transform:translateX(105%)}}
@keyframes gwenTransitionCut{0%{left:-70px;opacity:0}10%{opacity:1}85%{opacity:1}100%{left:105%;opacity:0}}
@keyframes gwenTransitionThread{0%{opacity:0;transform:scaleX(0)}25%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1)}}
@keyframes gwenTransitionBlade{to{transform:rotate(12deg)}}
@keyframes gwenTransitionMark{0%,65%{opacity:0}100%{opacity:1}}
@keyframes gwenTransitionMarkExit{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.gwen-page-transition,html.gwen-transition-await::after{display:none!important}}
