/* Uses the existing loading lifetime: never holds the editor for an intro. */
#pfBootLoading{background:radial-gradient(ellipse at 50% 38%,#173c47 0,#0d222b 45%,#08171e 100%);color:#e7fbfa;overflow:hidden}
#pfBootLoading .pf-loading-content{position:relative;width:min(410px,calc(100vw - 40px))}
#pfBootLoading .pf-loading-content:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse,#21c3ca22,transparent 65%);transform:scale(1.8)}
#pfBootLoading .pf-loading-logo{position:relative;filter:brightness(1.6);margin-bottom:20px}
#pfBootLoading h2{color:#e2f9f7;font-weight:500;letter-spacing:.02em}#pfBootLoading p{color:#a0bfc1}
.pf-entry-cube{display:block;width:105px;height:115px;margin:0 auto 22px;fill:none;stroke:#60e3df;stroke-width:1.3;stroke-linejoin:round;filter:drop-shadow(0 0 9px #1ec6c470)}
.pf-entry-cube .pf-cube-edge{stroke-dasharray:260;animation:pf-cube-trace 2s ease-in-out infinite alternate}.pf-entry-cube .pf-cube-guide{stroke:#9cbfc3;stroke-dasharray:2 6;opacity:.35}
#pfBootLoading .pf-loading-track{background:#24434d}#pfBootLoading .pf-loading-track:after{background:#60e3df}
body.pf-entry-ready>header{animation:pf-entry-header .5s ease-out both}body.pf-entry-ready #stage{animation:pf-entry-stage .6s ease-out both}
@keyframes pf-cube-trace{from{stroke-dashoffset:260;opacity:.3}to{stroke-dashoffset:0;opacity:1}}
@keyframes pf-entry-header{from{opacity:.4;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes pf-entry-stage{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.pf-entry-cube .pf-cube-edge,body.pf-entry-ready>header,body.pf-entry-ready #stage{animation:none}}
