.lesson-shell{max-width:1550px;margin:auto;padding:28px 34px}.lesson-intro p{font-size:13px;line-height:1.8;max-width:980px;color:#657b92}.lesson-tags{display:flex;flex-wrap:wrap;gap:6px}.lesson-tags a,.course-tags span{background:#eaf2fb;border-radius:4px;padding:4px 8px;font-size:11px;color:#46769e}.source-note{font-size:11px!important;color:#8c9bac!important}
.lesson-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;margin-top:23px}.lesson-nav{background:#fff;border:1px solid #e0e7ef;border-radius:10px;padding:18px;min-height:0;align-self:start}.lesson-nav>strong{font-size:12px}.lesson-nav nav{margin:12px 0}.lesson-nav a{display:block;font-size:12px;padding:10px 9px;border-radius:5px;line-height:1.7;color:#60788f}.lesson-nav a.active,.lesson-nav button.active{background:#eaf2fc;color:#286abc}.lesson-nav button{display:block;text-align:left;font-size:12px;line-height:1.7}.lesson-nav p{font-size:11px;line-height:1.8;color:#8495a6}.nav-divider{height:1px;background:#e5ebf2;margin:17px 0}.lesson-work{background:#fff;border:1px solid #e0e7ef;border-radius:10px;min-width:0;padding:20px}
.mode-bar{display:flex;gap:8px;border-bottom:1px solid #e4ebf3;padding-bottom:13px}.mode-bar button[aria-selected=true]{background:#286abc;color:#fff;border-color:#286abc}.mode-bar #zoom-stage{margin-left:auto}.step-info{margin:18px 0}.step-info span{color:#3775b3;font-size:11px}.step-info h2{font-size:20px;margin:8px 0}.step-info p{color:#61778e;font-size:13px;line-height:1.9;margin-bottom:14px}
.lesson-stage{position:relative;background:#f5f8fb;border:1px solid #dbe5ef;border-radius:8px;overflow:hidden;margin:auto;max-width:100%;width:fit-content}.lesson-stage img{display:block;max-width:100%;max-height:550px;width:auto;height:auto}.step-target{position:absolute;border:2px solid #f29b25;border-radius:5px;background:#ffb03916;box-shadow:0 0 0 4px #ffb03930;padding:0;color:transparent;min-width:20px;min-height:20px}.step-target:hover{background:#ffb03930}.step-target:focus-visible{outline:3px solid #286abc;outline-offset:3px}.step-target.read-target{background:#286abc;color:#fff;width:95%!important;height:auto!important;left:2.5%!important;top:auto!important;bottom:10px;padding:8px;font-size:12px;min-height:35px}.step-target.passed{border-color:#57a479;box-shadow:0 0 0 3px #57a47922}.step-input{position:absolute;border:2px solid #286abc;background:white;border-radius:2px;padding:0 5px;min-height:23px;font-size:clamp(10px,1.3vw,15px);color:#172d40}.lesson-stage.expanded{max-width:100%;width:100%}.lesson-stage.expanded img{max-height:none;max-width:100%;width:100%}
.feedback{font-size:12px;color:#557996;min-height:21px;margin:13px 0}.feedback.error{color:#b94c35}.feedback.success{color:#3c8460}.step-actions,.video-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.step-actions #next-step{margin-left:auto;border-color:#286abc}.step-actions button:disabled{opacity:.45;cursor:default}.video-top{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:18px}.video-top h2{font-size:17px}.video-top span{font-size:12px;color:#698299}.lesson-work video{width:100%;max-height:570px;background:#102234;display:block;border-radius:6px}.video-actions{margin:14px 0;font-size:12px}.video-actions select{height:32px}.video-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.video-chapters button{text-align:left;font-size:12px;line-height:1.7}.video-chapters small{display:block;color:#8a9aab}#video-state{font-size:12px;color:#65819b}
.lesson-limit{font-size:11px;line-height:1.8;color:#8a9aab;border-top:1px solid #e5ebf2;padding-top:15px;margin-bottom:0}.lesson-complete{background:#eff7f1;border:1px solid #d2e7d9;border-radius:8px;padding:18px;margin-top:20px}.lesson-complete strong{color:#3e7f5b}.lesson-complete p{font-size:12px;color:#6e8b77}.lesson-complete a{margin-right:12px;font-size:12px}.course-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.course-tags span{font-size:10px;padding:3px 6px}.method-tags{font-size:11px;line-height:1.8;color:#658ab0;margin-top:5px}.lesson-nav .done-step{color:#398563}.lesson-nav a:hover{background:#f1f6fc}[hidden]{display:none!important}
@media(max-width:850px){.lesson-shell{padding:22px 16px}.lesson-grid{grid-template-columns:1fr}.lesson-nav{padding:14px}.lesson-nav nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.lesson-nav p{margin-bottom:0}.lesson-work{padding:15px}.mode-bar button{padding:7px;font-size:12px}.step-actions button{font-size:12px}.lesson-stage img{max-height:none}.video-top{display:block}.video-chapters{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.lesson-nav .unit-group{display:block;color:#8a9aab;font-size:11px;margin:12px 8px 4px}
.lesson-nav #lesson-units{max-height:430px;overflow-y:auto;scrollbar-width:thin}

/* The directory floats above the page; the recording keeps all horizontal space. */
.lesson-shell{max-width:none;padding:24px 20px}
.lesson-grid{display:block;margin-top:18px}
.lesson-work{padding:16px}
.lesson-stage,.lesson-stage.expanded{width:100%;max-width:none}
.lesson-stage img,.lesson-stage.expanded img{width:100%;max-width:none;max-height:none;height:auto}
.lesson-work video{max-height:none;height:auto}
.lesson-nav{position:fixed;z-index:120;left:18px;top:110px;width:280px;max-height:calc(100dvh - 130px);min-height:0;overflow:auto;padding:16px;background:#fff;box-shadow:0 12px 45px #193c5730;border:1px solid #cbdced}
.nav-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;position:sticky;top:-16px;padding:8px 0;background:#fff;z-index:1}
.nav-heading strong{font-size:12px}
.nav-heading button{font-size:22px;border:0;padding:0 8px;line-height:1.3}
.lesson-nav #lesson-units{max-height:45dvh}
.lesson-nav #lesson-steps{display:flex}
.lesson-nav nav{display:flex;gap:4px}
.mode-bar{align-items:center;flex-wrap:wrap;background:#fff}
#toggle-lesson-nav[aria-expanded=true]{background:#eaf2fc;color:#286abc;border-color:#9ebee6}
body.lesson-focus{overflow:hidden}
.lesson-focus .lesson-work{position:fixed;inset:0;z-index:100;overflow:auto;padding:8px 10px;border:0;border-radius:0}
.lesson-focus .mode-bar{position:sticky;top:-8px;z-index:5;margin:0 -10px;padding:8px 10px;box-shadow:0 2px 8px #193c570a}
.lesson-focus .step-info{margin:10px 0}
.lesson-focus .step-info h2{font-size:16px;margin:5px 0}
.lesson-focus .step-info p{margin:5px 0 10px}
.lesson-focus .lesson-stage{border:0;border-radius:0}
.lesson-focus .lesson-nav{top:62px;max-height:calc(100dvh - 82px)}
@media(max-width:600px){.lesson-shell{padding:18px 8px}.lesson-work{padding:8px}.lesson-nav{left:8px;width:min(290px,calc(100vw - 16px))}.mode-bar{gap:5px}.mode-bar button{font-size:11px;padding:7px}.step-input{min-height:0;font-size:10px;padding:0 2px}.step-target{min-width:0;min-height:0}}
.step-target.toggle-target{border:1px solid #98aebd;border-radius:999px;background:#9caeb9;min-width:0;min-height:0;box-shadow:0 0 0 2px #ffb03955}
.step-target.toggle-target::after{content:'';position:absolute;left:3%;top:8%;width:42%;height:84%;border-radius:50%;background:#fff;box-shadow:0 1px 2px #173d5733}
.step-target.toggle-on{background:#2681b9;border-color:#2681b9}
.step-target.toggle-on::after{left:55%}

.input-reminder{position:absolute;z-index:3;margin-bottom:7px;background:#fff3c6;color:#704000;border:1px solid #e5a623;border-left:4px solid #dd8d00;border-radius:5px;padding:6px 9px;font-size:clamp(11px,1vw,15px);font-weight:600;line-height:1.5;box-shadow:0 2px 8px #59451e26;overflow-wrap:anywhere;pointer-events:none}
.mode-bar{flex-wrap:wrap}
