.eva-voice-input{position:relative;display:inline-flex;min-width:0;align-items:center;gap:6px;vertical-align:middle}
.eva-voice-input__button{box-sizing:border-box;width:32px;height:32px;min-width:32px;padding:0;border:0;border-radius:var(--eva-radius-control,8px);display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--semi-color-text-2);cursor:pointer;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease;position:relative}
.eva-voice-input__button:hover{background:var(--semi-color-fill-0);color:var(--semi-color-text-0)}
.eva-voice-input__button:focus-visible{outline:2px solid var(--semi-color-primary);outline-offset:2px}
.eva-voice-input__button:disabled{cursor:default;opacity:.72}
.eva-voice-input[data-eva-voice-state="listening"] .eva-voice-input__button{background:color-mix(in srgb,var(--semi-color-primary) 12%,transparent);color:var(--semi-color-primary)}
.eva-voice-input[data-eva-voice-state="listening"] .eva-voice-input__button::after{content:"";position:absolute;inset:2px;border:1px solid color-mix(in srgb,var(--semi-color-primary) 44%,transparent);border-radius:inherit;animation:eva-voice-pulse 1.5s ease-out infinite;pointer-events:none}
.eva-voice-input__spinner{animation:eva-voice-spin .8s linear infinite}
.eva-voice-input__feedback{position:absolute;right:36px;top:50%;z-index:3;transform:translateY(-50%);display:inline-flex;align-items:center;max-width:190px;padding:2px 6px;border-radius:var(--eva-radius-control,8px);background:var(--semi-color-bg-0);box-shadow:var(--eva-shadow-hairline);color:var(--semi-color-text-2);font:400 12px/18px var(--eva-font-sans);white-space:nowrap}
.eva-voice-field{position:relative;min-width:0}
.eva-voice-field>.eva-voice-input{position:absolute;right:4px;bottom:4px;z-index:2}
.eva-voice-field :is(textarea,.semi-input-textarea){padding-right:44px!important;padding-bottom:40px!important}
.eva-voice-field--single>.eva-voice-input{position:static;flex:none}
.loop-composer__footer-right>.eva-voice-input{flex:none}
@keyframes eva-voice-spin{to{transform:rotate(360deg)}}
@keyframes eva-voice-pulse{0%{opacity:.7;transform:scale(.82)}70%,100%{opacity:0;transform:scale(1.18)}}
@media(prefers-reduced-motion:reduce){.eva-voice-input__spinner,.eva-voice-input[data-eva-voice-state="listening"] .eva-voice-input__button::after{animation:none}}
