/* Shared by the HTML startup shell and React route fallbacks. No app JS required. */
.loodit-loading{--loading-ink:#24203c;--loading-muted:#77718a;--loading-accent:#7958ed;--loading-track:#ece7fa;position:relative;isolation:isolate;display:grid;place-items:center;min-height:100svh;padding:32px 24px;box-sizing:border-box;overflow:hidden;background:#faf9fe;color:var(--loading-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center}
.loodit-loading--page{min-height:60vh;border-radius:16px}
.loodit-loading::before{content:"";position:absolute;z-index:-1;width:min(720px,110vw);height:720px;border-radius:50%;background:radial-gradient(circle,#ede6ff 0%,#f5f1ff 36%,transparent 68%);opacity:.75;pointer-events:none}
.loodit-loading-content{width:100%;max-width:360px}
.loodit-loading-emblem{position:relative;display:grid;place-items:center;width:112px;height:112px;margin:0 auto 32px;border-radius:32px;background:#fff;box-shadow:0 12px 44px #7855db14,0 0 0 1px #7958ed0d}
.loodit-loading-emblem::before,.loodit-loading-emblem::after{content:"";position:absolute;inset:-12px;border:1px solid #7958ed26;border-radius:42px;animation:loodit-ripple 2.8s ease-out infinite}
.loodit-loading-emblem::after{animation-delay:1.4s}
.loodit-loading-emblem img{width:60px;height:60px;animation:loodit-breathe 2.8s ease-in-out infinite}
.loodit-loading-title{margin:0 0 10px;font-size:25px;line-height:1.3;font-weight:650;letter-spacing:-.8px;color:var(--loading-ink)}
.loodit-loading-message{min-height:44px;margin:0 auto 25px;max-width:310px;color:var(--loading-muted);font-size:14px;line-height:1.6}
.loodit-loading-progress{height:4px;width:168px;margin:0 auto;border-radius:20px;background:var(--loading-track);overflow:hidden}
.loodit-loading-progress::after{content:"";display:block;width:45%;height:100%;border-radius:20px;background:linear-gradient(90deg,#665ff1,#a252f5);animation:loodit-progress 1.7s ease-in-out infinite}
.loodit-loading-caption{margin:20px 0 0;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--loading-muted)}
.loodit-loading-retry{margin:24px auto 0;padding:11px 24px;border:0;border-radius:12px;background:var(--loading-accent);color:#fff;font:600 14px/1.4 system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 12px #7958ed26;transition:background .15s,transform .15s}
.loodit-loading-retry:hover{background:#6643d8;transform:translateY(-1px)}
.loodit-loading-retry:focus-visible{outline:3px solid #a99af1;outline-offset:4px}
.loodit-loading-retry[hidden]{display:none}
.loodit-loading[data-state="failed"] .loodit-loading-progress{display:none}
.loodit-loading[data-state="failed"] .loodit-loading-emblem::before,.loodit-loading[data-state="failed"] .loodit-loading-emblem::after,.loodit-loading[data-state="failed"] .loodit-loading-emblem img{animation:none}
@keyframes loodit-progress{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
@keyframes loodit-ripple{0%{opacity:0;transform:scale(.9)}25%{opacity:1}100%{opacity:0;transform:scale(1.2)}}
@keyframes loodit-breathe{0%,100%{transform:scale(.96)}50%{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.loodit-loading *,.loodit-loading *::before,.loodit-loading *::after{animation:none!important;transition:none!important}.loodit-loading-progress::after{width:100%;opacity:.6}}
@media(prefers-color-scheme:dark){.loodit-loading{--loading-ink:#f1edff;--loading-muted:#aaa1bd;--loading-track:#332b47;background:#171322}.loodit-loading::before{background:radial-gradient(circle,#342449 0%,transparent 68%)}.loodit-loading-emblem{background:#251d35}}
.dark .loodit-loading{--loading-ink:#f1edff;--loading-muted:#aaa1bd;--loading-track:#332b47;background:#171322}
.dark .loodit-loading-emblem{background:#251d35}
