:root{color-scheme:light;--ink:#171717;--muted:#70706d;--paper:#f7f7f5;--surface:#fff;--line:#e3e3df;--green:#b8ef6d;--green-dark:#285c35;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0}a{color:inherit}button,input{font:inherit}.site-header{background:var(--ink);height:72px;color:var(--surface);border-bottom:1px solid #292929;justify-content:space-between;align-items:center;padding:0 clamp(1.1rem,5vw,5rem);display:flex}.brand{color:var(--surface);letter-spacing:-.02em;align-items:center;gap:.7rem;font-size:1rem;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{width:30px;height:30px;color:var(--ink);background:var(--green);letter-spacing:.03em;border-radius:2px;place-items:center;font-size:.66rem;font-weight:800;display:grid}.site-nav{color:#adadab;white-space:nowrap;align-items:center;gap:1.2rem;font-size:.9rem;display:flex}.site-nav a{text-decoration:none}.site-nav a:hover,.site-nav a.active{color:var(--green)}.contents-menu{position:relative}.contents-menu summary{cursor:pointer;align-items:center;gap:.35rem;list-style:none;display:inline-flex}.contents-menu summary::-webkit-details-marker{display:none}.contents-menu summary:hover,.contents-menu[open] summary{color:var(--green)}.contents-panel{z-index:20;border:1px solid var(--ink);width:min(25rem,100vw - 1.4rem);max-height:calc(100vh - 5.5rem);color:var(--ink);background:var(--surface);padding:1rem;position:fixed;top:72px;right:clamp(.7rem,5vw,5rem);overflow-y:auto;box-shadow:0 1rem 2.5rem #00000029}.course-contents-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:.85rem;display:flex}.course-contents-heading .eyebrow{margin-bottom:.15rem;font-size:.68rem}.course-contents-heading a{color:var(--green-dark);white-space:nowrap;font-size:.78rem;font-weight:700;text-decoration:none}.course-contents-count{color:var(--muted);margin:0;font-size:.78rem}.course-contents-list{gap:.2rem;margin-top:.55rem;display:grid}.contents-module{border-bottom:1px solid var(--line)}.contents-module summary{cursor:pointer;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.7rem .15rem;list-style:none;display:grid}.contents-module summary::-webkit-details-marker{display:none}.contents-module summary:after{content:"+";color:var(--muted);font-size:.85rem}.contents-module[open] summary:after{content:"−"}.contents-module-range,.contents-lesson-number{color:var(--green-dark);letter-spacing:.05em;font-size:.7rem;font-weight:800}.contents-module-name{min-width:0;font-size:.88rem;font-weight:700}.contents-module-count{color:var(--muted);font-size:.72rem}.contents-module ul{gap:.15rem;margin:0 0 .65rem;padding:0;list-style:none;display:grid}.contents-module li{border-left:2px solid #0000}.contents-module li.is-current{border-color:var(--green-dark);background:color-mix(in srgb, var(--green) 15%, transparent)}.contents-module li a,.contents-lesson-disabled{color:var(--ink);grid-template-columns:1.75rem minmax(0,1fr);align-items:start;gap:.45rem;padding:.45rem .5rem;font-size:.78rem;line-height:1.35;text-decoration:none;display:grid}.contents-module li a:hover{background:color-mix(in srgb, var(--green) 9%, transparent)}.contents-lesson-disabled{color:var(--muted)}.contents-lesson-disabled small{color:var(--muted);margin-top:.15rem;font-size:.68rem;display:block}.home-shell{width:min(1160px,100% - 2.4rem);margin:0 auto;padding:clamp(3rem,8vw,7rem) 0 5rem}.home-intro{max-width:780px}.eyebrow{color:var(--green-dark);letter-spacing:.11em;text-transform:uppercase;margin:0 0 .7rem;font-size:.76rem;font-weight:750}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.06em;max-width:800px;margin-bottom:1.2rem;font-size:clamp(2.4rem,5.2vw,4.35rem);font-weight:680;line-height:1.01}.lede{max-width:650px;color:var(--muted);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.intro-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem;display:flex}.button{border-radius:2px;align-items:center;gap:.65rem;padding:.78rem 1rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.button-primary{color:var(--ink);background:var(--green)}.button-primary:hover{background:#a5e35a}.progress-summary{color:var(--muted);font-size:.9rem}.progress-summary strong{color:var(--ink)}.roadmap-section{margin-top:clamp(5rem,10vw,9rem)}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem;display:flex}.section-heading h2{letter-spacing:-.045em;margin-bottom:0;font-size:clamp(1.7rem,3vw,2.5rem)}.section-note{color:var(--muted);font-size:.9rem}.phase-list{border-top:1px solid var(--line)}.phase-row{border-bottom:1px solid var(--line)}.phase-row[open]{background:color-mix(in srgb, var(--green) 5%, transparent)}.phase-summary{cursor:pointer;grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.15rem 0;list-style:none;display:grid}.phase-summary::-webkit-details-marker{display:none}.phase-summary:hover{background:color-mix(in srgb, var(--green) 8%, transparent)}.phase-row.is-current .phase-number{color:var(--green-dark)}.phase-title{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.phase-title strong{letter-spacing:-.025em;font-size:1.08rem}.phase-title span{color:var(--muted);font-size:.82rem}.phase-chevron{color:var(--green-dark);font-size:1.1rem;transition:transform .16s}.phase-row[open] .phase-chevron{transform:rotate(180deg)}.phase-detail{padding:0 0 1.35rem 6rem}.phase-summary-copy{max-width:62rem;color:var(--muted);margin:0 0 1rem;font-size:.92rem;line-height:1.55}.lesson-choice-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.lesson-choice-list li{border:1px solid var(--line);background:var(--surface)}.lesson-choice-list li.is-published:hover{border-color:var(--green-dark)}.lesson-choice-list a,.lesson-choice-disabled{grid-template-columns:2rem minmax(0,1fr) auto;align-items:start;gap:.7rem;padding:.8rem .85rem;text-decoration:none;display:grid}.lesson-choice-number{color:var(--green-dark);letter-spacing:.05em;padding-top:.1rem;font-size:.72rem;font-weight:800}.lesson-choice-copy{gap:.2rem;display:grid}.lesson-choice-copy strong{color:var(--ink);font-size:.92rem}.lesson-choice-copy span{color:var(--muted);font-size:.82rem;line-height:1.45}.lesson-choice-arrow{color:var(--green-dark);font-size:1rem;font-weight:800}.lesson-choice-status{color:var(--muted);white-space:nowrap;font-size:.75rem}.lesson-choice-disabled{background:color-mix(in srgb, var(--paper) 65%, var(--surface))}.phase-start-link,.phase-status{color:var(--green-dark);margin-top:.9rem;font-size:.86rem;font-weight:700;text-decoration:none;display:inline-block}.phase-status{color:var(--muted);font-weight:550}.phase-number{color:var(--muted);letter-spacing:.1em;font-size:.75rem;font-weight:750}.lesson-shell{width:min(1180px,100% - 2.4rem);margin:0 auto;padding:2rem 0 5rem}.lesson-meta{color:var(--muted);justify-content:space-between;gap:1rem;font-size:.86rem;display:flex}.lesson-meta a{text-decoration:none}.lesson-meta a:hover{color:var(--ink)}.lesson-header{max-width:840px;padding:clamp(3rem,8vw,6rem) 0 2rem}.lesson-header h1{font-size:clamp(2.4rem,5vw,4.4rem)}.lesson-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:start;gap:1.3rem;display:grid}.lesson-main,.lesson-aside{border:1px solid var(--line);background:var(--surface)}.lesson-main{padding:clamp(1.2rem,3vw,2rem)}.lesson-aside{padding:1.25rem;position:sticky;top:1rem}.lesson-main h2{letter-spacing:-.03em;margin:2.3rem 0 .75rem;font-size:1.45rem}.lesson-main h2:first-child{margin-top:0}.lesson-main p{color:var(--muted);line-height:1.7}.callout{border-top:1px solid var(--green-dark);background:0 0;margin:1.2rem 0;padding:1rem 0 0}.callout p{color:var(--ink);margin:0}.interview-prompt{border:1px solid var(--ink);background:var(--ink);padding:1rem 1.1rem}.interview-prompt p{color:var(--surface);margin:0}.viz-frame{border:1px solid var(--line);background:#fbfdfc;margin:1.2rem 0;padding:1rem}.viz-frame svg{width:100%;height:auto;display:block}.viz-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:.8rem 0 .4rem;display:grid}.viz-controls label{color:var(--muted);font-size:.83rem}.viz-controls input{width:100%;accent-color:var(--green-dark)}.viz-controls output{color:var(--ink);font-weight:700}.viz-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.small-button{border:1px solid var(--line);color:var(--ink);background:var(--surface);cursor:pointer;border-radius:2px;padding:.55rem .8rem;font-size:.84rem;font-weight:650}.small-button:hover,.small-button:focus-visible{border-color:var(--green-dark);outline:2px solid color-mix(in srgb, var(--green-dark) 25%, transparent);outline-offset:2px}.viz-status{color:var(--muted);margin:.55rem 0 0;font-size:.88rem}.plot-gridline{stroke:var(--line);stroke-width:1px;opacity:.75}.plot-axis{stroke:var(--ink);stroke-width:1.1px;opacity:.7}.plot-tick{fill:var(--ink);font-size:12px}.plot-point{fill:var(--green-dark);stroke:var(--surface);stroke-width:1.5px}.plot-residual{stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round;opacity:.62}.reg-line{stroke:var(--green-dark);stroke-width:3px;stroke-linecap:round}.plot-label{fill:var(--ink);font-size:12px}.question-list{gap:.7rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.question{border:1px solid var(--line);padding:.9rem 1rem}.question summary{cursor:pointer;font-weight:650}.question p{margin:.7rem 0 0;font-size:.94rem}.lesson-aside h2{margin:0 0 1rem;font-size:1rem}.lesson-aside ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.lesson-aside li{color:var(--muted);grid-template-columns:1.7rem 1fr;gap:.55rem;font-size:.88rem;line-height:1.45;display:grid}.lesson-aside li:before{content:attr(data-step);color:var(--green-dark);font-weight:750}.lesson-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.3rem;padding-top:1.2rem;display:flex}.lesson-footer a{color:var(--green-dark);font-weight:700;text-decoration:none}@media (width<=940px){.lesson-layout{grid-template-columns:1fr}.lesson-aside{position:static}}@media (width<=560px){.site-header{height:64px}.site-nav{gap:.65rem;font-size:.8rem}.contents-panel{top:64px;right:.7rem}.home-shell,.lesson-shell{width:min(100% - 1.4rem,1180px)}.phase-summary{grid-template-columns:4rem 1fr auto;gap:.35rem .7rem}.phase-title{gap:.15rem;display:grid}.phase-detail{padding-left:0}.lesson-choice-list a,.lesson-choice-disabled{grid-template-columns:1.75rem minmax(0,1fr)}.lesson-choice-arrow,.lesson-choice-status{grid-column:2}.viz-frame{padding:.65rem}.viz-controls{grid-template-columns:1fr}.lesson-footer{flex-direction:column;align-items:flex-start}}
