.stream-announcements-readonly { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 16px max(18px, env(safe-area-inset-bottom)); color: #671d20; background: #f6eff0; border-top: 1px solid #e5d6d8; text-align: center; font-size: .9rem; }
.stream-announcements-readonly button { width: auto; }
.stream-announcements-status { padding: 8px 16px; background: #f4e7e9; color: #671d20; font-size: .85rem; }
.stream-announcements-status p { margin: 0; }
.stream-announcements-status button { min-height: 44px; width: auto; }
.stream-announcements-reactions { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 8px; }
.stream-pilot-message-actions .stream-announcements-reactions { grid-column: 1 / -1; }
.stream-pilot-message-actions .stream-announcements-reactions button { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 44px; padding: 8px; }
.stream-announcements-reactions button { min-width: 32px; min-height: 36px; border: 1px solid transparent; border-radius: 10px; background: #f5eaeb; color: #671d20; font: inherit; cursor: pointer; }
.stream-announcements-reactions button[aria-pressed="true"] { background: #e9ced1; border-color: #8b3035; }
.stream-announcements-reactions button:disabled { opacity: .55; cursor: default; }
.stream-announcements-reactions[aria-busy="true"] button[aria-pressed="true"] { opacity: 1; }
.stream-announcements-reactions button:nth-child(2) { margin-right: 8px; }
.stream-pilot-message:has(> .stream-announcements-reaction-summary) { margin-bottom: 17px; }
.stream-announcements-reaction-summary { position: absolute; top: calc(100% - 2px); left: 12px; z-index: 1; display: flex; gap: 4px; margin: 0; }
.stream-pilot-message:has(> .stream-pilot-avatar) > .stream-announcements-reaction-summary { left: 45px; }
.stream-pilot-message.mine > .stream-announcements-reaction-summary { left: auto; right: 12px; }
.stream-announcements-reaction-summary button { display: inline-flex; align-items: center; gap: 3px; width: auto; min-width: 0; min-height: 20px; padding: 1px 6px; border: 1px solid #e5d6d8; border-radius: 12px; background: #faf4f5; color: #671d20; font: inherit; font-size: .68rem; line-height: 1.2; cursor: pointer; }
.stream-announcements-reaction-summary button.is-own { background: #efdade; border-color: #bc7c82; }
.stream-announcements-reaction-summary button:focus-visible { outline: 2px solid #8b3035; outline-offset: 2px; }
.stream-announcements-reactions button:focus-visible, .stream-announcements-dialog button:focus-visible { outline: 2px solid #8b3035; outline-offset: 2px; }
.stream-announcements-member { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid #e5d6d8; }
.stream-announcements-member > div { min-width: 0; }
.stream-announcements-member strong, .stream-announcements-member small { display: block; overflow-wrap: anywhere; }
.stream-announcements-member small { color: #77717a; margin-top: 4px; }
.stream-announcements-member button { width: auto; min-height: 44px; flex-shrink: 0; color: #671d20; }
.stream-announcements-backdrop { position: fixed; inset: 0; z-index: 450; background: rgb(26 5 8 / .38); }
.stream-announcements-dialog { position: fixed; z-index: 451; inset: max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom)); margin: auto; width: min(460px, calc(100% - 32px)); height: min(480px, calc(100dvh - 80px)); max-height: calc(100dvh - 80px); box-sizing: border-box; display: flex; flex-direction: column; padding: 20px; border: 1px solid #e5d6d8; border-radius: 26px; background: #fbf7f8; color: #671d20; box-shadow: 0 20px 60px #29070b40; }
.stream-announcements-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.stream-announcements-dialog header button { width: 44px; height: 44px; border: 0; border-radius: 14px; color: #671d20; background: #f0e5e7; font-size: 26px; }
.stream-announcements-dialog > div { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.stream-announcements-pins { display: flex; gap: 8px; padding: 10px 14px; overflow-x: auto; background: #f4e7e9; color: #671d20; }
.stream-announcements-pins button { border: 0; border-radius: 10px; color: inherit; background: #fff9fa; padding: 8px 12px; text-align: left; max-width: 260px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; flex-shrink: 0; font: inherit; }
