/* Custom styles */ html { -webkit-tap-highlight-color: transparent; } body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Animations */ @keyframes fadeInDown { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } } @keyframes slideDown { from { transform: translateY(0); } to { transform: translateY(100%); } } @keyframes flash { 0%, 100% { background-color: transparent; } 50% { background-color: rgba(79, 70, 229, 0.1); } } .view-transition { animation: fadeInDown 0.3s ease-in-out; } .flash-update { animation: flash 1s ease-in-out; } .bottom-sheet-visible { animation: slideUp 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; } .bottom-sheet-hidden { animation: slideDown 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; } /* Splash Screen Animations */ @keyframes aurora { 0% { transform: translate(var(--x-start), var(--y-start)) scale(1); } 50% { transform: translate(var(--x-mid), var(--y-mid)) scale(1.2); } 100% { transform: translate(var(--x-end), var(--y-end)) scale(1); } } .aurora-blob { animation: aurora 20s ease-in-out infinite alternate; } @keyframes pulse-logo { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } .pulse-logo-animation { animation: pulse-logo 3s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } .svg-loader { animation: spin 1s linear infinite; } #splash-view { transition: opacity 0.5s ease-in-out; } /* Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #1a202c; } /* gray-800 */ ::-webkit-scrollbar-thumb { background: #4a5568; border-radius: 10px; } /* gray-600 */ ::-webkit-scrollbar-thumb:hover { background: #718096; } /* gray-500 */ /* Modal */ .modal-backdrop { background-color: rgba(0, 0, 0, 0.5); transition: opacity 0.3s ease-in-out; } .modal-content { transform: scale(0.95); opacity: 0; transition: all 0.3s ease-in-out; } .modal-visible .modal-backdrop { opacity: 1; } .modal-visible .modal-content { transform: scale(1); opacity: 1; } /* Action icon hover effect */ .action-icon { transition: transform 0.2s ease-in-out, background-color 0.2s ease-in-out; } .action-icon:hover { transform: scale(1.15); } /* Bottom Navigation */ .nav-item { transition: background-color 0.2s ease-in-out; } .nav-item-active { background-color: rgba(99, 102, 241, 0.1); } .nav-item-active svg { color: #4f46e5; } .nav-item-active span { color: #f9fafb; } /* Loading Bar */ #loading-bar { position: fixed; top: 0; left: 0; width: 0%; height: 3px; background-color: #4f46e5; z-index: 9999; transition: width 0.3s ease-out; } /* Custom Dropdown */ .custom-dropdown-options { transform-origin: top; transition: transform 0.2s ease-out, opacity 0.2s ease-out; } /* Add Funds Step Animation */ .form-step { display: none; animation: fadeInDown 0.5s ease-in-out; } .form-step.active { display: block; } /* Custom Radio Button Style */ .custom-radio-label { transition: all 0.2s ease-in-out; } .peer:checked ~ .custom-radio-label { border-color: #4f46e5; /* indigo-600 */ background-color: rgba(99, 102, 241, 0.1); } .peer:checked ~ .custom-radio-label svg { color: #818cf8; /* indigo-400 */ }