/* Nuvi — brand mascot: a glowing spark/droplet character.
   Deliberately limbless and simple (flat, premium-intelligence tone,
   not a cartoon robot/brain) — expression carries the personality. */

.nuvi{ display:block; overflow: visible; }
.nuvi .nuvi-body{ fill: var(--data-accent); }
.nuvi .nuvi-glow{ fill: var(--data-accent); opacity: .18; }
.nuvi .nuvi-face{ fill: var(--bg); }
.nuvi .nuvi-spark{ fill: var(--data-accent); }
.nuvi .nuvi-highlight{ fill: #fff; opacity: .35; }

.nuvi-float{ animation: nuvi-bob 3.2s ease-in-out infinite; }
@keyframes nuvi-bob{
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@media (prefers-reduced-motion: reduce){
  .nuvi-float{ animation: none; }
}

.nuvi-bubble{
  position: relative;
  display:inline-flex; align-items:center; gap: 14px;
}
.nuvi-bubble .say{
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-m);
  padding: 12px 16px; font-size: 14px; color: var(--text); position: relative;
}
.nuvi-bubble .say::before{
  content:""; position:absolute; left:-6px; top: 50%; transform: translateY(-50%) rotate(45deg);
  width: 12px; height: 12px; background: var(--surface); border-left: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
