@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); body { font-family: 'Inter', sans-serif; } /* Animation for microphone button when active */ @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); } 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); } } .listening { animation: pulse 1.5s infinite; background-color: #2563eb !important; } /* Practice module styles */ .practice-card:hover { transform: translateY(-4px); transition: transform 0.2s ease; } #accuracy-score.excellent { background-color: #dcfce7; color: #166534; } #accuracy-score.good { background-color: #fef9c3; color: #854d0e; } #accuracy-score.poor { background-color: #fee2e2; color: #991b1b; } /* Feedback pulse animation */ @keyframes feedback-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .feedback-animate { animation: feedback-pulse 0.5s ease; } /* Smooth transitions for UI elements */ button, select { transition: all 0.2s ease-in-out; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #555; }