:root{
  --ts-preloader-bg:#07111f;
  --ts-preloader-accent:#2f80ff;
  --ts-preloader-accent2:#63b3ff;
}
.ts-preloader{
  position:fixed;inset:0;z-index:2147483647;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(47,128,255,.16),transparent 28%),
    linear-gradient(145deg,#030812 0%,var(--ts-preloader-bg) 55%,#02050b 100%);
  color:#fff;opacity:1;visibility:visible;
  transition:opacity .55s ease,visibility .55s ease;
  overflow:hidden;
}
.ts-preloader:before,.ts-preloader:after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;
  border:1px solid rgba(99,179,255,.10);
}
.ts-preloader:before{width:430px;height:430px;animation:ts-pulse 2.2s ease-in-out infinite;}
.ts-preloader:after{width:650px;height:650px;animation:ts-pulse 2.2s .4s ease-in-out infinite;}
.ts-preloader-hide{opacity:0;visibility:hidden;pointer-events:none;}
.ts-preloader-orb{
  width:92px;height:92px;border-radius:28px;position:relative;
  display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(47,128,255,.25),rgba(10,25,48,.9));
  border:1px solid rgba(99,179,255,.45);
  box-shadow:0 0 35px rgba(47,128,255,.30),inset 0 0 25px rgba(99,179,255,.10);
  animation:ts-float 1.8s ease-in-out infinite;
}
.ts-preloader-logo{
  font:800 25px/1 Arial,sans-serif;letter-spacing:-1px;
  text-shadow:0 0 18px rgba(99,179,255,.85);
}
.ts-preloader-ring{
  position:absolute;inset:-9px;border-radius:35px;
  border:2px solid transparent;border-top-color:var(--ts-preloader-accent2);
  border-right-color:rgba(99,179,255,.45);
  animation:ts-spin .9s linear infinite;
}
.ts-preloader-brand{
  margin-top:22px;font:800 25px/1.1 Arial,sans-serif;letter-spacing:.2px;
  text-shadow:0 0 20px rgba(47,128,255,.35);
}
.ts-preloader-line{
  width:145px;height:3px;margin-top:18px;border-radius:99px;
  background:rgba(255,255,255,.10);overflow:hidden;
}
.ts-preloader-line span{
  display:block;width:48%;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,transparent,var(--ts-preloader-accent2),transparent);
  animation:ts-load 1.15s ease-in-out infinite;
}
.ts-preloader-text{
  margin-top:10px;font:500 12px/1 Arial,sans-serif;letter-spacing:2px;
  text-transform:uppercase;color:rgba(255,255,255,.55);
}
@keyframes ts-spin{to{transform:rotate(360deg)}}
@keyframes ts-load{0%{transform:translateX(-140%)}100%{transform:translateX(310%)}}
@keyframes ts-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes ts-pulse{0%,100%{transform:scale(.92);opacity:.35}50%{transform:scale(1.04);opacity:.08}}
@media(max-width:600px){
  .ts-preloader-orb{width:82px;height:82px;border-radius:25px}
  .ts-preloader-brand{font-size:22px}
  .ts-preloader-line{width:130px}
}
@media(prefers-reduced-motion:reduce){
  .ts-preloader-orb,.ts-preloader-ring,.ts-preloader-line span,.ts-preloader:before,.ts-preloader:after{animation:none}
  .ts-preloader{transition:none}
}
