#mchataudio-wrap {
    display: inline-flex;
    justify-content: center;       
    position: relative;    
    box-sizing: border-box;
}

#mchataudio-label {
    position: absolute;
    top: -1.35em;         
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;      
    line-height: 1;
    color: #c00;
    white-space: nowrap;
    visibility: hidden;    
    opacity: 0;
    transition: opacity .12s ease;
    pointer-events: none;
    text-align: center;
    z-index: 2;
}

#mchataudio-wrap > button,
#mchataudio-wrap > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;           
    box-sizing: border-box;
    margin: 0;
    vertical-align: middle;
    text-decoration: none;      
    color: inherit;
}

#mchataudio-mic-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: inherit;
    height: 38px;
    line-height: 1.4 !important;
}

#mchataudio-wrap.is-recording #mchataudio-label {
    visibility: visible;
    opacity: 1;
}
#mchataudio-wrap.is-recording #mchataudio-mic-btn .icon.fa.fa-microphone {
    color: #c00;          
}

#mchataudio-wrap.is-recording #mchataudio-mic-btn,
#mchataudio-wrap.is-recording #mchataudio-mic-btn.mchat-button-is-down {
    box-shadow: none;
}

.mchataudio-embed {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    vertical-align: middle;
    margin: 0 .25rem;
}

.mchataudio-play {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    padding: 0;
    margin: 0;
    background: linear-gradient(180deg,#ffffff 0%, #f0f0f0 100%);
    box-shadow: 0 1px 0 rgba(0,0,0,0.06) inset, 0 2px 4px rgba(0,0,0,0.06);
    display: inline-grid;
    place-items: center;
    cursor: pointer;
    transition: transform .08s ease, box-shadow .12s ease;
}

.mchataudio-play-icon {
    width: 0;
    height: 0;
    border-left: 9px solid #333;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    display: inline-block;
    transform-origin: 50% 50%;
}

.mchataudio-embed.playing .mchataudio-play {
    background: linear-gradient(180deg, #fff5f5 0%, #ffecec 100%);
    box-shadow: 0 0 10px rgba(204,0,0,0.18);
    transform: translateY(-1px);
}
.mchataudio-embed.playing .mchataudio-play-icon {
    border-left: 0;
    width: 12px;
    height: 12px;
    background: linear-gradient(180deg,#c00,#900);
    position: relative;
    display: inline-block;
}
.mchataudio-embed.playing .mchataudio-play-icon::before,
.mchataudio-embed.playing .mchataudio-play-icon::after {
    content: "";
    position: absolute;
    top: 1px;
    bottom: 1px;
    width: 3px;
    background: #fff;
}
.mchataudio-embed.playing .mchataudio-play-icon::before { left: 2px; }
.mchataudio-embed.playing .mchataudio-play-icon::after  { right: 2px; }

.mchataudio-meta {
    font-size: 11px;
    color: #666;
    line-height: 1;
    max-width: 10rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.mchataudio-play:focus {
    outline: 2px solid #66a3ff;
    outline-offset: 2px;
}

.postbody .mchataudio-embed,
.post .mchataudio-embed {
    display: inline-flex;
    vertical-align: middle;
}

.mchataudio-disabled {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    margin: 0.15rem 0;
    background: #f6f6f6;
    color: #666;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 3px;
    font-size: 0.95rem;
}