.chat-emoji-trigger.chat-emoji-trigger { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; padding:0; border:0; border-radius:11px; color:#8d91ac; background:transparent; cursor:pointer; }
.chat-emoji-trigger.chat-emoji-trigger:hover:not(:disabled), .chat-emoji-trigger.chat-emoji-trigger-active { color:#6d62ed; background:#efedff; }
.chat-emoji-trigger.chat-emoji-trigger:disabled { opacity:.45; cursor:default; }
.chat-emoji-trigger.chat-emoji-trigger:focus-visible { outline:2px solid #9289f2; outline-offset:2px; }
.chat-emoji-panel { position:fixed; z-index:1400; display:flex; flex-direction:column; overflow:hidden; padding:10px; box-sizing:border-box; border:1px solid #e3e4eb; border-radius:15px; background:#fff; color:#292b35; box-shadow:0 10px 35px #24223816, 0 2px 7px #24223806; font-family:Manrope, sans-serif; font-size:13px; line-height:1.5; text-align:left; isolation:isolate; }
.chat-emoji-panel *, .chat-emoji-panel *::before, .chat-emoji-panel *::after { box-sizing:border-box; }
.chat-emoji-panel button, .chat-emoji-panel input { font:inherit; -webkit-tap-highlight-color:transparent; }
.chat-emoji-panel button { cursor:pointer; }
.chat-emoji-panel button:focus-visible, .chat-emoji-panel input:focus-visible { outline:2px solid #9289f2; outline-offset:-2px; }
.chat-emoji-heading { display:flex; align-items:center; justify-content:space-between; height:26px; flex-shrink:0; margin:0 2px 8px; }
.chat-emoji-heading strong { font-size:12px; font-weight:600; color:#767b90; }
.chat-emoji-close, .chat-emoji-clear { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; padding:0; border:0; border-radius:7px; background:transparent; color:#858b9d; }
.chat-emoji-close:hover, .chat-emoji-clear:hover { background:#f3f2fa; color:#6154dc; }
.chat-emoji-search { display:flex; flex-shrink:0; align-items:center; gap:8px; width:100%; height:36px; padding:0 9px; border:1px solid #e3e5ee; border-radius:8px; background:#fff; color:#8b92aa; }
.chat-emoji-search:focus-within { border-color:#afa5f4; }
.chat-emoji-search > svg { flex-shrink:0; }
.chat-emoji-search input { width:100%; min-width:0; height:100%; padding:0; border:0; border-radius:0; outline:0; background:transparent; color:#343745; font-size:13px; -webkit-appearance:none; appearance:none; }
.chat-emoji-search input:focus-visible { outline:0; }
.chat-emoji-search input::placeholder { color:#9197ac; opacity:1; }
.chat-emoji-search input::-webkit-search-cancel-button { display:none; }
.chat-emoji-categories { display:flex; flex-shrink:0; justify-content:space-between; overflow-x:auto; gap:2px; min-height:42px; margin-top:7px; border-bottom:1px solid #f0f0f5; scrollbar-width:none; }
.chat-emoji-categories::-webkit-scrollbar { display:none; }
.chat-emoji-category { position:relative; display:grid; place-items:center; flex:1 0 36px; min-width:36px; height:40px; padding:0; border:0; border-radius:8px 8px 0 0; background:transparent; color:#6e7386; }
.chat-emoji-category:hover { background:#f6f5fc; }
.chat-emoji-category-active { background:#f5f3ff; color:#7163ef; }
.chat-emoji-category-active::after { content:''; position:absolute; inset-inline:7px; bottom:0; height:2px; border-radius:2px; background:#8272f5; }
.chat-emoji-scroll { overflow-y:auto; min-height:0; max-height:278px; flex:1 1 auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#dedfe9 transparent; padding-bottom:3px; }
.chat-emoji-section { margin:0; padding:0; }
.chat-emoji-section h3 { margin:10px 4px 5px; color:#7d8296; font-size:11px; line-height:16px; font-weight:500; }
.chat-emoji-grid { display:grid; grid-template-columns:repeat(8, minmax(0, 1fr)); gap:0; }
.chat-emoji-cell { display:grid; place-items:center; min-width:0; height:40px; padding:0; border:0; border-radius:8px; background:transparent; color:#272834; }
.chat-emoji-cell:hover, .chat-emoji-cell:focus-visible { background:#eeebff; }
.chat-emoji-cell > span { display:block; font-family:"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size:25px; line-height:1; }
.chat-emoji-empty { margin:18px 6px 22px; color:#858ba0; font-size:12px; line-height:1.6; }
.chat-emoji-notice { flex-shrink:0; margin:7px 3px 0; padding:7px 8px; border-radius:7px; background:#fff4e9; color:#925e2c; font-size:11px; line-height:1.5; }
.chat-emoji-backdrop { position:fixed; z-index:1399; inset:0; background:#22243a29; touch-action:none; }
@media (max-width:760px) {
  .chat-emoji-trigger.chat-emoji-trigger { flex-basis:44px; width:44px; height:44px; }
  .chat-emoji-panel-mobile { border-radius:18px; padding:10px 12px; padding-bottom:max(10px, env(safe-area-inset-bottom, 0px)); }
  .chat-emoji-panel-mobile .chat-emoji-heading { height:34px; margin-bottom:7px; }
  .chat-emoji-panel-mobile .chat-emoji-heading strong { color:#424652; font-size:14px; }
  .chat-emoji-panel-mobile .chat-emoji-close { width:44px; height:44px; }
  .chat-emoji-panel-mobile .chat-emoji-search { height:44px; }
  .chat-emoji-panel-mobile .chat-emoji-search input { font-size:16px; }
  .chat-emoji-panel-mobile .chat-emoji-clear { width:44px; height:44px; }
  .chat-emoji-panel-mobile .chat-emoji-category { flex-basis:44px; min-width:44px; height:44px; }
  .chat-emoji-panel-mobile .chat-emoji-categories { min-height:46px; }
  .chat-emoji-panel-mobile .chat-emoji-grid { grid-template-columns:repeat(auto-fill, minmax(44px, 1fr)); }
  .chat-emoji-panel-mobile .chat-emoji-cell { min-width:44px; height:44px; }
  .chat-emoji-panel-mobile .chat-emoji-cell > span { font-size:27px; }
  .chat-emoji-panel-mobile .chat-emoji-scroll { max-height:296px; }
}
.chat-emoji-panel.chat-emoji-panel-compact { padding:8px; }
.chat-emoji-panel-compact .chat-emoji-heading { height:0; margin:0; }
.chat-emoji-panel-compact .chat-emoji-heading strong { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.chat-emoji-panel-compact .chat-emoji-close { position:absolute; top:8px; right:8px; width:44px; height:44px; }
.chat-emoji-panel-compact .chat-emoji-search { width:calc(100% - 50px); height:44px; }
.chat-emoji-panel-compact .chat-emoji-categories { display:none; }
.chat-emoji-panel-compact .chat-emoji-scroll { margin-top:6px; }
.chat-emoji-panel-compact .chat-emoji-notice { max-height:36px; overflow:auto; }
