
:root{--green:#193e35;--ink:#263d33;--muted:#75806c;--paper:#f7f8f1;--line:#dce1d0;--light:#e8efd8;--accent:#ae6d42}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bf8454;outline-offset:4px}button{cursor:pointer}.rail{width:306px;position:fixed;inset:0 auto 0 0;background:var(--green);color:#eef1e6;display:flex;flex-direction:column}.brand{padding:32px 28px 20px}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase}.brand .eyebrow{color:#aac1af}.brand h1{font-size:19px;line-height:1.4;margin:16px 0 0;letter-spacing:-.2px}.route-label{display:flex;justify-content:space-between;padding:16px 28px;font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:#a9c1af}.routes{overflow:auto;scrollbar-width:thin;scrollbar-color:#5d7a61 transparent;padding:0 16px 20px;flex:1}.unit-button{display:flex;width:100%;align-items:flex-start;gap:12px;text-align:left;border:0;background:none;color:#b9cdbb;padding:16px 13px;border-radius:12px;line-height:1.35;margin-bottom:3px}.unit-button .num{border:1px solid #5c775e;width:31px;height:31px;flex:none;border-radius:50%;font-size:12px;display:grid;place-items:center;margin-top:2px}.unit-button strong{display:block;font-size:13px;font-weight:600}.unit-button small{display:block;margin-top:6px;font-size:10px;color:#aac0aa}.unit-button[aria-current=true]{background:var(--light);color:#274839}.unit-button[aria-current=true] .num{background:#345f46;color:#fff;border-color:#345f46}.unit-button[aria-current=true] small{color:#64775a}.unit-button:hover:not([aria-current=true]){background:#285044}.rail-foot{padding:15px 28px 22px;color:#b7c9b4;font-size:10px;border-top:1px solid #34594b}.layout{margin-left:306px}.topbar{height:64px;padding:0 45px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.preview{color:#795738;background:#eee6d6;border-radius:20px;padding:4px 11px;font-size:10px}.wrap{max-width:1160px;padding:27px 45px 70px;margin:auto}.heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.heading h2{font:normal 42px/1.15 Georgia,serif;letter-spacing:-1px;margin:9px 0 12px}.heading p{max-width:650px;margin:0;color:#6c7865;font-size:15px}.source-total{font-size:11px;color:var(--muted);text-align:right;white-space:nowrap;margin-bottom:4px}.source-total strong{display:block;color:#48643f;font:32px Georgia}.searchbox{display:flex;align-items:center;gap:22px;margin:23px 0}.searchbox label{font-size:12px;color:#697e5c;white-space:nowrap}.searchbox input{width:100%;padding:13px 17px;border:1px solid #d4ddc5;background:#fff;border-radius:9px;color:var(--ink);font-size:14px}.searchbox input::placeholder{color:#9a9e93}.panel{border:1px solid var(--line);border-radius:17px;background:#fffefb;overflow:hidden;box-shadow:0 7px 28px #263d3305}.panel-head{padding:23px 31px 15px}.panel-head .eyebrow{color:#83926f;font-size:9px}.panel-head h3{font-size:25px;line-height:1.25;letter-spacing:-.5px;margin:10px 0 13px}.meta{display:flex;gap:20px;color:#7d8c70;font-size:12px}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 27px;gap:30px}.tab{border:0;border-bottom:3px solid transparent;background:none;padding:14px 5px;color:#8b947e;font-weight:600;font-size:14px}.tab[aria-selected=true]{border-color:#39583f;color:#39583f}.content{padding:22px 31px 27px}.unit-note{margin:0 0 25px;padding-left:17px;border-left:3px solid #d4ddc0;color:#75816a;font-size:15px;line-height:1.8;max-width:790px}.list-head{background:#f8f9f0;border:1px solid #dce3cb;border-bottom:0;border-radius:10px 10px 0 0;padding:15px 20px;font-size:14px;font-weight:600;display:flex;justify-content:space-between}.list-head span:last-child{font-weight:400;font-size:10px;color:#8d9c7b;padding-top:3px}.lesson-list{border:1px solid #dce3cb;border-radius:0 0 10px 10px;overflow:hidden}.lesson{display:flex;text-decoration:none;gap:18px;padding:18px 21px;border-bottom:1px solid #e1e7d7;background:#f9faf3;align-items:flex-start}.lesson:last-child{border:0}.lesson.ready{background:#eef3e2}.lesson.ready:hover{background:#e4edcf}.lesson .ordinal{font-size:12px;color:#94a07e;flex:none;padding-top:3px}.lesson .name{font-size:16px;line-height:1.45}.lesson small{display:block;color:#8b997d;font-size:11px;margin-top:7px}.lesson .arrow{font-size:19px;color:#6c8354;margin-left:auto;flex:none}.lesson .state{display:inline-block;color:#527046;font-size:10px;background:#dfeacb;border-radius:20px;padding:2px 8px;margin-left:7px}.lesson.pending .name{color:#53634d}.pending-note{font-size:11px;color:#8a8b7e;margin:19px 1px 0}.footer-note{font-size:11px;color:#89907f;margin:22px 0;line-height:1.8}.questions h4{font:25px Georgia;margin:0 0 13px}.questions p{max-width:650px;color:#73806a}.questions a{display:inline-block;font-size:13px;color:#365a3e;margin:13px 0}.search-unit{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#6d825d;margin:26px 0 10px}.empty{padding:25px;color:#77846d}.mobile-route{display:none}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1450px){.wrap{padding-top:50px}.heading h2{font-size:47px}.panel-head h3{font-size:29px}}@media(max-width:1000px){.rail{width:260px}.layout{margin-left:260px}.brand{padding:27px 23px 17px}.wrap{padding:30px 28px 60px}.topbar{padding:0 28px}.source-total{display:none}.panel-head,.content{padding-left:25px;padding-right:25px}.heading h2{font-size:37px}}@media(max-width:720px){.rail{display:none}.rail.open{display:flex;width:min(340px,89vw);z-index:20;box-shadow:0 0 0 100vw #0006}.layout{margin:0}.topbar{height:60px;padding:0 21px}.mobile-route{display:inline;background:none;border:0;padding:0;font-size:12px;color:#3a5c40}.top-label{display:none}.wrap{padding:27px 20px 50px}.heading h2{font-size:34px}.heading p{font-size:14px}.searchbox{display:block;margin:24px 0}.searchbox label{display:block;margin-bottom:7px}.searchbox input{font-size:13px}.panel-head{padding:23px 21px 15px}.panel-head h3{font-size:24px}.meta{font-size:11px;gap:10px;flex-wrap:wrap}.content{padding:23px 18px}.tabs{padding:0 18px;gap:21px}.unit-note{font-size:14px}.lesson{padding:17px 15px;gap:12px}.lesson .name{font-size:15px}.lesson .state{display:block;width:max-content;margin:6px 0 0}.list-head{padding:14px 15px;font-size:12px}.list-head span:last-child{font-size:9px}.brand h1{max-width:230px}.rail-foot button{display:block;border:1px solid #7e9a7c;background:none;color:#eaf0dd;margin-top:10px;padding:5px 12px;border-radius:5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.rail-foot a{display:block;color:#e3ebd7;margin:10px 0}.resume-box{padding:18px 22px;border:1px solid #c5d2b5;background:#edf2e3;margin:0 0 22px;border-radius:8px;font-size:13px}.resume-box a{font-weight:600;color:#315b3c}.unit-state{color:#587548;font-size:11px}.source-library{padding:20px;background:#edf2e5;border-top:1px solid #d6dfc9;font-size:13px}.option-tr{display:none}.progress-tag{display:inline-block;font-size:10px;border:1px solid #bfd0af;border-radius:3px;padding:2px 5px;margin:3px 3px 0 0}.lesson small{line-height:1.8}.lesson .name{line-height:1.5}.unit-button strong{line-height:1.45}