:root{--bg:#f6f7f2;--paper:#fff;--ink:#213d35;--muted:#6b766e;--line:#dfe5dc;--green:#28634d;--lime:#d8edab;--orange:#d98251;--blue:#648ab8;--radius:18px;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b85c2b;outline-offset:4px}button{color:inherit}a{color:inherit}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:var(--paper);border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:25px;font-weight:750;letter-spacing:-1px}.brand-mark{background:var(--green);color:var(--lime);width:43px;height:43px;display:grid;place-items:center;border-radius:12px;font-size:31px}.brand-sub{display:block;font-size:9px;letter-spacing:1.8px;margin-top:5px;font-weight:650}.top-actions{display:flex;align-items:center;gap:14px}.school-tag{font-size:12px;color:var(--muted);margin-right:14px}.quiet{border:1px solid var(--line);background:white;border-radius:8px;padding:10px 13px;font-size:12px;font-weight:600}.quiet:hover{background:var(--bg)}.app-layout{max-width:1540px;margin:auto;display:grid;grid-template-columns:265px minmax(0,1fr);min-height:calc(100vh - 92px)}.sidebar{padding:38px 24px;border-right:1px solid var(--line)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--muted);margin:0 0 22px}.sidebar .eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:20px}nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;text-align:left;gap:12px;padding:14px 10px;border:0;background:transparent;border-radius:10px;width:100%}.nav-item.active{background:#e6eddf;color:var(--green)}.nav-number{font-size:11px;border:1px solid #cdd7c8;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;flex-shrink:0}.active .nav-number{background:var(--green);color:white;border-color:var(--green)}.nav-item strong{display:block;font-size:13px}.nav-item small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.sidebar-note{margin-top:45px;padding:20px 15px;background:#edf0e8;border:1px solid var(--line);border-radius:12px}.note-icon{font-size:27px;display:block;margin-bottom:10px}.sidebar-note strong{font-size:12px}.sidebar-note p{font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:0}.print-button{width:100%;background:transparent;border:1px solid #cdd7c8;border-radius:8px;padding:13px 6px;margin-top:25px;font-size:11px;font-weight:600}.offline-note{font-size:10px;text-align:center;color:var(--muted);margin-top:15px}main{padding:43px 48px 25px;min-width:0;max-width:1200px}.lesson-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:29px}.lesson-heading .eyebrow{color:var(--green);margin-bottom:13px}h1{font-size:clamp(29px,3vw,43px);letter-spacing:-1.7px;line-height:1.15;margin:0 0 15px;font-weight:650}.intro{font-size:14px;color:var(--muted);line-height:1.8;max-width:650px;margin:0}.lesson-badge{height:68px;width:68px;border:1px solid #d2deca;border-radius:50%;display:grid;place-items:center;font-size:27px;background:#edf1e6;flex-shrink:0}.panel{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:27px 30px;margin-bottom:20px}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}h2{font-size:18px;letter-spacing:-.5px;margin:0}h3{font-size:15px;margin:0 0 12px}.pill{font-size:10px;padding:7px 10px;border-radius:20px;background:#eef3e6;color:var(--green);white-space:nowrap}.controls{display:flex;gap:28px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.control{flex:1;min-width:160px}.control label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:650;margin-bottom:12px;gap:10px}.control label output{font-size:18px;color:var(--green)}input[type=range]{width:100%;accent-color:var(--green);height:8px;cursor:pointer}.control small{display:block;color:var(--muted);font-size:10px;margin-top:10px;line-height:1.6}.range-ends{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:6px}.whole-label{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin:0 0 9px}.whole-label:before,.whole-label:after{content:"";height:1px;background:#c8d4c0;flex:1}.bar-row{display:grid;grid-template-columns:minmax(0,1fr) 60px;align-items:center;gap:20px;margin:18px 0}.bar{display:flex;width:100%;height:72px;overflow:hidden;border:1px solid #b8c6b0;border-radius:7px;background:#f1f3ed;position:relative}.bar .part{flex:1;min-width:0;border:0;box-shadow:inset -1px 0 #a9bc9d;background:transparent;padding:0;border-radius:0;position:relative}.bar .part:last-child{box-shadow:none}.bar .part.filled{background:var(--lime)}.bar.blue .part.filled{background:#c1d6ed}.bar.orange .part.filled{background:#f1c6a9}.bar .part.interactive:hover{filter:brightness(.93)}.bar .part:focus-visible{outline:3px solid #173f35;outline-offset:-4px;z-index:1}.bar .part.group-end{box-shadow:inset -3px 0 var(--green)}.frac{display:inline-grid;grid-template-rows:1fr 1fr;text-align:center;vertical-align:middle;line-height:1.15;min-width:22px;font-size:24px;font-weight:650}.frac span:first-child{border-bottom:2px solid currentColor;padding:0 5px 4px}.frac span:last-child{padding:4px 5px 0}.frac.small{font-size:17px;min-width:20px}.graph-caption{font-size:11px;color:var(--muted);line-height:1.7;margin:16px 0 0}.legend{display:flex;gap:20px;font-size:10px;color:var(--muted);margin-top:18px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;background:var(--lime);border:1px solid #9cb78b;border-radius:2px}.swatch.empty{background:#f1f3ed}.callout{border-left:3px solid var(--green);padding:16px 20px;background:#f0f5e9;border-radius:0 10px 10px 0;margin-top:23px;font-size:13px;line-height:1.7}.callout p{margin:5px 0 0;color:#4f6659;font-size:12px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-card{border:1px solid var(--line);border-radius:14px;padding:21px;background:#fff}.info-card .eyebrow{margin-bottom:10px;font-size:9px}.info-card p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.equation{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:22px 0;font-size:20px}.equation .operator{color:var(--muted);font-weight:400}.tag{font-size:11px;background:#f0f3e9;padding:8px 12px;border-radius:6px;color:var(--green)}.primary{border:0;border-radius:9px;background:var(--green);color:#fff;padding:12px 18px;font-size:12px;font-weight:650}.primary:hover{background:#184e39}.secondary{border:1px solid #c9d5c0;border-radius:9px;background:#f5f8ef;padding:11px 17px;font-size:12px;font-weight:600}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.multiple-row{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0 18px;align-items:center}.multiple-label{font-size:11px;width:80px}.number-chip{font-size:11px;display:inline-grid;place-items:center;min-width:30px;height:30px;background:#f1f3ed;border-radius:6px}.number-chip.highlight{background:var(--green);color:white;font-weight:700}.step-label{font-size:10px;font-weight:700;color:var(--green);letter-spacing:1px;margin:24px 0 8px;text-transform:uppercase}.inline-note{font-size:12px;line-height:1.8;color:var(--muted)}.reveal{animation:appear .3s ease}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.lesson-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;font-size:9px;letter-spacing:.7px;color:var(--muted)}.footer-dot{padding:0 9px}.text-button{background:transparent;border:0;color:var(--green);font-size:12px;font-weight:650;padding:9px 0}.quiz-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:23px}.answer{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px;min-height:74px;display:flex;justify-content:center;align-items:center;gap:12px}.answer:hover{background:#f0f5e9;border-color:var(--green)}.answer[aria-pressed=true]{background:#e6efdb;border:2px solid var(--green)}.feedback{margin-top:18px;padding:16px 20px;border-radius:10px;background:#f0f3e9;font-size:13px;line-height:1.8}.feedback.retry{background:#fff1e5;color:#794426}.quiz-progress{height:5px;background:#edf0e8;border-radius:8px;margin-bottom:25px;overflow:hidden}.quiz-progress span{display:block;background:var(--green);height:100%;transition:width .3s}.small{font-size:11px;line-height:1.8;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:20px;padding:28px;max-width:660px;width:calc(100% - 32px);color:var(--ink);max-height:88vh}dialog::backdrop{background:#173f3566;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head .eyebrow{margin:0}.teacher-list{padding-left:22px;font-size:13px;line-height:1.8}.teacher-list li{margin-bottom:14px}dialog>p{font-size:13px;line-height:1.8}dialog h2{font-size:26px;margin-top:20px}.skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}#worksheet{display:none}.projection .sidebar,.projection .school-tag{display:none}.projection .app-layout{display:block;max-width:1250px}.projection main{max-width:none}.projection .bar{height:100px}.projection .intro,.projection .inline-note,.projection .callout{font-size:18px}.projection h2{font-size:24px}.projection .control label{font-size:16px}.projection .graph-caption,.projection .callout p{font-size:16px}
@media(min-width:1600px){main{padding-top:50px}.bar{height:85px}}
@media(max-width:1050px){.topbar{padding:0 22px}.school-tag{display:none}.app-layout{grid-template-columns:220px minmax(0,1fr)}main{padding:32px 26px}.sidebar{padding:30px 14px}.panel{padding:24px}.lesson-badge{display:none}}
@media(max-width:720px){.topbar{height:auto;min-height:80px;padding:16px;flex-wrap:wrap;gap:16px}.brand{font-size:23px}.top-actions{gap:8px}.quiet{font-size:11px;padding:9px}.app-layout{display:block}.sidebar{padding:16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.eyebrow,.sidebar-note,.offline-note{display:none}nav{display:flex;overflow:auto;gap:7px;padding:3px}.nav-item{width:auto;white-space:nowrap;padding:10px}.nav-item small{display:none}.nav-item strong{font-size:11px}.nav-number{height:22px;width:22px}.print-button{display:block;max-width:220px;margin:12px 3px 0}main{padding:28px 16px 18px}h1{font-size:31px}.intro{font-size:13px}.panel{padding:21px 17px}.info-grid{grid-template-columns:1fr}.panel-top{align-items:flex-start}.bar-row{gap:12px;grid-template-columns:minmax(0,1fr) 40px}.bar{height:65px}.controls{gap:20px}.control{min-width:120px}.lesson-footer>span{max-width:150px;line-height:1.8}.quiz-choices{gap:9px}.frac{font-size:22px}.projection .bar{height:80px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{body{background:white;color:#111}.topbar,.app-layout,dialog,.skip{display:none!important}#worksheet{display:block;font-size:12px;padding:12mm;line-height:1.6}#worksheet h1{font-size:27px}#worksheet h2{margin:22px 0 12px;font-size:17px}#worksheet .bar{height:36px;print-color-adjust:exact;-webkit-print-color-adjust:exact}#worksheet .bar-row{margin:8px 0;max-width:550px}#worksheet .part.filled{background:#a5b892!important}#worksheet .frac{font-size:18px}.writing-line{border-bottom:1px solid #aaa;height:30px}.print-task{break-inside:avoid;margin-bottom:22px}.print-solutions{break-before:page}.print-solutions p{margin-bottom:16px}}

.unknown-fraction{font-size:26px;text-align:center;font-weight:650}
.number-lab{border-top:3px solid var(--green)}.number-lab-fields{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.number-lab-fields>div{flex:1;min-width:150px}.number-lab-fields label{display:block;font-size:12px;font-weight:650;margin-bottom:9px}.number-lab-fields input{width:100%;padding:12px;border:1px solid #b8c6b0;border-radius:8px;color:var(--ink);background:white}.prime-grid.number-factor-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.number-verification{padding-left:21px;font-size:13px;line-height:1.9}.projection .number-lab-fields label,.projection .number-verification{font-size:18px}
.example-prompt{font-size:13px;font-weight:700;color:var(--green);margin:24px 0 10px}.example-buttons{margin-top:0;margin-bottom:24px}.example-buttons button{min-height:44px;border:2px solid #c9d5c0;transition:background-color .15s,border-color .15s,box-shadow .15s}.example-buttons button:hover{background:#e3edce;border-color:var(--green);box-shadow:0 2px 8px #173f351a}.example-buttons button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white;box-shadow:0 2px 6px #173f3526}.example-buttons button[aria-pressed=true]:hover{background:#184e39;border-color:#184e39}.example-buttons button[aria-pressed=true]::before{content:'✓';margin-right:8px}.secondary:hover,.quiet:hover,.print-button:hover{border-color:var(--green);background:#e8efdd}button:active{filter:brightness(.94)}.projection .example-prompt{font-size:18px}.projection .example-buttons button{font-size:16px}
.prime-foundation{background:#f2f6ed;border:1px solid var(--line);padding:20px;border-radius:12px}.prime-foundation p,.prime-foundation li,.prime-card p{font-size:13px;line-height:1.8}.prime-foundation ol{padding-left:20px}.prime-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.prime-card{padding:20px;background:#fafcf7;border:1px solid var(--line);border-radius:12px;min-width:0}.prime-divisions,.prime-selection{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.7}.prime-divisions caption,.prime-selection caption{font-size:11px;color:var(--muted);text-align:left;margin:0 0 12px}.prime-divisions th,.prime-divisions td,.prime-selection th,.prime-selection td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.prime-divisions th,.prime-selection thead th{font-size:10px;color:var(--muted)}.prime-selection td:last-child{background:#eff5e8}.prime-selection td small{display:block;font-size:11px;color:#52694e;margin-top:6px;max-width:240px}.prime-expression{overflow-wrap:anywhere}.prime-answer{font-size:21px;line-height:1.8;color:var(--green);overflow-wrap:anywhere}.prime-table-scroll{overflow-x:auto}.projection .prime-foundation p,.projection .prime-foundation li,.projection .prime-card p,.projection .prime-selection{font-size:18px}.projection .prime-answer{font-size:28px}@media(max-width:720px){.prime-grid{grid-template-columns:1fr}.prime-card,.prime-foundation{padding:16px}.prime-selection th,.prime-selection td{padding:8px 6px}.prime-answer{font-size:18px}}
.topic-group{border-bottom:1px solid var(--line);padding-bottom:14px}.topic-group>summary{cursor:pointer;font-size:15px;font-weight:750;padding:12px 8px;color:var(--green)}.topic-group>summary small{font-size:10px;font-weight:450;color:var(--muted);margin-left:12px}.topic-group nav{margin-top:12px}.subject-breadcrumb{display:flex;gap:10px;align-items:center;margin:0 0 24px;color:var(--muted);font-size:11px}.subject-breadcrumb strong{font-weight:600;color:var(--green)}.theory-card{padding:27px 30px;margin-bottom:26px;background:#edf3e6;border:1px solid #cfddc2;border-radius:var(--radius)}.theory-card>.eyebrow{margin-bottom:12px;color:var(--green)}.theory-card h2{font-size:21px;line-height:1.4}.theory-definition{font-size:15px;line-height:1.8;margin:16px 0 20px}.theory-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.theory-grid h3{font-size:13px;margin-bottom:10px}.theory-grid p,.theory-grid li{font-size:13px;line-height:1.8;margin:0 0 9px}.theory-grid ol{padding-left:20px;margin:0}.theory-example{background:#ffffffb3;padding:18px;border-radius:10px;border:1px solid #d9e3d0}.theory-remember{font-size:12px;line-height:1.8;border-top:1px solid #cddcc1;padding-top:16px;margin:18px 0 0}.projection .theory-definition{font-size:20px}.projection .theory-grid p,.projection .theory-grid li,.projection .theory-remember{font-size:17px}.projection .theory-grid h3{font-size:18px}@media(max-width:720px){.topic-group{border:0;padding:0}.topic-group>summary{padding:4px 7px 10px}.topic-group nav{margin-top:0}.theory-card{padding:21px 17px}.theory-grid{grid-template-columns:1fr;gap:14px}.theory-definition{font-size:14px}.theory-card h2{font-size:19px}.subject-breadcrumb{margin-bottom:18px}}
.simplify-presets{margin:0 0 26px}.info-grid+.panel{margin-top:20px}.simplify-chain{padding:20px 0;border-bottom:1px solid var(--line)}.simplify-try{margin-top:24px;border:1px solid var(--line);border-radius:10px;padding:16px}.simplify-try summary{cursor:pointer;font-size:13px;font-weight:650}.simplify-try label{font-size:12px}.simplify-try input{width:75px;padding:10px;border:1px solid #b8c6b0;border-radius:8px;background:white;color:var(--ink)}#simplify-status{font-size:12px}.projection .simplify-try summary,.projection #simplify-status{font-size:18px}
.operation-control{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.operation-control label{font-size:13px;font-weight:650}.operation-control select{padding:11px 15px;border:1px solid #b8c6b0;border-radius:9px;background:white;color:var(--ink);max-width:100%}.bar .part.removed,.swatch.removed{background:repeating-linear-gradient(135deg,#f8e1d1 0,#f8e1d1 5px,#cf8c64 5px,#cf8c64 7px)}.difference-line{display:block;width:100%;max-width:750px;margin:20px auto;color:var(--ink);font:17px Segoe UI,Arial,sans-serif}.operation-result{margin-top:26px}.projection .operation-control label,.projection .operation-control select{font-size:18px}
.conversion-heading{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.conversion-heading h3{margin:0}.conversion-value{display:flex;flex-direction:column;align-items:center;gap:10px}.conversion-value .conversion-label{max-width:150px;text-align:center}.conversion-heading .frac{font-size:27px}.conversion-arrow{font-size:28px;color:var(--green)}@media(max-width:720px){.conversion-heading{gap:16px}.conversion-heading h3{flex-basis:100%}.conversion-value .conversion-label{max-width:120px;font-size:8px}.conversion-heading .frac{font-size:25px}}
.conversion{margin-top:24px;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:12px;padding:22px;background:#fafcf7}.conversion.blue{border-top-color:var(--blue);background:#f8fafc}.conversion-steps{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.conversion-steps>div{background:white;border:1px solid var(--line);border-radius:9px;padding:15px}.conversion-label{font-size:9px;font-weight:700;letter-spacing:.6px;line-height:1.7;display:block}.conversion-calculation{font-size:25px;margin:12px 0 0;letter-spacing:-.6px}.conversion-calculation strong{color:var(--green)}.conversion .small{margin:9px 0 0}.conversion .bar{height:64px}.conversion-summary{font-size:13px;line-height:1.8;margin:0}.projection .conversion-calculation{font-size:32px}.projection .conversion-summary{font-size:18px}@media(max-width:720px){.conversion{padding:16px 12px}.conversion-steps{grid-template-columns:1fr;gap:10px}.conversion .equation{gap:10px}.conversion .frac{font-size:19px}}
.print-button{display:block;text-align:center;text-decoration:none}.worksheet-page #worksheet{display:block;background:white;max-width:850px;margin:24px auto;padding:40px}.worksheet-page h1{font-size:30px}.worksheet-page h2{margin:24px 0 16px}.worksheet-page p{font-size:13px;line-height:1.8}.print-toolbar{max-width:850px;padding:22px;margin:auto;display:flex;gap:20px;flex-wrap:wrap;align-items:center}.print-toolbar a{font-size:13px}.print-toolbar p{margin:0;width:100%}.writing-line{border-bottom:1px solid #aaa;height:30px}.print-task{margin-bottom:28px}.print-solutions{margin-top:50px;border-top:1px solid var(--line);padding-top:24px}
@media print{.print-toolbar{display:none}.worksheet-page #worksheet{margin:0;max-width:none;padding:8mm}.print-solutions{border:0;margin:0;padding:0}.worksheet-page #worksheet h2{margin:16px 0 10px}.worksheet-page #worksheet p{font-size:11px;margin:8px 0}.worksheet-page #worksheet .bar{height:32px}.print-task{margin-bottom:14px}.writing-line{height:22px}}
@media(max-width:600px){.worksheet-page #worksheet{padding:20px;margin:16px}.print-toolbar{padding:16px}.worksheet-page h1{font-size:26px}}
