body.login-intro-active{overflow:hidden}
.login-intro{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 50% 46%,rgba(44,117,255,.28),transparent 34%),radial-gradient(circle at 14% 18%,rgba(51,166,255,.16),transparent 28%),linear-gradient(145deg,#02083f 0%,#06146e 52%,#071b91 100%);isolation:isolate;animation:login-intro-screen-out .76s cubic-bezier(.7,0,.2,1) 3.45s both}
.login-intro:before{position:absolute;inset:0;opacity:.26;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent);content:''}
.login-intro:after{position:absolute;inset:auto -15% -48% -15%;height:72%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(29,115,255,.28),transparent 63%);filter:blur(24px);content:''}
.login-intro-ambient{position:absolute;inset:0;z-index:-1}
.login-intro-ambient i{position:absolute;width:7px;height:7px;border:1px solid rgba(185,222,255,.7);border-radius:50%;box-shadow:0 0 22px rgba(77,170,255,.8);animation:login-intro-drift 3.4s ease-in-out infinite alternate}
.login-intro-ambient i:nth-child(1){left:18%;top:27%;animation-delay:-.8s}
.login-intro-ambient i:nth-child(2){right:22%;top:33%;width:4px;height:4px;animation-delay:-1.6s}
.login-intro-ambient i:nth-child(3){right:31%;bottom:24%;width:10px;height:10px;animation-delay:-2.2s}
.login-intro-lockup{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,42px);width:min(880px,88vw);transform:translateY(-2vh)}
.login-intro-horse-run{position:relative;flex:0 0 auto;width:clamp(118px,17vw,205px);transform-origin:center bottom;animation:login-intro-horse-arrive 1.35s cubic-bezier(.12,.72,.19,1) .12s both}
.login-intro-horse-run img{display:block;width:100%;height:auto;filter:brightness(0) invert(1) drop-shadow(0 18px 36px rgba(0,9,62,.38)) drop-shadow(0 0 20px rgba(108,199,255,.3));animation:login-intro-gallop .28s ease-in-out .18s 8 alternate,login-intro-horse-settle .55s cubic-bezier(.16,1,.3,1) 2.4s both}
.login-intro-speed-lines{position:absolute;z-index:-1;right:76%;top:45%;width:min(28vw,330px);height:60px;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(149,210,255,.7) 9px 11px,transparent 12px 18px);filter:blur(.3px);mask-image:linear-gradient(90deg,transparent,black 35%,black);transform:skewX(-18deg);animation:login-intro-speed-lines 1.15s ease-out .15s both}
.login-intro-ground{position:absolute;left:7%;right:3%;bottom:4%;height:2px;overflow:visible;background:linear-gradient(90deg,transparent,rgba(152,216,255,.82) 25%,rgba(152,216,255,.15) 78%,transparent);box-shadow:0 0 14px rgba(82,174,255,.65);transform-origin:left;animation:login-intro-ground .9s ease-out .78s both}
.login-intro-wordmark{display:grid;min-width:0;gap:5px;opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-28px);animation:login-intro-wordmark 1s cubic-bezier(.16,1,.3,1) 1.22s both}
.login-intro-wordmark strong{font:600 clamp(34px,5.3vw,68px) Manrope,Inter,ui-sans-serif,sans-serif;letter-spacing:-.065em;line-height:.94;white-space:nowrap;text-shadow:0 14px 35px rgba(1,4,42,.34)}
.login-intro-wordmark span{padding-left:3px;color:#9bd7ff;font:600 clamp(9px,1.15vw,14px) Manrope,Inter,ui-sans-serif,sans-serif;letter-spacing:.35em;text-transform:uppercase}
.login-intro-progress{position:absolute;z-index:2;left:50%;bottom:clamp(52px,9vh,94px);width:min(410px,72vw);display:grid;gap:11px;opacity:0;transform:translate(-50%,12px);animation:login-intro-progress-in .65s ease 1.92s both}
.login-intro-progress>span{color:rgba(209,233,255,.78);font:600 8px Manrope,Inter,ui-sans-serif,sans-serif;letter-spacing:.22em;text-align:center;text-transform:uppercase}
.login-intro-progress>i{height:2px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.14)}
.login-intro-progress b{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#58bfff,#fff,#58bfff);box-shadow:0 0 16px #5bbfff;transform-origin:left;animation:login-intro-progress-fill 1.35s cubic-bezier(.65,0,.35,1) 2.05s both}
@keyframes login-intro-horse-arrive{0%{opacity:0;transform:translateX(min(-42vw,-420px)) scale(.76)}18%{opacity:1}72%{transform:translateX(12px) scale(1.02)}100%{opacity:1;transform:translateX(0) scale(1)}}
@keyframes login-intro-gallop{from{transform:translateY(3px) rotate(-1.1deg) scaleX(1.015)}to{transform:translateY(-5px) rotate(1deg) scaleX(.99)}}
@keyframes login-intro-horse-settle{from{filter:brightness(0) invert(1) drop-shadow(0 18px 36px rgba(0,9,62,.38)) drop-shadow(0 0 28px rgba(108,199,255,.55))}to{filter:brightness(0) invert(1) drop-shadow(0 18px 36px rgba(0,9,62,.38)) drop-shadow(0 0 17px rgba(108,199,255,.28))}}
@keyframes login-intro-speed-lines{0%{opacity:0;transform:translateX(-80px) skewX(-18deg) scaleX(.45)}24%{opacity:.85}100%{opacity:0;transform:translateX(95px) skewX(-18deg) scaleX(1.1)}}
@keyframes login-intro-ground{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes login-intro-wordmark{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-28px)}100%{opacity:1;clip-path:inset(0 0 0 0);transform:translateX(0)}}
@keyframes login-intro-progress-in{to{opacity:1;transform:translate(-50%,0)}}
@keyframes login-intro-progress-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes login-intro-drift{from{opacity:.18;transform:translateY(-8px) scale(.8)}to{opacity:.7;transform:translateY(9px) scale(1.15)}}
@keyframes login-intro-screen-out{0%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;transform:scale(1.025)}}
.login-intro--particle-exit{animation:login-intro-particle-screen-out .82s cubic-bezier(.55,0,.2,1) 4.08s both}
.login-intro--particle-exit .login-intro-horse-run img{animation:login-intro-gallop .28s ease-in-out .18s 12 alternate,login-intro-horse-settle .5s cubic-bezier(.16,1,.3,1) 3.45s both}
.login-intro--particle-exit .login-intro-lockup{animation:login-intro-lockup-dissolve .72s cubic-bezier(.4,0,.2,1) 3.52s both}
.login-intro--particle-exit .login-intro-progress{animation:login-intro-progress-in .65s ease 1.92s both,login-intro-progress-out .42s ease 3.48s both}
.login-intro-exit-particles{position:absolute;z-index:5;inset:0;overflow:hidden;pointer-events:none}
.login-intro-exit-particles i{position:absolute;left:var(--particle-x);top:var(--particle-y);width:var(--particle-size);height:var(--particle-size);opacity:0;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff,0 0 18px #52c9ff;transform:translate(-50%,-50%) scale(.25);animation:login-intro-particle-scatter .9s cubic-bezier(.12,.72,.25,1) calc(3.42s + var(--particle-delay)) both}
@keyframes login-intro-lockup-dissolve{0%{opacity:1;filter:blur(0);transform:translateY(-2vh) scale(1)}42%{opacity:.88;filter:blur(1px);transform:translateY(-2vh) scale(1.012)}100%{opacity:0;filter:blur(13px);transform:translateY(-2vh) scale(1.08)}}
@keyframes login-intro-progress-out{to{opacity:0;filter:blur(6px);transform:translate(-50%,-8px) scaleX(1.08)}}
@keyframes login-intro-particle-scatter{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}15%{opacity:1}62%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--particle-dx)),calc(-50% + var(--particle-dy))) scale(.05)}}
@keyframes login-intro-particle-screen-out{0%{opacity:1;visibility:visible;filter:saturate(1)}45%{opacity:.78;filter:saturate(1.18) brightness(1.08)}100%{opacity:0;visibility:hidden;filter:saturate(1.25) brightness(1.2);transform:scale(1.03)}}
@media(max-width:560px){
  .login-intro-lockup{gap:14px;width:92vw}
  .login-intro-horse-run{width:104px}
  .login-intro-wordmark strong{font-size:34px}
  .login-intro-wordmark span{font-size:8px;letter-spacing:.25em}
  .login-intro-progress{bottom:11vh;width:68vw}
}
@media(prefers-reduced-motion:reduce){
  .login-intro,.login-intro--particle-exit{animation:login-intro-screen-out .3s ease .55s both}
  .login-intro-horse-run,.login-intro-horse-run img,.login-intro-speed-lines,.login-intro-ground,.login-intro-ambient i{animation:none}
  .login-intro-horse-run{opacity:1;transform:none}
  .login-intro-wordmark{animation:login-intro-wordmark .25s ease .08s both}
  .login-intro-progress{display:none}
  .login-intro-exit-particles{display:none}
}
