.coach-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .4rem;
}

.animated-coach {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  align-items: center;
  gap: 1.25rem;
  margin: 1rem 0 1.5rem;
  border: 1px solid #bed8d6;
  border-radius: 1rem;
  background: linear-gradient(135deg, #eef8f6, #fff);
  padding: 1rem 1.25rem;
}

.animated-coach.hidden { display: none; }
.coach-avatar { position: relative; width: 6.5rem; height: 6.5rem; border-radius: 50%; background: #bfe7df; overflow: hidden; box-shadow: inset 0 -.5rem 0 rgb(7 87 87 / .08); }
.coach-face { position: absolute; inset: 1.35rem 1.15rem .65rem; border-radius: 46% 46% 48% 48%; background: #f2bd91; }
.coach-hair { position: absolute; z-index: 1; inset: .65rem 1rem auto; height: 2.2rem; border-radius: 55% 55% 25% 25%; background: #273b43; transform: rotate(-3deg); }
.coach-eye { position: absolute; top: 2rem; width: .45rem; height: .55rem; border-radius: 50%; background: #172b35; transform-origin: center; }
.coach-eye-left { left: 1.05rem; }.coach-eye-right { right: 1.05rem; }
.coach-mouth { position: absolute; left: 50%; bottom: .8rem; width: 1.35rem; height: .55rem; border-bottom: .18rem solid #8c3f43; border-radius: 50%; transform: translateX(-50%); }
.coach-avatar[data-state="listening"] { box-shadow: 0 0 0 .35rem rgb(13 110 110 / .18); }
.coach-avatar[data-state="thinking"] .coach-eye { animation: coach-blink 1.1s infinite; }
.coach-avatar[data-state="speaking"] .coach-mouth { animation: coach-talk .45s infinite alternate; }
.coach-avatar[data-state="encouraging"] { box-shadow: 0 0 0 .35rem rgb(23 118 76 / .18); }
.animated-coach-message p { margin: .35rem 0; font-size: 1.05rem; }
.animated-coach-message small,.preference-note { color: var(--muted); }
.coach-avatar-heading { display: flex; align-items: center; gap: .6rem; }
.coach-experience { display: flex; flex-wrap: wrap; align-items: stretch; gap: .65rem; margin: 0 0 1.25rem; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; background: #f8fbfc; }
.coach-experience legend { padding: 0 .25rem; color: var(--primary-dark); font-weight: 800; }
.coach-option { display: flex; flex: 1 1 14rem; gap: .6rem; align-items: flex-start; border: 1px solid var(--border); border-radius: .6rem; background: #fff; padding: .75rem; cursor: pointer; }
.coach-option:has(input:checked) { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }
.coach-option input,.auto-voice-option input { margin-top: .25rem; accent-color: var(--primary); }
.coach-option span,.coach-option small { display: block; }
.auto-voice-option { display: flex; flex: 1 1 100%; gap: .55rem; align-items: flex-start; font-weight: 650; }
.auto-voice-option.is-disabled { opacity: .55; }
.preference-note { flex: 1 1 100%; margin: 0; font-size: .85rem; }
@keyframes coach-talk { from { height: .35rem; width: 1.1rem; } to { height: .8rem; width: 1.45rem; border-radius: 50%; } }
@keyframes coach-blink { 0%,80%,100% { transform: scaleY(1); } 90% { transform: scaleY(.1); } }

@media (max-width: 620px) {
  .coach-badges {
    justify-content: flex-start;
  }
  .animated-coach { grid-template-columns: 4.5rem minmax(0, 1fr); padding: .85rem; }
  .coach-avatar { width: 4rem; height: 4rem; }
  .coach-face { inset: .85rem .7rem .4rem; }
  .coach-hair { inset: .35rem .55rem auto; height: 1.45rem; }
  .coach-eye { top: 1.2rem; width: .3rem; height: .4rem; }
  .coach-eye-left { left: .65rem; }.coach-eye-right { right: .65rem; }
  .coach-mouth { bottom: .45rem; width: .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  .coach-avatar *, .coach-avatar { animation: none !important; transition: none !important; }
}
