.brand-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.brand-preview--splash img{max-height:78px}
.auth-splash{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;overflow:hidden;background:#070809;animation:auth-splash-exit .65s ease 1.85s forwards}
.auth-splash.is-scripted{animation:none;opacity:1}.auth-splash.is-leaving{pointer-events:none}.auth-splash.is-scripted .auth-splash__brand{opacity:0;transform:scale(.72) translateY(18px)}.auth-splash.is-scripted.is-active .auth-splash__brand{opacity:1;transform:scale(1) translateY(0);transition:opacity .85s ease,transform 1.15s cubic-bezier(.16,1,.3,1)}
.auth-splash::before{content:'';position:absolute;inset:-25%;background:radial-gradient(circle,rgba(233,185,79,.16),transparent 38%);animation:auth-splash-breathe 1.8s ease-in-out both}
.auth-splash__halo{position:absolute;width:min(54vw,420px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);border-radius:50%;box-shadow:0 0 70px color-mix(in srgb,var(--gold) 18%,transparent),inset 0 0 70px color-mix(in srgb,var(--gold) 8%,transparent);animation:auth-splash-halo 1.8s cubic-bezier(.2,.8,.2,1) both}
.auth-splash__brand{position:relative;z-index:2;display:grid;place-items:center;gap:25px}.auth-splash img{display:block;width:auto;height:auto;max-width:min(58vw,360px);max-height:min(34vh,220px);object-fit:contain;filter:drop-shadow(0 16px 32px rgba(0,0,0,.55));animation:auth-splash-logo 1.8s cubic-bezier(.2,.75,.2,1) both}.auth-splash__brand small{color:color-mix(in srgb,var(--gold) 82%,white);font-size:.62rem;font-weight:700;letter-spacing:.32em;animation:auth-splash-status 1.15s ease-in-out infinite alternate}.auth-splash__ai{position:absolute;width:min(72vw,560px);aspect-ratio:1}.auth-splash__ai i{position:absolute;inset:0;border:1px dashed color-mix(in srgb,var(--gold) 30%,transparent);border-radius:50%;animation:auth-ai-spin 8s linear infinite}.auth-splash__ai i:nth-child(2){inset:13%;border-style:solid;border-color:color-mix(in srgb,var(--gold) 18%,transparent);animation-direction:reverse;animation-duration:5s}.auth-splash__ai i:nth-child(3){inset:27%;border-style:dotted;animation-duration:3s}.auth-splash__ai span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px var(--gold);animation:auth-ai-node 1.4s ease-in-out infinite alternate}.auth-splash__ai span:nth-of-type(1){left:10%;top:28%}.auth-splash__ai span:nth-of-type(2){right:14%;top:24%;animation-delay:.35s}.auth-splash__ai span:nth-of-type(3){left:49%;bottom:4%;animation-delay:.7s}
@keyframes auth-splash-logo{0%{opacity:0;transform:scale(.68) translateY(18px);filter:blur(14px) drop-shadow(0 16px 32px rgba(0,0,0,.55))}48%{opacity:1;transform:scale(1.05);filter:blur(0) drop-shadow(0 16px 32px rgba(0,0,0,.55))}100%{opacity:1;transform:scale(1)}}
@keyframes auth-splash-halo{0%{opacity:0;transform:scale(.45)}55%{opacity:1}100%{opacity:.45;transform:scale(1.16)}}
@keyframes auth-splash-breathe{0%{opacity:0;transform:scale(.8)}60%{opacity:1}100%{opacity:.65;transform:scale(1.08)}}
@keyframes auth-splash-exit{to{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes auth-ai-spin{to{transform:rotate(360deg)}}
@keyframes auth-ai-node{from{opacity:.25;transform:scale(.65)}to{opacity:1;transform:scale(1.35)}}
@keyframes auth-splash-status{from{opacity:.4}to{opacity:1;text-shadow:0 0 14px var(--gold)}}
.auth-splash__particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.auth-splash__particle{position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);border-radius:50%;background:var(--gold);opacity:0;box-shadow:0 0 12px var(--gold),0 0 26px color-mix(in srgb,var(--gold) 55%,transparent);transform:rotate(var(--angle)) translateX(0) scale(.2)}.auth-splash.is-active .auth-splash__particle{animation:auth-gold-burst var(--speed) cubic-bezier(.12,.7,.2,1) var(--delay) both}@keyframes auth-gold-burst{0%{opacity:0;transform:rotate(var(--angle)) translateX(25px) scale(.2)}22%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(var(--distance)) scale(1)}}
@media(max-width:900px){.brand-upload-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.brand-upload-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.auth-splash,.auth-splash::before,.auth-splash__halo,.auth-splash img,.auth-splash__ai i,.auth-splash__ai span,.auth-splash__brand small{animation-duration:.01ms}.auth-splash{animation-delay:.35s}}
