/* NOVA mascot — see assets/nova-mascot.js. Sized by --nova-size. */
.nova-m { --nova-size: 56px; position: relative; width: var(--nova-size); height: var(--nova-size);
  pointer-events: none; filter: drop-shadow(0 10px 16px rgba(67,56,202,.28)) drop-shadow(0 2px 4px rgba(30,27,75,.18)); }
.nova-m-body { position: absolute; inset: 0; transform-origin: 50% 60%; }
.nova-m-orb { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
/* the face sits on the sphere, a touch above centre */
.nova-m-face { position: absolute; left: 50%; top: 50%; width: 0; height: 0; }
.nova-m-eyes { position: absolute; left: calc(var(--nova-size) * -.13); top: calc(var(--nova-size) * -.115);
  width: calc(var(--nova-size) * .26); height: calc(var(--nova-size) * .19);
  display: flex; justify-content: space-between; transform-origin: 50% 55%; }
.nova-m-eyes i { position: relative; display: block; width: calc(var(--nova-size) * .085); height: 100%; border-radius: 999px;
  background: linear-gradient(#241f66, #0f0c33); box-shadow: 0 0 0 calc(var(--nova-size) * .012) rgba(255,255,255,.55), 0 0 calc(var(--nova-size) * .06) rgba(255,255,255,.6); }
/* a catchlight in each eye */
.nova-m-eyes i::after { content: ""; position: absolute; left: 22%; top: 12%; width: 42%; height: 22%; border-radius: 99px; background: rgba(255,255,255,.9); }
.nova-m-happy { position: absolute; left: calc(var(--nova-size) * -.15); top: calc(var(--nova-size) * -.09);
  width: calc(var(--nova-size) * .30); height: calc(var(--nova-size) * .125); overflow: visible; opacity: 0; }
.nova-m-happy path { fill: none; stroke: #1c1950; stroke-width: 2.6; stroke-linecap: round; }
