.engine-course{color:#233b50;font-synthesis:none;--ink:#233b50;--muted:#52687a;--line:#ccd9e3;--accent:#75476f;--wash:#eaf1f7;background:#f6f9fc;font-family:Calibri,Segoe UI,Arial,sans-serif}.engine-course *{box-sizing:border-box}.engine-course{margin:0}.engine-course a{color:#593b72;text-underline-offset:.2em}.engine-course a:hover{text-decoration-thickness:2px}.engine-course button,.engine-course input{font:inherit}.engine-course button,.engine-course .button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:5px;padding:.8rem 1.1rem;font-weight:600;line-height:1.3;text-decoration:none;display:inline-block}.engine-course button:hover,.engine-course .button:hover{background:#583253}.engine-course button:disabled{opacity:.55;cursor:default}.engine-course :focus-visible{outline-offset:4px;outline:3px solid #a34b21}.engine-course h1,.engine-course h2,.engine-course h3{font-weight:400;line-height:1.15}.engine-course h1,.engine-course h2{font-family:Georgia,Times New Roman,serif}.engine-course h1{letter-spacing:-.04em;margin:.35em 0;font-size:clamp(2.5rem,5vw,4.65rem)}.engine-course h2{margin:1.5em 0 .7em;font-size:1.9rem}.engine-course h3{font-size:1.25rem;font-weight:600}.engine-course p,.engine-course li,.engine-course dd{line-height:1.65}.engine-course p{margin:.65em 0 1.1em}.engine-course code{overflow-wrap:anywhere}.engine-course pre{background:var(--wash);border-radius:4px;padding:1rem;line-height:1.6;overflow:auto}.engine-course ul,.engine-course ol{padding-left:1.3rem}.engine-course li{margin:.5em 0}.engine-course .small{color:var(--muted);font-size:.85rem;line-height:1.5}.engine-course .workbook{grid-template-columns:280px minmax(0,1fr);max-width:1600px;min-height:100vh;margin:auto;display:grid}.engine-course .sidebar{background:var(--wash);border-right:1px solid var(--line);align-self:start;max-height:100vh;padding:2rem 1.5rem;position:sticky;top:0;overflow:auto}.engine-course .brand{color:var(--ink);align-items:center;gap:.75rem;font-family:Georgia,serif;font-size:1.45rem;line-height:1.05;text-decoration:none;display:flex}.engine-course .brand-mark{font-size:3.6rem;line-height:1}.engine-course .sidebar-intro{color:var(--muted);margin:1.4rem 0 1.8rem;font-size:.85rem}.engine-course .sidebar nav>a,.engine-course .sidebar nav summary{color:var(--ink);padding:.65rem .5rem;font-size:.9rem;text-decoration:none;display:block}.engine-course .sidebar nav summary{cursor:pointer;list-style-position:inside;display:list-item}.engine-course .sidebar nav details{margin:.25rem 0}.engine-course .sidebar nav ol{margin:0;padding:0 0 0 .7rem;list-style:none}.engine-course .sidebar nav li{margin:0;line-height:1.3}.engine-course .sidebar nav li a{color:var(--ink);padding:.6rem .55rem;font-size:.83rem;text-decoration:none;display:block}.engine-course .sidebar nav a.active{background:#d6e3ee;border-radius:4px;font-weight:600}.engine-course .nav-status{color:var(--muted);margin-top:.2rem;font-size:.72rem;font-weight:400;display:block}.engine-course .tracker{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.2rem}.engine-course .tracker h2{margin:0;font-family:inherit;font-size:1rem;font-weight:600}.engine-course .tracker p{margin:.65rem 0;font-size:.83rem}.engine-course .tracker progress{width:100%;height:7px;accent-color:var(--accent)}.engine-course .text-button{color:var(--ink);background:0 0;padding:.4rem 0;font-size:.85rem;text-decoration:underline}.engine-course .text-button:hover{background:0 0}.engine-course .quiet{color:var(--ink);background:#d7e3ed;padding:.6rem;font-size:.85rem}.engine-course .quiet:hover{background:#c5d6e3}.engine-course .button-row{gap:.4rem;display:flex}.engine-course main{min-width:0;padding:3.8rem clamp(1.25rem,5vw,5rem) 3rem}.engine-course .hero,.engine-course .lesson-header{max-width:800px;margin-bottom:2.5rem}.engine-course .breadcrumb{color:var(--muted);font-size:.95rem}.engine-course .lede{max-width:36em;font-size:1.25rem;line-height:1.6}.engine-course .hero .button{margin:.5rem 0}.engine-course .opening-lab{background:#eaf1f7;border-radius:12px;margin:3rem 0;padding:1.5rem 2rem}.engine-course .opening-lab>div:first-child{max-width:38em}.engine-course .opening-lab h2{margin:.2em 0 .6em}.engine-course .reading{max-width:70ch;font-size:1.05rem}.engine-course .reading section{margin-bottom:2.5rem}.engine-course .reading>h2:first-child{margin-top:0}.engine-course .reading dt{margin-top:1.5rem;font-weight:600}.engine-course .reading dd{margin:.5rem 0}.engine-course .angle-lab{grid-template-columns:minmax(160px,300px) minmax(140px,1fr);align-items:center;gap:1.8rem;max-width:800px;margin:1.4rem 0 2rem;display:grid}.engine-course .angle-lab figure{margin:0}.engine-course .angle-lab svg{width:100%;display:block}.engine-course .angle-lab figcaption{color:var(--muted);text-align:center;margin-top:.6rem;font-size:.8rem;line-height:1.4}.engine-course .angle-lab input{width:100%;accent-color:var(--accent);min-height:44px}.engine-course .angle-lab label{font-weight:600}.engine-course .angle-lab p{font-size:.95rem}.engine-course .angle-readout{font-variant-numeric:tabular-nums;align-items:center;gap:1rem;font-size:1.7rem;display:flex}.engine-course .angle-readout strong{color:var(--accent);font-weight:600}.engine-course .callout{background:#f0eaf3;border-left:4px solid #9c79a3;max-width:72ch;padding:1rem 1.3rem;line-height:1.6}.engine-course .path-list{margin:3rem 0}.engine-course .path-list>section{grid-template-columns:2.7rem minmax(0,1fr);gap:1rem;max-width:75ch;margin:2.8rem 0;display:grid}.engine-course .path-number{color:#7e97ad;font-family:Georgia,serif;font-size:2.6rem}.engine-course .path-list h2{margin:.2em 0 .7em}.engine-course .lesson-list{padding:0;list-style:none}.engine-course .lesson-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;margin:0;padding:.75rem 0;line-height:1.4;display:flex}.engine-course .lesson-list span{color:var(--muted);white-space:nowrap;font-size:.8rem}.engine-course .lesson-list a{color:var(--ink)}.engine-course .metadata{color:var(--muted);font-size:.9rem}.engine-course .equation{padding:.8rem 0;font-family:Georgia,serif;font-size:2rem}.engine-course .derivation{background:var(--wash);border-radius:5px;margin:1.5rem 0;padding:1rem}.engine-course .derivation summary,.engine-course details summary{cursor:pointer}.engine-course .knowledge-check{border:1px solid var(--line);background:#fff;border-radius:10px;max-width:72ch;margin-top:2.5rem;padding:1.6rem 2rem}.engine-course .knowledge-check h2{margin:.1em 0 .7em}.engine-course .knowledge-check label{display:block}.engine-course .knowledge-check input[type=text]{width:180px;max-width:100%;color:var(--ink);background:#fff;border:1px solid #778c9e;border-radius:4px;padding:.7rem}.engine-course .knowledge-check fieldset{border:0;margin:1.7rem 0;padding:0}.engine-course .knowledge-check legend{margin-bottom:1rem}.engine-course .knowledge-check .choice{align-items:start;gap:.6rem;padding:.7rem 0;line-height:1.5;display:flex}.engine-course .choice input{accent-color:var(--accent);flex-shrink:0;width:18px;height:18px;margin-top:.3rem}.engine-course .feedback{min-height:1.5rem;margin:1rem 0 0}.engine-course .success,.engine-course .completion{color:#245c43}.engine-course .completion{font-weight:600}.engine-course .algorithm-step{border-bottom:1px solid var(--line);padding-bottom:1rem}.engine-course .algorithm-step code{font-size:.85rem}.engine-course .page-navigation{border-top:1px solid var(--line);justify-content:space-between;gap:2rem;max-width:80ch;margin-top:3rem;padding-top:1.5rem;display:flex}.engine-course .page-navigation a{max-width:45%;line-height:1.45}.engine-course .page-navigation span{color:var(--muted);margin-bottom:.3rem;font-size:.85rem;display:block}.engine-course .skip-link{z-index:10;background:#fff;padding:.8rem;position:fixed;top:-100px;left:1rem}.engine-course .skip-link:focus{top:1rem}.engine-course main:focus{outline:none}@media (width>=1350px){.engine-course .opening-lab{grid-template-columns:1fr 1.7fr;align-items:center;gap:1rem;display:grid}.engine-course .opening-lab .angle-lab{grid-template-columns:minmax(150px,230px) 1fr;gap:1rem}}@media (width<=900px){.engine-course .workbook{grid-template-columns:230px minmax(0,1fr)}.engine-course .sidebar{padding:1.5rem 1rem}.engine-course main{padding:2.5rem 1.5rem}.engine-course .opening-lab{padding:1.4rem}.engine-course .angle-lab{grid-template-columns:1fr}.engine-course .angle-lab figure{max-width:290px;margin:auto}.engine-course .angle-lab>div{max-width:32em}.engine-course .knowledge-check{padding:1.3rem}}@media (width<=620px){.engine-course .workbook{display:block}.engine-course .sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:none;padding:1.2rem;position:static}.engine-course .brand{font-size:1.2rem}.engine-course .brand-mark{font-size:2.5rem}.engine-course .sidebar-intro{display:none}.engine-course .sidebar nav{margin-top:1rem}.engine-course .sidebar nav>a{margin-right:.5rem;display:inline-block}.engine-course .sidebar nav details{border-top:1px solid var(--line)}.engine-course .sidebar .tracker{margin-top:1rem}.engine-course .tracker progress{max-width:250px}.engine-course .tracker .small{max-width:42ch}.engine-course .sidebar nav>a .nav-status{margin-left:.3rem;display:inline}.engine-course .path-list>section{grid-template-columns:2rem 1fr;gap:.5rem}.engine-course .path-number{font-size:2rem}.engine-course main{padding:2rem 1.2rem}.engine-course .hero{margin-bottom:1rem}.engine-course .opening-lab{margin:2rem 0}.engine-course .page-navigation{gap:1rem}.engine-course .lesson-list li{gap:.5rem}.engine-course .lesson-list a{font-size:.95rem}.engine-course .equation{font-size:1.7rem}}.engine-course{scroll-behavior:auto}.engine-course .taught-step{border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem;scroll-margin-top:1rem}.engine-course .worked-equation{background:var(--wash);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;padding:1rem;line-height:1.7}.engine-course .source-links{font-size:.9rem}.engine-course .numeric-question,.engine-course .implementation-reference{margin:1.5rem 0}.engine-course .branch-list dd{overflow-wrap:anywhere}.engine-course .lesson-result{margin-top:3rem}.engine-course .taught-step .knowledge-check{font-size:1rem}.engine-course .taught-step pre{max-width:100%}
