/* Glampfire motion policy: the app should feel instant.

   - Things people do many times a day (hover, selection, switching rooms, typing,
     keyboard shortcuts, reacting) never animate.
   - Pressing a button gives a 100ms scale, so the UI feels like it heard you.
   - Occasional spatial changes (mobile drawer) move once, under 200ms, strong ease-out.
   - No cross-page transitions, no smooth scrolling, no bouncing, nothing infinite
     except loading spinners.

   Selectors are prefixed with `html` so they outrank Campfire's stylesheets
   regardless of load order. */
:root {
  --gf-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --gf-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
}

/* Jumping to a message or the newest message is immediate. */
html,
html .overflow-x,
html .overflow-y { scroll-behavior: auto; }

/* Campfire fades hover rings and colors on every control; make them immediate. */
html :where(button, input, textarea, summary, .input, .btn, .input--actor, a) {
  transition: none;
}

/* Toggles still slide, but only just. */
html .switch__btn,
html .switch__btn::before { transition-duration: 100ms; transition-timing-function: var(--gf-ease-out); }

/* Reactions appear and disappear without a bounce. */
html .boost__form.expanded,
html .boost--deleting { animation: none; }

/* Copy confirmation: a quick tick instead of a one-second flourish. */
html .btn--success { animation-duration: 300ms; }
html .btn--success img { animation-duration: 200ms; }

/* No attention-seeking pulses. */
html .btn--pulsing,
html .message-area__return-to-latest { animation: none; outline: 0; }

/* Notices show immediately and fade out on their own (removal waits for animationend). */
html .flash__inner { animation-delay: 0ms; }

/* Press feedback, the one interaction animation everywhere. */
html :is(.nav-button, .rail__item, .rail__logo, .rail__avatar, .composer__tool, .composer__send, .sidebar__icon-button, .meeting-button, .meeting-tile__pin):active:not(:disabled) {
  scale: 0.97;
}

html :is(.nav-button, .rail__item, .rail__logo, .rail__avatar, .composer__tool, .composer__send, .sidebar__icon-button, .meeting-button, .meeting-tile__pin) {
  transition: scale 100ms var(--gf-ease-out);
}
