.ls{--ls-green: #00ff88;--ls-green-dim: #00cc6a;--ls-grid: rgba(0, 255, 136, .16);--ls-text: rgba(255, 255, 255, .92);--ls-muted: rgba(255, 255, 255, .45);--ls-diameter: clamp(150px, 42vw, 188px);position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--ls-text);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 50% 118%,rgba(0,255,136,.12),transparent 55%),radial-gradient(circle at 50% -10%,rgba(60,130,220,.1),transparent 45%),linear-gradient(165deg,#0a1526,#070d1a 55%,#05090f);transition:opacity .52s ease,transform .52s ease}.ls.is-revealing{opacity:0;transform:scale(1.03);pointer-events:none}.ls__stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 12% 22%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 26% 68%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 82% 30%,rgba(255,255,255,.65),transparent),radial-gradient(1px 1px at 68% 80%,rgba(0,255,136,.55),transparent),radial-gradient(1px 1px at 91% 62%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 46% 14%,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 8% 84%,rgba(120,200,255,.5),transparent),radial-gradient(1px 1px at 58% 44%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 34% 90%,rgba(255,255,255,.45),transparent),radial-gradient(1.5px 1.5px at 74% 8%,rgba(0,255,136,.4),transparent);opacity:.7}.ls__stars:after{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 18% 46%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 88% 82%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 52% 76%,rgba(0,255,136,.6),transparent),radial-gradient(1px 1px at 38% 34%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 64% 24%,rgba(255,255,255,.6),transparent);animation:lsTwinkle 3.4s ease-in-out infinite}.ls__center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:24px;max-width:340px}.ls__globe{position:relative;width:var(--ls-diameter);height:var(--ls-diameter);display:flex;align-items:center;justify-content:center;margin-bottom:26px;animation:lsEnter .6s cubic-bezier(.22,1,.36,1) backwards,lsFloat 5.5s ease-in-out 1s infinite alternate}.ls__center h1{animation:lsEnter .6s cubic-bezier(.22,1,.36,1) .12s backwards}.ls__tagline{animation:lsEnter .6s cubic-bezier(.22,1,.36,1) .22s backwards}.ls__timeline,.ls__error{animation:lsEnter .6s cubic-bezier(.22,1,.36,1) .32s backwards}.ls--seamless .ls__globe{animation:lsFloat 5.5s ease-in-out 1s infinite alternate}.ls--seamless .ls__center h1,.ls--seamless .ls__tagline,.ls--seamless .ls__timeline,.ls--seamless .ls__error{animation:none}.ls__atmosphere{position:absolute;width:132%;height:132%;border-radius:50%;background:radial-gradient(circle,rgba(0,255,136,.26) 0%,rgba(0,255,136,.06) 46%,transparent 70%);filter:blur(3px);animation:lsBreathe 3.6s ease-in-out infinite}.ls__sphere{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 36% 26%,#153152,#0c2038 46%,#071324);box-shadow:inset 0 0 26px 2px #00ff881f,inset -14px -18px 44px #0000008c,0 0 60px #00ff8826,0 0 0 1px #00ff883d;transition:box-shadow .48s ease}.ls.is-complete .ls__sphere{box-shadow:inset 0 0 26px 2px #0f83,inset -14px -18px 44px #0006,0 0 96px #00ff8873,0 0 0 1px #00ff8880}.ls__gloss{position:absolute;top:8%;left:16%;width:42%;height:30%;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.16),transparent 70%);pointer-events:none}.ls__meridian,.ls__parallel{position:absolute;border:1px solid var(--ls-grid);border-radius:50%;box-sizing:border-box}.ls__meridian{top:0;left:50%;height:100%;transform:translate(-50%)}.ls__parallel{left:0;top:50%;width:100%;transform:translateY(-50%)}.ls__fluid{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#1cffa0,#06c98a 16%,#078779,#065a6f,#063f5c);box-shadow:0 -2px 20px #00ff8847;transition:height .64s cubic-bezier(.42,.6,.3,1)}.ls__fluid:before{content:"";position:absolute;inset:0;background:radial-gradient(62% 46% at 32% 30%,rgba(255,255,255,.14),transparent 72%);pointer-events:none}.ls__bubble{position:absolute;bottom:6%;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffffffe6,#ffffff1f 72%);opacity:0;animation:lsBubble linear infinite}.ls__wave{position:absolute;left:50%;width:calc(var(--ls-diameter) * 2.2);height:calc(var(--ls-diameter) * 2.2);margin-left:calc(var(--ls-diameter) * -1.1);bottom:calc(100% - var(--ls-diameter) * 2.14);animation:lsWave 8s linear infinite}.ls__wave--back{background:#06697b;opacity:.65;border-radius:45% 47% 42% 44%;animation-duration:11s;animation-direction:reverse}.ls__wave--front{background:linear-gradient(180deg,#4dffb0,#08d089 20%,#067d7c 58%,#065a6f);border-radius:47% 43% 46% 42%;animation-duration:7.5s}.ls__tagline{margin:6px 0 0;font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--ls-green);opacity:.75}.ls__timeline{position:relative;margin-top:32px}.ls__steps{list-style:none;margin:0;padding:0 0 0 26px;display:flex;flex-direction:column;gap:16px;width:250px}.ls__spine{position:absolute;left:7px;top:4px;bottom:4px;width:2px;border-radius:2px;background:#ffffff1a;overflow:hidden}.ls__spine-fill{position:absolute;left:0;top:0;width:100%;background:linear-gradient(180deg,var(--ls-green),var(--ls-green-dim));box-shadow:0 0 8px #0f89;transition:height .42s ease}.ls__step{position:relative;display:flex;align-items:center;gap:14px;font-size:15px}.ls__step-mark{position:absolute;left:-26px;width:16px;height:16px;border-radius:50%;box-sizing:border-box;background:#0a1424;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}.ls__step[data-status=active] .ls__step-mark{border-color:var(--ls-green);box-shadow:0 0 0 4px #00ff881f;animation:lsPulse 1.4s ease-in-out infinite}.ls__step[data-status=done] .ls__step-mark{border-color:var(--ls-green);background:var(--ls-green);box-shadow:0 0 10px #00ff8880}.ls__check{width:4px;height:8px;border:solid #06231a;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.ls__step-label{color:var(--ls-muted);transition:color .3s ease}.ls__step[data-status=active] .ls__step-label{color:var(--ls-text)}.ls__step[data-status=done] .ls__step-label{color:#ffffffb8}.ls__error{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:300px;text-align:center}.ls__error-badge{width:38px;height:38px;margin-bottom:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#ffd0d0;background:#ff5a5a1f;border:1px solid rgba(255,90,90,.4)}.ls__error-title{margin:0;font-size:16px;font-weight:600;color:#fffffff2}.ls__error-message{margin:0;font-size:13px;line-height:1.5;color:var(--ls-muted)}.ls__retry{margin-top:10px;padding:11px 26px;border-radius:10px;border:1px solid rgba(0,255,136,.45);background:#00ff8824;color:var(--ls-green);font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .12s ease}.ls__retry:hover{background:#00ff8838;box-shadow:0 0 18px #00ff8859}.ls__retry:active{transform:translateY(1px)}.ls__retry:focus-visible{outline:2px solid var(--ls-green);outline-offset:2px}@media (max-width: 480px){.ls__center{padding:20px}.ls__steps{width:220px}}@media (prefers-reduced-motion: reduce){.ls,.ls__stars:after,.ls__atmosphere,.ls__wave,.ls__bubble,.ls__globe,.ls__center h1,.ls__tagline,.ls__timeline,.ls__error,.ls__step[data-status=active] .ls__step-mark{animation:none}.ls.is-revealing{transform:none}}@keyframes lsBreathe{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.95;transform:scale(1.05)}}@keyframes lsWave{to{transform:rotate(360deg)}}@keyframes lsEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes lsFloat{0%{transform:translateY(0)}to{transform:translateY(-7px)}}@keyframes lsBubble{0%{transform:translateY(0) scale(.55);opacity:0}14%{opacity:.85}80%{opacity:.45}to{transform:translateY(-74px) scale(1);opacity:0}}@keyframes lsTwinkle{0%,to{opacity:.25}50%{opacity:.9}}@keyframes lsPulse{0%,to{box-shadow:0 0 0 3px #00ff8824}50%{box-shadow:0 0 0 6px #00ff880a}}
