.map-lesson .page-shell{max-width:1240px}.map-nav{display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:13px}.map-nav a{padding:8px 13px;border:1.5px solid var(--teal);border-radius:7px;color:var(--teal);background:var(--white);text-decoration:none;font-weight:800}.map-nav>span{color:#587080}.map-header{padding:22px 0 18px}.map-header h1{font-size:clamp(25px,3vw,38px)}.map-header p:last-child{font-size:15px;margin:9px 0 0;color:#536e7c}.map-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:18px}.map-steps button{text-align:left;padding:12px;line-height:1.4;border-color:#17324d30}.map-steps b{display:inline-grid;place-items:center;background:#eae4d3;color:var(--ink);width:23px;height:23px;border-radius:50%;margin-right:5px;font-size:12px}.map-steps small{display:block;font-size:11px;font-weight:500;margin:5px 0 0 30px}.map-lab{background:var(--white);border:2px solid var(--ink);border-radius:12px;overflow:hidden;box-shadow:6px 6px #17324d13}.map-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;gap:15px;border-bottom:1px solid var(--line)}.map-heading h2{font-size:24px}.map-heading button{font-size:12px}.map-workbench{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.map-visual{padding:24px;min-width:0}.paper-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;margin-bottom:12px}.paper-heading strong{font-size:21px;color:var(--teal);background:#e9f1e6;padding:4px 10px;border-radius:5px;white-space:nowrap}.map-paper{position:relative;aspect-ratio:21/14;width:100%;border:2px solid #a2ada8;border-radius:5px;overflow:hidden;background-color:#fffef9;background-image:linear-gradient(to right,#667f7e22 1px,transparent 1px),linear-gradient(to bottom,#667f7e22 1px,transparent 1px);background-size:calc(100% / 21) calc(100% / 14);isolation:isolate}.map-paper svg{position:absolute;display:block;overflow:hidden;outline:2px solid #768977;transition:width .45s ease,height .45s ease,left .45s ease,top .45s ease}.map-paper #measure-point{pointer-events:none}.map-paper.measuring #measure-point{pointer-events:all;cursor:ew-resize;touch-action:none}.map-paper.measuring #measure-point:focus{stroke:#f6cf59;stroke-width:8;outline:none}.map-paper.measuring svg{transition:none}.overflow-note{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff4ddeb;color:#9c4527;border:1.5px solid #bd7849;padding:9px 15px;border-radius:6px;text-align:center;font-size:14px;font-weight:800;pointer-events:none;box-shadow:3px 3px #17324d12}.map-dimensions{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:12px 0;font-size:13px}.map-dimensions strong{color:#a1422b}.map-dimensions strong.fits{color:var(--teal)}.map-note{font-size:11px;color:#60747c;line-height:1.7;margin:12px 0}.route-summary{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:14px;border-radius:7px;background:#fff0d4;font-size:13px}.route-summary b{font-size:20px;color:#a44729}.map-controls{padding:24px;background:#f6f0df;border-left:1px solid var(--line);min-width:0}.map-controls h3{font-size:22px;line-height:1.5;margin:0 0 12px}.map-controls p{font-size:14px;line-height:1.8;margin:8px 0 14px}.map-controls h4{margin:18px 0 6px;font-size:17px}.control-label{display:block;font-size:13px;font-weight:800;margin:20px 0 9px}.map-controls select{width:100%;border:1.5px solid #83999c;border-radius:6px;background:var(--white);padding:11px 8px;color:var(--ink);font-size:14px;min-height:46px}.fit-feedback{font-weight:700;color:var(--teal)}.map-callout{background:#fffaf0;border-left:4px solid var(--teal);padding:13px 15px;border-radius:0 6px 6px 0;margin-top:20px}.map-callout strong{font-size:15px}.map-callout p{margin:6px 0 0;font-size:13px}.notation-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.notation-switch button{padding:14px 8px}.notation-switch small{display:block;font-size:12px;font-weight:500}.notation-switch strong{display:block;font-size:23px;margin-top:5px}.notation-reading{min-height:62px;font-weight:700;color:var(--teal)}.given-ratio{padding:12px;background:#fff8e4;border-radius:6px;font-size:16px;margin:10px 0 16px}.given-ratio b{color:#a1482f}.simplify-step{border:1.5px dashed #b4b9a6;border-radius:7px;padding:13px;margin:12px 0;background:#fffdf8}.simplify-step>b{font-size:15px}.step-placeholder{font-size:12px;color:#667780;margin-top:8px}.step-result p{margin:7px 0}.step-result strong{font-size:27px;color:var(--teal);display:block;line-height:1.4}.step-result small{display:block;font-size:12px;color:#5c747e;margin-top:8px}.map-controls #simplify-next{width:100%;margin-top:8px}.text-button{border:0;background:none;text-decoration:underline;color:var(--teal);font-size:12px;display:block;margin:5px auto;padding:6px}.map-controls #simplify-feedback{font-size:13px;margin-bottom:0;color:#9a492e}.unit-scale{background:#fff8e5;border:1.5px dashed #b19d68;border-radius:8px;padding:12px 15px;margin:16px 0}.unit-scale strong{font-size:30px;color:var(--teal)}.unit-scale p{font-size:14px;margin:2px 0}.ruler-ticks{display:flex;justify-content:space-between;color:#5f777e;font-size:11px;margin-top:-4px}.distance-result{display:flex;flex-direction:column;gap:4px;padding:17px;background:#e6f0e5;border-radius:7px;margin:22px 0}.distance-result span{font-size:12px;color:#47695f}.distance-result strong{font-size:26px;color:#087468}.map-guide{display:flex;align-items:center;gap:15px;padding:14px 24px;border-top:1px solid var(--line);background:#f6efdd}.map-guide img{object-fit:contain;flex-shrink:0}.map-guide p{margin:0;font-size:15px}.map-footer-controls{display:flex;align-items:center;gap:15px;justify-content:space-between;margin:24px 0}.map-footer-controls>span{font-size:12px;color:#637980}.map-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.map-summary article{padding:14px;background:#fffdf6;border-radius:7px;border-left:3px solid #d5b656}.map-summary h3{font-size:16px;margin:0}.map-summary p,.map-lesson .teacher-notes>p{font-size:13px;color:#526d79}.map-summary p{margin:8px 0 0}
@media(max-width:950px){.map-workbench{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.map-visual,.map-controls{padding:18px}.paper-heading{flex-wrap:wrap}.map-controls h3{font-size:20px}.map-steps small{margin-left:0}.notation-switch strong{font-size:20px}.distance-result strong{font-size:23px}}
@media(max-width:700px){.map-nav>span{display:none}.map-header{padding:18px 0}.map-header h1{font-size:25px}.map-header p:last-child{font-size:14px}.map-steps{grid-template-columns:1fr 1fr;gap:7px}.map-steps button{font-size:14px;padding:10px}.map-steps small{font-size:10px}.map-heading{padding:15px}.map-heading h2{font-size:20px}.map-workbench{grid-template-columns:1fr}.map-controls{border-left:0;border-top:1px solid var(--line)}.map-visual,.map-controls{padding:18px 15px}.paper-heading{font-size:11px}.paper-heading strong{font-size:19px}.map-dimensions{font-size:12px}.route-summary{gap:8px;padding:10px;font-size:12px}.route-summary b{font-size:17px}.overflow-note{font-size:12px;padding:7px 12px}.map-guide{padding:12px 15px}.map-guide p{font-size:14px}.map-footer-controls{flex-wrap:wrap;gap:10px}.map-footer-controls>span{margin-left:auto}.map-footer-controls #map-next{flex-basis:100%}.map-summary{grid-template-columns:1fr}.map-lesson footer{gap:15px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.map-lesson *{animation:none!important;transition:none!important}}
.map-paper{border:0;outline:2px solid #a2ada8}
