.loading-indicator{flex-direction:column;align-items:center;gap:14px;width:240px;max-width:100%;margin-inline:auto;display:flex}.loading-mark{place-items:center;width:88px;height:88px;animation:.75s cubic-bezier(.22,1,.36,1) both loading-assemble;display:grid;position:relative}.loading-mark img{object-fit:contain;width:40px;height:40px;display:block}.loading-geometry{stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.loading-outline{stroke:var(--line);stroke-width:1px}.loading-draw{stroke:var(--blue);stroke-width:2px;stroke-dasharray:18 82;animation:1.8s ease-in-out 2 loading-outline-trace}.loading-joints{stroke:var(--blue);stroke-width:1.5px}.loading-wordmark{letter-spacing:-.055em;font-size:20px;font-weight:800;line-height:1.2;display:flex;overflow:hidden}.loading-letter{animation:.65s cubic-bezier(.22,1,.36,1) both loading-letter-reveal;animation-delay:calc(80ms + var(--letter) * 35ms);display:inline-block}.loading-letter--accent{color:var(--blue)}.loading-message{color:var(--muted);font-size:13px;line-height:1.7}.loading-track{background:var(--line);width:100px;height:2px;margin-top:4px;overflow:hidden}.loading-track>span{background:var(--blue);width:40%;height:100%;animation:1.4s ease-in-out 3 loading-trace;display:block;transform:translate(75%)}.loading-indicator--screen{gap:20px;width:min(480px,100%)}.loading-indicator--screen .loading-mark{width:144px;height:144px;margin-bottom:16px}.loading-indicator--screen .loading-mark img{width:64px;height:64px}.loading-indicator--screen .loading-wordmark{font-size:clamp(38px,8vw,58px)}.loading-disciplines{color:var(--muted);margin-top:-10px;margin-bottom:24px;font-size:12px}.loading-indicator--screen .loading-track{width:160px}@keyframes loading-outline-trace{0%{stroke-dashoffset:100px}to{stroke-dashoffset:-100px}}@keyframes loading-assemble{0%{transform:translateY(12px)rotate(-10deg)scale(.94)}to{transform:none}}@keyframes loading-letter-reveal{0%{transform:translateY(110%)}to{transform:none}}@keyframes loading-trace{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (prefers-reduced-motion:reduce){.loading-mark,.loading-draw,.loading-letter,.loading-track>span{animation:none}}
