:root{--primary-color: #d32f2f;--bg-color: #f5f5f5;--text-color: #333}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);display:flex;justify-content:center;align-items:center;height:100vh;width:100vw;overflow:hidden}.container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;box-sizing:border-box}.loading-card,.error-card{background:#fff;border-radius:16px;box-shadow:0 8px 30px #0000001f;padding:40px 30px;text-align:center;max-width:400px;width:100%;animation:fadeIn .5s ease-out}.status-text{font-size:24px;font-weight:700;color:var(--text-color);margin-top:24px;margin-bottom:8px}.subtext{font-size:14px;color:#666;margin:0}.spinner{width:60px;height:60px;border:6px solid #ffebee;border-top:6px solid var(--primary-color);border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}.error-card .icon{font-size:48px;margin-bottom:16px}.error-card h2{color:var(--primary-color);margin:0 0 12px}.error-card p{color:#555;margin-bottom:24px;line-height:1.5}.retry-btn{background-color:var(--primary-color);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.retry-btn:hover{opacity:.9}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
