:root { --bg-color: #0f172a; --fg-color: #6366f1; --surface: rgba(30, 41, 59, 1); --text: #f8fafc; --text-light: #cbd5e1; --border: rgba(148, 163, 184, 0.2); --error: #ef4444; --success: #22c55e; --font-family: 'Inter', system-ui, sans-serif; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--font-family); line-height: 1.6; color: var(--text); background: radial-gradient(circle at top right, var(--fg-color) 0%, var(--bg-color) 100%); min-height: 100vh; position: relative; } .overlay { position: fixed; inset: 0; background-image: repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 20px), repeating-linear-gradient(90deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 20px); pointer-events: none; } .sun { position: fixed; top: 20px; right: 20px; width: 100px; height: 100px; border-radius: 50%; background: radial-gradient(circle at center, rgba(99, 102, 241, 0.2) 0%, transparent 70%); pointer-events: none; z-index: 0; } .scanline { position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: rgba(99, 102, 241, 0.1); animation: scan 4s linear infinite; } @keyframes scan { 0% { transform: translateY(0); } 100% { transform: translateY(100px); } } .status { padding: 0.75rem 1rem; border-radius: 0.5rem; margin-bottom: 1rem; transition: all 0.3s ease; opacity: 0; font-weight: 500; text-align: center; } .status.info { background: rgba(99, 102, 241, 0.1); border: 1px solid rgba(99, 102, 241, 0.2); opacity: 1; } .status.error { background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.2); opacity: 1; } .status.success { background: rgba(34, 197, 94, 0.1); border: 1px solid rgba(34, 197, 94, 0.2); opacity: 1; }