:root{--paper:#f6f5ef;--card:#fffefa;--ink:#243b34;--muted:#65736b;--green:#285b4b;--soft:#e6eee4;--line:#dedfd5;--orange:#b15b33;--peach:#f4e1d1;--blue:#dbe8ef;--radius:20px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}
*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #a04b22;outline-offset:4px}button{color:inherit}button:active{transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h2,h3{line-height:1.25}p{margin-bottom:1rem}strong{font-weight:700}em{font-family:Georgia,serif;font-weight:400}.skip-link{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:100}.skip-link:focus{top:8px}.site-header{height:90px;max-width:1380px;margin:auto;padding:0 54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:23px;font-weight:700;letter-spacing:-1px}.brand-light{font-weight:400;color:var(--muted);font-size:20px}.brand-mark{background:var(--green);color:#fff;border-radius:10px;width:35px;height:39px;text-align:center;line-height:32px;font-size:39px;font-family:Georgia,serif}.header-right{display:flex;align-items:center;gap:30px;font-size:13px}.header-right a{text-decoration:none}.stage-badge{font-size:10px;letter-spacing:1.5px;background:#e9ebe2;padding:7px 11px;border-radius:5px}.page-shell{max-width:1280px;display:grid;grid-template-columns:235px minmax(0,1fr);gap:55px;margin:0 auto;padding:46px 40px 0}.sidebar{position:sticky;top:28px;align-self:start}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin-bottom:14px}.sidebar h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin-bottom:12px}.sidebar-intro{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:25px}.lesson-link{width:100%;display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:12px;background:transparent;text-align:left;padding:13px 11px;margin-bottom:5px;min-height:67px}.lesson-link:hover{background:#eeeee5}.lesson-link[aria-current=step]{background:var(--soft);border-color:#d2dfcf}.lesson-number{width:29px;height:29px;flex-shrink:0;border:1px solid #d4d8cc;border-radius:50%;display:grid;place-items:center;color:var(--muted);font-size:12px;background:var(--card)}.lesson-link[aria-current=step] .lesson-number{background:var(--green);color:white;border-color:var(--green)}.lesson-link strong{display:block;font-size:13px;font-weight:600;line-height:1.4}.lesson-link small{display:block;color:var(--muted);font-size:11px;line-height:1.7}.sidebar-note{border-top:1px solid var(--line);padding-top:25px;margin-top:28px;display:flex;align-items:start;gap:12px;color:var(--muted)}.sidebar-note>span{font-size:27px;color:var(--orange);line-height:1.4}.sidebar-note p{font-size:12px;line-height:1.8}.small-link{font-size:11px;color:var(--muted)}.course-intro{margin-bottom:32px}.course-intro .eyebrow{margin-bottom:10px}.course-intro h1{font-size:clamp(32px,3.6vw,48px);letter-spacing:-1.9px;line-height:1.1;font-weight:500;margin-bottom:14px}.course-intro h1 em{color:var(--green)}.course-intro>p:last-child{color:var(--muted);font-size:14px}.lesson-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:11px;color:var(--muted)}.lesson-topline .eyebrow{margin:0;font-size:9px;letter-spacing:1.4px}.lesson-dots{display:flex;gap:4px}.lesson-dots i{width:22px;height:4px;background:#dcdfd3;border-radius:3px}.lesson-dots i.active{background:var(--green)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px}.lesson-card h2{font-size:28px;font-family:Georgia,serif;letter-spacing:-.6px;font-weight:400;margin:6px 0 14px}.lesson-card .intro{font-size:15px;line-height:1.8;max-width:660px;color:#526259}.section-links{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:22px 0 25px;padding-bottom:12px;flex-wrap:wrap}.section-links a{font-size:12px;text-decoration:none;display:flex;gap:7px;align-items:center}.section-links a:first-child{font-weight:700}.section-links span{font-size:16px}.example-stage{background:#f1f3eb;border-radius:13px;padding:26px 24px;margin-bottom:22px}.example-heading{font-size:12px;margin-bottom:20px;text-align:center;color:var(--muted)}.shape-rows{display:grid;gap:15px;max-width:480px;margin:auto}.shape-row{display:grid;grid-template-columns:70px 1fr 24px;gap:12px;align-items:center}.shape-row .shape-name{font-size:11px;color:#4d5e53}.shape-row .count{font-family:Georgia,serif;font-size:27px;text-align:right}.shapes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:34px}.shape{display:inline-block;flex-shrink:0;width:28px;height:28px}.circle{border-radius:50%;background:var(--green);border:1px solid #204d40}.square{background:#d4946e;border:1px solid #b97750;border-radius:5px}.ratio-display{font-family:Georgia,serif;display:flex;justify-content:center;gap:22px;align-items:center;margin-top:22px;font-size:42px;line-height:1.1}.ratio-display .first{color:var(--green)}.ratio-display .second{color:#a65531}.ratio-display .colon{font-size:29px;color:#8b9789}.ratio-caption{text-align:center;font-size:10px;color:var(--muted);letter-spacing:1px;margin:8px 0 0}.explanation{font-size:15px;line-height:1.9}.takeaway{border-left:3px solid #65926b;padding:9px 15px;background:#edf2e8;font-size:13px;margin:20px 0 0}.takeaway strong{display:block;font-size:9px;letter-spacing:1.4px;margin-bottom:3px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.section-heading h3{font-family:Georgia,serif;font-weight:400;font-size:23px;margin:0}.section-heading .label{font-size:10px;color:var(--muted)}.section-block{margin-top:28px;scroll-margin-top:22px}.explore-card{border:1px solid var(--line);border-radius:15px;padding:22px;margin-top:22px}.explore-card .eyebrow{font-size:9px;margin-bottom:7px;color:var(--orange)}.explore-card h3{font-size:15px;margin-bottom:10px}.explore-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.chip{padding:7px 14px;border:1px solid #cbd4c8;border-radius:8px;background:var(--card);font-size:12px;min-height:38px}.chip[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.explore-output{font-size:13px;line-height:1.8;margin-bottom:0}.explore-picture{margin:20px 0}.explore-picture .shape{width:20px;height:20px}.explore-picture .shapes{gap:5px}.explore-picture .shape-row{grid-template-columns:65px 1fr 22px}.explore-picture .count{font-size:24px}.bar{display:flex;gap:6px;margin:15px auto;max-width:460px}.part{flex:1;min-height:55px;display:flex;justify-content:center;align-items:center;font-weight:600;color:white;background:var(--green);border-radius:5px;font-size:16px}.part.warm{background:#b46d45}.bar-labels{display:flex;justify-content:center;gap:24px;font-size:11px;color:var(--muted)}.key{display:inline-flex;align-items:center;gap:7px}.key i{width:10px;height:10px;background:var(--green);border-radius:50%}.key.warm i{background:#b46d45;border-radius:2px}.fraction-figure{font-family:Georgia,serif;font-size:33px;text-align:center;margin:15px 0 4px}.length-bars{max-width:430px;margin:20px auto}.length-bar{background:var(--green);color:white;padding:12px 16px;margin-bottom:12px;border-radius:5px;font-size:13px}.length-bar.short{background:#b46d45;width:50%}.rate-figure{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;margin:20px auto;font-family:Georgia,serif}.rate-cell{text-align:center;background:var(--card);border:1px solid #dae0d0;border-radius:12px;padding:17px 26px}.rate-cell strong{display:block;font-size:31px;font-weight:400}.rate-cell span{font-family:Arial,sans-serif;font-size:12px;color:var(--muted)}.rate-arrow{color:var(--green);font-size:27px}.method{margin-top:24px}.method h3{font-size:14px}.method ol{padding-left:23px;font-size:13px;color:#4e6255}.method li{padding-left:5px;margin:8px 0}.watch-out{display:flex;gap:12px;background:#faf0e3;border-radius:12px;padding:16px;margin-top:22px;font-size:12px;color:#715138;line-height:1.8}.watch-out .icon{font-size:19px}.watch-out p{margin:0}.video-card{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center}.video-wrap{overflow:hidden;border-radius:12px;background:#e9eee3;position:relative;aspect-ratio:16/9}video{display:block;width:100%;height:100%;background:#e9eee3}.video-info .eyebrow{color:var(--orange);font-size:9px;margin-bottom:9px}.video-info h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin-bottom:12px}.video-info p{font-size:12px;line-height:1.8;color:var(--muted)}.video-info .video-detail{font-size:10px;margin:14px 0 0}.transcript{margin-top:15px;font-size:12px;color:var(--muted)}summary{cursor:pointer}summary:hover{color:var(--green)}.transcript ol{padding-left:20px}.transcript li{padding:5px 0}.practice-intro{font-size:13px;color:var(--muted);margin-bottom:17px}.question{margin-top:13px;border:1px solid var(--line);border-radius:15px;padding:23px;background:var(--card)}.question-heading{display:flex;gap:12px;align-items:start}.question-number{font-family:Georgia,serif;color:#8e9b88;font-size:20px;line-height:1.5}.question h4{font-size:14px;line-height:1.8;margin:0;font-weight:500}.question .shape-rows{margin:17px 0 20px 32px;max-width:350px}.question .shape{width:20px;height:20px}.question .count{font-size:22px}.reveal-options{margin:18px 0 0;border:0;padding:0;display:flex;gap:5px;flex-wrap:wrap}.reveal-options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.radio-option{position:relative;cursor:pointer;display:flex;gap:6px;align-items:center;min-height:36px;padding:6px 10px;border:1px solid #dce1d5;border-radius:6px;font-size:10px;line-height:1.5}.radio-option:has(input:checked){background:var(--soft);border-color:#96b29b;color:#234d3b}.radio-option input{margin:0;width:12px;height:12px;accent-color:var(--green)}.answer-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:17px;font-size:13px}.answer-label{color:var(--green);font-size:9px;letter-spacing:1.4px;font-weight:700;margin-bottom:4px}.answer-text{font-weight:600;font-size:15px;margin-bottom:0}.working ol{margin:15px 0;padding-left:20px}.working li{padding:4px 0 4px 4px}.check{font-size:12px;background:#f0f3e9;padding:12px;border-radius:6px;margin:12px 0 0}.lesson-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 34px}.btn{border:1px solid var(--green);border-radius:8px;background:var(--green);color:white;padding:12px 18px;font-size:12px;min-height:44px}.btn.secondary{background:transparent;color:var(--green);border-color:#cdd6c7}.about-section{border-top:1px solid var(--line);padding-top:23px;color:var(--muted);font-size:11px;margin-top:20px;scroll-margin-top:20px}.about-copy{font-size:12px;max-width:700px;margin-top:20px}.page-footer{display:flex;justify-content:space-between;padding:28px 0;font-size:10px;letter-spacing:.5px;color:#788371}.lesson-end{font-size:13px;text-align:center;padding:20px;color:var(--green);background:var(--soft);border-radius:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1400px){.page-shell{gap:65px;padding-top:55px}.course-intro{margin-bottom:36px}}
@media(max-width:1000px){.page-shell{gap:28px;grid-template-columns:200px minmax(0,1fr);padding-left:25px;padding-right:25px}.site-header{padding:0 28px}.card{padding:25px}.video-card{gap:16px}.video-info h3{font-size:20px}}
@media(max-width:760px){.site-header{height:72px;padding:0 20px}.header-right{gap:14px}.header-right a{font-size:11px}.brand{font-size:20px}.brand-light{font-size:16px}.stage-badge{font-size:8px;padding:5px 7px;letter-spacing:.7px}.page-shell{display:block;padding:24px 20px 0}.sidebar{position:static;margin-bottom:25px}.sidebar>.eyebrow,.sidebar h2,.sidebar-intro,.sidebar-note,.sidebar>.small-link{display:none}#lesson-nav{display:flex;gap:6px;overflow:auto;padding:0 0 9px;scrollbar-width:thin}.lesson-link{width:auto;flex-shrink:0;padding:8px 11px;min-height:48px;margin:0;border-color:var(--line);gap:8px}.lesson-link small{display:none}.lesson-link strong{font-size:11px}.lesson-number{width:24px;height:24px;font-size:10px}.course-intro h1{font-size:38px}.course-intro .eyebrow{font-size:8px}.course-intro>p:last-child{font-size:12px}.course-intro{margin-bottom:27px}.card{padding:23px}.lesson-card h2{font-size:26px}.lesson-card .intro{font-size:14px}.example-stage{padding:23px 15px}.shape-row{grid-template-columns:57px 1fr 23px;gap:8px}.shape{width:24px;height:24px}.shapes{gap:6px}.explanation{font-size:14px}.video-card{grid-template-columns:1fr;gap:20px}.video-info p{margin-bottom:6px}.video-info h3{margin-bottom:8px}.question{padding:19px}.question h4{font-size:13px}.section-heading h3{font-size:23px}.question .shape-rows{margin-left:0}.lesson-topline .eyebrow{font-size:8px;letter-spacing:1px}.lesson-dots i{width:14px}.course-intro h1{letter-spacing:-1.5px}}
@media(max-width:380px){.page-shell{padding-left:14px;padding-right:14px}.site-header{padding:0 14px}.stage-badge{display:none}.card{padding:18px}.shape{width:22px;height:22px}.shapes{gap:5px}.radio-option{font-size:9px;padding:6px 7px}.reveal-options{gap:4px}.course-intro h1{font-size:34px}}
@media(prefers-reduced-motion:no-preference){.chip,.lesson-link{transition:background .18s,border-color .18s}.shape{animation:appear .25s ease-out}@keyframes appear{from{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1)}}}
@media print{.site-header,.sidebar,.course-intro,.section-links,.video-section,.explore-card,.lesson-bottom,.reveal-options,.about-section,.page-footer{display:none}.page-shell{display:block;padding:0}.card,.question{break-inside:avoid;border-color:#aaa}.answer-panel[hidden],.working[hidden]{display:none!important}body{background:white;color:black}}

/* Keep small labels readable and give the video room on every screen. */
:root{--muted:#56675b}
.question-number,.page-footer{color:#5e715c}
.part.warm,.length-bar.short{background:#a45c36}
.lesson-card .intro,.explanation{font-size:16px}
.question h4{font-size:15px}
.method ol,.explore-output{font-size:14px}
.video-card{grid-template-columns:1fr;gap:15px}
.video-info{order:-1}
.topic-nav{display:flex;gap:7px;margin:0 0 20px}
.topic-nav a{padding:7px 17px;border:1px solid #cdd6c7;border-radius:7px;font-size:12px;text-decoration:none}
.topic-nav a[aria-current=page]{background:#285b4b;color:#fff;border-color:#285b4b}
.video-info h3{font-size:24px}
.video-info p{font-size:13px;margin-bottom:5px}
.video-info .video-detail{font-size:11px;margin-top:8px}
.video-live-caption{font-size:15px;line-height:1.8;margin:0;padding:12px 16px;background:#edf2e8;border-radius:8px;min-height:75px}
@media(max-width:760px){.lesson-card .intro,.explanation,.question h4{font-size:15px}.method ol,.explore-output{font-size:14px}.radio-option{font-size:11px;min-height:42px}.video-live-caption{font-size:14px}}
