.emoji-picker{position:absolute;z-index:18;left:12px;bottom:calc(100% + 6px);width:min(380px,calc(100% - 24px));max-height:min(350px,48dvh);display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #172b4b24;overflow:hidden}
.emoji-picker[hidden]{display:none}
.emoji-heading{display:flex;align-items:center;gap:8px;padding:10px 12px 4px}.emoji-heading strong{font-size:14px}.emoji-heading .icon-button{margin-left:auto;width:32px;height:32px}
.emoji-categories{display:flex;flex-shrink:0;overflow-x:auto;gap:2px;padding:4px 8px;border-bottom:1px solid var(--line)}
.emoji-categories button{white-space:nowrap;padding:7px 8px;min-height:36px;font-size:12px;border-radius:6px}.emoji-categories button[aria-pressed=true]{background:var(--qq-blue-soft);color:var(--qq-blue)}
.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:2px;overflow-y:auto;overscroll-behavior:contain;padding:8px;min-height:0}
.emoji-grid .emoji-item{font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif;font-size:24px;line-height:1;background:transparent;border:0;border-radius:6px;padding:7px 0;min-height:42px;min-width:0;cursor:pointer}.emoji-item:hover,.emoji-item:focus-visible{background:var(--qq-blue-soft);outline:2px solid var(--qq-blue);outline-offset:-2px}
.image-zoom-trigger{cursor:zoom-in}.image-zoom-trigger:focus-visible{outline:3px solid var(--qq-blue);outline-offset:3px}
dialog.app-modal.image-viewer{width:min(1160px,calc(100vw - 24px));height:min(860px,calc(100dvh - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.image-viewer::backdrop{background:#101828bf}.image-viewer .modal-header{padding:12px 16px;gap:12px}.image-viewer .modal-header h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.image-viewer .modal-content{padding:0;display:flex;flex-direction:column;overflow:hidden;min-height:0}.image-viewer .image-viewer-notice{padding:0 16px;margin:0;flex:none;font-size:13px}.image-viewer-notice:empty{display:none}
.image-viewer-stage{flex:1;min-height:0;overflow:auto;background:#f0f3f8;display:grid;place-items:center;padding:12px;overscroll-behavior:contain}
.image-viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;min-height:0;border-radius:4px}
.image-viewer-stage.is-zoomed{display:block}.image-viewer-stage.is-zoomed img{max-width:none;max-height:none;margin:auto}
.image-viewer-controls{display:flex;justify-content:center;gap:8px;padding:12px;flex-wrap:wrap;flex:none;border-top:1px solid var(--line)}.image-viewer-controls a{display:inline-flex;align-items:center;text-decoration:none}.image-viewer-controls button,.image-viewer-controls a{min-height:40px}
@media(max-width:480px){.emoji-heading .tiny{font-size:10px}.image-viewer-controls{gap:5px;padding:8px}.image-viewer-controls button,.image-viewer-controls a{padding:7px 9px;font-size:12px}}
