/* GridYX Motion v1.1. Import after gridyx.tokens.css. Opt-in via data-gx-motion-root. */
[data-gx-motion-root] {
  --gx-motion-stagger-brand: 40ms;
  --gx-motion-stagger-list: 30ms;
  --gx-motion-highlight: 1200ms;
  --gx-motion-pending: 1500ms;
  --gx-motion-skeleton: 1800ms;
  --gx-motion-distance-control: 4px;
  --gx-motion-distance-list: 8px;
  --gx-motion-distance-panel: 16px;
  --gx-motion-scale-press: .985;
  --gx-motion-scale-dialog: .98;
  --gx-motion-scale-success: 1.08;
  --gx-motion-scale-core: .9;
  --gx-motion-scale-satellite: .6;
}
[data-gx-motion-root] .gx-motion-button {
  transition: background-color var(--motion-micro, 120ms) var(--ease-out, ease-out),
    transform var(--motion-micro, 120ms) var(--ease-out, ease-out);
}
[data-gx-motion-root] .gx-motion-button:active:not(:disabled) {
  transform: scale(var(--gx-motion-scale-press));
}
[data-gx-motion-root] .gx-motion-symbol circle { transform-box: fill-box; transform-origin: center; }
[data-gx-motion-root] .gx-motion-dialog::backdrop { background: rgb(0 0 0 / .62); }
[data-gx-motion-root] .gx-motion-dialog[open]::backdrop {
  animation: gx-motion-backdrop-in var(--motion-standard, 200ms) var(--ease-out, ease-out);
}
@keyframes gx-motion-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
[data-gx-motion-root][data-gx-motion-preference="reduce"] *,
[data-gx-motion-root][data-gx-motion-preference="reduce"] *::before,
[data-gx-motion-root][data-gx-motion-preference="reduce"] *::after,
[data-gx-motion-root][data-gx-motion-preference="reduce"] .gx-motion-dialog::backdrop {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}
[data-gx-motion-root][data-gx-motion-preference="reduce"] .gx-motion-button:active { transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-gx-motion-root] *, [data-gx-motion-root] *::before, [data-gx-motion-root] *::after,
  [data-gx-motion-root] .gx-motion-dialog::backdrop {
    animation: none !important; transition: none !important; scroll-behavior: auto !important;
  }
  [data-gx-motion-root] .gx-motion-button:active { transform: none; }
}
