/* TeamMike Training System 1.9.8.26 — Smart WebView Navigation Feedback */
.tm-app .xtr-webview-nav-progress {
  position: fixed;
  z-index: 2147483000;
  left: 0;
  top: var(--xtr-webview-nav-top, 0px);
  width: 100%;
  height: 2px;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  transition: opacity .12s ease;
}
.tm-app .xtr-webview-nav-progress::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--xtr-training-red, #f40b10);
  box-shadow: 0 0 10px rgba(244,11,16,.72), 0 0 3px rgba(244,11,16,.9);
  transform: scaleX(.035);
  transform-origin: left center;
}
.tm-app.xtr-webview-nav-loading .xtr-webview-nav-progress { opacity: 1; }
.tm-app.xtr-webview-nav-loading .xtr-webview-nav-progress::before {
  animation: xtrWebviewNavProgress 5.2s cubic-bezier(.12,.72,.18,1) forwards;
}
.tm-app.xtr-webview-nav-finishing .xtr-webview-nav-progress::before {
  animation: none;
  transform: scaleX(1);
  transition: transform .14s ease-out;
}
@keyframes xtrWebviewNavProgress {
  0% { transform: scaleX(.035); }
  18% { transform: scaleX(.28); }
  48% { transform: scaleX(.52); }
  78% { transform: scaleX(.72); }
  100% { transform: scaleX(.84); }
}
/* Immediate tactile feedback on the destination, without changing navigation logic. */
.tm-app .tm-bottom-nav > a.xtr-nav-pending,
.tm-app .mini-top-menu a.mini-menu-btn.xtr-nav-pending {
  color: var(--xtr-training-red, #f40b10) !important;
}
.tm-app .tm-bottom-nav > a.xtr-nav-pending svg,
.tm-app .mini-top-menu a.mini-menu-btn.xtr-nav-pending svg {
  transform: scale(.92);
  transition: transform .12s ease-out;
}
.tm-app .tm-bottom-nav > a.xtr-nav-pending {
  background: rgba(244,11,16,.09);
}
@media (prefers-reduced-motion: reduce) {
  .tm-app.xtr-webview-nav-loading .xtr-webview-nav-progress::before { animation: none; transform: scaleX(.65); }
  .tm-app .tm-bottom-nav > a.xtr-nav-pending svg,
  .tm-app .mini-top-menu a.mini-menu-btn.xtr-nav-pending svg { transform: none; }
}
