/* Emoji panel in Connect (connect-emoji.js) */
#cnCompose { position: relative; }
.ce-btn.ce-inbox { flex: none; width: 40px; height: 40px; margin-right: 6px; align-self: flex-end; color: #cdd2da; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 50% !important; }
.ce-btn.ce-inbox:hover { color: #fbbf24; border-color: rgba(251, 191, 36, 0.5); }
.ce-btn.ce-inbox svg { width: 20px; height: 20px; }
.ce-btn.is-on { color: #fbbf24; background: rgba(251, 191, 36, 0.12); }
.ce-panel { position: absolute; left: 20px; bottom: calc(100% - 6px); z-index: 40; display: flex; flex-direction: column; width: min(380px, calc(100% - 40px)); height: 360px; overflow: hidden; color: #cdd2da; background: #10182f; border: 1px solid rgba(120, 170, 255, 0.25); border-radius: 16px !important; box-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.9); animation: ce-in 0.18s ease-out; }
.ce-panel[hidden] { display: none; }
.ce-top { display: flex; align-items: center; gap: 8px; padding: 10px 10px 6px; }
.ce-search { flex: 1; min-width: 0; height: 34px; padding: 0 12px; color: #e8ecf5; font: 400 0.86rem Inter, sans-serif; background: rgba(4, 8, 18, 0.7); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 10px !important; }
.ce-search:focus { outline: none; border-color: rgba(34, 197, 94, 0.6); }
.ce-tones { display: flex; gap: 1px; }
.ce-tone { width: 24px; height: 28px; padding: 0; font-size: 15px; line-height: 1; background: none; border: 0; border-radius: 6px !important; cursor: pointer; opacity: 0.55; }
.ce-tone.is-on { opacity: 1; background: rgba(255, 255, 255, 0.1); }
.ce-tabs { display: flex; gap: 2px; padding: 0 8px 6px; border-bottom: 1px solid rgba(255, 255, 255, 0.07); overflow-x: auto; scrollbar-width: none; }
.ce-tabs::-webkit-scrollbar { display: none; }
.ce-tab { flex: none; width: 34px; height: 32px; padding: 0; font-size: 18px; line-height: 1; background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 8px 8px 0 0 !important; cursor: pointer; filter: grayscale(0.6); opacity: 0.75; }
.ce-tab:hover { background: rgba(255, 255, 255, 0.06); opacity: 1; }
.ce-tab.is-on { border-bottom-color: #22c55e; filter: none; opacity: 1; }
.ce-tab:focus-visible, .ce-e:focus-visible, .ce-tone:focus-visible { outline: 2px solid #7cc4ff; outline-offset: 1px; }
.ce-grid { flex: 1; min-height: 0; overflow-y: auto; padding: 6px 8px 10px; overscroll-behavior: contain; }
.ce-h { margin: 4px 4px 6px; color: #8f97a8; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.ce-cells { display: grid; grid-template-columns: repeat(auto-fill, minmax(38px, 1fr)); gap: 2px; }
.ce-e { height: 38px; padding: 0; font-size: 24px; line-height: 1; background: none; border: 0; border-radius: 10px !important; cursor: pointer; transition: transform 0.12s, background 0.12s; }
.ce-e:hover { background: rgba(255, 255, 255, 0.08); transform: scale(1.18); }
.ce-e.is-pop { animation: ce-pop 0.3s ease-out; }
.ce-none { margin: 20px 6px; color: #8f97a8; font-size: 0.86rem; text-align: center; }
@keyframes ce-in { from { opacity: 0; transform: translateY(8px) scale(0.98); } }
@keyframes ce-pop { 50% { transform: scale(1.35); } }
@media (max-width: 640px) {
  .ce-panel { position: fixed; left: 0; right: 0; bottom: calc(62px + env(safe-area-inset-bottom, 0px)); z-index: 2147483000; width: auto; height: min(48vh, 360px); border-radius: 18px 18px 0 0 !important; border-bottom: 0; }
  html:not(:has(.as-tabs)) .ce-panel { bottom: 0; } /* no bottom menu: the sheet sits on the bottom edge */
  .ce-e { height: 42px; font-size: 26px; }
  .ce-btn.ce-inbox { width: 38px; height: 38px; margin-right: 4px; }
}
@media (prefers-reduced-motion: reduce) { .ce-panel, .ce-e.is-pop { animation: none; } .ce-e:hover { transform: none; } }
/* The smallest phones (320px): the tabs shrink a little to fit the picker instead of scrolling sideways (founder
   2026-10-12: no sideways scrolling in Connect). */
.ce-tab { flex: 1 1 34px; width: auto; min-width: 26px; max-width: 34px; }
