/* ── PulsaRH · Console FX ─────────────────────────────────────────────────────
   Camada visual inspirada em consoles (PS5/Xbox Series):
   - marca nova: losango + pessoa + pulso (rh-mark / rh-wordmark)
   - "tile focus": hover/focus com escala sutil + anel de glow (Xbox)
   - ondas ambientes fluidas de fundo (PS5), GPU-only, bem discretas
   Tudo respeita prefers-reduced-motion. */

/* ── Marca ── */
.rh-mark { flex-shrink: 0; filter: drop-shadow(0 2px 8px rgba(112, 72, 232, .5)); }
.rh-mark .rh-pulse { transform-origin: 20px 18.5px; animation: rh-pulse 3s cubic-bezier(.22, 1, .36, 1) infinite; }
.rh-mark .rh-pulse-2 { animation-delay: 1.5s; }
@keyframes rh-pulse {
  0%   { transform: scale(.74); opacity: .95; }
  70%  { opacity: .25; }
  100% { transform: scale(1.14); opacity: 0; }
}
.rh-wordmark { display: inline-flex; align-items: flex-end; gap: 2px; font-weight: 800; font-style: italic; letter-spacing: -.01em; line-height: 1; color: var(--text); }
.rh-wordmark b { color: var(--secondary); font-weight: 800; margin-left: 2px; }
.rh-wordmark .rh-trail { align-self: flex-end; margin-bottom: 1px; color: var(--secondary); }
.rh-wordmark .rh-trail path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ── Tile focus (Xbox): escala + anel — só em quem já é interativo ── */
.nav-item, .tab-btn, .kpi-card, .flyout-item {
  transition: transform .18s cubic-bezier(.22, 1, .36, 1), box-shadow .18s cubic-bezier(.22, 1, .36, 1),
              background .15s, color .15s, border-color .15s;
}
.nav-item:hover, .tab-btn:hover, .flyout-item:hover { transform: translateX(2px); }
.kpi-card:hover { transform: translateY(-2px) scale(1.012); box-shadow: 0 0 0 1.5px rgba(112, 72, 232, .35), 0 10px 32px rgba(112, 72, 232, .18); }
.nav-item:focus-visible, .tab-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(155, 110, 255, .55); }

/* ── Ondas ambientes (PS5) ── */
.console-ondas { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.console-ondas i {
  position: absolute; border-radius: 50%; filter: blur(70px); opacity: .16; will-change: transform;
  animation: onda-flutua 36s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}
.console-ondas i:nth-child(1) { width: 55vmax; height: 55vmax; left: -18vmax; top: -12vmax; background: radial-gradient(circle, #7048E8, transparent 70%); }
.console-ondas i:nth-child(2) { width: 48vmax; height: 48vmax; right: -16vmax; bottom: -14vmax; background: radial-gradient(circle, #9B6EFF, transparent 70%); animation-delay: -18s; animation-duration: 44s; }
@keyframes onda-flutua {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(4vmax, -3vmax) scale(1.08); }
  100% { transform: translate(-3vmax, 3vmax) scale(.95); }
}

@media (prefers-reduced-motion: reduce) {
  .rh-mark .rh-pulse, .console-ondas i { animation: none; }
  .nav-item, .tab-btn, .kpi-card, .flyout-item { transition: none; }
}
