/* One place to ask for help, one instruction at a time. */
.reader-toolbar{margin-bottom:12px}.reader-heading{margin-bottom:12px}.reader-controls{margin-bottom:24px;padding-bottom:8px}.reader-controls summary{font-size:13px}.question-banner{margin-bottom:15px}.book-reminder{margin-top:24px;font-size:13px}.question-support{margin-top:24px}.help-toggle{display:inline-flex;align-items:center;gap:28px;min-height:48px;padding:10px 0;font-size:15px;font-weight:500}.help-toggle>span{font-size:20px;font-weight:400;color:var(--muted)}.help-toggle[aria-expanded=true]>span{color:var(--ink)}.guided-panel{max-width:640px;margin:8px auto 0;scroll-margin-bottom:100px}.model-panel{padding-top:0;scroll-margin-top:18px}.model-heading{font-size:13px;min-height:44px;margin-bottom:8px;align-items:center}.model-heading>span{font-weight:500;color:var(--ink)}.model-heading button{font-size:13px;white-space:nowrap}.model-wrap{padding:22px 20px;background:#fff!important}.has-essential-model{border-top:0}.has-essential-model>.model-panel{max-width:640px;margin:0 auto 8px}.guided-hint{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.hint-count{font-size:12px;color:var(--muted);margin-bottom:10px}.hint-copy{font-size:18px;line-height:1.6;min-height:2em}.hint-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px}.hint-navigation button{min-height:48px;font-size:13px;padding:4px 0}.hint-navigation button:last-child{font-weight:500;text-align:right}.hint-navigation button:hover,.help-toggle:hover{text-decoration:underline;text-underline-offset:5px}.hint-navigation button:disabled{visibility:hidden}.model-caption{font-size:13px;color:var(--muted);text-align:center;margin:0 0 18px}.model-caption:last-child{margin:18px 0 0}.model-focus{outline:2px solid #667662;outline-offset:-2px}.model-panel .model-note{font-size:13px}.model-heading,.hint-navigation{break-inside:avoid}.large-text .hint-copy{font-size:23px}.model-zoom{display:flex;gap:8px;justify-content:center;margin-bottom:14px}.model-zoom button{min-height:44px;min-width:48px;font-size:20px;border:1px solid var(--line);border-radius:3px}.model-zoom [data-zoom=fit]{min-width:80px;font-size:13px}.model-viewport{overflow:auto;max-height:65vh;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;border-top:1px solid var(--line)}#large-model{width:calc(100% * var(--model-zoom,1));max-width:none;min-width:100%;padding:28px 20px}.model-dialog .dialog-top{margin-bottom:10px}.model-dialog h2{font-size:21px;margin:0}.learning-model[data-model-kind=clock] .math-model{max-width:310px;margin:auto}.learning-model[data-model-kind=coordinates] .math-model,.learning-model[data-model-kind=reflection] .math-model,.learning-model[data-model-kind=rectangle] .math-model,.learning-model[data-model-kind=geometric_shape] .math-model{max-width:440px;margin:auto}#large-model .math-model{max-width:none}.learning-model>.model-scroll{scrollbar-width:thin}
/* Every small unit is readable; exchange equivalence appears with the hint. */
.exchange-group{padding:14px;border-color:#b4beac;background:transparent}.exchange-groups{gap:20px}.unit-tiles{gap:10px}.unit-tiles span{font-size:19px;min-height:48px;border:1px solid #adb8a4;background:#f2f5ee;border-radius:2px}.unit-tiles .model-focus{background:#e2eadb}.known-whole{border:0;margin-bottom:18px;font-size:14px}.known-whole strong{font-size:26px}.exchange-equivalence{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;padding-top:16px;font-size:18px}.exchange-equivalence strong{font-weight:500;border:1px solid #849578;padding:8px 16px;background:#f2f5ee}.kept-counter{display:flex;align-items:center;gap:12px;justify-content:center;font-size:13px;margin:0 0 18px}.kept-counter b{padding:10px;border:1px solid #a1ab98;border-radius:50%;font-size:17px;font-weight:500}
/* Counters carry their value. Small-number models use actual tens and ones. */
.value-chart{display:grid;grid-template-columns:repeat(var(--places),minmax(0,1fr));border:1px solid #aab49f;max-width:600px;margin:auto}.value-column{min-width:0}.value-column+.value-column{border-left:1px solid #c8cebf}.value-heading{text-align:center;padding:10px 3px;border-bottom:1px solid #c8cebf;background:#f2f5ee}.value-heading strong{display:block;font-size:19px;font-weight:500}.value-heading>span{display:block;font-size:11px;margin-top:3px;overflow-wrap:anywhere;color:var(--muted)}.value-pieces{display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start;justify-content:center;min-height:88px;padding:14px 6px}.value-coin{display:grid;place-items:center;width:44px;height:44px;border:1px solid #7e8e73;border-radius:50%;background:#edf2e7;font-size:12px;flex-shrink:0}.zero-piece,.unknown-piece{font-size:23px;line-height:44px}.base-ten-chart{max-width:420px}.base-ten-chart .value-pieces{min-height:135px;gap:8px}.ten-rod{display:grid;grid-template-rows:repeat(10,1fr);width:12px;height:120px;background:#dbe5d1;border:1px solid #667662}.ten-rod i+i{border-top:1px solid #8b9b7e}.one-block{width:12px;height:12px;background:#dbe5d1;border:1px solid #667662;margin-top:0}
/* Written work is sized as text, never as a shrinking picture. */
.written-calculation{max-width:400px;margin:auto}.written-head,.written-row{display:grid;grid-template-columns:24px repeat(var(--places),minmax(0,1fr));text-align:center;align-items:center}.written-head{font-size:12px;color:var(--muted);padding-bottom:12px}.written-row{font-size:32px;line-height:1.8}.written-row>span{min-height:52px}.focus-place{background:#edf2e7}.written-result{border-top:2px solid #68745e;padding-top:10px;margin-top:8px}.write-space{border-bottom:1px solid #98a28d;height:30px!important;min-height:30px!important;margin:0 12px 10px}.exchange-row{font-size:17px;color:#657b52;line-height:1.3}.exchange-row>span{min-height:28px}.exchanged-digit{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#6a7d5c}.exchange-example{max-width:440px;margin:22px auto 0;padding-top:15px;border-top:1px solid var(--line);text-align:center;font-size:16px;line-height:1.6}
/* Labels remain text at every screen size. Only dense axes scroll. */
.line-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.number-track{min-width:calc(var(--line-width) + 72px);padding:90px 36px 72px}.line-rail{position:relative;height:2px;background:#495540}.line-tick{position:absolute;top:-6px;width:1px;height:14px;background:#495540}.line-label{position:absolute;top:18px;transform:translateX(-50%);font-size:15px;white-space:nowrap;line-height:1.3}.line-mark{position:absolute;top:0;width:0}.line-mark>i{position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#47583b}.line-mark>span{position:absolute;bottom:22px;left:0;transform:translateX(-50%);white-space:nowrap;font-size:16px;line-height:1.2}.line-mark.lane-1>span{bottom:54px}.line-mark.lane-1:after{content:'';position:absolute;left:0;top:-44px;width:1px;height:38px;background:#8f9a85}.line-interval{position:absolute;height:12px;bottom:12px;left:0;border:2px solid #879c73;border-bottom:0}.line-interval:after{content:'';position:absolute;left:-2px;right:-2px;top:-2px;border-top:2px solid #879c73}.rounding-model{padding:65px 30px 80px}.rounding-line{height:2px;background:#495540;position:relative}.rounding-tick{position:absolute;top:-6px;width:1px;height:14px;background:#495540}.rounding-tick.start,.rounding-label.start{left:0}.rounding-tick.end,.rounding-label.end{left:100%}.rounding-label{position:absolute;top:18px;transform:translateX(-50%);font-size:16px;white-space:nowrap}.rounding-point{position:absolute;width:0}.rounding-point>span{position:absolute;bottom:18px;transform:translateX(-50%);font-size:21px;white-space:nowrap}.rounding-point>i{position:absolute;width:9px;height:9px;background:#526b3f;border-radius:50%;left:-4px;top:-4px}.rounding-half.show-mid{position:absolute;left:50%;width:1px;height:25px;top:-10px;background:#6d7a60}.rounding-middle{position:absolute;left:50%;top:22px;transform:translateX(-50%);font-size:16px;text-align:center}.rounding-middle small{display:block;font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap}
.whole-parts{max-width:580px;margin:auto}.whole-label{border:1px solid #859478;border-bottom:0;padding:10px 12px;display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap}.whole-label>span{font-size:13px;color:var(--muted)}.whole-label>strong{font-size:24px;font-weight:500}.parts-bar{display:flex;border:1px solid #859478;min-height:65px}.parts-bar>div{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 4px;background:#edf2e7;text-align:center;overflow-wrap:anywhere;font-size:20px}.parts-bar>div+div{border-left:1px solid #859478}.parts-bar .unknown-part{background:#fff}.parts-bar small{font-size:12px;line-height:1.4}.whole-parts .math-number{white-space:normal}
@media(max-width:600px){.reader-heading h1{font-size:15px}.reader-toolbar{margin-bottom:8px}.reader-controls{margin-bottom:18px}.reader-controls summary{font-size:12px}.reader-controls{gap:12px}.question-picker>summary{white-space:normal}.book-reminder{font-size:12px}.help-toggle{font-size:15px}.model-heading{font-size:12px;gap:10px}.model-heading button{font-size:12px}.model-wrap{padding:18px 12px}.hint-copy{font-size:17px}.hint-navigation button{font-size:12px}.model-caption{font-size:12px}.unit-tiles{gap:6px}.unit-tiles span{font-size:16px;min-height:40px}.exchange-group{padding:10px}.exchange-equivalence{font-size:16px;gap:12px}.value-heading strong{font-size:15px}.value-heading>span{font-size:10px}.value-pieces{padding:10px 3px;gap:6px}.value-coin{width:36px;height:36px;font-size:10px}.written-row{font-size:29px}.written-head{font-size:11px}.exchange-row{font-size:15px}.exchange-example{font-size:14px}.whole-label>strong{font-size:21px}.parts-bar>div{font-size:17px}.parts-bar small{font-size:11px}.large-text .hint-copy{font-size:21px}.model-dialog{width:calc(100% - 20px);padding:16px}.model-dialog h2{font-size:18px}#large-model{padding:22px 8px}.model-zoom{margin-bottom:10px}}
@media print{.help-toggle,.hint-navigation,.hint-count,.model-zoom{display:none!important}.guided-panel{display:block!important}.guided-hint{display:none}.model-wrap{padding:10px 0}.model-heading{font-size:9pt}.value-heading strong{font-size:10pt}.value-coin{width:25px;height:25px;font-size:7pt}.written-row{font-size:19pt}.exchange-row{font-size:10pt}.written-head{font-size:8pt}.number-track{min-width:0}.line-label{font-size:8pt}.line-mark>span{font-size:9pt}.unit-tiles span{font-size:11pt;min-height:30px}}

.hint-navigation{scroll-margin-bottom:100px}#large-model{width:100%;min-width:0;zoom:var(--model-zoom,1)}

.model-comparison{grid-template-columns:minmax(0,1fr)}.comparison-item{min-width:0}.unit-tiles{grid-template-columns:repeat(var(--units),minmax(0,1fr))}.ten-rod{width:14px;height:140px}.one-block{width:14px;height:14px}
@container(max-width:260px){.unit-tiles.long-values{grid-template-columns:repeat(2,minmax(0,1fr))}}

.unit-array{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:7px;max-width:320px;margin:auto}.unit-array>span{display:grid;place-items:center;aspect-ratio:1;border:1px solid #829174;border-radius:50%;background:#e9eee3;font-size:14px}.plain-square-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);width:min(100%,180px);margin:auto}.plain-square-grid>i{aspect-ratio:1;border:1px solid #829174;margin-right:-1px;margin-bottom:-1px}.counter.blank{background:transparent}
