
/* M65 — recordings dropdown + sticky recorder */
.m65-voice-sheet{padding-bottom:max(24px,env(safe-area-inset-bottom))}
.m65-record-start{
  width:100%;min-height:52px!important;border-radius:16px!important;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.m65-record-start>span{font-size:11px;color:#c93636}
.m65-record-hint{text-align:center;margin:8px 0 16px}
.m65-recordings{
  margin-top:8px;border-top:1px solid var(--dm-line);border-bottom:1px solid var(--dm-line)
}
.m65-recordings-toggle{
  width:100%;min-height:60px;padding:11px 2px;border:0;background:transparent;color:var(--dm-ink);
  display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left
}
.m65-recordings-toggle>span{display:flex;flex-direction:column;gap:2px}
.m65-recordings-toggle strong{font-size:16px;line-height:1.25}
.m65-recordings-toggle small{font-size:12px;color:var(--dm-muted)}
.m65-recordings-toggle b{
  font-size:19px;font-weight:500;color:var(--dm-muted);transition:transform .18s ease
}
.m65-recordings-toggle.open b{transform:rotate(180deg)}
.m65-recordings-panel{padding:0 0 7px}
.m65-recording-row{
  padding:13px 0;border-top:1px solid var(--dm-line)
}
.m65-recording-row:first-child{border-top:0}
.m65-recording-heading{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px
}
.m65-recording-heading>div{min-width:0;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.m65-recording-heading strong{font-size:14px}
.m65-recording-heading span{font-size:12px;color:var(--dm-muted)}
.m65-recording-row audio{width:100%;height:40px;display:block}
.m65-recording-row .voice-share-btn{min-height:34px;padding:6px 9px;font-size:12px}

/* Recording leaves the sheet and becomes an always-visible top controller. */
.m65-sticky-recorder{
  position:fixed;z-index:310000;top:max(8px,env(safe-area-inset-top));left:50%;
  width:min(520px,calc(100vw - 20px));transform:translate(-50%,-130%);
  opacity:0;pointer-events:none;border:1px solid rgba(255,255,255,.14);
  border-radius:17px;background:rgba(23,25,28,.96);color:#fff;
  box-shadow:0 16px 50px rgba(0,0,0,.24);backdrop-filter:blur(18px);
  overflow:hidden;transition:transform .2s ease,opacity .18s ease
}
.m65-sticky-recorder.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.m65-sticky-recorder-main{
  min-height:58px;padding:9px 10px 8px;display:grid;
  grid-template-columns:11px minmax(0,1fr) auto auto;align-items:center;gap:8px
}
.m65-rec-dot{
  width:9px;height:9px;border-radius:50%;background:#ff4b4b;
  box-shadow:0 0 0 0 rgba(255,75,75,.45);animation:m65-rec-pulse 1.4s infinite
}
.m65-sticky-recorder[data-state="saving"] .m65-rec-dot{
  background:#d1a84e;animation:none
}
.m65-sticky-recorder[data-state="saved"] .m65-rec-dot{
  background:#68a779;animation:none
}
.m65-sticky-recorder[data-state="error"] .m65-rec-dot{
  background:#d85a5a;animation:none
}
@keyframes m65-rec-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,75,75,.45)}
  70%{box-shadow:0 0 0 6px rgba(255,75,75,0)}
  100%{box-shadow:0 0 0 0 rgba(255,75,75,0)}
}
.m65-rec-copy{min-width:0;display:flex;flex-direction:column}
.m65-rec-copy strong{font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m65-rec-copy span{font-size:9px;color:rgba(255,255,255,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m65-rec-time{font-size:11px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.82);white-space:nowrap}
.m65-rec-stop{
  min-height:36px;padding:6px 11px;border:0;border-radius:11px;background:#fff;color:#1b1c1d;
  font-size:12px;font-weight:800
}
.m65-rec-progress{height:2px;background:rgba(255,255,255,.12)}
.m65-rec-progress span{display:block;height:100%;width:0;background:#ff6363;transition:width .35s linear}
.m65-sticky-recorder[data-state="saving"] .m65-rec-progress span{width:100%!important;background:#d1a84e}
.m65-sticky-recorder[data-state="saved"] .m65-rec-progress span{width:100%!important;background:#68a779}

@media(max-width:430px){
  .m65-sticky-recorder{width:calc(100vw - 14px);top:max(6px,env(safe-area-inset-top));border-radius:15px}
  .m65-sticky-recorder-main{grid-template-columns:10px minmax(0,1fr) auto auto;gap:6px;padding:8px}
  .m65-rec-copy strong{font-size:12px}
  .m65-rec-time{font-size:10px}
  .m65-rec-stop{padding:5px 9px}
}
