/* Foguete 3D, viagem com o astronauta montado e microfone 3D do topo (01/11) */
.rocket-3d { display: block; }
.rocket-3d img.rocket { display: block; width: 100%; height: auto; transform: none !important; filter: drop-shadow(0 0 10px rgba(255, 176, 46, .55)); }
.gp-rocket { width: 52px !important; top: -18px !important; right: -14px !important; }
.gp.right .gp-rocket { left: -14px !important; right: auto !important; }
.gp.right .gp-rocket img.rocket { transform: scaleX(-1) !important; }

/* Botão Jogar: foguete 3D maior, saindo da escotilha */
#menu .mb-rocket { overflow: visible; }
#menu .mb-rocket img { width: 54px; height: 54px; margin: -8px -6px -6px -4px; filter: drop-shadow(0 3px 6px rgba(120, 40, 0, .45)); }

/* Viagem: o astronauta atravessa a galáxia montado no foguete */
.travel-rocket { display: none; }
.travel-stars { position: absolute; inset: 0; z-index: 1; opacity: 0; background:
  repeating-linear-gradient(90deg, transparent 0 60px, rgba(255, 255, 255, .5) 60px 61px, transparent 61px 140px) 0 10% / 300px 2px no-repeat,
  repeating-linear-gradient(90deg, transparent 0 90px, rgba(150, 200, 255, .55) 90px 92px, transparent 92px 200px) 0 32% / 420px 2px no-repeat,
  repeating-linear-gradient(90deg, transparent 0 40px, rgba(255, 200, 255, .5) 40px 41px, transparent 41px 120px) 0 58% / 260px 2px no-repeat,
  repeating-linear-gradient(90deg, transparent 0 70px, rgba(255, 255, 255, .45) 70px 71px, transparent 71px 160px) 0 80% / 340px 2px no-repeat; }
.travel.go .travel-stars { animation: streaks .5s linear infinite, fadeIn .4s .3s forwards; }
@keyframes streaks { from { background-position: 100vw 10%, 100vw 32%, 100vw 58%, 100vw 80%; } to { background-position: -300px 10%, -420px 32%, -260px 58%, -340px 80%; } }
@keyframes fadeIn { to { opacity: 1; } }
.travel-rider { position: absolute; left: 50%; top: 50%; z-index: 3; width: min(62vw, 280px); margin: calc(min(62vw, 280px) / -2) 0 0 calc(min(62vw, 280px) / -2); animation: ride 3.7s cubic-bezier(.45, 0, .55, 1) forwards; }
.travel-rider img, .travel-rider svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 0 22px rgba(255, 176, 46, .55)); animation: rideBob .5s ease-in-out infinite alternate; }
@keyframes ride {
  0% { transform: translate(-115vw, 30vh) rotate(-18deg) scale(.6); }
  28% { transform: translate(-6vw, 2vh) rotate(-6deg) scale(1); }
  62% { transform: translate(4vw, -2vh) rotate(-3deg) scale(1.05); }
  100% { transform: translate(120vw, -28vh) rotate(-14deg) scale(.55); }
}
@keyframes rideBob { from { translate: 0 -5px; rotate: -1.5deg; } to { translate: 0 5px; rotate: 1.5deg; } }

/* Topo: setinha de voltar + microfone 3D pulsando com as linhas de afinação */
.top .brand { gap: 2px !important; }
.brand-back { font: 900 30px/1 var(--fun, inherit); color: #fff; margin-right: -2px; text-shadow: 0 0 10px rgba(124, 92, 255, .9); animation: backNudge 1.8s ease-in-out infinite; }
@keyframes backNudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-3px); } }
.brand-mic { position: relative; display: grid; place-items: center; width: 44px; height: 44px; }
.brand-mic::before, .logo-mic::before { content: ""; position: absolute; inset: 6%; border-radius: 50%; border: 2px solid rgba(255, 216, 77, .75); animation: micRing 1.6s ease-out infinite; }
.brand-mic img { width: 44px !important; height: 44px !important; border-radius: 0 !important; animation: micPulse 1.6s ease-in-out infinite; filter: drop-shadow(0 0 8px rgba(255, 216, 77, .6)); }
@keyframes micPulse { 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 6px rgba(255, 216, 77, .55)); } 50% { transform: scale(1.1); filter: drop-shadow(0 0 14px rgba(167, 139, 250, .9)); } }
@keyframes micRing { 0% { transform: scale(.7); opacity: .9; } 100% { transform: scale(1.5); opacity: 0; } }
.logo-mic { position: relative; display: inline-grid; place-items: center; }
.logo-mic img { animation: micPulse 1.6s ease-in-out infinite !important; }
body.fit #menu .menu-logo .logo-mic img { width: 56px !important; height: 56px !important; }

@media (prefers-reduced-motion: reduce) { .brand-back, .brand-mic img, .brand-mic::before, .logo-mic::before, .logo-mic img, .travel-rider img { animation: none !important; } }
