.fraction-lesson{box-sizing:border-box;width:min(880px,calc(100% - 24px));max-height:calc(100dvh - 28px);padding:28px;border:0;border-radius:18px;color:#173152;background:#fff;font:17px/1.6 Inter,system-ui,sans-serif;box-shadow:0 24px 100px #13274155}.fraction-lesson::backdrop{background:#102345a8}.fraction-lesson *{box-sizing:border-box}.fraction-lesson button{font:inherit;font-size:15px;border:1px solid #bdcde4;border-radius:9px;background:white;color:#173152;padding:10px 14px;min-height:44px;cursor:pointer}.fraction-lesson button:disabled{opacity:.5;cursor:default}.fraction-lesson button:focus-visible{outline:3px solid #f0a920;outline-offset:3px}.fraction-lesson button[aria-pressed=true],.fraction-lesson .fl-primary{background:#215dcc;color:#fff;border-color:#215dcc}.fl-top,.fl-bottom,.fl-motion{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fl-top>span,.fl-small{font-size:14px;color:#4e6381}.fl-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.fl-tabs button{flex:1 1 150px;text-align:left}.fl-heading h2{font-size:28px;line-height:1.25;margin:8px 0 12px}.fl-heading p{margin:8px 0}.fl-stage{margin:18px 0 8px;padding:12px;background:#f2f6fd;border-radius:12px}.fl-stage svg{display:block;width:100%;height:auto;max-height:280px}.fl-equation{font-size:21px;font-weight:700;line-height:1.45;padding:15px 18px;background:#e9f3ff;border-radius:10px;overflow-wrap:anywhere}.fl-motion{justify-content:flex-start;margin:16px 0}.fl-motion-status{font-size:14px;color:#4e6381;flex:1 1 240px}.fl-bottom{border-top:1px solid #d8e2f0;padding-top:18px;margin-top:20px}.fl-practice{padding:20px 0 4px}.fl-practice h3{font-size:18px;margin:0 0 12px}.fl-practice p{margin:12px 0}.fl-pieces,.fl-choices{display:flex;flex-wrap:wrap;gap:10px}.fl-pieces button{flex:1 1 80px;min-height:65px;font-weight:700}.fl-overlap{display:grid;grid-template-columns:repeat(3,1fr);max-width:360px;gap:0;margin:auto}.fl-overlap button{border:1px solid #8cabc7;border-radius:0;min-height:48px;background:#fff}.fl-overlap button.in-rows{background:#dce8fa}.fl-overlap button.in-columns{border-left:3px dashed #087b72;border-right:3px dashed #087b72}.fl-overlap button:nth-child(-n+3){border-top:4px solid #215dcc}.fl-overlap button:nth-child(n+7):nth-child(-n+9){border-bottom:4px solid #215dcc}.fl-overlap button[aria-pressed=true]{background:#087b72;color:white}.fl-entry{display:block;padding:14px 18px;margin:14px 0;border:1px solid #b9cceb;border-radius:10px;background:#eff5ff;color:#174595;font:inherit;text-align:left;cursor:pointer}.fl-entry strong,.fl-entry span{display:block}.fl-entry span{font-size:14px;margin-top:4px}.ac-actions .fl-entry{margin:0}.fraction-lesson [hidden]{display:none!important}@media(max-width:600px){.fraction-lesson{padding:18px;font-size:16px}.fl-heading h2{font-size:24px}.fl-equation{font-size:18px}.fl-top .fl-close{width:100%}.fl-tabs button{flex-basis:40%;font-size:14px}.fl-stage{padding:0}.fl-bottom button{flex:1 1 40%}.fl-top>span{font-size:14px}.fl-motion button{flex:1}.fl-choices button{width:100%}}

.fl-stage .fl-practice{padding:12px}.fl-pieces{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid #173152;margin:20px 0}.fl-pieces button{border-radius:0;min-width:0;padding:8px 4px;border:1px solid #9aacc7;font-size:15px}.fl-pieces.subtract button:not(:disabled){background:#215dcc;color:white}.fl-pieces.subtract button[aria-pressed=true]{background:#f7e2dc;color:#963b27;text-decoration:line-through}.fl-pieces.subtract button:disabled{opacity:1;background:white;color:#526582}.fl-overlap{position:relative}.fl-overlap:before,.fl-overlap:after{content:"";position:absolute;left:0;top:0;pointer-events:none;box-sizing:border-box}.fl-overlap:before{width:100%;height:75%;border:4px solid #215dcc}.fl-overlap:after{width:66.666667%;height:100%;border:3px dashed #087b72}.fl-overlap button.in-columns,.fl-overlap button:nth-child(-n+3),.fl-overlap button:nth-child(n+7):nth-child(-n+9){border:1px solid #8cabc7}.fl-stage .fl-practice>svg{max-height:225px}

.fl-live-subtraction{padding:16px 10px;background:#fff;border:1px solid #bed0ec;border-radius:10px;margin:18px 0}.fl-math-row{display:flex;align-items:center;justify-content:center;gap:clamp(8px,3vw,26px)}.fl-math-term{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.fl-math-term small{font-size:14px;font-weight:600;text-align:center;line-height:1.25}.fl-stacked-fraction{display:inline-flex;flex-direction:column;text-align:center;font-size:28px;font-weight:700;line-height:1.15;min-width:36px}.fl-stacked-fraction>span:first-child{border-bottom:2px solid currentColor;padding:0 8px 4px}.fl-stacked-fraction>span:last-child{padding:4px 8px 0}.fl-math-operator{font-size:26px;padding-top:27px}.fl-accessible-equation{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.fl-pieces.subtract button[aria-pressed=true]{text-decoration:none}@media(max-width:400px){.fl-live-subtraction{padding:14px 5px}.fl-math-row{gap:8px}.fl-math-term small{max-width:74px}.fl-pieces.subtract button{font-size:14px;overflow-wrap:normal}}

.fl-question{margin:16px 0 20px;padding:14px 18px;background:#e9f3ff;border-left:4px solid #215dcc;border-radius:8px}.fl-question>span{display:block;font-size:14px;color:#385577;margin-bottom:4px}.fl-question>strong{display:block;font-size:25px;line-height:1.4;color:#173152;overflow-wrap:anywhere}@media(max-width:600px){.fl-question{padding:12px 14px}.fl-question>strong{font-size:22px}}

/* Visited steps are exploration, not evidence of mastery. */
.fc-app .fc-step-dots a.lesson-step-explored{background:#d1fae5;color:#166534;border-color:#15803d}
.fc-app .fc-step-dots a[aria-current="step"]{background:#6d28d9;color:#fff;border-color:#6d28d9;box-shadow:0 0 0 3px #ede9fe;font-weight:800}
