/* Compact, animated comment reactions. Counts remain server authoritative. */
.post-reactions.emoji-reactions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:16px 0 6px;position:relative;isolation:isolate}
.emoji-reactions .reaction-prompt{font-size:23px;color:var(--muted);margin-right:3px;line-height:1}
.post-reactions.emoji-reactions button{position:relative;display:inline-flex;align-items:center;gap:7px;min-width:56px;min-height:34px;padding:4px 9px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;line-height:1;overflow:visible;transition:border-color .16s,background .16s,transform .16s}
.emoji-reactions .reaction-emoji{display:inline-block;font-size:21px;line-height:1;transform-origin:50% 85%;font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif}
.emoji-reactions .reaction-count{font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}
.post-reactions.emoji-reactions button:hover:not(:disabled){transform:translateY(-2px);border-color:var(--green)}
.post-reactions.emoji-reactions button[aria-pressed=true]{border-color:var(--green);background:color-mix(in srgb,var(--green) 12%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--green) 20%,transparent)}
.post-reactions.emoji-reactions button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.post-reactions.emoji-reactions button:disabled{cursor:default;opacity:.7}
.emoji-reactions .reaction-pop .reaction-emoji{animation:reaction-bounce .6s cubic-bezier(.2,.8,.3,1)}
.emoji-reactions .reaction-pop .reaction-count{animation:reaction-count .4s ease}
.emoji-reactions .reaction-pop:after{content:'✦';position:absolute;top:-13px;right:3px;color:var(--green);pointer-events:none;animation:reaction-spark .6s ease-out both}
.emoji-reactions .reaction-signin{font-size:11px;color:var(--muted);margin-left:4px}
.emoji-reactions .reaction-status{width:100%;font-size:11px;color:var(--muted);min-height:0}
.emoji-reactions .reaction-status:empty{display:none}
@keyframes reaction-bounce{0%,100%{transform:translateY(0) scale(1) rotate(0)}30%{transform:translateY(-14px) scale(1.65) rotate(-14deg)}55%{transform:translateY(-6px) scale(1.3) rotate(12deg)}78%{transform:translateY(-2px) scale(1.1) rotate(-5deg)}}
@keyframes reaction-count{40%{transform:translateY(-3px)}100%{transform:translateY(0)}}
@keyframes reaction-spark{0%{opacity:0;transform:scale(.4)}35%{opacity:1}100%{opacity:0;transform:translate(7px,-15px) scale(1.2)}}
@media(prefers-reduced-motion:reduce){.post-reactions.emoji-reactions button{transition:none}.emoji-reactions .reaction-pop .reaction-emoji,.emoji-reactions .reaction-pop .reaction-count,.emoji-reactions .reaction-pop:after{animation:none}.emoji-reactions .reaction-pop:after{display:none}}

.emoji-reactions .reaction-emoji{font-family:inherit;font-size:19px}.emoji-reactions .reaction-emoji i{font-size:inherit}.emoji-reactions .reaction-prompt i{font-size:18px}

@media(max-width:1500px){.reaction-manager-layout{grid-template-columns:minmax(0,1fr)!important}}

/* Native radio choices retain arrow-key navigation and submit without JavaScript. */
[data-reaction-editor] .reaction-icon-picker{display:block;border:0;padding:0;margin:22px 0;min-width:0}
[data-reaction-editor] .reaction-icon-picker legend{font-size:12px;font-weight:600;margin-bottom:12px;padding:0}
[data-reaction-editor] .reaction-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;max-height:320px;overflow-y:auto;padding:4px}
[data-reaction-editor] label.reaction-icon-choice{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;margin:0;padding:12px 5px!important;min-height:82px;min-width:0;border:1px solid var(--border,#d9dde4);border-radius:10px;background:var(--panel,#fff);color:var(--text,#243447);cursor:pointer;text-align:center;box-sizing:border-box}
[data-reaction-editor] .reaction-icon-choice input{position:absolute;width:1px!important;height:1px!important;margin:0;padding:0;opacity:0;clip-path:inset(50%)}
[data-reaction-editor] .reaction-icon-choice i{font-size:24px;line-height:1;color:inherit}
[data-reaction-editor] .reaction-icon-choice span{font-size:10px;line-height:1.3;overflow-wrap:anywhere}
[data-reaction-editor] label.reaction-icon-choice:hover{border-color:#2197be;background:color-mix(in srgb,#2197be 6%,var(--panel,#fff))}
[data-reaction-editor] label.reaction-icon-choice:has(input:checked){border-color:#1682aa;box-shadow:0 0 0 1px #1682aa;background:color-mix(in srgb,#2197be 12%,var(--panel,#fff));color:#12789f}
[data-reaction-editor] label.reaction-icon-choice:has(input:focus-visible){outline:2px solid #1682aa;outline-offset:2px}
