
.network-loader{--loader-fade:550ms;position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;touch-action:none;animation:nl-release 0s calc(8000ms + var(--loader-fade)) forwards}
.network-loader .nl-dim,.network-loader .nl-glass{position:absolute;inset:0;pointer-events:none}
.network-loader .nl-dim{z-index:0;background:rgb(0 0 0 / 60%)}
.network-loader .nl-glass{z-index:1;background:rgb(6 16 12 / 8%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.network-loader .nl-stage{position:relative;z-index:2;display:grid;place-items:center;width:min(360px,calc((100vw - 48px)/1.3),calc((100vh - 48px)/1.3));width:min(360px,calc((100vw - 48px)/1.3),calc((100svh - 48px)/1.3))}
.network-loader .nl-dim,.network-loader .nl-glass,.network-loader .nl-stage{opacity:1;transition:opacity var(--loader-fade) cubic-bezier(.2,.7,.2,1);animation:nl-fade var(--loader-fade) 8000ms cubic-bezier(.2,.7,.2,1) forwards}
.network-loader .nl-mark{width:100%;transform-origin:center;animation:nl-turn 4.4s linear infinite;will-change:transform;filter:drop-shadow(0 0 12px #12ff0066)}
.network-loader .nl-symbol{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none;animation:nl-breath 4.4s ease-in-out infinite}
.network-loader.is-leaving{animation:none}
.network-loader.is-leaving .nl-dim,.network-loader.is-leaving .nl-glass,.network-loader.is-leaving .nl-stage{opacity:0;animation:none}
.network-loader .nl-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes nl-turn{0%{transform:perspective(800px) rotateX(12deg) rotateZ(0deg)}100%{transform:perspective(800px) rotateX(12deg) rotateZ(360deg)}}
@keyframes nl-breath{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
@keyframes nl-fade{to{opacity:0}}
@keyframes nl-release{to{visibility:hidden;pointer-events:none}}
@media (max-width:650px){.network-loader .nl-stage{width:min(260px,calc((100vw - 48px)/1.3),calc((100vh - 48px)/1.3));width:min(260px,calc((100vw - 48px)/1.3),calc((100svh - 48px)/1.3))}}
@media (prefers-reduced-motion:reduce){.network-loader{--loader-fade:200ms}.network-loader .nl-mark,.network-loader .nl-symbol{animation:none!important;transform:none!important;will-change:auto}.network-loader .nl-symbol{filter:none!important}}
