/* agents/show.html.erb - keyframe shared with services/show via fade-in-up-xs
   in application.css. */
.agent-show-hero { animation: fade-in-up-xs 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; }
.agent-show-feature { animation: fade-in-up-xs 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.06s forwards; opacity: 0; }
.agent-show-details { animation: fade-in-up-xs 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s forwards; opacity: 0; }

/* reviews/_rating_summary - each star's bar draws in from the left, staggered
   top to bottom by an inline animation-delay. */
.rating-summary-bar { animation: line-draw-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both; }
@media (prefers-reduced-motion: reduce) {
  .rating-summary-bar { animation: none; }
}

/* agents/_share_kit - the owner's share kit. Cards fade up one after the
   other, the accent line draws in under the heading. The buttons hide via
   the [hidden] attribute until share_kit_controller.js finds a share sheet. */
.share-kit-line { transform-origin: left; animation: line-draw-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both; }
.share-kit-card { animation: fade-up-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both; }
.share-kit-card:nth-child(2) { animation-delay: 0.1s; }
.share-kit-card:nth-child(3) { animation-delay: 0.2s; }
.share-kit-btn {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  border: 1px solid var(--border);
  background-color: var(--surface-elevated);
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--page-text);
  transition: background-color 0.15s;
  cursor: pointer;
}
.share-kit-btn:hover { background-color: var(--surface); }
.share-kit-btn:focus-visible { outline: 2px solid var(--border); outline-offset: 2px; }
.share-kit-btn[hidden] { display: none; }
.share-kit-btn-inline { flex: none; }
/* --cta-border keeps it visible on the dark --surface-elevated card. */
.share-kit-btn-primary { background-color: var(--cta-bg); border-color: var(--cta-border); color: var(--cta-text); }
.share-kit-btn-primary:hover { background-color: var(--cta-hover); }
@media (prefers-reduced-motion: reduce) {
  .share-kit-line,
  .share-kit-card { animation: none; }
}

/* agents/_admin_panel - accent underline draws in under the heading, and the
   quick-action confirm dialogs ease in. `scale` (not transform) because
   .confirm-dialog centers itself with a translate transform. */
.admin-panel-line { transform-origin: left; animation: line-draw-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both; }
.admin-confirm-dialog[open] { animation: admin-confirm-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); }
.admin-confirm-dialog[open]::backdrop { animation: admin-confirm-backdrop-in 0.35s ease-out; }
@keyframes admin-confirm-in {
  from { opacity: 0; scale: 0.94; }
  to   { opacity: 1; scale: 1; }
}
@keyframes admin-confirm-backdrop-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-panel-line,
  .admin-confirm-dialog[open],
  .admin-confirm-dialog[open]::backdrop { animation: none; }
}
