#scene [data-ma-category][data-ma]{cursor:pointer;outline:none}
#scene [data-ma-category][data-ma]:hover>rect,#scene [data-ma-category][data-ma]:focus>rect{stroke:#8B7457;stroke-width:3;fill:#FAF1DA}
#modelControls [data-ma]{color:#635343;background:#FFF9EC;border-color:#D9C9A8}
@media(prefers-reduced-motion:reduce){#scene [data-meaningful-art] *{animation:none!important;transition:none!important}}
#scene:has(.ma45-board){overflow:auto;align-items:center;justify-content:center;padding:3px 6px}
.ma45-board{width:100%;color:#514b61;display:flex;flex-direction:column;gap:4px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.ma45-heading{text-align:center;font-size:13px;line-height:1.3;color:#656184}
.ma45-categories{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ma45-card{border:1px solid #b9c7c4;border-radius:8px;background:#fffdf4;padding:3px 2px;text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center}
.ma45-card[data-ma]{cursor:pointer}.ma45-card[data-ma]:hover,.ma45-card[data-ma]:focus-visible{border-color:#957a53;background:#fbf0d5;outline:2px solid #c9ad75;outline-offset:-2px}
.ma45-symbols{display:flex;gap:1px;align-items:center;justify-content:center;height:20px;flex:none}
#scene .ma45-icon{width:19px;height:19px;max-height:none;flex:none}
.ma45-label{font-size:12px;line-height:1.35;min-height:33px;display:flex;align-items:center;justify-content:center;flex-direction:column;white-space:normal}.ma45-label.ma45-long{font-size:10px}
.ma45-people{display:grid;grid-template-columns:repeat(4,12px);gap:1px;min-height:38px;align-content:start;justify-content:center}
#scene .ma45-person{width:12px;height:12px;max-height:none;display:block;flex:none}
.ma45-count{font-size:12px;line-height:1.3;margin-top:2px;color:#5c6570}
.ma45-waiting{display:flex;gap:9px;align-items:center;justify-content:center;font-size:11px;line-height:1.3;flex:none}.ma45-waiting-people{display:flex;gap:9px}.ma45-waiting-many .ma45-waiting-people{display:grid;grid-template-columns:repeat(15,12px);gap:2px 9px}.ma45-footer{font-size:11px;line-height:1.3;text-align:center;color:#686044}
@container mathapp (max-height:520px){.ma45-board{gap:2px}.ma45-heading{font-size:11px;line-height:1.2}.ma45-categories{gap:3px}.ma45-card{padding:2px 1px;border-radius:6px}#scene .ma45-icon{width:16px;height:16px}.ma45-symbols{height:17px;gap:0}.ma45-label{font-size:11px;min-height:28px;line-height:1.25}.ma45-label.ma45-long{font-size:9px}.ma45-count{font-size:11px;margin:0}.ma45-footer{font-size:10px;line-height:1.2}.ma45-people{min-height:38px}}
.ma58-board{width:100%;display:flex;flex-direction:column;gap:8px;text-align:center;font:13px/1.4 "PingFang SC","Microsoft YaHei",sans-serif;color:#514b61}
.ma58-target{align-self:center;padding:3px 12px;background:#e4eddf;border:1px solid #b9cbb1;border-radius:10px;color:#546b4b;font-weight:600}
.ma58-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ma58-card{border:1px solid #c5c3b4;border-radius:10px;background:#fffdf5;padding:7px 3px}.ma58-card strong{display:block;font-size:13px;font-weight:600}.ma58-mass{display:flex;width:90%;height:15px;margin:8px auto 5px;border:1px solid #a7b2ae;border-radius:4px;overflow:hidden}.ma58-sugar{background:#d7b26e}.ma58-water{background:#aacbd2}.ma58-card em{display:block;font-style:normal;color:#8d7145;margin-top:3px}.ma58-equation{font-weight:600;font-size:15px}.ma58-board small{font-size:11px;color:#7d7667}
@container mathapp (max-height:520px){.ma58-board{gap:3px;font-size:10px;line-height:1.2}.ma58-target{padding:2px 5px;font-size:11px}.ma58-cards{gap:4px}.ma58-card{padding:3px 1px;border-radius:7px}.ma58-card strong{font-size:10px}.ma58-mass{height:11px;margin:4px auto}.ma58-card em{margin-top:2px;font-size:10px}.ma58-equation{font-size:12px}.ma58-board small{font-size:9px}}
@container mathapp (max-height:520px){.ma45-people{min-height:26px}.ma45-hands .ma45-categories{gap:3px}.ma45-hands .ma45-waiting{min-height:12px}}

/* Lesson 45: one visual language across explanation, play, practice and check. */
.ma45-card{background:linear-gradient(#fff8e9 0 43px,#fffdf8 43px);border:1.5px solid #b6c8bd;border-radius:13px;box-shadow:0 2px 0 #e4e4cf;padding:7px 3px}
.ma45-symbols{height:34px;gap:2px}#scene .ma45-icon{width:30px;height:30px}
.ma45-label{font-size:14px;min-height:40px}.ma45-label.ma45-long{font-size:12px}
.ma45-people{grid-template-columns:repeat(4,18px);gap:3px;min-height:60px;padding-top:3px}#scene .ma45-person{width:18px;height:18px}
.ma45-count{font-size:15px;font-weight:650}.ma45-waiting{font-size:12px}.ma45-waiting-many .ma45-waiting-people{grid-template-columns:repeat(15,18px);gap:3px}
.ma45-card[data-pw]{cursor:pointer;touch-action:manipulation}.ma45-card[data-pw]:hover,.ma45-card[data-pw]:focus-visible{outline:2px solid #8caf91;outline-offset:1px;background:#fff4d8}
#scene [data-practice-tool="drawers"] .pw-canvas{flex:0 0 auto;min-height:0}#scene [data-practice-tool="drawers"]{justify-content:safe center;gap:6px}
#scene [data-practice-tool="drawers"] .pw-controls button{min-height:36px}
@container mathapp (max-height:520px){
 .ma45-card{padding:3px 1px;border-radius:8px;background:linear-gradient(#fff6e5 0 25px,#fffdf8 25px)}
 .ma45-symbols{height:23px;gap:0}#scene .ma45-icon{width:20px;height:20px}
 .ma45-label{font-size:11px;min-height:29px;line-height:1.25}.ma45-label.ma45-long{font-size:9px}
 .ma45-people{grid-template-columns:repeat(4,13px);gap:1px;min-height:29px;padding-top:1px}#scene .ma45-person{width:13px;height:13px}
 .ma45-count{font-size:12px}.ma45-waiting{gap:4px;font-size:11px}.ma45-waiting-many .ma45-waiting-people{grid-template-columns:repeat(15,13px);gap:1px 3px}
 #scene [data-practice-tool="drawers"]{gap:3px}#scene [data-practice-tool="drawers"] .pw-controls{gap:4px}
 #scene [data-practice-tool="drawers"] .pw-controls button{min-height:28px;font-size:11px;padding:3px 7px}
 #scene [data-practice-tool="drawers"] .pw-note{font-size:11px;line-height:1.3}
}

.ma45-waiting-many{width:100%;align-items:center}.ma45-waiting-many .ma45-waiting-people{flex:1;grid-template-columns:repeat(auto-fit,18px);justify-content:center;gap:3px}
.ma45-solution{width:100%;align-self:flex-start}.ma45-solution details{font-size:13px;margin-top:5px;line-height:1.5}.ma45-solution summary{cursor:pointer;color:#54796b}.ma45-solution p{margin:5px 0}
@container mathapp (max-height:520px){
 #courseApp[data-lesson="45"] #stageLabel{display:none}
 .ma45-label.ma45-long{font-size:11px}
 .ma45-people{grid-template-columns:repeat(4,14px);min-height:29px}#scene .ma45-person{width:14px;height:14px}
 .ma45-waiting-many .ma45-waiting-people{grid-template-columns:repeat(auto-fit,14px);gap:1px}
 .ma45-solution details{font-size:11px;margin-top:3px}
}

.ma45-guide button{display:block;width:100%;margin:5px 0;font-size:13px;min-height:34px;padding:5px 3px}
@container mathapp (max-height:520px){
 #courseApp[data-lesson="45"] #scene{padding-top:0;padding-bottom:0}
 .ma45-card{padding:2px 1px}.ma45-symbols{height:20px}
 .ma45-label,.ma45-label.ma45-long{font-size:11px;min-height:26px;line-height:1.15}
 .ma45-people{gap:0;min-height:28px;padding:0}.ma45-count{font-size:11px;line-height:1.2}
 .ma45-guide p{margin:6px 0}.ma45-guide button{font-size:11px;min-height:29px;margin:4px 0}
}
@container mathapp (max-height:520px){.ma45-card{padding-top:1px;padding-bottom:1px}.ma45-board{gap:0}.ma45-solution details{margin-top:1px;line-height:1.25}}
@container mathapp (max-height:520px){#courseApp[data-lesson="45"] #explanation{padding-left:34px}#courseApp[data-lesson="45"] #explanation:before{left:8px;top:4px;width:20px;height:20px}}
@container mathapp (max-height:520px){.ma45-people{grid-template-columns:repeat(5,14px)}}
@container mathapp (max-width:720px) and (max-height:520px){#courseApp[data-lesson="45"] .lesson-sidebar{width:90px}}

#courseApp[data-lesson="45"] #steps .ma45-guide button{border:1px solid #c7bc9c;background:#fff8e8;box-shadow:0 2px #e7ddc7;display:block;width:100%;font-size:13px;line-height:1.2;min-height:32px;padding:4px 2px;margin:6px 0}
@container mathapp (max-height:520px){#courseApp[data-lesson="45"] #steps .ma45-guide{padding:2px 3px}#courseApp[data-lesson="45"] #steps .ma45-guide p{font-size:11px;line-height:1.25;margin:3px 0 5px}#courseApp[data-lesson="45"] #steps .ma45-guide button{font-size:11px;min-height:27px;margin:5px 0;padding:3px 1px}}
