.site-loading[hidden]{display:none!important}
.site-loading{position:fixed;inset:0;z-index:10000;pointer-events:none;opacity:0;transition:opacity .24s ease;overflow:hidden}
.site-loading.is-active{opacity:1}
.site-loading::before{content:"";position:absolute;inset:-76px 0 auto;height:150px;background:radial-gradient(ellipse at 46% 50%,rgba(255,111,111,.38),transparent 62%),radial-gradient(ellipse at 68% 50%,rgba(151,163,255,.22),transparent 58%);opacity:.65;transform-origin:50% 0;animation:edge-glow 1.4s ease-in-out infinite alternate}
.site-loading::after{content:"";position:absolute;top:0;left:0;width:42%;height:2px;background:linear-gradient(90deg,transparent 0%,#ff6f6f 35%,#ffe3de 55%,#acb8ff 75%,transparent 100%);box-shadow:0 0 16px #ff6f6f70;animation:edge-sweep 1.15s cubic-bezier(.4,0,.2,1) infinite}
.site-loading-description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.page-entering body{animation:page-in .3s cubic-bezier(.16,1,.3,1) both}
@keyframes edge-sweep{from{transform:translateX(-90%);opacity:.3}20%{opacity:1}80%{opacity:1}to{transform:translateX(330%);opacity:.3}}
@keyframes edge-glow{from{opacity:.45;transform:scaleX(.8)}to{opacity:.85;transform:scaleX(1.12)}}
@keyframes page-in{from{opacity:.88;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.site-loading{transition:none}.site-loading::before,.site-loading::after,.page-entering body{animation:none!important}.site-loading::after{left:20%;width:60%;opacity:.7}.site-loading::before{opacity:.4}}
