@font-face{font-family:Lab;src:local('Aptos'),local('Segoe UI');font-display:swap}
:root{--paper:#f6f7f2;--white:#fff;--ink:#213638;--muted:#667776;--line:#dce3dc;--teal:#087e83;--deep:#173b3e;--lime:#dbf49c;--orange:#ed9068;--peach:#fae8db;--radius:18px;--shadow:0 12px 40px #163b3d08}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Lab,'Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.6}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.5}button{color:inherit}a,button,input,summary{outline-offset:4px}:focus-visible{outline:3px solid #dd804b}button{border:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(42px,4.6vw,72px);font-weight:650}h2{font-size:30px;font-weight:600}h3{font-size:22px;font-weight:600}p{color:var(--muted)}small{font-size:12px}svg{display:block}::selection{background:var(--lime);color:var(--deep)}.topbar{height:80px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:750;letter-spacing:-1.5px}.brand svg{width:34px;height:34px}.brand-light{font-weight:400}.brand-dot{color:var(--teal)}.course-tag{font-size:10px;font-weight:650;letter-spacing:1.9px;color:var(--muted);display:flex;align-items:center;gap:8px}.live-dot{width:6px;height:6px;background:var(--teal);border-radius:50%}.top-actions{display:flex;align-items:center;gap:22px}.text-button{background:transparent;padding:6px 0;font-size:13px}.text-button span:first-child{margin-right:7px}.menu-button{display:none;background:none;font-size:22px}.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);max-width:1800px;margin:auto}.sidebar{border-right:1px solid var(--line);padding:30px 20px 22px;position:sticky;top:80px;height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5d3c8 transparent}.overview-link{display:flex;gap:10px;font-weight:600;font-size:14px;padding:10px 12px;border-radius:8px;background:#e8ede4}.overview-link>span:last-child{margin-left:auto}.progress-panel{padding:25px 12px}.progress-panel>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.2px}.progress-panel strong{font-size:11px;letter-spacing:0}.progress-track{height:5px;border-radius:10px;background:#dde6d9;margin:12px 0 7px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--teal);width:0;transition:width .5s}.progress-panel small{font-size:10px;color:var(--muted)}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff8}.search-box svg{height:16px;width:16px;stroke:var(--muted);fill:none;stroke-width:1.3}.search-box input{border:0;background:none;min-width:0;width:100%;font-size:12px;outline:none}.search-box kbd{font-size:11px;color:var(--muted)}.nav-group{margin:26px 0 0}.nav-group-label{display:flex;align-items:center;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:650;padding:0 10px 8px}.nav-group-label b{margin-left:auto;font-size:10px;font-weight:500;color:#95a19b}.chapter-dot{display:inline-block;height:7px;width:7px;background:var(--teal);border-radius:50%}.nav-link{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;font-size:12px;line-height:1.3;color:#536b69;margin:2px 0}.nav-link:hover{background:#e7ece5}.nav-link.active{background:var(--deep);color:var(--white)}.nav-number{font-variant-numeric:tabular-nums;font-size:10px;opacity:.65;min-width:16px}.nav-check{margin-left:auto;color:var(--teal);font-weight:bold}.nav-link.active .nav-check{color:var(--lime)}.sidebar-bottom{margin-top:32px;border-top:1px solid var(--line);padding:18px 10px 0;font-size:12px}.sidebar-bottom a span{display:block;color:var(--muted);font-size:10px;padding-left:18px;margin-top:3px}.reset-progress{font-size:10px;color:var(--muted);margin-top:13px}#main{padding:42px clamp(24px,4vw,70px) 40px;min-width:0;max-width:1500px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--teal);margin-bottom:20px}.eyebrow .mini-tag{background:var(--peach);color:#a55d36;padding:4px 8px;border-radius:4px;margin-left:8px;letter-spacing:1px}.hero{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:30px;padding:16px 0 42px}.hero h1{margin:0 0 25px;line-height:1.03}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--teal)}.hero-copy p{max-width:410px;font-size:15px;line-height:1.8;margin-bottom:25px}.button{border:1px solid var(--deep);display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--deep);color:white;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{background:#275355;transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--deep);border-color:var(--line)}.button.secondary:hover{background:#e9eee4}.button.lime{color:var(--deep);background:var(--lime);border-color:var(--lime)}.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-meta{display:flex;gap:16px;margin-top:26px;color:var(--muted);font-size:10px;align-items:center}.hero-meta span{display:flex;align-items:center;gap:5px}.hero-meta b{font-size:12px;color:var(--teal)}.hero-scene{border-radius:22px;padding:22px;background:#e5ecdf;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #dce5d5}.scene-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;font-weight:650;color:#547569}.scene-top>span:last-child{font-size:9px;background:#f6f7f2;padding:4px 8px;border-radius:20px;color:var(--teal);letter-spacing:.2px}.hero-plot{width:100%;aspect-ratio:1.4;overflow:visible}.hero-slider{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #cbd8c6;font-size:11px}.hero-slider label{white-space:nowrap}.hero-slider input{min-width:0;width:100%;accent-color:var(--teal)}.hero-slider output{font-weight:bold;min-width:28px}.hero-launch{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px}.hero-launch button{padding:10px 15px;font-size:12px}.hero-result{font-size:11px;color:#567066}.hero-result strong{display:block;font-size:18px;color:var(--deep)}.tiny-caption{font-size:9px;margin:10px 0 0;color:#6f8478}.section-divider{height:1px;background:var(--line);margin:2px 0 30px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-header h2{margin:0;font-size:25px}.section-header>span{font-size:11px;color:var(--muted)}.chapter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:38px}.chapter-card{padding:21px 17px 18px;border:1px solid var(--line);border-radius:12px;background:#fcfdf9;display:flex;flex-direction:column;min-height:182px;transition:transform .2s,border-color .2s}.chapter-card:hover{transform:translateY(-4px);border-color:var(--teal)}.chapter-card:nth-child(2){background:#f5eddf}.chapter-card:nth-child(3){background:#e7eeeb}.chapter-card:nth-child(4){background:#f8e9e1}.chapter-card-top{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.chapter-icon{width:38px;height:38px;margin:20px 0 16px;color:var(--deep)}.chapter-card h3{font-size:17px;margin:0 0 5px;letter-spacing:-.5px}.chapter-card p{font-size:10px;margin:0}.chapter-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:10px;padding-top:12px}.chapter-card-footer b{font-size:18px;font-weight:400}.journey-banner{display:flex;align-items:center;gap:24px;border-radius:14px;background:var(--deep);color:#fff;padding:25px 30px;margin-bottom:36px;position:relative;overflow:hidden}.journey-banner .banner-icon{border:1px solid #ffffff30;border-radius:50%;width:55px;height:55px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--lime);font-size:25px}.journey-banner h3{font-size:19px;margin:0 0 6px;letter-spacing:-.3px}.journey-banner p{font-size:11px;color:#b2cbc5;margin:0}.journey-banner a{margin-left:auto;white-space:nowrap}.method-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:25px 0 30px}.method-item{display:flex;gap:13px}.method-item>b{border:1px solid var(--line);border-radius:50%;height:29px;width:29px;display:grid;place-items:center;font-size:10px;flex-shrink:0}.method-item h4{font-size:12px;margin:2px 0 4px}.method-item p{font-size:11px;margin:0}.site-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:34px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}.site-footer a{text-decoration:underline;text-underline-offset:3px}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-bottom:25px}.breadcrumb a:hover{color:var(--teal)}.lesson-heading{max-width:850px}.lesson-heading .eyebrow{margin-bottom:14px}.lesson-heading h1{font-size:clamp(33px,3.4vw,49px);margin-bottom:18px;line-height:1.12}.lesson-intro{font-size:14px;max-width:720px}.lesson-steps-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:28px 0 36px;padding-bottom:16px;font-size:12px}.lesson-steps-nav a{display:flex;gap:8px;align-items:center}.lesson-steps-nav span{font-size:10px;border:1px solid var(--line);border-radius:50%;width:21px;height:21px;display:grid;place-items:center}.lesson-section{margin:0 0 40px;scroll-margin-top:110px}.section-kicker{display:flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;color:var(--teal);font-weight:700;margin-bottom:16px}.section-kicker span{font-weight:500;color:var(--muted)}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.concept-block{padding:25px;background:#fff;border:1px solid var(--line);border-radius:14px}.concept-block h3{font-size:21px;margin-bottom:14px}.concept-block p{font-size:13px;margin:0;line-height:1.85}.formula-block{background:#e7eee1;border:1px solid #d6e1cf;padding:20px 24px;border-radius:12px;margin-top:18px}.formula-block>.formula-label{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:var(--teal);display:block;margin-bottom:6px}.formula-block strong{font-family:Georgia,serif;font-size:21px;line-height:1.7;font-weight:400;overflow-wrap:anywhere}.pitfall{font-size:12px;border-left:3px solid var(--orange);margin-top:18px;padding:9px 15px;color:var(--muted)}.pitfall b{color:var(--ink)}.concept-check{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px;margin-top:18px}.concept-check h4{font-size:14px;margin:0 0 15px}.choice-list{display:grid;gap:8px}.choice-button{background:var(--paper);border:1px solid var(--line);text-align:left;padding:12px 14px;border-radius:8px;font-size:12px;display:flex;gap:10px;line-height:1.5}.choice-button:hover{border-color:var(--teal)}.choice-button.correct{background:#e4efd9;border-color:#8cb06b}.choice-button.incorrect{background:#fff1e9;border-color:#dc9a77}.choice-letter{font-weight:700;color:var(--teal);font-size:10px;padding-top:2px}.feedback{font-size:12px;line-height:1.7;margin:13px 0 0;color:var(--teal)}.feedback.error{color:#a94e23}.lab-note{font-size:12px;margin:0 0 18px}.question-card{background:white;border:1px solid var(--line);border-radius:16px;padding:30px}.question-tag{font-size:10px;text-transform:uppercase;color:var(--teal);letter-spacing:1px;display:flex;justify-content:space-between;margin-bottom:14px}.question-card .question-text{font-size:18px;line-height:1.65;color:var(--ink);margin-bottom:12px;letter-spacing:-.2px}.fixed-note{font-size:10px;color:var(--muted);margin:0 0 25px}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.answer-field label{display:block;font-size:11px;font-weight:650;margin-bottom:6px}.input-wrap{display:flex;border:1px solid #cfdad2;border-radius:8px;overflow:hidden;background:var(--paper);align-items:center}.input-wrap input{background:none;border:0;padding:12px;width:100%;min-width:0;color:var(--ink);font-size:15px}.input-wrap span{padding-right:12px;font-size:11px;color:var(--muted);white-space:nowrap}.answer-field.is-correct .input-wrap{border-color:#6d9b57;background:#f2f9ec}.answer-field.is-wrong .input-wrap{border-color:#d29a72;background:#fff7ee}.field-feedback{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.hint{padding:16px 20px;border-radius:9px;background:#fff4df;border:1px solid #efdcaf;margin:20px 0 0;font-size:12px;color:#7b632c}.solution-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.solution-head h3{margin:0}.solution-head .text-button{color:var(--teal);font-size:11px}.solution-list{display:grid;gap:12px}.solution-step{border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden}.solution-step summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;font-size:13px;font-weight:600;padding:18px 20px}.solution-step summary::-webkit-details-marker{display:none}.solution-step summary:after{content:'+';font-size:21px;font-weight:400;margin-left:auto}.solution-step[open] summary:after{content:'−'}.step-num{width:27px;height:27px;border-radius:50%;background:#edf2e8;display:grid;place-items:center;font-size:10px;color:var(--teal);flex-shrink:0}.step-body{padding:0 24px 20px 60px}.step-body p{font-size:12px;margin-bottom:13px}.step-equation{display:block;border-radius:8px;background:var(--paper);padding:14px 16px;font-family:Georgia,serif;font-size:18px;overflow-wrap:anywhere}.final-answer{background:var(--deep);border-radius:12px;padding:23px;color:#fff;margin-top:18px}.final-answer span{font-size:9px;letter-spacing:1.7px;color:var(--lime);display:block;margin-bottom:7px}.final-answer p{margin:0;color:#fff;font-size:17px}.source-note{font-size:11px;color:var(--muted);margin-top:14px;background:#eff2ea;padding:12px;border-radius:8px}.lesson-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.lesson-bottom>a{font-size:12px}.lesson-bottom>a small{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.lesson-bottom>a:last-child{text-align:right}.completion-card{margin-top:18px;background:#e8f2db;border:1px solid #cedebd;padding:18px 20px;border-radius:12px;display:flex;align-items:center;gap:14px}.completion-card>span{font-size:25px;color:var(--teal)}.completion-card h4{margin:0;font-size:14px}.completion-card p{margin:3px 0 0;font-size:11px}.formula-dialog{border:0;border-radius:20px;max-width:790px;width:calc(100% - 32px);padding:32px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0003}.formula-dialog::backdrop,.reset-dialog::backdrop{background:#0b252caa;backdrop-filter:blur(5px)}.dialog-top{display:flex;gap:20px;align-items:start;justify-content:space-between}.dialog-top h2{font-size:30px}.dialog-top .eyebrow{margin-bottom:10px}.icon-button{background:none;font-size:28px;line-height:1}.formula-item{padding:16px;border:1px solid var(--line);border-radius:12px;background:white}.formula-item h3{font-size:14px;margin:0 0 10px}.formula-item code{display:block;font-family:Georgia,serif;font-size:17px;margin:8px 0}.formula-item p{font-size:11px;margin:10px 0 0}.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.small-note{font-size:11px;margin:20px 0 0}.reset-dialog{max-width:430px;border:0;border-radius:16px;padding:30px;background:var(--paper);color:var(--ink)}.reset-dialog h2{font-size:26px}.reset-dialog p{font-size:13px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--deep);color:#fff;padding:12px 23px;border-radius:30px;z-index:100;opacity:0;pointer-events:none;font-size:13px;transition:opacity .2s,transform .2s;box-shadow:0 8px 30px #183c3e30}.toast.show{opacity:1;transform:translate(-50%,0)}.skip-link{position:fixed;top:-60px;left:12px;background:var(--deep);color:#fff;padding:10px 20px;z-index:100}.skip-link:focus{top:8px}.noscript{padding:30px}.no-results{font-size:12px;margin:25px 10px}.search-box:focus-within{outline:2px solid var(--teal);outline-offset:2px}.mobile-only{display:none}
#main:focus{outline:none}
@media(min-width:1500px){.hero{gap:60px}.hero-scene{padding:28px}.hero h1{font-size:78px}}
@media(max-width:1150px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.sidebar{padding:25px 14px}.topbar{padding:0 24px}.hero{gap:20px}.hero h1{font-size:48px}.hero-copy p{font-size:13px}.hero-meta{gap:10px;font-size:9px}.chapter-grid{grid-template-columns:repeat(2,1fr)}.chapter-card{min-height:140px}.chapter-icon{margin:12px 0;width:30px;height:30px}.chapter-card-footer{padding-top:8px}.journey-banner{padding:22px}.hero-scene{padding:17px}.button-row{gap:8px}.hero .button{padding:11px 13px;gap:13px}#main{padding-left:30px;padding-right:30px}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:50;top:70px;bottom:0;left:0;width:285px;height:calc(100dvh - 70px);background:var(--paper);transform:translateX(-105%);transition:transform .25s}.sidebar.open{transform:translateX(0)}.sidebar-shade:not([hidden]){display:block;position:fixed;inset:70px 0 0;background:#102f3b66;z-index:40}.menu-button{display:block}.topbar{height:70px}.course-tag{font-size:8px;letter-spacing:1px}.hero h1{font-size:59px}#main{padding:30px}.hero{padding-top:10px}.hero-copy p{font-size:14px}.hero-scene{padding:20px}.chapter-grid{grid-template-columns:repeat(4,1fr)}.chapter-card{padding:16px 13px}.chapter-card h3{font-size:15px}.chapter-card p{font-size:9px}.brand{font-size:25px}.brand svg{width:29px;height:29px}}
@media(max-width:650px){.topbar{padding:0 20px}.course-tag{display:none}.top-actions{gap:18px}.text-button{font-size:12px}#main{padding:26px 20px}.hero{grid-template-columns:1fr;gap:25px;padding-bottom:28px}.hero h1{font-size:56px;max-width:350px}.hero-copy p{max-width:440px}.hero .eyebrow{font-size:9px;margin-bottom:17px}.hero-meta{font-size:10px;gap:16px;margin-top:19px}.hero-plot{aspect-ratio:1.75;max-height:240px}.hero-scene{padding:20px 25px}.chapter-grid{grid-template-columns:repeat(2,1fr);gap:10px}.chapter-card{padding:17px;min-height:168px}.chapter-card h3{font-size:18px}.chapter-card p{font-size:10px}.chapter-icon{width:35px;height:35px;margin:20px 0 12px}.section-header h2{font-size:24px}.section-header>span{font-size:10px}.journey-banner{flex-wrap:wrap;gap:15px;padding:22px}.journey-banner .banner-icon{height:45px;width:45px}.journey-banner>div:nth-child(2){flex:1}.journey-banner a{width:100%;margin:0}.method-strip{gap:18px;grid-template-columns:1fr}.method-item h4{font-size:13px}.method-item p{font-size:12px}.site-footer{font-size:9px;flex-wrap:wrap}.concept-grid{grid-template-columns:1fr;gap:12px}.lesson-heading h1{font-size:38px}.lesson-steps-nav{gap:20px;font-size:11px}.question-card{padding:22px}.question-card .question-text{font-size:16px}.answer-grid{grid-template-columns:1fr}.formula-block strong{font-size:18px}.solution-head h3{font-size:22px}.step-body{padding-left:20px}.step-equation{font-size:16px}.lesson-bottom>a{max-width:47%;font-size:11px}.formula-grid{grid-template-columns:1fr}.formula-dialog{padding:25px;max-height:85dvh}.formula-dialog h2{font-size:25px}.toast{max-width:90%;width:max-content;font-size:12px}.breadcrumb{font-size:10px}.concept-check{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.topbar,.sidebar,.lesson-steps-nav,.sidebar-shade,.hero,.button,.top-actions,.toast,.lesson-bottom{display:none!important}.app-shell{display:block}#main{padding:0;max-width:none}.concept-grid{grid-template-columns:1fr 1fr}.question-card,.concept-block,.solution-step{break-inside:avoid}.lab-section{display:none}body{font-size:12px}.solution-step:not([open]) .step-body{display:block}.final-answer{background:#eee;color:#111}.final-answer p{color:#111}}
