.semantic-model{font-family:'Trebuchet MS',Arial,sans-serif;color:#244968;font-size:18px;line-height:1.45;min-width:0;width:100%;display:grid;gap:15px;align-content:center}
.semantic-model .semantic-note{font-size:15px;line-height:1.5;text-align:center;margin:0}
.semantic-model .semantic-equation{font-size:22px;line-height:1.5;text-align:center;margin:0;overflow-wrap:anywhere}
.semantic-model .semantic-total{display:flex;justify-content:center;align-items:baseline;gap:10px;margin:0;font-size:16px}
.semantic-model .semantic-total strong{font-size:25px;font-weight:600}
.semantic-cards{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.semantic-cards>div{min-width:48px;text-align:center;padding:10px 12px;border:1px solid #c0d1de;border-radius:10px;background:#f1f7fb;font-size:23px}
.semantic-cards small{display:block;font-size:17px;margin-top:6px}
.semantic-cards>div:has(.semantic-operation){background:none;border:0;padding:0;min-width:20px}
.semantic-operation{font-size:24px;color:#426984}
.semantic-unit{font-size:.8em}
.semantic-unknown{color:#795c9c;display:inline-block;min-width:1.3em;padding:0 3px;border-bottom:2px solid #b49ac9}
.semantic-table{border-collapse:collapse;width:100%;table-layout:fixed;font-family:'Trebuchet MS',Arial,sans-serif;font-size:20px;background:#fff}
.semantic-table th,.semantic-table td{border:1px solid #aabfce;padding:13px 8px;text-align:center;vertical-align:middle;overflow-wrap:anywhere}
.semantic-table th{background:#e7f1f8;color:#315b7b;font-size:18px;font-weight:500}
.route-sections{display:grid;grid-template-columns:repeat(var(--route-cols),minmax(0,1fr));gap:6px;width:100%}
.route-sections>div{height:52px;display:grid;place-items:center;border:1.5px solid #7fa5bf;border-radius:7px;background:#fff;font-size:17px;white-space:nowrap}
.route-sections .completed{background:#c5e0ee;border-color:#4f8bad;color:#204f70}
.semantic-key{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;font-size:15px}
.semantic-key>span{display:flex;gap:6px;align-items:center}
.semantic-key i{display:inline-block;width:15px;height:15px;border:1px solid #83a4bb;background:#fff}
.semantic-key i.completed{background:#c5e0ee}
.measure-groups{display:grid;grid-template-columns:repeat(var(--measure-cols),minmax(0,1fr));gap:10px;justify-content:center}
.measure-group{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px solid #73a2c0;border-top-width:1px;border-radius:5px 5px 18px 18px;background:linear-gradient(to top,#c9e3f2 65%,#fff 65%);min-height:102px;padding:10px 3px}
.measure-group strong{font-size:23px;font-weight:600}.measure-group span{font-size:17px;color:#315e79}
.semantic-bar{display:flex;min-height:70px;border:2px solid #719bb6;border-radius:7px;overflow:hidden}
.semantic-bar>div{display:flex;align-items:center;justify-content:center;padding:10px 3px;font-size:22px;background:#e5f1f8}
.semantic-bar>div+div{border-left:2px solid #719bb6;background:#fbfcfd}
.semantic-discs,.semantic-disc-row{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
.semantic-disc{display:grid;place-items:center;flex:none;width:43px;height:43px;border:1.5px solid #4f83a7;border-radius:50%;background:#c8e2f2;font-size:16px;position:relative}
.semantic-disc-row.second .semantic-disc{background:#f1d9ad;border-color:#b8873b}
.semantic-disc.removed:after{content:'';position:absolute;width:45px;border-top:2px solid #946441;transform:rotate(-40deg)}
.unit-bundles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.unit-bundles>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;border:1px solid #acc3d3;border-radius:8px;padding:7px 3px;font-size:16px}
.unit-bundles .semantic-disc{width:32px;height:32px;font-size:14px}
.semantic-column{width:min(100%,400px);margin:auto;display:grid;gap:3px}
.semantic-column-head,.semantic-column-row{display:grid;grid-template-columns:28px repeat(var(--places),minmax(0,1fr));text-align:center;align-items:center}
.semantic-column-head{font-size:14px;color:#668197}.semantic-column-row{font-size:30px;line-height:1.8}.semantic-column-row .missing{color:#795c9c;background:#f4edf8}.semantic-column-row.result{border-top:2px solid #4f7894}
.divisibility-cards{display:grid;gap:18px}.divisibility-groups{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.divisibility-groups>div{display:grid;grid-template-columns:repeat(var(--group-size),9px);gap:3px;padding:6px;border:1px solid #9eb8c9;border-radius:6px}.semantic-dot{display:block;width:9px;height:9px;border-radius:50%;background:#4c88ad}.divisibility-groups .remainder{border-color:#d29d4b;background:#fcf3e4}
.pair-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:10px auto}.pair-grid>span{display:flex;gap:4px;border:1px solid #b9cbd7;border-radius:6px;padding:5px}.pair-grid i{width:10px;height:10px;border-radius:50%;background:#4d89b0}.pair-grid .unpaired{border-color:#cb9b51;background:#fff3df}.parity-model>div{text-align:center}
.equal-area-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);aspect-ratio:var(--cols)/var(--rows);width:min(100%,340px);margin:auto;border:1px solid #527f9d}
.equal-area-grid i{display:block;border:1px solid #789bb2;background:#fff}.equal-area-grid i.blue{background:#88bddd}
.semantic-svg{display:block;max-width:100%;height:auto;margin:auto}
.source-task-image{display:block;width:100%;height:auto;max-height:100%;object-fit:contain}
.book-answer-copy .semantic-model{font-size:17px;gap:10px}.book-answer-copy .semantic-model .semantic-equation{font-size:20px}
@media(max-width:700px){.semantic-model{font-size:17px;gap:10px}.semantic-model .semantic-equation{font-size:20px}.semantic-table th,.semantic-table td{padding:10px 6px}.semantic-table th{font-size:16px}.semantic-table{font-size:20px}.route-sections>div{height:43px;font-size:15px}.measure-group{min-height:86px}.measure-group strong{font-size:21px}.measure-group span{font-size:15px}.semantic-cards{gap:8px}.semantic-cards>div{font-size:21px;padding:8px}.semantic-key{font-size:13px;gap:6px 12px}}
@media print{.semantic-model{break-inside:avoid}.semantic-table{font-size:12pt}.semantic-cards>div{font-size:14pt}.route-sections>div{font-size:11pt;height:30px}.measure-group{min-height:60px}.semantic-model .semantic-equation{font-size:13pt}}

.semantic-flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}.semantic-flow strong{display:grid;place-items:center;min-width:65px;min-height:58px;border:1.5px solid #91b1c7;border-radius:8px;background:#e8f3fa;font-size:23px;font-weight:500}.semantic-flow-operation{font-size:19px}.role-target{border:2px solid #b99755!important;background:#fff4da!important}.factor-groups{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.factor-groups>div{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;align-items:center;border:1.5px solid #8eb1c7;border-radius:9px;padding:10px;max-width:100px}.factor-groups .semantic-dot{width:13px;height:13px}.semantic-fit>.learning-model{position:static!important}

.source-task-badge{display:block;font:10px/1.4 'Trebuchet MS',Arial,sans-serif;color:#607f61;background:#edf4e9;border-radius:5px;padding:3px 6px;width:fit-content;margin-top:3px}.source-snippet-page{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;min-width:0}.source-snippet-window{overflow:hidden;max-width:100%;flex:none;background:#fff}.source-snippet-window img{display:block;max-width:none;object-fit:contain;transform-origin:top left}.source-snippet-credit{font:10px/1.4 'Trebuchet MS',Arial,sans-serif;color:#637a8b;margin:4px 0 0;text-align:center;max-width:100%}.source-task-model{display:block}.source-task-model .source-task-image{max-height:none}#large-model .source-task-image{width:100%;height:auto;max-height:none}

.model-comparison .comparison-label{display:inline-flex;align-items:center;justify-content:flex-start;width:auto;height:auto;min-width:24px;max-width:100%;padding:4px 7px;border-radius:6px;font-size:13px;line-height:1.45;white-space:normal;text-align:left;overflow-wrap:normal}
