.fc-app{--fc-purple:#6551a1}.fc-start{display:flex;gap:24px;align-items:center;background:#e6efdf;padding:22px;border-radius:14px;margin:24px 0}.fc-start>span{font-size:14px}.fc-progress{font-size:48px;font-weight:800;line-height:1;text-align:center;color:#166a54}.fc-progress small{display:block;font-size:13px;margin-top:10px;font-weight:600}.fc-chapter{margin-top:38px}.fc-chapter>h2{display:flex;align-items:center;gap:14px;font-size:25px}.fc-chapter>h2>span{background:#1b6a59;color:white;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:18px;flex-shrink:0}.fc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fc-card{background:#fffef9;border:1px solid #c9d8cc;padding:24px;border-radius:16px;display:flex;align-items:flex-start;flex-direction:column}.fc-card.complete{background:#e8f4e4;border:2px solid #4b925c}.fc-level{font-size:12px;letter-spacing:1px;color:#587460}.fc-card h3{font-size:22px;line-height:1.25;margin:14px 0 12px}.fc-card p{font-size:15px;color:#526a5a}.fc-card>.fw-btn{margin-top:auto}.fc-tick{display:inline-grid;place-items:center;width:28px;height:28px;background:#258342;color:white;border-radius:50%;font-size:20px}.fc-labs{margin-top:34px;padding:26px;background:#f2ead9;border:1px solid #d1c19e;border-radius:16px}.fc-visual{background:#f1f4e9;border-radius:15px;padding:22px;margin:24px 0}.fc-visual svg{display:block;width:100%;max-width:760px;margin:auto;overflow:visible}.fc-visual text{font-family:inherit;font-size:17px;fill:#254e40;font-weight:600}.fc-visual .fc-tick{font-size:13px;font-weight:400}.fc-centre{text-anchor:middle}.fc-visual-caption{font-size:14px;color:#4e6859;margin:18px 0 0}.fc-equation{background:#e3eee2;padding:20px 24px;border-left:4px solid #197263;font-size:23px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}.fc-motion{display:flex;align-items:center;gap:18px;margin-top:20px}.fc-motion>span{font-size:12px;color:#61796a}.fc-motion .fw-btn{font-size:14px}.fc-prereq{font-size:14px;color:#4f6859;display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:24px}.fc-prereq .fw-btn{font-size:12px;padding:6px 12px;min-height:34px}.fc-replay .fc-cell{animation:fc-arrive .55s ease backwards;animation-delay:var(--delay,0ms)}@keyframes fc-arrive{from{opacity:.1}to{opacity:1}}.fc-group-key{display:flex;gap:20px;justify-content:space-between;font-size:16px;margin-bottom:20px}.fc-groups{display:flex;flex-wrap:wrap;gap:20px}.fc-group{width:100px;display:flex;align-items:center;flex-direction:column;font-size:12px;gap:10px;text-align:center}.fc-vessel{width:70px;height:90px;border:2px solid #527c63;position:relative;background:white;border-radius:0 0 12px 12px;overflow:hidden}.fc-vessel>span{position:absolute;bottom:0;left:0;right:0;background:#307e68}.fc-counters svg{max-width:560px}.fc-hundred{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;width:250px;max-width:100%;margin:auto}.fc-hundred i{aspect-ratio:1;background:white;border:1px solid #afc5b6}.fc-hundred i.on{background:#1d7b66}.fc-app .fw-cue{max-width:850px}@media(max-width:800px){.fc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.fc-cards{grid-template-columns:1fr}.fc-start{align-items:flex-start;flex-direction:column;gap:12px}.fc-progress{display:none}.fc-visual{padding:16px 10px}.fc-equation{font-size:19px;padding:16px}.fc-motion{flex-wrap:wrap;gap:10px}.fc-group-key{flex-direction:column;gap:8px}.fc-visual text{font-size:19px}.fc-card{padding:22px}}
@media(prefers-reduced-motion:reduce){.fc-app *{animation:none!important;transition:none!important}}
.fc-chapter-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.fc-chapter-links a{padding:10px 14px;border:1px solid #b8cdba;border-radius:8px;text-decoration:none;color:#215d48;font-size:14px;font-weight:700}.fc-chapter{scroll-margin-top:24px}.fc-status{display:flex;align-items:center;gap:9px;color:#286837;font-size:14px;margin:10px 0 18px}.fc-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.fc-card-actions .fw-btn{padding:9px 16px}.fc-evidence{font-size:13px;color:#4d6b57;margin-top:16px;line-height:1.6}.fc-card .fc-text-link{border:0;background:transparent;padding:10px 0;min-height:40px;font-size:14px;color:#256640}.fc-scope{margin-top:32px;color:#496650;font-size:15px;line-height:1.7}.fc-scope summary{cursor:pointer;font-weight:700;font-size:16px}.fc-step-dots{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.fc-step-dots a{display:grid;place-items:center;width:35px;height:35px;border:1px solid #9dbda7;border-radius:50%;color:#305e48;text-decoration:none;font-size:14px}.fc-step-dots a.current{background:#1c6b57;color:white}.fc-after-lesson{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.fc-practice fieldset{padding:0;margin:0;border:0}.fc-practice legend{font-size:19px;font-weight:700;margin-bottom:15px}.fc-answer-row{display:flex;align-items:center;gap:12px}.fc-answer-row input{font:inherit;font-size:22px;max-width:100%;width:270px;min-width:0;border:2px solid #6a9980;padding:14px 17px;border-radius:10px;background:#fffef9;color:#173e35}.fc-practice #fc-answer-help{font-size:14px;line-height:1.5;margin:12px 0 20px;color:#4d6b57}.fc-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.fc-choices label{display:flex;align-items:center;gap:12px;border:1px solid #96b8a0;border-radius:10px;padding:16px;cursor:pointer;background:#fffef9;font-size:18px}.fc-choices label:has(:checked){background:#e2efda;border:2px solid #397c56;padding:15px}.fc-choices input{width:20px;height:20px;flex-shrink:0;accent-color:#287654}.fc-feedback:not(:empty){padding:20px;border:1px solid #c49a50;background:#fff4d5;border-radius:12px;margin-top:22px;line-height:1.6}.fc-feedback.correct{background:#e2f3dc;border-color:#65915b}.fc-feedback p{margin:10px 0 0}.fc-help-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.fc-guidance{background:#edf0e4;border-left:4px solid #799757;padding:18px 22px;margin:20px 0;line-height:1.7}.fc-guidance p{margin:8px 0 0}.fc-check-note{font-size:15px;color:#526a5c;margin:0 0 24px;padding:12px 18px;background:#edf1e9;border-radius:10px}.fc-summary{padding:48px;background:#fffef9;border:1px solid #b8ceba;border-radius:20px;max-width:800px;margin:30px auto;text-align:center}.fc-summary h1{font-size:32px}.fc-summary p{line-height:1.7}.fc-big-tick{font-size:46px;width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:#dff1d7;color:#237638;margin:0 auto 20px}.fc-summary-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:28px 0}.fc-still *{animation:none!important;transition:none!important}.fc-app :focus-visible{outline:3px solid #315aca;outline-offset:4px}.fc-bar-row{margin-bottom:16px}.fc-bar-row>strong{display:block;font-size:16px;margin-bottom:10px}.fc-visual .fc-bar-row svg{max-width:none}.fc-model-readout{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:17px;padding:16px 0 0}.fc-model-readout strong{color:#226b50}.fc-operation .fc-removed{fill:#d88a2d}.fc-operation .fc-kept{fill:#1e7560}.fc-replay .fc-subtract-piece{animation:fc-subtract 1.8s ease both;animation-delay:.45s}.fc-replay .fc-add-piece{animation:fc-add 1.6s ease both;animation-delay:.45s}.fc-replay .fc-unwrap{animation:fc-unwrap 1.8s ease both}.fc-operation text{font-size:23px}@keyframes fc-subtract{from{transform:translateY(-84px);opacity:1}to{transform:translateY(0);opacity:.8}}@keyframes fc-add{from{transform:translateY(84px);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes fc-unwrap{from{stroke-width:0;opacity:.3}to{stroke-width:2;opacity:1}}@media(max-width:520px){.fc-choices{grid-template-columns:1fr}.fc-summary{padding:28px 18px}.fc-answer-row input{width:200px}.fc-step-dots{margin-bottom:20px}.fc-bar-row>strong{font-size:15px}.fc-equation{font-size:18px}.fc-practice .fw-bottom{align-items:stretch}.fc-visual .fc-bar-row text{font-size:26px}.fc-model-readout{font-size:15px}.fc-chapter-links a{font-size:14px;padding:8px}.fc-card .fc-level{font-size:13px}}
@media(prefers-reduced-motion:reduce){.fc-app *{animation:none!important;transition:none!important}}
.fc-replay .fc-vessel>span{transform-origin:bottom;animation:fc-fill 1.15s ease backwards;animation-delay:var(--delay,0ms)}@keyframes fc-fill{from{transform:scaleY(0)}to{transform:scaleY(1)}}.fc-still .fc-vessel>span{animation:none}@media(prefers-reduced-motion:reduce){.fc-replay .fc-vessel>span{animation:none}}
@media(max-width:520px){.fc-visual[data-model="line"] text{font-size:30px}.fc-operation text{font-size:28px}.fc-visual[data-model="area"] text{font-size:28px}.fc-visual[data-model="regroup"] text{font-size:28px}}
.fc-length{width:100px;height:34px;background:white;border:2px solid #527c63;position:relative;border-radius:3px;overflow:hidden}.fc-length>span{position:absolute;left:0;top:0;bottom:0;background:#307e68;transform-origin:left}.fc-replay .fc-length>span{animation:fc-length-fill 1.1s ease backwards;animation-delay:var(--delay,0ms)}@keyframes fc-length-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}.fc-still .fc-length>span{animation:none}@media(prefers-reduced-motion:reduce){.fc-replay .fc-length>span{animation:none}}
.fc-word{font:inherit;color:inherit;background:none;border:0;border-bottom:2px dotted #347359;padding:0;cursor:help;text-align:inherit;line-height:inherit;min-height:0}.fc-word-help{position:fixed;z-index:1000;box-sizing:border-box;padding:16px;background:#173f38;color:white;box-shadow:0 5px 20px #173f3833;border-radius:10px;font-size:16px;line-height:1.5;font-weight:400}.fc-notation{display:flex;align-items:center;gap:28px;margin:0 auto 24px;max-width:580px}.fc-written-fraction{display:flex;flex-direction:column;min-width:85px;text-align:center;font-size:48px;line-height:1.3;font-weight:800}.fc-written-fraction>span{padding:4px 12px}.fc-written-fraction>span:first-child{border-bottom:3px solid #214d40}.fc-written-fraction .active{background:#f9d884;color:#254333;border-radius:6px}.fc-number-labels p{font-size:17px;line-height:1.5;margin:10px 0 20px}.fc-equal-parts{display:flex;border:2px solid #234f3b}.fc-equal-parts>span{flex:1;text-align:center;padding:17px 0;border-right:1px solid #789b86;background:#fffdf5;font-weight:700}.fc-equal-parts>span:last-child{border:0}.fc-equal-parts .selected{background:#21745f;color:white}.fc-name-check{border-top:1px solid #bed2be;margin-top:24px;padding-top:22px;font-size:17px}.fc-name-check>div{display:flex;gap:12px;margin-top:14px}.fc-name-check p{font-size:16px;line-height:1.5}@media(max-width:520px){.fc-notation{gap:16px}.fc-written-fraction{font-size:40px;min-width:65px}.fc-number-labels p{font-size:16px}}
.fc-builder{background:#fffef9;border:1px solid #b6cdbd;border-radius:18px;padding:clamp(20px,4vw,36px);margin:26px 0}.fc-builder h2{font-size:30px;margin:8px 0 12px}.fc-builder>p{line-height:1.6}.fc-builder-controls{padding:20px;border-radius:12px;background:#f1f4e9;margin:22px 0}.fc-builder-controls label{font-weight:700;font-size:18px;display:block}.fc-builder-controls label span{display:block;font-size:15px;font-weight:400;margin-top:6px}.fc-builder-controls>div{display:flex;gap:12px;align-items:center;margin-top:16px}.fc-builder button{font:inherit;cursor:pointer;min-height:46px;border:1px solid #739b84;border-radius:8px;background:white;color:#174e3d;padding:10px 16px;font-weight:700}.fc-builder button:disabled{opacity:.4;cursor:default}.fc-builder output{font-size:27px;font-weight:800;min-width:36px;text-align:center}.fc-builder input[type=range]{display:block;width:100%;height:40px;accent-color:#21745f;margin:12px 0 0}.fc-builder-controls>p{font-size:14px;margin:4px 0}.fc-builder-ribbon{display:flex;width:100%;border:3px solid #21503e;border-radius:6px;overflow:hidden;min-height:96px}.fc-builder .fc-builder-ribbon button{position:relative;flex:1;min-width:0;padding:0;border:0;border-radius:0;color:#305947;background:#f7f5e8;transition:background .25s,color .25s}.fc-builder-ribbon button+button:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:#21503e;transform-origin:top;animation:fc-slice .5s ease both}.fc-builder .fc-builder-ribbon button.selected{background:#21745f;color:white}.fc-builder-ribbon button:focus-visible{outline-offset:-5px}.fc-builder-result{display:flex;align-items:center;gap:24px;padding:24px;background:#e5f0df;border-radius:14px}.fc-builder-result .fc-written-fraction{background:#fffef9;border-radius:10px}.fc-builder-result [data-builder-bottom]{border-radius:0 0 10px 10px}.fc-builder-result strong{font-size:23px}.fc-builder-result p{line-height:1.6}.fc-builder-status{font-size:15px;color:#375d46;min-height:48px}@keyframes fc-slice{from{transform:scaleY(0)}to{transform:scaleY(1)}}@media(max-width:520px){.fc-builder-result{gap:16px;padding:18px 14px}.fc-builder-result strong{font-size:18px}.fc-builder-ribbon{min-height:90px}.fc-builder .fc-builder-ribbon button{font-size:12px}.fc-builder-controls{padding:16px}.fc-builder h2{font-size:26px}}.fc-still .fc-builder *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.fc-builder *{animation:none!important;transition:none!important}}
.fc-explore-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 22px;padding:14px 18px;border:1px solid #b7cfb2;border-radius:12px;background:#e5f0df}.fc-explore-nav>span{font-weight:700;font-size:15px}@media(max-width:520px){.fc-explore-nav{align-items:stretch;flex-direction:column;gap:10px}.fc-explore-nav .fw-btn{justify-content:center;text-align:center}}

.fw-lesson .fc-builder{margin:20px 0 0;padding:0;border:0;background:none}.fw-lesson .fc-builder>.fw-kicker,.fw-lesson .fc-builder>h2{display:none}

.fc-builder-result{position:sticky;top:8px;z-index:5;border:1px solid #96b690;padding:12px 18px;box-shadow:0 3px 12px #173f3812;gap:18px}.fc-builder-result .fc-written-fraction{font-size:30px;min-width:60px;line-height:1.05}.fc-builder-result strong{display:block;font-size:19px;line-height:1.35}.fc-live-label{display:block;font-size:12px;letter-spacing:.05em;margin-bottom:6px;color:#3c6548}.fc-builder [data-builder-meaning]{line-height:1.6}@media(max-width:520px){.fc-builder-result{padding:10px 14px;gap:14px}.fc-builder-result strong{font-size:17px}.fc-builder-result .fc-written-fraction{font-size:28px;min-width:54px}}
/* Keep the fraction readout visible while using the lesson's ribbon controls. */
.fw-lesson:has([data-fraction-builder]){overflow:visible}

.fc-builder-result .fc-written-fraction span{color:#173f38;background:transparent;transition:background-color .2s}.fc-builder-result .fc-written-fraction .fc-number-changed{background:#f9df9e}

.fc-replay .fc-share-piece{animation:fc-share-arrive .7s ease backwards;animation-delay:calc(.4s + var(--delay,0ms))}
.fc-replay .fc-share-strip:not(.fc-share-gone){animation:fc-arrive .5s ease backwards;animation-delay:var(--delay,0ms)}
@keyframes fc-share-arrive{from{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}
.fc-visual .fc-share-label{font-size:15px}@media(max-width:520px){.fc-visual[data-model="share"] text,.fc-visual[data-model="sandwich-sharing"] text{font-size:27px}.fc-visual[data-model="share"] .fc-share-label{font-size:27px}.fc-visual .fc-bar-row text{font-size:28px}}
.fc-still .fc-share-piece,.fc-still .fc-share-strip{animation:none!important}
@media(prefers-reduced-motion:reduce){.fc-share-piece,.fc-share-strip{animation:none!important}}
.fc-sandwich-move{animation:fc-share-piece 1.6s ease both;animation-delay:var(--delay)}
.fc-sandwich-cut{animation:fc-cut-piece .6s ease both}
@keyframes fc-share-piece{from{transform:translate(var(--sx),var(--sy))}to{transform:translate(0,0)}}
@keyframes fc-cut-piece{from{opacity:.5}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.fc-sandwich-move,.fc-sandwich-cut{animation:none}}
.fc-still .fc-sandwich-move,.fc-still .fc-sandwich-cut{animation:none}

.fc-replay .fc-number-line-build .fc-line-base{stroke-dasharray:600;animation:fc-draw-line .65s ease-out both}
.fc-replay .fc-number-line-build .fc-line-tick{animation:fc-show-tick .28s ease-out both;animation-delay:var(--delay)}
.fc-replay .fc-number-line-build .fc-line-point{animation:fc-place-point .8s ease-out 1.55s both}
.fc-replay .fc-number-line-build .fc-line-count{animation:fc-show-label .35s ease-out 2.25s both}
@keyframes fc-draw-line{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}
@keyframes fc-show-tick{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes fc-place-point{from{opacity:0;transform:translateX(calc(-1 * var(--point-x)))}to{opacity:1;transform:translateX(0)}}
@keyframes fc-show-label{from{opacity:0}to{opacity:1}}
.fc-still .fc-number-line-build *{animation:none!important}
@media(prefers-reduced-motion:reduce){.fc-number-line-build *{animation:none!important}}

.fc-practice>.fw-question{display:block;padding:22px 32px}
.fc-practice>.fw-question>span{display:block;margin-bottom:8px}
.fc-practice>.fw-question>strong{display:block;font-size:clamp(24px,3vw,30px);line-height:1.25}
.fc-practice>.fw-question>.fc-short-question{font-size:clamp(34px,5vw,46px);letter-spacing:-.02em}
@media(max-width:520px){.fc-practice>.fw-question{padding:20px}.fc-practice>.fw-question>.fc-short-question{font-size:36px}}

/* Fraction of a collection: the same counters appear, are dealt into equal groups, are selected group by group, then counted. */
.fc-replay .fc-counter-in{animation:fc-arrive .45s ease backwards;animation-delay:var(--delay,0ms)}
.fc-replay .fc-counter-deal{animation:fc-deal .7s ease both;animation-delay:var(--delay,0ms)}
@keyframes fc-deal{from{transform:translate(var(--sx),var(--sy))}to{transform:translate(0,0)}}
.fc-replay .fc-group-choose{animation:fc-choose .6s ease both;animation-delay:var(--delay,0ms)}
@keyframes fc-choose{from{fill:#fffef9;stroke:#749f80;stroke-width:1.5}to{fill:#c8e5cf;stroke:#367d50;stroke-width:3}}
.fc-replay .fc-count-ring{animation:fc-show-label .3s ease both;animation-delay:var(--delay,0ms)}
.fc-replay .fc-count-label,.fc-replay .fc-count-total{animation:fc-show-label .4s ease both;animation-delay:var(--delay,0ms)}
.fc-counters .fc-count-total{font-size:20px;fill:#1f6f52}.fc-counters .fc-frac-label{font-size:14px;fill:#3c6548}
.fc-still .fc-counters *{animation:none!important}
@media(prefers-reduced-motion:reduce){.fc-counters *{animation:none!important}}
@media(max-width:520px){.fc-visual[data-model="set"] text{font-size:19px}.fc-visual[data-model="set"] .fc-count-total{font-size:21px}.fc-visual[data-model="set"] .fc-frac-label{font-size:19px}}
.fc-practice legend .fc-answer-question{display:block;font-size:clamp(24px,3vw,32px);line-height:1.3;margin-bottom:12px;color:#173f38}
.fc-practice legend .fc-answer-label{display:block;font-size:16px;font-weight:600}
.fc-replay .fc-unlike-third{animation:fc-unlike-third 2s ease .5s both}
.fc-replay .fc-unlike-quarter{animation:fc-unlike-quarter 2s ease 1s both}
@keyframes fc-unlike-third{from{transform:translateY(-230px)}to{transform:translateY(0)}}
@keyframes fc-unlike-quarter{from{transform:translate(-200px,-128px)}to{transform:translate(0,0)}}
.fc-still .fc-unlike-third,.fc-still .fc-unlike-quarter{animation:none!important}
/* Part of a part: the kept overlap darkens column by column after the rows are shown, so the change is visible. */
.fc-replay .fc-area-kept{animation:fc-darken .5s ease both;animation-delay:var(--delay,0ms)}
@keyframes fc-darken{from{fill:#b5d6ce}to{fill:#146d61}}
.fc-still .fc-area-kept{animation:none!important}
@media(prefers-reduced-motion:reduce){.fc-area-kept{animation:none!important}}
.fc-hundred i.half{background:linear-gradient(90deg,#1d7b66 50%,white 50%)}
.fc-gap{display:inline-block;width:.22em}
/* A chosen option that was marked wrong must not look like a confirmed answer. */
.fc-wrong .fc-choices label:has(:checked){background:#fff4d5;border:2px solid #c49a50}
.fc-replay .fc-share-piece.fc-static,.fc-replay .fc-share-strip.fc-static{animation:none!important}
/* Worked solutions: calculation rows with stacked fractions, notes between them. */
.fc-working{display:flex;flex-direction:column;gap:10px;margin:12px 0 4px}
.fc-work-eq{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-size:21px;font-weight:700;color:#173f38;background:#fffef9;border:1px solid #cfdccf;border-radius:10px;padding:10px 14px;line-height:1.3}
.fc-work-label{font-size:14px;font-weight:600;color:#4d6b57;flex-basis:100%}
.fc-work-math{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.fc-work-note{margin:0;font-size:15px;line-height:1.55;color:#3f5a4c}
.fc-work-answer{font-size:19px;margin:12px 0 8px}.fc-work-answer b{font-size:22px;display:inline-flex;align-items:center;gap:6px}
.fc-fr{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.05;font-size:.82em;margin:0 2px}.fc-fr b{padding:0 4px}.fc-fr b:first-child{border-bottom:2px solid currentColor}.fc-fr-wide{font-size:.76em;margin:0 6px}.fc-fr-wide b{padding:0 8px}
.fc-mixed{display:inline-flex;align-items:center;gap:2px}
@media(max-width:520px){.fc-work-eq{font-size:18px;padding:8px 10px}.fc-work-answer b{font-size:20px}}

/* Unlike pieces: the join marker and note appear after the two pieces have slid together. */
.fc-replay .fc-unlike-note{animation:fc-show-label .5s ease 2.9s both}
.fc-still .fc-unlike-note{animation:none!important}@media(prefers-reduced-motion:reduce){.fc-unlike-note{animation:none!important}}
/* Convert and combine: cuts appear, renamed labels appear, then the pieces travel to the final ribbon. */
.fc-replay .fc-conv-cut{animation:fc-show-label .4s ease both;animation-delay:var(--delay,0ms)}
.fc-replay .fc-conv-label{animation:fc-show-label .4s ease both;animation-delay:var(--delay,0ms)}
.fc-replay .fc-conv-move{animation:fc-deal .9s ease both;animation-delay:var(--delay,0ms)}
.fc-still .fc-conv-cut,.fc-still .fc-conv-label,.fc-still .fc-conv-move{animation:none!important}
@media(prefers-reduced-motion:reduce){.fc-conv-cut,.fc-conv-label,.fc-conv-move{animation:none!important}}
.fc-size-choice p{font-size:17px;line-height:1.5}.fc-size-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 18px}.fc-size-buttons .fw-btn[aria-pressed="true"]{background:#1c6b57;color:white}
@media(max-width:520px){.fc-visual[data-model="unlike-pieces"] text,.fc-visual[data-model="convert"] text{font-size:24px}}

/* Jump arcs on teaching number lines and group outlines appear in order. */
.fc-replay .fc-line-jump{stroke-dasharray:400;stroke-dashoffset:400;animation:fc-draw-jump .5s ease-out both;animation-delay:var(--delay,0ms)}
@keyframes fc-draw-jump{to{stroke-dashoffset:0}}
.fc-replay .fc-group-outline{animation:fc-show-label .4s ease both;animation-delay:var(--delay,0ms)}
.fc-still .fc-line-jump,.fc-still .fc-group-outline{animation:none!important}
@media(prefers-reduced-motion:reduce){.fc-line-jump,.fc-group-outline{animation:none!important}}
.fc-groups svg{max-width:760px}
@media(max-width:520px){.fc-visual[data-model="groups"] text{font-size:26px}}
/* Chapter and whole-unit tests on the unit map, and the per-question review after a test. */
.fc-test-card{border:2px solid #7a3fb5;background:#f8f4fc}.fc-test-card.complete{background:#e8f4e4;border-color:#4b925c}.fc-test-section>h2>span{background:#7a3fb5}.fc-test-review{list-style:none;padding:0;margin:20px 0;text-align:left}.fc-test-review li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #d5e0d5;font-size:15px}.fc-test-review li span:nth-child(2){font-weight:700;color:#286837;white-space:nowrap}.fc-test-review .fc-text-link{border:0;background:transparent;padding:6px 0;min-height:0;font-size:14px}@media(max-width:520px){.fc-test-review li{grid-template-columns:1fr;gap:4px}}

/* Calculation chains are read one change at a time, not as a crowded sentence. */
.fc-equation>div{padding:3px 0}.fc-equation>div+div{padding-top:7px;color:#246f5b}.fc-equation>div+div::first-letter{color:#527768}@media(max-width:520px){.fc-equation>div{padding:5px 0}}

.fc-kcf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;text-align:center}.fc-kcf>div{display:flex;min-height:148px;padding:18px 12px;border:2px solid #9abfa9;border-radius:12px;background:#fffef9;flex-direction:column;align-items:center;justify-content:center;gap:10px}.fc-kcf>div:nth-child(1){border-color:#25755f}.fc-kcf>div:nth-child(2){border-color:#bf7b2b}.fc-kcf>div:nth-child(3){border-color:#6551a1}.fc-kcf strong{font-size:14px;letter-spacing:1px}.fc-kcf>div>span{font-size:27px;font-weight:800;color:#173f38;display:flex;align-items:center;gap:9px}.fc-kcf small{font-size:13px;line-height:1.35;color:#4e6859}.fc-kcf-fr{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.fc-kcf-fr b{padding:0 6px}.fc-kcf-fr b:first-child{border-bottom:2px solid currentColor}@media(max-width:520px){.fc-kcf{grid-template-columns:1fr}.fc-kcf>div{min-height:112px}.fc-kcf>div>span{font-size:25px}}
/* Small mathematical changes with an equally readable still state. */
.fc-conversion-path{display:flex;flex-wrap:wrap;gap:16px}.fc-conversion-path>div{flex:1 1 180px;padding:22px 16px;background:#fffef9;border:2px solid #98b6a7;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:18px}.fc-conversion-path strong{font-size:1rem}.fc-conversion-path span{font-size:1.7rem;font-weight:700;line-height:1.35}.fc-part-bracket{width:75%;text-align:center;border:2px solid #196e64;border-top:0;padding:8px;margin-bottom:10px;box-sizing:border-box}.fc-part-strip{display:grid;grid-template-columns:repeat(4,1fr)}.fc-part-strip>div{padding:30px 4px;text-align:center;border:1px solid #196e64;font-size:1.4rem;font-weight:700}.fc-part-strip .known{background:#cce6d6}.fc-part-strip .unknown{background:#fffef9;border-style:dashed}.fc-between-labels{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.fc-box-row{display:flex;gap:14px;flex-wrap:wrap}.fc-count-box{flex:1 1 110px;border:2px solid #196e64;padding:16px;text-align:center;border-radius:10px}.fc-count-box>div{display:grid;grid-template-columns:repeat(2,22px);justify-content:center;gap:10px;margin:20px 0}.fc-count-box i{width:22px;height:22px;background:#c38536;border-radius:50%;border:1px solid #75490f}.fc-loose{border-style:dashed}.fc-work-math>span{display:block;padding:5px 0}.fc-replay .fc-method-card,.fc-replay .fc-new-cut{animation:fc-teach-reveal .6s both;animation-delay:var(--delay,0ms)}.fc-replay .fc-between-answer{animation:fc-teach-reveal .6s 1.5s both}@keyframes fc-teach-reveal{from{opacity:.15;transform:translateY(-8px)}to{opacity:1;transform:none}}.fc-still .fc-method-card,.fc-still .fc-new-cut,.fc-still .fc-between-answer{animation:none!important}@media(prefers-reduced-motion:reduce){.fc-method-card,.fc-new-cut,.fc-between-answer{animation:none!important}}@media(max-width:520px){.fc-part-strip>div{font-size:1.1rem}.fc-part-bracket{font-size:.9rem}.fc-conversion-path span{font-size:1.4rem}}
@media(max-width:520px){.fc-visual[data-model="between-line"] text{font-size:34px}}
.fc-line-value .fc-line-whole{font-size:30px}.fc-line-value .fc-line-fraction{font-size:24px}.fc-visual-caption .fc-mixed{gap:.3em}@media(max-width:520px){.fc-line-value .fc-line-whole{font-size:40px}.fc-line-value .fc-line-fraction{font-size:32px}}
.fc-split-heading{display:flex;gap:28px;justify-content:space-between}.fc-split-heading>div{display:flex;flex-direction:column;gap:10px}.fc-split-heading>div>span{font-size:2rem;font-weight:700}.fc-split-heading small{font-size:1rem}.fc-split-ribbon{display:grid;grid-template-columns:repeat(3,1fr);height:92px;border:2px solid #196e64;margin:20px 0}.fc-split-ribbon>div{position:relative;background:#fffdf5;border-right:2px solid #196e64}.fc-split-ribbon>div:last-child{border-right:0}.fc-split-ribbon .coloured{background:#196e64}.fc-split-cut{position:absolute;left:50%;top:-10px;bottom:-10px;border-left:4px dashed #c994ee;transform-origin:top}.fc-replay .fc-split-cut{animation:fc-cut-third .7s ease-out both;animation-delay:var(--cut-delay)}.fc-replay .fc-split-result{animation:fc-show-label .4s 3.6s both}@keyframes fc-cut-third{from{transform:scaleY(0)}to{transform:scaleY(1)}}.fc-still .fc-split-cut,.fc-still .fc-split-result{animation:none!important}@media(prefers-reduced-motion:reduce){.fc-split-cut,.fc-split-result{animation:none!important}}@media(max-width:520px){.fc-split-heading{gap:12px}.fc-split-heading small{font-size:.9rem}}
.fc-visual .fc-split-ribbon>div{border-right-color:#a7c8bd}
.fc-practice legend .fc-answer-question.fc-question-reminder{font-size:1.05rem;font-weight:600;color:#40585e}.fc-practice legend .fc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fc-chapter-links a[aria-current]{background:#196b5c;border-color:#196b5c;color:#fff}
