.session-timeout-floating-trains { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; user-select: none; }
.session-timeout-floating-train { position: absolute; left: var(--x); top: var(--y); width: clamp(110px, 15vw, var(--width)); height: auto; opacity: .42; filter: drop-shadow(0 8px 10px #102c4540); animation: session-timeout-float var(--duration) ease-in-out var(--delay) infinite; }
@keyframes session-timeout-float {
  0%, 100% { transform: translate3d(-8px, 5px, 0) rotate(var(--tilt)); }
  50% { transform: translate3d(12px, -13px, 0) rotate(calc(var(--tilt) + 4deg)); }
}
@media (prefers-reduced-motion: reduce) { .session-timeout-floating-train { animation: none; transform: rotate(var(--tilt)); } }
@media (max-width: 600px) { .session-timeout-floating-train { width: 125px; opacity: .3; } }
