/* The same motion timings on every route; Home keeps its existing hero scene. */
@keyframes page-content-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.page-enter { animation: page-content-in 280ms ease-out; }
.forum-account-menu, .forum-search-panel { animation: page-content-in 180ms ease-out; }
.panel-security, .panel-account, .panel-metrics, .panel-shell > .panel-grid,
.panel-shell > .panel-block, .panel-shell > .panel-table-wrap {
  animation: page-content-in 240ms ease-out;
}
.panel-button, .panel-tabs button, .panel-subnav button,
.forum-button, .forum-icon-button, .forum-tools button {
  transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease,
              box-shadow 250ms ease, filter 250ms ease, transform 250ms ease;
}
.panel-button.primary:hover:not(:disabled) {
  box-shadow: 0 0 18px rgba(0,149,185,.28);
}
.panel-shell input, .panel-shell select, .panel-shell textarea {
  transition: border-color 250ms ease, box-shadow 250ms ease;
}
.panel-shell input:focus, .panel-shell select:focus, .panel-shell textarea:focus {
  border-color: #0095b9;
  box-shadow: 0 0 0 2px rgba(0,149,185,.16);
}
.forum-shell.reduce-motion *, .forum-shell.reduce-motion *::before, .forum-shell.reduce-motion *::after {
  animation: none !important; transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  body #app .page-enter, body #app .panel-shell *, body #app .forum-shell *,
  body #app .site-header *, body #app .site-header *::before,
  body #app .site-header *::after { animation: none !important; transition: none !important; }
}
