.course-shell,.lesson-shell{min-height:100vh;background:#f5f1e8;color:#1b2824}.course-shell{padding:118px max(22px,calc((100vw - 1020px)/2)) 120px}.course-hero h1{max-width:760px;margin:10px 0;font:600 clamp(40px,7vw,74px)/1.02 var(--serif)}.course-hero>p{max-width:640px;color:#65706a}.course-continue{display:grid;gap:5px;margin:34px 0;padding:28px;border-radius:24px;background:var(--green);color:white;box-shadow:0 18px 40px #17342d25}.course-continue small,.course-continue span{color:#d5e2db}.course-continue strong{font:600 28px var(--serif)}.course-overview{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;margin:34px 0}.course-overview b{font-size:26px}.course-overview span{color:#68726d}.course-overview i{grid-column:1/-1;height:8px;border-radius:9px;background:#deddd5;overflow:hidden}.course-overview em{display:block;height:100%;background:var(--coral)}.course-modules{display:grid;gap:22px}.course-module{padding:28px;border:1px solid var(--line);border-radius:24px;background:#fffdf9}.course-module>div:first-child span{color:var(--coral);font-size:11px;font-weight:700;text-transform:uppercase}.course-module h2{margin:6px 0;font:600 30px var(--serif)}.course-module p{color:#68726d}.course-module.planned{opacity:.72}.course-lessons{display:grid;gap:8px;margin-top:20px}.course-lessons a{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:14px;background:#f3f1eb;color:inherit}.course-lessons a[aria-disabled=true]{cursor:default}.course-lessons a.done{background:#e3eee7}.course-lessons a>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:white}.course-lessons strong,.course-lessons small{display:block}.course-lessons small{margin-top:3px;color:#6f7772}.course-loading{display:grid;place-content:center}.lesson-top{position:sticky;z-index:3;top:0;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:17px max(18px,calc((100vw - 820px)/2));background:#f5f1e8eF;backdrop-filter:blur(14px)}.lesson-top>div{height:7px;border-radius:9px;background:#deddd5;overflow:hidden}.lesson-top>div span{display:block;height:100%;background:var(--coral)}.lesson-stage{display:grid;place-items:center;min-height:calc(100vh - 145px);padding:40px 22px 125px}.lesson-stage>div{width:min(720px,100%)}.lesson-stage h1{margin:12px 0;font:600 clamp(38px,7vw,66px)/1.05 var(--serif)}.lesson-preview p,.course-task>p{font-size:18px;line-height:1.6;color:#62706a}.lesson-preview>div{margin-top:24px;padding:20px;border-radius:18px;background:white}.lesson-preview>div b{display:block;margin-bottom:6px}.lesson-card{text-align:center}.lesson-card h1{font-size:clamp(52px,11vw,96px)}.lesson-card>p{font-size:20px}.listen-button,.recall-reveal{min-height:52px;margin:18px 0;border:1px solid var(--green);border-radius:999px;padding:12px 22px;background:white;color:var(--green);font-weight:700}.knowledge-actions{display:flex;justify-content:center;gap:10px}.knowledge-actions button,.hard-exit button{min-height:48px;border:1px solid var(--line);border-radius:14px;padding:10px 16px;background:white}.lesson-actions{position:fixed;z-index:4;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:14px max(18px,calc((100vw - 820px)/2)) calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffdf9ef;backdrop-filter:blur(14px)}.lesson-actions button{min-height:52px}.task-options,.build-tokens{display:grid;gap:10px;margin-top:24px}.task-options button,.build-tokens button{min-height:58px;border:1px solid #d4d7d1;border-radius:16px;padding:14px 18px;background:white;text-align:left;font-size:16px}.task-context,.build-answer{padding:20px;border-radius:16px;background:white;font:500 22px/1.4 var(--serif)}.build-tokens{display:flex;flex-wrap:wrap}.build-tokens button{min-height:48px}.task-feedback{display:flex;gap:10px;margin-top:16px;padding:16px;border-radius:14px}.task-feedback.correct{background:#dfeee4}.task-feedback.wrong{background:#f5dfd8}.course-micro article{padding:17px 0;border-bottom:1px solid var(--line)}.course-micro article p{margin:0 0 8px;font:500 22px/1.5 var(--serif)}.course-micro article button{border:0;background:none;color:var(--green);font-weight:700}.course-micro article small{display:block;margin-top:8px;color:#68726d}.lesson-result{text-align:center}.lesson-result>span{display:grid;place-items:center;width:64px;height:64px;margin:auto;border-radius:50%;background:var(--green);color:white;font-size:30px}.lesson-result>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:25px 0;padding:20px;border-radius:18px;background:white}.lesson-result b{font-size:28px}.lesson-result small{grid-row:2;color:#6d756f}.hard-exit{display:grid;gap:12px}.recall-answer{padding:22px;border-radius:16px;background:#dfeee4;font:600 24px var(--serif)}
.course-shell button:focus-visible,.course-shell a:focus-visible,.lesson-shell button:focus-visible,.lesson-shell a:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
@media(max-width:760px){.course-shell{padding:94px 17px 105px}.course-module{padding:21px 16px}.course-lessons small{display:none}.lesson-top{padding:14px 15px}.lesson-stage{place-items:start center;min-height:calc(100vh - 120px);padding:30px 18px 120px}.lesson-stage h1{font-size:40px}.lesson-actions{padding:10px 13px calc(10px + env(safe-area-inset-bottom))}.knowledge-actions{flex-direction:column}.task-options button{min-height:62px}.course-continue{padding:23px 20px}}
.hard-exit .primary-btn{border-color:var(--green);background:var(--green);color:white}
.lesson-actions[hidden]{display:none}
.task-options button.selected,.build-tokens button.selected{border-color:var(--coral);background:#f8e6df}
.task-options button.correct-answer{border-color:#27734f;background:#dfeee4;color:#173d2c}
.task-options button:disabled,.build-tokens button:disabled{cursor:default;opacity:.72}
.builder-controls{display:flex;gap:10px;margin:12px 0}
.builder-controls button{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:9px 14px;background:white}
.task-feedback{align-items:center}
.task-feedback button{margin-left:auto;min-height:42px;border:1px solid currentColor;border-radius:12px;padding:8px 12px;background:white}
.course-shell h1[tabindex="-1"]:focus,.lesson-shell h1[tabindex="-1"]:focus{outline:none}
@media(max-width:760px){.task-feedback{align-items:stretch;flex-direction:column}.task-feedback button{margin-left:0}.builder-controls{flex-direction:column}.hard-exit button{width:100%;min-height:54px}}
.course-module>summary{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}.course-module>summary::-webkit-details-marker{display:none}.course-module>summary span{display:grid;gap:4px}.course-module>summary i{color:var(--coral);font-size:11px;font-style:normal;font-weight:700;text-transform:uppercase}.course-module>summary strong{font:600 28px var(--serif)}.course-module>summary small{color:#68726d}.course-module>summary>b{font-size:24px;transition:transform .2s}.course-module[open]>summary>b{transform:rotate(180deg)}.course-module:not([open])>p,.course-module:not([open])>.course-lessons,.course-module:not([open])>.module-bridge{display:none}.module-bridge{display:grid;gap:4px;min-height:64px;margin-top:14px;padding:16px;border:1px solid #bfd1c5;border-radius:16px;background:#e8f1eb;color:inherit}.module-bridge span,.module-bridge small{color:#557066}.module-bridge.done{background:#dfeee4}.bridge-words{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.bridge-words article{display:grid;gap:4px;padding:15px;border-radius:14px;background:white}.bridge-words span{color:#68726d}.hard-link{display:grid;min-height:48px;place-items:center;border:1px solid var(--line);border-radius:14px;background:white;color:inherit}.bridge-reader{max-height:none}.bridge-task .eyebrow{display:block;margin-bottom:10px}
.lesson-top>a{display:inline-flex;min-height:44px;align-items:center}
.course-micro article small[hidden]{display:none!important}
@media(max-width:760px){.course-module>summary{min-height:58px}.course-module>summary strong{font-size:23px}.module-bridge{min-height:60px}.bridge-words{grid-template-columns:1fr}.hard-link{min-height:54px}.bridge-reader article p{font-size:20px}}
.course-micro article button{display:inline-flex;min-height:44px;align-items:center}
.readiness-card article{margin:20px 0;padding:20px;border-radius:18px;background:#fff}.readiness-card article p{font:500 23px/1.55 var(--serif)}.readiness-card article button{min-height:44px;border:0;background:none;color:var(--green);font-weight:700}.readiness-card article small{display:block;margin-top:10px;color:#66716b}.readiness-card article small[hidden]{display:none}.readiness-card h2{margin:24px 0 8px;font:600 26px/1.2 var(--serif)}.readiness-comfort{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.readiness-comfort p{grid-column:1/-1}.readiness-comfort button,.readiness-too-hard{min-height:52px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px}.final-routes{display:grid;gap:20px;max-width:900px;margin:auto}.final-routes>header h1{margin:10px 0;font:600 clamp(42px,7vw,70px)/1.02 var(--serif)}.final-routes>header p{max-width:680px;color:#65706a;font-size:18px}.route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.route-card{display:grid;min-height:210px;gap:8px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;text-align:left;color:inherit}.route-card.selected{border:2px solid var(--green);background:#e8f1eb}.route-card>span{color:var(--coral);font-size:11px;font-weight:800;text-transform:uppercase}.route-card strong{font:600 25px/1.1 var(--serif)}.route-card small{color:#4e625a}.route-card p{margin:4px 0 0;color:#68726d;line-height:1.45}.guided-opening,.free-library-card{padding:20px;border-radius:18px;background:#fff}.guided-opening p{margin-bottom:0;color:#65706a}.free-library-card{display:grid;gap:4px;min-height:76px;color:inherit;background:#e8f1eb}.route-start,.final-routes>.secondary-btn{display:grid;min-height:54px;place-items:center;border-radius:14px}.final-routes>.secondary-btn{border:1px solid var(--line);background:#fff}.final-routes>.text-link{display:grid;min-height:44px;place-items:center;color:var(--green)}
@media(max-width:760px){.readiness-comfort{grid-template-columns:1fr}.readiness-comfort p{grid-column:auto}.route-cards{grid-template-columns:1fr}.route-card{min-height:0}.final-routes{padding-bottom:80px}.readiness-card article p{font-size:21px}}
.route-preview{padding:20px;border-radius:18px;background:#fff}.route-preview>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.route-preview span{display:grid;gap:3px;padding:10px;border-radius:12px;background:#f3f1eb;color:#66716b}.route-preview span b{color:#1b2824}.guided-opening p{color:#263a33}
@media(max-width:760px){.route-preview>div{grid-template-columns:1fr 1fr}}
.readiness-passage{display:grid;gap:10px}.readiness-card .readiness-sentence{margin:0;padding:16px 18px}.readiness-card .readiness-sentence p{margin:0}.readiness-card .reader-word{cursor:pointer;border-bottom:1px dotted #6b7c74}.readiness-help{margin:12px 2px;color:#64716b;font-size:14px}.route-entry-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:12px}.route-alternative{display:grid;min-height:62px;gap:2px;padding:11px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit}.route-alternative span{color:var(--coral);font-size:10px;font-weight:800;text-transform:uppercase}.route-alternative small{color:#617069}.recovery-route{max-width:680px;padding-top:8vh}.recovery-actions{display:grid;gap:12px}.recovery-actions .primary-btn,.recovery-actions .secondary-btn,.recovery-actions .text-link{display:grid;min-height:52px;place-items:center;border-radius:14px}.recovery-actions .secondary-btn{border:1px solid var(--line);background:#fff}.recovery-actions .text-link{color:var(--green)}
@media(max-width:760px){.route-entry-actions{grid-template-columns:1fr}.readiness-card .readiness-sentence{padding:14px}.readiness-card .readiness-sentence p{font-size:20px}.readiness-shell .lesson-stage{padding-bottom:108px}.route-alternative{min-height:64px}}
