.react-act{align-items:stretch;display:inline-flex;position:relative}.react-act .tb2[aria-expanded=true]{color:var(--moss-deep);background:var(--moss-tint)}.react-panel{z-index:62;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lift,0 10px 30px #00000026);cursor:default;grid-template-columns:repeat(3,minmax(72px,1fr));gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.react-act[data-shape=dock] .react-panel{top:auto;bottom:calc(100% + 10px)}.react-pick{border-radius:var(--r-sm);min-height:56px;color:var(--ink-soft);cursor:pointer;transition:background .18s var(--ease-out), color .18s var(--ease-out);background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;display:flex}.react-pick small{letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:600}.react-pick:hover:not(:disabled){background:var(--moss-tint);color:var(--moss-deep)}.react-pick:focus-visible{outline:2px solid var(--moss);outline-offset:1px}.react-pick:disabled{opacity:.55;cursor:default}.react-error{max-width:240px;color:var(--el-vote-deep);grid-column:1/-1;margin:2px 4px 0;font-size:12px}@media (pointer:coarse){.react-pick{min-height:60px}}@media (width<=720px){.dockrow .react-act[data-shape=dock] .react-panel{top:auto;bottom:calc(var(--path-h,82px) + 90px);position:fixed;left:12px;right:12px;transform:none}}.reaction-layer{z-index:44;pointer-events:none;position:fixed;inset:0}.reaction-seat{contain:paint;visibility:hidden;position:fixed;overflow:hidden}.reaction-mark{left:var(--mark-x);top:var(--mark-y);background:var(--card);width:44px;height:44px;color:var(--moss-deep);border:1px solid var(--line);box-shadow:var(--shadow-soft);opacity:0;animation:reaction-float var(--reaction-ms,4s) var(--ease-out,ease-out) both;border-radius:58% 42% 55% 45%/52% 48% 60% 40%;place-items:center;margin:-22px 0 0 -22px;display:grid;position:absolute}.reaction-mark[data-kind=heart],.reaction-shelf-row[data-kind=heart]{color:var(--el-vote-deep)}.reaction-mark[data-kind=celebrate],.reaction-mark[data-kind=laugh],.reaction-shelf-row[data-kind=celebrate],.reaction-shelf-row[data-kind=laugh]{color:var(--amber-deep)}@keyframes reaction-float{0%{opacity:0;transform:translateY(8px)scale(.92)}8%{opacity:1;transform:translateY(0)scale(1)}75%{opacity:1;transform:translateY(calc(-1 * var(--mark-rise,34px)))}to{opacity:0;transform:translateY(calc(-1 * var(--mark-fall,46px)))}}.reaction-shelf{left:16px;bottom:calc(var(--path-h,82px) + 24px);justify-items:start;gap:6px;display:grid;position:fixed}.reaction-shelf-row{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-soft);color:var(--moss-deep);animation:reaction-fade var(--reaction-ms,4s) var(--ease-out,ease-out) both;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:12px;font-weight:600;display:inline-flex}@keyframes reaction-fade{0%{opacity:0}8%,75%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.reaction-mark{animation-name:reaction-fade}.react-pick{transition:none}}
