.onboarding-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(12px); display: flex; align-items: center; justify-content: center; z-index: 2000; animation: ob-fade 0.5s ease; } @keyframes ob-fade { from { opacity: 0; } to { opacity: 1; } } .onboarding-modal { width: 90%; max-width: 500px; display: flex; flex-direction: column; padding: 40px; border-radius: var(--radius-lg); background: var(--bg-1); border: 1px solid var(--border-1); box-shadow: 0 0 40px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden; } .onboarding-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; } .step-indicator { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em; color: var(--text-2); } .close-btn { background: transparent; border: none; font-size: 1.5rem; color: var(--text-2); cursor: pointer; line-height: 1; transition: color 0.2s ease; } .close-btn:hover { color: var(--pulse); } .onboarding-body { flex: 1; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 20px; } .step-icon { font-size: 3.5rem; margin-bottom: 10px; } .onboarding-body h2 { font-family: var(--font-display); font-size: 1.8rem; font-weight: 800; color: var(--text-0); } .onboarding-body p { font-size: 1rem; line-height: 1.6; color: var(--text-1); } .onboarding-footer { margin-top: 40px; display: flex; justify-content: space-between; align-items: center; } .onboarding-btn { padding: 10px 24px; } .step-dots { display: flex; gap: 8px; } .step-dots .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bg-3); transition: all 0.3s ease; } .step-dots .dot.active { background: var(--pulse); box-shadow: var(--glow-pulse); transform: scale(1.2); } .neural-scan-line { position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--pulse); box-shadow: 0 0 10px var(--pulse); opacity: 0.3; animation: scan 4s linear infinite; } @keyframes scan { 0% { transform: translateY(-100%); } 100% { transform: translateY(500px); } }