:root{--canvas:#f7f5ee;--paper:#fffefa;--ink:#23382e;--muted:#727a71;--faint:#969c91;--line:#e0e4d9;--green:#315b45;--soft:#edf1e7;--gold:#a78145;--rail:286px;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html{scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--green);text-underline-offset:4px}button,input,select{font:inherit}p{margin:0 0 1em}h1,h2,h3,h4{line-height:1.22}h1,h2,h3,h4,p,ul,ol{overflow-wrap:break-word}a,button,summary,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:5px}h1:focus{outline:none}[hidden]{display:none!important}.muted{color:var(--faint)}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;padding:10px;background:var(--paper);border:1px solid var(--line)}.skip-link:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--rail);background:var(--canvas);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:34px 18px 18px;z-index:2}.brand{display:flex;gap:13px;align-items:center;color:var(--ink);text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.1;padding:0 14px}.brand-mark{width:39px;height:45px;display:grid;place-items:center;background:var(--green);color:var(--canvas);font-size:34px;font-style:italic;line-height:1;border-radius:2px}.brand small{font:9px/2.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.18em;color:var(--muted)}.rail-meta{font-size:11px;line-height:1.8;color:var(--muted);padding:23px 14px 24px}.lesson-list{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8cfc1 transparent;margin:0 -6px 0 0;padding-right:6px}.lesson-group{margin-bottom:26px}.lesson-group h2{font-size:10px;letter-spacing:.085em;text-transform:uppercase;font-weight:650;color:var(--muted);margin:0 0 9px;padding:0 14px}.lesson-group h2 span{color:var(--gold);margin-right:5px}.lesson-list a{display:flex;align-items:baseline;gap:11px;text-decoration:none;padding:9px 12px;border:1px solid transparent;border-radius:5px;line-height:1.4;margin-bottom:2px;color:#5b685d}.lesson-list-number{font-size:10px;letter-spacing:.02em;color:#8c9589;flex:0 0 16px;font-variant-numeric:tabular-nums}.lesson-list strong{display:block;font-size:12px;font-weight:450}.lesson-list small{display:block;font-size:10px;color:var(--faint);margin-top:4px}.lesson-list a[aria-current]{background:#e8eddf;border-color:#dfe6d5;color:var(--ink)}.lesson-list a[aria-current] .lesson-list-number{color:var(--green)}.lesson-list a[aria-current] strong{font-weight:600}.rail-footer{padding:13px 14px 0;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.8;margin-top:auto}
.main-shell{margin-left:var(--rail)}main{max-width:980px;margin:0 auto;padding:32px 64px 35px}.mobile-header{display:none}.topbar{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.11em;padding-bottom:30px}.topbar>span:last-child{letter-spacing:0;font-size:11px}.course-guide{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:48px}.course-guide>summary{display:flex;justify-content:space-between;align-items:center;list-style:none;gap:15px;cursor:pointer;padding:13px 0;font-size:12px;color:var(--muted)}.course-guide>summary::-webkit-details-marker{display:none}.course-guide>summary>span:first-child{color:var(--ink);font-weight:500}.course-guide b{font-size:17px;font-weight:400;display:inline-block;margin-left:15px}.course-guide[open] b{transform:rotate(45deg)}.guide-content{padding:12px 0 17px;font-size:14px;line-height:1.8;max-width:680px}.guide-content p:last-child{margin:0}
.lesson-heading{padding-bottom:40px}.lesson-meta{display:flex;align-items:center;gap:17px;font-size:10px;font-weight:650;letter-spacing:.12em;color:var(--green);margin-bottom:20px}.kind{font-size:10px;letter-spacing:.02em;font-weight:500;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:3px 9px}.lesson-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3.7vw,48px);font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0 0 22px;max-width:760px;text-wrap:balance}.session-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);line-height:1.6}.session-meta .dot{color:#bac1b3}.agenda{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:32px;padding:16px 0;gap:10px}.agenda div{display:flex;flex-direction:column;line-height:1.65;border-right:1px solid var(--line);padding-left:14px}.agenda div:first-child{padding-left:0}.agenda div:last-child{border-right:0}.agenda strong{font-size:11px;font-weight:600}.agenda span{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.phase{padding:28px 0 35px;border-bottom:1px solid var(--line)}.phase-head{display:flex;gap:17px;align-items:baseline;margin:0 0 22px}.phase-number{font-size:10px;font-weight:650;color:var(--gold);font-variant-numeric:tabular-nums;flex:0 0 18px}.phase h3{font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:400;letter-spacing:-.02em;margin:0 0 5px}.phase-head p{font-size:11px;line-height:1.5;color:var(--muted);margin:0;font-variant-numeric:tabular-nums}.phase-body{margin-left:35px;min-width:0}.phase-body>p:last-child{margin-bottom:0}.instruction{font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:23px}.questions{display:grid;gap:25px}.question{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px}.question-label{font-size:11px;font-weight:600;color:var(--muted);padding-top:4px}.question-label>span{font-variant-numeric:tabular-nums}.question-label em{display:none}.question-body{min-width:0}.question-body>p:first-child{margin-top:0}.question-body>p:last-child{margin-bottom:0}.question-body p{margin-bottom:.8em}.question-body>ol,.question-body>ul{padding-left:22px;margin-top:0}.question-body li{padding-left:3px;margin-bottom:10px}.question.fallback{display:block;border:1px dashed #cfd8c6;border-radius:5px;padding:14px 18px;font-size:14px;background:#f8faf4}.fallback .question-label{display:flex;gap:9px;align-items:baseline;margin-bottom:9px;padding:0}.fallback .question-label em{display:block;font-style:normal;font-size:10px;font-weight:400}.fallback .question-body{font-size:14px}
.reveal{margin:14px 0 0}.reveal>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--green);cursor:pointer;font-size:11px;line-height:1.5;list-style:none;width:fit-content;min-width:135px;padding:6px 0;border-bottom:1px solid #cdd7c3}.reveal>summary::-webkit-details-marker{display:none}.reveal>summary>span{font-size:16px;font-weight:400;line-height:1}.reveal[open]>summary>span{transform:rotate(45deg)}.answer{padding:16px 18px;margin-top:11px;background:var(--soft);border-radius:4px;font-size:14px;line-height:1.8;min-width:0}.answer p:last-child,.answer ul:last-child,.answer ol:last-child{margin-bottom:0}.answer>p:first-child{margin-top:0}.answer .questions{gap:22px}.answer .reveal .answer{background:var(--paper);border:1px solid var(--line)}.answer h1,.answer h2,.answer h3{font:600 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.resources{display:grid;gap:13px;margin-bottom:28px}.resource,.published{padding:20px 23px 18px;background:var(--canvas);border:1px solid var(--line);border-radius:5px}.resource-top{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);line-height:1.5;margin-bottom:10px}.resource-type{letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--green)}.resource-title{display:flex;align-items:baseline;justify-content:space-between;gap:18px;text-decoration:none;font-size:16px;line-height:1.5;font-weight:550}.resource-title>span{flex-shrink:0;color:var(--muted);font-size:17px;font-weight:400}.resource h4{font:550 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0}.resource-instructions{font-size:13px;line-height:1.75;color:#667361;margin-top:11px}.resource-instructions p:last-child{margin-bottom:0}.resource-instructions>p:first-child{margin-top:0}.resource-instructions ul,.resource-instructions ol{padding-left:20px}.published{background:#f0f4e9;border-color:#cddac0;margin-bottom:28px}.published>.resource-title{margin-bottom:12px}.published>p{font-size:14px}.published>p:last-child{margin-bottom:0}.solution-link{display:inline-block;font-size:12px;margin-top:12px}.lesson-notes{border-top:1px solid var(--line);padding-top:26px;line-height:1.85}.section-kicker{display:block;letter-spacing:.11em;font-size:9px;font-weight:600;color:var(--muted);margin-bottom:16px}.lesson-notes h1,.lesson-notes h2,.lesson-notes h3,.lesson-notes h4{font-family:inherit;font-size:16px;font-weight:600;letter-spacing:0;margin:24px 0 11px}.lesson-notes>p:first-of-type{margin-top:0}.lesson-notes ul,.lesson-notes ol{padding-left:23px}.lesson-notes li{padding-left:3px;margin-bottom:8px}.lesson-notes>p:last-child{margin-bottom:0}.break{display:flex;align-items:center;gap:14px;margin:21px 0 10px 35px;color:var(--muted);font-size:13px;padding:16px 0;border-bottom:1px solid var(--line)}.break>span{font-size:19px;filter:grayscale(1);opacity:.65}.break strong{display:block;font-size:12px;font-weight:500}.break div span{display:block;font-size:10px;margin-top:1px}.final-check{padding:25px 24px 27px;background:var(--canvas);border:1px solid var(--line);border-radius:6px;margin-top:30px}.final-check .phase-head{gap:12px}.final-check .phase-body{margin-left:30px}.completion{margin-top:23px;padding-top:18px;border-top:1px solid #d9dfcf;font-size:13px;color:#62705d;line-height:1.7}.completion p:last-child{margin:0}.completion .section-kicker{font-size:9px;margin-bottom:8px;color:var(--green)}
.lesson-nav{display:flex;justify-content:space-between;gap:15px;margin-top:35px}.button{display:inline-flex;align-items:center;gap:20px;text-decoration:none;padding:10px 16px;border:1px solid var(--line);border-radius:5px;font-size:12px;font-weight:500;line-height:1.5;background:var(--paper);min-height:40px}.button.primary{background:var(--green);border-color:var(--green);color:#fffefa}.button:active{transform:scale(.97)}.page-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:20px;margin-top:65px;color:var(--muted);font-size:9px;line-height:1.6}pre{background:#f0f2ec;border:1px solid #e3e7dc;border-radius:5px;padding:15px 18px;overflow:auto;margin:16px 0;line-height:1.55;tab-size:4}code{font: .83em/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#364e3c}p>code,li>code{padding:2px 4px;border:1px solid #e5e9df;border-radius:3px;background:#f2f4ee;overflow-wrap:anywhere;white-space:normal}pre code{padding:0;border:0;background:none;white-space:pre;font-size:12px}.katex{font-size:1.08em;color:inherit}.math-block{margin:21px 0;overflow-x:auto;overflow-y:hidden;padding:4px 0}.katex-display{margin:0;overflow:visible}.answer .math-block{margin:15px 0}.katex .base{white-space:nowrap}table{border-collapse:collapse;display:block;overflow:auto;width:100%;font-size:13px;margin:17px 0}th,td{border-bottom:1px solid var(--line);text-align:left;padding:8px 12px;min-width:65px}th{font-weight:600}blockquote{border-left:2px solid #b8c8a9;margin:20px 0;padding-left:17px;color:#65715f;font-size:14px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}
@media(hover:hover) and (pointer:fine){.lesson-list a:hover{background:#edf0e6}.resource-title:hover{text-decoration:underline}.button:not(.primary):hover{background:var(--soft)}.button.primary:hover{background:#244834}.reveal>summary:hover{border-color:var(--green)}.course-guide>summary:hover>span:first-child{color:var(--green)}}
@media(min-width:1500px){main{max-width:1050px;padding-left:90px;padding-right:90px}:root{--rail:305px}.sidebar{padding-left:24px;padding-right:24px}}
@media(max-width:1100px){:root{--rail:250px}main{padding-left:38px;padding-right:38px}.sidebar{padding-left:12px;padding-right:12px}.lesson-heading h1{font-size:40px}.lesson-list strong{font-size:11px}.brand{font-size:22px}.brand-mark{width:34px;height:40px}}
@media(max-width:820px){.sidebar{display:none}.main-shell{margin-left:0}.mobile-header{display:grid;grid-template-columns:1fr auto minmax(0,210px);align-items:center;gap:10px;position:sticky;top:0;z-index:5;padding:13px 24px;background:rgba(255,254,250,.97);border-bottom:1px solid var(--line)}.mobile-header>a{font:19px/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}.mobile-header>a span{font-size:12px;color:var(--muted)}.mobile-header label{font-size:10px;color:var(--muted)}.mobile-header select{width:100%;min-width:0;padding:7px 24px 7px 9px;border:1px solid var(--line);background:var(--canvas);border-radius:5px;color:var(--ink);font-size:11px;height:34px}main{max-width:740px;padding:25px 35px 30px}.topbar{padding-bottom:22px}.course-guide{margin-bottom:36px}.lesson-heading h1{font-size:40px}.phase-body{margin-left:30px}.phase-head{gap:12px}}
@media(max-width:520px){body{font-size:15px;line-height:1.8}.mobile-header{padding:12px 17px;grid-template-columns:1fr minmax(0,170px);gap:12px}.mobile-header label{display:none}.mobile-header>a{font-size:17px}.mobile-header>a span{display:block;font-size:11px;margin-top:2px}.mobile-header select{font-size:10px;padding-right:16px}main{padding:22px 21px 25px}.topbar{font-size:8px;letter-spacing:.08em}.topbar>span:last-child{font-size:9px}.course-guide{margin-bottom:30px}.course-guide>summary{font-size:11px;padding:12px 0}.course-guide>summary>span:last-child{font-size:10px}.course-guide b{margin-left:5px}.guide-content{font-size:13px}.lesson-meta{gap:11px;margin-bottom:17px;font-size:9px}.kind{font-size:9px;padding:2px 7px}.lesson-heading h1{font-size:35px;margin-bottom:18px}.session-meta{font-size:10px;gap:6px}.session-meta .dot:last-of-type,.session-meta>span:last-child{display:none}.agenda{margin-top:25px;padding:13px 0;gap:4px}.agenda div{padding-left:8px}.agenda strong{font-size:9px}.agenda span{font-size:9px}.lesson-heading{padding-bottom:22px}.phase{padding:23px 0 28px}.phase-head{margin-bottom:18px}.phase h3{font-size:24px}.phase-head p{font-size:10px}.phase-number{font-size:9px;flex-basis:15px}.phase-body{margin-left:0}.instruction{font-size:12px}.question{grid-template-columns:25px minmax(0,1fr);gap:9px}.questions{gap:25px}.question-label{font-size:10px;padding-top:5px}.question-body{font-size:15px}.answer{padding:13px 14px;font-size:13px}.reveal>summary{font-size:10px;min-width:125px}.resource,.published{padding:16px 17px}.resource-title,.resource h4{font-size:15px}.resource-instructions{font-size:12px}.resource-top{font-size:9px}.resource-top span:last-child{max-width:115px;text-align:right}.published>p{font-size:13px}.lesson-notes{padding-top:22px}.lesson-notes h1,.lesson-notes h2,.lesson-notes h3,.lesson-notes h4{font-size:15px}.break{margin-left:0}.final-check{padding:20px 17px}.final-check .phase-body{margin-left:0}.final-check .phase-head{gap:9px}.completion{font-size:12px}.question.fallback{padding:13px 14px}.fallback .question-label em{font-size:9px}.fallback .question-body{font-size:13px}.page-footer{font-size:8px;margin-top:48px}.page-footer span:last-child{text-align:right}.button{font-size:11px;gap:16px}pre{padding:13px 14px}pre code{font-size:11px}.katex{font-size:1.04em}.math-block{max-width:100%}}
@media print{.sidebar,.mobile-header,.topbar,.course-guide,.lesson-nav,.page-footer,.skip-link{display:none!important}.main-shell{margin:0}main{max-width:none;margin:0;padding:0}.lesson[hidden]{display:block!important}.lesson{break-before:page}.lesson-heading h1{font-size:25pt}.lesson-heading{padding-bottom:15px}.phase{padding:15px 0}.phase h3{font-size:16pt}.phase-body{margin-left:25px}.question,.answer,.resource{break-inside:avoid}body{font-size:10pt;color:black;background:white}.answer{font-size:9pt}.math-block{overflow:visible}.katex{color:black}.final-check{background:white;border-color:#aaa}.agenda{margin-top:18px}a{color:inherit}.reveal>summary{color:#333}.resource{background:white}.break{margin-top:12px}pre{white-space:pre-wrap}}

.fallback-closed{border:1px dashed #cfd8c6;border-radius:5px;padding:12px 16px;background:#f8faf4;font-size:13px}.fallback-closed>summary{font-size:11px;color:var(--muted);cursor:pointer;line-height:1.7}.fallback-closed>summary>span{display:block;font-size:10px;padding-left:13px;color:#8a9481}.fallback-content{margin-top:16px;padding-top:15px;border-top:1px solid var(--line);font-size:14px}.fallback-content>p:last-child{margin-bottom:0}
