.site-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:none;background:rgba(245,249,247,.58);backdrop-filter:blur(3px)}
.site-loader[hidden]{display:none}.site-loader.is-initial{background:#f4f7f5}
.loader-card{display:grid;justify-items:center;gap:22px;padding:32px 42px;border:1px solid #dce9e2;border-radius:24px;background:#ffffffed;box-shadow:0 20px 65px #164c3020;min-width:210px;animation:loader-appear .2s ease-out}
.loader-orbit{position:relative;width:76px;height:76px;display:grid;place-items:center}
.loader-orbit:before,.loader-orbit:after{content:'';position:absolute;inset:0;border:2px solid #e4efe9;border-top-color:#176e56;border-right-color:#6bab90;border-radius:50%;animation:loader-spin 1.2s linear infinite}
.loader-orbit:after{inset:8px;border-top-color:transparent;border-bottom-color:#94c9ad;animation-direction:reverse;animation-duration:1.8s}
.loader-mark{display:grid;grid-template-columns:repeat(2,10px);gap:4px;transform:rotate(-8deg)}
.loader-mark i{width:10px;height:10px;border-radius:3px;background:#176e56;animation:loader-breathe 1.2s ease-in-out infinite alternate}.loader-mark i:nth-child(2){animation-delay:.15s}.loader-mark i:nth-child(3){animation-delay:.3s}.loader-mark i:nth-child(4){animation-delay:.45s}
.loader-card strong{font-size:15px;font-weight:600;color:#000;max-width:240px;text-align:center}.loader-track{height:3px;width:110px;background:#e5eee9;border-radius:3px;overflow:hidden}.loader-track:after{content:'';display:block;width:45%;height:100%;background:#176e56;border-radius:inherit;animation:loader-slide 1.4s ease-in-out infinite}
[data-theme=dark] .site-loader{background:#101b17aa}[data-theme=dark] .site-loader.is-initial{background:#101b17}[data-theme=dark] .loader-card{background:#192820f5;border-color:#355041}[data-theme=dark] .loader-card strong{color:#f2f7f4}
@keyframes loader-spin{to{transform:rotate(360deg)}}@keyframes loader-breathe{to{opacity:.35;transform:scale(.75)}}@keyframes loader-slide{from{transform:translateX(-110%)}to{transform:translateX(330%)}}@keyframes loader-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.loader-card,.loader-orbit:before,.loader-orbit:after,.loader-mark i,.loader-track:after{animation:none}}
