/* In-page voice dock — a fixed bottom-right overlay in the persistent body-level layer (outside #content). */
#fb-voice-dock {
  position: fixed; right: 16px; bottom: 16px; z-index: 2147483000;
  width: 260px; max-height: 60vh; display: flex; flex-direction: column;
  background: #171a21; color: #d8dce4; border: 1px solid rgba(127,127,127,.3);
  border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,.55);
  font-family: system-ui, "Segoe UI", sans-serif; font-size: 13px; overflow: hidden;
}
#fb-voice-dock[hidden] { display: none; }
#fb-voice-dock .vd-head { display: flex; align-items: center; gap: 7px; padding: 9px 11px; background: rgba(78,201,122,.14); border-bottom: 1px solid rgba(127,127,127,.22); }
#fb-voice-dock .vd-ic { font-size: 14px; }
#fb-voice-dock .vd-title { flex: 1; min-width: 0; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#fb-voice-dock .vd-state { font-size: 10px; color: #8b93a4; white-space: nowrap; }
#fb-voice-dock .vd-list { flex: 1; overflow-y: auto; padding: 6px; min-height: 30px; }
#fb-voice-dock .vd-empty { color: #626a7a; font-size: 12px; padding: 8px; text-align: center; }
#fb-voice-dock .vd-row { display: flex; align-items: center; gap: 8px; padding: 5px 7px; border-radius: 8px; }
#fb-voice-dock .vd-row.speaking { background: rgba(78,201,122,.12); }
#fb-voice-dock .vd-av { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex: 0 0 28px; }
#fb-voice-dock .vd-av-ph { width: 28px; height: 28px; border-radius: 50%; background: #2a3140; color: #cfd6e2; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px; flex: 0 0 28px; }
#fb-voice-dock .vd-row.speaking .vd-av, #fb-voice-dock .vd-row.speaking .vd-av-ph { box-shadow: 0 0 0 2px #4ec97a; }
#fb-voice-dock .vd-name { flex: 1; min-width: 0; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#fb-voice-dock .vd-you { color: #8b93a4; font-weight: 400; }
#fb-voice-dock .vd-mute { font-size: 11px; }
#fb-voice-dock .vd-note { padding: 7px 11px; font-size: 11px; color: #e0b03a; background: rgba(224,168,58,.08); border-top: 1px solid rgba(127,127,127,.2); }
#fb-voice-dock .vd-note[hidden] { display: none; }
#fb-voice-dock .vd-debug { padding: 4px 11px; font: 10px/1.4 ui-monospace, monospace; color: #6b7488; background: rgba(0,0,0,.22); border-top: 1px solid rgba(127,127,127,.18); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#fb-voice-dock .vd-ctrls { display: flex; gap: 7px; padding: 9px 11px; border-top: 1px solid rgba(127,127,127,.25); background: rgba(0,0,0,.16); }
#fb-voice-dock .vd-btn { flex: 1; height: 36px; border: 1px solid rgba(127,127,127,.3); background: rgba(127,127,127,.12); color: #d8dce4; border-radius: 9px; font-size: 15px; cursor: pointer; }
#fb-voice-dock .vd-btn:hover { background: rgba(127,127,127,.22); }
#fb-voice-dock .vd-btn.on { border-color: rgba(53,198,214,.4); background: rgba(53,198,214,.14); }
#fb-voice-dock .vd-btn.vd-leave { flex: 0 0 44px; border-color: rgba(224,82,77,.4); background: rgba(224,82,77,.16); color: #ff8a85; }
#fb-voice-dock .vd-btn.vd-leave:hover { background: rgba(224,82,77,.26); }
