/* Fundamentos numéricos do HUBMAT Visual. */
.foundation-lesson h1{overflow-wrap:anywhere}
.place-expression{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:8px 0}
.place-expression>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 5px;text-align:center;min-width:0}
.place-expression strong{display:block;font-size:clamp(19px,4vw,28px)}
.place-expression small{font-size:10px}
.term-row,.jump-controls,.group-controls,.fraction-denoms{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.term-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;min-width:105px;text-align:center}
.term-card strong{display:block;font-size:20px}
.number-line{width:100%;max-width:780px;height:auto;display:block}
.number-line .axis{stroke:#607584;stroke-width:3}.number-line .tick{stroke:#607584;stroke-width:2}.number-line .jump{fill:none;stroke:#235f9b;stroke-width:3}.number-line .marker{fill:#146348}.number-line text{font-size:13px}
.array-grid{display:grid;gap:4px;justify-content:center;margin:12px auto}
.array-cell{width:28px;height:28px;border-radius:5px;background:#bed9ef;border:1px solid #235f9b}
.array-cell.alt{background:#ffdda0;border-color:#946006}
.groups{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.group-box{min-width:90px;min-height:70px;border:2px solid #9db6a1;border-radius:12px;background:white;padding:8px;display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start;justify-content:center}
.group-box b{width:100%;text-align:center;font-size:11px}
.dot{width:18px;height:18px;border-radius:50%;background:#235f9b;display:inline-block}
.dot.alt{background:#a4481a}
.fact-family{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:620px;margin:auto}
.fact-family div{background:white;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center;font-size:18px;font-weight:750}
.combo-grid{display:grid;gap:5px;justify-content:center;margin:auto}
.combo-grid button{min-width:46px;min-height:46px;border:1px solid #9ab2a0;border-radius:8px;background:#fff}
.combo-grid button[aria-pressed=true]{background:#e7f3e3;outline:2px solid #146348}
.fraction-line{width:100%;max-width:760px;height:auto;display:block}
.fraction-line .axis{stroke:#607584;stroke-width:4}.fraction-line .tick{stroke:#607584;stroke-width:2}.fraction-line .unit{fill:#bed9ef;stroke:#235f9b;stroke-width:2}.fraction-line .marker{fill:#146348}.fraction-line text{font-size:13px}
.strategy-card{background:white;border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}
.strategy-card b{display:block;font-size:18px}
.ratio-table{width:100%;border-collapse:collapse;background:#fff}.ratio-table th,.ratio-table td{border-bottom:1px solid var(--line);padding:8px;text-align:center}
.token-bank{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin:10px 0}.token-bank .dot{width:24px;height:24px}
.remainder{font-weight:800;color:#a4481a}
@media(max-width:520px){.fact-family{grid-template-columns:1fr}.place-expression{gap:3px}.place-expression small{font-size:9px}.array-cell{width:23px;height:23px}.term-card{min-width:82px;padding:8px;font-size:12px}.compensation-lab{grid-template-columns:1fr;gap:8px}.transfer-strip{grid-template-columns:1fr 1fr;min-width:0}.transfer-strip .unit-chip{grid-column:1/-1}.transfer-strip .btn{min-width:0}.comp-readout{grid-template-columns:1fr}}

.compensation-lab{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;max-width:760px;margin:12px auto}
.comp-number{background:#fff;border:2px solid #9db6a1;border-radius:16px;padding:16px;text-align:center;box-shadow:0 10px 24px rgba(21,50,75,.08)}
.comp-number span{display:block;font-size:12px;color:#607584;margin-bottom:6px}
.comp-number strong{display:block;font-size:clamp(32px,8vw,58px);line-height:1;color:#15324b}
.transfer-strip{display:grid;gap:8px;justify-items:center;min-width:150px}
.unit-chip{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#f2c257;border:2px solid #946006;font-weight:900;color:#4c390e;box-shadow:0 7px 15px rgba(148,96,6,.16)}
.transfer-strip .btn{min-width:142px}
.comp-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:760px;margin:14px auto 0}
.comp-readout p{margin:0;background:#f7faf8;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.comp-readout span{display:block;font-size:11px;color:#607584;margin-bottom:3px}
.comp-readout strong{font-size:17px}
.comp-note{max-width:760px;margin:10px auto 0;display:grid;gap:5px;font-size:13px;color:#426251}

