/* Original multicolour implementation inspired by Aaron Iker's 3D Boxes Loader.
   Reference: https://codepen.io/aaroniker/pen/MWgRBdV */
.entry-loader{position:fixed;inset:0;z-index:9999;background:var(--bg,#f6f7f3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--ink,#1f302e);font:14px 'Segoe UI',sans-serif;transition:opacity .28s,visibility .28s}
.entry-loader.leaving{opacity:0;visibility:hidden;pointer-events:none}.entry-loader[hidden]{display:none}.entry-loader strong{font-size:21px;letter-spacing:-.5px}.entry-loader p{font-size:12px;color:var(--muted,#687970)}.entry-loader button{background:transparent;color:inherit;border:1px solid currentColor;border-radius:8px;padding:10px 16px;cursor:pointer}
.cube-stage{width:240px;height:195px;position:relative;isolation:isolate}.cube-stage:after{content:'';position:absolute;left:58px;top:158px;width:130px;height:18px;border-radius:50%;background:#15283c20;filter:blur(9px);animation:cube-shadow 2.8s ease-in-out infinite}
.load-box{position:absolute;left:var(--x);top:var(--y);width:33px;height:33px;animation:cube-gather 2.8s cubic-bezier(.4,0,.2,1) infinite;animation-delay:var(--delay);z-index:var(--depth)}
.load-box>i{display:block;width:33px;height:33px;background:var(--cube);position:relative;transform:rotateX(-28deg) rotateY(-40deg);transform-style:preserve-3d}
.load-box>i:before,.load-box>i:after{content:'';position:absolute;inset:0;background:var(--cube);backface-visibility:hidden}.load-box>i:before{transform-origin:top;transform:rotateX(90deg);filter:brightness(1.28)}.load-box>i:after{transform-origin:right;transform:rotateY(90deg);filter:brightness(.72)}
@keyframes cube-gather{0%,8%,100%{transform:translate(var(--from-x),var(--from-y)) scale(.35);opacity:0}28%,62%{transform:translate(0,0) scale(1);opacity:1}78%{transform:translate(0,-15px) scale(1);opacity:1}93%{transform:translate(0,72px) scale(.6);opacity:0}}
@keyframes cube-shadow{0%,100%{transform:scale(.4);opacity:.2}45%,75%{transform:scale(1);opacity:.65}}
@media(prefers-reduced-motion:reduce){.load-box,.cube-stage:after{animation:none}.load-box{transform:none;opacity:1}.entry-loader{transition:none}}
