body button.emoji-toggle { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; padding:0; border:0; border-radius:50%; background:transparent; color:#5f6368; cursor:pointer; }
body button.emoji-toggle:hover, body button.emoji-toggle[aria-expanded="true"] { background:#c2e7fc; color:#174661; }
.emoji-toggle svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.emoji-toggle:focus-visible { outline:2px solid #6caccd; outline-offset:2px; }
.emoji-panel { position:fixed; z-index:85; box-sizing:border-box; overflow:hidden; padding:8px; border:1px solid #dbe4ef; border-radius:16px; background:#fff; box-shadow:0 12px 35px #1e293b26; overscroll-behavior:contain; }
.emoji-panel[hidden] { display:none; }
.emoji-status { margin:8px; color:#5f6368; font-size:12px; line-height:1.6; }
.emoji-status:empty { display:none; }
.emoji-status button { margin-top:8px; border:0; border-radius:12px; padding:6px 14px; background:#b3e1fa; color:#174661; cursor:pointer; }
.sidelog-emoji-picker { display:flex; flex-direction:column; width:100%; height:var(--emoji-room,300px); max-height:45dvh; color:#263544; font-family:var(--ui-font); }
.emoji-categories { display:grid; grid-template-columns:repeat(9,1fr); flex:0 0 38px; border-bottom:1px solid #edf0f3; }
.emoji-categories button { position:relative; display:grid; place-items:center; min-width:0; padding:0; border:0; background:transparent; color:#5f6368; cursor:pointer; }
.emoji-categories button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.emoji-categories button::after { content:""; position:absolute; right:5px; bottom:0; left:5px; height:3px; border-radius:3px 3px 0 0; background:transparent; }
.emoji-categories button.is-active { color:#174661; }
.emoji-categories button.is-active::after { background:#174661; }
.emoji-category-title { flex:0 0 auto; padding:9px 7px 5px; font-size:14px; }
.emoji-grid { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); align-content:start; gap:2px; min-height:0; padding:2px 5px 8px; overflow-y:auto; scrollbar-width:none; }
.emoji-grid::-webkit-scrollbar { display:none; }
.emoji-grid.is-empty::after { content:"还没有最近使用的表情"; grid-column:1/-1; padding:20px 5px; color:#8b98a7; font-size:12px; }
.emoji-item { display:grid; place-items:center; width:100%; aspect-ratio:1; min-width:0; padding:0; border:0; border-radius:8px; background:transparent; font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; font-size:22px; line-height:1; cursor:pointer; }
.emoji-item:hover,.emoji-item:focus-visible { background:#edf5fb; outline:0; }
@media (max-width:720px) {
    .emoji-panel.is-embedded { position:relative; inset:auto; z-index:6; isolation:isolate; width:100%; max-height:min(44dvh,350px); margin:4px 0 0; padding:5px 0 0; border:0; border-top:1px solid #edf0f3; border-radius:0; background:#fff; box-shadow:none; pointer-events:auto; }
    .emoji-panel.is-embedded .emoji-host { width:100%; overflow:hidden; }
    .emoji-panel.is-embedded .sidelog-emoji-picker { height:min(42dvh,330px); max-height:min(42dvh,330px); }
    .emoji-panel.is-embedded .emoji-grid { grid-template-columns:repeat(9,minmax(0,1fr)); }
    :is(.memo-composer,.composer).emoji-open::before { opacity:0; }
    :is(.memo-composer,.composer).emoji-open textarea { height:86px; min-height:86px; max-height:86px; padding:11px 12px; border-color:#dbe4ef; border-radius:15px; background:#f8fafc; overflow-y:auto; }
    :is(.memo-composer,.composer).emoji-open :is(.memo-controls,.controls) { display:flex; }
}
