html.has-practice, .has-practice body {height:auto; min-height:100%; overflow:visible}
.practice-player {position:relative; height:100vh; height:100svh}
.practice-jump {display:block; padding:12px 20px; text-align:center; background:#172d3a; color:#fffdf6; font:600 16px/1.5 'Avenir Next','Segoe UI',Arial,sans-serif}
#chapter-practice {box-sizing:border-box; width:min(760px,calc(100% - 32px)); margin:16px auto 48px; padding:28px; border:1px solid #c7d0c8; border-radius:20px; background:#fffdf6; color:#172d3a; font:18px/1.55 'Avenir Next','Segoe UI',Arial,sans-serif; scroll-margin-top:16px; overflow-wrap:anywhere}
#chapter-practice h2 {font:700 32px/1.2 Georgia,serif; margin:0 0 12px}
#chapter-practice h3 {font-size:17px; color:#34595a; margin:24px 0 12px}
#chapter-practice p {margin:12px 0}
#chapter-practice .practice-note {font-size:14px; color:#53676d}
#practice-progress {padding:12px 0; border-block:1px solid #d3d5c8; font-size:16px; font-weight:600}
#chapter-practice fieldset {padding:0; margin:0; border:0; min-width:0}
#chapter-practice legend {padding:0; margin-bottom:16px; font-weight:600; font-size:21px}
#chapter-practice .practice-option {display:flex; align-items:center; gap:12px; padding:13px; margin-bottom:10px; border:1px solid #bdc9c1; border-radius:10px; cursor:pointer; min-height:24px}
#chapter-practice .practice-option:has(input:checked) {background:#e6f1eb; border-color:#147d70}
#chapter-practice input {flex:none; width:20px; height:20px; accent-color:#147d70}
#chapter-practice details {margin:16px 0}
#chapter-practice summary {cursor:pointer; padding:8px 0; color:#12695f; font-weight:600}
#chapter-practice button {padding:10px 16px; min-height:44px; border:1px solid #147d70; border-radius:9px; background:transparent; font-family:inherit; font-size:16px; font-weight:600; line-height:1.4; color:#12695f}
#chapter-practice button.practice-primary {background:#147d70; color:#fffdf6}
#chapter-practice button:disabled {opacity:.5; cursor:default}
#chapter-practice .practice-actions {display:flex; flex-wrap:wrap; gap:12px; padding-top:16px; border-top:1px solid #d3d5c8}
#chapter-practice .practice-feedback:not(:empty) {padding:16px; background:#e6f1eb; border-left:4px solid #147d70}
#chapter-practice .practice-feedback[data-result="retry"]:not(:empty) {background:#fcf0e9; border-color:#ad4b34}
#chapter-practice :focus-visible, .practice-jump:focus-visible {outline:3px solid #12695f; outline-offset:4px}
@media(max-width:600px) {#chapter-practice {padding:20px; font-size:16px} #chapter-practice legend {font-size:19px} #chapter-practice h2 {font-size:28px}}
@media print {.practice-jump,.practice-player {display:none} #chapter-practice {width:100%; margin:0}}
