
:root{--bg:#0a1018;--panel:#111c29;--border:#29394b;--muted:#adbdce;--text:#f0f4f8;--accent:#a1edb7;--ink:#152332;--paper:#f7f8f5;--max:1220px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--border);color:inherit;background:var(--panel);border-radius:9px;min-height:44px;padding:10px 17px;font-weight:650}button:hover{border-color:#7a96ac}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}button.primary{background:var(--accent);border-color:var(--accent);color:#102819}button.quiet{background:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #69a8f7;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14;letter-spacing:-.035em}h1{font-size:clamp(34px,4.7vw,62px)}h2{font-size:clamp(25px,3vw,36px)}h3{font-size:21px}p{margin-bottom:20px}.label{font-size:11px;font-weight:760;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:13px}.hidden,[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:white;color:black;padding:10px}.skip:focus{top:10px}.topbar{border-bottom:1px solid var(--border);padding:17px max(24px,calc((100vw - 1380px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--bg)}.brand{display:flex;align-items:center;gap:20px}.brand img{width:96px;height:55px;object-fit:contain}.brand .separator{height:34px;border-left:1px solid var(--border)}.brand b{font-size:14px;letter-spacing:.04em}.top-actions{display:flex;align-items:center;gap:12px}.preview-chip{font-size:11px;padding:5px 9px;border:1px solid #61704d;color:#d0ddb6;border-radius:20px;white-space:nowrap}.shell{max-width:var(--max);margin:auto;padding:44px 28px 80px}.hero{display:grid;grid-template-columns:1.35fr .85fr;gap:60px;align-items:center;margin:14px 0 52px}.hero .label{color:var(--accent);margin-bottom:22px}.hero h1{max-width:660px;margin-bottom:24px}.hero p{max-width:630px;font-size:18px;color:#bccadb}.hero-art{padding:24px;background:#142233;border-radius:16px;position:relative;border:1px solid #304457}.hero-art img{width:100%;height:300px;object-fit:contain;display:block;border-radius:10px}.hero-art .small{display:block;margin-top:12px;color:var(--muted)}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.resume-line{margin-top:20px;font-size:13px;color:var(--muted)}.progress-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.progress-row strong{font-size:16px}progress{display:block;width:100%;height:7px;border:0;background:#233348;border-radius:10px;overflow:hidden;appearance:none}progress::-webkit-progress-bar{background:#233348}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.course-progress{padding:25px 28px;background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:42px}.course-progress progress{margin-top:14px}.roadmap-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.roadmap-heading h2{margin:0}.search{width:min(360px,100%);padding:12px 15px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:9px;min-height:46px}.parts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.part-card{padding:25px;background:var(--panel);border:1px solid var(--border);border-radius:13px}.part-card h3{margin:9px 0 13px;font-size:25px}.part-card p{color:var(--muted);font-size:14px}.part-card summary{cursor:pointer;padding:9px 0;color:var(--accent);font-weight:650}.chapter-link{display:flex;width:100%;gap:12px;align-items:flex-start;text-align:left;background:none;border:0;border-radius:7px;padding:11px 9px;font-size:14px;font-weight:500;line-height:1.45}.chapter-link:hover{background:#192b3d}.chapter-link .num{font-size:11px;min-width:24px;padding-top:2px;color:#9eb4c8}.chapter-link.done .num{color:var(--accent)}.chapter-link.active{background:#1e3343;box-shadow:inset 3px 0 var(--accent)}.chapter-link.active .num{color:var(--accent)}.search-results{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:15px}.bottom-note{max-width:820px;margin:36px auto 0;font-size:12px;color:var(--muted);text-align:center}.workspace{max-width:1460px;margin:0 auto;display:grid;grid-template-columns:275px minmax(0,1fr);min-height:calc(100vh - 91px)}.sidebar{border-right:1px solid var(--border);padding:24px 18px;max-height:calc(100vh - 91px);position:sticky;top:0;overflow:auto}.sidebar-top{padding:0 8px 16px;margin-bottom:12px;border-bottom:1px solid var(--border)}.sidebar-top h2{font-size:22px;margin:12px 0}.sidebar details{margin:10px 0}.sidebar summary{padding:12px 7px;cursor:pointer;line-height:1.3;font-size:13px;font-weight:700;color:#ccd7e1}.lesson-space{padding:32px 34px 55px;min-width:0}.lesson-top{display:flex;gap:16px;justify-content:space-between;align-items:start;margin-bottom:24px}.lesson-top h2{font-size:21px;margin:6px 0 0;max-width:680px;line-height:1.4}.bookmark{font-size:12px;white-space:nowrap}.stagebar{display:flex;align-items:center;gap:5px;margin-bottom:16px;flex-wrap:wrap}.stagebar button{font-size:12px;padding:9px 13px;min-height:44px;color:var(--muted);background:none;border:0}.stagebar button.active{color:var(--accent);background:#1a2d36}.stagebar .substep{margin-left:auto;font-size:12px;color:var(--muted)}.lesson-panel{background:var(--paper);color:var(--ink);border-radius:14px;padding:clamp(25px,3.6vw,52px);border:1px solid #e0e6df;box-shadow:0 14px 60px #0002;min-height:520px;max-width:940px;margin:auto}.lesson-panel h1{font-size:clamp(29px,3.4vw,44px);margin:12px 0 26px;max-width:720px}.lesson-panel h2{font-size:28px}.lesson-panel p{font-size:17px;line-height:1.8;max-width:740px}.lesson-panel .label{color:#4a685d}.lesson-panel .muted{color:#576674}.lesson-panel button{color:var(--ink);border-color:#9caea3;background:white}.lesson-panel button.primary{background:#153f2c;color:white;border-color:#153f2c}.lesson-panel button:disabled{opacity:.5}.learning-outcomes{padding:19px 21px;background:#edf1ea;border-radius:10px;margin:22px 0;font-size:14px}.learning-outcomes ul{padding-left:22px;margin:10px 0 0;line-height:1.65}.learning-outcomes li{margin:6px 0}.reading-text{max-width:740px}.image-strip{display:flex;gap:18px;align-items:center;margin:26px 0 4px;padding:17px;background:#e8eee8;border:1px solid #d2ddd1;border-radius:10px}.image-strip img{width:140px;height:97px;object-fit:contain;display:block;background:#0a1018;border-radius:7px}.image-strip p{font-size:13px;line-height:1.5;margin:0 0 8px}.image-strip button{font-size:12px;min-height:40px;padding:8px 12px}.lesson-foot{max-width:940px;margin:20px auto 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-foot .middle{font-size:12px;color:var(--muted);text-align:center}.lesson-foot .middle small{display:block}.notebook{width:100%;min-height:190px;resize:vertical;padding:17px;background:#fff;color:var(--ink);border:1px solid #9aaa9d;border-radius:10px;line-height:1.65}.exercise-box{padding:20px 22px;background:#edf1ea;border-left:3px solid #44745c;margin-bottom:20px;border-radius:0 10px 10px 0}.exercise-box p{margin:0;font-size:16px}.say-card{padding:23px;margin-top:26px;border:1px solid #cdd8cc;border-radius:12px}.say-card blockquote{margin:12px 0 18px;font-size:17px;line-height:1.7;white-space:pre-line}.quiz-group{padding:23px 0;border:0;border-bottom:1px solid #d4ded2;min-width:0;margin:0}.quiz-group legend{font-size:18px;font-weight:680;padding-top:15px;line-height:1.5}.quiz-option{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;border:1px solid #c2cfc0;border-radius:9px;margin:9px 0;background:white;font-size:15px;line-height:1.6;cursor:pointer}.quiz-option:has(input:checked){border-color:#38684c;box-shadow:0 0 0 1px #38684c;background:#edf6ed}.quiz-option input{margin-top:6px;accent-color:#285b3c;flex-shrink:0}.quiz-feedback{padding:15px 18px;background:#e5efe3;color:#24412b;border-radius:8px;margin:14px 0 0;font-size:14px;line-height:1.65}.quiz-feedback.retry{background:#fff0d5;color:#684723}.quiz-actions{margin:24px 0 0;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.quiz-summary{font-size:14px;font-weight:650}.success-mark{width:56px;height:56px;background:#d9efdc;color:#295839;border-radius:50%;display:grid;place-items:center;font-size:26px;margin-bottom:22px}.complete-takeaway{padding:23px;background:#e9efe5;border-radius:10px;margin-top:25px}.complete-takeaway p{margin:8px 0 0;font-size:16px}.mobile-menu{display:none}.dialog{max-width:min(1120px,95vw);width:100%;max-height:91dvh;border:1px solid #415167;background:#111c29;color:var(--text);border-radius:15px;padding:25px;overflow:auto}.dialog::backdrop{background:#000b}.dialog-head{display:flex;gap:20px;align-items:center;justify-content:space-between}.dialog h2{margin:0;font-size:24px}.dialog img{width:100%;height:auto;display:block;border-radius:8px;margin:20px auto;max-height:none}.dialog p{color:var(--muted);font-size:14px}.dialog a{color:var(--accent)}.notes-item{border-top:1px solid var(--border);padding:22px 0}.notes-item pre{font-family:inherit;font-size:15px;line-height:1.7;white-space:pre-wrap;color:#d5e1ec}.notes-item h3{font-size:19px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#203b2b;color:#f4fff6;padding:13px 20px;border-radius:8px;z-index:50;max-width:90vw;box-shadow:0 5px 30px #0007}.mobile-scrim{display:none}.preview-note{padding:9px 20px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);text-align:center;background:var(--bg)}@media(min-width:1500px){.lesson-space{padding-left:54px;padding-right:54px}}@media(max-width:1000px){.hero{gap:25px;grid-template-columns:1.2fr .8fr}.hero-art img{height:245px}.workspace{grid-template-columns:235px minmax(0,1fr)}.lesson-space{padding:23px 21px 45px}.lesson-panel{padding:29px}.sidebar{padding:20px 12px}.bookmark{font-size:0}.bookmark::after{content:'Save';font-size:12px}.bookmark[aria-pressed="true"]::after{content:'Saved'}}@media(max-width:760px){.topbar{padding:12px 18px;gap:12px}.brand{gap:12px}.brand img{width:65px;height:42px}.brand b{font-size:12px}.brand .separator{height:25px}.top-actions{gap:7px}.top-actions button{font-size:12px;padding:8px 10px}.preview-chip{display:none}.shell{padding:26px 20px 48px}.hero{display:block;margin:10px 0 28px}.hero h1{font-size:42px;max-width:530px}.hero p{font-size:16px}.hero-art{display:none}.hero-buttons button{flex:1}.course-progress{padding:20px;margin-bottom:30px}.progress-row{font-size:12px}.progress-row strong{font-size:14px}.roadmap-heading{display:block}.roadmap-heading h2{font-size:27px;margin-bottom:17px}.search{width:100%}.parts{grid-template-columns:1fr}.part-card{padding:21px}.workspace{display:block}.sidebar{display:none;position:fixed;z-index:30;top:0;bottom:0;left:0;width:min(330px,87vw);background:#0d1620;max-height:100dvh;border-right:1px solid #526778}.sidebar.open{display:block}.mobile-scrim.open{display:block;position:fixed;inset:0;background:#0009;z-index:29}.mobile-menu{display:inline-flex}.lesson-space{padding:18px 13px 34px}.lesson-top{padding:0 5px;gap:10px;align-items:center;margin-bottom:16px}.lesson-top h2{font-size:16px;line-height:1.4}.lesson-top .label{font-size:9px}.stagebar{margin-bottom:12px;gap:0}.stagebar button{padding:8px 11px;font-size:11px}.stagebar .substep{font-size:10px}.lesson-panel{padding:26px 23px;border-radius:12px;min-height:0}.lesson-panel h1{font-size:31px;line-height:1.15;margin:12px 0 24px}.lesson-panel p{font-size:16px;line-height:1.78}.lesson-panel .label{font-size:10px}.lesson-foot{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin-top:15px}.lesson-foot button{padding:10px 12px;font-size:13px}.lesson-foot .middle{font-size:10px}.lesson-foot .middle small{font-size:9px}.image-strip{padding:12px;gap:12px}.image-strip img{width:86px;height:84px}.image-strip p{font-size:11px}.image-strip button{min-height:44px;font-size:11px;padding:7px 9px}.quiz-option{font-size:14px;padding:13px}.quiz-group legend{font-size:17px}.quiz-feedback{font-size:13px}.dialog{padding:20px;max-height:90dvh}.dialog h2{font-size:22px}.notebook{min-height:170px;font-size:16px}.bookmark{padding:9px 12px}.learning-outcomes{padding:16px}.preview-note{font-size:10px}.complete-takeaway{padding:17px}.brand .small{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

[hidden]{display:none!important} .top-actions a{color:inherit;text-decoration:none;font-size:12px;padding:12px;border:1px solid var(--border);border-radius:8px} .sync-banner{position:sticky;top:0;z-index:35;background:#4a3422;color:#fff3dc;padding:10px 18px;text-align:center;font-size:13px}.sync-banner button{margin-left:12px;padding:6px 10px;min-height:38px} .auth-box{max-width:550px;margin:60px auto;padding:28px;border:1px solid var(--border);border-radius:14px}.auth-box label{display:block;margin:15px 0}.auth-box input{display:block;width:100%;padding:14px;margin-top:8px;font-size:16px} .lesson-foot button{min-height:44px}.course-sources{margin-top:24px;border-top:1px solid #ccd7cd;padding-top:14px;font-size:12px}.course-sources a{color:#254e39}.course-sources li{margin:6px 0} .note-conflict{padding:12px;border:1px solid #bc7731;border-radius:8px;background:#fff0d5;color:#533811}@media(max-width:450px){.lesson-foot{grid-template-columns:auto 1fr}.lesson-foot .middle{grid-column:1/-1;grid-row:2}.lesson-foot #next{justify-self:end}.top-actions a{padding:10px 7px;font-size:11px}.topbar .brand .separator,.topbar .brand b{display:none}.topbar{gap:7px;padding:10px}.top-actions{margin-left:auto}}

.chapter-time{display:block;font-size:11px;color:var(--muted);margin-top:4px}.worked-visual{margin:30px 0;padding:24px;background:#eaf0e9;border:1px solid #cbd9cc;border-radius:14px}.worked-visual h2{font-size:25px;margin:8px 0 20px}.case-scene{display:block;width:100%;height:auto;border-radius:10px}.scene-caption,.visual-caption,.diagram-note{font-size:12px!important;line-height:1.55!important;color:#526456;margin:12px 0 18px}.visual-rows{display:grid;gap:12px}.visual-rows.compare{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.visual-row{display:flex;gap:14px;padding:17px;background:#fff;border:1px solid #d3dfd3;border-radius:10px;min-width:0}.visual-row b{display:block;font-size:15px;color:#173b28}.visual-row p{margin:6px 0 0;font-size:14px!important;line-height:1.65!important}.visual-number{font:600 12px/1.5 monospace;color:#5c775d;padding-top:2px;flex-shrink:0}.flow .visual-row:not(:last-child){border-bottom:3px solid #8fb799}.dialogue .visual-row:nth-child(even){background:#d9eada;margin-left:20px}.visual-caption{margin-bottom:0}.lesson-diagram{display:block;width:100%;height:auto;background:#f9fbf7;border-radius:10px}.practice-review,.chapter-resources,.builder-reference,.capstone-guide,.part-recap,.outreach-workshop{margin-top:24px;border:1px solid #c9d7ca;border-radius:12px;padding:20px;background:#f0f4ed}.practice-review h2,.capstone-guide h2,.outreach-workshop h2{font-size:23px;margin-bottom:15px}.practice-review li,.capstone-guide li,.chapter-resources li{margin:8px 0;font-size:15px;line-height:1.6}.practice-review summary,.chapter-resources summary,.builder-reference summary,.outreach-workshop summary{cursor:pointer;font-weight:650;min-height:44px;padding:10px 0}.practice-review details{padding-top:10px;border-top:1px solid #c9d7ca}.practice-review details p,.chapter-resources p,.builder-reference p,.capstone-guide p,.part-recap p,.outreach-workshop p{font-size:15px!important;line-height:1.65!important}.practice-link{display:inline-block;padding:12px 16px;border-radius:8px;background:#153f2c;color:white;line-height:1.5}.screen-focus{position:relative;aspect-ratio:1/1.1;overflow:hidden;background:#0a1018;border-radius:10px;max-width:430px;margin:15px auto}.screen-focus img{position:absolute;width:240%;max-width:none;right:0;top:-20%}.placement-demo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.demo-face{position:relative;width:130px;height:175px;border-radius:40px;background:#17394c;margin:12px auto 20px;overflow:hidden;border:5px solid #82988a}.demo-logo{position:absolute;white-space:nowrap;color:#e4ce97;left:50%;top:45%;transform:translate(-50%,-50%);font-weight:700}.demo-logo.cropped{font-size:28px}.demo-logo.fitted{font-size:12px}.demo-safe{position:absolute;inset:12px;border:1px dashed #a1edb7;border-radius:25px}.placement-demo p{font-size:13px!important;line-height:1.6!important}.training-document{background:white;padding:22px;border-radius:10px;border:1px solid #b8cdbb;margin:16px 0}.training-stamp{font:700 10px/1.5 monospace;letter-spacing:.07em;color:#526f58;border-bottom:1px solid #d7e2d7;padding-bottom:10px}.document-type{margin:15px 0 5px;font-size:13px!important;text-transform:uppercase;letter-spacing:.08em}.training-document h3{font-size:24px;margin-bottom:10px}.training-document p{font-size:13px!important;line-height:1.6!important}.training-document dl div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #dce5dc;font-size:14px}.training-document dd{margin:0;white-space:nowrap;font-weight:650}.doc-total{color:#153f2c;font-weight:700}.document-note{margin:16px 0 0}.math-demo{padding:24px;background:#173b28;color:white;border-radius:12px;margin-bottom:20px}.math-demo span,.math-demo small{display:block;font-size:13px}.math-demo strong{display:block;font-size:clamp(24px,4vw,40px);margin:12px 0}.math-demo em{font-style:normal;color:#a1edb7}.capstone-guide table{border-collapse:collapse;width:100%;font-size:14px;margin-top:20px}.capstone-guide caption{text-align:left;font-weight:700;margin:10px 0}.capstone-guide th,.capstone-guide td{text-align:left;vertical-align:top;border-bottom:1px solid #c9d7ca;padding:12px 8px}.outreach-workshop textarea{width:100%;padding:14px;border:1px solid #9aaa9d;border-radius:8px;font-size:16px;line-height:1.6;font-family:inherit;resize:vertical}.outreach-workshop details{border-bottom:1px solid #c9d7ca}.outreach-workshop label{display:block;font-weight:600}.part-recap{border-left:4px solid #44745c}.part-recap p:last-child{margin-bottom:0}@media(max-width:760px){.worked-visual{padding:16px;margin:24px -5px}.worked-visual h2{font-size:23px}.visual-row{padding:14px;gap:10px}.visual-row p{font-size:14px!important}.placement-demo{gap:12px}.demo-face{width:100px;height:145px}.demo-logo.fitted{font-size:10px}.training-document{padding:15px}.training-document dl div{font-size:13px}.chapter-resources,.builder-reference,.practice-review,.capstone-guide,.outreach-workshop{padding:16px}.capstone-guide th,.capstone-guide td{padding:10px 5px}.dialogue .visual-row:nth-child(even){margin-left:10px}.math-demo{padding:18px}.screen-focus{aspect-ratio:1/1.2}.practice-link{width:100%;text-align:center}}
