= ({
{/* Floating Actions Overlay Bubble (Zoom, Auslagern, Löschen, TODO-Menü, Text-Umwandlung) */}
setPointerOnBubble(true)}
+ onMouseLeave={() => setPointerOnBubble(false)}
className={`absolute right-1 sm:right-2 top-0.5 sm:top-1 z-20 bg-panel/90 backdrop-blur-sm border border-border shadow-xs rounded-pill px-1 sm:px-1.5 py-0.5 flex items-center gap-0.5 sm:gap-1 transition-opacity ${
- activeFocus
+ showBubble
? 'opacity-100 pointer-events-auto'
- : // Hover only with a real pointer: a tap on a phone would make the invisible buttons clickable
- 'opacity-0 [@media(hover:hover)]:group-hover:opacity-100 focus-within:opacity-100 pointer-events-none [@media(hover:hover)]:group-hover:pointer-events-auto focus-within:pointer-events-auto'
+ : // Hidden buttons must not take clicks; keyboard focus inside still shows it
+ 'opacity-0 pointer-events-none focus-within:opacity-100 focus-within:pointer-events-auto'
}`}
>
{/* Convert back to bullet for headings, callouts, dividers, code and numbered items */}