/* One page shell for both recall controllers. Size changes only the lyric content. */
.practice-size-controls[hidden], .practice-tools[hidden] { display:none!important; }
.passage-song-identity { display:none; }
body[data-view=learn]:has(.practice-shell) .passage-song-identity { display:grid; gap:3px; margin-top:12px; }
body[data-view=learn]:has(.practice-shell) .passage-song-identity span { font:28px/1.2 var(--book-serif); text-align:left; }
body[data-view=learn]:has(.practice-shell) .passage-song-identity small { font:16px/1.4 var(--book-serif); color:var(--book-muted); text-align:left; }
body[data-view=learn]:has(.practice-shell) #songStatusSummary { display:none; }
.learning-panel.practice-shell { display:grid; grid-template-columns:minmax(220px,340px) minmax(260px,1fr) auto; gap:20px 28px; }
.learning-panel.practice-shell .learning-header { grid-column:3; grid-row:1; padding:0; margin:0; border:0; align-self:start; padding-top:20px; }
.learning-panel.practice-shell .learning-header > div:first-child, .learning-panel.practice-shell .learning-header::after, .practice-shell .learning-progress-card { display:none; }
.learning-panel.practice-shell .learning-layout { display:contents; }
.learning-panel.practice-shell .learning-sections { display:block!important; grid-column:1; grid-row:1; padding:0; margin:0; border:0; min-width:0; }
.practice-shell .learning-sections h3, .practice-shell .learning-section-list { display:none!important; }
.practice-shell .learning-section-select-wrap select { font-weight:400; border-radius:0; font-size:12px; }
.practice-shell .learning-section-editor { margin:8px 0 0; }
.practice-shell .learning-section-editor summary { font:12px/1.5 var(--book-ui); }
.practice-shell .learning-section-editor[open] { position:relative; z-index:1; }
.practice-shell .practice-size-controls { grid-column:2; grid-row:1; display:flex; flex-wrap:wrap; align-items:center; align-self:start; gap:18px; margin:20px 0 0; font:15px/1.5 var(--book-ui); }
.practice-size-controls button, .practice-cue-options button { min-height:40px; padding:8px 0; background:none; border:0; border-radius:0; box-shadow:none; color:var(--book-ink); font:inherit; }
.practice-size-controls button[aria-pressed=true], .practice-cue-options button[aria-pressed=true] { color:var(--book-red); text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:2px; }
.learning-panel.practice-shell .learning-stage, .practice-shell .passage-practice { grid-column:1/-1; min-width:0; padding:0; margin:0; border:0; }
.learning-panel.practice-shell .learning-stage { display:flex; flex-direction:column; gap:0; }
.learning-panel.practice-shell.learning-passage .learning-stage { display:none; }
.practice-shell .learning-stage-top { display:none; }
#singlePracticeHeader { order:0; width:100%; }
.practice-question-header { border-top:1px solid var(--book-rule); padding-top:20px; margin-bottom:8px; color:var(--book-ink); }
.practice-instruction { display:flex; justify-content:space-between; align-items:baseline; gap:24px; }
.practice-instruction p { margin:0; font:22px/1.4 var(--book-serif); }
.practice-instruction > span { color:var(--book-muted); font:13px/1.5 var(--book-ui); white-space:nowrap; }
.practice-cue-options { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin:12px 0 8px; font:14px/1.5 var(--book-ui); }
.practice-cue-options > span, .practice-cue-options small { color:var(--book-muted); }
.practice-cue-options small { font-size:12px; }
.practice-shell #bookPracticeContext { order:1; margin:8px 0; }
.practice-shell .learning-cue .learning-transition-prompt > small, .practice-shell .word-mark-instruction { display:none; }
.practice-shell .learning-cue { order:2; min-height:180px; padding:26px 0; margin:0; border-bottom:1px solid var(--book-rule); }
.practice-shell .learning-guided-actions, .practice-shell .passage-actions { display:flex; align-items:center; justify-content:flex-start; gap:20px; margin:24px 0 0; padding:0; }
.practice-shell .learning-guided-actions { order:3; }
.practice-shell .learning-guided-actions button, .practice-shell .passage-actions button { font:14px/1.5 var(--book-ui); min-height:44px; padding:12px 24px; border-radius:0; }
.practice-shell #learningRevealButton, .practice-shell .passage-actions button:not(.primary) { background:none; border:0; box-shadow:none; padding-inline:0; color:var(--book-ink); }
.practice-shell .passage-actions > span:last-child { margin-left:auto; font:13px/1.5 var(--book-ui); color:var(--book-muted); }
.practice-shell .passage-actions > .primary:last-child { margin-left:auto; }
.practice-shell .learning-self-score { order:4; justify-content:flex-start; margin-top:24px; }
.practice-shell .learning-nav-row { order:5; margin-top:20px; }
.practice-shell #learningStatus { order:6; text-align:left; font:13px/1.5 var(--book-ui); }
.practice-shell .practice-tools { grid-column:1/-1; border:0; border-top:1px solid var(--book-rule); padding-top:12px; margin-top:0; font:13px/1.5 var(--book-ui); }
.practice-tools summary { cursor:pointer; }
#practiceToolsContent { padding-top:16px; }
#practiceToolsContent > .learning-option-group { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
#practiceToolsContent .learning-options-grid > .learning-option-group:first-child { display:none; }
.practice-shell.learning-passage #practiceToolsContent .learning-practice-options { display:none; }
.practice-shell.learning-complete:not(.learning-passage) #singlePracticeHeader { display:none; }
.practice-shell button:focus-visible { outline:2px solid var(--book-red); outline-offset:5px; }
@media(max-width:1200px) {
 .learning-panel.practice-shell { grid-template-columns:minmax(220px,340px) 1fr; }
 .learning-panel.practice-shell .learning-header { grid-column:1/-1; grid-row:2; justify-self:end; padding-top:0; }
}
@media(max-width:650px) {
 .learning-panel.practice-shell { grid-template-columns:1fr; }
 .practice-shell .practice-size-controls { grid-column:1; grid-row:2; margin:0; }
 .learning-panel.practice-shell .learning-header { grid-row:3; }
 .practice-instruction, .practice-shell .passage-actions { flex-wrap:wrap; }
}
/* Completion actions are controls, not lyric text. */
.practice-shell .learning-retry-actions button { font:14px/1.5 var(--book-ui); padding:12px 20px; min-height:44px; }
.practice-shell.learning-answer-shown .learning-nav-row,
.practice-shell.learning-complete .learning-nav-row { display:none; }
.practice-shell .learning-review-summary-grid { grid-template-columns:1fr; }
.practice-shell .learning-self-score { direction:ltr; }
.practice-shell .passage-actions > .primary[data-passage=save] { margin-left:0; }

/* Recall actions follow the lyric alignment, without reversing English labels. */
.practice-shell:not(.quiz-shell) .learning-stage:has(.learning-cue[data-direction=rtl]) .learning-guided-actions,
.practice-shell:not(.quiz-shell) .learning-stage:has(.learning-cue[data-direction=rtl]) .learning-self-score {
 justify-content:flex-end;
}
.practice-shell .passage-actions[data-direction=rtl] {
 justify-content:flex-end;
 padding-right:52px; /* Match lyric edge inside the line-number gutter. */
}
.practice-shell .passage-actions[data-direction=rtl] > span:last-child {
 order:-1;
 margin-left:0;
 margin-right:auto;
}
/* Playback practice is a first-class choice, above recall-specific settings. */
.practice-mode-controls[hidden], #practiceSyncLyrics[hidden] { display:none!important; }
.practice-shell .practice-mode-controls { grid-column:1/-1; grid-row:1; padding-bottom:16px; border-bottom:1px solid var(--book-rule); }
.practice-mode-controls [role=group] { display:flex; align-items:center; gap:24px; flex-wrap:wrap; font:15px/1.5 var(--book-ui); }
.practice-mode-controls button { background:none; border:0; border-radius:0; box-shadow:none; color:var(--book-ink); font:15px/1.5 var(--book-ui); padding:8px 0; min-height:40px; }
.practice-mode-controls button[aria-pressed=true] { color:var(--book-red); text-decoration:underline; text-underline-offset:7px; }
.practice-mode-controls p { display:inline; font:13px/1.5 var(--book-ui); color:var(--book-muted); margin:0 16px 0 0; }
.practice-mode-controls #practiceSyncLyrics { color:var(--book-red); font-size:13px; }
.learning-panel.practice-shell .learning-sections,
.practice-shell .practice-size-controls,
.learning-panel.practice-shell .learning-header { grid-row:2; }
@media(max-width:1200px) { .learning-panel.practice-shell .learning-header { grid-row:3; } }
@media(max-width:650px) {
 .practice-shell .practice-size-controls { grid-row:3; }
 .learning-panel.practice-shell .learning-header { grid-row:4; }
}
.practice-shell #practiceRecallMode, .practice-shell #learningPlaybackPracticeButton { font:15px/1.5 var(--book-ui); padding:8px 0; margin:0; min-height:40px; background:none; border:0; box-shadow:none; color:var(--book-ink); }
.practice-shell #learningPlaybackPracticeButton:disabled { opacity:.45; }

.practice-shell #practiceRecallMode[aria-pressed=true] { color:var(--book-red); }
.quiz-shell #practiceModeControls,.quiz-shell #practiceSizeControls,.quiz-shell #bookPracticeContext,.quiz-shell .learning-nav-row {display:none!important;}
.learning-panel.practice-shell.quiz-shell .learning-sections {display:none!important;}
.quiz-shell.learning-complete #singlePracticeHeader {display:none;}
.quiz-shell .quiz-progress-header .practice-instruction {justify-content:flex-end;align-items:center;}
.quiz-shell .quiz-question {display:grid;grid-template-columns:110px minmax(0,1fr);gap:28px;align-items:start;max-width:840px;margin:0 auto;}
.quiz-shell .quiz-number {padding-top:5px;text-align:right;font:72px/.85 var(--book-ui);font-weight:300;letter-spacing:-.09em;color:var(--book-red);}
.quiz-shell .quiz-prompt {font:24px/1.4 var(--book-serif);text-align:left;color:var(--book-ink);margin:0 0 20px;}
.quiz-shell .quiz-source {font:36px/1.4 var(--book-serif);color:var(--book-muted);margin:0;}
.quiz-shell .quiz-answer-label {font:12px/1.5 var(--book-ui);text-align:left;color:var(--book-red);text-transform:uppercase;letter-spacing:.1em;margin:24px 0 8px;}
.quiz-shell .quiz-question strong {display:block;font:clamp(28px,3.2vw,44px)/1.45 var(--book-serif);}
.quiz-shell .learning-cue {min-height:0;padding:42px 0 32px;}
.quiz-shell .learning-guided-actions,.quiz-shell .learning-self-score {justify-content:center;margin-top:32px;}
.quiz-shell #learningStatus {margin-top:20px;text-align:center;}
.quiz-shell .learning-section-editor {display:none;}
/* Quiz retains the shared page order after removing Recall-only controls. */
.learning-panel.practice-shell.quiz-shell .learning-sections,
.learning-panel.practice-shell.quiz-shell .learning-header { grid-row:1; }
.learning-panel.practice-shell.quiz-shell .learning-stage { grid-row:2; }
@media(max-width:650px) {
 .learning-panel.practice-shell.quiz-shell .learning-header {grid-row:2;}
 .learning-panel.practice-shell.quiz-shell .learning-stage {grid-row:3;}
 .quiz-shell .quiz-question {grid-template-columns:58px minmax(0,1fr);gap:16px;}
 .quiz-shell .quiz-number {font-size:48px;}
 .quiz-shell .quiz-source {font-size:28px;}
}
.quiz-shell:has(.learning-review-summary) #singlePracticeHeader {display:none;}
.coach-listening {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 20px;margin:0 0 28px;}
.coach-listening button {font:14px/1.5 var(--book-ui);min-height:44px;}
.coach-listening small {flex-basis:100%;text-align:center;color:var(--book-muted);font:12px/1.5 var(--book-ui);}
/* Compact editorial Recall composition, shared by One line and Passage. */
body[data-view=learn]:has(.recall-layout) .workspace-topbar {margin-bottom:18px;padding-bottom:8px;}
body[data-view=learn]:has(.recall-layout) .workspace-topbar h2 {font-size:44px;}
body[data-view=learn]:has(.recall-layout) .learning-return-control {margin-top:10px;}
.learning-panel.practice-shell.recall-layout {grid-template-columns:minmax(220px,340px) minmax(200px,1fr) minmax(240px,1.3fr);gap:20px 44px;}
.recall-layout .learning-header {display:none!important;}
.recall-layout .practice-mode-controls {border:0;padding:0;}
.recall-layout #practicePlaybackAvailability:empty {display:none;}
.recall-layout #practiceCueSetup {grid-row:2;grid-column:3;min-width:0;}
#practiceCueSetup[hidden] {display:none!important;}
.recall-layout .practice-size-controls, .recall-layout .practice-cue-options {display:flex;flex-wrap:wrap;align-content:start;gap:8px 24px;margin:0;align-self:start;font:15px/1.5 var(--book-ui);}
.recall-layout .practice-size-controls > span, .recall-layout .practice-cue-options > span {flex-basis:100%;font:13px/1.5 var(--book-ui);color:var(--book-muted);}
.recall-layout .practice-cue-options small:empty {display:none;}
.recall-layout .learning-section-select-wrap > span {font:13px/1.5 var(--book-ui);}
.recall-layout .learning-section-select-wrap select {font-size:14px;margin-top:8px;min-height:44px;}
.recall-layout .practice-question-header {padding-top:22px;margin:0;border:0;}
.recall-layout .practice-instruction {flex-direction:column-reverse;align-items:start;gap:8px;}
.recall-layout .practice-instruction > span {text-transform:uppercase;font-size:12px;letter-spacing:.06em;}
.recall-layout #bookPracticeContext {display:none;}
.learning-panel.practice-shell.recall-layout .learning-stage,
.recall-layout .passage-practice {border-top:1px solid var(--book-rule);}
.recall-layout .learning-cue {min-height:140px;padding:28px 0 18px;border:0;text-align:start;}
.recall-layout .learning-cue .learning-transition-prompt {max-width:none;margin:0;}
.recall-layout .learning-cue .learning-transition-prompt > strong {font:clamp(32px,4vw,56px)/1.5 var(--book-serif);}
.practice-blank {display:inline-block;vertical-align:baseline;width:var(--blank-width);max-width:22vw;border-bottom:1px solid var(--book-muted);height:.7em;margin:0 .05em;}
.recall-layout .passage-lines {padding-top:14px;}
.recall-layout .passage-line {min-height:56px;padding:5px 0;border:0;}
.recall-layout .passage-lyric {font-size:30px;}
.recall-layout .learning-guided-actions,.recall-layout .learning-self-score,.recall-layout .passage-actions {margin-top:16px;}
.recall-layout .learning-nav-row {margin-top:22px;}
.recall-layout #learningStatus {display:none;}
.recall-layout #learningStatus.is-error {display:block;}
.recall-layout .practice-tools {margin-top:6px;}
.recall-layout .passage-note {font-size:12px;}
@media(max-width:1050px) {
 .learning-panel.practice-shell.recall-layout {grid-template-columns:minmax(180px,1.2fr) 1fr 1fr;gap:18px 20px;}
 .recall-layout .practice-size-controls,.recall-layout .practice-cue-options {gap:8px 16px;}
}
@media(max-width:700px) {
 .learning-panel.practice-shell.recall-layout {grid-template-columns:1fr 1fr;}
 .learning-panel.practice-shell.recall-layout .learning-sections {grid-column:1/-1;grid-row:2;}
 .recall-layout .practice-size-controls {grid-row:3;grid-column:1;}
 .recall-layout #practiceCueSetup {grid-row:3;grid-column:2;}
 .recall-layout .passage-lyric {font-size:26px;}
 body[data-view=learn]:has(.recall-layout) .workspace-topbar h2 {font-size:36px;}
}

/* Illustrated Recall spread: stable content area for a line or a passage. */
.practice-song-art {display:none;}
.recall-layout .practice-song-art:not([hidden]) {
 display:block;grid-column:1;grid-row:3;align-self:center;
 width:100%;max-height:420px;object-fit:contain;
}
.learning-panel.practice-shell.recall-layout .learning-stage,
.recall-layout .passage-practice {grid-row:3;}
.learning-panel.recall-layout:has(.practice-song-art:not([hidden])) .learning-stage,
.recall-layout:has(.practice-song-art:not([hidden])) .passage-practice {grid-column:2/-1;}
.recall-layout .learning-cue:not(:has(.learning-review-summary)) {
 min-height:250px;display:flex;flex-direction:column;justify-content:center;text-align:center;
}
.recall-layout .learning-cue .learning-transition-prompt,
.recall-layout .learning-cue .learning-transition-prompt > strong {text-align:center;width:100%;}
.recall-layout .passage-lines {min-height:250px;display:flex;flex-direction:column;justify-content:center;padding:12px 0;}
.recall-layout .passage-lyric {text-align:center;}
.recall-layout .learning-stage .learning-guided-actions,
.recall-layout .learning-stage .learning-self-score,
.recall-layout .passage-actions[data-direction] {justify-content:center;padding:0;flex-wrap:wrap;}
.recall-layout .passage-actions[data-direction] > span:last-child {
 order:0;flex-basis:100%;text-align:center;margin:0;color:var(--book-muted);font-size:12px;
}
.recall-layout .passage-note {text-align:center;}
.recall-layout:has(.learning-review-summary,.passage-summary) .practice-song-art {display:none;}
.learning-panel.recall-layout:has(.learning-review-summary,.passage-summary) .learning-stage,
.recall-layout:has(.learning-review-summary,.passage-summary) .passage-practice {grid-column:1/-1;}
.recall-layout .practice-tools {grid-row:4;}
@media(max-width:1050px) {
 .recall-layout .learning-cue .learning-transition-prompt > strong {font-size:clamp(30px,3.8vw,48px);}
 .recall-layout .passage-lyric {font-size:28px;}
}
@media(max-width:700px) {
 .recall-layout .practice-song-art:not([hidden]) {grid-column:1/-1;grid-row:5;max-height:240px;}
 .learning-panel.practice-shell.recall-layout .learning-stage,
 .recall-layout .passage-practice,
 .learning-panel.recall-layout:has(.practice-song-art:not([hidden])) .learning-stage,
 .recall-layout:has(.practice-song-art:not([hidden])) .passage-practice {grid-column:1/-1;grid-row:4;}
 .recall-layout .practice-tools {grid-row:6;}
}
.practice-shell.recall-layout .learning-stage:has(.learning-cue[data-direction=rtl]) .learning-guided-actions,
.practice-shell.recall-layout .learning-stage:has(.learning-cue[data-direction=rtl]) .learning-self-score {justify-content:center;}
.recall-layout .learning-cue .practice-blank {max-width:2.8em;}

/* Artwork follows the song's reading direction; tools sit below the spread. */
@media(min-width:701px) {
 .learning-panel.practice-shell.recall-layout {grid-template-columns:minmax(240px,1fr) minmax(200px,.9fr) minmax(260px,1fr);}
 .recall-layout[data-practice-direction=ltr] .practice-song-art:not([hidden]) {grid-column:3;}
 .learning-panel.recall-layout[data-practice-direction=ltr]:has(.practice-song-art:not([hidden])) .learning-stage,
 .recall-layout[data-practice-direction=ltr]:has(.practice-song-art:not([hidden])) .passage-practice {grid-column:1/3;}
 .recall-layout .practice-song-art:not([hidden]) {max-height:540px;min-height:360px;}
 .learning-panel.practice-shell.recall-layout .learning-stage,
 .recall-layout .passage-practice {min-height:490px;}
 .recall-layout .learning-cue:not(:has(.learning-review-summary)),
 .recall-layout .passage-lines {min-height:300px;}
 .recall-layout .passage-lyric {font-size:clamp(30px,2.65vw,40px);line-height:1.5;}
 .recall-layout .passage-line {min-height:68px;}
 .recall-layout .practice-tools {margin-top:40px;}
 .learning-panel.recall-layout:has(.learning-review-summary,.passage-summary) .learning-stage,
 .recall-layout:has(.learning-review-summary,.passage-summary) .passage-practice {grid-column:1/-1;}
}

.learning-panel.recall-layout[data-practice-direction=ltr]:has(.learning-review-summary,.passage-summary) .learning-stage,
.recall-layout[data-practice-direction=ltr]:has(.learning-review-summary,.passage-summary) .passage-practice {grid-column:1/-1;}
