@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#163b33;--muted:#62726b;--a:#16816f;--b:#356cd5;--c:#b66210;--line:#dce4df}*{box-sizing:border-box}body{margin:0;background:#f7f9f6;color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:16px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #356cd5;outline-offset:4px}header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 max(5%,calc((100vw - 1260px)/2))}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:21px}.mark{display:grid;place-items:center;width:34px;height:34px;background:var(--ink);color:#d3f896;border-radius:9px;font-size:25px}.muted{font-weight:400;color:var(--muted)}.header-note,.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px}.header-note{color:var(--muted)}main{max-width:1260px;margin:auto;padding:0 30px}.intro{display:flex;align-items:center;justify-content:space-between;padding:38px 0 30px;gap:20px}.eyebrow{margin:0 0 14px;color:var(--muted)}h1,h2{font-family:Manrope,system-ui,sans-serif;letter-spacing:-1.5px}h1{font-size:clamp(32px,4vw,49px);line-height:1.16;margin:0 0 15px;font-weight:800}h1>span{color:var(--a)}p{line-height:1.6}.intro p:last-child{margin:0;color:var(--muted)}.identity{font-family:Manrope,system-ui;font-size:45px;font-weight:700;padding-right:25px;white-space:nowrap}.identity small{display:block;font:14px 'DM Sans',system-ui;text-align:center;color:var(--muted);margin-top:12px}.ca{color:var(--a);fill:var(--a)}.cb{color:var(--b);fill:var(--b)}.cc{color:var(--c);fill:var(--c)}nav{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-bottom:25px}.tab{background:none;border:0;border-bottom:3px solid transparent;padding:16px 24px;color:var(--muted);font-size:13px}.tab span{margin-left:12px;font-size:16px;font-weight:600}.tab.active{color:var(--ink);border-color:var(--ink)}[hidden]{display:none!important}.workspace{display:grid;grid-template-columns:1.55fr 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white}.drawing{background:#f0f5f1;min-width:0;position:relative;display:flex;flex-direction:column;justify-content:space-between}.drawing-top{padding:22px 22px 0;display:flex;align-items:center;justify-content:space-between;gap:6px}.pill{font-size:11px;letter-spacing:1px;font-weight:700;background:#fff;padding:9px 11px;border:1px solid var(--line);border-radius:6px}.quiet{border:0;background:none;color:var(--muted);font-size:13px;padding:10px 0}#scene{width:100%;max-height:480px;display:block;overflow:visible}.drag-hint{text-align:center;font-size:14px;color:var(--ink);padding:0 12px 10px}.drag-hint span{color:var(--muted)}aside{padding:28px 32px;border-left:1px solid var(--line)}.aside-heading{display:flex;justify-content:space-between;gap:8px}.aside-heading .eyebrow{font-size:11px;letter-spacing:1px}.live{font-size:12px;color:var(--a);white-space:nowrap}h2{font-size:29px;margin:2px 0 10px;line-height:1.25}.aside-copy{font-size:15px;color:var(--muted);margin:0 0 20px}.equation{background:#f6f8f5;border-radius:12px;padding:18px;text-align:center}.formula{font-size:24px;font-weight:700}.numeric{margin:9px 0;font-size:19px}.total{font-size:14px;color:var(--muted)}.area-bar{height:9px;display:flex;border-radius:5px;overflow:hidden;margin:20px 0 0}.bar-caption{font-size:12px;color:var(--muted);margin:7px 0 22px}.slider-line{display:flex;justify-content:space-between;font-size:15px;margin-top:12px}output{font-variant-numeric:tabular-nums;font-weight:700}input[type=range]{width:100%;height:28px;accent-color:var(--a);cursor:pointer}#b{accent-color:var(--b)}.presets{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:15px 0}.presets span{font-size:12px;color:var(--muted)}.presets button{border:1px solid var(--line);background:white;border-radius:6px;padding:7px 10px;font-size:13px}.presets button:hover{background:#edf4ed}.note{font-size:14px;background:#f0f5ec;border-left:3px solid #91ae69;padding:12px 14px;line-height:1.6;margin:18px 0 0}.fact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:26px 0}.fact-strip>div{display:flex;gap:16px;align-items:center}.num{color:#7c9387;font-family:Manrope;font-size:25px}.fact-strip p{font-size:13px;color:var(--muted);margin:0}.fact-strip strong{font-size:14px;color:var(--ink)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:23px 0;color:var(--muted);font-size:11px;letter-spacing:1px}footer span{letter-spacing:0;font-size:13px}.handle{cursor:grab;touch-action:none}.handle:active{cursor:grabbing}.handle .hit{fill:transparent}.handle .dot{stroke:white;stroke-width:4}.vertex-label{font-size:17px;font-weight:700;fill:var(--ink)}.side-label{font-size:19px;font-weight:700;paint-order:stroke;stroke:#f0f5f1;stroke-width:6px;stroke-linejoin:round}.square-label{font-size:21px;font-weight:600}.solver,.proof{display:grid;grid-template-columns:1fr 1fr;gap:55px;background:white;border:1px solid var(--line);border-radius:20px;padding:36px;margin-bottom:30px}.solver p,.proof p{color:var(--muted)}.known-row{display:grid;grid-template-columns:1fr 110px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.known-row label{display:flex;gap:12px;align-items:center}.known-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink)}.known-row input[type=number]{width:100%;padding:10px;border:1px solid #aabcb3;border-radius:8px;background:#fff;color:var(--ink)}.known-row input:disabled{background:#edf1ed;color:#929b94}.known-row small{display:block;color:var(--muted);font-size:12px}.solution-side{background:#f3f7f1;border-radius:15px;padding:20px}#mini{display:block;width:100%;max-height:190px}#mini text{font-size:23px;font-weight:700}.steps{margin:0;padding-left:25px}.steps li{padding:9px 0;line-height:1.6}.answer{font-size:24px;font-weight:700;margin-top:14px}.error{border-color:#bd782b;background:#fff3dd}.primary{background:var(--ink);border:0;color:white;padding:15px 21px;border-radius:9px;font-weight:600}.proof-board{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f2f6f0;border-radius:15px;padding:15px}.proof-board svg{width:100%;max-width:440px}.proof-board p{font-size:13px;text-align:center}.proof-equation{font-size:33px;margin-top:24px;font-weight:700}.proof-triangle{transition:transform 1s ease}.proof-label{font-size:25px;font-weight:700}.proof-square{transition:opacity .5s}@media(max-width:800px){header{height:68px;padding:0 22px}.header-note{display:none}main{padding:0 20px}.intro{padding:27px 0 22px}.identity{font-size:33px;padding:0}.workspace{grid-template-columns:1fr 1fr}aside{padding:23px 20px}.drawing-top{padding:14px 12px 0;flex-wrap:wrap}.fact-strip{gap:12px}.fact-strip>div{gap:9px}.solver,.proof{gap:25px;padding:24px}}@media(max-width:600px){main{padding:0 15px}.brand{font-size:18px}.intro{display:block}.intro h1 br{display:none}.intro h1{font-size:33px}.intro p:last-child{font-size:15px}.identity{display:none}.eyebrow{font-size:10px}nav{gap:0;margin-bottom:16px;justify-content:space-between}.tab{padding:13px 6px;font-size:10px}.tab span{font-size:14px;margin-left:5px}.workspace{grid-template-columns:1fr;border-radius:15px}.drawing-top{flex-wrap:nowrap}.pill{font-size:9px}#scene{max-height:350px}.drag-hint{font-size:12px;margin:3px 0 8px}.drag-hint span{display:block}aside{border-left:0;border-top:1px solid var(--line);padding:23px}.fact-strip{grid-template-columns:1fr;gap:17px;padding:23px 10px}.fact-strip>div{gap:18px}.solver,.proof{grid-template-columns:1fr;padding:22px 18px;gap:22px}.proof-board{grid-row:1}.known-row{gap:10px}footer{font-size:9px}footer span{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.theorem-reminder{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;background:#edf4ed;border:1px solid var(--line);border-left:4px solid var(--a);border-radius:12px;padding:22px 25px;margin-bottom:24px}.theorem-reminder h2{font-size:20px;letter-spacing:-.4px;margin:0 0 9px}.theorem-reminder p{font-size:16px;margin:0}.theorem-reminder .theorem-key{font-size:14px;color:var(--muted);margin-top:9px}.theorem-formula{font-size:30px;font-weight:700;text-align:center;white-space:nowrap}.theorem-formula small{display:block;white-space:normal;font-size:14px;font-weight:400;color:var(--muted);margin-top:10px;line-height:1.5}@media(max-width:800px){.theorem-reminder{grid-template-columns:1fr;gap:16px;padding:19px}.theorem-formula{font-size:28px}}
