:root.chat-redesign #composer { position: relative; overflow: visible; }
:root.chat-redesign #composer > .emoji-toggle { width: 44px; height: 44px; flex: 0 0 44px; align-self: end; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #747b84; cursor: pointer; }
:root.chat-redesign #composer > .emoji-toggle:hover, :root.chat-redesign #composer > .emoji-toggle[aria-expanded="true"] { background: #e7e9ec; color: #353a40; }
:root.chat-redesign #composer > .emoji-toggle:disabled { opacity: .45; cursor: default; }
.emoji-toggle svg, .emoji-categories svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.emoji-panel { position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 30; width: min(360px, 100%); max-height: min(360px, var(--emoji-available, 360px)); box-sizing: border-box; display: flex; flex-direction: column; padding: 12px; border: 1px solid #eceef0; border-radius: 22px; background: #fff; color: #747b84; box-shadow: 0 6px 24px #17233824; overflow: hidden; }
.emoji-panel[hidden] { display: none; }
.emoji-categories { display: flex; flex: 0 0 auto; gap: 4px; padding-bottom: 8px; }
:root.chat-redesign #composer .emoji-categories button { flex: 1; min-width: 44px; width: auto; height: 44px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: inherit; cursor: pointer; }
:root.chat-redesign #composer .emoji-categories button:hover, :root.chat-redesign #composer .emoji-categories button[aria-pressed="true"] { background: transparent; color: #353a40; }
.emoji-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; }
.emoji-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)); gap: 2px; }
:root.chat-redesign #composer .emoji-choice { width: auto; min-width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: transparent; cursor: pointer; font: 27px/1 "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
:root.chat-redesign #composer .emoji-choice:hover { background: #f2f3f4; }
.emoji-notice { flex: 0 0 auto; color: #9e3434; font-size: 12px; }
.emoji-notice:empty { display: none; }
.emoji-panel button:focus-visible, #composer > .emoji-toggle:focus-visible { outline: 2px solid #2169ae; outline-offset: -2px; }
@media (max-width: 760px) { .emoji-panel { padding: 8px; border-radius: 18px; bottom: calc(100% + 4px); } .emoji-categories { gap: 2px; } .emoji-choice { font-size: 26px; } }
@media (max-height: 500px) { .emoji-categories { padding-bottom: 4px; } }
