@font-face{font-family:LearnMono;src:local("Consolas")}*{box-sizing:border-box}html{color-scheme:dark;scroll-padding-top:100px}body{margin:0;background:#101014;color:#f3f0f8;font:16px/1.75 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,select{cursor:pointer}button,.primary,.secondary{min-height:44px;border:1px solid #50445f;border-radius:9px;background:#201a29;color:#eee8f6;padding:9px 16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,a.lesson-card:hover{border-color:#d2ec4c;background:#292331}button:disabled{opacity:.45;cursor:default}.primary{background:#d2ec4c;color:#141807;border-color:#d2ec4c;font-weight:650}.primary:hover{background:#e2f783;color:#141807}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #d2ec4c;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:#d2ec4c;color:#101014;padding:12px}.skip:focus{top:12px}.topbar{min-height:78px;padding:14px 4vw;display:flex;align-items:center;gap:30px;position:sticky;top:0;z-index:30;border-bottom:1px solid #342b40;background:#101014f5;backdrop-filter:blur(12px)}.brand{text-decoration:none;font-size:16px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.brand span{color:#d2ec4c;font-weight:450}.topbar nav{display:flex;gap:22px;margin-right:auto}.topbar nav a{font-size:14px;text-decoration:none;color:#c9bfd5}.language{display:flex;border:1px solid #50445f;border-radius:9px;padding:3px;gap:2px}.language button{min-height:36px;padding:4px 12px;border:0;background:none;font-size:14px}.language button[aria-pressed=true]{background:#d2ec4c;color:#141807}.layout{max-width:1560px;margin:auto;padding:48px 4vw;display:grid;grid-template-columns:238px minmax(0,1fr);gap:48px}.syllabus{min-width:0}.syllabus>details{position:sticky;top:105px}.syllabus summary{font-size:14px;font-weight:650;display:flex;justify-content:space-between;cursor:pointer;gap:10px}.syllabus summary span:last-child{font-family:LearnMono,monospace;color:#d2ec4c}.syllabus-body{max-height:calc(100vh - 172px);overflow:auto;padding:12px 8px 20px 0;scrollbar-width:thin}.syllabus progress{width:100%;height:5px;accent-color:#d2ec4c}.micro{font-size:13px;color:#b9aec7;line-height:1.6}.phase-label{color:#a998b9;font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-top:24px}.syllabus ol{list-style:none;padding:0;margin:10px 0}.syllabus li a{display:flex;gap:10px;align-items:baseline;text-decoration:none;padding:11px 9px;font-size:13px;line-height:1.5;border-radius:6px;color:#c9bfd5}.syllabus li a:hover{background:#201a29}.syllabus a[aria-current=page]{background:#292430;color:#ecf7b3}.lesson-num{font-family:LearnMono,monospace;color:#ae9dbc;font-size:11px}.review-dot{margin-left:auto;flex:0 0 7px;width:7px;height:7px;border-radius:50%;border:1px solid #8c7c9d}.is-reviewed .review-dot{background:#d2ec4c;border-color:#d2ec4c}.is-reviewed .lesson-num{color:#d2ec4c}main{min-width:0}.eyebrow{font:11px/1.5 LearnMono,monospace;letter-spacing:.13em;color:#d2ec4c;text-transform:uppercase;margin:0 0 18px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4vw,60px);line-height:1.13;font-weight:560;letter-spacing:-.045em;margin-bottom:28px}h2{font-size:25px;line-height:1.35;font-weight:550;letter-spacing:-.025em}h3{font-size:22px;line-height:1.4;font-weight:550}.lede{font-size:18px;line-height:1.85;color:#c9bfd5;max-width:70ch}.course-hero{padding:38px 0 55px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.course-facts{display:flex;gap:22px;flex-wrap:wrap;color:#b9aec7;font-size:13px}.route-story{border-block:1px solid #39303f;padding:30px 0;margin-bottom:55px}.route-story>p:last-child{color:#b9aec7;font-size:14px;margin-bottom:0}.route-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px}.route-flow>div{border:1px solid #44384e;background:#19151e;border-radius:10px;padding:14px;font-size:13px;line-height:1.5}.route-flow small{display:block;color:#d2ec4c;margin-bottom:12px}.chapter{margin:0 0 55px}.chapter-heading{display:flex;align-items:center;gap:20px;margin-bottom:22px}.chapter-heading>span{font:48px/1 LearnMono,monospace;color:#6f5c81}.chapter-heading .eyebrow{margin-bottom:7px}.chapter-heading h2{margin:0}.lesson-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lesson-card{display:flex;flex-direction:column;border:1px solid #44384e;border-radius:14px;background:#19151e;padding:25px;text-decoration:none;transition:background .18s,border-color .18s}.card-top{display:flex;align-items:center;font:11px LearnMono,monospace;color:#d2ec4c;margin-bottom:22px}.lesson-card h3{font-size:22px;margin-bottom:14px}.lesson-card p{font-size:15px;color:#b9aec7;margin-bottom:25px}.card-bottom{margin-top:auto;font-size:13px;color:#e0d6eb}.boundary{padding:28px;border:1px solid #514360;border-radius:14px;background:#211b29}.boundary p{color:#c9bfd5}.boundary p:last-child{margin:0;font-size:14px}footer{border-top:1px solid #342b40;padding:26px 0;margin-top:60px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#a998b9}.back-link{display:inline-block;font-size:13px;color:#c9bfd5;margin-bottom:25px}.lesson-hero{padding:12px 0 28px}.lesson-hero h1{max-width:24ch;font-size:clamp(32px,3.3vw,48px)}.goal{border-left:3px solid #d2ec4c;padding-left:18px;color:#c9bfd5;max-width:72ch;font-size:16px}.goal strong{display:block;color:#d2ec4c;font-size:11px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px}.lesson-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px;align-items:start}.explanation{min-width:0}.explanation>h2{font-size:17px;color:#b9aec7;margin-bottom:20px}.step-nav{display:flex;gap:7px;margin-bottom:22px;flex-wrap:wrap}.step-nav button{padding:6px 13px;font:13px LearnMono,monospace}.step-nav button[aria-pressed=true]{color:#d2ec4c;border-color:#d2ec4c;background:#292d1a}.step-panel{min-height:320px}.step-panel p:not(.eyebrow){font-size:17px;line-height:1.9;color:#dfd7e8;max-width:68ch}.step-panel h3{font-size:25px}.step-panel .eyebrow{margin-bottom:10px}.step-actions{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid #342b40;margin-bottom:26px}.step-actions button{font-size:13px;padding:8px 13px}.formula{overflow-x:auto;padding:14px 12px;background:#19151e;border:1px solid #44384e;border-radius:10px;margin:24px 0;font-size:.9em;scrollbar-width:thin}.formula .katex-display{margin:6px 0}.worked{padding:22px;border-radius:12px;background:#242129;border:1px solid #49404f}.worked p:last-child{margin:0;font-size:16px;line-height:1.9}.worked .eyebrow{color:#e7b568;margin-bottom:10px}.pitfall{margin-top:24px;border-left:2px solid #a789c5;padding-left:18px}.pitfall strong{font-size:13px;color:#cfb6e6}.pitfall p{font-size:15px;color:#c9bfd5;margin:9px 0}.lab{position:sticky;top:104px;border:1px solid #554062;border-radius:16px;background:#18131f;overflow:hidden;min-width:0}.lab-top{padding:24px 24px 8px}.lab-top h2{font-size:21px}.lab-top p:not(.eyebrow){font-size:14px;color:#c9bfd5}.lab-top .eyebrow{margin-bottom:12px}.lab-controls{padding:0 24px;display:grid;gap:12px}.lab-controls label{display:grid;grid-template-columns:1fr auto;font-size:13px;gap:4px 10px;color:#ddd3e8}.lab-controls input[type=range]{width:100%;grid-column:1/-1;accent-color:#d2ec4c;min-height:28px;cursor:pointer}.lab-controls select{width:100%;min-height:42px;background:#261e31;color:#f3f0f8;border:1px solid #635170;border-radius:7px;padding:8px}.lab-controls output{font-family:LearnMono,monospace;color:#d2ec4c}.lab-controls .buttons{display:flex;gap:7px;flex-wrap:wrap}.lab-controls button{font-size:12px;padding:8px 12px}.lab-visual{padding:16px}.lab svg{display:block;width:100%;height:auto;background:#100d15;border-radius:10px}.lab svg text{font:13px system-ui;fill:#c9bfd5}.lab-values{padding:18px 24px;font-size:13px;overflow-x:auto}.lab-values dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:8px}.lab-values dt{color:#b9aec7}.lab-values dd{margin:0;text-align:right;font:12px/1.8 LearnMono,monospace;overflow-wrap:anywhere;max-width:28ch}.lab-values pre{font:12px/1.7 LearnMono,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.lab .micro{padding:0 24px}.lab-link{display:block;border-top:1px solid #44384e;padding:15px 24px;font-size:13px;text-decoration:none;color:#d2ec4c}.color-swatches{display:flex;gap:8px;margin:12px 0}.color-chip{flex:1;min-height:70px;border-radius:8px;border:1px solid #635170;display:flex;align-items:end;justify-content:center;padding:6px;color:white;text-shadow:0 1px 4px black}.training-images{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:18px}.training-images figure{margin:0}.training-images canvas{width:100%;height:auto;image-rendering:pixelated;display:block;border-radius:5px;border:1px solid #50445f}.training-images figcaption{font-size:11px;color:#b9aec7;text-align:center;margin-top:7px}.source-section,.checkpoint,.capstone{margin-top:50px}.source-section>p:not(.eyebrow){color:#b9aec7;font-size:14px}.code-bridge{border:1px solid #44384e;border-radius:10px;margin:12px 0;background:#19151e;padding:18px}.code-bridge summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font:13px/1.6 LearnMono,monospace;overflow-wrap:anywhere}.code-bridge summary:before{content:'+';color:#d2ec4c}.code-bridge[open] summary:before{content:'−'}.code-bridge p{font-size:14px;margin:20px 0 12px;color:#c9bfd5}pre{overflow:auto;max-height:450px;background:#100d15;border-radius:8px;padding:18px;font:12px/1.7 LearnMono,monospace;tab-size:2}.code-bridge a{font-size:13px;color:#d2ec4c}.capstone li{margin-bottom:12px}.checkpoint{background:#1c1821;border:1px solid #554062;border-radius:14px;padding:28px}.checkpoint fieldset{border:0;padding:0;margin:20px 0}.checkpoint legend{font-size:18px;margin-bottom:17px}.answer{display:flex;gap:12px;align-items:center;padding:13px 16px;border:1px solid #50445f;border-radius:9px;margin-bottom:9px;cursor:pointer;font-size:16px}.answer:has(input:checked){border-color:#d2ec4c;background:#272b1c}.answer input{accent-color:#d2ec4c;flex-shrink:0}.check-answer{margin-top:10px}.quiz-feedback{padding:16px;border-left:3px solid #e7b568;background:#28202a;margin-top:18px;margin-bottom:0}.quiz-feedback.correct{border-color:#d2ec4c}.review-actions{border-top:1px solid #44384e;padding-top:20px;margin-top:25px}.review-actions button[aria-pressed=true]{border-color:#d2ec4c;color:#d2ec4c}.review-actions .micro{margin:12px 0 0}.references{margin-top:38px}.references h3{font-size:16px;color:#b9aec7}.references a{display:block;font-size:13px;margin-bottom:10px;color:#d0bde0}.lesson-pagination{display:flex;justify-content:space-between;gap:22px;margin-top:48px;padding-top:24px;border-top:1px solid #44384e}.lesson-pagination a{max-width:46%;font-size:15px;text-decoration:none}.next-lesson{text-align:right;color:#d2ec4c}.no-script{padding:20px;background:#312439}body.read-all .step-panel{min-height:0;margin-bottom:38px}body.read-all .step-actions{order:0}@media(min-width:1101px){.syllabus #syllabus:not([open])>.syllabus-body{display:block}.syllabus summary{pointer-events:none}}@media(max-width:1250px){.layout{gap:30px;grid-template-columns:205px minmax(0,1fr);padding-inline:3vw}.lesson-grid{grid-template-columns:minmax(0,1fr)}.lab{position:static;display:block;max-width:680px}.step-panel{min-height:0}.lesson-hero h1{max-width:30ch}}@media(max-width:1100px){.layout{display:block;max-width:1000px}.syllabus{margin-bottom:34px;border:1px solid #44384e;border-radius:10px;padding:16px}.syllabus>details{position:static}.syllabus-body{max-height:430px}.topbar{gap:20px}.topbar nav{gap:14px}.lesson-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lab{position:sticky;top:100px}.syllabus summary{font-size:15px}}@media(max-width:780px){.topbar{padding:12px 20px;gap:12px;flex-wrap:wrap}.brand{margin-right:auto;font-size:14px}.topbar nav{order:3;width:100%;gap:22px}.topbar nav a{font-size:13px}.language button{min-height:36px;padding:4px 9px}.layout{padding:25px 20px}.course-hero{padding-top:14px}.course-hero h1{font-size:40px}.lesson-grid{display:flex;flex-direction:column}.explanation,.lab{width:100%;max-width:none}.lab{position:static}.lesson-hero h1{font-size:35px}.lede{font-size:17px}.lesson-cards{grid-template-columns:1fr}.route-flow{grid-template-columns:1fr 1fr}.route-flow>div:last-child{grid-column:1/-1}.step-panel p:not(.eyebrow){font-size:17px}.lesson-card p{font-size:16px}.checkpoint{padding:22px}.lesson-pagination a{font-size:14px}.formula{font-size:.8em}.hero-actions a{width:100%}.lab-top{padding:22px 20px 8px}.chapter-heading>span{font-size:37px}.chapter-heading h2{font-size:23px}html{scroll-padding-top:145px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.topbar,.syllabus,.step-nav,.step-actions,.lab-controls,.review-actions{display:none}.layout{display:block;padding:0}.step-panel[hidden]{display:block!important}.lab{position:static}.lesson-grid{display:block}.step-panel{break-inside:avoid}.formula{overflow:visible}.lesson-card{break-inside:avoid}}

.math-toolbox{margin:0 0 20px;border:1px solid #44384e;border-radius:9px;padding:12px 15px;font-size:13px;color:#c9bfd5}.math-toolbox summary{cursor:pointer;min-height:24px}.math-toolbox p{margin:12px 0;font-size:14px}.math-toolbox a{display:block;padding:8px 0;color:#d2ec4c}

@media(max-width:780px){html[lang="zh-CN"] .course-hero h1{font-size:32px;line-height:1.3;letter-spacing:-.025em}}
