.pn-msg-bubble:has(> .pn-msg-reaktionen) { position: relative; margin-bottom: 1.2rem; }
.pn-msg-bubble > .pn-msg-reaktionen { position: absolute; bottom: 0; right: var(--abstand-2); transform: translateY(50%); flex-wrap: nowrap; align-items: center; }
.pn-reagieren-kreis { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: var(--radius-rund); background: var(--background); color: var(--text-muted); cursor: pointer; }
.pn-reagieren-kreis svg { width: 1.6rem; height: 1.6rem; }
.pn-reagieren-kreis:hover, .pn-reagieren-kreis:focus-visible { color: var(--accent); }
.pn-emoji-eigenes { display: block; width: 100%; box-sizing: border-box; margin: 0 0 var(--abstand-3); padding: var(--abstand-2) var(--abstand-3); background: var(--background); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius-2); font: inherit; }
.pn-emoji-modal { width: min(26rem, 94vw); max-width: min(26rem, 94vw); }
.pn-emoji-reiter { display: flex; margin: 0 0 var(--abstand-2); border-bottom: 1px solid var(--border); }
.pn-emoji-reiter button { flex: 1; padding: var(--abstand-1) 0 var(--abstand-2); background: none; border: 0; border-bottom: 2px solid transparent; font-size: 1.3rem; line-height: 1; cursor: pointer; opacity: 0.55; }
.pn-emoji-reiter-aktiv { border-bottom-color: var(--accent); opacity: 1; }
.pn-emoji-raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(2.6rem, 1fr)); height: min(18rem, 50dvh); overflow-y: auto; overscroll-behavior: contain; }
.pn-emoji-raster button { aspect-ratio: 1; padding: 0; background: none; border: 0; border-radius: var(--radius-2); font-size: 1.7rem; line-height: 1; cursor: pointer; }
.pn-emoji-raster button:hover, .pn-emoji-raster button:focus-visible, .pn-emoji-reiter button:hover { background: var(--border); }
.pn-reaktion { cursor: pointer; }
.pn-reagieren-kreis { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; touch-action: manipulation; }
.pn-msg-bubble { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.pn-emoji-raster { align-content: start; }
