/* Subtle motion for auth screens & logged-in app (not landing) */
@media (prefers-reduced-motion: no-preference) {
  @keyframes app-fade-up {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes app-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  .auth-page.active:not(#auth-landing) .auth-box {
    animation: app-fade-up 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  #main-nav.app-nav-in {
    animation: app-fade-in 0.35s ease both;
  }

  .motion-rise {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .motion-rise.motion-visible {
    opacity: 1;
    transform: translateY(0);
  }

  #auth-landing .motion-rise { opacity: 1; transform: none; transition: none; }

  .post-card,
  .card {
    transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.22s ease;
  }

  .post-card:hover,
  .card:hover {
    transform: translateY(-2px);
  }

  .nav-link,
  .sub-nav-item {
    transition: color 0.15s ease, background 0.15s ease, transform 0.15s ease;
  }

  .nav-link:active,
  .sub-nav-item:active {
    transform: scale(0.98);
  }

  .auth-submit,
  .btn-action,
  .lp-btn {
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
  }

  .auth-submit:active,
  .btn-action:active {
    transform: scale(0.98);
  }

  .tss-loader .spinner {
    animation: tss-spin 0.7s linear infinite, app-fade-in 0.3s ease both;
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-rise {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
