@font-face{font-family:Excalifont;src:url('./Excalifont-Regular.woff2') format('woff2');font-display:swap}
:root{--paper:#fcfcfa;--ink:#24334b;--blue:#214f9b;--red:#b45350;--muted:#68758a;--line:#d8dfE8;--wash:#edf2f8;--hand:Excalifont,'Segoe Print',cursive;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(#4268a105 1px,transparent 1px),linear-gradient(90deg,#4268a105 1px,transparent 1px);background-size:28px 28px;font-family:var(--hand);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,summary{cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid var(--red);outline-offset:5px}button:disabled{cursor:default}p{margin:0 0 18px}h1,h2,h3,h4{font-family:var(--hand);font-weight:400;margin:0}h1{font-size:clamp(42px,4.8vw,70px);line-height:1.16;letter-spacing:-1.4px}h2{font-size:38px;line-height:1.3}h3{font-size:27px;line-height:1.3}em{font-style:normal;color:var(--blue)}[hidden]{display:none!important}.skip-link{position:absolute;z-index:100;left:20px;top:-70px;padding:12px;background:var(--paper)}.skip-link:focus{top:8px}.site-head{border-bottom:1px solid var(--line);background:var(--paper)}.head-inner{max-width:1320px;margin:auto;padding:21px 42px;display:flex;align-items:center;gap:66px}.brand{font-family:var(--hand);font-size:22px;line-height:1.04;white-space:nowrap;color:var(--blue);display:block;letter-spacing:-.4px}.brand>span{display:block}.brand strong{display:block;font-size:29px;font-weight:400}.brand-period{color:var(--red)}.site-head nav{display:flex;gap:32px;align-items:center;font-size:14px}.site-head nav a{padding:12px 0;border-bottom:2px solid transparent}.site-head nav a[aria-current=page]{color:var(--blue);border-color:var(--red)}.header-lesson{font:19px var(--hand);color:var(--blue);margin-left:auto;white-space:nowrap}.header-lesson span{color:var(--red);margin-left:6px}.page-wrap{max-width:1250px;padding:0 42px;margin:auto}.eyebrow{font:16px var(--hand);color:var(--red);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 22px}.lead{font-size:18px;line-height:1.85;color:#526079;max-width:610px}.hand{font-family:var(--hand)}.ink-link{display:inline-flex;align-items:center;gap:16px;font:23px var(--hand);color:var(--blue);border-bottom:2px solid var(--red);padding:0 0 6px}.ink-link span{transition:transform .15s}.ink-link:hover span{transform:translateX(5px)}.text-link{font-size:14px;color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:4px}.home-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;padding:71px 0 66px}.home-hero h1{max-width:630px;margin-bottom:27px}.home-hero h1 em{display:inline-block;position:relative}.home-hero h1 em:after{content:'';position:absolute;left:0;right:0;bottom:-3px;border-bottom:2px solid var(--red);transform:rotate(-.6deg)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:29px}.hero-board{position:relative;padding:28px 28px 22px;background:#fffefa;box-shadow:0 10px 38px #24334b08;border:1px solid #c5d1e1;border-radius:5px 16px 7px 12px;transform:rotate(.7deg);min-width:0}.board-topline{font:18px var(--hand);color:var(--blue);display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px}.board-topline span:last-child{color:var(--red)}.board-equation{font-size:35px;text-align:center;color:var(--blue);padding:30px 0 22px}.board-equation svg{max-width:100%;height:auto}.board-step{display:flex;gap:18px;align-items:center;border-top:1px dashed var(--line);padding:16px 0}.board-step .step-dot{font:20px var(--hand);color:var(--red)}.board-step strong{font:22px var(--hand);font-weight:400;color:var(--blue)}.board-step p{margin:3px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}.board-note{text-align:right;font:19px var(--hand);color:var(--red);padding-top:12px}.home-search{padding:29px 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.35fr;gap:40px;align-items:center}.home-search label{font:27px var(--hand);display:block}.home-search .search-hint{font-size:13px;color:var(--muted);margin:7px 0 0}.search-field{display:flex;gap:12px;align-items:center;border-bottom:1.5px solid var(--blue);padding-bottom:10px}.search-field input{border:0;background:transparent;width:100%;min-width:0;padding:10px 0;color:var(--ink);font-size:16px;outline-offset:4px}.search-field input::placeholder{color:#7e8b9d}.search-field button{flex-shrink:0;border:0;background:transparent;font:20px var(--hand);color:var(--blue);padding:8px}.section-label{display:flex;align-items:baseline;gap:22px;margin-bottom:28px}.section-label>span{font:21px var(--hand);color:var(--red)}.section-label h2{font-size:37px}.routes-section{padding:55px 0 58px}.route-list{border-top:1px solid var(--line)}.route-row{display:grid;grid-template-columns:45px minmax(0,1fr) 255px 27px;gap:21px;align-items:center;padding:25px 9px 26px;border-bottom:1px solid var(--line);transition:background .15s}.route-row:hover{background:#214f9b04}.route-number{font:24px var(--hand);color:var(--red)}.route-row h3{font-size:30px;color:var(--blue)}.route-row p{font-size:14px;color:var(--muted);line-height:1.6;margin:5px 0 0}.route-topics{font:18px/1.55 var(--hand);color:#637a9d}.route-arrow{font:27px var(--hand);color:var(--blue)}.route-count{display:block;font:12px var(--hand);color:var(--muted);margin-top:8px}.featured-section{padding:0 0 65px}.featured-lesson{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;background:#edf2f54d;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px}.featured-lesson h2{font-size:37px;color:var(--blue);margin:0 0 15px}.featured-lesson p{font-size:16px;line-height:1.8;color:#526079}.featured-lesson .eyebrow{font-size:14px}.featured-math{font-size:36px;color:var(--blue);text-align:center}.featured-math svg{max-width:100%;height:auto}.featured-math small{font:23px var(--hand);display:block;color:var(--red);margin-top:20px}.site-foot{max-width:1250px;padding:32px 42px 38px;margin:0 auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px}.footer-brand{font:26px var(--hand);color:var(--blue)}.footer-brand span{color:var(--red)}.site-foot p{font-size:12px;color:var(--muted);margin:9px 0 0}.foot-links{text-align:right;display:flex;flex-direction:column;gap:13px;font-size:13px;color:var(--blue)}.foot-links span{font-size:12px;color:var(--muted)}.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;color:var(--muted);font-size:12px;margin:29px 0 28px}.breadcrumb a{color:var(--blue)}.page-intro{padding:54px 0 35px;max-width:800px}.page-intro h1{font-size:57px;margin-bottom:20px}.page-intro .lead{max-width:760px}.catalog-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:55px;padding:10px 0 65px}.catalog-sidebar{position:sticky;top:28px;align-self:start}.sidebar-label{font:19px var(--hand);color:var(--red);margin-bottom:13px}.level-filter{display:flex;flex-direction:column;gap:3px}.level-filter button{text-align:left;border:0;background:transparent;padding:12px 12px 12px 0;font-size:14px;color:var(--muted);line-height:1.5}.level-filter button[aria-pressed=true]{color:var(--blue);font-weight:600}.level-filter button[aria-pressed=true]:before{content:'→ ';font-family:var(--hand);color:var(--red)}.catalog-note{font-size:12px;color:var(--muted);line-height:1.8;margin:22px 0 0;border-top:1px solid var(--line);padding-top:18px}.catalog-search{margin:0 0 16px}.catalog-search label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.results-line{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;color:var(--muted);margin:0 0 26px}.results-line .clear-search{border:0;background:transparent;padding:5px 0;font-size:12px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.catalog-level{margin-bottom:35px}.level-heading{display:flex;align-items:baseline;gap:15px;margin-bottom:17px}.level-heading>span{font:18px var(--hand);color:var(--red)}.level-heading h2{font-size:29px;color:var(--blue)}.area-fold{border-top:1px solid var(--line)}.area-fold:last-child{border-bottom:1px solid var(--line)}.area-fold summary{list-style:none;padding:22px 4px;display:grid;grid-template-columns:1fr auto 17px;gap:17px;align-items:center}.area-fold summary::-webkit-details-marker{display:none}.area-title{font:24px var(--hand);line-height:1.4}.area-fold summary small{font-size:12px;color:var(--muted);white-space:nowrap}.fold-sign{font:25px var(--hand);color:var(--red)}.area-fold[open] .fold-sign{transform:rotate(45deg)}.area-fold[open] summary{padding-bottom:10px}.area-description{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 13px;max-width:660px}.area-topics{list-style:none;padding:0 0 17px 0;margin:0}.topic-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:13px 8px 13px 0;margin-left:15px;border-top:1px solid #d8dfe85e;font-size:14px;line-height:1.6}.topic-row:hover{color:var(--blue)}.topic-row .topic-number{font:15px var(--hand);color:#8a99ae;margin-right:11px}.topic-state{font-size:11px;color:#8992a0;white-space:nowrap}.topic-state.ready{color:var(--blue)}.area-bottom-link{font-size:12px;color:var(--blue);display:inline-block;margin:0 0 20px}.empty-search{padding:35px 0}.empty-search h2{font-size:29px;margin-bottom:12px}.empty-search p{font-size:15px;color:var(--muted);line-height:1.7}.plain-topic-list{margin:10px 0 55px;border-top:1px solid var(--line);padding:0;list-style:none}.plain-topic-list .topic-row{margin:0;padding:20px 5px;border-bottom:1px solid var(--line);border-top:0}.pending-topic{max-width:780px;padding:15px 0 65px}.pending-line{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-bottom:24px}.pending-line:before{content:'';width:6px;height:6px;border:1px solid #9ca8b8;border-radius:50%}.pending-board{border-left:2px solid var(--red);padding:9px 0 9px 25px;margin:0 0 38px}.pending-board h2{font-size:31px;color:var(--blue);margin-bottom:12px}.pending-board p{font-size:16px;line-height:1.9;color:#526079;margin-bottom:0}.topic-neighbours{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:26px;font-size:14px;color:var(--blue);line-height:1.7}.topic-neighbours small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.topic-neighbours>a:last-child{text-align:right}.topic-back{margin-bottom:27px;display:inline-block;font-size:13px;color:var(--blue)}.source-note{font-size:12px;line-height:1.8;color:var(--muted);margin:28px 0}.source-note summary{font:19px var(--hand);color:var(--blue)}.source-note ul{padding-left:18px}.source-note a{color:var(--blue)}
.lesson-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;padding:8px 0 41px}.lesson-hero h1{font-size:59px;margin-bottom:24px}.lesson-hero .eyebrow{font-size:14px}.lesson-meta{display:flex;flex-wrap:wrap;gap:10px 19px;font-size:12px;color:var(--muted);margin:24px 0 0}.lesson-title-math{text-align:center;padding:26px 15px;font-size:39px;color:var(--blue);min-width:0}.lesson-title-math svg{max-width:100%;height:auto}.lesson-title-math p{font:22px var(--hand);color:var(--red);margin:25px 0 0}.lesson-meta span+span:before{content:'·';margin-right:18px;color:#a1aaba}.lesson-layout{display:grid;grid-template-columns:195px minmax(0,1fr);gap:65px;border-top:1px solid var(--line);padding-top:36px}.lesson-toc{position:sticky;top:27px;align-self:start}.lesson-toc .toc-label{font:19px var(--hand);color:var(--red);margin-bottom:16px}.lesson-toc a{display:block;padding:10px 0;font-size:13px;line-height:1.65;color:var(--muted);border-left:2px solid transparent;padding-left:12px}.lesson-toc a[aria-current=location]{border-left-color:var(--red);color:var(--blue)}.lesson-toc a span{font:15px var(--hand);margin-right:9px;color:var(--blue)}.lesson-toc .toc-video{border-top:1px solid var(--line);margin-top:17px;padding-top:17px;color:var(--blue)}.lesson-body{min-width:0}.lesson-section{padding:3px 0 42px;margin-bottom:34px;border-bottom:1px solid var(--line);scroll-margin-top:28px}.lesson-section h2{font-size:35px;color:var(--blue);margin:0 0 21px;display:flex;gap:15px;align-items:baseline}.lesson-section h2 .section-num{font:20px var(--hand);color:var(--red);flex-shrink:0}.lesson-section p{font-size:17px;line-height:1.9;margin:16px 0;color:#40516c}.lesson-section strong{font-weight:600;color:var(--ink)}.math-line{display:flex;align-items:center;gap:17px;color:var(--blue);margin:21px 0;min-width:0}.math-line>[role=math]{font-size:30px;max-width:calc(100% - 35px);overflow-x:auto;overflow-y:hidden;padding:8px 2px}.math-line svg{display:block}.copy-formula{align-self:center;flex-shrink:0;border:0;background:transparent;color:#92a0b4;font-size:17px;padding:5px}.copy-formula:hover{color:var(--blue)}.math-line.red{color:var(--red)}.idea-visual{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:center;margin:27px 0 13px}.idea-graph{width:100%;height:auto;display:block}.value-table{width:100%;border-collapse:collapse;font-size:13px;color:#526079;text-align:right}.value-table th{font-weight:400;color:var(--blue);padding:11px 5px;border-bottom:1px solid var(--line)}.value-table td{padding:10px 5px;border-bottom:1px solid #d8dfe868;font-variant-numeric:tabular-nums}.value-table th:first-child,.value-table td:first-child{text-align:left}.value-table .target-row{color:var(--blue);font-weight:600}.visual-caption{font-size:12px!important;color:var(--muted)!important;text-align:center;margin:10px 0 0!important}.rule-box{border:1px solid #aec0d8;border-radius:5px 12px 8px 4px;padding:19px 25px;background:#f0f4f873;margin:25px 0}.rule-box .hand-label{font:25px var(--hand);color:var(--blue)}.rule-box p{font-size:16px;margin-bottom:0}.rule-box .math-line{margin:10px 0 0}.margin-note{font:22px/1.6 var(--hand);color:var(--red);margin:21px 0 0;padding-left:17px;border-left:2px solid #b4535055}.solve-steps{list-style:none;padding:0;margin:21px 0 0;counter-reset:step}.solve-step{position:relative;padding:18px 0 20px 43px;border-top:1px solid #d8dfe887;counter-increment:step}.solve-step:before{content:counter(step) '.';position:absolute;left:0;top:21px;font:23px var(--hand);color:var(--red)}.solve-step h3{font-size:25px;color:var(--ink)}.solve-step p{font-size:16px;margin:10px 0}.solve-step .math-line{margin:15px 0 3px}.answer-line{border-bottom:2px solid #b4535060;display:inline-block;padding-bottom:6px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:25px}.compare-block{border-top:2px solid var(--line);padding-top:16px;min-width:0}.compare-block.wrong{border-color:var(--red)}.compare-label{font:23px var(--hand);color:var(--blue)}.wrong .compare-label{color:var(--red)}.compare-block .math-line>[role=math]{font-size:26px}.compare-block p{font-size:15px}.challenge{background:#edf2f65c;border:1px solid #b6c5d9;border-radius:4px 11px 6px 10px;padding:24px 27px;margin-top:25px}.challenge .math-line{margin:17px 0 25px}.challenge details{border-top:1px solid #b6c5d9;padding-top:18px}.challenge summary{font:23px var(--hand);color:var(--blue)}.challenge details p{font-size:16px}.recap-list{list-style:none;margin:22px 0 0;padding:0}.recap-list li{font-size:16px;line-height:1.8;margin:12px 0;padding-left:27px;position:relative;color:#40516c}.recap-list li:before{content:'✓';font:22px var(--hand);position:absolute;left:0;color:var(--blue)}.lesson-video{padding:24px 0 55px;scroll-margin-top:28px}.video-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:20px}.video-heading h2{font-size:41px;color:var(--blue)}.video-heading .eyebrow{font-size:14px;margin-bottom:10px}.video-heading>a{font-size:13px;color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:5px;white-space:nowrap}.lesson-video>p{font-size:16px;color:var(--muted);line-height:1.8;max-width:700px;margin-bottom:25px}.lesson-video video{display:block;width:100%;aspect-ratio:16/9;border:1px solid #a8bad4;border-radius:4px 10px 7px 3px;background:#fff}.chapter-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:17px 0 24px}.chapter-list button{display:flex;align-items:baseline;gap:11px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 0;text-align:left;font-size:12px;line-height:1.65}.chapter-list button>span{font:17px var(--hand);color:var(--red);flex-shrink:0}.chapter-list button[aria-current=true]{border-color:var(--red);color:var(--blue);background:#214f9b04}.transcript{font-size:15px;line-height:1.9;margin-top:23px}.transcript summary{font:22px var(--hand);color:var(--blue)}.transcript>div{padding:15px 0 0 20px;margin-top:15px;border-left:1px solid var(--line)}.lesson-next{display:flex;justify-content:space-between;gap:24px;margin:0 0 42px;font-size:14px;color:var(--blue)}.lesson-available{margin:15px 0 36px}.lesson-available .featured-lesson{grid-template-columns:1fr;padding:29px}.small-intro{padding-bottom:17px}.toast{position:fixed;z-index:50;bottom:24px;left:50%;transform:translate(-50%,10px);background:var(--ink);color:#fff;opacity:0;pointer-events:none;padding:11px 18px;border-radius:4px;font-size:13px;transition:.15s}.toast.visible{opacity:1;transform:translate(-50%,0)}
.answer-line{display:flex;max-width:100%;width:fit-content}.math-line>[role=math]{min-width:0;flex:0 1 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.course-hero{padding:15px 0 38px;max-width:940px}.course-hero h1{font-size:clamp(36px,4.2vw,61px);color:var(--blue);margin-bottom:24px;overflow-wrap:anywhere}.course-hero .lead{max-width:850px}.course-orientation{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:27px 0 32px}.course-orientation h2{font-size:24px;color:var(--blue)}.course-orientation ul{padding-left:20px;color:var(--muted);font-size:14px;line-height:1.9;margin:12px 0 0}.course-page .lesson-layout{padding-top:35px}.course-page .lesson-section p{white-space:normal}.course-formula{overflow-x:auto;padding:14px 0 21px;margin:15px 0;color:var(--blue)}.display-math{display:block;max-width:none;font-size:23px}.inline-math{display:inline-block;vertical-align:middle;font-size:17px;max-width:100%;object-fit:contain}.course-figure{margin:29px 0 20px;border:1px solid #bdcbdc;border-radius:5px 12px 6px 9px;padding:20px 20px 17px;background:#ffffff60;min-width:0}.figure-heading{font:23px/1.5 var(--hand);color:var(--blue);margin-bottom:8px}.course-diagram{display:block;width:100%;max-height:390px;color:var(--blue)}.course-diagram text{fill:var(--blue);stroke:none;font:21px var(--hand)}.course-diagram text.diagram-small{font:16px var(--hand)}.authored-diagram svg{display:block;width:100%;max-height:420px;height:auto;color:var(--blue)}.course-figure figcaption{font-size:16px;line-height:1.8;color:var(--muted);margin-top:8px}.worked-example{border-top:1px solid var(--line);padding:29px 0 15px;margin:24px 0 30px;min-width:0}.worked-label{font:15px var(--hand);letter-spacing:.7px;color:var(--red);display:block;margin-bottom:15px}.worked-example h3{font-size:29px;color:var(--blue)}.exercise-statement{background:#edf2f65c;border-left:2px solid var(--blue);padding:17px 20px;font-size:17px!important;line-height:1.9;overflow-wrap:anywhere}.reasoning-steps{list-style:none;counter-reset:reasoning;padding:0;margin:23px 0}.reasoning-steps>li{counter-increment:reasoning;position:relative;padding:12px 0 13px 35px;border-top:1px dashed #d8dfe88f;font-size:16px;line-height:1.9;color:#40516c;overflow-wrap:anywhere}.reasoning-steps>li:before{content:counter(reasoning)'.';position:absolute;left:0;top:13px;font:21px var(--hand);color:var(--red)}.worked-answer{display:grid;grid-template-columns:85px 1fr;gap:15px;margin:19px 0;padding:15px 0;border-bottom:2px solid #b4535055}.worked-answer>span,.worked-check>span{font:21px var(--hand);color:var(--blue)}.worked-answer p{margin:0!important;font-weight:600}.worked-check{border-left:2px solid #b4535055;padding-left:18px}.worked-check>span{color:var(--red)}.worked-check p{font-size:15px!important;margin:8px 0!important}.practice-invitation{padding:25px 0 35px}.practice-invitation h2{color:var(--blue);font-size:32px}.practice-invitation p{font-size:16px;line-height:1.8;margin:18px 0}.practice-invitation .ink-link{font-size:22px;overflow-wrap:anywhere}.chalk-button{border:1px solid #9eb2cf;border-radius:4px 8px 5px 6px;background:#edf2f8;color:var(--blue);font:21px var(--hand);padding:12px 20px;line-height:1.4;cursor:pointer}.chalk-button:hover{background:#e3ebf5}.chalk-button[aria-pressed=true]{border-color:var(--blue);background:#e3ebf5}.reading-progress{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:10px 0 28px}.reading-progress>span{font-size:12px;color:var(--muted);line-height:1.6}.text-button{border:0;background:transparent;font-size:14px;color:var(--blue);padding:8px 0;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.text-button:disabled{color:#8d97a7;text-decoration:none;cursor:default}.muted{color:var(--muted)}.small-link{font-size:20px;margin-top:20px}.chalk-limit{display:flex;align-items:center;flex-direction:column;gap:12px;padding:30px 0 20px;color:var(--blue);font-size:22px}.chalk-limit>.hand{font-size:24px;color:var(--red);margin-bottom:3px}.chalk-limit strong{font:36px var(--hand);font-weight:400}.learning-route{padding:0 0 65px}.learning-route>ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding:0;margin:20px 0 35px}.learning-route>ol>li{padding:22px 0;border-top:1px solid var(--line)}.learning-route>ol>li>span{font:20px var(--hand);color:var(--red)}.learning-route h3{font-size:28px;margin:14px 0;color:var(--blue)}.learning-route p{font-size:15px;line-height:1.9;color:var(--muted)}.progress-strip{padding:25px 30px;border:1px solid #bdcbdc;border-radius:5px 12px 6px 9px;margin:0 0 35px;background:#ffffff70}.progress-strip h2{font-size:29px;color:var(--blue)}.progress-strip p{font-size:13px;line-height:1.8;color:var(--muted);margin:10px 0 0}.progress-strip dl{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:25px 0}.progress-strip dl>div{border-top:1px solid var(--line);padding-top:13px}.progress-strip dt{font-size:12px;color:var(--muted);line-height:1.6}.progress-strip dd{font:37px var(--hand);color:var(--blue);margin:6px 0 0}.progress-settings{font-size:13px;color:var(--muted);line-height:1.8}.progress-settings summary{color:var(--blue)}.progress-settings button+button{margin-left:20px}.practice-progress-note{font-size:12px;color:var(--muted);margin:23px 0 0}.practice-start-note{font:22px/1.8 var(--hand);color:var(--red);padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 40px}.practice-list{max-width:900px;margin:0 auto 50px}.practice-card{border-bottom:1px solid var(--line);padding:12px 0 38px;margin-bottom:42px;min-width:0}.practice-card-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:16px}.practice-card-head .worked-label{margin-bottom:0}.practice-mode{font-size:12px;color:var(--muted);line-height:1.5}.practice-card h2{font-size:31px;color:var(--blue);margin-bottom:18px}.practice-card form{margin-top:25px}.practice-card label{display:block;font:22px var(--hand);color:var(--blue);margin-bottom:12px}.practice-card input,.practice-card textarea{display:block;width:100%;max-width:100%;border:1px solid #a9bad0;border-radius:3px 7px 4px 6px;background:#ffffff7a;color:var(--ink);padding:15px 16px;font:17px/1.7 var(--hand);min-width:0}.practice-card textarea{resize:vertical;min-height:140px}.practice-card input:focus-visible,.practice-card textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.answer-format{font-size:12px;color:var(--muted);line-height:1.8;margin:11px 0 18px}.practice-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.answer-feedback{font-size:15px;line-height:1.8;margin:17px 0 0;color:var(--red)}.answer-feedback[data-result=correct]{color:#326451}.answer-feedback[data-result=manual]{color:var(--blue)}.answer-feedback:empty{display:none}.practice-hint{padding:18px 21px;border-left:2px solid var(--red);background:#b4535005;margin-top:23px}.practice-hint>span{font:22px var(--hand);color:var(--red)}.practice-hint p{font-size:15px;line-height:1.9;margin:9px 0 0}.reveal-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:23px}.practice-solution{padding:24px 0 0;margin-top:15px;border-top:1px dashed #b6c5d9}.practice-solution h3{font-size:27px;color:var(--blue)}.practice-solution .reasoning-steps{margin:17px 0}.course-page .topic-neighbours{margin-top:25px}.course-page .lesson-body,.practice-card{overflow-wrap:anywhere}
@media(max-width:760px){.course-hero{padding-top:7px}.course-hero h1{font-size:42px}.course-orientation{gap:20px;padding:21px 0;grid-template-columns:1fr}.learning-route>ol{grid-template-columns:1fr;gap:0;margin-bottom:17px}.learning-route>ol>li{padding:18px 0}.learning-route h3{margin:7px 0}.learning-route p{margin-bottom:0}.progress-strip{padding:23px}.progress-strip dl{gap:15px}.progress-strip dt{font-size:11px}.progress-strip dd{font-size:32px}.practice-card-head{align-items:start;flex-direction:column;gap:8px}.worked-answer{grid-template-columns:1fr;gap:6px}.exercise-statement{padding:15px 17px;font-size:16px!important}.course-figure{padding:15px}.figure-heading{font-size:21px}.course-page .lesson-layout{padding-top:25px}.display-math{font-size:20px}.practice-start-note{font-size:20px}.practice-invitation h2{font-size:29px}}
@media(max-width:430px){.course-hero h1{font-size:36px}.progress-strip dl{grid-template-columns:1fr;gap:13px}.progress-strip dl>div{display:flex;justify-content:space-between;align-items:center}.progress-strip dd{margin:0;font-size:29px}.practice-actions{gap:16px}.chalk-button{font-size:19px;padding:11px 15px}.practice-card input,.practice-card textarea{padding:13px;font-size:16px}.reasoning-steps>li{padding-left:28px;font-size:15px}.reveal-row{align-items:start;flex-direction:column;gap:5px}.course-diagram text{font-size:23px}.course-page .lesson-section h2{font-size:28px}.course-hero .lead{font-size:16px}}
@media(min-width:1500px){.page-wrap,.site-foot{max-width:1310px}.home-hero{gap:90px}.home-hero h1{font-size:75px}}
@media(max-width:1000px){.head-inner{gap:36px;padding-left:30px;padding-right:30px}.page-wrap,.site-foot{padding-left:30px;padding-right:30px}.header-lesson{font-size:17px}.home-hero{gap:35px}.home-hero h1{font-size:57px}.hero-board{padding:22px}.board-equation{font-size:30px}.route-row{grid-template-columns:35px 1fr 210px 20px;gap:15px}.lesson-layout{grid-template-columns:170px minmax(0,1fr);gap:35px}.lesson-hero{gap:25px}.lesson-hero h1{font-size:49px}.catalog-layout{gap:30px;grid-template-columns:175px minmax(0,1fr)}.compare-grid{grid-template-columns:1fr;gap:12px}.idea-visual{gap:15px}.math-line>[role=math]{font-size:27px}}
@media(max-width:760px){.head-inner{padding:17px 23px;gap:25px;flex-wrap:wrap}.brand{font-size:19px}.brand strong{font-size:25px}.site-head nav{margin-left:auto;gap:24px;font-size:13px}.header-lesson{display:none}.page-wrap,.site-foot{padding-left:24px;padding-right:24px}.home-hero{grid-template-columns:1fr;padding:44px 0 36px;gap:35px}.home-hero h1{font-size:54px;max-width:580px}.lead{font-size:17px}.hero-board{max-width:520px;width:100%;margin:0 auto;transform:none}.home-search{grid-template-columns:1fr;gap:18px;padding:24px 0}.home-search label{font-size:25px}.route-row{grid-template-columns:30px 1fr 20px;gap:13px;padding:21px 0}.route-row h3{font-size:27px}.route-topics{grid-column:2;grid-row:2;font-size:16px}.route-arrow{grid-column:3;grid-row:1}.route-count{display:inline-block;font-size:11px;margin:0 0 0 10px}.route-row p{font-size:13px}.routes-section{padding:38px 0 44px}.section-label{gap:15px;margin-bottom:22px}.section-label h2{font-size:31px}.featured-lesson{grid-template-columns:1fr;gap:23px;padding:26px}.featured-lesson h2{font-size:32px}.featured-math{font-size:31px}.featured-section{padding-bottom:40px}.site-foot{flex-direction:column;gap:26px;padding-top:27px}.foot-links{text-align:left}.page-intro{padding:39px 0 25px}.page-intro h1{font-size:43px}.catalog-layout{grid-template-columns:1fr;gap:20px;padding-bottom:35px}.catalog-sidebar{position:static}.level-filter{flex-direction:row;flex-wrap:wrap;gap:0 18px}.level-filter button{font-size:12px;padding:9px 0}.catalog-note{margin:12px 0 0;padding-top:13px}.sidebar-label{display:none}.catalog-search{margin-top:5px}.area-title{font-size:23px}.area-fold summary{gap:12px;padding-top:20px;padding-bottom:20px}.topic-row{margin-left:0;gap:12px;font-size:13px}.topic-state{font-size:10px}.lesson-hero{grid-template-columns:1fr;padding-bottom:30px;gap:10px}.lesson-hero h1{font-size:47px}.lesson-title-math{padding:25px 0 10px;font-size:35px}.lesson-title-math p{margin-top:17px}.lesson-layout{grid-template-columns:1fr;gap:0;padding-top:25px}.lesson-toc{position:static;margin-bottom:30px}.lesson-toc .toc-label{margin-bottom:9px}.lesson-toc-links{display:flex;flex-wrap:wrap;gap:0 16px}.lesson-toc a{padding:8px 0;border-left:0;font-size:12px}.lesson-toc .toc-video{border-top:0;margin:0;padding:8px 0}.lesson-toc a[aria-current=location]{text-decoration:underline;text-underline-offset:5px}.lesson-section{padding-bottom:28px;margin-bottom:27px}.lesson-section h2{font-size:31px;gap:13px}.lesson-section p{font-size:16px}.math-line>[role=math]{font-size:26px}.rule-box{padding:18px}.solve-step{padding-left:33px}.solve-step p{font-size:15px}.solve-step h3{font-size:24px}.challenge{padding:21px 20px}.compare-grid{grid-template-columns:1fr 1fr;gap:18px}.compare-block .math-line>[role=math]{font-size:23px}.lesson-video{padding-top:14px;padding-bottom:35px}.video-heading{align-items:start;flex-wrap:wrap;gap:14px}.video-heading h2{font-size:34px}.chapter-list{grid-template-columns:1fr 1fr;gap:0 20px}.lesson-next{font-size:13px}.breadcrumb{font-size:11px;margin:22px 0}.topic-neighbours{gap:18px;font-size:13px}.pending-board{padding-left:19px}.pending-board h2{font-size:28px}}
@media(max-width:430px){.head-inner{gap:12px}.brand{font-size:17px}.brand strong{font-size:23px}.site-head nav{gap:17px;font-size:12px}.page-wrap,.site-foot{padding-left:21px;padding-right:21px}.home-hero h1{font-size:46px;letter-spacing:-1px}.home-hero{padding-top:34px}.eyebrow{font-size:13px;margin-bottom:17px}.hero-actions{gap:18px}.ink-link{font-size:22px}.hero-board{padding:20px}.board-equation{font-size:28px;padding:24px 0 20px}.board-topline{font-size:15px}.board-step{gap:12px;padding:13px 0}.board-step strong{font-size:20px}.route-row h3{font-size:25px}.route-row{grid-template-columns:25px 1fr 18px;gap:10px}.route-count{display:block;margin:5px 0 0}.section-label h2{font-size:29px}.featured-lesson{padding:23px}.featured-lesson h2{font-size:29px}.featured-math{font-size:28px}.page-intro h1{font-size:39px}.lesson-hero h1{font-size:42px}.lesson-hero .lead{font-size:16px}.lesson-title-math{font-size:32px}.lesson-meta{gap:9px 13px;font-size:11px}.lesson-meta span+span:before{margin-right:12px}.lesson-section h2{font-size:28px}.idea-visual{grid-template-columns:1fr;gap:12px}.idea-graph{max-height:230px}.value-table{font-size:13px}.value-table td,.value-table th{padding:9px}.compare-grid{grid-template-columns:1fr;gap:13px}.compare-block .math-line>[role=math]{font-size:27px}.rule-box .math-line>[role=math]{font-size:22px}.challenge{padding:19px 16px}.solve-step .math-line>[role=math]{font-size:25px}.chapter-list{grid-template-columns:1fr}.area-fold summary{grid-template-columns:1fr auto 15px;gap:8px}.area-title{font-size:21px}.area-fold summary small{font-size:11px}.topic-state{max-width:85px;white-space:normal;text-align:right}.topic-row .topic-number{margin-right:6px;font-size:13px}.footer-brand{font-size:23px}.lesson-next{flex-direction:column;gap:15px}.search-field input{font-size:15px}.header-lesson{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-head,.site-foot,.lesson-toc,.lesson-video,.copy-formula,.hero-actions,.toast{display:none!important}.page-wrap{padding:0;max-width:none}.lesson-layout,.lesson-hero{display:block}.lesson-section{break-inside:avoid}.lesson-title-math{display:none}body{background:#fff}}
/* Prerequisites are ordinary links: keyboard accessible and useful before reading. */
.course-orientation .prerequisite-link{color:var(--blue);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--blue) 40%,transparent);text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.course-orientation .prerequisite-link:hover{text-decoration-color:currentColor}
.course-orientation .prerequisite-link:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:2px}
.prerequisite-link span{display:inline-block;font-size:.82em;text-decoration:none}
.prerequisite-separator{color:var(--muted);padding:0 .2em}
.prerequisite-review{scroll-margin-top:100px}

/* Text written on the same board as the headings. Math remains vector artwork. */
body{font-size:18px;line-height:1.65}
button,input,textarea,select{font-family:var(--hand)}
.lesson-body p,.reasoning-steps>li,.practice-solution li{font-size:20px;line-height:1.85;color:var(--blue)}
.lead{font-size:21px;line-height:1.8}
.course-orientation ul{font-size:18px;line-height:1.85}
.topic-row{font-size:18px}.area-description,.catalog-note{font-size:16px}
.lesson-toc-links a{font-size:16px;line-height:1.65}
.lesson-notation{padding:26px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:38px}
.lesson-notation h2{font-size:29px;color:var(--blue)}
.lesson-notation dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 36px;margin:22px 0 0}
.lesson-notation dl>div{min-width:0}.lesson-notation dt{color:var(--red);font-size:22px;margin-bottom:5px;overflow-wrap:anywhere}
.lesson-notation dd{margin:0;font-size:18px;line-height:1.7;color:var(--blue)}
.lesson-table-wrap{max-width:100%;overflow:auto;margin:28px 0;scrollbar-width:thin}
.lesson-table{border-collapse:collapse;width:100%;font-size:19px;line-height:1.65;color:var(--blue)}
.lesson-table caption{text-align:left;color:var(--red);font-size:20px;margin-bottom:14px}
.lesson-table th,.lesson-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px;vertical-align:top;min-width:80px}
.lesson-table th{font-weight:400;color:var(--red);border-bottom:2px solid var(--blue)}
.lesson-table td.keep-together{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.lesson-table.has-nowrap-columns{min-width:480px}
.lesson-table.has-nowrap-columns caption{max-width:calc(100vw - 64px)}
.explained-step h4{font-size:24px;line-height:1.5;color:var(--blue);margin-bottom:12px}
.reasoning-steps .explained-step{padding-top:6px;padding-bottom:24px;margin-bottom:20px;border-bottom:1px dashed var(--line)}
.explained-step p:last-child{margin-bottom:0}.worked-example .exercise-statement{font-size:21px;line-height:1.8}
.worked-example .reasoning-steps{margin-top:28px}.worked-example .worked-check p,.worked-example .worked-answer p{font-size:20px}
.lesson-section>.course-figure{margin-top:30px}.practice-invitation{margin-top:45px}
.lesson-body .lesson-part-label{font-size:15px;letter-spacing:1px;color:var(--red);margin:8px 0 22px}
.lesson-toc{max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin;padding-right:10px;overscroll-behavior:contain}
@media(max-width:700px){.lesson-notation dl{grid-template-columns:1fr}.lesson-body p,.reasoning-steps>li,.practice-solution li{font-size:19px;line-height:1.85}.lesson-table{font-size:17px}.lesson-table th,.lesson-table td{padding:10px}.explained-step h4{font-size:23px}}
@media(max-width:700px){.lesson-toc{max-height:none;overflow:visible;padding-right:0}}
.course-diagram text.diagram-axis-label{paint-order:stroke;stroke:var(--paper);stroke-width:5px;stroke-linejoin:round}
.course-figure>.diagram-compact,.course-figure>.diagram-mobile-key{display:none}
.course-figure{container:course-figure / inline-size}
.course-figure>.diagram-series-key{font:17px/1.6 var(--hand);padding-left:0;list-style:none;margin:12px 0;overflow-wrap:anywhere}
.course-figure>.diagram-geometry-key{font:17px/1.6 var(--hand);padding-left:24px;margin:12px 0;overflow-wrap:anywhere}
.diagram-wide text.geometry-tales-label{font-size:26px}
.diagram-series-swatch{display:inline-block;width:28px;margin-right:10px;vertical-align:middle;border-top:3px solid var(--series-color,var(--blue))}
.diagram-series-swatch.is-dashed{border-top-style:dashed}
.course-figure .diagram-reading-note{font:16px/1.6 var(--hand);color:var(--muted);margin:12px 0}
@media(max-width:600px){
 .course-figure>.diagram-wide{display:none}
 .course-figure>.diagram-compact{display:block}
 .course-figure>.diagram-mobile-key{display:block;margin:12px 0;padding-left:24px;font:17px/1.6 var(--hand);overflow-wrap:anywhere}
 .course-figure>svg.course-diagram.diagram-compact text{font-size:34px}
 .course-figure>svg.course-diagram.diagram-compact text.diagram-small{font-size:32px}
 .course-figure>.diagram-compact text.diagram-point-label{paint-order:stroke;stroke:var(--paper);stroke-width:7px;stroke-linejoin:round}
}
@media(max-width:360px){.course-figure>svg.course-diagram.diagram-compact text{font-size:40px}.course-figure>svg.course-diagram.diagram-compact text.diagram-small{font-size:38px}}
@container course-figure (max-width:260px){.course-figure>svg.course-diagram.diagram-compact text{font-size:40px}.course-figure>svg.course-diagram.diagram-compact text.diagram-small{font-size:38px}}
@container course-figure (max-width:220px){.course-figure>svg.course-diagram.diagram-compact text{font-size:46px}.course-figure>svg.course-diagram.diagram-compact text.diagram-small{font-size:44px}}
@container course-figure (max-width:190px){.course-figure>svg.course-diagram.diagram-compact text{font-size:52px}.course-figure>svg.course-diagram.diagram-compact text.diagram-small{font-size:50px}}
@container course-figure (max-width:165px){.course-figure>svg.course-diagram.diagram-compact text{font-size:60px}.course-figure>svg.course-diagram.diagram-compact text.diagram-small{font-size:58px}}

/* The personal notebook uses the same paper, ink and handwriting as the course. */
.site-head nav{margin-left:auto}.dashboard-intro{max-width:900px;padding-bottom:30px}
.study-resume{border:1px solid #a9bbd3;border-left:3px solid var(--blue);border-radius:5px 12px 6px 9px;padding:30px 34px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;background:#ffffff85;margin-bottom:32px}
.study-resume h2{font-size:31px;color:var(--blue);line-height:1.5;overflow-wrap:anywhere}.study-resume p:not(.eyebrow){font-size:18px;line-height:1.8;color:var(--muted);margin:14px 0 0}.study-resume .eyebrow{font-size:14px;margin-bottom:10px}.study-resume>.chalk-button{display:inline-block;text-decoration:none;text-align:center;max-width:260px}
.study-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:0 0 15px}.study-metrics>div{border-bottom:1px solid var(--line);padding:12px 0 20px}.study-metrics span{font:42px/1.3 var(--hand);color:var(--blue)}.study-metrics p{font-size:16px;color:var(--muted);line-height:1.6;margin:8px 0 0}.study-meaning{font-size:16px;color:var(--muted);line-height:1.8;max-width:850px;margin:14px 0 40px}
.study-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px}.study-section{padding:27px 0 35px;border-top:1px solid var(--line);min-width:0}.study-heading{display:flex;align-items:baseline;gap:15px;margin-bottom:12px}.study-heading>span{font:19px var(--hand);color:var(--red);white-space:nowrap}.study-heading h2{font-size:29px;color:var(--blue);line-height:1.5}.study-section>p{font-size:18px;color:var(--muted);line-height:1.8;margin:10px 0 19px}.study-empty{padding:19px 22px;background:#edf2f540;border-left:2px solid #bdcbdc;border-radius:0 7px 7px 0;font-size:17px!important;line-height:1.9!important}
.study-topic-list{list-style:none;padding:0;margin:0 0 20px}.study-topic-list>li{padding:17px 0;border-bottom:1px dashed var(--line);min-width:0}.study-topic-list>li>a:first-child{display:block;color:var(--blue);text-decoration:none;overflow-wrap:anywhere}.study-topic-list strong{font-weight:400;font-size:23px;line-height:1.55;display:block}.study-topic-list>li>a>span{display:block;font-size:16px;color:var(--muted);line-height:1.7;margin-top:7px}.study-topic-list a:hover strong{text-decoration:underline;text-underline-offset:5px}.study-small-link{display:inline-block;font-size:16px;color:var(--blue);text-underline-offset:4px;margin-top:10px}.study-topic-list .text-button{font-size:16px;margin-top:5px}.study-topic-list a:focus-visible,.study-stages a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.study-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 30px;margin-top:26px}.study-stage{min-width:0;padding:20px 22px;background:#ffffff70;border:1px solid #c1ccdc;border-radius:5px 10px 5px 8px}.study-stage>a{font-size:25px;line-height:1.5;color:var(--blue);text-decoration:none}.study-stage p{font-size:17px;margin:15px 0 10px;color:var(--muted)}.study-stage progress{width:100%;height:9px;accent-color:var(--blue);display:block;margin-bottom:15px}.study-stage small{font-size:15px;line-height:1.8;color:var(--muted)}
.study-backup{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:55px;margin:5px 0 50px;padding:30px 0;border-top:1px solid var(--line)}.study-backup h2{font-size:30px;color:var(--blue);line-height:1.5}.study-backup p{font-size:18px;line-height:1.8;color:var(--muted);margin:16px 0 0}.study-backup .eyebrow{font-size:14px;margin:0 0 10px}.backup-controls{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.backup-controls .text-button{font-size:18px}.backup-controls input[type=file]{max-width:100%;font-size:16px;line-height:1.7;color:var(--muted)}.backup-controls .backup-feedback{font-size:17px;color:var(--blue);margin:2px 0}.backup-feedback:empty{display:none}.backup-controls [data-import-preview]{padding:18px;border:1px solid #bdcbdc;border-radius:5px;background:#ffffff85}.backup-controls [data-import-preview] p{font-size:16px;margin:0 0 15px}.backup-controls .practice-actions{gap:15px}.file-label{cursor:pointer}.hero-actions button.text-button{font-size:18px;padding:0}.progress-strip .study-small-link{font-size:19px;margin-top:12px}
@media(max-width:900px){.study-resume{grid-template-columns:1fr;gap:22px}.study-columns{gap:30px}.study-stages{grid-template-columns:1fr 1fr}.study-backup{gap:30px;grid-template-columns:1fr 1fr}}
@media(max-width:760px){.site-head nav{width:100%;justify-content:space-between;margin-left:0;gap:12px;font-size:16px}.study-resume{padding:24px}.study-resume h2{font-size:28px}.study-metrics{grid-template-columns:1fr 1fr;gap:16px 24px}.study-metrics span{font-size:36px}.study-columns{grid-template-columns:1fr;gap:0}.study-heading h2{font-size:27px}.study-backup{grid-template-columns:1fr;gap:25px}.study-stages{gap:15px}.study-stage{padding:19px}.study-stage>a{font-size:23px}.study-section>p,.study-backup p{font-size:18px}}
@media(max-width:430px){.study-stages{grid-template-columns:1fr}.study-resume{padding:20px}.study-resume>.chalk-button{max-width:100%;width:100%}.study-metrics{gap:14px 20px}.study-metrics p{font-size:15px}.study-metrics span{font-size:34px}.study-heading h2{font-size:25px}.study-heading{gap:11px}.study-topic-list strong{font-size:22px}}
@media print{.study-backup,.backup-controls{display:none!important}}
.backup-controls input[type=file]{font-family:var(--hand)}
.backup-controls input[type=file]::file-selector-button{font:inherit;color:var(--blue);background:transparent;border:0;border-bottom:1px dashed var(--line);padding:5px 8px 5px 0;margin-right:8px;cursor:pointer}

.search-status{font-size:16px;color:var(--muted);line-height:1.7;margin:0 0 20px}.search-status:empty{display:none}.search-retry{margin-bottom:24px}.search-best{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0 8px;margin-bottom:32px}.search-best h2{font-size:27px;color:var(--blue);margin-bottom:16px}.search-best ol{list-style:none;padding:0;margin:0}.search-best li{border-top:1px dashed var(--line)}.search-best a{display:block;padding:14px 8px}.search-best a:hover{background:#214f9b05}.search-best strong{display:block;color:var(--blue);font-size:22px;font-weight:400;line-height:1.5}.search-best span{display:block;font-size:14px;color:var(--muted);line-height:1.7;margin-top:5px}
.search-kind-picker{display:flex;flex-wrap:wrap;gap:8px;margin:-5px 0 24px}.search-kind-picker button{font:18px/1.5 var(--hand);min-height:44px;padding:8px 14px;border:1px solid #b9c9dd;border-radius:4px 8px 5px 6px;background:transparent;color:var(--blue);cursor:pointer}.search-kind-picker button[aria-pressed=true]{background:#e7eef7;border-color:var(--blue)}.search-kind-picker button:focus-visible,.search-pagination button:focus-visible{outline:2px solid var(--red);outline-offset:3px}.search-exercises .search-result-kind{display:block;font:15px/1.6 var(--hand);color:var(--red);margin-bottom:7px}.search-exercises p{font-size:18px;line-height:1.8;margin:12px 0;color:var(--ink);overflow-wrap:anywhere}.search-exercises [data-exercise-results-note]{font-size:16px;color:var(--muted)}.search-exercises a{padding:20px 8px}.search-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px 0}.search-pagination button{font:18px/1.5 var(--hand);min-height:44px}.search-pagination span{font-size:16px;margin:0}.search-exercises h2:focus-visible{outline:2px solid var(--red);outline-offset:5px}

.practice-review{font-size:16px;line-height:1.7;margin:15px 0}.practice-review a{color:var(--blue);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}.practice-hint{border-left-color:var(--blue);background:#214f9b04}.practice-hint .hint-progress{font-size:16px;color:var(--muted);margin:0 0 10px}.hint-steps{list-style:none;margin:0;padding:0}.hint-steps>li{border-top:1px dashed var(--line);padding:17px 0 13px}.hint-steps>li:first-child{border-top:0;padding-top:6px}.hint-step-label{font-size:14px;color:var(--red);display:block;margin-bottom:8px}.practice-hint h3{font-size:24px;line-height:1.5;color:var(--blue);outline-offset:5px}.practice-hint h3:focus-visible{outline:2px solid var(--red)}.practice-hint .course-figure{margin:20px 0 10px}.practice-hint .course-formula{margin:10px 0;padding:8px 0}.practice-hint p{font-size:17px;line-height:1.85}.answer-feedback[data-result=incomplete],.answer-feedback[data-result=invalid],.answer-feedback[data-result=pending]{color:var(--blue)}
@media(max-width:600px){.practice-hint{padding:17px 15px}.practice-hint h3{font-size:22px}.practice-hint p{font-size:17px}.practice-hint .course-figure{padding:14px 10px}.practice-review{font-size:16px}}
.hint-steps>li:only-child .hint-step-label{display:none}
.practice-review a{display:inline-block;box-sizing:border-box;max-width:100%;min-height:44px;padding:8px 0}
.answer-format{font-size:15px;line-height:1.8}
.practice-actions [data-show-hint],.practice-hint [data-next-hint]{font-size:18px;min-height:44px;padding:10px 4px}
@media(max-width:600px){.practice-hint .course-diagram text{font-size:30px}.practice-hint .course-diagram text.diagram-small{font-size:28px}.practice-card .practice-actions{gap:10px 16px}}

.visual-open,.visual-control,.visual-close{font:18px/1.5 var(--hand);color:var(--blue);cursor:pointer;min-height:44px;min-width:44px;border:1px solid #a9bad0;border-radius:4px 8px 5px 6px;padding:8px 12px;background:#f4f7fb}
.visual-open{display:block;margin-top:12px;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:5px;padding-left:0}
.course-formula>.visual-open{position:sticky;left:0}
.visual-open:hover,.visual-control:hover,.visual-close:hover{background:#e7eef7}
.visual-open:focus-visible,.visual-control:focus-visible,.visual-close:focus-visible,.visual-viewport:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.visual-control:disabled{opacity:.5;cursor:default}
.visual-dialog{box-sizing:border-box;width:min(1180px,calc(100% - 28px));height:min(900px,calc(100dvh - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:24px;border:1px solid #9eb2cf;border-radius:6px 14px 8px 12px;color:var(--blue);background-color:var(--paper,#fcfcfa);background-image:linear-gradient(#214f9b05 1px,transparent 1px),linear-gradient(90deg,#214f9b05 1px,transparent 1px);background-size:30px 30px;overflow:hidden;overscroll-behavior:contain}
.visual-dialog[open]{display:flex;flex-direction:column;gap:14px}
.visual-dialog{overflow-y:auto;overflow-x:hidden}
.visual-dialog::backdrop{background:#18335980;backdrop-filter:blur(2px)}
.visual-header{display:flex;align-items:flex-start;gap:18px;justify-content:space-between;flex:none}
.visual-header{position:sticky;top:0;z-index:1;background:var(--paper,#fcfcfa)}
.visual-title{font:27px/1.4 var(--hand);margin:0;color:var(--blue);overflow-wrap:anywhere}
.visual-close{flex:none}
.visual-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;flex:none}
.visual-status{font:18px var(--hand);min-width:65px}
.visual-dialog .visual-help{font:16px/1.5 var(--hand);color:var(--muted);margin:0;flex:none}
.visual-viewport{min-height:140px;min-width:0;overflow:auto;flex:1;border:1px solid #bdcbdc;background:#ffffff70;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.visual-stage{width:max-content;min-width:100%;min-height:100%;padding:18px;box-sizing:border-box;display:flex;align-items:center}
.visual-canvas{margin-inline:auto;line-height:0;color:var(--blue);flex:none}
.visual-canvas>svg,.visual-canvas>.visual-image{display:block;width:100%;height:auto;max-width:none;max-height:none}
.visual-dialog .study-visual-caption{font:16px/1.6 var(--hand);color:var(--muted);margin:0;max-height:23dvh;overflow:auto;flex:none;white-space:pre-line;text-align:left}
@media(max-width:600px){.visual-dialog{padding:14px;width:calc(100% - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);gap:10px}.visual-dialog[open]{gap:10px}.visual-title{font-size:21px}.visual-header{gap:10px}.visual-close{font-size:16px;padding:8px}.visual-controls{gap:6px}.visual-control{font-size:16px;padding:8px}.visual-dialog .visual-help,.visual-dialog .study-visual-caption{font-size:15px}.visual-dialog .study-visual-caption{max-height:18dvh}}

/* Visual blackboard edition: the page is a working surface, not a column of notes. */
.ink-drawing{width:100%;max-width:400px;margin:16px auto 22px}.ink-drawing svg{width:100%;height:auto;display:block}.ink-drawing figcaption{font-size:15px;line-height:1.5;text-align:center;color:#73534b}.ink-frame h3{font-size:23px;font-weight:400;line-height:1.4;margin:8px 0 23px;color:#73534b}.visual-workspace h3:focus{outline:none}
.practice-solution .ink-frame h4{font-size:20px}.practice-solution .ink-frame:focus,.practice-card>h2:focus{outline:none}.practice-solution .ink-calculation>div,.practice-solution .ink-statement{font-size:23px}.practice-solution .ink-controls{margin-bottom:20px}.ink-frame[hidden]{display:none!important}
.example-board.has-sketch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:35px}.example-board.has-sketch .example-given{grid-column:1/-1}.example-board.has-sketch .example-sketch{grid-column:1;grid-row:2/span 2;align-self:start;min-width:0}.example-board.has-sketch .ink-frames{grid-column:2;grid-row:2;min-width:0}.example-board.has-sketch .ink-controls{grid-column:2;grid-row:3;align-self:start}.example-sketch .ink-drawing{margin-top:24px}.example-sketch>.course-figure{max-width:100%}
.review-tabs{display:flex}.review-tabs a:last-child{margin-left:auto}
.overview-actions{display:flex;align-items:baseline;gap:25px;flex-wrap:wrap}.overview-actions .text-link{font-size:18px}.concept-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #214f9b40;margin-top:26px;padding-top:17px;font-size:19px}.concept-controls>span{font-size:15px;color:#73534b;white-space:nowrap}.concept-controls>a{color:#214f9b}.concept-controls>a:last-child{text-align:right}
.course-page>.page-wrap>.breadcrumb{margin:16px 0 4px}.overview-visual.has-diagram{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.overview-visual.has-diagram>.course-figure{width:100%;margin:0}.overview-visual.has-diagram .mini-example{border:0;margin:0;padding:0}.overview-visual.has-diagram .sketch-flow{grid-template-columns:1fr;gap:0}.overview-visual.has-diagram .sketch-arrow{transform:rotate(90deg);justify-self:center;font-size:22px;line-height:1}.overview-visual.has-diagram .sketch-cell{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;align-items:baseline}.overview-visual.has-diagram .sketch-cell p{font-size:23px;margin:8px 0}.ink-calculation>.ink-phrase{font-size:24px;max-width:62ch}.course-page .visual-workspace .ink-frame .board-why p{font-size:18px}.course-page .visual-workspace .ink-frame .board-why{margin-top:12px}
.visual-lesson-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 22px}.visual-lesson-head h1{font-size:clamp(30px,3.1vw,46px);line-height:1.18;max-width:34ch;margin:8px 0}.visual-lesson-head .eyebrow{margin:0;font-size:14px}.visual-lesson-head>.text-button{flex-shrink:0}
.board-tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:2px solid #214f9b40;padding:0 0 13px}.board-tabs a{padding:9px 17px;text-decoration:none;border:1.5px solid transparent;border-radius:5px 10px 4px 7px;font-size:19px;color:#214f9b}.board-tabs a[aria-current]{border-color:#214f9b;background:#edf3fb;transform:rotate(-.7deg)}.board-tabs a:last-child{margin-left:auto}
.visual-blackboard{padding:30px 26px 22px;min-width:0;min-height:360px}.visual-blackboard h2{font-size:clamp(24px,2.3vw,34px);line-height:1.3;margin:12px 0 25px}.visual-blackboard .topic-idea{max-width:52ch;font-weight:400}.board-kicker{font-size:13px;letter-spacing:.09em;color:#73534b}.mini-example{border-top:1px dashed #214f9b40;padding-top:24px;margin-top:22px}.sketch-flow{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:12px;align-items:center;margin:20px 0 8px}.sketch-cell{min-width:0}.sketch-label{font-size:14px;color:#73534b}.sketch-cell p{font-size:clamp(20px,2.2vw,29px);line-height:1.4;margin:10px 0;overflow-wrap:anywhere}.sketch-cell:last-child p{color:#a33d38}.sketch-arrow{font-size:30px;color:#a33d38}.board-why{margin:16px 0;font-size:17px;line-height:1.65;max-width:80ch}.board-why summary{cursor:pointer;font-size:16px;color:#5e7390}.board-why[open]{padding:14px 18px;border-left:2px solid #a4b7d0;background:#ffffffa8}.board-why p{font-size:18px;line-height:1.7}.board-start{display:inline-block;margin:16px 0 4px;font-size:20px}.concept-picker{display:flex;align-items:center;gap:16px;padding:17px 0;border-top:1px solid #214f9b35}.concept-picker label{font-size:16px;color:#73534b}.concept-picker select{min-width:0;max-width:75%;font:inherit;font-size:17px;border:1px solid #214f9b70;border-radius:5px;background:#fffefa;padding:9px 32px 9px 10px;color:#214f9b}.lesson-foundations{margin-top:24px}.visual-workspace .course-figure{margin:22px auto;max-width:800px}.visual-workspace .course-figure figcaption{font-size:16px}.visual-workspace .diagram-geometry-key{font-size:16px}.visual-workspace .example-given{padding-bottom:20px;border-bottom:1px dashed #214f9b40}.visual-workspace .example-given h2{margin:8px 0 12px;font-size:25px}.visual-workspace .exercise-statement{font-size:21px;line-height:1.6;margin:0;max-width:75ch}.visual-workspace .worked-example{padding:0;border:0;margin:0;background:none}.ink-frames.reasoning-steps{list-style:none;margin:0;padding:0}.ink-frames.reasoning-steps>li{padding:25px 0 8px;border:0;margin:0;position:static}.ink-frames.reasoning-steps>li:before{display:none}.ink-frame h4{font-size:23px;font-weight:400;line-height:1.4;margin:8px 0 23px;color:#73534b}.ink-calculation{display:grid;gap:20px;padding:6px 0 18px}.ink-calculation>div,.ink-result{font-size:clamp(23px,2.5vw,34px);line-height:1.55;overflow-wrap:anywhere;max-width:100%}.ink-statement{font-size:clamp(22px,2vw,28px);max-width:65ch;line-height:1.65}.ink-result{color:#a33d38;margin:28px 0}.ink-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #214f9b40;margin-top:12px;padding-top:18px}.ink-controls button{font:inherit;font-size:20px;color:#214f9b;background:#ffffffa8;border:1px solid #214f9b85;border-radius:6px 3px 8px 5px;padding:9px 17px;cursor:pointer}.ink-controls button:disabled{opacity:.35;cursor:default}.ink-controls span{font-size:16px;color:#73534b}.symbol-chips{display:flex;flex-wrap:wrap;gap:15px;align-items:flex-start}.symbol-chip{border:1px solid #214f9b50;border-radius:6px;padding:12px 17px;max-width:100%}.symbol-chip summary{font-size:24px;cursor:pointer}.symbol-chip p{font-size:19px;max-width:50ch;line-height:1.7}.visual-workspace [hidden],.practice-list [hidden]{display:none!important}.visual-workspace :focus-visible,.board-tabs a:focus-visible{outline:2px dashed #a33d38;outline-offset:6px}.visual-workspace h2:focus,.visual-workspace h4:focus{outline:none}
.practice-page .visual-lesson-head{padding-bottom:12px}.practice-page .practice-card{margin-top:22px;max-width:900px}.practice-page .practice-start-note{display:none}.practice-page .practice-mode{font-size:14px}.practice-page .practice-card>h2{margin-top:15px}.practice-page .practice-review{font-size:16px}.practice-page .answer-format{font-size:15px;line-height:1.5;max-width:70ch}.practice-page .practice-solution .reasoning-steps>li{font-size:20px;line-height:1.6}.practice-page .practice-progress-note{font-size:14px}.practice-hint .board-why{margin:10px 0}.practice-hint .hint-brief{font-size:20px;line-height:1.6}
.home-page .home-hero{grid-template-columns:1.1fr 1fr;padding:52px 0 45px;gap:50px}.home-page .home-hero h1{font-size:clamp(40px,5vw,67px)}.home-page .home-hero .lead{font-size:23px;max-width:28ch}.home-equation{position:relative;padding:28px 30px;transform:rotate(-1deg);border:2px solid #214f9b80;border-radius:8px 2px 9px 4px}.home-equation .equation-line{font-size:35px;margin:18px 0;display:flex;gap:25px;justify-content:center;align-items:baseline}.home-equation .equation-line small{font-size:18px;color:#a33d38}.home-equation .equation-line:last-of-type{color:#a33d38}.home-equation>a{display:block;text-align:center;font-size:17px}.home-page .routes-section{margin-top:42px}.home-page .route-row p{display:none}.home-page .route-row{padding:23px 6px}.home-page .route-topics{font-size:16px}.home-page .route-count{display:none}.home-page .learning-route{padding:30px 0}.visual-page-intro{padding:35px 0 20px}.visual-page-intro h1{font-size:clamp(35px,4vw,50px);margin:8px 0}.visual-page-intro .lead{font-size:20px;margin:12px 0;max-width:60ch}.catalog-page .catalog-layout{gap:38px}.catalog-page .catalog-note,.catalog-page .area-description{display:none}.catalog-page .catalog-sidebar{top:24px}.catalog-page .topic-state{font-size:14px}.catalog-page .topic-row{padding:17px 2px}.catalog-page .catalog-level{margin-top:25px}.catalog-page .catalog-level:first-of-type{margin-top:0}.catalog-page .level-heading{padding:10px 0}.catalog-page .area-fold summary{padding:18px 10px}.catalog-page .catalog-layout>.catalog-sidebar{border-right:0}.compact-area .page-intro .lead{display:none}
@media(max-width:700px){.visual-lesson-head{display:block;padding:20px 0 16px}.visual-lesson-head h1{font-size:29px}.visual-lesson-head>.text-button{font-size:15px;margin-top:8px}.board-tabs{gap:3px;justify-content:space-between}.board-tabs a{padding:8px 7px;font-size:16px}.board-tabs a:last-child{margin-left:0}.visual-blackboard{padding:22px 1px 18px;min-height:300px}.visual-blackboard h2{font-size:25px;margin-bottom:20px}.sketch-flow{grid-template-columns:1fr;gap:1px;margin:15px 0}.sketch-cell{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:baseline;gap:10px}.sketch-label{font-size:13px}.sketch-cell p{font-size:22px;margin:8px 0}.sketch-arrow{transform:rotate(90deg);font-size:24px;justify-self:center;line-height:1}.board-why{font-size:16px}.board-why[open]{padding:10px 12px}.board-why p{font-size:17px}.concept-picker{display:block}.concept-picker label{display:block;margin-bottom:8px}.concept-picker select{max-width:100%;width:100%;font-size:16px}.ink-frame h4{font-size:21px}.ink-calculation>div,.ink-result{font-size:24px}.ink-statement{font-size:22px}.ink-controls button{font-size:17px;padding:9px 13px}.visual-workspace .exercise-statement{font-size:19px}.visual-workspace .example-given h2{font-size:22px}.visual-workspace .course-figure{margin:18px auto}.home-page .home-hero{grid-template-columns:1fr;padding:30px 0;gap:28px}.home-page .home-hero h1{font-size:43px}.home-page .home-hero .lead{font-size:21px}.home-equation{padding:18px 15px}.home-equation .equation-line{font-size:29px}.home-page .route-row{padding:19px 0;gap:12px}.home-page .route-row h3{font-size:23px}.home-page .route-topics{font-size:13px}.home-page .route-number{font-size:16px}.home-page .home-search{padding:20px 0}.visual-page-intro{padding-top:24px}.catalog-page .catalog-layout{gap:22px}.catalog-page .topic-row{gap:12px}.catalog-page .topic-state{font-size:12px}.catalog-page .topic-title{font-size:18px}.practice-page .practice-card{padding:22px 14px}.practice-page .practice-card-head{gap:10px}.practice-page .practice-actions{gap:12px}.practice-page .answer-format{font-size:14px}.practice-page .practice-progress-note{margin-top:8px}.site-foot{margin-top:45px}}
@media(prefers-reduced-motion:no-preference){.visual-ready [data-board-panel]:not([hidden]),.visual-ready .ink-frame:not([hidden]){animation:ink-appear .18s ease-out}@keyframes ink-appear{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media(max-width:850px){.overview-visual.has-diagram{grid-template-columns:1fr;gap:20px}.overview-visual.has-diagram>.course-figure{max-width:580px}.overview-visual.has-diagram .mini-example{border-top:1px dashed #214f9b40;padding-top:20px}.overview-visual.has-diagram .sketch-cell p{font-size:22px}.ink-calculation>.ink-phrase{font-size:22px}}
@media(max-width:850px){.example-board.has-sketch{display:block}.example-sketch .ink-drawing{max-width:330px;margin:15px auto}.ink-frame h3{font-size:21px}}
@media(max-width:700px){.board-tabs.review-tabs{display:flex;justify-content:space-between}.board-tabs.review-tabs a{font-size:15px;padding:7px 9px}}
@media(max-width:700px){.site-head .head-inner{padding:13px 21px;gap:10px}.site-head nav{width:100%;justify-content:space-between;gap:12px;font-size:13px}.visual-lesson-head{padding:12px 0 10px}.visual-lesson-head h1{font-size:27px;margin:4px 0}.visual-lesson-head .eyebrow{font-size:12px}.visual-lesson-head>.text-button{font-size:13px;margin-top:0;padding-top:0;padding-bottom:0}.course-page>.page-wrap>.breadcrumb{margin:10px 0 2px;font-size:11px}.board-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.board-tabs a{font-size:clamp(12px,3.7vw,15px);padding:7px 2px;text-align:center;white-space:nowrap}.practice-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.concept-controls{font-size:16px;gap:10px}.visual-blackboard{padding-top:20px}.visual-workspace .exercise-statement{font-size:18px}.ink-frame h4{font-size:20px}.ink-frames.reasoning-steps>li{padding-top:19px}.overview-actions{gap:12px}}

/* Read one complete class from top to bottom. No content-navigation controls. */
.continuous-lesson{max-width:860px;margin:0 auto 50px;color:var(--blue);overflow-wrap:anywhere}
.continuous-lesson .lesson-opening{margin:8px 0 22px}.continuous-lesson .lesson-lead{font-size:22px;line-height:1.65;color:var(--blue);max-width:70ch;margin:0}
.lesson-preparation{font-size:16px;line-height:1.6;color:#657287;margin:18px 0 32px;padding-bottom:20px;border-bottom:1px solid var(--line)}.lesson-preparation p{margin:0 0 6px}.lesson-preparation ul{display:flex;flex-wrap:wrap;gap:5px 24px;list-style:none;margin:0;padding:0}.lesson-preparation a{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}
.lesson-preparation{display:flex;gap:12px 20px;align-items:baseline;flex-wrap:wrap;margin-bottom:20px;padding-bottom:14px}.lesson-preparation>p{margin:0}
.chapter-section{padding:27px 0 30px;border-bottom:1px dashed #a4b7d0;scroll-margin-top:30px}.chapter-section>h2{font-size:30px;line-height:1.35;margin:0 0 22px;max-width:43ch}.chapter-number{color:var(--red);margin-right:8px}
.continuous-lesson .teaching-paragraph{margin:0 0 18px}.continuous-lesson .teaching-paragraph>p,.practice-solution .teaching-paragraph>p{font-size:20px;line-height:1.65;max-width:72ch;margin:0 0 12px;color:var(--blue)}.teaching-paragraph>:last-child{margin-bottom:0}
.board-calculation{font-size:25px;line-height:1.6;color:var(--blue);padding:12px 20px;margin:16px 0 20px;border-left:3px solid #b4535070;background:#214f9b04;overflow-wrap:anywhere;max-width:100%}
.continuous-lesson .course-formula{margin:22px 0}.continuous-lesson .course-figure{max-width:740px;margin:25px auto 18px;padding:18px 16px;background:transparent;border-color:#214f9b30}.continuous-lesson .figure-heading{font-size:20px}.continuous-lesson .course-figure figcaption{font-size:17px;line-height:1.6}.continuous-lesson .ink-drawing{max-width:430px;margin:25px auto}.continuous-lesson .integer-reference{max-width:520px}.continuous-lesson .ink-drawing figcaption{font-size:17px;line-height:1.6}
.continuous-lesson .teaching-drawing{width:100%;max-width:420px;margin:24px auto 30px}.teaching-drawing svg{display:block;width:100%;height:auto;overflow:visible}.continuous-lesson .teaching-drawing figcaption{max-width:40ch;margin:8px auto 0;text-align:center}.continuous-lesson .temperature-below-zero{max-width:360px}.continuous-lesson .opposite-and-distance{max-width:450px}
.continuous-lesson .lesson-table{font-size:19px}.continuous-lesson .lesson-table caption{font-size:20px}.continuous-lesson .lesson-table-wrap{margin:22px 0}
.solved-chapter{padding-top:45px}.solved-chapter>h2{font-size:32px;margin-bottom:28px;line-height:1.35}.continuous-lesson .continuous-example{margin:28px 0 45px;padding:24px 0 0;border:0;border-top:2px solid #214f9b50;background:transparent}.continuous-example>.worked-label{font-size:14px;letter-spacing:.08em;color:var(--red);margin:0 0 10px}.continuous-example>h3{font-size:28px;margin:0 0 20px;line-height:1.4}.continuous-example>.exercise-statement{font-size:21px;line-height:1.65;padding:15px 20px;margin:0 0 24px;border-left:2px solid var(--blue);background:#214f9b05}
.written-steps{padding:0;list-style:none;margin:25px 0}.written-steps>.written-step{display:grid;grid-template-columns:33px minmax(0,1fr);gap:15px;padding:16px 0 22px;margin:0;border-bottom:1px dashed #214f9b30}.written-step-number{font-size:20px;color:var(--red);padding-top:3px}.written-step h4{font-size:23px;line-height:1.45;margin:0 0 12px;color:var(--blue)}.written-step .board-calculation{font-size:25px}.written-step .teaching-paragraph{margin-bottom:12px}
.written-result{margin:24px 0 18px;border-left:3px solid var(--red);padding:8px 20px}.written-result>span,.written-check>span{display:block;font-size:16px;color:var(--red);margin-bottom:6px}.written-result p{font-size:25px;line-height:1.6;margin:0;color:var(--blue)}.written-check{margin:15px 0 0;padding:10px 0}.written-check>span{color:#73534b}.written-check p{font-size:19px;line-height:1.65;margin:0}
.written-glossary{border-top:1px solid var(--line);padding-top:27px;margin-top:30px}.written-glossary h2{font-size:27px}.written-glossary dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:24px 0}.written-glossary dt{font-size:22px;color:var(--red);margin-bottom:4px}.written-glossary dd{font-size:18px;line-height:1.6;margin:0}.continuous-lesson .practice-invitation{padding:25px 0;margin-top:30px}.continuous-lesson .practice-invitation h2{font-size:30px}.continuous-lesson .practice-invitation p{font-size:20px;line-height:1.6}.written-references{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:16px}.written-references h2{font-size:22px}.written-references ul{padding-left:20px}.written-references a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.practice-list[data-practice-stack]{max-width:900px;margin:0 auto}.practice-page .practice-card{margin:30px 0 50px}.written-solution{margin:15px 0;padding-left:25px}.written-solution>li{padding-left:5px;margin-bottom:17px;font-size:20px;line-height:1.65}.practice-solution .board-calculation{font-size:23px}.practice-solution .teaching-paragraph{margin-bottom:10px}.continuous-lesson .reading-progress{flex-wrap:wrap}
@media(max-width:700px){.continuous-lesson{margin-bottom:30px}.continuous-lesson .lesson-lead{font-size:20px}.chapter-section{padding:23px 0}.chapter-section>h2{font-size:26px;margin-bottom:18px}.continuous-lesson .teaching-paragraph>p,.practice-solution .teaching-paragraph>p{font-size:19px;line-height:1.65}.board-calculation,.written-step .board-calculation{font-size:22px;padding:12px 13px}.continuous-lesson .course-figure{padding:12px 4px}.continuous-lesson .course-figure figcaption,.continuous-lesson .ink-drawing figcaption{font-size:16px}.solved-chapter>h2{font-size:27px}.continuous-example>h3{font-size:25px}.continuous-example>.exercise-statement{font-size:19px;padding:12px 14px}.written-steps>.written-step{grid-template-columns:22px minmax(0,1fr);gap:9px}.written-step h4{font-size:21px}.written-step-number{font-size:17px}.written-result{padding-left:13px}.written-result p{font-size:23px}.written-glossary dl{grid-template-columns:1fr}.written-glossary h2{font-size:25px}.lesson-preparation{font-size:15px;margin-bottom:18px}.continuous-lesson .practice-invitation h2{font-size:27px}.continuous-lesson .practice-invitation p{font-size:19px}.practice-page .practice-card{margin-bottom:35px}}

/* A quiet writing surface: handwriting for teaching, clear labels for navigation. */
@font-face{font-family:Kalam;src:url('./Kalam-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Kalam;src:url('./Kalam-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--hand:Kalam,'Segoe Print',cursive;--ui:'Segoe UI',Arial,sans-serif;--paper:#fdfcf8;--blue:#24476a;--ink:#243d53;--red:#a6503d;--muted:#607080;--line:#d6dedf}
body{background-image:linear-gradient(#24476a04 1px,transparent 1px),linear-gradient(90deg,#24476a04 1px,transparent 1px);background-size:30px 30px;color:var(--ink)}
.site-head{background:#fdfcf8f5}.head-inner{max-width:1240px;padding-top:22px;padding-bottom:22px;justify-content:space-between}.brand{font-size:20px;letter-spacing:0}.brand strong{font-size:28px;font-weight:700}
.site-head nav,.eyebrow,.breadcrumb,.worked-label,.practice-mode,.sidebar-label,.level-filter,.topic-state,.route-topics,.route-number,.search-hint,.foot-links,.text-button,.answer-format,.reading-progress>span,.written-references,.lesson-preparation,.practice-progress-note{font-family:var(--ui)}
.site-head nav{font-size:14px;gap:30px}.eyebrow{font-size:12px;letter-spacing:.12em}.breadcrumb{font-size:13px;line-height:1.7}.text-button{font-size:14px;line-height:1.6}.text-link{font-size:18px}
.visual-lesson-head{max-width:820px;margin:auto;padding:32px 0 26px;align-items:center}.visual-lesson-head h1{font-size:clamp(34px,4.2vw,52px);font-weight:700;line-height:1.25;letter-spacing:-.6px;overflow-wrap:anywhere}.visual-lesson-head .eyebrow{margin-bottom:10px}
.continuous-lesson{max-width:820px}.continuous-lesson .lesson-lead{font-size:23px;line-height:1.65;color:var(--ink);max-width:62ch}.continuous-lesson .teaching-paragraph>p,.practice-solution .teaching-paragraph>p{font-size:22px;line-height:1.7;max-width:66ch;color:var(--ink)}
.chapter-section{padding:31px 0 32px;border-bottom:1px solid #d6dedf}.chapter-section>h2{font-size:30px;line-height:1.45;font-weight:700;max-width:45ch}.chapter-number{font-weight:400}.board-calculation{font-size:27px;background:transparent;border-left:2px solid #a6503d70;padding:8px 21px;margin:20px 0}
.continuous-lesson .course-figure{border:0;border-top:1px solid #d6dedf;border-bottom:1px solid #d6dedf;border-radius:0;padding:24px 10px}.continuous-lesson .figure-heading{font-size:22px}.continuous-lesson .course-figure figcaption,.continuous-lesson .ink-drawing figcaption{color:#655548;font-size:18px}
.authored-diagram text{font-family:var(--hand)}.primary-page .authored-diagram{max-width:500px;margin-left:auto;margin-right:auto}.primary-page .course-figure{max-width:560px;margin-left:auto;margin-right:auto}.primary-start{font-size:21px;margin:8px 0 18px}
.continuous-example h3,.solved-chapter>h2,.practice-invitation h2{font-weight:700}.written-step h4{font-size:25px}.written-result p{font-size:28px}.written-check p{font-size:21px}.written-glossary dd{font-size:20px}.lesson-preparation{font-size:14px;line-height:1.7}.lesson-preparation a{color:var(--blue)}
.chalk-button{border-radius:4px;border:1px solid #8ba3b4;font-size:21px;background:#24476a07}.practice-card input,.practice-card textarea{border-radius:4px;font-size:21px}.practice-card>.exercise-statement{font-size:21px!important}.practice-page .practice-mode{font-size:13px}.written-solution>li{font-size:21px}
.home-page .home-hero{grid-template-columns:1.15fr 1fr;gap:70px;padding:66px 0 58px;align-items:center}.home-page .home-hero h1{font-size:clamp(43px,4.9vw,64px);font-weight:700;line-height:1.2;letter-spacing:-.8px}.home-page .home-hero .lead{font-size:23px;line-height:1.65;max-width:32ch;margin:23px 0 28px;color:var(--ink)}
.home-board{border:1px solid #99aebd;border-radius:3px;padding:30px 32px;background:#fffefb;box-shadow:6px 6px 0 #24476a06}.home-board .board-note{font-size:22px;margin:0 0 22px}.home-board .board-kicker{font:12px/1.5 var(--ui);letter-spacing:.09em;color:var(--red)}
.fraction-bar{display:grid;grid-template-columns:repeat(4,1fr);height:75px;border:2px solid var(--blue);margin:26px 0 22px}.fraction-bar span+span{border-left:2px solid var(--blue)}.fraction-bar .filled{background:repeating-linear-gradient(-55deg,transparent 0 7px,#24476a99 7px 9px);background-color:#24476a0b}
.fraction-explanation{display:flex;align-items:center;gap:23px;margin:22px 0}.home-fraction{display:flex;flex-direction:column;font-size:39px;line-height:1.05;min-width:50px;text-align:center}.home-fraction>span:first-child{border-bottom:2px solid var(--blue);padding-bottom:6px}.home-fraction>span:last-child{padding-top:8px}.fraction-meaning{font-size:21px;line-height:1.65}.fraction-meaning span{display:block}.fraction-meaning span:first-child{color:var(--red)}.home-board .text-link{display:inline-block;margin-top:7px}
.home-search{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-search label{font-size:28px}.home-search .search-hint{font-size:13px;margin-top:7px}.search-field input{font-size:20px}.search-field button{font-size:20px}.home-page .routes-section{margin-top:12px}.home-page .route-row{padding:24px 4px}.home-page .route-row h3{font-size:28px}.home-page .route-topics{font-size:13px}.section-label h2{font-weight:700}
.start-here{border-top:1px solid var(--line);padding:34px 0 45px;display:flex;gap:35px;justify-content:space-between;align-items:center}.start-here h2{font-size:29px}.start-here p{font-size:21px;line-height:1.65;max-width:54ch;margin:10px 0 0}.start-here .ink-link{flex-shrink:0;font-size:21px}
.catalog-page .visual-page-intro h1{font-weight:700}.catalog-page .area-title{font-size:25px}.catalog-page .topic-row{font-size:20px}.catalog-page .topic-title{line-height:1.5}.level-filter button{font-size:14px}.catalog-page .area-description{display:block;font-size:18px;line-height:1.65;max-width:65ch}.catalog-page .level-heading h2{font-weight:700}.catalog-page .catalog-note{font-size:15px}
.site-foot{margin-top:45px}.footer-brand{font-weight:700}.foot-links{font-size:13px;line-height:1.8}
@media(max-width:800px){.home-page .home-hero{grid-template-columns:1fr;gap:30px;padding:38px 0}.home-page .home-hero .lead{max-width:40ch}.home-board{max-width:500px;width:100%;margin:0 auto}.start-here{align-items:flex-start;flex-direction:column;gap:20px}.head-inner{gap:22px}.site-head nav{gap:20px}.visual-lesson-head h1{font-size:36px}.continuous-lesson .lesson-lead{font-size:22px}.continuous-lesson .teaching-paragraph>p,.practice-solution .teaching-paragraph>p{font-size:21px}.chapter-section>h2{font-size:28px}.chapter-section{padding:25px 0}.written-step h4{font-size:23px}.board-calculation,.written-step .board-calculation{font-size:25px}}
@media(max-width:480px){.head-inner{padding:19px 20px;gap:18px}.site-head nav{margin-left:0;width:100%;justify-content:space-between;gap:12px;font-size:13px}.brand strong{font-size:27px}.home-page .home-hero h1{font-size:42px}.home-board{padding:23px 20px}.fraction-bar{height:60px}.fraction-meaning{font-size:20px}.home-page .route-row h3{font-size:24px}.home-page .route-topics{font-size:12px}.visual-lesson-head h1{font-size:clamp(28px,8vw,33px)}.continuous-lesson .lesson-lead{font-size:21px}.continuous-lesson .teaching-paragraph>p,.practice-solution .teaching-paragraph>p{font-size:20px;line-height:1.7}.chapter-section>h2{font-size:26px}.continuous-lesson .course-figure{padding-left:0;padding-right:0}.written-glossary dd{font-size:19px}.home-search label{font-size:26px}.search-field input{font-size:18px;min-width:0}.home-page .hero-actions{align-items:flex-start;flex-wrap:wrap}.catalog-page .area-title{font-size:22px}.catalog-page .area-description{font-size:17px}}

/* An index for a continuous lesson: links orient the reader; nothing is hidden. */
.lesson-layout.continuous-layout{display:block;padding:0;margin:0 auto;min-width:0}
.continuous-layout>.continuous-lesson{min-width:0;width:100%}
.lesson-index{font:14px/1.5 var(--ui);color:var(--ink);max-width:820px;margin:0 auto 26px;padding:18px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.lesson-index h2{font:600 15px/1.4 var(--ui);margin:0 0 12px;color:var(--blue)}
.lesson-index-chapters{margin:0;padding-left:24px;column-gap:28px}
.lesson-index-chapters li{padding-left:3px;margin:0 0 7px;break-inside:avoid}
.lesson-index-chapters li::marker{color:var(--red);font-size:12px}
.lesson-index a{display:inline-block;color:var(--blue);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;line-height:1.5;padding:3px 0}
.lesson-index a:hover{text-decoration-color:currentColor}
.lesson-index-examples{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 18px;margin-top:10px}
.lesson-index-examples>a{font-weight:600}
.lesson-index-examples ul,.lesson-index-tools{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none}
.lesson-index-tools{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.continuous-layout .chapter-section,.continuous-layout .continuous-example,.continuous-layout #ejercicios,.continuous-layout #notacion,.continuous-layout #practicar{scroll-margin-top:24px}
@media(min-width:600px) and (max-width:1099px){.lesson-index-chapters{columns:2}}
@media(min-width:1100px){
 .lesson-layout.continuous-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
 .continuous-layout>.continuous-lesson{margin-left:0;margin-right:0}
 .visual-lesson-head.has-lesson-index{margin-left:260px;margin-right:0}
 .lesson-index{position:sticky;top:24px;align-self:start;width:100%;max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:8px 0 0;padding:0 18px 15px 0;border-top:0;border-bottom:0;border-right:1px solid var(--line)}
 .lesson-index-chapters{padding-left:22px}
 .lesson-index-chapters li{margin-bottom:8px}
 .lesson-index-examples{display:block;margin-top:18px}
 .lesson-index-examples ul{margin-top:3px}
}
@media print{.lesson-index{display:none}.lesson-layout.continuous-layout{display:block}.visual-lesson-head.has-lesson-index{margin-left:0}.continuous-layout>.continuous-lesson{max-width:none}}

/* Keep the blackboard in headings, drawings and calculations; make prose quiet. */
.legacy-section-anchor{display:block;height:0;scroll-margin-top:24px}
.continuous-lesson .lesson-lead{font:20px/1.65 var(--ui);max-width:64ch}
.continuous-lesson .teaching-paragraph>p,.practice-solution .teaching-paragraph>p{font:19px/1.65 var(--ui);max-width:65ch;margin-bottom:12px}
.continuous-lesson .teaching-paragraph{margin-bottom:16px}
.continuous-lesson .chapter-section{padding-top:28px;padding-bottom:28px}
.continuous-lesson .chapter-section>h2{font-size:29px;line-height:1.35;margin-bottom:20px}
.continuous-lesson .board-calculation,.written-step .board-calculation{font:26px/1.55 var(--hand);margin:15px 0;padding:7px 17px}
.continuous-lesson .ink-drawing figcaption,.continuous-lesson .course-figure figcaption{font:15px/1.55 var(--ui);max-width:58ch;margin-left:auto;margin-right:auto}
.continuous-lesson .course-figure{margin-top:19px;margin-bottom:22px;padding-top:20px;padding-bottom:20px}
.continuous-lesson .continuous-example{margin-top:28px;margin-bottom:35px}
.continuous-lesson .exercise-statement{font:19px/1.65 var(--ui)}
.continuous-lesson .written-step h4{font-size:24px;margin-bottom:9px}
.continuous-lesson .written-steps>.written-step{padding-top:13px;padding-bottom:16px}
.continuous-lesson .written-result>span,.continuous-lesson .written-check>span{font:600 13px/1.5 var(--ui)}
.continuous-lesson .written-check p,.continuous-lesson .written-glossary dd{font:17px/1.65 var(--ui)}
.continuous-lesson .written-glossary dt{font:23px/1.45 var(--hand)}
.continuous-lesson .lesson-table{font:17px/1.6 var(--ui)}
.continuous-lesson .lesson-table caption{font:600 16px/1.6 var(--ui)}
.continuous-lesson .practice-invitation p{font:19px/1.65 var(--ui)}
.practice-page .practice-card>.exercise-statement{font:19px/1.65 var(--ui)!important}
.practice-page .practice-card input,.practice-page .practice-card textarea{font-family:var(--ui)}
.continuous-lesson .integer-compare,.continuous-lesson .integer-sum-through-zero,.continuous-lesson .integer-subtract-opposite,.continuous-lesson .integer-repeated-change{max-width:410px}
@media(max-width:600px){
 .continuous-lesson .lesson-lead{font-size:19px}
 .continuous-lesson .teaching-paragraph>p,.practice-solution .teaching-paragraph>p{font-size:18px}
 .continuous-lesson .chapter-section>h2{font-size:27px}
 .continuous-lesson .board-calculation,.written-step .board-calculation{font-size:24px}
 .continuous-lesson .written-step h4{font-size:23px}
 .continuous-lesson .exercise-statement,.practice-page .practice-card>.exercise-statement{font-size:18px!important}
}

.guided-example{margin:2.3rem 0 2.8rem;padding:1.1rem 0 0;border-top:1px solid var(--line,#d8ddd7)}
.guided-example>h3{margin:0 0 .75rem;font-size:1.32rem;line-height:1.35}
.guided-steps{list-style:none;padding:0;margin:1.4rem 0;counter-reset:guided-step}
.guided-step{counter-increment:guided-step;display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:.7rem;margin:1.25rem 0}
.guided-step::before{content:counter(guided-step);font-size:.9rem;color:var(--muted,#65736a);padding-top:.12rem}
.guided-step h4{margin:0 0 .5rem;font-size:1.04rem;line-height:1.45}
.guided-step .teaching-paragraph p{margin:.5rem 0 .8rem}
.guided-example .written-result,.guided-example .written-check{margin-top:1rem}
@media(max-width:600px){.guided-example{margin:1.8rem 0 2.2rem}.guided-step{grid-template-columns:1.2rem minmax(0,1fr);gap:.4rem}.guided-example>h3{font-size:1.2rem}}

.published-videos{margin-top:3rem;border-top:1px solid currentColor;padding-top:1.5rem}.published-video{margin:1.5rem 0;padding:1rem;border:1px solid #b7c9bd;border-radius:8px}.published-video h3{margin-top:0}.published-video-player{margin:1rem 0}.published-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:4px}.published-video-links{display:flex;gap:1.2rem;flex-wrap:wrap}