/* Reading and printing the fixed-board lessons must not depend on JavaScript. */
.puzzle-lesson{max-width:1000px;color:#292136;font-size:18px;line-height:1.75}
.puzzle-lesson>p,.puzzle-lesson>section>p{max-width:820px}
.puzzle-lesson>section{margin:48px 0}
.puzzle-lesson h2{color:#292136;font-size:30px;line-height:1.25;margin:0 0 20px}
.puzzle-lesson h3{color:#292136;font-size:23px;line-height:1.35;margin:0 0 16px}
.puzzle-lesson p{margin:0 0 18px}
.puzzle-lesson .lesson-meta{color:#655870;font-size:14px}
.lesson-jumps{display:flex;flex-wrap:wrap;gap:12px 24px;padding:18px 0;border-block:1px solid #d8cbdc;font-size:16px}
.lesson-jumps a{font-weight:700;color:#5d3184}
.lesson-start,.lesson-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.puzzle-lesson figure{margin:0;background:white;border:1px solid #d9cee1;border-radius:8px;padding:12px;min-width:0;break-inside:avoid}
.puzzle-lesson figcaption{font-size:14px;line-height:1.5;text-align:center;color:#51415f;padding:8px 0 2px}
.lesson-board{display:block;width:100%;max-width:420px;height:auto;margin:0 auto;overflow:visible}
.lesson-clues{border-collapse:collapse;width:100%;max-width:480px;font-size:15px;line-height:1.4;margin:16px 0 22px;color:#292136}
.lesson-clues th,.lesson-clues td{text-align:left;border-bottom:1px solid #d8cddd;padding:7px 10px}
.lesson-clues caption{text-align:left;font-weight:700;margin-bottom:10px}
.lesson-step{padding:26px;background:#f8f3fb;border:1px solid #dacfe2;border-radius:12px;margin:28px 0;scroll-margin-top:12px}
.lesson-changes{font-size:15px;line-height:1.6;background:white;padding:12px;border-left:3px solid #b74024}
.lesson-controls{background:#eee6f4;padding:18px;border-radius:10px;font-size:15px}
.lesson-controls button,.puzzle-lesson [data-print-lesson]{font:inherit;min-height:44px;padding:8px 16px;border:1px solid #a18aaa;border-radius:7px;color:#392348;background:#fff;cursor:pointer}
.lesson-controls [data-step-controls]{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}
.lesson-controls [data-step-status]{flex:1;min-width:140px}
.lesson-controls button:disabled{opacity:.45;cursor:default}
.lesson-practice{padding:24px;border:1px solid #ccbcd7;border-radius:12px;background:#fff;margin:22px 0}
.lesson-practice figure{max-width:500px;margin-bottom:20px}
.lesson-practice details{padding:16px;background:#edf3e9;border:1px solid #cadac2;border-radius:8px}
.lesson-practice summary{font-weight:750;cursor:pointer;color:#2a4e26;min-height:28px}
.lesson-practice details p{margin:16px 0 0}
.practice-cells{display:grid;grid-template-columns:repeat(var(--cells),minmax(0,1fr));gap:3px;margin:12px 0}
.practice-cell{text-align:center;border:1px solid #91849b;color:#33283e;background:#fff;display:grid;font-size:20px;line-height:1.3;padding:4px}
.practice-cell small{font-size:12px}.practice-cell.state-1{background:#292136;color:#fff}
#final-check>figure{max-width:480px;margin:0 0 26px}
.lesson-start>div{min-width:0}
@media(max-width:680px){.lesson-start,.lesson-pair{grid-template-columns:1fr}.puzzle-lesson{font-size:17px}.lesson-step,.lesson-practice{padding:16px}.puzzle-lesson figure{padding:6px}.lesson-clues{font-size:14px}.puzzle-lesson h2{font-size:26px}.lesson-controls{padding:12px}}
@media print{
 body.recovery.lesson-page>#main-content{display:block!important;visibility:visible!important;padding:0!important;max-width:none!important}
 .lesson-page .recovery-intro h1{font-size:24pt;color:#000}
 .puzzle-lesson{font-size:10pt;line-height:1.45;max-width:none;color:#000}
 .puzzle-lesson h2{font-size:17pt}.puzzle-lesson h3{font-size:14pt}
 .puzzle-lesson .lesson-step[hidden]{display:block!important}
 .puzzle-lesson .lesson-controls,.lesson-page .lesson-jumps,.puzzle-lesson .recovery-actions,.puzzle-lesson a.button,.lesson-page noscript{display:none!important}
 .lesson-step{break-inside:avoid;break-before:page;border:0;padding:0;background:#fff;margin:0}
 .lesson-pair,.lesson-start{display:grid;grid-template-columns:1fr 1fr;gap:8mm}
 .lesson-board{max-width:82mm;max-height:95mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .puzzle-lesson figure{padding:2mm;background:white;break-inside:avoid}
 .puzzle-lesson #final-check,.puzzle-lesson #check-yourself{break-before:page}
 .puzzle-lesson details>*{display:block!important}.puzzle-lesson details::details-content{display:block!important;content-visibility:visible!important}
 .lesson-practice{break-inside:avoid;padding:4mm}
 .puzzle-lesson figcaption,.lesson-changes,.lesson-clues{font-size:9pt}
 .puzzle-lesson>section{margin:10mm 0}.lesson-changes{print-color-adjust:exact}
}
