/* QPX COACH REAL DEMO (GO Alex 03/10/2026) — le module COACH réel dans QPX. La scène elle-même est celle de l'APP
   (qpx/coach/voice-stage.css, extraite) : l'avatar pleinement incarné (écoute, réfléchit, parle, réagit : halo,
   respiration, énergie audio), un état à la fois. Ici, seulement le raccord QPX : la page (même paysage que la
   préparation), la place de la scène, l'échange écrit, les choix d'avatar et d'exercice. Jetons du Design System seuls. */
html[data-qpx-stage=coach] .qpx-sky::after{opacity:1}
html[data-qpx-stage=coach] .qpx-sky__light{opacity:.75}
html[data-qpx-stage=coach] .qpx-env__mist{opacity:.8}
html[data-qpx-stage=coach] .qpx-env__land{filter:sepia(.25) hue-rotate(78deg) saturate(1.45) brightness(.98)}
html[data-qpx-stage=coach] .qpx-env{opacity:.62;translate:0 14%}
html[data-qpx-stage=coach] .qpx-signal,html[data-qpx-stage=coach] .qpx-ready,html[data-qpx-stage=coach] .qpx-dawn__glow{opacity:0}
/* COACH : l'avatar est sur la scène ; le guide compagnon se retire (une seule présence de QEVYO à la fois). */
html[data-qpx-stage=coach] .qpx-guide{display:none}

.qpx-coach{position:relative}
.qpx-coach__page{box-sizing:border-box;display:grid;justify-items:center;gap:var(--q-space-4);max-inline-size:var(--q-content-max);margin:0 auto;padding:var(--q-space-4) var(--q-gutter) var(--q-space-8);min-inline-size:0;overflow-wrap:anywhere}
.qpx-coach__page>.qpx-prep__back{justify-self:start}
.qpx-coach__stage{inline-size:min(100%,560px);min-inline-size:0}
.qpx-coach__stage .q-vs{min-block-size:min(640px,calc(100dvh - 140px));max-block-size:none;overflow:visible;border-radius:var(--q-radius-large);box-shadow:var(--q-voice-shadow)}
.qpx-coach__stage .q-vs__label:focus{outline:none}
.qpx-coach__k{margin:0;color:var(--q-on-dark-secondary);font:var(--q-weight-medium) var(--q-caption)/1.4 var(--q-font-body);letter-spacing:.08em;text-transform:uppercase}
.qpx-coach__avatars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--q-space-2);inline-size:100%;max-inline-size:420px}
.qpx-coach__avatar{display:grid;justify-items:center;gap:var(--q-space-1);text-align:center}
.qpx-coach__avatar img{inline-size:36px;block-size:44px;object-fit:cover;border-radius:var(--q-radius-pill)}
.qpx-coach__modes{flex-direction:column;align-items:stretch;inline-size:100%;max-inline-size:420px}
.qpx-coach__compose{display:grid;gap:var(--q-space-2);inline-size:100%;max-inline-size:460px}
.qpx-coach__answer{inline-size:100%}
.qpx-coach__switch{margin:0}
.qpx-coach__switch .q-vs__secondary{border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.qpx-coach__activity{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.qpx-coach__feedback p+p{margin-block-start:var(--q-space-3)}
.qpx-coach__log{box-sizing:border-box;inline-size:min(100%,560px);padding:var(--q-space-4);border:1px solid var(--q-border);border-radius:var(--q-radius-large);background:var(--q-surface);color:var(--q-text)}
.qpx-coach__log-title{margin:0 0 var(--q-space-3);font:var(--q-weight-strong) var(--q-body-small)/1.3 var(--q-font-body)}
.qpx-coach__lines{display:grid;gap:var(--q-space-3);margin:0;padding:0;list-style:none}
.qpx-coach__line{display:grid;gap:2px;font:var(--q-weight-regular) var(--q-body-small)/1.5 var(--q-font-body)}
.qpx-coach__who{color:var(--q-text-secondary);font:var(--q-weight-medium) var(--q-caption)/1.3 var(--q-font-body);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:767px){
 .qpx-coach__page{padding-inline:var(--q-space-3);gap:var(--q-space-3)}
 .qpx-coach__stage .q-vs{min-block-size:auto;padding-inline:var(--q-space-4)}
}
