/* Ustaad-X v0.14: local Rive tutor with deterministic SVG fallback. */
.avatar-stage { isolation: isolate; }
.lecture-avatar-rive,
.lecture-avatar-built-in {
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
}
.lecture-avatar-rive {
  position: relative;
  z-index: 3;
  width: min(350px, 94%);
  height: min(455px, 58vh);
  min-height: 320px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 24px 24px 12px 12px;
  opacity: 0;
  transform: translateY(4px) scale(.992);
  pointer-events: none;
}
.lecture-avatar-rive.is-ready {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.lecture-avatar-rive canvas {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.lecture-avatar-built-in.rive-fallback-covered {
  position: absolute;
  inset: auto 0 0;
  margin: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.lecture-player.rive-avatar-fallback .lecture-avatar-built-in {
  opacity: 1;
  visibility: visible;
}
.lecture-player[data-avatar-state="listening"] .lecture-avatar-rive.is-ready {
  transform: translateY(0) scale(1.006);
}
.lecture-player[data-avatar-state="thinking"] .lecture-avatar-rive.is-ready {
  transform: translateY(-1px) rotate(-.35deg);
}
.lecture-player[data-avatar-state="speaking"] .lecture-avatar-rive.is-ready {
  filter: saturate(1.03) contrast(1.01);
}
/* The pupil groups are clipped by the generated SVG eye shapes. Keep gaze subtle. */
.vector-eye-gaze { transform-box: fill-box; transform-origin: center; }
@media (max-width: 820px) {
  .lecture-avatar-rive { width: min(300px, 92%); height: 390px; min-height: 280px; }
}
@media (max-width: 560px) {
  .lecture-avatar-rive { width: min(250px, 90%); height: 320px; min-height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
  .lecture-avatar-rive,
  .lecture-avatar-built-in { transition: none; }
  .lecture-player[data-avatar-state] .lecture-avatar-rive.is-ready { transform: none; }
}

.v14-avatar-credit {
  padding: 10px 18px 16px;
  text-align: center;
  font-size: .72rem;
  color: var(--muted, #60707a);
}
.v14-avatar-credit a,
.v14-landing-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.v14-landing-credit { font-size: .76rem; opacity: .82; }
@media (max-width: 720px) {
  .v14-landing-credit { flex-basis: 100%; text-align: center; }
}
