@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-ext-400-normal.0_mlbjjysj-9a.woff2)format("woff2"),url(../media/dm-sans-latin-ext-400-normal.20edsl4fvw0xl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.2o7k1_w7_w7bj.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.12jnqtfk91av5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-ext-500-normal.3r_2hmgyghopi.woff2)format("woff2"),url(../media/dm-sans-latin-ext-500-normal.0hc3k9jh99u9h.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.2f4st7_5x_v78.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.366wxi7rk3-vz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-ext-600-normal.06gqmhphopoe2.woff2)format("woff2"),url(../media/dm-sans-latin-ext-600-normal.2vcw1e622nu68.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.32n_x70livn_1.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.2tavyc8arpb_3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-ext-400-normal.1-60h_wy7j2h_.woff2)format("woff2"),url(../media/instrument-serif-latin-ext-400-normal.2sowzapzts2o2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-400-normal.2zo21yor93qdc.woff2)format("woff2"),url(../media/instrument-serif-latin-400-normal.1tckdf9uwvrm7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-ext-400-italic.20oblg8q8k24u.woff2)format("woff2"),url(../media/instrument-serif-latin-ext-400-italic.0mww3qs0cp08u.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-400-italic.3bg-hzmj1g17f.woff2)format("woff2"),url(../media/instrument-serif-latin-400-italic.3im7aav-gdfim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#f8f6f0;--ink:#262c29;--muted:#777a70;--line:#dcded4;--coral:#b7472f;--pale-coral:#f3e7dd;--green:#54715e;--blue:#65868b;--serif:"Instrument Serif", Georgia, serif;--sans:"DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}::selection{background:#eac7b3}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--coral);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3,.equation{font-family:var(--serif)}em{color:var(--coral);font-weight:400}.muted{color:var(--muted)}.skip-link{background:var(--ink);color:#fff;z-index:20;padding:10px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:40px;height:100px;margin:0 5%;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:12px;font-size:24px;line-height:1.1;display:flex}.brand-sub{font-family:var(--sans);letter-spacing:1.3px;text-transform:uppercase;margin-top:6px;font-size:9px;display:block}.site-header nav{gap:34px;font-size:12px;display:flex}.site-header nav a:hover{color:var(--coral)}.site-header nav span{padding-left:8px}.edition{color:var(--muted);font-size:11px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:25px;margin:70px 5% 0;padding:27px 0 32px;font-size:10px;display:flex}.site-footer>span:first-child{color:var(--ink);letter-spacing:1px}.overview{max-width:1440px;margin:auto;padding:0 5%}.breadcrumb{color:var(--muted);gap:14px;padding-top:27px;font-size:11px;display:flex}.breadcrumb a:hover{color:var(--coral)}.course-hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:35px;min-height:520px;padding:32px 0 55px;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:1.65px;font-size:10px;font-weight:500;line-height:1.5}.red-dot{background:var(--coral);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.hero-copy h1{letter-spacing:-1.9px;margin:25px 0;font-size:clamp(58px,5.9vw,88px);line-height:1.02}.hero-description{color:#676d63;max-width:350px;font-size:14px;line-height:1.8}.hero-actions{align-items:center;gap:26px;margin:30px 0;display:flex}.button{border:1px solid var(--line);white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:24px;min-height:46px;padding:12px 19px;font-size:11px;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.button.primary{background:var(--ink);border-color:var(--ink);color:#fffdf7}.button.primary:hover{background:var(--coral);border-color:var(--coral)}.button.previous:hover:not(:disabled){background:#ebece4}.button:disabled{opacity:.3}.text-link{background:0 0;border:0;border-bottom:1px solid #bdc0b5;align-items:center;gap:20px;padding:8px 0;font-size:11px;display:inline-flex}.text-link:hover{color:var(--coral)}.hero-meta{color:var(--muted);gap:17px;font-size:9px;display:flex}.hero-meta span+span:before{content:"·";margin-right:17px}.hero-art{border-left:1px solid var(--line);min-width:0;padding-left:24px;position:relative}.diagram-index{letter-spacing:1.2px;color:var(--muted);justify-content:space-between;gap:10px;font-size:8px;display:flex}.hero-art .geometry{max-height:350px;margin:10px 0 0;display:block}.art-caption{color:var(--muted);margin-top:10px;padding-left:30px;font-size:9px;line-height:1.6;position:relative}.tiny-cross{color:var(--coral);font-size:20px;position:absolute;top:0;left:6px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;display:flex}.section-heading h2{margin-top:9px;font-size:39px;line-height:1.1}.section-heading>p{color:var(--muted);font-size:11px;line-height:1.7}.sample-section{border-top:1px solid var(--line);padding-top:32px}.sample-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.sample-card{border:1px solid var(--line);flex-direction:column;min-height:243px;padding:23px 24px 20px;transition:transform .2s,background .2s;display:flex}.sample-card:hover{background:#eeeee5;transform:translateY(-4px)}.sample-card.problem{background:#f0e8dc;border-color:#e4d9c9}.sample-card.problem:hover{background:#e9ddce}.card-top{justify-content:space-between;align-items:center;margin-bottom:27px;display:flex}.type-label{text-transform:uppercase;letter-spacing:1.3px;align-items:center;gap:7px;font-size:9px;font-weight:500;display:inline-flex}.type-label:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.type-label.theory{color:var(--green)}.type-label.lemma{color:#7c6c43}.type-label.problem{color:var(--coral)}.card-number{font-family:var(--serif);color:#999d90;font-size:20px}.sample-card h3{max-width:250px;margin-bottom:12px;font-size:29px;line-height:1.05}.sample-card p{color:#6b7066;max-width:270px;font-size:11px;line-height:1.7}.card-bottom{color:#72776a;justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px;font-size:9px;display:flex}.card-bottom svg{color:var(--ink)}.outline-section{grid-template-columns:1fr 1.8fr;gap:80px;padding:85px 0 60px;display:grid}.outline-intro h2{margin:20px 0 24px;font-size:54px;line-height:1.05}.outline-intro>p:not(.eyebrow){color:var(--muted);max-width:245px;font-size:12px;line-height:1.8}.outline-key{gap:11px;margin:27px 0;font-size:10px;display:grid}.key-dot{border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block}.key-dot.theory,.type-marker.theory{background:var(--green)}.key-dot.lemma,.type-marker.lemma{background:#958451}.key-dot.problem,.type-marker.problem{background:var(--coral)}.outline-intro .prototype-note{border-top:1px solid var(--line);padding-top:20px;font-size:10px!important}.outline-group{border-top:1px solid var(--line)}.outline-group:last-child{border-bottom:1px solid var(--line)}.outline-group summary{cursor:pointer;align-items:center;gap:17px;padding:24px 0;list-style:none;display:flex}.outline-group summary::-webkit-details-marker{display:none}.section-number{font-family:var(--serif);color:var(--muted);min-width:30px;font-size:25px}.outline-group summary strong{font-size:14px;font-weight:500;display:block}.outline-group summary small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.outline-count{white-space:nowrap;color:var(--muted);margin-left:auto;font-size:9px}.expand-sign{width:11px;height:11px;margin-left:7px;position:relative}.expand-sign:before,.expand-sign:after{content:"";background:var(--ink);width:11px;height:1px;position:absolute;top:5px}.expand-sign:after{transform:rotate(90deg)}details[open] .expand-sign:after{display:none}.outline-group ol{margin:0 0 20px;padding:0 0 0 47px;list-style:none}.outline-row{border-top:1px solid #e6e7df;align-items:center;gap:13px;padding:15px 10px;display:flex}.outline-row strong{font-size:11px;font-weight:400;display:block}.outline-row small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.outline-row:not(.planned):hover{background:#eeeee5}.type-marker{border-radius:50%;flex-shrink:0;width:5px;height:5px;display:block}.row-state{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:8px}.row-state.available{color:var(--coral);font-size:10px}.row-state span{margin-left:9px}.planned strong{color:#72786b}.source-note{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:1fr 2fr;gap:55px;padding-top:22px;font-size:10px;display:grid}.source-note>span{letter-spacing:1.4px;font-size:8px}.source-note p{max-width:650px}.geometry{width:100%;overflow:visible}.geo-line{stroke:#667267;stroke-width:1.4px;fill:none}.geo-line.active{stroke:var(--coral);stroke-width:2px}.geo-line.dashed{stroke-dasharray:5 6;stroke:#9ba194;stroke-width:1.1px}.geo-circle{fill:none;stroke:#a6ad9d;stroke-width:1.3px}.geo-circle.auxiliary{stroke:var(--blue);stroke-dasharray:5 5;opacity:.7}.geo-circle.emphasis{stroke-width:2px;opacity:1}.geo-point circle{fill:var(--ink)}.geo-point text{font-family:var(--serif);fill:var(--ink);font-size:22px;font-style:italic}.geo-point.active circle,.geo-point.active text{fill:var(--coral)}.geo-arc{stroke:var(--coral);stroke-width:3px;fill:none}.geo-value{fill:var(--coral);font-size:20px;font-family:var(--serif)}.geo-angle-fill{fill:#b7472f20;stroke:var(--coral);stroke-width:1px}.geo-triangle-fill{fill:#b7472f10}.geo-triangle-fill.secondary{fill:#54715e17}.geo-halo{fill:#b7472f15;stroke:var(--coral);stroke-width:1px}.circle-label{font-family:var(--serif);fill:var(--muted);font-size:22px}.catalog{max-width:1200px;margin:65px auto 100px;padding:0 5%}.catalog h1{letter-spacing:-1.5px;margin:25px 0;font-size:85px;line-height:1}.catalog-intro{color:var(--muted);font-size:14px}.catalog-card{border:1px solid var(--line);background:#f0f0e7;grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin-top:55px;padding:40px;display:grid}.catalog-card h2{margin:15px 0;font-size:60px;line-height:1.1}.catalog-card p:not(.eyebrow){max-width:310px;color:var(--muted);font-size:13px}.catalog-meta{color:var(--muted);margin:20px 0;font-size:10px;display:block}.catalog-note{color:var(--muted);margin-top:20px;font-size:11px}.lesson-page{max-width:1400px;margin:0 auto;padding:0 5%}.lesson-navigation{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:24px 0;font-size:11px;display:flex}.lesson-navigation>a{align-items:center;gap:10px;display:flex}.lesson-navigation>a:hover{color:var(--coral)}.lesson-navigation>a>span,.lesson-position span{color:var(--muted);margin-left:5px}.lesson-position{font-size:10px}.lesson-header{padding:38px 0 28px}.lesson-meta{color:var(--muted);align-items:center;gap:20px;font-size:10px;display:flex}.lesson-meta>span+span{border-left:1px solid var(--line);padding-left:20px}.lesson-header h1{letter-spacing:-1px;margin:19px 0 12px;font-size:clamp(38px,4.3vw,62px);line-height:1.08}.lesson-header>p{color:var(--muted);font-size:12px}.problem-statement{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.6fr 1fr;gap:60px;margin-bottom:32px;padding:24px 0;display:grid}.problem-statement p{max-width:640px;margin-top:9px;font-size:13px;line-height:1.9}.problem-statement i{font-family:Georgia,serif}.prove-goal{border-left:1px solid var(--line);padding-left:35px}.prove-goal p{font-family:var(--serif);margin-top:9px;font-size:29px;line-height:1.3}.prove-goal p i{font-family:inherit}.prove-goal small{color:var(--muted);font-size:10px}.proof-player{border:1px solid var(--line);background:#faf9f4;scroll-margin-top:20px}.player-topline{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:1.4px;justify-content:space-between;align-items:center;padding:13px 22px;font-size:9px;display:flex}.player-topline>span:last-child{color:var(--muted);font-size:8px}.proof-workspace{grid-template-columns:1.15fr 1fr;min-height:530px;display:grid}.diagram-pane{background:radial-gradient(#a9b19e45 .7px,#0000 .7px) 0 0/20px 20px;flex-direction:column;min-width:0;padding:24px 20px 19px;display:flex;position:relative}.diagram-label{letter-spacing:.7px;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:15px;min-height:18px;padding:0 7px;font-size:8px;display:flex}.diagram-pane .geometry{aspect-ratio:4/3;flex-shrink:0;max-height:430px;margin:auto 0}.diagram-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:20px;min-height:18px;font-size:8px;display:flex}.diagram-legend i{vertical-align:middle;background:#667267;width:12px;height:1px;margin-right:6px;display:inline-block}.diagram-legend i.coral{background:var(--coral)}.diagram-legend i.blue{background:var(--blue)}.explanation-pane{border-left:1px solid var(--line);flex-direction:column;justify-content:center;padding:35px 36px 25px;display:flex}.step-copy h2,.solution-intro h2{letter-spacing:-.5px;max-width:340px;margin:16px 0 19px;font-size:38px;line-height:1.05}.step-copy .eyebrow{color:var(--coral);font-size:9px}.step-action{margin-bottom:11px;font-size:13px;font-weight:500;line-height:1.7}.step-explanation{color:#6e7569;font-size:12px;line-height:1.85}.equation{color:var(--coral);overflow-wrap:anywhere;background:#f2ece2;border-left:2px solid #c28c6b;margin:23px 0;padding:15px 16px;font-size:24px;line-height:1.5}.reason span{color:var(--muted);letter-spacing:1.3px;font-size:8px;display:block}.reason p{color:#737a6e;margin-top:5px;font-size:10px}.solution-intro>p:not(.eyebrow){color:var(--muted);max-width:320px;margin-bottom:27px;font-size:12px;line-height:1.85}.solution-intro .button{margin-bottom:22px}.hint-toggle{text-align:left;border:0;border-top:1px solid var(--line);background:0 0;width:100%;padding:13px 0;font-size:10px;display:block}.hint-toggle span{float:right}.solution-intro .hint-content{margin:5px 0 0!important;font-size:11px!important}.player-controls{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:81px;padding:17px 20px;display:flex}.step-dots{align-items:center;gap:5px;display:flex}.step-dots button{color:#888f81;background:0 0;border:0;border-bottom:2px solid #dce0d5;width:28px;height:32px;padding:0;font-size:9px}.step-dots button.past{color:#687660;border-color:#aebaa4}.step-dots button.selected{border-color:var(--coral);color:var(--coral);background:#f3e8de}.step-dots button:hover{background:#ebece3}.navigation-buttons{gap:8px;display:flex}.navigation-buttons .button{gap:16px;min-height:41px;padding:10px 15px}.keyboard-note{color:var(--muted);text-align:center;border-top:1px solid #e7e8e1;padding:10px 20px;font-size:8px}.keyboard-note span{margin:0 8px}kbd{border:1px solid var(--line);background:#eeeee6;border-radius:3px;padding:0 4px;font-family:inherit;font-size:10px}.pre-solution-note{color:var(--muted);margin:auto;font-size:10px}.inline-lesson-link{color:var(--coral);text-underline-offset:4px;margin-top:17px;font-size:10px;text-decoration:underline}.lemma-statement{background:#eeefe4;grid-template-columns:1fr auto;gap:10px 40px;margin-bottom:30px;padding:25px 28px;display:grid}.lemma-statement>.eyebrow{grid-column:1/-1}.lemma-statement>p{font-family:var(--serif);max-width:650px;font-size:25px;line-height:1.35}.lemma-formula{font-family:var(--serif);align-self:center;font-size:24px}.lemma-formula>span{color:var(--coral);margin:0 8px}.lesson-source{max-width:740px;color:var(--muted);padding:28px 0;font-size:11px}.lesson-source strong{color:var(--ink);font-size:10px;font-weight:500}.lesson-source p{margin-top:8px;line-height:1.8}.lesson-source a{text-underline-offset:3px;text-decoration:underline}.lesson-footer-nav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:25px;margin-top:20px;padding-top:25px;display:grid}.lesson-footer-nav>a:last-child{text-align:right}.lesson-footer-nav span{color:var(--muted);font-size:9px}.lesson-footer-nav strong{font-family:var(--serif);margin-top:6px;font-size:25px;font-weight:400;display:block}.lesson-footer-nav a:hover strong{color:var(--coral)}.theory-layout{border-top:1px solid var(--line);grid-template-columns:1fr 1.1fr;gap:65px;padding-top:35px;display:grid}.theory-prose h1{margin:19px 0 23px;font-size:52px;line-height:1.03}.theory-prose>p:not(.eyebrow){color:#6d7467;margin:17px 0;font-size:13px;line-height:1.85}.theory-prose strong{color:var(--ink);font-weight:500}.theory-rule{border-left:2px solid var(--green);background:#edf0e5;margin:25px 0;padding:18px 20px}.theory-rule span{letter-spacing:1px;color:var(--green);font-size:8px}.theory-rule p{font-family:var(--serif);margin-top:8px;font-size:25px;line-height:1.3}.theory-lab{border:1px solid var(--line);background:#f1f2e9;align-self:start;padding:20px}.theory-lab .geometry{aspect-ratio:4/3;max-height:365px;display:block}.slider-control{padding:10px 20px}.slider-control label{justify-content:space-between;font-size:11px;display:flex}.slider-control label span{color:var(--muted);font-size:9px}input[type=range]{width:100%;accent-color:var(--coral);cursor:pointer;margin:20px 0}.lab-readout{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:18px;font-size:9px;display:flex}.lab-readout strong{font-family:var(--serif);color:var(--ink);font-size:32px;font-weight:400;display:block}.lab-readout>span:last-child strong{color:var(--coral)}.theory-bottom{grid-template-columns:1.1fr 1fr;gap:60px;margin:45px 0;display:grid}.theory-bottom h3{margin:14px 0;font-size:31px;line-height:1.12}.takeaway>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.8}.takeaway .small-note{margin-top:15px;font-size:10px!important}.quick-check{border-left:1px solid var(--line);padding-left:40px}.check-answer{color:var(--green);margin-top:18px;font-size:12px}@media (min-width:1500px){.site-header,.site-footer{max-width:1296px;margin-left:auto;margin-right:auto}.site-footer{margin-top:70px}.proof-workspace{min-height:540px}}@media (max-width:1050px){.edition{display:none}.course-hero{gap:15px;min-height:470px}.hero-copy h1{font-size:65px}.hero-actions{gap:18px}.hero-meta{gap:9px;font-size:8px}.hero-meta span+span:before{margin-right:9px}.outline-section{grid-template-columns:1fr 1.7fr;gap:40px}.outline-intro h2{font-size:47px}.sample-card{padding:20px}.sample-card h3{font-size:27px}.explanation-pane{padding:28px 26px}.proof-workspace{grid-template-columns:1.05fr 1fr;min-height:550px}.step-copy h2{font-size:34px}.step-dots{gap:3px}.step-dots button{width:24px}.theory-layout{gap:35px}.lemma-statement{grid-template-columns:1fr}.lemma-formula{margin-top:10px}.site-footer>span:last-child{display:none}}@media (max-width:760px){.site-header{gap:20px;height:80px;margin:0 6%}.brand{gap:9px;font-size:21px}.brand-sub{font-size:7px}.site-header nav{gap:18px;font-size:10px}.site-header nav a:last-child{display:none}.overview,.lesson-page{padding:0 6%}.breadcrumb{padding-top:22px;font-size:9px}.course-hero{grid-template-columns:1fr;gap:30px;padding:35px 0 40px}.hero-copy h1{letter-spacing:-1.5px;margin:21px 0;font-size:64px}.hero-description{max-width:330px;font-size:13px}.hero-art{border-left:0;border-top:1px solid var(--line);justify-self:center;width:100%;max-width:480px;padding:20px 0 0}.hero-art .geometry{max-height:280px;margin:0}.art-caption{display:none}.hero-actions{gap:22px}.hero-meta{gap:12px;font-size:9px}.hero-meta span+span:before{margin-right:12px}.section-heading{align-items:start}.section-heading h2{font-size:33px}.section-heading>p{display:none}.sample-grid{grid-template-columns:1fr;gap:12px}.sample-card{min-height:190px;padding:22px}.card-top{margin-bottom:18px}.sample-card h3{max-width:100%;font-size:31px}.sample-card p{max-width:95%}.card-bottom{padding-top:18px}.outline-section{grid-template-columns:1fr;gap:30px;padding-top:55px}.outline-intro h2{font-size:47px}.outline-intro h2 br{display:none}.outline-intro h2 br:after{content:" "}.outline-intro>p:not(.eyebrow){max-width:100%}.outline-key{flex-wrap:wrap;gap:17px;margin:22px 0;font-size:9px;display:flex}.prototype-note{max-width:none!important}.outline-group summary{gap:12px;padding:20px 0}.outline-group summary strong{font-size:13px}.outline-group summary small{font-size:9px}.outline-count{display:none}.expand-sign{flex-shrink:0;margin-left:auto}.outline-group ol{padding-left:25px}.outline-row{gap:10px;padding:14px 2px}.outline-row strong{font-size:11px}.outline-row small,.row-state{font-size:8px}.source-note{grid-template-columns:1fr;gap:12px}.site-footer{flex-direction:column;gap:10px;margin:45px 6% 0;font-size:9px}.catalog{margin:45px auto;padding:0 6%}.catalog h1{font-size:65px}.catalog-card{grid-template-columns:1fr;gap:10px;padding:25px}.catalog-card h2{font-size:49px}.catalog-card .geometry{max-height:260px}.lesson-navigation{padding:20px 0;font-size:10px}.lesson-navigation>a>span{display:none}.lesson-position{font-size:8px}.lesson-header{padding:28px 0 24px}.lesson-meta{flex-wrap:wrap;gap:10px;font-size:8px}.lesson-meta>span+span{padding-left:10px}.lesson-header h1{margin-top:20px;font-size:43px;line-height:1.06}.lesson-header>p{font-size:11px}.problem-statement{grid-template-columns:1fr;gap:18px;margin-bottom:25px;padding:20px 0}.problem-statement p{font-size:12px}.prove-goal{padding-left:18px}.prove-goal p{margin-top:5px;font-size:26px}.proof-workspace{grid-template-columns:1fr;min-height:0}.diagram-pane{height:auto;min-height:270px;padding:15px 10px 12px}.diagram-pane .geometry{aspect-ratio:4/3;height:auto;max-height:320px;margin:0}.diagram-label{font-size:7px}.diagram-legend{gap:12px;font-size:7px}.explanation-pane{border-left:0;border-top:1px solid var(--line);justify-content:flex-start;min-height:465px;padding:25px 24px}.step-copy h2,.solution-intro h2{margin:13px 0 16px;font-size:34px}.step-action{font-size:12px}.step-explanation{font-size:12px;line-height:1.85}.equation{margin:20px 0;padding:13px;font-size:23px}.player-topline{letter-spacing:.8px;padding:12px;font-size:8px}.player-topline>span:last-child{font-size:7px}.player-controls{flex-direction:column;align-items:stretch;gap:17px;padding:16px}.step-dots{justify-content:space-between;gap:3px}.step-dots button{flex:1;max-width:40px}.navigation-buttons{justify-content:space-between}.navigation-buttons .button{gap:15px;min-height:44px}.keyboard-note{display:none}.pre-solution-note{text-align:center;font-size:9px}.lemma-statement{padding:20px}.lemma-statement>p,.lemma-formula{font-size:24px}.theory-layout{grid-template-columns:1fr;gap:20px;padding-top:25px}.theory-prose h1{font-size:48px}.theory-lab{padding:15px}.slider-control{padding:10px}.theory-bottom{grid-template-columns:1fr;gap:30px;margin:35px 0}.quick-check{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.lesson-footer-nav{gap:22px}.lesson-footer-nav strong{font-size:22px}.lesson-footer-nav span{font-size:8px}.lesson-source{font-size:10px}.inline-lesson-link{margin-top:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.proof-workspace,.diagram-pane{height:550px;min-height:0}.diagram-pane .geometry{aspect-ratio:auto;flex:1 1 0;height:0;min-height:0;max-height:none;margin:0}.diagram-label{flex-shrink:0;height:18px}.diagram-label span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.diagram-legend{flex-shrink:0;align-items:center;height:24px}.explanation-pane{overscroll-behavior:contain;height:550px;min-height:0;overflow-y:auto}@media (max-width:760px){.proof-workspace{height:auto;min-height:0}.diagram-pane{height:330px;min-height:0}.diagram-legend{row-gap:0;height:30px}.explanation-pane{height:490px;min-height:0}}.site-header{gap:28px;width:auto;max-width:none;height:64px;margin:0;padding:0 28px}.site-footer{max-width:none;margin:30px 28px 0}.overview,.catalog,.lesson-page{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:28px;padding-right:28px}.overview{min-height:calc(100dvh - 160px)}.course-hero{grid-template-columns:1fr 1fr;min-height:430px}.hero-description{max-width:540px}.hero-art .geometry{max-height:360px}.sample-card{min-height:205px}.sample-card h3,.sample-card p{max-width:none}.outline-section{grid-template-columns:minmax(240px,1fr) minmax(0,3fr);gap:60px}.theory-layout{grid-template-columns:minmax(420px,1fr) minmax(0,1.6fr);gap:60px}.theory-prose{max-width:700px}.theory-lab .geometry{min-height:320px;max-height:calc(100dvh - 430px)}body:has(.lesson-proof){flex-direction:column;height:100dvh;display:flex;overflow:hidden}body:has(.lesson-proof) .site-header{flex:none;height:52px;min-height:52px;padding:0 24px}body:has(.lesson-proof) .brand{gap:8px;font-size:19px}body:has(.lesson-proof) .brand svg{width:25px;height:25px}body:has(.lesson-proof) .brand-sub{display:none}body:has(.lesson-proof) .site-footer{display:none}.lesson-proof{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.workspace-heading{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:24px;min-height:52px;padding:12px 24px;display:flex}.workspace-back{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.workspace-back:hover{color:var(--coral)}.workspace-heading h1{font-family:var(--sans);align-items:center;gap:16px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.workspace-heading h1>span{color:#65705f;border-left:1px solid var(--line);padding-left:16px;font-weight:400}.workspace-links{white-space:nowrap;align-items:center;gap:25px;margin-left:auto;font-size:11px;display:flex}.workspace-links>a:hover{color:var(--coral)}.source-popover{position:relative}.source-popover summary{cursor:pointer;color:var(--muted)}.source-popover>div{background:var(--paper);border:1px solid var(--line);z-index:5;white-space:normal;width:340px;padding:22px;font-size:12px;position:absolute;top:30px;right:0;box-shadow:0 8px 30px #262c2915}.source-popover p{margin-top:10px}.workspace-statement{border-bottom:1px solid var(--line);background:#f0f0e7;flex:none;justify-content:space-between;align-items:center;gap:35px;padding:15px 24px;font-size:14px;line-height:1.7;display:flex}.workspace-statement>p:first-child{max-width:1200px}.workspace-goal{white-space:nowrap;border-left:1px solid #cfd5c6;flex:none;padding-left:28px;font-size:17px}.workspace-goal strong{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-right:12px;font-size:11px;font-weight:500}.workspace-goal span{color:var(--coral);margin:0 8px}.lesson-proof .proof-player{background:var(--paper);outline-offset:-2px;border:0;flex-direction:column;flex:1;min-height:0;display:flex}.lesson-proof .proof-workspace{flex:1;grid-template-columns:minmax(0,1.55fr) minmax(370px,1fr);height:auto;min-height:0}.lesson-proof .diagram-pane{height:100%;min-height:0;padding:16px 24px 12px}.lesson-proof .diagram-pane .geometry{aspect-ratio:auto;flex:1 1 0;width:100%;height:0;min-height:0;max-height:none}.lesson-proof .diagram-label{height:24px;font-size:10px}.lesson-proof .diagram-legend{gap:28px;height:24px;font-size:10px}.lesson-proof .explanation-pane{justify-content:center;height:100%;min-height:0;padding:28px clamp(28px,3vw,70px);overflow-y:auto}.lesson-proof .step-copy,.lesson-proof .solution-intro{width:100%;max-width:650px;margin:0 auto}.lesson-proof .step-copy h2,.lesson-proof .solution-intro h2{max-width:none;margin:17px 0 25px;font-size:clamp(34px,2.7vw,52px);line-height:1.1}.lesson-proof .step-action{margin-bottom:18px;font-size:16px;line-height:1.7}.lesson-proof .step-explanation{font-size:15px;line-height:1.85}.lesson-proof .equation{margin:28px 0;padding:20px 22px;font-size:clamp(25px,2vw,38px)}.lesson-proof .reason span{font-size:9px}.lesson-proof .reason p{font-size:12px}.lesson-proof .solution-intro>p:not(.eyebrow){max-width:none;font-size:15px}.lesson-proof .hint-toggle{font-size:12px}.lesson-proof .player-controls{background:#f0f0e7;flex-direction:row;flex:none;height:66px;min-height:66px;padding:10px 24px}.lesson-proof .step-dots{gap:8px}.lesson-proof .step-dots button{flex:none;width:40px;max-width:none;height:39px;font-size:11px}.lesson-proof .navigation-buttons .button{min-height:44px;padding:10px 22px;font-size:12px}.lesson-proof .inline-lesson-link{width:100%;max-width:650px;margin:18px auto 0;font-size:12px}@media (max-height:850px){.lesson-proof .explanation-pane{justify-content:flex-start;padding-top:22px;padding-bottom:22px}.lesson-proof .step-copy h2,.lesson-proof .solution-intro h2{margin:12px 0 16px;font-size:34px}.lesson-proof .step-action{margin-bottom:12px;font-size:14px}.lesson-proof .step-explanation{font-size:13px;line-height:1.7}.lesson-proof .equation{margin:18px 0;padding:12px 17px;font-size:26px}}.site-header{justify-content:flex-start;gap:36px}.course-selector{border:1px solid var(--line);min-width:230px;color:var(--ink);font:500 13px var(--sans);cursor:pointer;background-color:#0000;border-radius:4px;padding:10px 38px 10px 14px}body:has(.outline-only){flex-direction:column;height:100dvh;display:flex;overflow:hidden}body:has(.outline-only) .site-header{flex:none}body:has(.outline-only) .site-footer{display:none}.overview.outline-only{flex:1;min-height:0;padding:0 28px 28px;overflow-y:auto}.outline-only .outline-heading{font:500 13px var(--sans);color:var(--muted);margin:0;padding:20px 0 16px}.outline-only .outline-group summary{gap:18px;padding:17px 12px}.outline-only .section-number{min-width:34px;font:400 13px var(--sans)}.outline-only .outline-group summary strong{font-size:15px;font-weight:500}.outline-only .outline-count{font-size:11px;display:block}.outline-only .outline-group ol{margin-bottom:14px;padding:0 12px 0 64px}.outline-only .outline-row{grid-template-columns:100px minmax(220px,1fr) minmax(220px,24%) 70px;align-items:center;gap:20px;padding:13px 12px;display:grid}.outline-only .outline-row>strong{font-size:13px;font-weight:400}.outline-only .outline-row .type-label{font-size:9px}.outline-only .outline-reference{color:var(--muted);font-size:11px}.outline-only .row-state{font-size:10px}.outline-only .planned{color:var(--muted)}.theory-sequence{padding:24px 0 10px}.theory-title{margin-bottom:24px}.theory-title h1{margin-top:10px;font-size:44px;line-height:1.1}.concept-card{border:1px solid var(--line);background:#faf9f4;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);margin-bottom:24px;display:grid}.concept-copy{border-left:3px solid var(--green);padding:26px 32px}.concept-kind{color:var(--green)}.concept-copy h2{margin:10px 0 16px;font-size:30px;line-height:1.15}.concept-copy>p:not(.eyebrow),.concept-reason p,.concept-condition p,.concept-check p{color:#626c5e;max-width:820px;margin:12px 0;font-size:14px;line-height:1.8}.concept-copy strong{color:var(--ink);font-weight:500}.concept-copy .concept-statement{color:var(--ink);font-size:19px;line-height:1.6}.concept-figure{border-left:1px solid var(--line);background:#f1f2e9;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:18px 28px;display:flex}.concept-figure .geometry{width:100%;max-height:350px;display:block}.concept-definition .geometry{max-height:230px}.concept-figure figcaption{text-align:center;color:#626c5e;max-width:580px;margin:10px 0;font-size:12px;line-height:1.7}.concept-figure .slider-control{width:100%;max-width:700px;padding:12px 0 0}.concept-figure .slider-control label{font-size:12px}.concept-figure .lab-readout{font-size:11px}.concept-reason{border-top:1px solid var(--line);margin-top:22px;padding-top:17px}.concept-reason h3{font:500 14px var(--sans)}.concept-reason .concept-formula{font:28px/1.4 var(--serif);color:var(--coral)}.concept-condition{border-left:2px solid #b2bba8;margin-top:20px;padding-left:16px;font-size:12px}.concept-condition p{margin:6px 0;font-size:12px}.concept-check{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.concept-check p{margin:6px 0;font-size:12px}.theory-proof .concept-card{min-height:430px}.theory-proof .concept-copy{flex-direction:column;display:flex}.concept-proof-step{min-height:250px;display:grid}.concept-proof-frame{grid-area:1/1}.concept-proof-step h3,.case-explanation h3{font:500 17px/1.4 var(--sans);margin:12px 0}.concept-proof-step p,.case-explanation p,.concept-question p{color:#626c5e;max-width:820px;margin:12px 0;font-size:14px;line-height:1.8}.concept-proof-step .concept-formula,.case-explanation .concept-formula{font:27px/1.4 var(--serif);color:var(--coral)}.concept-proof-step .concept-proof-reason{font-size:12px}.concept-proof-controls{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:16px;display:flex}.concept-proof-controls .button{min-width:100px;padding:10px 16px}.concept-step-buttons{gap:6px;display:flex}.concept-step-buttons button{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:0 0}.concept-step-buttons button[aria-current=step]{background:var(--pale-coral);color:var(--coral);border-color:var(--coral)}.concept-question{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:13px}.concept-question summary{cursor:pointer}.angle-readout{color:var(--coral);flex-wrap:wrap;justify-content:center;gap:12px;font-size:15px;display:flex}.angle-readout span{color:var(--ink)}.rounding-note{text-align:center;color:var(--muted);font-size:11px;display:block}.case-selector{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.case-selector button{border:1px solid var(--line);color:var(--ink);background:0 0;padding:8px 12px;font-size:12px}.case-selector button[aria-pressed=true]{border-color:var(--coral);background:var(--pale-coral);color:var(--coral)}.case-explanation{min-height:200px}.lesson-source-note{color:var(--muted);margin:20px 0;font-size:11px}.geo-angle-fill.secondary{fill:#54715e24;stroke:var(--green)}.geo-angle-fill.muted{fill:#6672670d;stroke:#b2bba8}.geo-arc.secondary{stroke:var(--green)}.geo-line.secondary{stroke:var(--green);stroke-width:1.8px}.geo-value.secondary{fill:var(--green)}.geo-value.muted{fill:#8d9286}.geo-value.small{font-size:17px}.concept-figure .figure-selector{justify-content:center;margin:14px 0 4px}.concept-figure .pair-readout{width:100%;max-width:700px;margin-top:8px}.lab-readout>.readout-second strong{color:var(--green)}.concept-list{color:var(--ink);margin:4px 0 14px;padding:0;font-size:17px;line-height:1.8;list-style:none}.concept-list span{min-width:44px;color:var(--coral);font-family:var(--serif);font-size:19px;display:inline-block}.inline-link{color:var(--ink);border-bottom:1px solid var(--coral)}.inline-link:hover,.concept-figure .pair-readout>span strong{color:var(--coral)}.case-explanation.compact{min-height:150px}.concept-figure>.geometry.fit-figure{flex:1 1 0;height:0;min-height:350px;max-height:none}.concept-definition .concept-figure>.geometry.fit-figure{min-height:230px}.sign-out{flex-shrink:0;margin-left:auto;position:relative}.sign-out button{color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font-size:12px;display:flex}.sign-out button:hover{color:var(--ink)}.sign-out span{width:190px;color:var(--coral);font-size:12px;position:absolute;top:100%;right:0}
