/* Movimento leve, preservando as cores e formas da Turma. */
@media (prefers-reduced-motion: no-preference) {
  .motion-ready .motion-reveal { opacity: 0; transform: translateY(19px); }
  .motion-ready .motion-reveal.motion-visible { opacity: 1; transform: translateY(0); transition: opacity .48s ease var(--motion-delay, 0ms), transform .55s cubic-bezier(.2,.7,.25,1) var(--motion-delay, 0ms); }
  .motion-ready .card, .motion-ready .category, .motion-ready .feature-card { transition: transform .26s cubic-bezier(.2,.7,.25,1), box-shadow .26s ease, opacity .48s ease; }
  .motion-ready .card:active, .motion-ready .category:active, .motion-ready .feature-card:active { transform: scale(.975); }
  .motion-leaving body { opacity: .75; transform: translateY(-5px); transition: opacity .17s ease, transform .17s ease; }
  body { animation: popoca-arrive .32s ease-out both; }
  @keyframes popoca-arrive { from { opacity: .72; transform: translateY(7px); } to { opacity: 1; transform: none; } }
}
.rail-controls-mount { display: flex; margin-left: auto; }
.rail-controls { display: flex; gap: 8px; }
.rail-controls button, .back-to-top { display: grid; place-items: center; border: 2px solid #e5e3f2; border-radius: 50%; background: #fff; color: #352552; font: 900 1.5rem/1 Nunito, system-ui, sans-serif; cursor: pointer; box-shadow: 0 4px 0 rgba(56,43,87,.13); transition: transform .18s ease, box-shadow .18s ease; }
.rail-controls button { width: 38px; height: 38px; }
.rail-controls button:hover, .back-to-top:hover { transform: translateY(-3px); box-shadow: 0 7px 0 rgba(56,43,87,.13); }
.rail-controls button:focus-visible, .back-to-top:focus-visible { outline: 3px solid #8162e8; outline-offset: 3px; }
.back-to-top { position: fixed; z-index: 68; right: 20px; bottom: 22px; width: 48px; height: 48px; opacity: 0; pointer-events: none; transform: translateY(12px); }
.back-to-top.visible { opacity: 1; pointer-events: auto; transform: none; }
@media (max-width: 620px) { .rail-controls-mount { display: none; } .back-to-top { bottom: calc(88px + env(safe-area-inset-bottom)); right: 14px; } }
@media (prefers-reduced-motion: reduce) { .rail-controls button, .back-to-top { transition: none; } }
