/* Feedback never changes layout, hit areas, focus, or readable message geometry. */
.feedback-press { box-shadow: inset 0 1px 2px #27473412; }
:is(.icon-btn,.send-btn,.group-add,.reaction-choice,.reaction-chip).feedback-press { scale: .975; }
:is(.icon-btn,.send-btn,.group-add,.reaction-choice,.reaction-chip) { transition: scale 120ms cubic-bezier(.2,.7,.3,1), background-color 140ms ease; }
.reaction-emoji { display: inline-block; transform-origin: 50% 65%; }
.btn.feedback-complete:disabled { opacity: 1; color: #244b39; background: #e6efc4; border-color: #cad7ab; }
.sidekick-playing-card { transition: transform 260ms cubic-bezier(.22,.72,.26,1); backface-visibility: hidden; }
.sidekick-fan.is-expanded .sidekick-playing-card:nth-child(1) { transform: translateX(-10px) translateY(-1px) rotate(-25deg); }
.sidekick-fan.is-expanded .sidekick-playing-card:nth-child(2) { transform: translateY(-2px) rotate(-1deg); }
.sidekick-fan.is-expanded .sidekick-playing-card:nth-child(3) { transform: translateX(10px) translateY(-1px) rotate(22deg); }
.sidekick-fan:is([data-count="0"],[data-count="1"]).is-expanded .sidekick-playing-card { transform: translateY(-2px) rotate(4deg); }
.feedback-shelf .sidekick-shelf-card { animation: feedback-shelf-arrive 220ms both cubic-bezier(.22,.72,.26,1); }
.feedback-shelf .sidekick-shelf-card:nth-child(2) { animation-delay: 15ms; }
.feedback-shelf .sidekick-shelf-card:nth-child(3) { animation-delay: 30ms; }
.feedback-shelf .sidekick-shelf-card:nth-child(n+4) { animation-delay: 40ms; }
@keyframes feedback-shelf-arrive { from { opacity: .5; transform: translate3d(0,3px,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
.together-feedback-layer { position: fixed; inset: 0; z-index: 2147483000; pointer-events: none !important; overflow: hidden; contain: strict; user-select: none; }
.together-feedback-layer * { pointer-events: none !important; }
.together-feedback-particle { position: absolute; display: block; width: 5px; height: 10px; border-radius: 2px; opacity: 0; font-style: normal; translate: -50% -50%; will-change: transform, opacity; backface-visibility: hidden; }
.together-feedback-particle.is-dot { width: 6px; height: 6px; border-radius: 50%; }
.together-feedback-particle.is-glyph { width: 13px; height: 13px; background: transparent !important; border-radius: 0; font: 15px/13px system-ui,sans-serif; text-align: center; }
.together-feedback-particle.is-heart { width: 14px; height: 14px; font-size: 14px; line-height: 14px; }
.together-feedback-halo { position: absolute; display: block; border: 2px solid #b1cd45; border-radius: 17px; opacity: 0; background: transparent; will-change: transform, opacity; }
.together-feedback-halo.tone-lilac { border-color: #b99bd9; }
@media (prefers-reduced-motion: reduce) {
  .together-feedback-layer { display: none; }
  .feedback-press { scale: none !important; }
  .sidekick-playing-card, :is(.icon-btn,.send-btn,.group-add,.reaction-choice,.reaction-chip) { transition: none !important; }
  .feedback-shelf .sidekick-shelf-card { animation: none !important; }
}
@media (forced-colors: active) {
  .together-feedback-layer { display: none; }
  .feedback-press { outline: 1px solid Highlight; }
}
