2.5 mi → m with 1 mi = 1609.344 m Single factor cancels mi; result 4023.36 m. Student guess 4023.36 marked correct. <style>
.da-wrap{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:720px;margin:0 auto;padding:20px;color:#0f172a}
.da-hero{text-align:center;padding:20px 16px;border-radius:16px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#4c1d95;margin-bottom:16px}
.da-hero.ok{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#064e3b}
.da-hero.bad{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#7f1d1d}
.da-hero-main{font-size:30px;font-weight:800;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.da-hero-lbl{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;opacity:0.75;margin-top:6px}
.da-hero-sub{font-size:13px;margin-top:8px;opacity:0.9}
.da-card{padding:14px 16px;border-radius:12px;background:#f8fafc;margin-top:10px;border:1px solid #e2e8f0}
.da-card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#64748b;margin-bottom:10px}
.da-step{padding:12px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;margin-bottom:8px}
.da-step-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:6px}
.da-step-n{font-weight:800;color:#5b21b6;font-size:13px}
.da-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}
.da-pill-flip{background:#ffedd5;color:#9a3412}
.da-pill-ok{background:#dcfce7;color:#166534}
.da-pill-warn{background:#fef3c7;color:#92400e}
.da-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;color:#1e293b}
.da-track{overflow-x:auto;white-space:nowrap;padding:8px 0}
.da-frac{display:inline-block;text-align:center;vertical-align:middle;margin:0 4px}
.da-frac .t{border-bottom:1.5px solid #334155;padding:0 6px 2px}
.da-frac .b{padding:2px 6px 0}
.da-muted{color:#64748b;font-size:12px;margin-top:4px}
.da-list{margin:0;padding-left:18px;font-size:13px;line-height:1.55;color:#334155}
.da-list li{margin:4px 0}
.da-err{padding:16px;border-radius:12px;background:#fef2f2;color:#b91c1c;font-size:14px;text-align:center}
.da-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #f1f5f9;font-size:13px}
.da-row:last-child{border-bottom:0}
.da-row-l{color:#475569}
.da-row-v{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
</style>
<div class="da-wrap">
<div class="da-hero ok">
<div class="da-hero-main">4023.36 <span style="font-size:16px;font-weight:700">m</span></div>
<div class="da-hero-lbl">Units cancel to target</div>
<div class="da-hero-sub">2.5 mi → target m</div>
</div>
<div class="da-card">
<div class="da-card-title">Factor-label chain</div>
<div class="da-track da-mono"><span class="da-mono" style="font-weight:800">2.5 mi</span> × (1609.344 m / 1 mi)</div>
<div class="da-muted" style="margin-top:8px">Goal: cancel every unit except <strong>m</strong>.</div>
</div>
<div class="da-card">
<div class="da-card-title">Step-by-step cancellation</div>
<div class="da-step">
<div class="da-step-h">
<span class="da-step-n">Step 1</span>
<span class="da-pill da-pill-ok">cancels</span>
</div>
<div class="da-mono">factor written: 1 mi = 1609.344 m</div>
<div class="da-mono">applied as: × (1609.344 m / 1 mi)</div>
<div class="da-track"><span style="font-weight:800;margin-right:6px">4023.36</span><span class="da-mono">m</span></div>
<div class="da-muted">Cancel mi in the numerator using the factor as written. · canceled unit: mi</div>
</div>
</div>
<div class="da-card">
<div class="da-card-title">Result summary</div>
<div class="da-row"><span class="da-row-l">Numeric result</span><span class="da-row-v">4023.36</span></div>
<div class="da-row"><span class="da-row-l">Remaining dimensions</span><span class="da-row-v">m</span></div>
<div class="da-row"><span class="da-row-l">Matches target</span><span class="da-row-v">yes</span></div>
<div class="da-row"><span class="da-row-l">Auto-flipped factors</span><span class="da-row-v">0</span></div>
</div>
<div class="da-card">
<div class="da-card-title">Student answer check</div>
<div class="da-row"><span class="da-row-l">Your answer</span><span class="da-row-v">4023.36</span></div>
<div class="da-row"><span class="da-row-l">Calculated</span><span class="da-row-v">4023.36 m</span></div>
<div class="da-row"><span class="da-row-l">Match</span><span class="da-row-v"><span class="da-pill da-pill-ok">Correct</span></span></div>
<div class="da-row"><span class="da-row-l">Relative error</span><span class="da-row-v">0%</span></div>
</div>
<div class="da-card">
<div class="da-card-title">Teaching feedback</div>
<ul class="da-list">
<li>Units cancel cleanly to "m".</li><li>Your numeric answer matches the calculated value (within rounding tolerance).</li>
</ul>
</div>
</div>
View full output5 gal → L via qt (two-step chain) 5 gal × (4 qt/1 gal) × (0.946353 L/1 qt) → 18.9271 L with both units canceling. <style>
.da-wrap{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:720px;margin:0 auto;padding:20px;color:#0f172a}
.da-hero{text-align:center;padding:20px 16px;border-radius:16px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#4c1d95;margin-bottom:16px}
.da-hero.ok{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#064e3b}
.da-hero.bad{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#7f1d1d}
.da-hero-main{font-size:30px;font-weight:800;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.da-hero-lbl{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;opacity:0.75;margin-top:6px}
.da-hero-sub{font-size:13px;margin-top:8px;opacity:0.9}
.da-card{padding:14px 16px;border-radius:12px;background:#f8fafc;margin-top:10px;border:1px solid #e2e8f0}
.da-card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#64748b;margin-bottom:10px}
.da-step{padding:12px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;margin-bottom:8px}
.da-step-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:6px}
.da-step-n{font-weight:800;color:#5b21b6;font-size:13px}
.da-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}
.da-pill-flip{background:#ffedd5;color:#9a3412}
.da-pill-ok{background:#dcfce7;color:#166534}
.da-pill-warn{background:#fef3c7;color:#92400e}
.da-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;color:#1e293b}
.da-track{overflow-x:auto;white-space:nowrap;padding:8px 0}
.da-frac{display:inline-block;text-align:center;vertical-align:middle;margin:0 4px}
.da-frac .t{border-bottom:1.5px solid #334155;padding:0 6px 2px}
.da-frac .b{padding:2px 6px 0}
.da-muted{color:#64748b;font-size:12px;margin-top:4px}
.da-list{margin:0;padding-left:18px;font-size:13px;line-height:1.55;color:#334155}
.da-list li{margin:4px 0}
.da-err{padding:16px;border-radius:12px;background:#fef2f2;color:#b91c1c;font-size:14px;text-align:center}
.da-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #f1f5f9;font-size:13px}
.da-row:last-child{border-bottom:0}
.da-row-l{color:#475569}
.da-row-v{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
</style>
<div class="da-wrap">
<div class="da-hero ok">
<div class="da-hero-main">18.9271 <span style="font-size:16px;font-weight:700">L</span></div>
<div class="da-hero-lbl">Units cancel to target</div>
<div class="da-hero-sub">5 gal → target L</div>
</div>
<div class="da-card">
<div class="da-card-title">Factor-label chain</div>
<div class="da-track da-mono"><span class="da-mono" style="font-weight:800">5 gal</span> × (4 qt / 1 gal) × (0.946353 L / 1 qt)</div>
<div class="da-muted" style="margin-top:8px">Goal: cancel every unit except <strong>L</strong>.</div>
</div>
<div class="da-card">
<div class="da-card-title">Step-by-step cancellation</div>
<div class="da-step">
<div class="da-step-h">
<span class="da-step-n">Step 1</span>
<span class="da-pill da-pill-ok">cancels</span>
</div>
<div class="da-mono">factor written: 1 gal = 4 qt</div>
<div class="da-mono">applied as: × (4 qt / 1 gal)</div>
<div class="da-track"><span style="font-weight:800;margin-right:6px">20</span><span class="da-mono">qt</span></div>
<div class="da-muted">Cancel gal in the numerator using the factor as written. · canceled unit: gal</div>
</div><div class="da-step">
<div class="da-step-h">
<span class="da-step-n">Step 2</span>
<span class="da-pill da-pill-ok">cancels</span>
</div>
<div class="da-mono">factor written: 1 qt = 0.946353 L</div>
<div class="da-mono">applied as: × (0.946353 L / 1 qt)</div>
<div class="da-track"><span style="font-weight:800;margin-right:6px">18.9271</span><span class="da-mono">L</span></div>
<div class="da-muted">Cancel qt in the numerator using the factor as written. · canceled unit: qt</div>
</div>
</div>
<div class="da-card">
<div class="da-card-title">Result summary</div>
<div class="da-row"><span class="da-row-l">Numeric result</span><span class="da-row-v">18.9271</span></div>
<div class="da-row"><span class="da-row-l">Remaining dimensions</span><span class="da-row-v">L</span></div>
<div class="da-row"><span class="da-row-l">Matches target</span><span class="da-row-v">yes</span></div>
<div class="da-row"><span class="da-row-l">Auto-flipped factors</span><span class="da-row-v">0</span></div>
</div>
<div class="da-card">
<div class="da-card-title">Teaching feedback</div>
<ul class="da-list">
<li>Units cancel cleanly to "L".</li>
</ul>
</div>
</div>
View full outputDiagnose inverted factor: 1000 km = 1 m Starting 3 km with an upside-down factor yields 0.003 m (units still cancel) while the student answer 3000 is flagged as a numeric mismatch — classic inverted-factor mistake. <style>
.da-wrap{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:720px;margin:0 auto;padding:20px;color:#0f172a}
.da-hero{text-align:center;padding:20px 16px;border-radius:16px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#4c1d95;margin-bottom:16px}
.da-hero.ok{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#064e3b}
.da-hero.bad{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#7f1d1d}
.da-hero-main{font-size:30px;font-weight:800;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.da-hero-lbl{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;opacity:0.75;margin-top:6px}
.da-hero-sub{font-size:13px;margin-top:8px;opacity:0.9}
.da-card{padding:14px 16px;border-radius:12px;background:#f8fafc;margin-top:10px;border:1px solid #e2e8f0}
.da-card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#64748b;margin-bottom:10px}
.da-step{padding:12px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;margin-bottom:8px}
.da-step-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:6px}
.da-step-n{font-weight:800;color:#5b21b6;font-size:13px}
.da-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}
.da-pill-flip{background:#ffedd5;color:#9a3412}
.da-pill-ok{background:#dcfce7;color:#166534}
.da-pill-warn{background:#fef3c7;color:#92400e}
.da-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;color:#1e293b}
.da-track{overflow-x:auto;white-space:nowrap;padding:8px 0}
.da-frac{display:inline-block;text-align:center;vertical-align:middle;margin:0 4px}
.da-frac .t{border-bottom:1.5px solid #334155;padding:0 6px 2px}
.da-frac .b{padding:2px 6px 0}
.da-muted{color:#64748b;font-size:12px;margin-top:4px}
.da-list{margin:0;padding-left:18px;font-size:13px;line-height:1.55;color:#334155}
.da-list li{margin:4px 0}
.da-err{padding:16px;border-radius:12px;background:#fef2f2;color:#b91c1c;font-size:14px;text-align:center}
.da-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #f1f5f9;font-size:13px}
.da-row:last-child{border-bottom:0}
.da-row-l{color:#475569}
.da-row-v{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
</style>
<div class="da-wrap">
<div class="da-hero ok">
<div class="da-hero-main">0.003 <span style="font-size:16px;font-weight:700">m</span></div>
<div class="da-hero-lbl">Units cancel to target</div>
<div class="da-hero-sub">3 km → target m</div>
</div>
<div class="da-card">
<div class="da-card-title">Factor-label chain</div>
<div class="da-track da-mono"><span class="da-mono" style="font-weight:800">3 km</span> × (1 m / 1000 km)</div>
<div class="da-muted" style="margin-top:8px">Goal: cancel every unit except <strong>m</strong>.</div>
</div>
<div class="da-card">
<div class="da-card-title">Step-by-step cancellation</div>
<div class="da-step">
<div class="da-step-h">
<span class="da-step-n">Step 1</span>
<span class="da-pill da-pill-ok">cancels</span>
</div>
<div class="da-mono">factor written: 1000 km = 1 m</div>
<div class="da-mono">applied as: × (1 m / 1000 km)</div>
<div class="da-track"><span style="font-weight:800;margin-right:6px">0.003</span><span class="da-mono">m</span></div>
<div class="da-muted">Cancel km in the numerator using the factor as written. · canceled unit: km</div>
</div>
</div>
<div class="da-card">
<div class="da-card-title">Result summary</div>
<div class="da-row"><span class="da-row-l">Numeric result</span><span class="da-row-v">0.003</span></div>
<div class="da-row"><span class="da-row-l">Remaining dimensions</span><span class="da-row-v">m</span></div>
<div class="da-row"><span class="da-row-l">Matches target</span><span class="da-row-v">yes</span></div>
<div class="da-row"><span class="da-row-l">Auto-flipped factors</span><span class="da-row-v">0</span></div>
</div>
<div class="da-card">
<div class="da-card-title">Student answer check</div>
<div class="da-row"><span class="da-row-l">Your answer</span><span class="da-row-v">3000</span></div>
<div class="da-row"><span class="da-row-l">Calculated</span><span class="da-row-v">0.003 m</span></div>
<div class="da-row"><span class="da-row-l">Match</span><span class="da-row-v"><span class="da-pill da-pill-warn">Mismatch</span></span></div>
<div class="da-row"><span class="da-row-l">Relative error</span><span class="da-row-v">99999900%</span></div>
</div>
<div class="da-card">
<div class="da-card-title">Teaching feedback</div>
<ul class="da-list">
<li>Units cancel cleanly to "m".</li><li>Your answer 3000 differs from the calculated 0.003 (~99999900% error). Recheck arithmetic and whether a factor was flipped twice.</li>
</ul>
</div>
</div>
View full output