body { overflow: hidden; margin: 0; font-family: Arial, sans-serif; background: linear-gradient(135deg, #a1c4fd, #c2e9fb); } .mic-container { height: 100vh; width: 100vw; display: flex; align-items: center; justify-content: center; position: relative; .circle { width: 80px; height: 80px; border-radius: 50%; background: #ffffff; display: flex; justify-content: center; align-items: center; position: relative; z-index: 1; transition: 0.5s; box-shadow: 0 6px 10px rgba(0, 0, 0, 0.14), 0 1px 18px rgba(0, 0, 0, 0.12), 0 3px 5px rgba(0, 0, 0, 0.2); i { color: #b2b1b1; font-size: 23px; transition: 0.9s; } &:before { content: ''; width: 80px; height: 80px; border-radius: 50%; opacity: 0.2; z-index: -1; position: absolute; background: transparent; } } .circle.active { background: #ff0000; &:before { background: gray; animation: bounce 0.8s ease-in-out infinite 0.5s; } i { color: #ffffff; } } } @keyframes bounce { 0% { transform: scale(1); } 25% { transform: scale(1.4); } 75% { transform: scale(1); } 100% { transform: scale(1.3); } } .controls { display: flex; flex-direction: column; align-items: center; margin-top: 20px; } #transcribeButton { display: block; margin-top: 10px; padding: 10px 20px; background-color: #3498db; color: white; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s, box-shadow 0.3s; } #transcribeButton:hover { background-color: #2980b9; } #transcriptionResult { text-align: center; margin-top: 20px; font-size: 18px; color: #333; } #loadingSpinner { margin-top: 20px; width: 50px; height: 50px; border: 5px solid rgba(0, 0, 0, 0.1); border-left: 5px solid #3498db; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }