/* Scoped learning controls; keep the workstation's established pastel palette. */
.accent-controls,.pronunciation-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.accent-controls .btn,.pronunciation-actions .btn{min-height:42px;white-space:normal}
.accent-controls{margin:12px 0 16px}
.audio-loading{opacity:.78}
.voice-intro{line-height:1.8;margin-bottom:18px}.voice-intro p{margin-top:10px}
.voice-save-status{color:var(--color-ink-2);min-height:1.8em}
.voice-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.voice-choice{min-width:0;padding:20px;display:flex;flex-direction:column;gap:12px}
.voice-choice.is-selected{border-color:var(--color-lavender,#a397bf);background:linear-gradient(150deg,#fff,#f3eff8)}
.voice-choice-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.voice-choice-heading h3{font-size:18px}.voice-choice>p{font-size:13px;line-height:1.7}
.voice-auditions{display:flex;flex-wrap:wrap;gap:8px}.voice-auditions .btn{flex:1 1 110px;min-height:44px;padding:10px 12px;white-space:normal}
.voice-sample-status{min-height:2.8em;margin-bottom:auto}.voice-choice>[data-voice-use]{min-height:44px}
.voice-uk-reference{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;line-height:1.8}
.voice-uk-reference .btn{min-height:44px}.voice-uk-reference p{font-size:13px;margin-top:8px}
@media(max-width:800px){.voice-choice-grid{grid-template-columns:1fr}.voice-choice{padding:20px}.voice-sample-status{min-height:1.7em}}
.phonetic-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.phonetic-pair>div{padding:10px 12px;border:1px solid var(--color-line);border-radius:16px;background:var(--color-paper,#fff);min-width:0}
.phonetic-pair small{display:block;font:12px var(--font-sans);color:var(--color-ink-3);margin-bottom:4px}
.phonetic-pair span{font:17px/1.6 var(--font-mono);overflow-wrap:anywhere}
.phonetic-reference{font-size:13px;color:var(--color-ink-3);margin:8px 0}
.phonics-examples{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.phonics-example{border:1px solid var(--color-line);border-radius:16px;padding:10px;min-width:0;flex:1 1 160px}
.phonics-example strong{display:block;margin-bottom:6px}
.phonics-example .pronunciation-actions .btn{flex:1;padding:8px 12px}
.phonics-section .card{content-visibility:auto;contain-intrinsic-size:auto 210px}
.grammar-intro{background:linear-gradient(120deg,#f8edf0,#efeff8);margin-bottom:18px}
.grammar-intro p,.grammar-review p{line-height:1.8;margin:10px 0}
.grammar-path{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}
.grammar-path span{padding:6px 10px;background:#ffffffaa;border-radius:20px}
.grammar-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.grammar-stage{margin-bottom:18px;padding:18px}
.grammar-stage>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:48px;list-style:none}
.grammar-stage>summary::-webkit-details-marker{display:none}
.grammar-stage>summary strong{font-size:16px;line-height:1.6}
.grammar-stage>summary span{font-size:12px;white-space:nowrap;color:var(--color-ink-3)}
.grammar-stage>summary:after{content:'＋';font-size:18px;flex-shrink:0}.grammar-stage[open]>summary:after{content:'−'}
.grammar-stage>p{font-size:13px;line-height:1.8;margin:10px 0 16px}
.grammar-stage .grammar-units{margin-bottom:0}.grammar-stage .grammar-unit{padding:20px;box-shadow:none}
.grammar-source{font-size:12px;line-height:1.8}.grammar-source a{text-decoration:underline;color:inherit}
.grammar-unit{min-width:0;display:flex;flex-direction:column;gap:8px}
.grammar-step{font-size:13px;color:var(--color-ink-3)}
.grammar-progress{font-size:12px;line-height:1.8;color:var(--color-ink-2);margin-bottom:auto}
.grammar-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.grammar-actions .btn{flex:1 1 150px;min-height:44px;white-space:normal;line-height:1.5}
.grammar-review,.grammar-extra,.grammar-lesson,.grammar-results,.grammar-result-item{margin-bottom:16px}
.grammar-extra summary{cursor:pointer;font-weight:600;min-height:32px}
.grammar-extra p{margin-top:8px}
.grammar-lesson{line-height:1.9}
.grammar-lesson h3{margin-top:22px}
.grammar-lesson dl>div{padding:12px 0;border-bottom:1px solid var(--color-line)}
.grammar-lesson dt{font-weight:600;font-size:13px;color:var(--color-ink-2)}
.grammar-lesson dd{margin:4px 0 0;overflow-wrap:anywhere}
.grammar-lesson ul{padding-left:22px}
.grammar-lesson li{margin:10px 0}
.grammar-signal,.grammar-mistake{padding:14px;border-radius:14px;background:#f7f2eb;margin:16px 0}
.grammar-mistake{background:#fbf0f3}
.grammar-examples{display:grid;gap:12px;margin-bottom:20px}
.grammar-example-line{display:flex;align-items:center;gap:12px;justify-content:space-between}
.sentence-voices{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
.sentence-voices .btn{padding:9px 14px;min-height:44px;white-space:nowrap}
.grammar-step-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.grammar-step-tabs .btn{min-width:0;padding:10px 8px;min-height:44px;white-space:normal}
.grammar-recommend{margin-bottom:18px;line-height:1.8}
.grammar-recommend p{margin:10px 0}.grammar-recommend small{display:block;margin-top:12px}
.grammar-known{font-size:12px;color:var(--color-ink-3);margin-top:12px}
.grammar-example-line strong{min-width:0;overflow-wrap:anywhere;font-weight:500}
.grammar-example-line .btn{flex-shrink:0;min-width:44px;min-height:44px}
.grammar-examples p{margin-top:8px;line-height:1.7}
.grammar-counter{font-size:13px;color:var(--color-ink-2);margin-bottom:12px}
.grammar-quiz{margin-top:18px;line-height:1.8}
.grammar-options{display:grid;gap:12px;margin:20px 0}
.grammar-options .btn{justify-content:flex-start;text-align:left;min-height:48px;white-space:normal}
.grammar-answer-label{display:block;font-size:13px;margin-top:20px}
.grammar-answer-label .quiz-input{font-size:18px;letter-spacing:normal;text-align:left}
.grammar-hint{margin-top:12px;color:var(--color-ink-2)}
.grammar-results{text-align:center;line-height:1.9}
.grammar-result-item p{margin-top:8px;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:600px){.grammar-units{grid-template-columns:1fr}.grammar-lesson{padding:20px}.phonetic-pair span{font-size:15px}.phonics-example{flex-basis:140px}.grammar-example-line{align-items:flex-start;flex-direction:column;gap:10px}.sentence-voices{align-self:flex-end}.grammar-actions .btn{flex-basis:130px}}
