/* Compact local Unicode picker. Existing post and media layout remains unchanged. */
.reactions{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .4rem;margin:.6rem 0 .35rem;font-size:.85rem;overflow-wrap:anywhere}
article>.reactions{margin-left:1.25rem;margin-right:1.25rem}
.reactions .reaction-chip,.reaction-choices button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:38px;margin:0;padding:.15rem .55rem;border:1px solid var(--line,#acbcb5);border-radius:.4rem;background:var(--paper,#fff);color:var(--ink,#033);font:inherit;line-height:1.4;text-decoration:none;cursor:pointer;box-sizing:border-box}
.reactions .reaction-chip[aria-pressed=true],.reaction-choices button[aria-pressed=true],.reaction-dialog .emoji-option[aria-pressed=true]{border-color:var(--ink,#033);box-shadow:inset 0 0 0 1px var(--ink,#033);background:var(--yellow,#fff1a0);font-weight:700}
.reaction-chip[aria-pressed=true]::after{content:'✓';font-size:.75rem}
.reaction-open{padding:.3rem;min-width:38px;min-height:38px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line,#acbcb5);border-radius:.35rem;text-decoration:none}
.reaction-open svg{display:block;flex:none;width:22px;height:22px}
.reaction-open:hover{background:var(--warm,#fff6ce);border-color:var(--ink,#033)}
.reaction-emoji,.emoji-option,.reaction-choices button{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-weight:400;font-size:1.2rem}
.reaction-emoji{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:1.65em;line-height:1.65;padding:.04em .08em}
.reaction-status{flex-basis:100%;font-size:.85rem}.reaction-status:empty{display:none}
.reaction-dialog{width:min(25rem,calc(100% - 1rem));max-width:calc(100% - 1rem);max-height:calc(100dvh - 1.5rem);box-sizing:border-box;padding:.55rem;border:1px solid var(--ink,#033);border-radius:.35rem;background:var(--paper,#fff);color:var(--ink,#033);overflow:auto;overflow-wrap:anywhere}
.reaction-dialog::backdrop{background:#001e2099}
.reaction-dialog--details{width:min(22rem,calc(100% - 1rem))}
.reaction-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 0 .25rem}
.reaction-dialog-head h2{font-size:1rem;margin:0}.reaction-dialog-head button{flex:none;width:44px;min-height:44px;margin:0;padding:0;background:transparent;color:inherit;border:0;font-size:1.4rem}
.emoji-search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reaction-dialog input[type=search]{width:100%;min-height:40px;box-sizing:border-box;padding:.4rem .55rem;font-size:.9rem;margin:0}
.emoji-categories{display:flex;gap:1px;overflow-x:auto;scrollbar-width:none;margin:.3rem 0;padding:2px 0;scroll-padding:3px}
.reaction-dialog .emoji-category{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-height:40px;margin:0;padding:0;border:1px solid transparent;border-radius:.2rem;background:transparent;color:inherit;font-size:1.15rem;line-height:1.5}
.emoji-category[aria-pressed=true]{background:var(--warm,#fff6ce);border-color:var(--ink,#033)}
.emoji-grid,.reaction-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:1px;align-content:start}
.reaction-choices{background:none;border:0;padding:0}
.reaction-dialog .emoji-option{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin:0;padding:.15rem;border:1px solid transparent;border-radius:.25rem;background:transparent;color:inherit;cursor:pointer;line-height:1.5}
.reaction-dialog .emoji-option:hover{background:var(--warm,#fff6ce)}
.emoji-results{height:min(17rem,45dvh);overflow:auto;overscroll-behavior:contain;padding:3px;scroll-padding:3px;border-top:1px solid var(--line,#acbcb5)}
.emoji-empty{font-size:.9rem;margin:.5rem 0}.emoji-empty[hidden]{display:none}
.reactions :focus-visible,.reaction-dialog :focus-visible,.reaction-choices :focus-visible{outline:2px solid var(--ink,#033);outline-offset:1px}
.reaction-totals,.reaction-people{padding:0;margin:.15rem 0;list-style:none;max-height:50dvh;overflow:auto}
.reaction-totals li,.reaction-people li{display:flex;align-items:center;gap:.4rem;margin:0;padding:.15rem 0;font-size:.9rem;overflow-wrap:anywhere}
.reaction-dialog [data-reaction-remove]{margin:.4rem 0 0;padding:0;border:0;background:none;box-shadow:none}
.reaction-dialog [data-reaction-remove] button{min-height:40px;margin:0;padding:.35rem .6rem;border:1px solid var(--line,#acbcb5);background:transparent;color:var(--ink,#033);font-size:.85rem;font-weight:400}
.reaction-dialog p{font-size:.9rem;margin:.5rem 0}
@media(max-width:600px){article>.reactions{margin-left:.9rem;margin-right:.9rem}.reactions .reaction-chip,.reaction-open{min-height:44px}.reaction-dialog .emoji-category{flex-basis:40px;width:40px;min-height:44px}.reaction-dialog .emoji-option{min-height:44px}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr))}}

.reaction-dialog:not(.reaction-dialog--details) .reaction-dialog-head{height:0;margin:0}
.reaction-dialog:not(.reaction-dialog--details) .reaction-dialog-head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reaction-dialog:not(.reaction-dialog--details) [data-reaction-close]{position:absolute;top:.4rem;right:.4rem}
.reaction-dialog:not(.reaction-dialog--details) input[type=search]{width:calc(100% - 48px);min-height:44px}

.emoji-categories::-webkit-scrollbar{display:none}

@media(max-width:600px){.reaction-open{min-width:44px}}
