@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');:root{--ink:#233d40;--teal:#28565b;--gold:#b98b4d;--paper:#fbf8f1;--muted:#657674;--line:#ded8c9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.75 'DM Sans',Arial,sans-serif}a{color:var(--teal)}header{background:#183b40;color:white;padding:14px max(22px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}header a{color:white;text-decoration:none;font-size:14px}nav{display:flex;gap:18px;flex-wrap:wrap}main{max-width:1050px;margin:auto;padding:35px 24px 80px}h1,h2,h3,.serif{font-family:'Libre Baskerville',Georgia,serif;line-height:1.35}h1{font-size:clamp(2.4rem,5vw,4.3rem);letter-spacing:-.035em;margin:16px 0}h2{font-size:1.7rem;margin-top:50px}h3{font-size:1.12rem}p{max-width:75ch}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:700;color:#927042}.hero{padding:55px 0 36px}.lead{font-size:1.2rem;color:#4f6664}.button{display:inline-block;padding:11px 18px;border-radius:7px;background:var(--teal);color:white;text-decoration:none;font-weight:600;border:0;cursor:pointer}.button.light{background:#e7e8dc;color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:17px}.tile,.panel{border:1px solid var(--line);border-radius:12px;background:white;padding:24px}.tile{display:block;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}.tile:hover{transform:translateY(-3px);border-color:var(--gold)}.tile small{color:#8b6d42;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.tile h3{margin:12px 0 7px}.panel{margin:20px 0}.narrative{font:1.2rem/2 'Libre Baskerville',Georgia,serif;background:#f0ebdf;border-left:4px solid var(--gold);padding:25px 30px;border-radius:4px}.crumb{font-size:13px;color:var(--muted)}.chapter-nav{display:flex;justify-content:space-between;gap:20px;margin-top:50px}.map{position:relative;background:radial-gradient(ellipse at 20% 30%,#e9dfc8,transparent 55%),linear-gradient(130deg,#f1e9d8,#dce9df);border:1px solid #d5cbb6;border-radius:15px;padding:32px 22px}.map-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:center}.map-node{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--ink);gap:10px;font-size:11px;line-height:1.3}.map-node span{display:grid;place-items:center;border-radius:50%;width:47px;height:47px;background:#28565b;color:white;font:700 18px Georgia}.map-node:not(:last-child):after{content:'→';position:absolute;display:none}.model{background:#f2f4ee;padding:20px;border-radius:10px}.fractionbar{display:flex;gap:2px;margin:12px 0}.fractionbar span{flex:1;height:48px;border:2px solid #28565b;background:white}.fractionbar span.filled{background:#9abeb4}.controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.controls label{font-weight:700}.controls input{accent-color:#28565b}footer{padding:30px;text-align:center;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.note{font-size:14px;color:var(--muted)}.question{border-left:3px solid var(--gold);padding:8px 20px;background:#f8f2e6}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:700}@media(max-width:650px){.map-grid{grid-template-columns:repeat(2,1fr)}header{padding:15px 20px}.chapter-nav{flex-direction:column}}@media print{header,nav,.button,.chapter-nav{display:none!important}body{background:white}main{padding:0}.panel{break-inside:avoid}}
.learning-sequence h3{margin-top:26px}.learning-sequence h3:first-child{margin-top:0}.learning-sequence{overflow-wrap:anywhere}summary:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:480px){.panel{padding:18px}.narrative{padding:20px}.controls input{max-width:100%}svg{max-width:100%;height:auto}.chapter-nav a{overflow-wrap:anywhere}}

/* Connected fraction models and teacher decisions */
.model-panel h2{margin-top:0}.model-panel svg{display:block;width:100%;max-width:720px;height:auto;margin:20px auto;font:16px Arial,sans-serif;color:var(--ink)}.connected-table{width:100%;border-collapse:collapse}.connected-table th,.connected-table td{padding:12px;border:1px solid #a4b4b0;text-align:center;vertical-align:middle}.connected-table caption{text-align:left;font-weight:700;padding-bottom:10px}.table-scroll{overflow-x:auto}.teaching-cues dt{font-weight:700;margin-top:18px}.teaching-cues dd{margin:5px 0 15px}.error-study{border-left:3px solid var(--gold);padding:2px 18px;margin:24px 0}.error-study blockquote{margin:12px 0;font-weight:600}.preset-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.preset-controls button{font:inherit;color:var(--ink);border:1px solid var(--teal);background:#f0f5f2;border-radius:6px;padding:8px 16px;cursor:pointer}.controls label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.controls input{min-height:32px}.model-panel input:focus-visible{outline:3px solid var(--gold)}@media(max-width:500px){.connected-table th,.connected-table td{padding:7px;font-size:14px}.model-panel svg{min-width:0}}@media print{.preset-controls,.controls{display:none}.model-panel{break-inside:avoid}.teaching-cues{break-inside:avoid}}

.diagram-scroll,#fraction-model{overflow-x:auto}.model-panel svg{min-width:560px}.diagram-scroll:focus-visible{outline:3px solid var(--gold)}@media print{.model-panel svg{min-width:0}.diagram-scroll,#fraction-model{overflow:visible}}
