/* Feedback somente durante interação; sem animação em repouso. */
button:not(:disabled):not([aria-disabled="true"]) { transition: background-color 120ms, border-color 120ms, color 120ms, transform 100ms, box-shadow 120ms; }
@media (hover: hover) {
  button:not(:disabled):not([aria-disabled="true"]):hover { transform: translateY(-1px); box-shadow: 0 0 0 1px #8d35434d; }
}
button:not(:disabled):not([aria-disabled="true"]):active { transform: translateY(1px) scale(.985); }
button.cem-feedback:not(:disabled) { animation: cem-click 140ms ease-out; }
button:disabled { transform: none; box-shadow: none; animation: none; }
@keyframes cem-click { from { box-shadow: 0 0 0 1px #b85b70; } to { box-shadow: 0 0 0 1px transparent; } }
.cem-settings { opacity: 0; transform: translateY(4px); transition: opacity 120ms, transform 120ms, display 120ms allow-discrete, overlay 120ms allow-discrete; }
.cem-settings[open] { opacity: 1; transform: translateY(0); }
#chatPanel { opacity: 1; transform: translateY(0); transition: opacity 100ms, transform 100ms, display 100ms allow-discrete; }
#chatPanel[hidden] { opacity: 0; transform: translateY(3px); }
@starting-style { .cem-settings[open], #chatPanel:not([hidden]) { opacity: 0; transform: translateY(4px); } }
.cem-message-new { animation: cem-message 120ms ease-out; }
@keyframes cem-message { from { opacity: .3; transform: translateY(2px); } to { opacity: 1; transform: translateY(0); } }
.effects-off button, .effects-off .cem-settings, .effects-off #chatPanel, .effects-off .cem-message-new { animation: none !important; transition: none !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  button, .cem-settings, #chatPanel, .cem-message-new { animation: none !important; transition: none !important; transform: none !important; }
}
