.arithmetic-lab{margin:24px 0;padding:clamp(14px,3vw,24px);background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:0}
.arithmetic-controls{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}
.arithmetic-controls label{display:grid;gap:10px;font-size:.82em;min-width:0}.arithmetic-controls label>span{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.arithmetic-controls output{font-weight:750}
.arithmetic-controls input[type=range]{width:100%;min-width:0;min-height:44px;margin:0;accent-color:var(--rom-accent,var(--ink))}.arithmetic-controls select{width:100%;max-width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:10px;min-height:48px;border-radius:10px}
.arithmetic-controls :is(input,select):focus-visible,.arithmetic-stage-buttons button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.arithmetic-equation{font-size:1.05em;font-weight:700;margin:22px 0 12px;overflow-wrap:anywhere}.arithmetic-reading{font-size:.82em;color:var(--ink2);line-height:1.6;margin:18px 0 0}
.arithmetic-grid{display:grid;gap:4px;font-size:.8em}.arithmetic-grid>[role=row]{display:grid;grid-template-columns:.6fr 1fr 1fr;gap:4px}.arithmetic-grid>[role=row]>:is(span,strong){padding:10px 6px;text-align:center;background:var(--bg2);border:1px solid var(--line);min-width:0}.arithmetic-grid [role=cell]{display:grid;place-items:center;background:var(--surface)}
.arithmetic-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:14px}.arithmetic-metrics>div{display:grid;gap:10px;background:var(--bg2);padding:16px;border-radius:10px;min-width:0}.arithmetic-metrics>div>span{font-size:.78em;color:var(--ink2)}.arithmetic-metrics strong{font-size:1.1em}
.arithmetic-figure{margin:18px 0}.arithmetic-line{display:block;width:100%;height:auto;overflow:visible}.arithmetic-line line{stroke:var(--ink);stroke-width:2}.arithmetic-line text{fill:var(--ink);font:18px system-ui}.arithmetic-line circle{fill:var(--ink);stroke:var(--ink);stroke-width:2}.arithmetic-jump{fill:none;stroke:var(--ink);stroke-width:3}
.arithmetic-line-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.75em}.arithmetic-line-legend>span{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.arithmetic-line-legend i{width:12px;height:12px;display:inline-block;border:2px solid var(--ink);flex-shrink:0}.arithmetic-point-1{transform:rotate(45deg)}.arithmetic-line-legend>span:last-child i{transform:none;border-radius:50%;background:var(--ink)}.arithmetic-start,.arithmetic-middle{fill:var(--surface);stroke:var(--ink);stroke-width:3}.arithmetic-arrow{fill:var(--ink)}
.arithmetic-pairs{display:flex;flex-wrap:wrap;gap:12px}.arithmetic-pairs>span{display:flex;justify-content:center;align-items:center;min-width:3em;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);font-size:1em}.arithmetic-pairs .arithmetic-leftover{background:var(--surface);border:2px dashed var(--ink);min-width:1.5em}
.arithmetic-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:14px}.arithmetic-groups>div{padding:14px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;line-height:1.5;text-align:center}
.arithmetic-factor-pairs{display:flex;flex-wrap:wrap;gap:12px}.arithmetic-factor-pairs>div{padding:12px 16px;background:var(--bg2);border-radius:10px;font-weight:650}
.arithmetic-round-line{position:relative;display:flex;justify-content:space-between;border-top:3px solid var(--ink);margin:50px 14px 24px;padding-top:16px;font-size:.8em}.arithmetic-round-line:before{content:"";position:absolute;top:-13px;bottom:0;left:50%;border-left:2px dashed var(--ink2)}.arithmetic-round-line i{position:absolute;top:-10px;transform:translateX(-50%);width:18px;height:18px;border:2px solid var(--ink);border-radius:50%;background:var(--rom-accent,var(--ink))}.arithmetic-round-line span{background:var(--surface);position:relative;z-index:1}
.arithmetic-digits{display:flex;flex-wrap:wrap;gap:3px;font-size:1.2em;font-variant-numeric:tabular-nums}.arithmetic-digits span{padding:6px 3px;border-bottom:3px solid transparent}.arithmetic-digits .arithmetic-counted{font-weight:750;border-bottom-color:var(--ink);background:var(--bg2)}
.arithmetic-step-count{font-size:.75em;color:var(--ink2);margin:0 0 16px}.arithmetic-formula{padding:20px 0;font-size:1.1em;overflow-x:auto}.arithmetic-stage-buttons{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:20px 0}.arithmetic-stage-buttons button{font:inherit;font-size:.75em;padding:10px 14px;min-height:44px;border:1px solid var(--ink2);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer}.arithmetic-stage-buttons button:disabled{opacity:.45;cursor:default}.arithmetic-lab details{font-size:.8em;margin:16px 0}.arithmetic-lab details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.arithmetic-lab details li{padding:12px 0}.arithmetic-lab details li p{font-size:.9em}
@media(max-width:600px){.arithmetic-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.arithmetic-controls label:last-child:nth-child(odd){grid-column:1/-1}body.bm-reading-large .arithmetic-controls{grid-template-columns:minmax(0,1fr)}.arithmetic-grid>[role=row]>:is(span,strong){padding:10px 4px}.arithmetic-line text{font-size:30px}.arithmetic-stage-buttons{flex-direction:column}.arithmetic-stage-buttons button{text-align:center}}
@media(prefers-reduced-motion:reduce){.arithmetic-lab *{transition:none!important;animation:none!important}}

/* Factors wrap as separate objects; notation and labels remain readable at 200%. */
.power-factors{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;font-size:.85em}.power-factors>span{display:grid;place-items:center;min-width:1.7em;min-height:1.7em;padding:4px 8px;border:2px solid var(--ink2);border-radius:10px;background:var(--bg2);font-weight:700}.power-factors>b{font-weight:500}.power-label{font-size:.8em;margin:18px 0 8px;color:var(--ink2)}
.power-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.power-cards>div{border:1px solid var(--line)}.power-cards strong{display:flex;align-items:center;gap:.25em;flex-wrap:wrap;font-size:1.1em;max-width:100%;padding:4px 0;overflow-wrap:anywhere}.power-cards .katex{font-size:1em}.power-quotient{margin-top:18px;max-width:100%;font-size:.85em}.power-quotient>div{padding:14px 0}.power-quotient>div+div{border-top:2px solid var(--ink)}.power-quotient>div>span{font-size:.85em;color:var(--ink2)}.power-nests{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.power-nests>div{border:2px dashed var(--ink2);padding:10px;border-radius:12px;max-width:100%}.power-square{display:block;width:100%;max-width:340px;margin:auto;background:var(--surface)}.power-square rect{fill:var(--bg2);stroke:var(--ink);stroke-width:3}.power-square path{fill:none;stroke:var(--ink2);stroke-width:1.5}.power-square text{fill:var(--ink);font:26px system-ui}
@media(max-width:600px){.power-square text{font-size:30px}.power-cards{grid-template-columns:minmax(0,1fr)}}

/* One mathematical transformation per row. Operators can wrap without shrinking. */
.root-route{list-style:none;padding:0;margin:20px 0;display:grid;gap:22px}.root-route>li{display:flex;gap:14px;align-items:flex-start;min-width:0}.root-route-number{display:grid;place-items:center;width:1.8em;height:1.8em;flex:0 0 1.8em;font-size:.7em;border:2px solid var(--ink2);border-radius:50%;font-weight:700}.root-route>li>div{flex:1;min-width:0}.root-route-label{display:block;font-size:.78em;color:var(--ink2);margin-bottom:10px}.root-route strong,.root-final{display:flex;gap:.3em;flex-wrap:wrap;align-items:center;min-width:0;font-size:1.05em}.root-route .katex{font-size:1em;max-width:100%}.root-route-separator{display:none}.root-solutions{margin-top:22px}.root-solutions>span{display:inline-flex;align-items:center;margin:0 12px 12px 0;border:2px solid var(--ink2);border-radius:10px;padding:10px 14px;font-size:1em;max-width:100%}.root-axis{display:block;width:100%;background:var(--surface)}.root-axis path{fill:none;stroke:var(--ink);stroke-width:2}.root-axis text{fill:var(--ink);font:26px system-ui}.root-axis circle{stroke:var(--ink);stroke-width:3}.root-axis .root-main{fill:var(--ink)}.root-axis .root-other{fill:var(--surface)}.root-axis-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:.75em}.root-axis-legend>span{display:flex;align-items:center;gap:8px}.root-axis-legend i{display:inline-block;width:14px;height:14px;border:2px solid var(--ink);border-radius:50%;flex-shrink:0}.root-axis-legend .root-main{background:var(--ink)}.root-axis-legend .root-other{background:var(--surface)}
@media(max-width:600px){.root-axis text{font-size:30px}.root-route>li{gap:10px}.root-solutions>span{padding:8px 10px}}

/* Keep long ordinary numbers readable while mathematical factors wrap independently. */
.standard-decimal{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;white-space:normal;line-height:1.65}.standard-notation>span,.standard-value>span:first-child,.standard-operands>div>span{display:block;font-size:.78em;color:var(--ink2);margin-bottom:12px}.standard-notation strong,.standard-operands strong{display:flex;align-items:center;flex-wrap:wrap;gap:.3em;font-size:1.05em;min-width:0}.standard-notation .katex,.standard-operands .katex{font-size:1em}.standard-value{margin:24px 0 12px;font-size:1em}.standard-value>.standard-decimal{font-weight:700}.standard-moves{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.standard-moves>span{border:1px solid var(--ink2);border-radius:8px;padding:5px 10px;font-size:.75em;background:var(--surface)}.standard-operands{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px}.standard-operands>div{min-width:0}.standard-display{padding:18px;border:2px solid var(--ink2);border-radius:12px;font-variant-numeric:tabular-nums;font-weight:700;margin-bottom:24px;overflow-wrap:anywhere}.ten-ladder{display:grid;gap:12px;margin:22px 0}.ten-ladder>div{display:grid;grid-template-columns:3em 5em minmax(0,1fr);align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px}.ten-ladder .ten-current{border:2px solid var(--ink);background:var(--bg2)}.ten-ladder>div>span:first-child{font-size:.75em;color:var(--ink2)}.ten-ladder strong{font-size:1em}.ten-ladder .katex{font-size:1em}
@media(max-width:600px){.standard-operands{grid-template-columns:minmax(0,1fr);gap:12px}.standard-operands>b{font-size:.8em}.ten-ladder>div{grid-template-columns:3em minmax(0,1fr);gap:10px}.ten-ladder .standard-decimal{grid-column:1/-1}}

.prime-chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-variant-numeric:tabular-nums;min-width:0}.prime-chips>span{border:2px dashed var(--ink2);padding:6px 12px;font-weight:700;background:var(--surface);border-radius:4px}.prime-chips>.prime-common{border:3px solid var(--ink);background:var(--bg2)}.prime-chips>.prime-empty{font-weight:400;font-size:.75em;border:0;padding:0}.prime-chips>b{font-weight:400}.prime-pair-rows{display:grid;gap:24px}.prime-pair-rows>div{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.prime-pair-rows>div>strong{font-size:1em}.prime-legend{display:flex;gap:10px;align-items:center;font-size:.75em;color:var(--ink2);margin:18px 0}.prime-legend>i{width:18px;height:18px;border:3px solid var(--ink);background:var(--bg2);flex-shrink:0}.prime-stop{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px;border-left:4px solid var(--ink);background:var(--bg2);margin:20px 0}.prime-stop>span{font-size:.78em;color:var(--ink2)}.pulse-rows{display:grid;gap:24px}.pulse-rows>div>strong{display:block;font-size:.8em;margin-bottom:12px}.pulse-rows>div>div{display:flex;flex-wrap:wrap;gap:8px}.pulse-rows span{padding:8px;min-width:2em;text-align:center;border-bottom:2px dashed var(--ink2);font-size:.85em}.pulse-rows .pulse-together{border:3px solid var(--ink);font-weight:700;background:var(--bg2)}.unit-bars{display:grid;gap:12px;margin-top:24px}.unit-bars>div{display:grid;gap:8px}.unit-bars span{font-size:.75em;color:var(--ink2)}.unit-bars i{height:16px;display:block;background:var(--ink);min-width:2px}.unit-bars>div+div i{background:var(--surface);border:2px solid var(--ink)}
.unit-given{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.unit-given>div{border:1px solid var(--line);background:var(--bg2);border-radius:10px;padding:14px;min-width:0}.unit-given>div>span{display:block;font-size:.78em;color:var(--ink2);margin-bottom:10px}.unit-given strong{display:flex;flex-wrap:wrap;font-size:1.05em}.unit-given .katex{font-size:1em}@media(max-width:600px){body.bm-reading-large .unit-given{grid-template-columns:minmax(0,1fr)}}
