/* Outil · Emoji : seulement ce qui lui est propre (le reste vient de app/kit.css).
   Préfixe des classes : em-
   Deux colonnes : à gauche la grille des caractères (zone de hauteur fixe, qui défile), une ligne d'info (nom, code),
   les actions des récents ; à droite la recherche, les catégories, Majuscules. Au téléphone : recherche et catégories d'abord. */
.em .outil-fixe { align-items: stretch; }
.em-zone { position: relative; height: 340px; overflow-y: auto; overscroll-behavior: contain; padding: 10px; border-radius: 14px;
  background: rgba(242, 240, 235, .025); box-shadow: inset 0 0 0 1px var(--filet-doux); }
@media (min-width: 960px) { .em-zone { height: 480px; padding: 14px; } }
.em-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 6px; }
@media (min-width: 960px) { .em-grille { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 8px; } }
.em-case { aspect-ratio: 1; border: 0; border-radius: 10px; padding: 0; cursor: copy; display: grid; place-items: center; background: rgba(242, 240, 235, .04);
  font: 400 26px/1 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif; color: var(--papier); transition: background .2s var(--courbe), box-shadow .2s var(--courbe); }
@media (min-width: 960px) { .em-case { font-size: 30px; } }
.em-case:hover { background: rgba(242, 240, 235, .09); }
.em-case:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.em-case.copie { animation: em-copie .6s var(--courbe); }
@keyframes em-copie { from { background: rgba(255, 90, 31, .35); box-shadow: inset 0 0 0 1.5px var(--orange); } }
.em-vide { position: absolute; inset: 0; margin: 0; display: grid; place-items: center; padding: 24px; text-align: center; font: var(--valeur); letter-spacing: .06em; color: var(--texte2); }
.em-vide[hidden] { display: none; }
.em-info { height: 1lh; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.em-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.em-actions .pastille { cursor: pointer; }
.em-actions .pastille:hover { translate: none; }
.em-actions .pastille:disabled { opacity: .3; cursor: default; }
.em-categories { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 959px) {
  .em-tete { order: -2; }
  .em-zone, .em-info, .em-actions { order: -1; }
}
