.mic-btn {
    width: 5em;
    height: 5em;
    border-radius: 50%;
    border: none;
    background: radial-gradient(circle at 30% 30%, orangered, red);
    color: white;
    font-size: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.mic-btn:hover {
    border: 3px solid white;
}
.mic-btn.recording {
    background: radial-gradient(circle at 30% 30%, mediumseagreen, green);
    animation: pulse 1.2s infinite;
}
@keyframes pulse {
    0%   { box-shadow: 0 0 0 0    rgba(0, 200, 83, 0.6); }
    70%  { box-shadow: 0 0 0 20px rgba(0, 200, 83, 0); }
    100% { box-shadow: 0 0 0 0    rgba(0, 200, 83, 0); }
}