/* Lightweight vector splash: shared Husky POS mascot, clear on every viewport. */
#loadingScreen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#112946 0,#0b1a2d 44%,#071326 100%);color:#edf7ff;opacity:1;visibility:visible;transition:opacity .7s ease,visibility .7s ease}
#loadingScreen[hidden],html.skip-splash #loadingScreen{display:none}
#loadingScreen.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
#loadingScreen .loading-content{transition:transform .7s cubic-bezier(.4,0,.2,1),opacity .7s ease}
#loadingScreen.is-leaving .loading-content{opacity:0;transform:scale(1.04)}
.loading-content{width:min(90vw,380px);display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px;text-align:center}
.loading-logo-wrap{position:relative;width:clamp(142px,42vw,220px);aspect-ratio:1;display:grid;place-items:center;isolation:isolate;animation:logo-in .9s cubic-bezier(.2,.8,.2,1) both}
.loading-logo-wrap::before{content:"";position:absolute;inset:13%;z-index:-1;border-radius:50%;background:rgba(63,170,225,.18);filter:blur(28px);animation:logo-aura 4.2s ease-in-out .9s infinite}
.loading-logo{width:88%;height:88%;overflow:visible;filter:drop-shadow(0 12px 22px rgba(0,0,0,.34));animation:logo-float 4.2s ease-in-out .9s infinite}
.husky-shell{transform-origin:100px 100px}
.husky-eye{transform-box:fill-box;transform-origin:center;animation:husky-blink 4s ease-in-out infinite}
.husky-eye:nth-of-type(even){animation-delay:.08s}
.loading-orbit{position:absolute;inset:1%;border:1px solid rgba(130,210,255,.16);border-radius:50%;animation:ring-in 1s ease .2s both;pointer-events:none}
.loading-orbit::before,.loading-orbit::after{content:"";position:absolute;inset:11%;border:1px solid rgba(130,210,255,.09);border-radius:50%}
.loading-orbit i{display:none;position:absolute;width:7px;height:7px;top:8%;left:50%;border-radius:50%;background:#8ae1ff;box-shadow:0 0 12px #5fc7ff}
.loading-orbit i:nth-child(2){top:auto;left:9%;bottom:27%;width:5px;height:5px;opacity:.7}
.loading-orbit i:nth-child(3){top:30%;left:auto;right:4%;width:4px;height:4px;opacity:.55}
.loading-brand{animation:text-in .6s ease .35s both;margin:0;font-size:clamp(20px,5vw,27px);font-weight:750;letter-spacing:.16em;text-shadow:0 2px 18px rgba(64,177,235,.25)}
.loading-brand span{color:#75d5ff}
.loading-caption{animation:text-in .6s ease .5s both;margin:-8px 0 0;color:#a9c1d8;font-size:13px;letter-spacing:.02em}
.loading-progress{animation:text-in .6s ease .6s both;width:min(58vw,190px);height:5px;margin-top:4px;overflow:hidden;border-radius:99px;background:rgba(180,220,250,.13);box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}
.loading-progress span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4ba9df,#a0e9ff);transform:scaleX(0);transform-origin:left center;box-shadow:0 0 12px rgba(105,210,255,.65);animation:loading-progress 1.2s cubic-bezier(.4,0,.2,1) .2s forwards}
@keyframes logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes logo-aura{0%,100%{opacity:.48;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes husky-blink{0%,46%,52%,100%{transform:scaleY(1)}49%,50%{transform:scaleY(.08)}}
@keyframes loading-progress{to{transform:scaleX(1)}}
@keyframes logo-in{from{opacity:0;transform:scale(.84) translateY(12px)}to{opacity:1;transform:none}}
@keyframes text-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ring-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@media(max-width:380px){.loading-content{gap:12px}.loading-logo-wrap{width:clamp(132px,40vw,168px)}.loading-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){#loadingScreen,#loadingScreen .loading-content{transition:none}.loading-logo,.loading-logo-wrap,.loading-logo-wrap::before,.loading-orbit,.loading-brand,.loading-caption,.loading-progress,.husky-eye,.loading-progress span{animation:none!important}.loading-progress span{transform:scaleX(1)}}
