/* A voice gesture replaces the input row and leaves the chat itself mounted. */
.composer-icon[data-action=record-audio]{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.voice-recording-session{position:relative;overflow:visible;min-width:0}
.voice-recording-row{position:relative;display:flex;align-items:center;gap:6px;min-width:0;min-height:52px}
.voice-recording-session[data-record-locked=false] .voice-recording-row::before{content:"";position:absolute;inset:2px 0;border:1px solid #71927e35;border-radius:30px;background:rgba(246,248,241,.72);background:linear-gradient(to left,#2c594312 calc(var(--record-cancel-progress,0)*100%),transparent 0),color-mix(in srgb,var(--conversation-incoming,var(--paper)) 72%,transparent);box-shadow:inset 0 1px 5px #2947350a;pointer-events:none}
.voice-recording-row>*{position:relative;z-index:1}
.voice-recording-row .composer-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;min-width:42px;min-height:42px;padding:9px;border:0;border-radius:50%;color:var(--green);background:transparent;cursor:pointer}
.voice-recording-row .composer-icon:hover{background:var(--tint)}
.voice-recording-row .composer-send{background:var(--green);color:var(--paper)}
.voice-recording-row .composer-send:hover{background:var(--green);filter:brightness(.9)}
.voice-recording-indicator{display:grid;place-items:center;width:18px;flex:none;color:var(--danger)}
.voice-recording-indicator svg{width:16px;height:20px}
.voice-recording-time{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);min-width:34px}
.voice-recording-hint{flex:1;min-width:0;font-size:12px;line-height:1.3;color:var(--sub);text-align:center;overflow-wrap:anywhere}
.voice-recording-row .voice-recording-delete{color:var(--danger)}
.voice-recording-session[data-record-cancel-near=true] .voice-recording-delete{background:#ad443a20;box-shadow:0 0 0 4px #ad443a0a}
.voice-recording-session[data-record-cancel-near=true] .voice-recording-row::before{border-color:#ad443a60}
.voice-recording-row .voice-recording-hold{width:57px;height:57px;min-width:57px;transform:translate(var(--record-drag-x,0px),var(--record-drag-y,0px));box-shadow:0 0 0 7px #2c594318;user-select:none;-webkit-user-select:none;touch-action:none}
.voice-recording-lock{position:absolute;right:8px;bottom:74px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 6px;border-radius:18px;background:var(--messenger-list-bg,var(--tint));color:var(--green);pointer-events:none;box-shadow:0 2px 9px #142e2215}
.voice-recording-lock>svg{width:17px;height:18px}.voice-recording-lock>span{font-size:17px;line-height:1}
.voice-recording-limit{display:block;text-align:center;font-size:10px;color:var(--sub);line-height:1.3;margin-top:2px}
.voice-recording-session[data-record-locked=true] .voice-recording-hint{font-size:11px}
@media(prefers-reduced-motion:no-preference){.voice-recording-indicator{animation:voice-record-pulse 1s ease-in-out infinite}@keyframes voice-record-pulse{50%{opacity:.3}}}
@media(prefers-color-scheme:dark){.voice-recording-row .composer-send{background:#426d54;color:#fff}.voice-recording-row .composer-send:hover{background:#426d54}.voice-recording-session[data-record-locked=false] .voice-recording-row::before{background:rgba(41,63,49,.75);background:linear-gradient(to left,#c4dbc412 calc(var(--record-cancel-progress,0)*100%),transparent 0),color-mix(in srgb,var(--conversation-incoming,var(--paper)) 72%,transparent)}}
@media(max-width:420px){.voice-recording-row{gap:3px}.voice-recording-row .composer-icon{width:38px;min-width:38px;height:38px;min-height:38px;padding:8px}.voice-recording-row .voice-recording-hold{width:52px;min-width:52px;height:52px}.voice-recording-hint{font-size:11px}.voice-recording-time{font-size:12px;min-width:29px}.voice-recording-indicator{width:14px}}
