#reaction-canvas{position:fixed;inset:0;pointer-events:none;z-index:25}
#reaction-dock{position:fixed;right:16px;bottom:88px;z-index:35;width:min(270px,calc(100vw - 24px));background:rgba(36,37,40,.96);color:#fff;border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.25);overflow:hidden;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px)}
#reaction-dock .rd-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:13px;font-weight:850;letter-spacing:.02em;background:rgba(255,255,255,.03)}
#reaction-dock .rd-head button{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;border-radius:10px;width:32px;height:32px;font-size:20px;line-height:1;cursor:pointer}
#reaction-dock .rd-content{padding:14px}
#reaction-dock.is-collapsed{width:auto;border-radius:999px}#reaction-dock.is-collapsed .rd-content{display:none}#reaction-dock.is-collapsed .rd-head{padding:6px 7px 6px 14px;gap:9px}#reaction-dock.is-collapsed .rd-head span{font-size:11px}
#reaction-dock .rd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
#reaction-dock .rd-reaction{appearance:none;border:0;border-radius:14px;padding:9px 0;font-size:22px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;background:#404149;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
#reaction-dock .rd-reaction span{display:inline-block;transform:translateY(1px)}
#reaction-dock .rd-reaction:hover{transform:translateY(-2px) scale(1.02)}
#reaction-dock .rd-reaction:active{transform:scale(.90)}#reaction-dock .rd-reaction:active span{animation:reaction-pop .3s ease-out}@keyframes reaction-pop{0%{transform:scale(.7) translateY(2px)}60%{transform:scale(1.2) translateY(-4px)}100%{transform:scale(1) translateY(1px)}}
#reaction-dock .rd-reaction.ai{background:linear-gradient(180deg,rgba(255,221,45,.22),rgba(255,185,56,.12))}
#reaction-dock .rd-reaction.human{background:linear-gradient(180deg,rgba(125,193,255,.22),rgba(212,164,255,.12))}
#reaction-dock .rd-teams{display:flex;justify-content:space-between;gap:10px;margin-top:13px;font-size:12px;font-weight:760;color:#ebebea}
#reaction-dock .rd-meter{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px}
#reaction-dock .rd-meter span{display:block;height:100%;background:linear-gradient(90deg,#ffd43a,#7fc1ff);transition:width .18s ease}
#reaction-dock .rd-foot{margin-top:10px;font-size:12px;line-height:1.45;color:#f1f1ee;min-height:34px}
#reaction-dock .rd-sub{margin-top:5px;font-size:11px;color:#bbbcc3}
#reaction-dock .rd-switch{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:11px;color:#d9dadf}
#reaction-dock .rd-switch input{accent-color:#ffdd2d}
.live-results{margin-top:10px;display:grid;gap:10px}.live-summary{font-size:12px;color:#767a75}.live-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:9px;align-items:center}.live-caption{font-size:12px}.live-count{font-size:12px;font-weight:850;text-align:right}.live-bar{height:8px;border-radius:999px;background:#ecece8;overflow:hidden;margin-top:4px}.live-bar i{display:block;height:100%;background:#ffdd2d}.live-poll-footer{font-size:12px;color:#767a75;margin-top:10px}
@media(max-width:760px){#reaction-dock{right:8px;left:auto;bottom:72px;width:min(260px,calc(100vw - 16px))}#reaction-dock.is-collapsed{width:auto}}
