/* Coach's editorial spread. The existing controller owns all interactions. */
.coach-page { gap:20px; }
.coach-subtitle { margin:0; font:400 24px/1.3 var(--book-serif); color:var(--muted); }
.coach-page .coach-toolbar { justify-content:flex-start; align-items:flex-end; padding:0; gap:24px; }
.coach-page .coach-toolbar::before,
.coach-page .coach-toolbar::after { display:none; }
.coach-page .coach-toolbar label { width:280px; min-width:0; flex:0 1 280px; }
.coach-progress { padding-bottom:12px; font:13px/1.5 var(--book-ui); color:var(--muted); white-space:nowrap; }
.coach-ready { margin-inline-start:auto; padding-bottom:12px; color:var(--muted); font:12px/1.5 var(--book-ui); }
.coach-spread { display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:center; }
.coach-spread:has(.coach-art:not([hidden])) { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
.coach-content { min-width:0; }
.coach-art { width:100%; max-height:530px; align-self:center; }
.coach-spread[data-reading-direction="rtl"]:has(.coach-art:not([hidden])) { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
.coach-spread[data-reading-direction="rtl"] .coach-content { grid-column:2; grid-row:1; }
.coach-spread[data-reading-direction="rtl"] .coach-art { grid-column:1; grid-row:1; }
.coach-spread[data-reading-direction="rtl"]:not(:has(.coach-art:not([hidden]))) .coach-content { grid-column:1; }
.coach-page .coach-lyrics { padding:40px 0 26px; }
.coach-page .coach-current-line { font-size:clamp(34px,3.8vw,58px); line-height:1.3; overflow-wrap:anywhere; }
.coach-page .coach-context-line { font-size:clamp(20px,2vw,28px); line-height:1.4; }
.coach-page .coach-listening { margin:0 0 40px; }
.coach-page .coach-panel { padding:10px 20px; }
.coach-page .coach-panel p { font-size:18px; }
.coach-page .coach-nav { margin-top:36px; }
.coach-spread .coach-lyric-stack { text-align:center; }
.coach-spread .coach-listening { justify-content:center; }
.coach-spread .coach-listening small { text-align:center; }
@media(max-width:1050px) {
  .coach-spread { gap:24px; }
  .coach-page .coach-panel { padding-inline:12px; }
  .coach-page .coach-panel p { font-size:17px; }
}
@media(max-width:760px) {
  .coach-page .coach-toolbar { flex-wrap:wrap; flex-direction:row; align-items:flex-end; gap:12px; }
  .coach-page .coach-toolbar label { flex:1 1 180px; }
  .coach-ready { flex-basis:100%; margin:0; padding:0; }
  .coach-spread:has(.coach-art:not([hidden])),
  .coach-spread[data-reading-direction="rtl"]:has(.coach-art:not([hidden])) { grid-template-columns:minmax(0,1fr); }
  .coach-spread[data-reading-direction="rtl"] .coach-content { grid-column:1; grid-row:auto; }
  .coach-spread .coach-art { grid-column:1; grid-row:auto; max-height:260px; }
  .coach-page .coach-panel { padding:16px 0 0; }
  .coach-page .coach-nav { flex-direction:row; }
}
