/* Sélecteur d'émojis — monté dans <body>, donc jamais coupé par le panneau communauté. */
.emojiPickerBackdrop{position:fixed;inset:0;z-index:400;background:transparent}
.emojiPicker{position:fixed;z-index:401;display:flex;flex-direction:column;width:min(348px,calc(100vw - 16px));height:min(420px,calc(100vh - 16px));max-height:calc(100dvh - 16px);overflow:hidden;border:1px solid var(--line2);border-radius:16px;background:var(--panel);color:var(--paper);box-shadow:0 22px 70px rgba(0,0,0,.5);animation:emojiPickerIn .16s var(--ease) both}
.emojiPicker.hidden,.emojiPickerBackdrop.hidden{display:none!important}
.emojiPickerHead{display:flex;align-items:center;gap:6px;padding:8px 8px 6px 10px;border-bottom:1px solid var(--line)}
.emojiQuick{display:flex;flex:1;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}
.emojiQuick::-webkit-scrollbar{display:none}
.emojiPickerClose{flex:0 0 auto;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:21px;line-height:1}
.emojiPickerClose:hover{background:rgba(127,127,127,.14);color:var(--paper)}
.emojiTabs{display:flex;gap:2px;padding:5px 8px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.emojiTabs::-webkit-scrollbar{display:none}
.emojiTab{flex:0 0 auto;width:36px;height:34px;border:0;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;background:transparent;font-size:17px;line-height:1;opacity:.55;transition:opacity .15s,background .15s}
.emojiTab[hidden]{display:none}
.emojiTab:hover{opacity:.9;background:rgba(127,127,127,.1)}
.emojiTab.isActive{opacity:1;border-bottom-color:var(--red2)}
.emojiScroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 8px 12px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.emojiScroll:focus-visible{outline:2px solid rgba(196,59,47,.45);outline-offset:-2px}
.emojiSection[hidden]{display:none}
.emojiSection h4{position:sticky;top:0;z-index:1;margin:0;padding:9px 2px 5px;background:var(--panel);color:var(--muted);font:600 9px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.emojiGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:1px}
.emojiBtn{display:grid;place-items:center;height:38px;padding:0;border:0;border-radius:9px;background:transparent;font-size:22px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .12s,transform .12s}
.emojiBtn:hover,.emojiBtn:focus-visible{background:rgba(127,127,127,.16);outline:none;transform:scale(1.14)}
.emojiBtn.isMine{background:rgba(196,59,47,.2);box-shadow:inset 0 0 0 1px rgba(196,59,47,.5)}
.emojiQuick .emojiBtn{flex:1 1 0;min-width:28px;max-width:40px;height:36px;font-size:20px}
.communityReaction span,.communityAddReaction{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",Inter,system-ui,sans-serif}
.communityAddReaction{min-height:30px;padding:5px 9px;border:1px solid rgba(127,127,127,.22);border-radius:999px;background:rgba(127,127,127,.06);color:var(--muted);font-size:9px}
.communityAddReaction:hover{color:var(--paper);border-color:rgba(196,59,47,.35)}
@keyframes emojiPickerIn{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}

@media(max-width:620px){
  .emojiPickerBackdrop{background:rgba(5,6,8,.55);backdrop-filter:blur(2px)}
  .emojiPicker{inset:auto 0 0 0!important;left:0!important;top:auto!important;width:100%;height:min(66dvh,520px);max-height:none;border-radius:20px 20px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0);animation:emojiSheetIn .22s var(--ease) both}
  .emojiPicker:before{content:"";display:block;width:38px;height:4px;margin:8px auto 0;border-radius:3px;background:rgba(127,127,127,.4);flex:0 0 auto}
  .emojiGrid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}
  .emojiBtn{height:44px;font-size:25px}
  .emojiQuick .emojiBtn{max-width:44px;height:42px;font-size:22px}
  .communityAddReaction{min-height:36px}
  html.emojiPickerOpen,html.emojiPickerOpen body{overflow:hidden}
}
@keyframes emojiSheetIn{from{transform:translateY(100%)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.emojiPicker{animation:none}.emojiBtn{transition:none}}
