/* Emoji copy and paste: scrollable emoji grid. */
.em-nav { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.em-nav .chip { flex-shrink: 0; font: inherit; font-size: 0.85rem; }
.em-scroll { max-height: min(560px, 62vh); overflow-y: auto; padding: 4px 8px 8px; border-radius: var(--r); border: 1px solid var(--line); background: var(--glass-soft); overscroll-behavior: contain; }
.em-h { position: sticky; top: -4px; z-index: 1; margin: 0; padding: 10px 4px 6px; font-size: 0.95rem; background: var(--glass-strong); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
.em-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(46px, 1fr)); gap: 2px; }
.em-btn { display: grid; place-items: center; height: 46px; border: 0; border-radius: 10px; background: none; cursor: pointer; font-size: 1.7rem; line-height: 1; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', sans-serif; transition: transform 0.1s, background 0.1s; }
.em-btn:hover, .em-btn:focus-visible { background: var(--accent-soft); transform: scale(1.12); outline: none; }
.em-btn:focus-visible { box-shadow: var(--ring); }
.em-name { min-height: 1.4em; font-weight: 600; color: var(--ink-2); }
#em-sel { font-size: 1.3rem; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', var(--font); }
#em-tone button { font-size: 1.15rem; padding: 5px 10px; }
