.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:80px 20px;display:flex}.loading-rings{justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative}.loading-ring{border:2px solid #0000;border-radius:50%;position:absolute}.loading-ring--outer{border-top-color:var(--accent);border-right-color:var(--accent);animation:1.2s linear infinite loading-spin;inset:0}.loading-ring--inner{border-bottom-color:var(--accent);border-left-color:var(--accent);opacity:.4;animation:1.8s linear infinite reverse loading-spin;inset:12px}.loading-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;animation:2s infinite loading-pulse;display:flex}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.loading-title{color:var(--text-primary);letter-spacing:-.02em;font-size:20px;font-weight:700}.loading-subtitle{color:var(--text-muted);margin-top:-12px;font-size:14px}.loading-dots{gap:6px;display:flex}.loading-dots span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s infinite loading-bounce}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loading-bounce{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.loading-steps{flex-direction:column;align-items:center;gap:6px;min-height:24px;display:flex}.loading-step{color:var(--text-muted);opacity:0;font-size:13px;transition:all .4s;position:absolute;transform:translateY(6px)}.loading-step--active{opacity:1;color:var(--text-secondary);position:relative;transform:translateY(0)}.loading-step--done{display:none}.loading-encouragement{color:var(--text-secondary);background:var(--accent-soft);border-radius:500px;margin-top:8px;padding:10px 20px;font-size:13px;animation:.5s loading-fade-in}@keyframes loading-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
