:root{font-family:'Nunito',system-ui,sans-serif;color:#173d3d;background:#f5f5e9}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:#0d6c70}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#173d3d;color:white;padding:1rem max(1rem,calc((100vw - 1100px)/2))}.topbar a{color:white;text-decoration:none}main{max-width:1100px;margin:auto;padding:1rem}.hero,.mission,.source-note{background:white;border:2px solid #d8e5dc;border-radius:22px;padding:1.4rem;box-shadow:0 8px 24px #173d3d10}.hero h1{font-size:clamp(2rem,5vw,3.3rem);margin:.1rem 0}.hero p{max-width:65ch;line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#087e7b;font-size:.8rem;font-weight:900}.subject-tabs{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}.subject-tabs button,.unit-nav button{background:white;color:#173d3d;border:2px solid #bad6cc;border-radius:14px;padding:.7rem 1rem;font-weight:900}.subject-tabs button[aria-selected=true],.unit-nav button[aria-current=true]{background:#dcf4ea;border-color:#087e7b}.progress{height:14px;border-radius:12px;background:#e5ede8;overflow:hidden}.progress div{height:100%;width:0;background:#27a67d;transition:width .3s}.progress-text{font-weight:800}.unit-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.55rem;margin:1rem 0}.unit-nav button{text-align:left;min-height:64px}.unit-nav button.done::before{content:'✓ ';color:#087c61}.mission h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:.1rem 0 1rem}.visual{min-height:115px;border-radius:18px;background:#eaf7f2;display:flex;gap:.55rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:1rem;overflow:auto}.visual b{display:inline-block;background:white;border:2px solid #80b9a9;border-radius:11px;padding:.55rem .7rem;font-size:1.2rem;white-space:nowrap}.visual .red{color:#dc5d55}.visual .blue{color:#367fd1}.visual .shape{font-size:3.5rem;color:#087e7b}.visual .dots{display:grid;grid-template-columns:repeat(6,11px);gap:6px}.visual .dots i{width:11px;height:11px;background:#e29953;border-radius:50%}.visual .squares{display:grid;grid-template-columns:repeat(5,20px);gap:2px}.visual .squares i{width:20px;height:20px;background:#f5ba68;border:1px solid #527c6d}.visual .fractions{display:grid;grid-template-columns:repeat(8,25px);gap:2px}.visual .fractions i{height:50px;background:white;border:2px solid #527c6d}.visual .fractions i.shade{background:#f2b36c}.visual .bars{height:90px;display:flex;align-items:end;gap:8px}.visual .bars i{width:28px;background:#43a4ac;border-radius:5px 5px 0 0}.visual .clock{border:4px solid #527c6d;border-radius:50%;text-align:center;padding:8px;background:white}.teach,.passage{background:#f6f8e9;border-left:5px solid #83b57c;border-radius:8px;padding:1rem;line-height:1.6}.task{border-top:1px solid #dae8dc;padding:1rem 0}.prompt{font-weight:900;line-height:1.5}.answer-row{display:flex;flex-wrap:wrap;gap:.5rem}.answer-row input{flex:1;min-width:180px;max-width:100%;padding:.75rem;border:2px solid #aac9bd;border-radius:11px}.answer-row button,.mission-footer button{border:0;border-radius:11px;background:#0f7773;color:white;padding:.7rem 1rem;font-weight:900}.show-answer{margin-top:.6rem;background:white;color:#0f7773;border:2px solid #0f7773;border-radius:11px;padding:.6rem 1rem;font-weight:900}.feedback{min-height:1.4em;font-weight:800}.feedback.correct{color:#08734d}.feedback.retry{color:#a55026}.solution,.project-check{background:#f9f1d7;border-left:4px solid #d9a33e;border-radius:8px;padding:.7rem 1rem;line-height:1.5}.project{background:#e9f6ec;border:2px solid #b8d9c4;border-radius:13px;padding:1rem;line-height:1.5}.project summary{font-weight:900;cursor:pointer}.mission-footer{display:flex;justify-content:space-between;gap:.5rem;margin-top:1rem}.mission-footer button:disabled{opacity:.45;cursor:default}.source-note{margin:1rem 0;line-height:1.55}.source-note summary{font-weight:900;cursor:pointer}@media(max-width:520px){main{padding:.7rem}.hero,.mission,.source-note{padding:1rem}.unit-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.visual .fractions{grid-template-columns:repeat(4,25px)}}@media(prefers-reduced-motion:reduce){.progress div{transition:none}*{scroll-behavior:auto!important}}

.visual .hundred{display:grid;grid-template-columns:repeat(10,8px);gap:1px}.visual .hundred i{height:8px;background:white;border:1px solid #7db8ac}.visual .hundred i.shade{background:#f2b36c}
.visual .diagram{display:block;width:min(100%,330px);height:auto;max-height:175px}.visual .diagram rect,.visual .diagram polygon,.visual .diagram path{fill:#fff9e6;stroke:#087e7b;stroke-width:3;stroke-linejoin:round}.visual .diagram text{fill:#173d3d;font:bold 16px Nunito,system-ui,sans-serif}.visual .diagram .angle-mark{fill:none;stroke:#e09240;stroke-width:2}
