.division-link { margin: -16px 0 24px; text-align: right; }
.division-link a, .next-page a:not(.btn) { color: var(--brand-text); font-weight: 700; }
.division-nav a { font-size: .95rem; }
.division-stage { min-height: 240px; overflow: visible; }
.division-original, .division-result .math { font-size: clamp(1.4rem, 5vw, 2rem); text-align: center; }
.fraction { display: grid; justify-items: stretch; max-width: 100%; }
.fraction-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 5px; padding: 12px 4px; }
.denominator { border-top: 2px solid var(--ink-primary); }
.factor { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; min-height: 2.5rem; padding: 2px 6px; background: var(--tile-var-bg); border: 2px solid var(--tile-var-border); border-radius: 6px; color: var(--tile-var-ink); font-family: var(--font-math); font-size: 1.3rem; font-weight: 400; }
.factor.crossed { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: var(--danger-text); background: var(--bg-subtle); color: var(--ink-primary); }
.factor-dot { font-family: var(--font-math); font-size: 1.3rem; }
.division-result { display: grid; gap: 8px; text-align: center; }
.division-result > span:first-child { font-family: var(--font-body); font-weight: 700; color: var(--brand-text); }
.arrive { animation: reveal-factor .5s ease-out; }
@keyframes reveal-factor { from { opacity: .35; } to { opacity: 1; } }
#answerForm > label { display: block; font-weight: 700; margin-bottom: 6px; }
#answerForm > #help { margin-top: 8px; }
@media (max-width: 400px) { .division-nav a { font-size: .8rem; padding: 6px 3px; } .factor { min-width: 1.8rem; padding: 2px 4px; font-size: 1.2rem; } }
