.caption-inline-editor .emoji-picker { position:absolute; z-index:5; left:50%; transform:translateX(-50%); width:min(340px,calc(100% - 24px)); height:340px; max-height:calc(100% - 24px); display:flex; flex-direction:column; gap:8px; padding:10px; margin:0; overflow:hidden; border:1px solid var(--caption-edge); border-radius:20px; background:var(--caption-glass); box-shadow:0 16px 40px #0003; backdrop-filter:blur(28px) saturate(1.2); -webkit-backdrop-filter:blur(28px) saturate(1.2); animation:emoji-arrive 140ms ease-out; }
.emoji-search-box { display:flex; align-items:center; flex:none; gap:7px; height:36px; padding:0 9px; border-radius:999px; background:var(--pill); }
.emoji-search-box>svg { width:16px; height:16px; flex:none; color:var(--muted); }
.emoji-search-box input { width:0; min-width:0; flex:1; border:0; outline:none; background:transparent; color:var(--ink); font:inherit; font-size:13px; padding:0; }
.emoji-search-box input::-webkit-search-cancel-button { display:none; }
.emoji-search-box:focus-within { box-shadow:0 0 0 2px var(--accent); }
.emoji-picker .emoji-clear { display:grid; place-items:center; width:24px; height:24px; min-height:24px; padding:4px; border-radius:50%; }
.emoji-clear svg { width:14px; height:14px; }
.emoji-picker .emoji-categories { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:0; flex:none; overflow:visible; margin:0; }
.emoji-picker .emoji-categories button { display:grid; place-items:center; padding:6px; width:100%; min-width:0; height:32px; min-height:32px; border-radius:999px; }
.emoji-categories svg { width:19px; height:19px; pointer-events:none; }
.emoji-picker .emoji-categories button[aria-pressed="true"] { background:var(--pill); color:var(--ink); }
.emoji-picker .emoji-results { display:block; position:relative; min-height:0; max-height:none; flex:1; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:none; }
.emoji-results::-webkit-scrollbar { display:none; }
.emoji-section h3 { position:sticky; top:0; z-index:1; margin:0; padding:8px 4px; background:var(--caption-solid); color:var(--muted); font-size:10px; font-weight:550; line-height:16px; letter-spacing:.07em; text-transform:uppercase; }
.emoji-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); }
.emoji-picker .emoji-grid button { display:grid; place-items:center; min-width:0; min-height:38px; height:38px; padding:0; font-size:25px; line-height:1; border-radius:9px; }
.emoji-picker button:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.emoji-empty { text-align:center; color:var(--muted); font-size:13px; padding:32px 0; }
@keyframes emoji-arrive { from { opacity:0; transform:translate(-50%,6px); } to { opacity:1; transform:translate(-50%,0); } }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .caption-inline-editor .emoji-picker { background:var(--caption-solid); } }
@media(max-width:650px) { .caption-inline-editor .emoji-picker { width:calc(100% - 16px); } }
@media(prefers-reduced-motion:reduce) { .caption-inline-editor .emoji-picker { animation:none; } }
