/* Colour encodes mathematical roles: teal given, amber change, violet unknown. */
.model-lesson{font-family:'Trebuchet MS',Arial,sans-serif;color:#173e44;width:100%;display:grid;gap:14px;min-width:0;line-height:1.45}
.model-lesson .ml-svg{display:block;width:100%;height:auto;max-height:340px;margin:auto;overflow:visible}
.model-lesson .ml-svg text{font-family:'Trebuchet MS',Arial,sans-serif!important;font-weight:500}
.ml-equation{font-size:25px;text-align:center;line-height:1.55;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}
.ml-equation.check{border-top:1px solid #bcdcd2;padding-top:10px;color:#31725e}
.ml-blank{display:inline-block;color:#7753a3;background:#f0e8f8;border-radius:6px;padding:0 4px;min-width:1.25em}
.ml-note{font-size:16px;text-align:center;margin:0;color:#426a6b}
.ml-key-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ml-key{display:inline-flex;padding:5px 11px;border-radius:7px;background:#d6f0e8;color:#126d66;font-size:15px;font-weight:600}
.ml-key.amber{background:#ffe0a0;color:#884409}.ml-key.coral{background:#f9d7cf;color:#9a4139}.ml-key.violet{background:#ece2f6;color:#68428f}
.ml-measures{display:grid;grid-template-columns:repeat(var(--measure-cols),minmax(0,1fr));gap:12px;justify-content:center;padding:17px 3px 5px}
.ml-jug,.ml-weight{position:relative;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:22px;gap:8px}
.ml-jug{border:2px solid #278aaf;border-top-width:1px;border-radius:4px 4px 15px 15px;overflow:hidden;background:#fff}
.ml-water{position:absolute;inset:34% 0 0;background:#c8eaf3;border-top:2px solid #54b6cd}
.ml-jug strong,.ml-jug small{position:relative;z-index:1}.ml-jug small,.ml-weight small{font-size:16px}
.ml-jug-ticks{position:absolute;inset:15px 4px 13px auto;width:8px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 13px,#5999ae 13px,#5999ae 14px)}
.ml-weight{background:#d6ede1;border:2px solid #528c72;border-radius:14px 14px 7px 7px;margin-top:4px;box-shadow:inset 0 -5px #bbdbc9}
.ml-weight-handle{position:absolute;width:23px;height:17px;border:4px solid #528c72;border-radius:11px;top:-16px;left:calc(50% - 12px)}
.ml-conversion-pair,.ml-role-row,.ml-split-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.ml-card{padding:10px 14px;min-width:65px;display:grid;gap:4px;text-align:center;background:#e8f5ef;border:1px solid #aad1bf;border-radius:10px}
.ml-card small{font-size:14px;color:#426a63}.ml-card strong{font-size:25px;font-weight:600}
.ml-card.unknown{color:#7753a3;background:#f1eaf7;border-color:#ccb5e0}.ml-card.second{background:#fff0cf;border-color:#e0ba6e}
.ml-card.focus{background:#ffe0a0;border:2px solid #c67a2f;color:#7d440d}
.ml-operation{font-size:21px;color:#a15c14}.ml-unit-caption{display:flex;align-items:center;justify-content:center;gap:22px;font-size:23px}.ml-unit-caption>span{color:#ab792f}
.ml-time-blocks{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.ml-time-blocks>div{display:grid;justify-items:center;gap:5px;min-width:92px;padding:9px;background:#fff2d8;border-radius:12px;border:1px solid #e6c87f}.ml-mini-clock{font:42px/1 Arial;color:#aa661a}.ml-time-blocks strong{font-size:19px}.ml-time-blocks small{font-size:15px}
.ml-groups{display:grid;grid-template-columns:repeat(var(--groups),minmax(0,1fr));gap:10px}.ml-group{padding:9px;display:flex;align-content:center;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;min-height:44px;border:1.5px solid #5ca99a;border-radius:11px;background:#f4fcf7}.ml-group.focus{background:#ffeac1;border:2px solid #cb8b32}.ml-group strong{font-size:23px}
.ml-dot{display:inline-block;flex:none;width:13px;height:13px;border-radius:50%;background:#087f81}.ml-dot.second{background:#d15b4d}
.ml-hundred-rack{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.ml-counter{display:inline-grid;place-items:center;border-radius:50%;width:40px;height:40px;background:#c5eadb;border:1.5px solid #27816d;font-size:14px;position:relative}.ml-counter.second{background:#ffdfaa;border-color:#c5832a}.ml-counter.removed{background:#f8ded8;color:#9a4139}.ml-counter.removed:after{content:'';position:absolute;inset:50% 1px auto;border-top:2px solid #b7493f;transform:rotate(-40deg)}
.ml-exchange{border:2px dashed #c89a4e;padding:10px;display:flex;justify-content:center;gap:15px;align-items:center;border-radius:12px}.ml-unit-fact{padding:10px;border-radius:12px;background:#f3f7f2}.ml-unit-fact>.ml-equation:nth-child(2){font-size:18px;color:#a56822}
.ml-terms{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.ml-terms>.ml-card{min-width:55px;padding:10px}.ml-terms>.ml-card strong{font-size:24px}.ml-terms>span{font-size:24px}
.ml-scaled-counters{display:grid;grid-template-columns:repeat(var(--cols),max-content);justify-content:center;gap:6px}.ml-scaled-counters .ml-counter{width:32px;height:32px;font-size:12px}
.ml-place-table{border-collapse:separate;border-spacing:6px;width:100%;table-layout:fixed;text-align:center}.ml-place-table th{font-size:16px;color:#47756d;padding:8px 2px}.ml-place-table td{font-size:31px;background:#edf6f0;border-radius:9px;border:1px solid #c9ded2;padding:13px 3px}.ml-place-table .focus{background:#ffe0a0;border:2px solid #c17c29}.ml-place-table .matched{color:#90a49a;background:#f5f8f4}
.ml-fraction-strip{display:grid;grid-template-columns:repeat(var(--parts),1fr);width:100%;height:33px;border:1.5px solid #579382;border-radius:4px;overflow:hidden}.ml-fraction-strip>span{border-right:1px solid #579382;background:#fff}.ml-fraction-strip>span:last-child{border-right:0}.ml-fraction-strip .filled{background:#6dc2a8}.ml-fraction-parts{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;align-items:center}.ml-fraction-parts>b{grid-column:1/-1;text-align:center;font-size:24px}
.model-lesson :is(.ml-steps,.ml-candidates){display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
@media(max-width:700px){.model-lesson{gap:9px}.ml-equation{font-size:21px}.ml-note{font-size:14px}.ml-jug,.ml-weight{min-height:82px;font-size:20px}.ml-jug small,.ml-weight small{font-size:13px}.ml-measures{gap:8px}.ml-card{padding:7px 9px}.ml-card strong{font-size:22px}.ml-card small{font-size:12px}.ml-counter{width:31px;height:31px;font-size:11px}.ml-hundred-rack{gap:5px}.ml-role-row{gap:6px}.ml-scaled-counters{gap:4px}.ml-scaled-counters .ml-counter{width:24px;height:24px;font-size:10px}.model-lesson .ml-svg{max-height:280px}.ml-place-table td{font-size:27px;padding:8px 2px}}
.ml-loose{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;max-width:350px;margin:auto;padding:8px}.ml-leftovers{padding:7px;border-radius:9px;background:#fbe7d5;text-align:center}.ml-tents .ml-group{border-radius:30px 30px 6px 6px;border-top:5px solid #499c83;min-height:60px}.ml-group.ml-extra{border-color:#cf8b39;background:#fff0ce}.ml-empty-dot{width:13px;height:13px;border:1px dashed #bb924e;border-radius:50%}.ml-part-bar{display:flex;min-height:70px;border:2px solid #619a84;border-radius:7px;overflow:hidden}.ml-part-bar>div{display:grid;place-items:center;padding:6px 3px;min-width:25px;background:#d2ebdf;font-size:23px}.ml-part-bar>div+div{border-left:2px solid #619a84}.ml-part-bar .unknown{background:#eee3f7;color:#7753a3}.ml-part-bar .active{background:#ffe3ad}.ml-fraction-wholes{display:grid;gap:13px}.ml-fraction-wholes>div>span{font-size:14px;display:block;margin-bottom:4px;color:#55746c}.ml-fraction-wholes .ml-fraction-strip>span{font-size:13px;display:grid;place-items:center;color:#2e6757}.ml-fraction-strip .grouped{background:#ffd689}.ml-digit-row{display:flex;justify-content:center;gap:8px}.ml-digit-row>span{padding:10px 15px;border-radius:10px;background:#d6eee3;font-size:32px}.ml-digit-row .focus{background:#ffe0a0}.ml-flow{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap}.ml-flow>strong{padding:14px;min-width:63px;background:#d6eee3;border-radius:9px;text-align:center;font-size:26px}.ml-flow>.unknown{background:#eee3f7;color:#7753a3}.ml-flow-arrow{display:grid;text-align:center;font-size:25px;color:#648478}.ml-flow-arrow small{font-size:17px}.ml-flow-arrow.active{color:#b4711a}.ml-area-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);width:min(100%,270px);margin:auto;border:2px solid #406f8d}.ml-area-grid>span{aspect-ratio:1;border:1px solid #7b9aab;display:grid;place-items:center;background:white;font-size:21px}.ml-area-grid>.blue{background:#88bddd}.ml-pairs{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.ml-pairs>span{display:flex;gap:5px;padding:7px;border:1px solid #79ad96;border-radius:9px;background:#e2f2e8}.ml-pairs>.odd{background:#f9d7cf;border-color:#ca8378}

.ml-fraction-parts{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.ml-fraction-parts>div{flex:1;min-width:140px;display:grid;gap:9px}.ml-fraction-parts>b{flex:0 0 25px}.ml-fraction-strip .added{background:#ffd58a}.ml-fraction-strip .exchange{background:#ffd58a;border:2px solid #bd7527}.ml-fraction-strip .removed{background:repeating-linear-gradient(135deg,#f8d7cf 0,#f8d7cf 11px,#ac4940 12px,#ac4940 14px)}
.ml-place-table .removed{text-decoration:line-through;text-decoration-color:#c75648;background:#f9d7cf}.ml-place-counters{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ml-place-counters>div{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #a7c2b5;border-radius:9px;padding:8px}.ml-place-counters small{margin-bottom:5px;font-size:18px}
.ml-calendar-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.ml-calendar-units>div{flex:1;min-width:140px;text-align:center;display:grid;gap:6px}.ml-calendar-units .ml-area-grid>span{font-size:15px}.source-hint-focus{display:grid;gap:14px;max-width:510px;margin:auto}.source-hint-focus p{margin:0;display:flex;gap:12px;font-size:18px;line-height:1.65}.source-hint-focus strong{background:#ffdf9f;flex:0 0 28px;align-self:flex-start;border-radius:6px;text-align:center;color:#8a4e12}.ml-systematic-ones .ml-place-table td{padding:4px;font-size:20px}

.ml-compact-table{border-spacing:4px}.ml-compact-table td{font-size:19px;padding:7px 3px}.ml-compact-table th{font-size:14px;padding:3px}.ml-column-table td{padding:5px}.ml-column-table .ml-carry-row td{font-size:17px;background:#ffe0a0;height:25px}.ml-day-halves{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}

@media(max-width:700px){.ml-tents .ml-group{min-height:43px;padding:6px;gap:4px}.ml-tents .ml-dot,.ml-tents .ml-empty-dot{width:10px;height:10px}.ml-tents{gap:6px}.ml-tents~.ml-note{font-size:13px}}
