.jun-sensei-voice-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2em;
    height: 2.2em;
    margin-left: 0.3em;
    padding: 0;
    border: 1px solid #d7dce3;
    border-radius: 999px;
    background: #ffffff;
    color: #19448e;
    font: inherit;
    line-height: 1;
    vertical-align: middle;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    transition: transform 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}

.jun-sensei-voice-button:hover,
.jun-sensei-voice-button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.jun-sensei-voice-button.is-speaking {
    background: #eef4ff;
    transform: scale(1.05);
}

.jun-sensei-voice-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
