:root{--paper:#f6f4ed;--card:#fffefa;--ink:#20362e;--muted:#63736c;--green:#164f43;--light:#e4eee5;--line:#d9ddd3;--gold:#e9b44b;--coral:#c85c3c;--blue:#367b9c;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--green)}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button,input,select{min-height:44px}button{border:0}h1,h2,h3,p{margin:0}p{line-height:1.65}h1{font-family:Georgia,serif;font-size:clamp(31px,4vw,47px);font-weight:500;line-height:1.12;letter-spacing:-1.2px}h2{font-size:21px;letter-spacing:-.4px}h3{font-size:16px}small{font-size:12px}strong{font-weight:650}.masthead,.main-nav,main,.site-footer{max-width:1240px;margin:auto;padding-left:36px;padding-right:36px}.masthead{height:96px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:19px;font-weight:650;letter-spacing:-.5px}.brand svg{width:42px;flex-shrink:0}.brand svg rect{fill:var(--green)}.brand svg path{fill:none;stroke:#f2cf76;stroke-width:2.5;stroke-linejoin:round}.brand small{display:block;color:var(--muted);letter-spacing:1.7px;font-size:9px;margin-top:5px}.progress-badge{font-size:12px;background:var(--light);border-radius:30px;padding:10px 14px;white-space:nowrap}.main-nav{display:flex;overflow-x:auto;gap:27px;border-bottom:1px solid var(--line);align-items:center}.main-nav a{flex-shrink:0;padding:15px 0;color:var(--muted);text-decoration:none;font-size:14px;border-bottom:3px solid transparent;white-space:nowrap}.main-nav a.active{color:var(--green);font-weight:650;border-color:var(--green)}.main-nav a span{font-size:10px;margin-left:3px;border:1px solid var(--line);border-radius:6px;padding:1px 5px}main{min-height:70vh;padding-top:30px;padding-bottom:40px}.site-footer{border-top:1px solid var(--line);padding-top:20px;padding-bottom:30px;display:flex;gap:15px;justify-content:space-between;font-size:11px;color:var(--muted)}.skip{position:absolute;top:-90px;background:white;padding:12px;z-index:50}.skip:focus{top:8px}.no-script{margin:24px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--green);font-weight:750;text-transform:uppercase;margin-bottom:12px}.intro{max-width:680px;color:var(--muted);font-size:16px;margin-top:14px}.workspace{display:grid;grid-template-columns:205px minmax(0,1fr);gap:36px}.lesson-nav{position:sticky;top:20px;align-self:start}.lesson-nav .eyebrow{margin:8px 0 17px}.lesson-nav a{display:flex;align-items:center;gap:10px;color:var(--muted);padding:12px 10px;margin-bottom:5px;text-decoration:none;font-size:13px;border-radius:11px;line-height:1.4}.lesson-nav a.active{background:var(--green);color:#fff}.lesson-nav a:hover:not(.active){background:var(--light)}.lesson-nav .num{font-size:10px;opacity:.7;width:21px;flex-shrink:0}.lesson-nav .tick{margin-left:auto;color:var(--coral);font-weight:bold}.lesson-nav a.active .tick{color:#f2cf76}.nav-note{border-top:1px solid var(--line);margin-top:20px;padding:18px 10px;color:var(--muted);font-size:12px;line-height:1.6}.lesson-title{display:flex;justify-content:space-between;gap:16px;align-items:start}.lesson-title .subtitle{max-width:590px;margin-top:12px;color:var(--muted);font-size:15px;line-height:1.6}.tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--line);border-radius:30px;padding:7px 10px;white-space:nowrap}.bench{margin-top:25px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 25px #20362e04}.bench-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.bench-top span{font-size:12px;color:var(--muted)}.pill-button,.small-button{padding:9px 13px;border-radius:30px;background:var(--light);color:var(--green);font-size:12px;font-weight:650;min-height:37px}.pill-button:hover,.small-button:hover{background:#d6e5d8}.simulation{display:grid;grid-template-columns:minmax(0,1fr) 230px;min-height:315px}.drawing-wrap{padding:14px;display:flex;flex-direction:column;justify-content:center;min-width:0;background-image:radial-gradient(#dbe0d5 .7px,transparent .7px);background-size:17px 17px}.drawing{width:100%;height:auto;overflow:visible;display:block;aspect-ratio:520/310}.diagram-label{font-family:inherit;font-size:14px;fill:var(--ink)}.diagram-small{font-family:inherit;font-size:12px;fill:var(--muted)}.diagram-large{font-family:inherit;font-size:18px;font-weight:650;fill:var(--green)}.wire{fill:none;stroke:#63766b;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.component{fill:#fffefa;stroke:#415b4d;stroke-width:2}.node{fill:#164f43}.direction{stroke:var(--green);fill:var(--green)}.controls{padding:22px 18px;border-left:1px solid var(--line);background:#fbfaf6}.control{margin-bottom:20px}.control:last-child{margin-bottom:0}.control label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;gap:8px;margin-bottom:6px}.control output{font-variant-numeric:tabular-nums;color:var(--green);white-space:nowrap}.control input[type=range]{width:100%;accent-color:var(--green);margin:0;height:32px;min-height:32px;cursor:pointer}.control select{width:100%;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:8px;font-size:12px;color:var(--ink)}.check-label{display:flex!important;justify-content:start!important;gap:8px!important;font-size:12px!important}.check-label input{accent-color:var(--green);width:17px;min-height:20px}.controls .small-button{width:100%}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#f5f8f0}.metric{padding:16px 20px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);display:block;line-height:1.5}.metric strong{display:block;font-size:21px;font-variant-numeric:tabular-nums;margin-top:5px}.motion-note{margin-top:9px;color:var(--muted);font-size:10px;line-height:1.5}.insight{padding:18px 20px;margin-top:20px;border-left:3px solid var(--gold);background:#eeeede;border-radius:0 10px 10px 0;font-size:14px;line-height:1.6}.insight strong{color:var(--green)}.explain{margin-top:27px}.explain h2{margin-bottom:14px}.explain p{font-size:14px;margin-bottom:13px}.equation{font-variant-numeric:tabular-nums;font-size:15px;background:var(--light);border-radius:10px;padding:14px 17px;margin:15px 0;line-height:1.8;color:var(--green);overflow-wrap:anywhere}.trap{margin:18px 0;padding:15px 18px;border:1px solid #e8cbb8;border-radius:12px;font-size:13px;line-height:1.6}.trap strong{color:#9b4d31}.predict{margin:24px 0;border-top:1px solid var(--line);padding-top:23px}.predict .question{font-size:15px;font-weight:600;margin:10px 0 14px;line-height:1.5}.answers{display:flex;flex-wrap:wrap;gap:9px}.answer{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 15px;color:var(--ink);font-size:13px;min-height:46px;text-align:left}.answer:hover{border-color:var(--green)}.answer.correct{background:var(--light);border-color:var(--green)}.answer.wrong{background:#fbe8df;border-color:var(--coral)}.feedback{margin-top:12px;padding:13px 15px;border-radius:10px;font-size:13px;line-height:1.65;background:var(--light)}.feedback.wrong{background:#fbe8df}.feedback:empty{display:none}.source{font-size:11px;color:var(--muted);margin-top:15px;line-height:1.6}.source a{text-decoration:underline;text-underline-offset:3px}.lesson-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.primary{background:var(--green);color:white;border-radius:10px;font-weight:600;padding:12px 18px;font-size:13px}.primary:hover{background:#226453}.secondary{background:transparent;border:1px solid var(--line);color:var(--green);border-radius:10px;padding:12px 16px;font-size:13px}.notes{margin-top:23px;font-size:13px}.notes summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--muted)}.notes textarea{width:100%;min-height:95px;resize:vertical;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:10px;font-size:14px;line-height:1.6}.note-status{color:var(--muted);font-size:10px;padding-top:6px}.stepper{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.stepper button{border:1px solid var(--line);border-radius:9px;min-height:40px;background:white;color:var(--muted);padding:8px 12px;font-size:12px}.stepper button.active{background:var(--green);color:white}.step-copy{font-size:12px;line-height:1.65;color:var(--muted);margin-top:12px}.materials-heading,.practice-heading{margin-bottom:28px}.library-search{margin:26px 0;display:flex;gap:12px}.library-search input{flex:1;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card);min-width:0}.library-search select{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.download-feature{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 28px;border-radius:var(--radius);background:var(--green);color:#fff;margin:25px 0}.download-feature .eyebrow{color:#f2cf76}.download-feature p{font-size:13px;color:#d2e3d8;margin-top:8px}.download-feature a{color:var(--green);background:#f2cf76;border-radius:9px;padding:14px 18px;font-size:13px;text-decoration:none;white-space:nowrap;font-weight:650}.file-list{border-top:1px solid var(--line)}.file-row{display:grid;grid-template-columns:45px 1fr auto;gap:16px;align-items:center;padding:21px 10px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.file-row:hover{background:#edf0e7}.file-icon{border:1px solid var(--line);border-radius:9px;height:48px;display:grid;place-items:center;font-size:10px;color:var(--green);background:var(--card)}.file-row h3{font-size:15px}.file-row p{font-size:12px;color:var(--muted);margin-top:5px}.file-row .open{color:var(--green);font-size:13px}.future{margin-top:32px;padding:25px;border:1px dashed #b7c5b8;border-radius:14px;max-width:760px}.future p{font-size:14px;color:var(--muted);margin-top:9px}.practice-shell{max-width:800px;margin:auto}.practice-count{font-size:12px;color:var(--muted);margin-bottom:16px}.practice-card{background:var(--card);border:1px solid var(--line);padding:28px;border-radius:18px}.practice-card .question{font-family:Georgia,serif;font-size:25px;font-weight:normal;line-height:1.45;margin:16px 0 23px}.practice-card .answers{display:grid;grid-template-columns:1fr 1fr}.practice-card .answer{font-size:15px;padding:15px}.practice-card .feedback{margin-top:18px}.practice-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px;align-items:center}.practice-status{font-size:12px;color:var(--muted)}.empty-state{padding:40px 0;color:var(--muted)}.source-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}.source-table td,.source-table th{padding:10px;border-bottom:1px solid var(--line);text-align:left}.source-table th{font-size:11px;color:var(--muted)}.source-table td{font-variant-numeric:tabular-nums}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:8px;justify-content:center}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.badge-note{font-size:10px;color:var(--muted);margin-top:10px}.hide{display:none!important}
@media(min-width:1300px){main{padding-top:42px}.workspace{gap:50px}}
@media(max-width:980px){.workspace{grid-template-columns:170px minmax(0,1fr);gap:23px}.simulation{grid-template-columns:1fr}.controls{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;padding:17px 20px}.control{margin:0}.controls .wide{grid-column:1/-1}.drawing-wrap{padding:10px 25px}.drawing{max-height:330px}.metric{padding:14px}.metric strong{font-size:19px}.lesson-title .tag{display:none}}
@media(max-width:680px){.masthead,.main-nav,main,.site-footer{padding-left:18px;padding-right:18px}.masthead{height:77px}.brand{font-size:16px;gap:9px}.brand svg{width:35px}.brand small{font-size:8px;letter-spacing:1.4px}.progress-badge{font-size:10px;padding:8px}.main-nav{gap:20px;overflow:auto}.main-nav a{font-size:12px;padding:13px 0}.workspace{display:block}.lesson-nav{position:static;margin-bottom:26px}.lesson-nav .eyebrow,.nav-note{display:none}.lesson-list{display:flex;gap:7px;overflow:auto;padding:0 0 9px;scrollbar-width:thin}.lesson-nav a{flex-shrink:0;margin:0;border:1px solid var(--line);padding:9px 12px;font-size:11px;white-space:nowrap;min-height:43px}.lesson-nav .num{width:auto}.lesson-nav .tick{margin-left:0}main{padding-top:22px}h1{font-size:33px;letter-spacing:-.9px}.lesson-title .subtitle{font-size:14px}.bench{margin-top:22px}.bench-top{padding:13px 14px}.bench-top span{font-size:11px}.drawing-wrap{padding:8px}.drawing{min-height:215px;max-height:280px}.controls{padding:16px;gap:12px 20px}.control label{font-size:11px}.control select{font-size:11px}.metrics{grid-template-columns:repeat(3,1fr)}.metric{padding:12px 10px}.metric span{font-size:8px;letter-spacing:.4px}.metric strong{font-size:17px}.motion-note{font-size:10px}.insight{padding:15px;font-size:13px}.explain p{font-size:14px}.source-table{font-size:11px}.source-table td,.source-table th{padding:8px 4px}.site-footer{display:block;font-size:10px;line-height:1.8}.site-footer span{display:block}.download-feature{display:block;padding:23px}.download-feature a{display:inline-block;margin-top:19px}.file-row{grid-template-columns:35px 1fr 22px;gap:12px;padding:18px 0}.file-icon{height:42px}.file-row h3{font-size:13px}.file-row p{font-size:11px}.file-row .open{font-size:0}.file-row .open:after{content:'↗';font-size:19px}.library-search{gap:8px}.library-search input{width:60%;font-size:13px}.library-search select{max-width:105px;font-size:12px}.practice-card{padding:23px 19px}.practice-card .question{font-size:24px}.practice-card .answers{grid-template-columns:1fr}.practice-card .answer{padding:13px;font-size:14px}.practice-actions{flex-wrap:wrap}.primary,.secondary{min-height:46px}.future{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.pill-button{white-space:nowrap;flex-shrink:0}
@media(max-width:680px){.diagram-label{font-size:18px}.diagram-small{font-size:16px}.diagram-large{font-size:22px}.source-label{font-size:14px}}

.save-status{font-size:12px;line-height:1.6;margin-top:10px}.save-status:empty{display:none}.save-warning{color:#9b4d31;font-weight:600}
