/* Scoped to MathViz; the diagram owns its aspect ratio and its box shrinks with it. */
.tp-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; align-items:center; }
.tp-story { background:#e3f2ff; border-radius:8px; padding:5px; margin:5px 0; font-size:14px; }
.tp-story>b { color:#b0175c; font-size:19px; font-weight:900; }.tp-story>strong{display:block;color:#143f92;margin-top:2px}
.tp-table { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:2px; font-size:21px; font-weight:850; }
.tp-table caption { font-size:13px; }
.tp-table th,.tp-table td { padding:3px; border-radius:5px; background:white; height:31px; }
.tp-table thead th { font-size:12px; background:#d6e7ff; color:#234386; }
.tp-table tbody th { background:#e9e0ff; color:#763bb3; }
.tp-table td:nth-child(2) { color:#bd2364; }.tp-table td:last-child{color:#056e90}
.tp-table .tp-current>* { outline:2px solid #e49b00; outline-offset:-2px; background:#fff1b8; }
.tp-table .tp-match>* { background:#c7f7df; color:#006340; }
.tp-understand { display:flex; flex-direction:column; gap:7px; }.tp-understand>strong{color:#8a4200;font-size:16px}
.tp-understand button { font-size:13px; text-align:right; }
.tp-scene { min-width:0; font-size:13px; }.tp-scene p{margin:4px 0;font-size:12px}
.tp-plan { padding:12px; background:#fff1bd; border-radius:12px; }.tp-plan button{display:block;margin:8px auto 0}
.tp-groups { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:5px; }
.tp-group,.tp-initial { border:2px solid #9782d1; background:#eee1ff; border-radius:10px; padding:4px; display:flex; flex-direction:column; min-width:45px; align-items:center; }
.tp-group:last-child { border-color:#e29800; background:#ffecad; }.tp-group>span{font-size:29px}.tp-group>small{font-size:10px}.tp-group>b,.tp-initial>b{font-size:23px;color:#7325a3}
.tp-animals { display:grid; grid-template-columns:1fr 1fr; gap:5px; }.tp-animals>div{border:2px solid #00a581;border-radius:10px;background:#d6fff1;padding:6px}.tp-animals>div:last-child{border-color:#c54781;background:#ffe1ef}.tp-animals>div>div{font-size:25px;overflow-wrap:anywhere}.tp-animals small{font-size:11px}
.tp-equation { display:flex; direction:rtl; gap:6px; flex-wrap:wrap; justify-content:center; align-items:center; font-size:27px; font-weight:900; margin:7px 0; color:#174d9c; }.tp-equation bdi:last-child{color:#087845}
.tp-final { background:#d0f9e5; color:#006846; padding:9px; border-radius:9px; font-size:18px; }.tp-final>b{font-size:30px}
.tp-lesson-scene { background:#edf7ff; border:1px solid #93c7e6; border-radius:12px; padding:6px; }
.tp-ratio { display:grid; grid-template-columns:1fr 1fr; gap:5px; font-size:22px; }
.tp-ratio>span { background:#e9deff; border-radius:8px; padding:5px; overflow-wrap:anywhere; }.tp-ratio>span:last-child{background:#ffe2ef}.tp-ratio b{display:block;font-size:12px}
.tp-pattern { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:5px; font-size:12px; }
.tp-pattern>span { color:#623497; }.tp-pattern>span:last-child{color:#b91968}.tp-pattern b{display:block;font-size:25px;direction:rtl}
.tp-lesson-icon { font-size:42px; }.tp-lesson-scene small{font-size:11px}.tp-followup{background:#fff0c4;border-radius:8px;padding:4px;margin-top:4px}
.mv-saudi-money { display:inline-block; width:1.5em; height:1.5em; vertical-align:middle; }
.tp-lesson-icon .mv-saudi-money { width:54px; height:54px; }
.tp-group .mv-saudi-money { width:30px; height:30px; }
.mv-saudi-amount { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:3px; max-width:100%; }
.mv-saudi-note { width:85px; height:33px; display:inline-block; overflow:hidden; }
.tp-group .mv-saudi-note { width:48px; height:19px; }
.tp-group .mv-saudi-amount { max-width:76px; }
.tp-group .mv-saudi-money { width:25px; height:25px; }
@media(max-width:600px){.tp-book.tp-long .tp-table{font-size:17px;line-height:1.1}.tp-book.tp-long .tp-table th,.tp-book.tp-long .tp-table td{height:18px;padding:1px}}
@media(max-width:600px){.tp-book .tp-table{line-height:1.15}.tp-book .tp-table th,.tp-book .tp-table td{height:22px}.tp-book .tp-story{line-height:1.4}.tp-book .tp-scene p{line-height:1.3}}
@media(max-width:600px),(max-height:480px){.tp-ratio{font-size:16px}.tp-ratio>span{padding:3px}.tp-ratio b{font-size:10px}.tp-lesson-scene{padding:4px}.tp-pattern{font-size:10px;margin-top:3px}.tp-pattern b{font-size:19px}.tp-lesson-icon{font-size:28px}.tp-lesson-scene .tp-equation{font-size:21px;margin:2px}.tp-followup p{font-size:10px;margin:2px}}
.tp-answer { display:flex; flex-wrap:wrap; gap:5px; align-items:center; justify-content:center; margin:5px 0; }.tp-answer input{width:85px;font-size:23px;font-weight:850;color:#1656a0}
.table-plan [data-param] { width:62px;font-size:20px;font-weight:850; }.table-plan [data-error]{color:#a83b00}.table-plan .dc-stages span{padding:2px 8px}
@media(max-width:600px){.tp-layout{grid-template-columns:1fr;gap:4px}.tp-story{font-size:12px;margin:3px 0;padding:4px}.tp-story>b{font-size:16px}.tp-table{font-size:19px;border-spacing:2px 1px}.tp-table th,.tp-table td{height:24px;padding:1px}.tp-table thead th{font-size:10px}.tp-understand{gap:3px}.tp-understand button{font-size:11px;padding:3px}.tp-understand>strong{font-size:12px}.tp-group>span{font-size:20px}.tp-group>b,.tp-initial>b{font-size:18px}.tp-group,.tp-initial{min-width:35px;padding:2px}.tp-groups{gap:3px}.tp-equation{font-size:23px;margin:3px 0}.tp-animals>div>div{font-size:20px}.tp-animals>div{padding:3px}.tp-final{padding:4px;font-size:15px}.tp-final>b{font-size:24px}.table-plan .dc-stages{font-size:10px;gap:3px}.table-plan .dc-stages span{padding:2px 5px}}
@media(max-height:480px) and (min-width:600px){.tp-layout{gap:5px}.tp-story{font-size:11px;margin:2px 0;padding:3px}.tp-story>b{font-size:14px}.tp-table{font-size:17px;border-spacing:2px 1px}.tp-table th,.tp-table td{height:20px;padding:0}.tp-table thead th,.tp-table caption{font-size:10px}.tp-equation{font-size:21px;margin:3px 0}.tp-group>span{font-size:21px}.tp-group>b,.tp-initial>b{font-size:18px}.tp-group,.tp-initial{min-width:35px;padding:2px}.tp-understand button{font-size:11px;padding:3px}.tp-understand{gap:4px}.tp-understand>strong{font-size:12px}.tp-animals>div>div{font-size:20px}.tp-final{padding:4px;font-size:15px}.tp-final>b{font-size:23px}.tp-scene p{font-size:10px}}
@media(max-width:600px){.tp-group{display:grid;grid-template-columns:20px auto;column-gap:2px;line-height:1.2}.tp-group>span{grid-row:1 / 3;grid-column:1;font-size:19px}.tp-group>small{font-size:9px}.tp-group>b{font-size:17px}.tp-initial{font-size:10px;padding:3px}.tp-initial>b{font-size:17px}}
@media(max-height:480px) and (min-width:600px){.tp-table{line-height:1.15}.tp-table th,.tp-table td{height:19px}.table-plan .dc-caption{line-height:1.3}}
.data-collection { max-width:1120px; margin:auto; text-align:center; color:#163778; line-height:1.4; }
.data-collection .dc-raw > :is(span,button) { line-height:1.25; }
.data-collection .dc-table-wrap button { line-height:1.35; }
.data-collection [hidden] { display:none!important; }
.data-collection h1 { font-size:21px; margin:3px 0; }
.dc-controls { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:5px; margin:5px 0; }
.data-collection label { display:inline-flex; flex-wrap:wrap; align-items:center; gap:4px; font-size:13px; }
.data-collection button,.data-collection select { color:#173f7c; background:#edf5ff; border:1px solid #91acd6; border-radius:8px; padding:4px 8px; font-weight:800; max-width:100%; }
.data-collection button:disabled { cursor:default; opacity:.6; }
.data-collection button:focus-visible { outline:3px solid #e37b00; outline-offset:2px; }
.data-collection button,.data-collection input,.data-collection select,.data-collection summary { scroll-margin-top:var(--dc-height,70vh); }
.dc-board { position:sticky; top:0; z-index:5; background:#f0f9ff; border:2px solid #84c8e5; padding:7px; border-radius:14px; box-shadow:0 3px 12px #173f7c18; }
.dc-stages { display:flex; justify-content:center; gap:6px; font-size:12px; }
.dc-stages span { padding:2px 12px; border-radius:20px; background:#e3e9f3; }
.dc-stages [aria-current] { color:white; background:#155fc8; font-weight:850; }
.dc-board h2 { font-size:18px; margin:4px 0; }
.dc-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:8px; align-items:center; }
.dc-data,.dc-table-wrap { min-width:0; }
.dc-progress { font-weight:850; color:#5d2793; font-size:13px; margin:3px; }
.dc-votes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin:5px 0; }
.dc-votes button { display:flex; align-items:center; justify-content:center; gap:5px; color:var(--dc-color); border-color:var(--dc-color); background:white; }
.dc-votes button span { font-size:24px; }
.dc-current { display:flex; flex-direction:column; gap:4px; border:3px solid var(--dc-color); border-radius:12px; background:white; padding:12px; margin:6px auto; color:var(--dc-color); max-width:270px; }
.dc-current b { font-size:27px; }.dc-current small { font-size:12px; }
.dc-complete { color:#00805b; font-size:18px; font-weight:850; margin:10px; }
.dc-raw { display:flex; flex-wrap:wrap; gap:3px; justify-content:center; align-content:center; padding:5px; border-radius:9px; background:#e5edfa; margin-top:5px; min-height:38px; }
.dc-raw > :is(span,button) { position:relative; display:inline-flex; gap:3px; align-items:center; padding:3px 5px; border:1px solid var(--dc-color,#adbcd4); color:var(--dc-color,#173f7c); border-radius:5px; background:white; font-size:12px; }
.dc-raw > .dc-sorted { opacity:.45; background:#d3f4e5; }
.dc-raw > :is(span,button):not([style]) { grid-column:1 / -1; }
.dc-raw b { color:#005d39; font-size:10px; }
.dc-table-wrap table { table-layout:fixed; width:100%; border-collapse:separate; border-spacing:0 3px; font-size:14px; }
.dc-table-wrap caption { font-weight:850; font-size:14px; }
.dc-table-wrap th:first-child { width:29%; }.dc-table-wrap th:last-child { width:17%; }
.dc-table-wrap th,.dc-table-wrap td { padding:4px; background:white; }
.dc-table-wrap thead th { color:#153a74; background:#d6eaff; font-size:12px; }
.dc-table-wrap tbody th { border-inline-start:4px solid var(--dc-color); border-radius:7px 0 0 7px; }
.dc-table-wrap tbody button { padding:4px 2px; width:100%; color:var(--dc-color); border:0; background:transparent; font-size:13px; }
.dc-table-wrap tbody button:disabled { opacity:1; }
.dc-tallies { display:flex; direction:rtl; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:3px; color:var(--dc-color); min-height:34px; }
.data-collection button.dc-current { border:3px solid var(--dc-color); color:var(--dc-color); background:white; cursor:grab; touch-action:none; user-select:none; align-items:center; width:100%; }
.data-collection button.dc-current:active { cursor:grabbing; }
.dc-held { opacity:.25; }
.data-collection .dc-raw button { min-height:24px; cursor:grab; touch-action:none; user-select:none; font-weight:500; }
.data-collection .dc-raw button:disabled { cursor:default; opacity:.45; }
.data-collection .dc-raw button.dc-held { opacity:.25; }
.dc-card-flight { position:fixed; z-index:10000; pointer-events:none; box-sizing:border-box; display:flex; justify-content:center; align-items:center; border:3px solid var(--dc-color); border-radius:12px; background:white; color:var(--dc-color); font-size:22px; box-shadow:0 6px 18px #14356340; direction:rtl; }
.dc-drop-hover > td,.dc-drop-hover > th { background:#fff1b6; outline:2px dashed #b76d00; outline-offset:-2px; }
.dc-counted > td,.dc-counted > th { background:#e1f9ed; }
.dc-tally { display:block; flex:none; width:38px; height:30px; }
.dc-tally path { stroke:currentColor; stroke-width:3; stroke-linecap:round; fill:none; }
.dc-tally .dc-fifth { stroke:#df2855; stroke-width:3.5; stroke-dasharray:50; }
.dc-count { font-size:28px; font-weight:900; color:var(--dc-color); }
.dc-count-story { padding:6px; background:#fff5cf; border:2px solid #e4aa00; border-radius:10px; font-size:14px; }
.dc-count-story p { font-size:12px; margin:5px 0; }
.dc-count-trail { display:flex; direction:rtl; flex-wrap:wrap; justify-content:center; gap:5px; margin:6px 0; }
.dc-count-trail b { padding:3px 7px; background:#e3d5ff; color:#62259a; border-radius:7px; font-size:23px; }
.dc-count-trail .one { background:#c9f5e5; color:#006e4b; }
.dc-counting-row > th { outline:2px solid #e3a400; outline-offset:-2px; }
.dc-tally.dc-five-counted { background:#eee1ff; border-radius:4px; }
.dc-tally.dc-count-focus { background:#ffe366; outline:2px solid #af6800; }
.dc-tally path.dc-one-counted { stroke:#008956; stroke-width:4; }
.dc-tally path.dc-stroke-focus { stroke:#af5800; stroke-width:6; }
.dc-frequency-written { background:#c9f8df!important; outline:2px solid #008552; outline-offset:-2px; }
@media(max-height:480px),(max-width:600px){.dc-count-story{padding:4px;font-size:12px}.dc-count-story p{font-size:11px;margin:3px}.dc-count-trail{margin:3px;gap:3px}.dc-count-trail b{font-size:20px;padding:2px 5px}}
.dc-key { display:flex; justify-content:center; align-items:center; gap:5px; color:#6d328f; font-size:12px; }
.dc-key .dc-tally { width:30px; height:25px; }
.dc-caption { padding:5px; margin:5px 0 0; font-size:13px; background:#fff0ba; color:#775019; border-radius:8px; }
.dc-quiz { background:#e3f8ed; border:1px solid #91d5b4; border-radius:8px; padding:5px; margin-top:5px; }
.dc-quiz small { font-size:11px; }.dc-quiz .dc-controls { margin:3px 0; }
.dc-feedback { border-radius:7px; background:#d9f9e8; color:#006342; font-weight:850; padding:5px; margin:4px 0; }.dc-feedback:empty{display:none}.dc-feedback[data-tone="warning"]{color:#923900;background:#fff0bf}
.dc-teacher { border:1px solid #afc4df; border-radius:9px; padding:6px; background:#f7f9ff; }.dc-teacher p{font-size:12px;margin:4px}
.dc-custom-rows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin:6px 0; }.dc-custom-rows label { justify-content:center; }
.dc-teacher input { max-width:100%; min-width:0; }.dc-teacher [data-label] { width:125px; }.dc-teacher [data-count] { width:50px; font-size:19px; font-weight:850; }
.dc-teacher [data-error] { color:#a73200; }.data-collection [data-auto][aria-pressed="true"] { background:#185eca; color:white; }
@media(max-width:600px){.dc-layout{grid-template-columns:1fr}.dc-board{padding:5px}.dc-board h2{font-size:16px}.dc-current{padding:4px;margin:3px auto}.dc-current b{font-size:22px}.dc-raw>:is(span,button){font-size:15px;padding:1px 4px}.dc-raw>:is(span,button)>span{display:none}.dc-raw{padding:3px;gap:2px}.dc-votes{grid-template-columns:repeat(2,minmax(0,1fr));margin:3px 0}.dc-votes button{font-size:12px;padding:3px}.dc-votes button span{font-size:18px}.dc-table-wrap th,.dc-table-wrap td{padding:2px}.dc-tallies{min-height:27px;gap:2px}.dc-tally{width:29px;height:25px}.dc-count{font-size:24px}.dc-key{font-size:11px}.dc-caption{font-size:12px;padding:3px}.dc-custom-rows{grid-template-columns:1fr}.dc-quiz{padding:3px}.dc-complete{margin:3px;font-size:15px}}
@media(max-height:480px) and (min-width:600px){.dc-board{padding:4px}.dc-board h2{font-size:14px;margin:2px}.dc-stages{font-size:10px}.dc-stages span{padding:1px 9px}.dc-table-wrap caption{font-size:11px}.dc-table-wrap th,.dc-table-wrap td{padding:1px}.dc-tallies{min-height:25px;gap:2px}.dc-tally{width:26px;height:24px}.dc-count{font-size:22px}.dc-table-wrap tbody button{font-size:11px;padding:2px}.dc-table-wrap thead th{font-size:10px}.dc-raw>:is(span,button){padding:1px 3px;font-size:14px}.dc-raw>:is(span,button)>span{display:none}.dc-raw{padding:3px}.dc-current{padding:5px;margin:3px}.dc-current b{font-size:22px}.dc-progress{font-size:11px}.dc-key{font-size:10px}.dc-caption{font-size:11px;padding:3px;margin-top:3px}.dc-quiz{padding:2px;margin-top:2px}.dc-quiz small{font-size:10px}.dc-quiz button,.dc-quiz select{font-size:11px;padding:2px 5px}.dc-votes button{padding:2px;font-size:11px}.dc-votes button span{font-size:18px}}
@media(max-height:480px) and (min-width:600px){.data-collection .dc-quiz button,.data-collection .dc-quiz select{min-height:26px}.data-collection .dc-table-wrap button{min-height:26px}.dc-complete{margin:3px}.dc-quiz{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px}.dc-quiz small{width:100%}.dc-quiz .dc-controls{margin:0}}
@media(max-width:600px),(max-height:480px){.data-collection .dc-raw{display:grid;grid-template-columns:repeat(10,minmax(0,1fr))}.data-collection .dc-raw>:is(span,button){padding:2px 0;justify-content:center}.data-collection .dc-raw b{position:absolute;top:-2px;right:0;font-size:9px}}
.column-addition { max-width:1120px; margin:auto; text-align:center; color:#163778; }
.sub-scene { min-height:100px; font-size:13px; }
.sub-corrected { color:#8135bd; font-weight:900; }
.sub-donor { background:#d4f7df!important; outline:2px solid #079d57; }
.sub-zero { background:#ffdda9!important; outline:2px solid #e57200; }
.column-subtraction s { text-decoration-color:#c62158; text-decoration-thickness:3px; opacity:.65; }
.sub-exchange { display:flex; direction:ltr; align-items:center; justify-content:center; gap:8px; }
.sub-source,.sub-destination { display:flex; flex-direction:column; align-items:center; gap:4px; direction:rtl; }
.sub-source { color:#8135bd; }.sub-destination { color:#006ecd; }
.sub-spent svg { opacity:.12; }
.column-subtraction .sub-source button { background:#f3e4ff; color:#8135bd; padding:4px; }
.sub-arrow { font-size:24px; color:#cd6100; }
.sub-ten { display:grid; grid-template-columns:repeat(5,auto); gap:3px; padding:5px; border:2px solid #efa300; background:#fff3b0; border-radius:8px; }
.sub-ten span { display:flex; justify-content:center; }
.sub-await { visibility:hidden; }
.sub-pieces { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px; padding:7px 0; }
.column-subtraction .sub-piece { position:relative; display:flex; align-items:center; justify-content:center; color:#0073d4; padding:4px; min-width:28px; min-height:28px; border:2px solid #9fc9ef; background:#e2f1ff; opacity:1; }
.column-subtraction .sub-piece.sub-removed { background:#ffe0e8; border-color:#d52158; color:#ad7285; }
.sub-removed svg { opacity:.35; }.sub-cross { position:absolute; inset:0; display:grid; place-items:center; font-size:23px; color:#b00037; text-shadow:0 0 3px white; }
.column-subtraction .sub-piece.sub-kept { color:#008955; background:#cbffe6; border-color:#009761; }
@media(max-width:420px),(max-height:480px){.sub-exchange{gap:4px}.sub-source small,.sub-destination small{font-size:10px}.sub-scene{font-size:11px;min-height:70px}.sub-ten{gap:2px;padding:3px}.column-subtraction .sub-piece{padding:2px;min-width:22px;min-height:22px}.sub-pieces{gap:3px;padding:4px 0}}
.column-addition [hidden] { display:none!important; }
.column-controls,.column-settings,.column-question { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin:6px 0; }
.column-addition label { display:inline-flex; align-items:center; gap:5px; font-size:13px; }
.column-addition button,.column-addition select { border:1px solid #8aa9d2; background:#eef5ff; border-radius:8px; padding:4px 8px; color:#153d7c; font-weight:800; max-width:100%; }
.column-addition button:disabled { opacity:.45; }
.column-addition button,.column-addition input,.column-addition select,.column-addition summary { scroll-margin-top:var(--column-board-height,70vh); }
.column-addition [data-auto][aria-pressed="true"] { background:#1a62ca; color:white; }
.column-board { position:sticky; top:0; z-index:5; padding:8px; background:#f3faff; border:2px solid #8bc7e6; border-radius:14px; box-shadow:0 4px 12px #12355517; }
.column-table { background:white; border:1px solid #afc7df; border-radius:10px; padding:5px; }
.column-row { display:grid; direction:rtl; grid-template-columns:repeat(var(--columns),minmax(0,1fr)) 18px; gap:3px; }
.column-row .column-place { padding:3px 1px; min-width:0; border:0; border-radius:6px; font-size:clamp(8px,1.1vw,13px); line-height:1.3; background:#eaf1fb; }
.column-cell { display:flex; justify-content:center; align-items:center; min-width:0; min-height:35px; border-radius:6px; font:900 clamp(20px,3.4vw,36px)/1.15 system-ui; border:2px solid transparent; }
.column-source-0 { color:#096bd4; }.column-source-1 { color:#b51972; }.column-source-2 { color:#a64a00; }.column-source-3 { color:#7351d8; }
.column-active { background:#fff0ac!important; border-color:#dfa400!important; }
.column-carries .column-cell { min-height:24px; font-size:18px; }
.column-carries b { display:inline-flex; justify-content:center; align-items:center; min-width:22px; border-radius:50%; background:#eadeff; color:#6e29ba; border:1px solid #ac7cd1; }
.column-output { border-top:3px solid #274778; margin-top:2px; color:#087a47; }
.column-output .column-cell { background:#e7f9ee; }
.column-sign { display:flex; align-items:center; justify-content:center; font-size:24px; color:#183568; }
.column-workspace { margin-top:6px; background:#fff; border-radius:10px; padding:5px; }
.column-start { color:#5a398f; font-size:17px; padding:13px; font-weight:800; }
.column-work > strong { font-size:14px; }
.column-units { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; padding:5px 0; min-height:58px; }
.column-pack { position:relative; display:grid; grid-template-columns:repeat(5,20px); gap:3px; padding:5px; border:2px solid transparent; border-radius:9px; min-height:51px; align-content:center; }
.column-token { display:block; width:19px; height:19px; border-radius:50%; background:currentColor; box-shadow:inset -2px -2px 0 #0002; }
.column-packed { border-color:#8e42ce; background:#f2e4ff; }
.column-packed .column-token { opacity:0; }
.column-bundle-label { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#7b2db5; font-size:24px; direction:rtl; }
.column-transfer { display:flex; flex-wrap:wrap; justify-content:center; gap:5px; font-size:14px; font-weight:850; }
.column-transfer span { background:#f1deff; border-radius:6px; padding:3px 8px; color:#6b218d; }
.column-transfer span:last-child { background:#e0f7e8; color:#096741; }
.column-explanation { background:#fff1bf; border-radius:9px; margin-top:5px; padding:4px; }
.column-explanation p { font-size:14px; margin:2px; }
.column-equation { display:flex; direction:rtl; flex-wrap:wrap; justify-content:center; gap:7px; align-items:center; font:850 clamp(19px,2.4vw,29px)/1.3 system-ui; color:#174f9e; }
.column-equation bdi:last-child { color:#007e49; }
.column-check { background:#dff8e9; border-radius:8px; padding:3px; }
.column-check small { display:block; margin:3px 0; }
.column-zero { font-size:22px; font-weight:850; color:#7041a0; }
.column-question input,.column-settings input { width:140px; max-width:100%; font-size:22px; font-weight:850; color:#0e57a1; }
.column-feedback { margin:3px 0; padding:4px; border-radius:7px; font-weight:800; color:#09673c; background:#ddf8e8; }
.column-feedback:empty { display:none; }.column-feedback[data-tone="warning"] { color:#973300; background:#fff0c6; }
.column-teacher { background:#f5f8ff; border:1px solid #a4bad8; padding:5px; border-radius:10px; }.column-teacher p { font-size:13px; margin:4px; }
@media(max-width:420px){.column-board{padding:5px}.column-row{gap:1px;grid-template-columns:repeat(var(--columns),minmax(0,1fr)) 14px}.column-cell{font-size:21px;min-height:30px}.column-carries .column-cell{font-size:15px;min-height:22px}.column-carries b{min-width:18px}.column-table{padding:3px}.column-explanation p{font-size:12px}.column-pack{grid-template-columns:repeat(5,15px);gap:2px;padding:3px;min-height:43px}.column-token{width:15px;height:15px}.column-units{gap:4px}.column-transfer{font-size:12px}.column-work>strong{font-size:12px}}
@media(max-height:480px) and (min-width:600px){.column-board{display:grid;grid-template-columns:1.2fr 1fr;grid-template-areas:"table work" "explanation explanation";gap:5px;padding:5px}.column-table{grid-area:table;align-self:center}.column-workspace{grid-area:work;margin:0;align-self:center}.column-explanation{grid-area:explanation;margin:0}.column-cell{min-height:28px;font-size:26px}.column-carries .column-cell{min-height:22px;font-size:16px}.column-row .column-place{font-size:9px}.column-explanation p{font-size:12px}.column-equation{font-size:22px}.column-pack{grid-template-columns:repeat(5,16px);gap:2px;min-height:45px}.column-token{width:16px;height:16px}.column-work>strong{font-size:12px}.column-transfer{font-size:12px}.column-start{font-size:14px;padding:5px}}
.column-block-key { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.column-block-key > span { display:flex; flex-direction:column; align-items:center; gap:2px; font-size:12px; }
.column-block-key svg { display:block; width:65px; max-width:100%; height:55px; }
.column-block-key bdi { font-weight:850; }
.column-block-pack { grid-template-columns:repeat(5,28px); min-height:68px; }
.column-origin { border:1px solid currentColor; border-radius:9px; background:#f5f9ff; }
.column-origin > b { display:block; padding:2px; font-size:11px; }
.column-origin .column-pack { margin:0; }
.column-ten-formed { border-color:#dd9300; background:#fff6cf; margin-top:8px; }
.column-ten-label { position:absolute; top:-11px; inset-inline-start:4px; background:#ffcf43; border:1px solid #cf8700; border-radius:6px; padding:0 5px; font-size:15px; color:#773800; line-height:1.2; }
.column-token.column-model-token { width:28px; height:28px; background:none; box-shadow:none; border-radius:0; }
.column-model-token svg { width:100%; height:100%; display:block; }
.column-new-block { position:absolute; inset:3px; display:flex; justify-content:center; align-items:center; color:#782dcc; }
.column-new-block svg { width:90px; height:60px; max-width:100%; max-height:100%; }
@media(max-width:420px){.column-block-pack{grid-template-columns:repeat(5,21px);min-height:54px}.column-token.column-model-token{width:21px;height:21px}.column-new-block svg{width:75px;height:48px}.column-block-key>span{font-size:10px}.column-block-key svg{width:48px;height:43px}.column-start{font-size:13px;padding:5px}}
@media(max-height:480px) and (min-width:600px){.column-block-pack{grid-template-columns:repeat(5,21px);min-height:54px}.column-token.column-model-token{width:21px;height:21px}.column-new-block svg{width:75px;height:48px}.column-block-key svg{width:48px;height:43px}}
/* All models in a scene share one projected unit size, including the new block. */
.column-workspace { --base-ten-unit:8px; }
.column-workspace[data-model-family="1"] { --base-ten-unit:5px; }
.column-workspace[data-model-family="2"] { --base-ten-unit:3px; }
.column-block-key { --base-ten-unit:clamp(3px,.75vw,5px); }
.column-block-key > span { display:grid; grid-template-rows:calc(14.62 * var(--base-ten-unit)) auto auto; justify-items:center; align-items:end; }
.column-addition svg[data-block-shape] { width:calc(var(--block-w) * var(--base-ten-unit)); height:calc(var(--block-h) * var(--base-ten-unit)); max-width:none; max-height:none; flex:none; }
.column-block-pack { grid-template-columns:repeat(var(--pack-cols,5),calc(var(--source-w,1.57) * var(--base-ten-unit))); gap:2px; min-height:calc(var(--next-h,10.57) * var(--base-ten-unit) + 10px); }
.column-token.column-model-token { width:calc(var(--source-w,1.57) * var(--base-ten-unit)); height:calc(var(--source-h,1.57) * var(--base-ten-unit)); }
@media(max-width:420px),(max-height:480px){.column-workspace{--base-ten-unit:5px}.column-workspace[data-model-family="1"]{--base-ten-unit:4px}.column-workspace[data-model-family="2"]{--base-ten-unit:2px}}
@media(max-height:480px) and (min-width:600px){.column-workspace[data-model-family="1"]{--base-ten-unit:3px}.column-workspace[data-model-family="2"]{--base-ten-unit:1.6px}}
@media(max-height:480px) and (min-width:600px){.column-work>strong{display:block;font-size:11px;line-height:1.2}.column-work [data-bundle]{font-size:11px;line-height:1.25;padding:3px 6px}.column-work .column-units{gap:4px}.column-origin>b{font-size:10px;padding:1px}}
.decision-activity { max-width:1120px; margin:auto; text-align:center; color:#173478; }
.decision-activity [hidden] { display:none!important; }
.decision-controls,.decision-answer { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; margin:6px 0; }
.decision-controls label,.decision-answer label { display:inline-flex; align-items:center; gap:5px; font-size:13px; }
.decision-activity button,.decision-activity select { border:1px solid #91afd9; border-radius:9px; background:#edf5ff; color:#143a79; padding:5px 9px; font-weight:800; max-width:100%; }
.decision-activity select { max-width:min(310px,77vw); }
.decision-activity button:disabled { opacity:.45; }
.decision-activity [data-auto][aria-pressed="true"] { background:#185fc8; color:#fff; }
.decision-board { position:sticky; top:0; z-index:5; background:#f5fbff; border:2px solid #80bde7; border-radius:14px; padding:8px; line-height:1.45; box-shadow:0 4px 12px #16365c15; }
.decision-story p { margin:0 0 6px; font-size:clamp(14px,1.6vw,19px); font-weight:750; }
.decision-choice { border:0; margin:0 0 7px; padding:0; display:flex; justify-content:center; flex-wrap:wrap; gap:6px; }
.decision-choice legend { font-size:12px; padding:0 4px; }
.decision-choice label { background:#fff1c5; border:2px solid #dfa630; border-radius:9px; padding:3px 8px; font-size:13px; cursor:pointer; }
.decision-choice label:last-child { background:#e9dfff; border-color:#9566db; }
.decision-choice .decision-selected { outline:3px solid #0b814b; outline-offset:1px; font-weight:850; }
.decision-choice input { accent-color:#087e4b; }
.decision-scene { min-width:0; }
.decision-cards { display:grid; grid-template-columns:repeat(var(--cards),minmax(0,1fr)); gap:8px; }
.decision-card { display:flex; flex-direction:column; align-items:center; justify-content:center; border:2px solid currentColor; border-radius:13px; padding:6px; background:#fff; min-width:0; }
.decision-card > span:not(.decision-icon) { font-size:12px; }
.decision-icon { font-size:clamp(26px,4vw,45px); line-height:1.25; }
.decision-card > b,.decision-convert b { font:900 clamp(22px,3.4vw,38px)/1.2 system-ui; }
.decision-n0 { color:#0863c6; }.decision-n1 { color:#b3196b; }.decision-n2 { color:#a74d00; }
.decision-convert { background:#fff2ac; border-radius:6px; margin-top:2px; padding:1px 8px; }
.decision-budget { display:flex; gap:3px; margin:6px 0; height:14px; border-radius:7px; overflow:hidden; }
.decision-budget-0 { background:#087ce0; }.decision-budget-1 { background:#dc2777; }.decision-budget-2 { background:#f39811; }
.decision-disc-bar { width:100%; height:8px; margin-top:5px; background:linear-gradient(to left,currentColor var(--fill),#eef1f8 var(--fill)); border-radius:5px; }
.decision-seats svg { display:block; width:100%; height:clamp(100px,23vh,165px); margin:4px auto; }
.decision-legend { display:flex; justify-content:center; flex-wrap:wrap; gap:5px 16px; font-size:12px; }
.decision-garden { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; }
.decision-garden svg { width:min(100%,360px); height:170px; }
.decision-garden button { font-size:12px; }
.decision-calendar > div { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; margin:5px 0; }
.decision-calendar > div > span { border:1px solid #90bcdc; border-radius:8px; padding:6px 0; font-size:11px; }
.decision-calendar b { display:block; }.decision-calendar p { margin:3px; font-size:12px; }
.decision-lit { background:#ffdf6d!important; color:#692f00; }
.decision-big { font-size:24px; }.decision-newspaper { border:2px dashed #7499c9; background:#fff; border-radius:12px; padding:8px; }
.decision-population { display:flex; justify-content:center; gap:12px; margin:9px 0; font:900 clamp(26px,4.5vw,45px)/1.3 system-ui; }
.decision-population span { border-radius:6px; padding:0 5px; }
.decision-solution { background:#fff2c8; border:1px solid #e3b53c; border-radius:10px; margin-top:6px; padding:4px; }
.decision-solution p { margin:4px; font-size:13px; }
.decision-equation { display:flex; direction:rtl; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; font:900 clamp(20px,2.8vw,30px)/1.3 system-ui; }
.decision-equation strong { color:#06733f; }
.decision-check { background:#d9f5e7; border-radius:7px; margin-top:4px; padding:3px; font-size:12px; }
.decision-check .decision-equation { font-size:clamp(17px,2vw,23px); }
.decision-check small { display:block; font-size:12px; }
.decision-reason { margin:5px 0 0; font-size:13px; color:#294f89; }
.decision-verdict { color:#087346; font-size:16px; }
.decision-answer input { width:130px; font-size:22px; color:#0757ae; font-weight:900; }
.decision-feedback { margin:3px 0; min-height:20px; font-weight:800; color:#137747; }
.decision-feedback[data-tone="warning"],.decision-quiz-feedback[data-tone="warning"] { color:#9a3600; background:#fff1ce; border:1px solid #d88712; border-radius:7px; padding:4px 7px; }
.decision-feedback:empty,.decision-quiz-feedback:empty { display:none; }
.decision-quiz-feedback[data-tone="success"] { color:#09643a; background:#d9f7e7; border-radius:7px; padding:4px; }
.decision-quiz { border:0; margin:0; padding:2px; display:grid; gap:5px; }
.decision-quiz legend { width:100%; margin-bottom:4px; font-size:15px; font-weight:850; }
.decision-quiz label { display:flex; text-align:right; align-items:center; gap:6px; padding:5px 8px; border:2px solid #7793ba; border-radius:8px; background:white; cursor:pointer; font-size:13px; line-height:1.4; }
.decision-quiz input { flex:none; accent-color:#16764f; }
.decision-option-equation { display:flex; direction:rtl; flex-wrap:wrap; align-items:center; gap:5px; font-weight:850; }
.decision-quiz-feedback { grid-column:1/-1; margin:0; font-size:12px; }
.decision-activity .decision-correct { background:#d9f7e7!important; color:#08633b; border-color:#0d8c51!important; outline-color:#0d8c51; }
.decision-activity .decision-incorrect { background:#fff1ce!important; color:#9a3600; border-color:#d88712!important; outline-color:#d88712; }
.decision-story [data-followup] { padding:2px 6px; font-size:12px; margin:0 0 5px; }
.decision-story .decision-followup { font-size:13px; color:#674500; background:#fff0b8; border-radius:6px; padding:4px; }
.decision-challenge .decision-reason,.decision-challenge .decision-choice { display:none; }
@media(min-width:800px){.decision-quiz{grid-template-columns:repeat(3,minmax(0,1fr))}.decision-quiz legend{grid-column:1/-1}}
@media(max-height:480px) and (min-width:600px){.decision-quiz legend{font-size:13px}.decision-quiz label{font-size:11px;padding:2px 4px}.decision-quiz-feedback{font-size:11px}.decision-challenge{grid-template-areas:"story scene" "solution scene"}.decision-story .decision-followup{font-size:11px}.decision-challenge .decision-icon{font-size:26px}}
.decision-teacher { padding:5px; border:1px solid #adbfdd; border-radius:10px; background:#f5f8fe; }
.decision-teacher p { margin:3px; font-size:13px; }
@media(max-width:420px){.decision-board{padding:6px}.decision-cards{gap:4px}.decision-card{padding:4px}.decision-card > span:not(.decision-icon){font-size:11px}.decision-calendar > div > span{font-size:9px}.decision-calendar b{font-size:10px}.decision-reason{font-size:12px}.decision-garden svg{height:130px}.decision-legend{gap:4px;font-size:11px}.decision-check small{font-size:11px}}
@media(max-height:480px) and (min-width:600px){.decision-board{display:grid;grid-template-columns:1.2fr 1fr;grid-template-areas:"story scene" "choice scene" "solution scene" "reason reason";gap:4px;padding:5px}.decision-story{grid-area:story}.decision-story p{font-size:12px}.decision-choice{grid-area:choice;margin:0}.decision-choice label{font-size:11px;padding:1px 4px}.decision-scene{grid-area:scene;align-self:center}.decision-solution{grid-area:solution;margin:0}.decision-reason{grid-area:reason;margin:0;font-size:11px}.decision-equation{font-size:22px}.decision-check .decision-equation{font-size:18px}.decision-check small{font-size:11px}.decision-icon{font-size:29px}.decision-card > b,.decision-convert b{font-size:26px}.decision-garden svg{height:160px}.decision-seats svg{height:150px}}
.estimate-activity { max-width:1120px; margin:auto; text-align:center; color:#173478; }
.estimate-controls,.estimate-answer,.estimate-settings { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin:6px 0; }
.estimate-activity button,.estimate-activity select { background:#edf2ff; color:#173478; border:1px solid #9aafd8; border-radius:9px; padding:4px 8px; font-weight:800; }
.estimate-activity [data-op][aria-pressed="true"] { background:#fff0ad; border:2px solid #cf8b16; }
.estimate-activity [data-auto][aria-pressed="true"] { background:#175fce; color:white; }
.estimate-activity label { display:inline-flex; align-items:center; gap:5px; font-size:13px; }
.estimate-activity [hidden] { display:none!important; }
.estimate-activity [data-compatible-only] label { flex-wrap:wrap; justify-content:center; }
.estimate-board { position:sticky; top:0; z-index:5; border:2px solid #91c9e9; border-radius:13px; background:#f2fbff; padding:7px; box-shadow:0 3px 12px #17347818; line-height:1.4; }
.estimate-prompt { font-size:18px; font-weight:850; margin:2px 0 6px; }
.estimate-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; direction:rtl; }
.estimate-number-card { background:#e1f4ff; border:2px solid #2477b5; border-radius:12px; padding:7px; min-width:0; }
.estimate-number-card.estimate-b { background:#ffebf5; border-color:#c43180; }
.estimate-original { display:block; font:900 clamp(19px,3vw,36px)/1.25 system-ui; color:#065389; }
.estimate-b .estimate-original { color:#a11a64; }
.estimate-number-card > span { font-size:12px; }
.estimate-track { margin:12px 12px 3px; }
.estimate-track-line { height:4px; background:#385a79; position:relative; }
.estimate-mid { position:absolute; left:50%; top:-5px; height:14px; border-left:2px dashed #cb8a00; }
.estimate-dot { position:absolute; width:16px; height:16px; border:2px solid white; border-radius:50%; background:#0875c1; top:50%; transform:translate(-50%,-50%); }
.estimate-b .estimate-dot { background:#b51e73; }
.estimate-endpoints { display:flex; justify-content:space-between; margin:8px -10px 0; font:800 13px system-ui; }
.estimate-rounded { display:flex; direction:rtl; justify-content:center; align-items:center; gap:8px; color:#855400; margin:3px; }
.estimate-rounded b { font:900 clamp(19px,2.6vw,32px)/1.2 system-ui; }
.estimate-number-card small { display:block; font-size:12px; min-height:17px; }
.estimate-calculation { background:#fff1bf; border:1px solid #e3b43d; border-radius:10px; padding:5px; margin-top:7px; font-size:13px; }
.estimate-equation { display:flex; direction:rtl; flex-wrap:wrap; justify-content:center; gap:8px; align-items:center; font:900 clamp(20px,2.7vw,32px)/1.3 system-ui; }
.estimate-equation [data-from="a"] { color:#065389; }
.estimate-equation [data-from="b"] { color:#a11a64; }
.estimate-equation [data-estimate] { color:#006d3f; }
.estimate-calculation small { font-size:11px; }
.estimate-explanation { font-size:13px; margin:5px 0 0; }
.estimate-exact { padding:4px; margin-top:5px; background:#daf6e4; border-radius:9px; font-size:12px; }
.estimate-exact p { margin:2px; font-size:12px; }
.estimate-exact .estimate-equation { font-size:21px; }
.estimate-feedback { min-height:22px; margin:4px; font-size:14px; }
.estimate-activity input:not([type="checkbox"]) { width:145px; font:800 21px system-ui; text-align:center; border:2px solid #9eafd5; border-radius:8px; }
.estimate-answer input { width:125px!important; }
.estimate-teacher { background:#eef2fb; border-radius:12px; padding:7px; }
.estimate-teacher p { font-size:13px; margin:5px 0; }
.estimate-settings [data-error] { flex-basis:100%; color:#b52550; }
.estimate-activity [hidden] { display:none!important; }
.estimate-activity button:focus-visible,.estimate-activity input:focus-visible { outline:3px solid #d32077; outline-offset:2px; }
@media(max-width:600px) { .estimate-board { padding:5px; } .estimate-prompt { font-size:14px; } .estimate-pair { gap:5px; } .estimate-number-card { padding:4px; } .estimate-endpoints { font-size:10px; } .estimate-number-card small,.estimate-explanation { font-size:11px; } .estimate-track { margin-inline:8px; } .estimate-endpoints { margin-inline:-5px; } .estimate-exact .estimate-equation { font-size:18px; } }
@media(max-height:500px) { .estimate-prompt { font-size:12px; margin:1px 0 3px; } .estimate-board { padding:4px; } .estimate-original,.estimate-rounded b { font-size:21px; } .estimate-number-card { padding:3px; } .estimate-track { margin-top:8px; } .estimate-endpoints { margin-top:4px; font-size:10px; } .estimate-number-card small { font-size:10px; min-height:12px; } .estimate-calculation { margin-top:4px; padding:2px; } .estimate-equation { font-size:20px; } .estimate-explanation,.estimate-exact p { font-size:10px; } .estimate-exact .estimate-equation { font-size:17px; } }
.properties-activity { max-width:1120px; margin:auto; text-align:center; color:#173478; }
.properties-tabs,.properties-controls { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:5px; margin:6px 0; }
.properties-activity button { border:1px solid #9aafd8; border-radius:9px; padding:4px 8px; background:#edf2ff; color:#173478; font-weight:800; }
.properties-tabs [aria-pressed="true"] { background:#fff0b4; border:2px solid #d18d16; }
.properties-activity [data-auto][aria-pressed="true"] { background:#175fce; color:white; }
.properties-board { position:sticky; top:0; z-index:5; padding:7px; border:2px solid #91c9e9; border-radius:13px; background:#f2fbff; box-shadow:0 3px 12px #17347818; line-height:1.4; }
.properties-question { margin:2px; font-size:20px; font-weight:850; }
.properties-before { min-height:51px; font-size:12px; }
.properties-before .properties-equation { font-size:clamp(25px,3vw,36px); font-weight:900; }
.properties-stage { margin:3px 0; font-size:13px; }
.properties-cards { display:flex; direction:rtl; align-items:center; justify-content:center; gap:12px; padding:9px 3px; }
.properties-card { background:var(--card); border:2px solid #577eaa; border-radius:13px; padding:8px; flex:0 1 170px; min-width:0; }
.properties-card b { font:900 clamp(27px,4vw,44px)/1.2 system-ui; display:block; }
.properties-card.properties-grouped { border:4px solid #cd8800; box-shadow:0 -5px 0 #ffdc72; }
.properties-card.properties-faded { opacity:.22; border-style:dashed; }
.properties-operator { font:850 30px system-ui; }
.properties-dots { display:grid; grid-template-columns:repeat(4,12px); justify-content:center; gap:4px; margin-top:6px; min-height:16px; }
.properties-dots i { width:12px; height:12px; border-radius:3px; background:#175f9c; }
.properties-dots small { grid-column:1/-1; white-space:nowrap; }
.properties-partial { min-height:42px; font-size:14px; color:#815416; }
.properties-equation { display:flex; direction:rtl; flex-wrap:wrap; justify-content:center; align-items:center; gap:7px; font:850 23px/1.3 system-ui; }
.properties-equation [data-number-id] { font-weight:900; border-radius:6px; padding:0 4px; }
.properties-equation [data-number-id="a"],.properties-equation [data-number-id="same"] { color:#07538b; background:#bdeaff; }
.properties-equation [data-number-id="b"] { color:#95225b; background:#ffd1e5; }
.properties-equation [data-number-id="c"] { color:#275800; background:#d2f3a3; }
.properties-equation [data-number-id="zero"] { color:#63369a; background:#eae1ff; }
.properties-equation [data-number-id="result"] { color:#00643d; background:#d7f9df; }
.properties-card[data-term="a"] b,.properties-card[data-term="same"] b { color:#07538b; }
.properties-card[data-term="b"] b { color:#95225b; }
.properties-card[data-term="c"] b { color:#275800; }
.properties-card[data-term="zero"] b { color:#63369a; }
.properties-result { display:flex; justify-content:center; align-items:center; gap:10px; background:#d7f9df; border-radius:10px; padding:3px; font-size:15px; }
.properties-result strong { font:900 30px system-ui; color:#00643d; }
.properties-rule { margin:5px 0 0; font-size:16px; font-weight:800; }
.properties-answer,.properties-settings { display:flex; flex-wrap:wrap; gap:6px; align-items:center; justify-content:center; margin:6px 0; }
.properties-activity label { display:inline-flex; gap:5px; align-items:center; font-size:13px; }
.properties-activity input:not([type="checkbox"]) { width:90px; border:2px solid #9eb4d4; border-radius:8px; font:800 22px system-ui; text-align:center; }
.properties-feedback { min-height:22px; margin:5px; font-size:14px; }
.properties-teacher { padding:7px; background:#eef2fb; border-radius:12px; }
.properties-teacher p { margin:5px 0; font-size:13px; }
.properties-settings [data-error] { flex-basis:100%; color:#b52550; }
.properties-activity [hidden] { display:none!important; }
.properties-activity button:focus-visible,.properties-activity input:focus-visible { outline:3px solid #d32077; outline-offset:2px; }
.properties-group-options { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:7px; margin:5px; }
.properties-group-options select { border:1px solid #9aafd8; border-radius:8px; padding:4px; color:#173478; }
.properties-group-frame { display:flex; align-items:center; gap:6px; padding:7px; border:3px solid #ce8700; border-radius:14px; background:#fff3bf; flex:2 1 0; max-width:380px; min-width:0; }
.properties-group-frame .properties-card { flex:1 1 0; min-width:0; }
.properties-cards:has(.properties-group-frame) > .properties-card { flex:1 1 0; max-width:170px; }
.properties-expression-group { display:inline-flex; direction:rtl; align-items:center; gap:6px; padding:2px 4px; border-radius:7px; background:#fff0ac; }
.properties-parenthesis { font-size:1.3em; color:#9c6100; }
.properties-drop-row { display:flex; align-items:center; justify-content:center; direction:rtl; gap:8px; margin:4px 0; font-size:24px; }
.properties-drop { flex:1 1 0; min-width:0; max-width:170px; padding:4px 6px; border:2px solid #7197c2; border-radius:10px; background:#e5f2ff; }
.properties-drop-sum { flex:2 1 0; max-width:380px; background:#fff0ac; border-color:#ce8700; }
.properties-drop small { display:block; font-size:11px; }
.properties-drop b { display:block; font-size:27px; color:#173478; }
.properties-one-group { width:min(100%,620px); border:3px solid #268bad; border-radius:14px; padding:7px; background:#ddf5ff; }
.properties-one-group > strong { display:block; font-size:14px; margin-bottom:5px; }
.properties-take-units { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:5px; }
.properties-activity .properties-take-unit { min-width:0; min-height:30px; padding:2px; border:2px solid #145b8c; border-radius:5px; background:#1d87c6; color:white; font:800 17px system-ui; }
.properties-take-unit.is-taken { opacity:0; pointer-events:none; }
.properties-take-status { display:block; font-size:12px; }
@media(max-width:600px) { .properties-group-frame { gap:3px; padding:4px; border-width:2px; } .properties-drop b { font-size:22px; } .properties-drop small { font-size:10px; } .properties-take-units { grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; } .properties-activity .properties-take-unit { font-size:14px; min-height:29px; } .properties-drop-row { gap:5px; } }
@media(max-height:500px) { .properties-group-frame { padding:3px; } .properties-drop small { font-size:9px; } .properties-drop b { font-size:19px; } .properties-drop-row { margin:2px; } .properties-activity .properties-take-unit { min-height:24px; font-size:12px; } .properties-one-group { padding:4px; } }
@media(max-width:600px) { .properties-board { padding:5px; } .properties-question { font-size:15px; } .properties-cards { gap:5px; } .properties-card { padding:5px 2px; } .properties-dots { grid-template-columns:repeat(3,10px); gap:3px; } .properties-dots i { width:10px; height:10px; } .properties-operator { font-size:22px; } .properties-partial,.properties-stage,.properties-rule { font-size:12px; } }
@media(max-height:500px) { .properties-board { padding:4px; } .properties-question { font-size:13px; } .properties-before { min-height:33px; } .properties-before .properties-equation { font-size:24px; } .properties-stage,.properties-partial,.properties-rule { font-size:11px; } .properties-cards { padding:4px; } .properties-card { padding:3px; } .properties-card b { font-size:25px; } .properties-dots { grid-template-columns:repeat(6,8px); gap:2px; margin-top:3px; min-height:10px; } .properties-dots i { width:8px; height:8px; } .properties-partial { min-height:27px; } .properties-equation { font-size:17px; } .properties-result strong { font-size:22px; } }
.strategy-activity { max-width:1120px; margin:auto; text-align:center; color:#173478; }
.strategy-board { position:sticky; top:0; z-index:5; padding:7px; background:#f2fbff; border:2px solid #91c9e9; border-radius:13px; box-shadow:0 3px 12px #17347818; line-height:1.4; }
.strategy-story { margin:0 0 7px; font-size:clamp(15px,1.7vw,20px); font-weight:800; }
.strategy-scene { min-height:130px; }
.strategy-scene p { margin:3px; font-size:14px; }
.strategy-welcome { padding:15px; background:#fff4c1; border-radius:12px; font-size:20px; line-height:1.8; }
.strategy-groups,.strategy-sequence { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.strategy-tile { padding:6px; background:#e5f9ee; border:2px solid #1c9a71; border-radius:11px; }
.strategy-tile:nth-child(even) { background:#fff0d6; border-color:#d79224; }
.strategy-tile strong { display:block; font:900 30px/1.3 system-ui; }
.strategy-tile small,.strategy-tile span { display:block; font-size:13px; }
.strategy-objects { font-size:24px; overflow-wrap:anywhere; line-height:1.4; }
.strategy-increment { color:#a22a72; font-weight:800; margin-top:4px; }
.strategy-outfits { display:grid; grid-template-columns:repeat(var(--cols),minmax(0,1fr)); gap:4px; align-items:center; }
.strategy-outfits > span { font-size:15px; font-weight:800; }
.strategy-pair { display:flex; flex-wrap:wrap; gap:3px; justify-content:center; background:#fff0bc; border:1px solid #d89f25; padding:5px; border-radius:7px; font-size:19px; }
.strategy-backtrack { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; }
.strategy-backtrack > span { font-size:13px; }
.strategy-equation { display:flex; flex-wrap:wrap; direction:rtl; justify-content:center; gap:7px; font:850 23px/1.3 system-ui; margin:5px 0; }
.strategy-table { border-collapse:collapse; margin:auto; width:min(100%,600px); font-size:17px; }
.strategy-table th,.strategy-table td { border:1px solid #86b7c9; padding:3px 8px; }
.strategy-table thead { background:#ffe9aa; }
.strategy-table tbody tr:nth-child(even) { background:#d8f6e7; }
.strategy-explanation { margin:5px 0 0; font-size:14px; }
.strategy-result { margin:4px; background:#ccf4d8; color:#00633b; font-size:22px; font-weight:900; border-radius:8px; }
.strategy-plans { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; border:0; margin:7px 0; padding:0; }
.strategy-plans legend { font-size:14px; margin-bottom:4px; }
.strategy-plans label { padding:5px 8px; border:2px solid #a5b7db; border-radius:9px; background:#eef2ff; cursor:pointer; }
.strategy-plans label:has(input:checked) { background:#fff0ad; border-color:#d6900b; }
.strategy-plans label:has(input[value="pattern"]),.strategy-plans label:has(input[value="guess"]) { border-color:#c79825; background:#fff5cf; font-weight:800; }
.strategy-plans label:has(input:checked) { box-shadow:inset 0 0 0 1px #bb7300; }
.strategy-trial-correct { background:#cff6db!important; color:#00623f; }
.strategy-guess-objects { font-size:23px; overflow-wrap:anywhere; line-height:1.4; margin:4px; }
.strategy-controls,.strategy-answer { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin:6px 0; }
.strategy-activity button,.strategy-activity select { border:1px solid #9aafd8; border-radius:9px; padding:4px 8px; background:#edf2ff; color:#173478; font-weight:800; }
.strategy-activity label { display:inline-flex; align-items:center; gap:5px; }
.strategy-activity [data-auto][aria-pressed="true"] { background:#175fce; color:white; }
.strategy-answer input { width:90px; font:800 23px system-ui; text-align:center; border:2px solid #91aeda; border-radius:8px; }
.strategy-feedback,.strategy-hint { margin:5px; font-size:14px; min-height:20px; }
.strategy-hint { padding:5px; background:#fff4cb; border-radius:9px; }
.strategy-teacher { background:#eef2fb; padding:7px; border-radius:12px; }
.strategy-teacher p { margin:4px 0; font-size:13px; }
.strategy-activity [hidden] { display:none!important; }
.strategy-activity button:focus-visible,.strategy-activity input:focus-visible { outline:3px solid #d32077; outline-offset:2px; }
.strategy-step-flash { animation:strategy-step-flash .6s ease-out; }
@keyframes strategy-step-flash { 50% { border-color:#d99008; box-shadow:0 0 0 3px #ffe68b; } }
@media(prefers-reduced-motion:reduce) { .strategy-step-flash { animation:none; } }
@media(max-width:600px) { .strategy-board { padding:5px; } .strategy-groups,.strategy-sequence { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; } .strategy-story { font-size:13px; } .strategy-tile { padding:3px; } .strategy-tile strong { font-size:23px; } .strategy-objects { font-size:18px; } .strategy-pair { font-size:12px; padding:3px; } .strategy-outfits > span { font-size:12px; } .strategy-explanation { font-size:12px; } .strategy-backtrack { gap:3px; } .strategy-backtrack > span { font-size:10px; } .strategy-table { font-size:14px; } }
@media(max-height:500px) { .strategy-groups,.strategy-sequence { grid-template-columns:repeat(4,minmax(0,1fr)); } .strategy-board { padding:4px; } .strategy-story,.strategy-explanation { font-size:11px; margin:2px; } .strategy-scene { min-height:80px; } .strategy-tile strong { font-size:20px; } .strategy-tile { padding:2px; } .strategy-objects { font-size:15px; } .strategy-welcome { padding:5px; font-size:15px; } .strategy-equation { font-size:17px; margin:2px; } .strategy-table { font-size:12px; } .strategy-table th,.strategy-table td { padding:1px 4px; } .strategy-result { font-size:16px; } .strategy-pair { font-size:12px; padding:2px; } }
.mv-experience button.mv-play-label-button { display:inline-flex; flex-direction:row; direction:rtl; align-items:center; justify-content:center; gap:6px; }
.mv-experience .mv-play-icon { display:inline-block; direction:ltr; unicode-bidi:isolate; flex:0 0 auto; line-height:1; font-size:.85em; }
.mv-experience .mv-play-label { direction:rtl; unicode-bidi:isolate; }
.order-whole { max-width:1120px; margin:auto; text-align:center; color:#173478; }
.order-board { position:sticky; top:0; z-index:5; background:#f2fbff; border:2px solid #91c9e9; border-radius:12px; padding:5px; box-shadow:0 3px 12px #17347818; line-height:1.3; }
.order-heading { display:flex; justify-content:space-between; gap:6px; align-items:center; font-size:14px; }
.order-board p { margin:2px 0 4px; font-size:13px; font-weight:800; }
.order-source,.order-target { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--order-card-min,80px)),1fr)); gap:4px; direction:rtl; }
.order-whole .order-source button { background:var(--card-color); border:2px solid #668ec8; border-radius:9px; padding:2px 3px; margin:0; color:#173478; cursor:pointer; }
.order-source b,.order-slot b { display:block; font:900 clamp(19px,2.2vw,28px)/1.2 system-ui; white-space:nowrap; }
.order-source span,.order-slot span { display:block; font-size:10px; line-height:1.2; }
.order-source button:disabled { opacity:.45; border-style:dashed; cursor:default; }
.order-source .order-wrong { border:3px solid #d3245b; animation:comparison-shake .55s ease-in-out; }
.order-path-label { font-size:12px; font-weight:800; margin:5px 0 3px; }
.order-slot { background:#fff; border:2px dashed #afc0d9; border-radius:9px; padding:2px 3px; }
.order-current { border-color:#d27a00; background:#fff0b4; }
.order-filled { border:2px solid #09986a; background:#d7f9df; }
.order-arriving b { animation:order-arrive .45s ease-out; }
.order-reason { font-size:14px; margin-top:6px; line-height:1.4; }
.order-feedback { font-size:15px; font-weight:850; color:#00734f; min-height:22px; margin-top:4px; }
.order-feedback.order-error { color:#b52050; }
.order-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px; margin:7px 0; }
.order-controls button,.order-whole select,.order-whole form button { padding:6px 9px; border:1px solid #9aafd8; border-radius:9px; color:#173478; background:#eef2ff; font-weight:800; }
.order-whole [data-auto][aria-pressed="true"] { color:white; background:#175fce; }
.order-whole label { display:inline-flex; align-items:center; gap:5px; }
.order-teacher { padding:8px; border-radius:12px; background:#eef2fb; }
.order-teacher p { font-size:14px; margin:6px 0; }
.order-whole form { display:flex; gap:6px; flex-wrap:wrap; justify-content:center; align-items:center; }
.order-whole [data-values] { width:min(65vw,430px); font:800 20px system-ui; text-align:center; border:2px solid #9eafd5; border-radius:8px; }
.order-whole form small,.order-whole [data-error] { flex-basis:100%; }
.order-whole [data-error] { color:#b52050; }
.order-whole [hidden] { display:none!important; }
.order-whole button:focus-visible { outline:3px solid #d32077; outline-offset:2px; }
@keyframes order-arrive { from { transform:translateY(-12px); opacity:.2; } to { transform:translateY(0); opacity:1; } }
@media(max-width:600px) { .order-board { padding:4px; } .order-board p,.order-feedback,.order-reason { font-size:12px; } .order-path-label { font-size:11px; margin:4px 0 2px; } }
@media(max-height:500px) { .order-source b,.order-slot b { font-size:18px; } .order-heading,.order-board p,.order-reason,.order-feedback { font-size:11px; margin:2px 0; } .order-path-label { font-size:10px; margin:2px; } }
@media(prefers-reduced-motion:reduce) { .order-arriving b,.order-source .order-wrong { animation:none; } }
@media(min-width:601px) and (max-height:500px) {
 .order-board { display:grid; grid-template-columns:1fr 1fr; gap:4px 8px; padding:5px; }
 .order-heading { grid-column:1/-1; }
 .order-board [data-prompt] { grid-column:1; grid-row:2; }
 .order-path-label { grid-column:2; grid-row:2; }
 .order-source { grid-column:1; grid-row:3; }
 .order-target { grid-column:2; grid-row:3; }
 .order-source span { display:none; }
 .order-reason,.order-feedback { grid-column:1/-1; }
}
.compare-whole { max-width:1120px; margin:auto; text-align:center; color:#173478; }
.compare-whole button,.compare-whole input,.compare-whole select,.compare-whole summary{scroll-margin-top:var(--cw-board-height,65vh)}
.compare-whole .cw-question{background:#fff4d6;border:2px solid #ad5600;border-radius:12px;padding:6px;margin:6px 0}
.compare-whole .cw-question h2{font-size:16px;color:#703300;margin:2px}
.compare-whole .cw-question button{background:white;border:2px solid #5676ad}
.compare-whole-feedback:empty{display:none}
.compare-whole button.cw-nav{display:inline-flex;direction:rtl;align-items:center;justify-content:center;gap:6px}
.compare-whole .cw-nav [aria-hidden]{unicode-bidi:isolate;flex:0 0 auto}
.compare-whole .compare-whole-values b{white-space:nowrap}
@media(max-width:600px){.compare-whole-values b{font-size:clamp(13px,4.2vw,23px)}.compare-whole-values span{font-size:11px}.compare-whole-answers button{font-size:14px;min-height:34px}.compare-whole .cw-question h2{font-size:14px}}
.compare-whole-board { position:sticky; top:0; z-index:5; padding:7px; background:#effaff; border:2px solid #b1d5ed; border-radius:17px; box-shadow:0 4px 12px #17347818; }
.compare-whole-values { display:grid; grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr); align-items:center; gap:6px; margin:0 0 7px; direction:rtl; }
.compare-whole-values > div { border:2px solid #1b6edb; border-radius:13px; padding:4px; background:#e8f1ff; }
.compare-whole-values .compare-whole-b { border-color:#bf2a86; background:#ffedf8; }
.compare-whole-values span { display:block; font-size:13px; font-weight:800; }
.compare-whole-values b { display:block; font:900 clamp(18px,2.7vw,34px)/1.3 system-ui; color:#1769cc; }
.compare-whole-values .compare-whole-digit { display:inline-block; font:inherit; border-bottom:3px solid transparent; }
.compare-whole-values .compare-whole-digit.counted { border-color:currentColor; background:#fff6ab; border-radius:4px; animation:comparison-count .4s ease-out; }
.compare-whole-values [data-count-a],.compare-whole-values [data-count-b] { font-size:12px; background:#fff6ab; border-radius:6px; margin-top:2px; }
@keyframes comparison-count { from { transform:translateY(-5px); opacity:.3; } to { transform:translateY(0); opacity:1; } }
.compare-whole-b b { color:#b3247b; }
.compare-whole-values [data-symbol] { direction:ltr; font:900 35px system-ui; color:#bd7800; }
.compare-whole svg { display:block; width:100%!important; height:auto!important; max-height:48svh!important; max-width:100%!important; margin:auto; }
.compare-whole svg [data-column] { cursor:pointer; }
.compare-whole svg [data-column]:focus-visible rect { stroke:#d5267e; stroke-width:4; }
.comparison-active > rect { animation:comparison-pulse .55s ease-out; }
.comparison-digit[data-tone="equal"] rect { fill:#8ae8fa; }
.comparison-digit[data-tone="larger"] rect { fill:#a2ef55; }
.comparison-digit[data-tone="smaller"] rect { fill:#ffc27a; }
.comparison-digit[data-tone]:not([data-tone=""]) text { fill:#14324b; }
.compare-whole-digit[data-tone="equal"] { background:#8ae8fa; color:#14324b; }
.compare-whole-digit[data-tone="larger"] { background:#a2ef55; color:#14324b; }
.compare-whole-digit[data-tone="smaller"] { background:#ffc27a; color:#14324b; }
.compare-whole-digit[data-tone]:not([data-tone=""]) { border-radius:4px; border-bottom-color:currentColor; }
.comparison-shake { animation:comparison-shake .55s ease-in-out; }
@keyframes comparison-shake { 0%,100% { transform:translateX(0); } 20%,60% { transform:translateX(-3px); } 40%,80% { transform:translateX(3px); } }
.compare-whole-explanation { font-size:15px; line-height:1.4; margin-top:5px; min-height:22px; }
.compare-whole-conclusion { margin:3px; font-weight:850; color:#087a4c; }
.compare-whole-controls,.compare-whole-settings,.compare-whole-answers { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:7px 0; }
.compare-whole button,.compare-whole select { background:#eef3ff; border:1px solid #a3b6dd; color:#173478; font-weight:800; padding:5px 9px; border-radius:10px; }
.compare-whole [data-auto][aria-pressed="true"] { background:#175fce; color:white; }
.compare-whole-answers button { background:#fff1b8; min-height:42px; font-size:16px; }
.compare-whole .correct { background:#d2f9e1; color:#00613b; border-color:#008a50; }
.compare-whole .incorrect { background:#ffe0eb; color:#ad2456; border-color:#d72b6a; }
.compare-whole label { display:inline-flex; align-items:center; gap:5px; }
.compare-whole input:not([type="checkbox"]) { width:160px; border:2px solid #a0b5df; border-radius:8px; font:850 22px system-ui; text-align:center; direction:ltr; }
.compare-whole-feedback { min-height:27px; margin:5px; font-size:18px; font-weight:800; color:#944414; }
.compare-whole-feedback.success { background:#d9f9e8; color:#067640; border-radius:10px; }
.compare-whole-teacher { border-radius:12px; padding:7px; background:#eef2fb; }
.compare-whole-teacher p { font-size:14px; margin:5px; }
.compare-whole-settings [data-error] { flex-basis:100%; color:#b5234f; }
.compare-whole [hidden] { display:none!important; }
.compare-whole button:focus-visible { outline:3px solid #d6267e; outline-offset:3px; }
@keyframes comparison-pulse { 50% { stroke-width:5; stroke:#e72787; } }
@media(max-width:600px) { .compare-whole .compare-whole-values b{font-size:clamp(13px,4.2vw,23px)} .compare-whole-board { padding:4px; } .compare-whole-explanation,.compare-whole-conclusion { font-size:12px; } .compare-whole-values { grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr); gap:3px; } }
@media(max-height:500px) { .compare-whole svg { max-height:38svh!important; } .compare-whole-values b { font-size:20px; } .compare-whole-values span { font-size:11px; } .compare-whole-explanation,.compare-whole-conclusion { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .comparison-active rect,.compare-whole-values .compare-whole-digit.counted,.comparison-shake { animation:none; } }
.large-place-activity { max-width:1150px; margin:auto; text-align:center; color:#173478; }
.large-place-activity button,.large-place-activity input,.large-place-activity select,.large-place-activity summary{scroll-margin-top:var(--lp-height,65vh)}
.large-place-number{display:flex;direction:ltr;align-items:center;justify-content:center;font:900 clamp(23px,3.5vw,38px)/1.25 system-ui;margin:3px 0;gap:1px}
.lp-number-focus{background:#ffe575;border-radius:5px;box-shadow:0 0 0 2px #d39700}.lp-separator{color:#667799;padding:0 2px}
.large-place-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:4px}
.large-place-choices button{font-size:16px;min-width:0;overflow-wrap:anywhere;direction:rtl}
.large-place-choices .lp-correct{background:#c5f9dc;border-color:#008550;color:#00643d}
.large-place-activity .large-place-feedback:empty{display:none}
.large-place-activity .large-place-feedback{font-size:14px;min-height:0}
@media(max-width:600px){.large-place-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.large-place-choices button{font-size:13px;padding:3px}.large-place-activity .large-place-prompt{font-size:14px;margin:3px 0}.large-place-activity .large-place-caption{font-size:11px}.large-place-activity .large-place-value{font-size:18px}.large-place-activity label{font-size:12px}.large-place-controls{gap:4px;margin:4px 0}}
@media(max-height:500px) and (min-width:600px){.large-place-number{font-size:26px;margin:1px}.large-place-choices button{font-size:13px;padding:2px 4px}.large-place-choices{margin:2px 0}}
.large-place-board { position:sticky; top:0; z-index:5; background:#f0faff; border:2px solid #b0d7ed; border-radius:16px; padding:6px; box-shadow:0 4px 12px #17347818; }
.large-place-prompt { margin:2px 0 5px; font-size:clamp(15px,2vw,21px); font-weight:850; }
.large-place-activity .large-place-svg { display:block; width:100%!important; height:auto!important; max-height:54svh!important; max-width:100%!important; overflow:visible; margin:auto; }
.large-place-svg [data-place] { cursor:pointer; }
.large-place-svg [data-place]:focus-visible rect { stroke:#cc2881; stroke-width:4; }
.large-place-selected rect { animation:large-place-glow .5s ease-out; }
.large-place-caption { margin:3px 0; font-size:13px; line-height:1.4; }
.large-place-value { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; font:900 clamp(18px,3vw,27px)/1.4 system-ui; color:#ab216b; }
.large-place-controls,.large-place-settings,.large-place-answer { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:7px 0; }
.large-place-activity button,.large-place-activity select { border:1px solid #a0b7dc; border-radius:10px; background:#edf3ff; color:#173478; font-weight:800; padding:5px 9px; }
.large-place-activity [data-auto][aria-pressed="true"],.large-place-answer button { background:#165fcc; color:white; }
.large-place-activity label { display:inline-flex; align-items:center; gap:5px; }
.large-place-activity input:not([type="checkbox"]) { width:165px; font:850 23px system-ui; text-align:center; direction:ltr; border:2px solid #a1b5dd; border-radius:9px; }
.large-place-feedback { min-height:28px; margin:5px; font-size:18px; font-weight:800; color:#974b14; }
.large-place-feedback.success { color:#06723e; background:#d7f9e5; border-radius:10px; }
.large-place-teacher { background:#edf2fb; padding:7px; border-radius:13px; }
.large-place-teacher p { font-size:14px; margin:5px; }
.large-place-settings [data-error] { flex-basis:100%; color:#b4274d; }
.large-place-activity [hidden] { display:none!important; }
.large-place-activity button:focus-visible { outline:3px solid #d62886; outline-offset:3px; }
@keyframes large-place-glow { 50% { stroke:#e12880; stroke-width:5; } }
@media(max-height:500px) { .large-place-caption { font-size:11px; } .large-place-prompt { font-size:14px; } .large-place-value { font-size:17px; } .large-place-board { padding:3px; } }
@media(prefers-reduced-motion:reduce) { .large-place-selected rect { animation:none; } }
.forms-activity { max-width:1100px; margin:auto; text-align:center; color:#173478; }
.forms-board { position:sticky; top:0; z-index:5; padding:8px; border:2px solid #afd3ef; border-radius:18px; background:#eff9ff; box-shadow:0 4px 12px #17347818; }
.forms-caption { margin:0 0 6px; font-size:18px; font-weight:850; }
.forms-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.forms-card { min-width:0; border:3px solid #1c6bd4; border-radius:15px; padding:7px; background:#e5f0ff; }
.forms-card[data-card="words"] { border-color:#b72c83; background:#fff0fa; }
.forms-card[data-card="expanded"] { border-color:#009571; background:#e1fff0; }
.forms-card h2 { font-size:16px; margin:0 0 5px; }
.forms-card [data-form] { min-height:95px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px; font-size:21px; font-weight:850; line-height:1.6; }
.forms-card [data-form].forms-digits { font:900 clamp(28px,4vw,42px) system-ui; }
.forms-card [data-form].concealed { font-size:40px; color:#7c8ba8; }
.forms-activity button,.forms-activity select { border:1px solid #a1b6db; background:#eef3ff; color:#173478; border-radius:10px; padding:5px 9px; font-weight:800; }
.forms-activity button[aria-pressed="true"] { background:#175dca; color:white; }
.forms-tools,.forms-settings,.forms-bank { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:7px 0; }
.forms-activity label { display:inline-flex; gap:5px; align-items:center; }
.forms-activity input { width:125px; border:2px solid #9ab3db; border-radius:9px; text-align:center; direction:ltr; font:850 24px system-ui; }
.forms-game { background:#fff4cc; padding:8px; border-radius:15px; }
.forms-game h2 { font-size:19px; margin:3px; }
.forms-game p { margin:5px; font-size:14px; }
.forms-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:8px; }
.forms-options button { background:white; padding:10px; font-size:19px; line-height:1.6; min-width:0; }
.forms-options button > span { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; }
.forms-options small { display:block; }
.forms-activity .correct { background:#cff8df; border-color:#008851; color:#06673d; }
.forms-activity .incorrect { background:#ffe1ec; border-color:#ce2a68; color:#a32352; }
.forms-feedback { min-height:30px; margin:5px; font-size:18px; font-weight:850; color:#95460e; }
.forms-feedback.success { color:#067341; background:#d9fbe8; border-radius:10px; animation:forms-praise .6s ease-out; }
.forms-teacher { background:#edf2fb; padding:7px; border-radius:13px; }
.forms-teacher p { font-size:14px; margin:5px; }
.forms-settings [data-error] { flex-basis:100%; color:#b5274d; }
.forms-build { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; direction:rtl; margin-top:7px; }
.forms-build > div { border:2px solid var(--place); border-radius:10px; background:white; padding:5px 1px; }
.forms-build span { font-size:12px; display:block; }
.forms-build b { font:850 clamp(13px,2vw,22px) system-ui; color:var(--place); }
.forms-place-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:8px 0; }
.forms-place-cards button { border:2px solid var(--place); background:white; }
.forms-place-cards button[aria-pressed="true"] { background:#fff0a3; color:#173478; outline:2px solid #d99b00; }
.forms-place-cards span { display:block; font-size:14px; }
.forms-place-cards b { display:block; font:900 27px system-ui; color:var(--place); }
.forms-bank button { background:white; font:850 24px system-ui; padding:8px; }
.forms-bank button:disabled { opacity:.4; }
.forms-built-equation { display:flex; flex-wrap:wrap; gap:5px; justify-content:center; font:850 24px system-ui; margin:7px; }
.forms-activity [hidden] { display:none!important; }
.forms-activity button:focus-visible { outline:3px solid #d52881; outline-offset:3px; }
@keyframes forms-praise { 50% { transform:scale(1.025); } }
@media(max-width:600px) { .forms-cards { grid-template-columns:1fr; gap:4px; } .forms-card { display:grid; grid-template-columns:72px minmax(0,1fr) 47px; align-items:center; gap:3px; padding:4px; border-width:2px; } .forms-card h2 { font-size:12px; margin:0; } .forms-card [data-form] { min-height:47px; font-size:15px; line-height:1.45; gap:3px; } .forms-card [data-form].forms-digits { font-size:24px; } .forms-card [data-form].concealed { font-size:27px; } .forms-card button { font-size:11px; padding:3px; } .forms-options { grid-template-columns:1fr; } .forms-options button { font-size:17px; padding:6px; } .forms-caption { font-size:15px; } .forms-build span { font-size:9px; } }
@media(max-height:500px) { .forms-cards { grid-template-columns:repeat(3,minmax(0,1fr)); } .forms-card { display:block; padding:3px; } .forms-card [data-form] { min-height:45px; font-size:14px; line-height:1.3; } .forms-card h2 { font-size:12px; } .forms-build { margin-top:3px; } }
@media(prefers-reduced-motion:reduce) { .forms-feedback.success { animation:none; } }
.place-activity { max-width:1100px; margin:auto; text-align:center; color:#173478; }
.place-board { position:sticky; top:0; z-index:5; border:2px solid #b3d8ea; border-radius:18px; padding:8px; background:#f0faff; box-shadow:0 4px 12px #17347818; }
.place-number { font:900 clamp(28px,4vw,42px)/1.3 system-ui; letter-spacing:4px; margin-bottom:5px; }
.place-number .selected { color:var(--place); background:#fff0a3; border-radius:6px; }
.place-columns { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; align-items:stretch; }
.place-activity .place-column { display:flex; flex-direction:column; align-items:center; min-width:0; padding:5px; border:2px solid var(--place); border-top:7px solid var(--place); border-radius:13px; background:white; color:#173478; }
.place-column.selected { background:#fff2af; box-shadow:0 0 0 2px #e4b000; }
.place-name { min-height:35px; font-size:14px; font-weight:850; }
.place-column b { font:900 clamp(25px,4vw,42px)/1.2 system-ui; color:var(--place); }
.place-tower { position:relative; display:flex; flex-direction:column-reverse; align-items:center; justify-content:flex-start; gap:3px; height:105px; width:100%; max-width:100px; padding-top:8px; margin-top:5px; background:linear-gradient(90deg,transparent 47%,#bfd0df 47%,#bfd0df 53%,transparent 53%); border-bottom:4px solid var(--place); }
.place-tower i { width:85%; height:8px; flex-shrink:0; border-radius:8px; background:var(--place); box-shadow:inset 0 2px 0 #ffffff66; }
.place-column small { min-height:32px; padding-top:5px; font-size:12px; }
.place-question { margin:7px 0 3px; font-size:19px; font-weight:850; }
.place-equation,.place-expansion { display:flex; direction:rtl; flex-wrap:wrap; justify-content:center; gap:7px; font:900 clamp(20px,3vw,29px)/1.5 system-ui; color:#bc286f; }
.place-explanation { margin:2px; font-size:15px; }
.place-toolbar,.place-answer,.place-settings,.place-choices { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:7px 0; }
.place-activity button,.place-activity select { background:#eef3ff; color:#173478; border:1px solid #a8bcdf; border-radius:10px; padding:5px 9px; font-weight:800; }
.place-activity button[aria-pressed="true"]:not(.place-column),.place-answer button { background:#175dca; color:white; }
.place-activity label { display:inline-flex; align-items:center; gap:5px; }
.place-activity input { width:125px; border:2px solid #94acdb; border-radius:9px; text-align:center; direction:ltr; font:850 24px system-ui; }
.place-feedback { min-height:28px; margin:5px; font-size:18px; font-weight:850; color:#9a450f; }
.place-feedback.success { background:#ddfbea; color:#087347; border-radius:10px; }
.place-teacher { padding:7px; border-radius:13px; background:#f0f3fc; }
.place-journey { background:#fff4ce; border-radius:12px; padding:7px; }
.place-journey h2 { font-size:18px; margin:4px; }
.place-journey p { margin:5px; font-size:14px; }
.place-journey button { margin:3px; }
.place-settings [data-error] { flex-basis:100%; color:#b8264b; }
.place-activity [hidden] { display:none!important; }
.place-activity button:focus-visible { outline:3px solid #d62c87; outline-offset:3px; }
.place-column.arriving { animation:place-arrive .6s ease-out; }
@keyframes place-arrive { 45% { transform:translateY(-7px); } }
@media(max-width:600px) { .place-board { padding:5px; } .place-columns { gap:3px; } .place-activity .place-column { padding:3px 1px; border-radius:8px; } .place-name { font-size:10px; min-height:35px; } .place-column small { font-size:10px; min-height:28px; } .place-tower { height:72px; gap:2px; } .place-tower i { height:5px; } .place-question { font-size:15px; } .place-explanation { font-size:12px; } }
@media(max-height:500px) { .place-number { font-size:24px; margin:0; } .place-name { min-height:18px; font-size:11px; } .place-column b { font-size:23px; } .place-tower { height:40px; gap:1px; padding:0; } .place-tower i { height:3px; } .place-column small { min-height:18px; padding:0; } .place-question,.place-explanation { font-size:12px; margin:2px; } .place-equation { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { .place-column.arriving { animation:none; } }
.problem-activity { max-width:1050px; margin:auto; text-align:center; color:#173478; }
.problem-operation-settings { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; flex-basis:100%; }
.problem-operation-settings label { padding:5px; background:#e0eaff; border-radius:10px; }
.problem-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px; }
.problem-activity .problem-fact { border:2px solid #9aabd0; border-radius:12px; padding:8px; background:white; min-width:0; }
.problem-fact legend { font-weight:800; font-size:15px; }
.problem-fact label { margin:5px; cursor:pointer; }
.problem-activity .problem-fact input { width:18px; height:18px; accent-color:#007746; }
.problem-fact span { display:block; font-weight:800; }
.problem-activity .correct { background:#cff8df!important; border-color:#008a51!important; color:#075d38!important; }
.problem-activity .incorrect { background:#ffe1ec!important; border-color:#cf3570!important; color:#9b1747!important; }
.problem-operation-title { font-weight:800; font-size:14px; margin:3px; color:#a12576; }
.problem-equal-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; grid-column:1/-1; }
.problem-group-caption { grid-column:1/-1; font-weight:800; }
.problem-garden:has(.problem-equal-groups) { grid-template-columns:1fr; }
.problem-equal-groups .problem-fruit { min-height:45px; grid-template-columns:repeat(6,minmax(0,1fr)); }
.problem-garden:has(.problem-equal-groups) > .problem-source .problem-fruit { min-height:32px; grid-template-columns:repeat(12,minmax(0,1fr)); }
.problem-activity .problem-equal-groups .problem-apple { height:26px; }
.problem-activity .problem-equation,.problem-activity .problem-inverse { flex-direction:column; gap:0; font-size:22px; }
.problem-equation > div,.problem-inverse > div { display:flex; justify-content:center; gap:7px; }
.problem-activity .problem-equal-groups .problem-empty { padding:5px 0; font-size:12px; }
.problem-activity .problem-garden { max-height:40svh; overflow:auto; }
@media(max-width:600px) { .problem-activity .problem-equal-groups .problem-apple { height:18px; } .problem-equal-groups h2 { font-size:12px; } .problem-activity .problem-story { font-size:13px; line-height:1.3; } .problem-activity .problem-equation { font-size:18px; } }
@media(max-height:500px) { .problem-activity .problem-story { font-size:12px; line-height:1.2; } .problem-activity .problem-equation { font-size:16px; } .problem-activity .problem-equal-groups .problem-apple { height:18px; } .problem-activity .problem-garden { max-height:32svh; } }
.problem-board { position:sticky; top:0; z-index:5; padding:8px; background:#f0fbff; border:2px solid #a4d5ea; border-radius:18px; box-shadow:0 4px 12px #17347818; }
.problem-story { margin:0 0 7px; font-size:clamp(16px,2vw,21px); line-height:1.6; }
.problem-story strong { color:#bc2252; font:900 1.3em system-ui; }
.problem-story b { color:#144fc0; }
.problem-garden { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.problem-basket,.problem-source { border:3px solid #069b72; border-radius:18px; background:#e0fff0; padding:5px; min-width:0; }
.problem-source { border-color:#aa54c7; background:#faf0ff; }
.problem-garden h2 { font-size:16px; margin:0 0 4px; }
.problem-fruit { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; align-content:start; min-height:145px; }
.problem-activity .problem-apple { border:0; padding:0; background:transparent; min-width:0; min-height:0; height:40px; border-radius:8px; }
.problem-apple svg { height:100%!important; width:100%!important; max-height:40px!important; margin:0!important; display:block; }
.problem-apple:disabled { opacity:1; cursor:default; }
.problem-apple.just-moved { animation:problem-move .55s ease-out; }
.problem-empty { grid-column:1/-1; align-self:center; padding:20px 0; color:#577087; }
.problem-equation,.problem-inverse { display:flex; direction:rtl; justify-content:center; gap:9px; font:900 30px/1.4 system-ui; color:#174eba; }
.problem-steps,.problem-controls,.problem-navigation,.problem-answer,.problem-settings { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:7px 0; }
.problem-activity button,.problem-activity select { border:1px solid #a6badc; border-radius:10px; background:#eef3ff; color:#173478; padding:5px 9px; font-weight:800; }
.problem-activity button[aria-pressed="true"],.problem-answer button { background:#175dca; color:white; }
.problem-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.problem-steps button { padding:7px 2px; border-bottom:4px solid #a2b8d5; }
.problem-panel { background:#fff4c9; padding:8px; border-radius:15px; }
.problem-panel h2 { font-size:19px; margin:3px; }
.problem-panel p,.problem-teacher p { margin:5px; font-size:15px; }
.problem-activity label { display:inline-flex; align-items:center; gap:5px; }
.problem-activity input { width:62px; border:2px solid #9cb7dd; border-radius:9px; text-align:center; direction:ltr; font:850 23px system-ui; }
.problem-feedback { min-height:28px; color:#8c420a; font-size:18px; font-weight:800; margin:5px; }
.problem-feedback.success { background:#d9f9e8; color:#007743; border-radius:10px; animation:problem-move .6s ease-out; }
.problem-teacher { padding:7px; background:#eef2fb; border-radius:12px; }
.problem-settings [data-error] { flex-basis:100%; color:#bb2450; }
.problem-activity [hidden] { display:none!important; }
.problem-activity button:focus-visible { outline:3px solid #d32883; outline-offset:2px; }
@keyframes problem-move { from { transform:translateY(-16px) scale(.8); opacity:.4; } to { transform:none; opacity:1; } }
@media(max-width:600px) { .problem-board { padding:5px; } .problem-garden { gap:5px; } .problem-fruit { gap:1px; min-height:102px; } .problem-activity .problem-apple { height:25px; } .problem-garden h2 { font-size:14px; } .problem-story { font-size:15px; line-height:1.4; } .problem-equation { font-size:24px; } .problem-steps button { font-size:13px; } }
@media(max-height:500px) { .problem-story { font-size:14px; line-height:1.2; } .problem-fruit { min-height:62px; grid-template-columns:repeat(10,minmax(0,1fr)); } .problem-activity .problem-apple { height:25px; } .problem-equation { font-size:22px; } }
@media(prefers-reduced-motion:reduce) { .problem-apple.just-moved,.problem-feedback.success { animation:none; } }
.patterns-activity { max-width:1100px; margin:auto; color:#173478; text-align:center; }
.patterns-board { position:sticky; top:0; z-index:5; background:#eff9ff; border:2px solid #afd7f3; border-radius:18px; padding:8px; box-shadow:0 4px 12px #17347818; }
.patterns-prompt { font-size:clamp(16px,2vw,23px); font-weight:850; margin-bottom:5px; }
.patterns-train { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; direction:rtl; padding:0 6px 10px; }
.patterns-car-wrap { min-width:0; }
.patterns-jump { display:block; min-height:27px; font-size:14px; font-weight:800; color:#7b347f; }
.patterns-activity .patterns-car { position:relative; display:block; width:100%; padding:12px 3px 18px; border:4px solid var(--car); border-radius:12px; background:white; color:#173478; margin:5px 0 14px; }
.patterns-car b { font:900 clamp(25px,4.5vw,54px)/1.15 system-ui; }
.patterns-roof { position:absolute; height:8px; background:var(--car); top:-8px; left:-4px; right:-4px; border-radius:7px; }
.patterns-wheels { position:absolute; bottom:-18px; left:0; width:100%; white-space:pre; font:900 27px/1 system-ui; color:#253457; letter-spacing:8px; }
.patterns-car.selected { background:#fff1a1; box-shadow:0 0 0 3px #f5b800; }
.patterns-car.visiting { outline:4px solid #21a66d; outline-offset:3px; }
.patterns-car.arriving { animation:patterns-arrive .6s ease-out; }
.patterns-car-wrap small { font-size:12px; }
.patterns-rule { font-size:20px; font-weight:900; color:#9a216f; background:#fff0fa; border-radius:10px; }
.patterns-travel { font-size:14px; min-height:22px; margin-top:5px; }
.patterns-toolbar,.patterns-answer,.patterns-settings { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin:7px 0; }
.patterns-activity button,.patterns-activity select { border:1px solid #a4b9dc; background:#eef3ff; color:#173478; font-weight:800; padding:5px 9px; border-radius:10px; }
.patterns-activity button[aria-pressed="true"]:not(.patterns-car),.patterns-answer button { background:#175acb; color:white; }
.patterns-activity label { display:inline-flex; align-items:center; gap:5px; }
.patterns-activity input { width:72px; font:850 24px system-ui; direction:ltr; text-align:center; border:2px solid #93acda; border-radius:9px; }
.patterns-feedback { min-height:30px; font-size:19px; font-weight:800; color:#984414; margin:5px; }
.patterns-feedback.success { color:#087a43; background:#d7fae7; border-radius:12px; animation:patterns-praise .7s ease-out; }
.patterns-teacher { background:#f0f3fc; border-radius:12px; padding:6px; }
.patterns-teacher p { font-size:14px; margin:5px; }
.patterns-settings [data-error] { flex-basis:100%; color:#b5274c; }
.patterns-activity [hidden] { display:none!important; }
.patterns-activity button:focus-visible { outline:3px solid #d12c81; outline-offset:3px; }
@keyframes patterns-arrive { 45% { transform:translateY(-7px); } }
@keyframes patterns-praise { 50% { transform:scale(1.025); } }
@media(max-width:650px) { .patterns-train { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px 12px; padding-bottom:0; } .patterns-car-wrap small { display:none; } .patterns-activity .patterns-car { padding:5px 2px 8px; margin:3px 0 12px; } .patterns-car b { font-size:30px; } .patterns-jump { min-height:21px; font-size:12px; } .patterns-wheels { font-size:20px; bottom:-14px; } .patterns-prompt { font-size:16px; } .patterns-rule { font-size:16px; } .patterns-travel { font-size:12px; } }
@media(max-height:500px) { .patterns-board { padding:3px; } .patterns-prompt { font-size:14px; } .patterns-train { grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; } .patterns-activity .patterns-car { padding:2px 0 5px; } .patterns-car b { font-size:24px; } .patterns-car-wrap small { display:none; } .patterns-travel { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .patterns-car.arriving,.patterns-feedback.success { animation:none; } }
.counting-activity { position:relative; max-width:1100px; margin:auto; text-align:center; color:#173478; }
.counting-modes,.counting-tools { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:5px; margin:5px 0; }
.counting-activity button,.counting-activity select { border:2px solid #bbc9e5; border-radius:12px; color:#173478; background:white; padding:5px 10px; font-weight:800; }
.counting-modes [aria-pressed="true"],.counting-activity .counting-primary { background:#175bcb; color:white; border-color:#175bcb; }
.counting-tools { font-size:14px; }
.counting-tools label { display:inline-flex; align-items:center; gap:5px; }
.counting-tools details { background:#edf2ff; border-radius:10px; padding:5px; }
.counting-range { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:5px; margin:5px 0; }
.counting-range [data-range-error] { flex-basis:100%; color:#b42345; }
.counting-stars { color:#935400; font-weight:800; }
.counting-question { margin:7px 0; background:#fff0a4; padding:7px; border-radius:14px; font-size:clamp(17px,2.2vw,22px); font-weight:750; }
.counting-question strong { font-size:1.7em; color:#c92554; }
.counting-scene { display:flex; justify-content:center; gap:12px; padding:8px; background:#edf7ff; border-radius:20px; min-height:240px; align-items:center; }
.counting-scene:has(.counting-basket) { align-items:stretch; }
.counting-scene > section { flex:1; min-width:0; }
.counting-scene h2 { font-size:16px; margin:4px 0 7px; }
.counting-basket { background:#dbf7e8; border:2px solid #00a476; border-radius:16px; padding:4px; }
.counting-frames { display:flex; flex-direction:column; gap:9px; width:100%; max-width:670px; margin:auto; }
.counting-ten { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; border:2px solid #aec4e7; border-radius:13px; padding:5px; background:#fff; }
.counting-activity .counting-object,.counting-slot { position:relative; aspect-ratio:1.1; min-width:0; min-height:0; padding:3px; border:2px solid #dee7f5; border-radius:12px; background:#fff; }
.counting-activity .counting-object svg { display:block; width:100%!important; height:100%!important; max-height:85px!important; margin:0!important; }
.counting-object:disabled { opacity:1; cursor:default; }
.counting-activity .counting-object.is-counted { border-color:var(--count-color); background:#fff4ae; }
.counting-object b { position:absolute; bottom:3px; left:3px; color:#173478; background:#fff02d; border:2px solid #173478; border-radius:50%; min-width:22px; font:900 17px/22px system-ui; }
.counting-object.just-counted { animation:counting-pop .4s ease-out; }
.counting-slot { border-style:dashed; background:#f4fff8; }
.counting-big { font:900 clamp(45px,8vw,95px)/1.2 system-ui; padding:15px; color:var(--count-color); }
.counting-empty { min-height:220px; display:grid; place-items:center; font-size:24px; }
.counting-actions { margin:9px auto; }
.counting-answers { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; max-width:850px; margin:auto; }
.counting-answers button { min-width:48px; min-height:45px; font:900 25px/1.2 system-ui; border-bottom:4px solid #9faee0; background:#f5f0ff; }
.counting-answers button.correct { background:#bdf6d5; border-color:#008a59; }
.counting-feedback { min-height:29px; margin:5px; color:#8a430a; font-size:18px; font-weight:800; }
.counting-feedback.success { background:#dcfbe8; color:#067346; border-radius:12px; padding:7px; }
.counting-celebration { position:absolute; inset:0; pointer-events:none; overflow:hidden; border-radius:20px; }
.counting-celebration i { position:absolute; top:15%; left:var(--x); color:var(--c); font-size:28px; opacity:0; animation:counting-stars 1.7s var(--delay) ease-out both; }
.counting-activity button:focus-visible { outline:3px solid #df277b; outline-offset:2px; }
@keyframes counting-pop { 50% { transform:translateY(-7px) scale(1.07); } }
@keyframes counting-stars { 0% { opacity:0; transform:translateY(-20px) rotate(0); } 15% { opacity:1; } 100% { opacity:0; transform:translateY(360px) rotate(180deg); } }
@media(max-width:600px) { .counting-scene:has(.counting-basket) { flex-direction:column; gap:7px; } .counting-scene { padding:5px; gap:3px; } .counting-ten { gap:3px; padding:3px; } .counting-object b { font-size:14px; line-height:18px; min-width:18px; bottom:0; left:0; } .counting-answers { gap:4px; } .counting-answers button { min-width:39px; padding:4px; } }
@media(prefers-reduced-motion:reduce) { .counting-object.just-counted,.counting-celebration i { animation:none; } }
.groups-activity { max-width: 1050px; margin: auto; text-align: center; color: #173478; }
.groups-teacher { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin: 4px 0; }
.groups-activity button { border: 1px solid #99abe3; background: #eef3ff; color: #173478; padding: 3px 8px; font-weight: 750; }
.groups-activity button:disabled { opacity: .45; }
.groups-activity button[aria-pressed="false"] { background: #ffedd1; }
.groups-settings { background: #edf4ff; padding: 4px; border-radius: 10px; }
.groups-settings label { display: inline-flex; align-items: center; gap: 4px; margin: 4px; }
.groups-settings input { width: 55px; direction: ltr; text-align: center; font: 800 21px system-ui; border: 1px solid #9db4df; border-radius: 8px; }
.groups-story { margin: 4px 0; padding: 5px 8px; background: #fff0aa; border-radius: 12px; line-height: 1.45; }
.groups-equation,.groups-repeat { display: flex; direction: rtl; justify-content: center; gap: 7px; flex-wrap: wrap; margin: 3px; font-weight: 900; }
.groups-equation { font-size: clamp(26px,4vw,36px); color: #225ad0; }
.groups-repeat { font-size: 19px; color: #a82b75; }
.groups-answer { background: #e4f8ed; padding: 7px; border-radius: 12px; font-weight: 800; }
.groups-feedback,.groups-count { margin: 3px; color: #167a61; }
.groups-activity [data-error] { display: block; color: #ba2348; }
.groups-hidden { min-height: 170px; display: grid; place-items: center; border: 2px dashed #9fb8e3; border-radius: 16px; }
.groups-activity [hidden] { display: none !important; }
.groups-activity [data-group] { cursor: pointer; }
.groups-activity [data-group]:focus-visible,.groups-activity [data-token]:focus-visible { outline: 3px solid #cf267b; }
.mv-experience [data-mv-native-play] { display: none !important; }
.first-activity { max-width: 1000px; margin: auto; text-align: center; color: #173478; }
.first-teacher { display: flex; gap: 5px; flex-wrap: wrap; justify-content: center; margin: 4px 0; }
.first-activity button { background: #eef1ff; border: 1px solid #99abe3; color: #173478; padding: 4px 9px; font-weight: 700; }
.first-activity button[aria-pressed="false"] { background: #ffedd1; border-color: #e7a534; }
.first-settings { background: #edf5ff; border-radius: 10px; padding: 4px; }
.first-settings label { display: inline-flex; gap: 5px; align-items: center; margin: 4px; }
.first-settings input { width: 52px; font: 800 22px system-ui; text-align: center; direction: ltr; border: 1px solid #a5b9e5; border-radius: 8px; }
.first-story { background: #fff1a6; margin: 5px 0; padding: 7px; border-radius: 12px; }
.first-equation { display: flex; justify-content: center; gap: 10px; font-size: clamp(28px,5vw,42px); font-weight: 900; padding: 5px; color: #2454d5; }
.first-hint,.first-count { font-size: 15px; margin: 4px; }
.first-count { color: #007e73; font-weight: 800; }
.first-hidden { min-height: 150px; display: grid; place-items: center; background: #f0f4ff; border: 2px dashed #b9c8ee; border-radius: 18px; }
.first-activity [hidden] { display: none !important; }
.first-activity [data-error] { display: block; color: #b91d48; }
.first-activity [data-count-id]:focus-visible { outline: 3px solid #c71d75; }
.mv-resizable-canvas { position: relative; min-width: 0; max-width: 100%; margin: 4px auto; border: 1px dashed #a6b9df; border-radius: 12px; padding: 12px; box-sizing: border-box; }
.mv-experience .mv-resizable-canvas > svg { display: block; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; margin: 0 !important; }
.mv-experience .mv-resize-handle { position: absolute; min-width: 28px; min-height: 28px; padding: 0; touch-action: none; background: #e6eeff; color: #173478; border: 1px solid #94aee0; z-index: 2; }
.mv-resize-width { right: 0; top: 45%; cursor: ew-resize; }
.mv-resize-height { bottom: 0; left: 45%; cursor: ns-resize; }
.mv-resize-both { right: 0; bottom: 0; cursor: nwse-resize; }
.circle-canvas-help { font-size: 12px; text-align: center; }
.equation-activity { max-width: 950px; margin: auto; color: #15356b; }
.equation-activity header { text-align: center; }
.equation-top,.equation-actions,.equation-footer,.equation-inputs,.equation-legend { display: flex; flex-wrap: wrap; gap: 5px 9px; align-items: center; justify-content: center; margin: 4px 0; }
.equation-activity button,.equation-activity select { border: 1px solid #93abe2; background: #edf3ff; color: #15356b; padding: 4px 9px; font-weight: 700; }
.equation-activity input { width: 50px; text-align: center; border: 1px solid #93abe2; border-radius: 8px; font: 800 19px system-ui; padding: 4px; direction: ltr; color: #15356b; }
.equation-editor { border: 1px solid #b5c9ee; border-radius: 12px; padding: 6px; text-align: center; background: #f0f5ff; }
.equation-editor p { margin: 3px 0; }
.equation-activity .equation-live,.equation-check { display: flex; justify-content: center; gap: 7px; align-items: center; direction: rtl; font-size: clamp(24px,4vw,32px); font-weight: 900; margin: 3px 0; }
.equation-story { background: #fff0a8; border-radius: 12px; padding: 6px 9px; line-height: 1.5; text-align: center; margin: 3px 0; }
.equation-legend { font-size: 12px; }
.equation-actions { padding: 6px; border-radius: 12px; background: #edf5ff; }
.equation-footer button { font-size: 12px; }
.equation-activity [data-feedback] { text-align: center; margin: 4px 0; color: #087a63; }
.equation-activity [data-input-error] { color: #b31c4a; }
.equation-activity [hidden] { display: none !important; }
.equation-activity button:disabled { opacity: .45; }
.equation-activity [data-bag]:focus-visible { outline: 3px solid #cc176d; outline-offset: 3px; }
.mv-experience .equation-activity svg.mv-diagram { width: 100% !important; max-width: 100% !important; }
.decimal-activity { max-width: 850px; margin: auto; }
.circle-area-activity { max-width: 1100px; margin: auto; color: #173478; width: 100%; }
.circle-area-activity header { text-align: center; }
.circle-area-tabs, .circle-area-controls, .circle-area-steps, .circle-area-legend { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; margin: 9px 0; }
.circle-area-activity button { background: #edf3ff; color: #173478; border: 1px solid #8aacec; padding: 8px 14px; font-weight: 800; border-radius: 12px; }
.circle-area-activity button[aria-pressed="true"] { background: #008a85; color: white; border-color: #008a85; }
.circle-area-activity button:disabled { opacity: .4; }
.circle-area-controls { padding: 9px; background: #f0f5ff; border-radius: 14px; }
.circle-area-controls label { text-align: center; }
.circle-area-controls input { display: block; width: 190px; accent-color: #cc176d; }
.circle-area-controls select { border: 1px solid #9eafe0; padding: 5px; border-radius: 8px; background: white; color: #173478; }
.circle-area-story { background: #fff0ab; border-radius: 14px; padding: 10px; text-align: center; line-height: 1.8; }
.circle-area-manual { text-align: center; color: #355477; font-size: 14px; margin: 6px 0; }
.circle-area-legend { font-size: 13px; }
.circle-area-legend span::before { content: ''; display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--key); margin-left: 5px; }
.circle-area-result { text-align: center; background: #edf9f5; padding: 10px; border-radius: 14px; font-size: 20px; }
.circle-area-result [data-answer] { display: flex; justify-content: center; gap: 5px; flex-wrap: wrap; margin-top: 6px; font-weight: 800; }
.circle-area-activity [hidden] { display: none !important; }
.decimal-activity .decimal-equation .decimal-fraction-relation { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 14px; width: auto; }
.decimal-activity .decimal-equation .decimal-fraction { display: inline-flex; flex-direction: column; align-items: stretch; text-align: center; font-size: .8em; width: auto; }
.decimal-activity .decimal-equation .decimal-fraction > span { display: block; padding: 0 8px; }
.decimal-activity .decimal-equation .decimal-fraction > span:first-child { border-bottom: 2px solid currentColor; }
.decimal-activity header { text-align: center; }
.decimal-modes, .decimal-units { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; margin: 5px 0; }
.decimal-activity button { border: 1px solid #8b9de3; background: #eef1ff; color: #172a70; padding: 5px 8px; font-weight: 800; }
.decimal-activity button[aria-pressed="true"] { background: #175bea; color: #fff; border-color: #175bea; }
.decimal-activity button:disabled { opacity: .4; }
.decimal-story { background: #fff0a8; color: #173478; border-radius: 12px; text-align: center; padding: 7px 10px; margin: 6px 0; line-height: 1.7; }
.decimal-story .decimal-question-number { color: #bf1231; font-weight: 900; font-size: 1.15em; unicode-bidi: isolate; }
.decimal-question-flash { animation: decimal-question-attention 1s ease-in-out 3; }
@keyframes decimal-question-attention {
  0%,100% { background-color: #fff0a8; box-shadow: inset 0 0 0 0 transparent; }
  50% { background-color: #ffd078; box-shadow: inset 0 0 0 2px #bf1231; }
}
@media (prefers-reduced-motion: reduce) {
  .decimal-question-flash { animation: none; box-shadow: inset 0 0 0 2px #bf1231; }
}
.decimal-actions, .decimal-joins, .decimal-entry, .decimal-challenges [data-answers] { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; margin: 5px 0; }
.decimal-place { background: #f4f6ff; border: 1px solid #b7c5f3; border-radius: 12px; padding: 6px; }
.decimal-boundary { display: grid; grid-template-columns: 1fr 3fr; direction: ltr; font-size: 12px; text-align: center; color: #173478; }
.decimal-boundary span { direction: rtl; }
.decimal-places { display: grid; grid-template-columns: 1fr 14px 1fr 1fr 1fr; align-items: center; gap: 3px; }
.decimal-place-cell { display: flex; flex-direction: column; align-items: center; gap: 2px; color: var(--place-color); text-align: center; }
.decimal-place-cell > span { font-size: 12px; min-height: 36px; display: grid; align-items: center; }
.decimal-place-cell strong { font: 900 30px/1.3 system-ui; }
.decimal-place-cell button { min-width: 36px; width: 85%; min-height: 30px; padding: 0; color: var(--place-color); }
.decimal-comma { font: 900 32px/1 system-ui; color: #172a70; }
.decimal-entry input { width: 125px; max-width: 45%; text-align: center; font: 800 24px/1.4 system-ui; border: 1px solid #8b9de3; border-radius: 9px; color: #173478; }
.decimal-activity [data-input-error] { display: block; color: #a51343; text-align: center; }
.decimal-challenges { text-align: center; color: #173478; }
.decimal-challenges [data-feedback] { background: #e8f8ef; border-radius: 10px; padding: 6px; line-height: 1.6; }
.decimal-activity [hidden] { display: none !important; }
@media (max-width: 600px) {
  .decimal-modes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .decimal-units button { font-size: 12px; padding: 3px; }
  .decimal-story { font-size: 14px; }
}
.stats-activity { max-width: 900px; margin: auto; }
.stats-activity header { text-align: center; }
.stats-controls { display: grid; gap: 8px; text-align: center; }
.stats-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.stats-tabs button { background: #edf4f3; border: 1px solid #adc9c5; color: #234c48; padding: 6px; font-weight: 800; }
.stats-tabs button[aria-pressed="true"] { background: #186c60; color: white; border-color: #186c60; }
.stats-controls select, .stats-editor input { max-width: 100%; border: 1px solid #b5c9cb; padding: 6px; border-radius: 10px; background: white; color: #203e50; }
.stats-editor { padding: 8px; border-radius: 12px; background: #edf4f3; }
.stats-editor small, .stats-editor [data-error] { display: block; margin-top: 5px; }
.stats-editor [data-error] { color: #9c2439; }
.stats-story { margin: 8px 0 0; padding: 8px 12px; border-radius: 12px; background: #fff0d3; font-size: 16px; line-height: 1.7; text-align: center; }
.stats-answer { display: block; text-align: center; font-size: clamp(18px, 3vw, 23px); font-weight: 800; color: #175e52; line-height: 1.8; padding: 4px; }
.stats-answer[hidden] { display: none; }
.stats-answer bdi, .stats-answer span { display: block; }
.stats-answer bdi[dir="ltr"] { unicode-bidi: isolate-override; }
.stats-answer > .stats-equation { display: flex; direction: rtl; flex-wrap: wrap; gap: 5px; justify-content: center; align-items: baseline; }
.stats-equation > bdi { display: inline; }
.stats-presentations { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.stats-presentations button { padding: 6px 12px; border: 2px solid #6424cf; background: #f1ebff; color: #38106f; font-weight: 800; }
.stats-presentations button[aria-pressed="true"] { background: #6424cf; color: #fff; }
.stats-tabs button { background: #eef1ff; color: #193488; border-color: #8da0ed; }
.stats-tabs button[aria-pressed="true"] { background: #173be8; border-color: #173be8; color: #fff; }
.stats-story { background: #fff1a8; color: #172462; }
.stats-answer { color: #173be8; }
.stats-editor { background: #eee5ff; color: #38106f; }
.chart-transition-note { margin: 2px 0; padding: 6px 10px; background: #fff1a8; color: #173478; border-radius: 10px; text-align: center; font-weight: 700; line-height: 1.6; }
.chart-transition-note[hidden] { display: none; }
.stats-navigation { display: flex; gap: 8px; justify-content: center; align-items: center; }
.stats-navigation button { border: 1px solid #a3beba; background: #eef6f3; color: #234c48; padding: 6px 12px; }
.stats-navigation button:disabled { opacity: .4; }
@media (max-width: 600px) { .stats-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stats-story { font-size: 14px; } }
.skill-layout { padding: 8px; }
.skill-shell { padding: 10px; background: #fffdf8; border-radius: 20px; }
.mv-experience { color: #19334b; }
.mv-experience, .mv-experience * { box-sizing: border-box; }
.mv-experience [data-mv-feature] { row-gap: 3px !important; }
.mv-experience header { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
.mv-experience h1 { font-size: clamp(14px, 1.6vw, 18px) !important; margin: 0 !important; padding: 0 !important; line-height: 1.2 !important; }
.mv-toolbar { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; margin: 2px 0; padding: 0; }
.mv-experience button, .mv-experience summary, .mv-experience select { min-height: 32px; border-radius: 9px; touch-action: manipulation; font-family: inherit; }
.mv-experience button { min-width: 32px; padding: 3px 7px; font-size: 13px; }
.mv-experience button:focus-visible, .mv-experience input:focus-visible, .mv-experience select:focus-visible { outline: 3px solid #146b9d; outline-offset: 2px; }
.mv-experience .mv-toolbar button { min-height: 32px; margin: 0 !important; padding: 3px 8px !important; font-size: 12px !important; line-height: 1.25 !important; border-radius: 8px; }
.mv-experience .mv-play { background: #166854 !important; color: white !important; border: 1px solid #0f5644 !important; padding: 3px 8px !important; font-size: 12px !important; font-weight: 800; }
.mv-options-button { background: #fff1d6; color: #604313; border: 1px solid #d7b976; padding: 6px 12px; }
.mv-experience[data-options="false"] .mv-secondary { display: none !important; }
.mv-experience .mv-diagram-wrapper { height: auto !important; min-height: 0 !important; max-height: none !important; min-width: 0 !important; max-width: 100%; padding: 2px !important; margin-block: 0 !important; overflow: visible !important; flex-grow: 0 !important; }
.mv-experience svg.mv-diagram { display: block; width: 100% !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; max-width: 100% !important; max-height: min(72svh, var(--mv-available-height, 72svh)) !important; margin: 0 auto !important; flex: 0 1 auto; }
.mv-experience .mathviz-stage { scrollbar-gutter: auto; padding: 0 !important; gap: 6px; }
.mv-experience .mv-canvas-host { flex-shrink: 1 !important; flex-basis: auto !important; }
.mv-experience .mv-diagram-wrapper { flex-basis: auto !important; }
.mv-experience .prob-renderer-wrapper { height: auto !important; overflow: visible !important; }
.mv-experience .mv-prob-layout { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; width: 100%; }
.mv-experience .mv-prob-layout > div { min-width: 0; width: 100%; }
.mv-experience .mv-prob-layout .mv-canvas-host { width: 100%; }
.mv-experience [data-mv-feature="CompoundProbabilityFeature"] .mv-prob-layout { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.mv-experience #floating-table { position: absolute !important; width: 240px; min-width: 200px !important; max-width: 100% !important; max-height: min(360px, 80%) !important; resize: both; z-index: 10 !important; }
.mv-experience #table-header { touch-action: none; }
.mv-experience #floating-table input { box-sizing: border-box; }
.mv-experience [data-mv-feature="LinePlotFeature"] #ta-svg { max-height: 62svh !important; }

.mv-experience .mathviz-pa-renderer .mathviz-stage { flex-direction: column; align-items: center; }
.mv-experience [data-mv-feature="QuadrilateralsFeature"] .mv-canvas-host { flex-grow: 1 !important; }
.mv-experience [data-mv-feature="QuadrilateralsFeature"] .mv-canvas-host > svg { max-width: 100% !important; }
.mv-experience .mathviz-meta-controls { position: static; width: 100%; flex-wrap: wrap; overflow: visible; }
.mv-experience [class*="renderer--with-meta"] { padding-top: 0; }
.mv-experience .mathviz-stepper-btn { width: 36px; height: 40px; font-size: 20px; }
.mv-experience .mathviz-stepper-value, .mv-experience .mathviz-control-value { font-size: 1.3rem; font-weight: 900; }
.mv-experience .rounding-number { font-size: 1.6rem; width: 130px; color: #16438a; background: #fff5d9; }
.mv-experience .rounding-current { font-size: 30px; }
.mv-experience .rounding-answer strong, .mv-experience .angle-info, .mv-experience .mathviz-dec-token { font-size: 1.45rem; }
.mv-experience .mathviz-pa-info-container { min-height: 0; padding: 6px; line-height: 1.6; }
.mv-experience .mathviz-clock-controls, .mv-experience .mathviz-elapsed-controls { padding: 4px; margin: 0; gap: 4px; }
.mv-experience input[type="range"] { max-width: 100%; min-height: 36px; }
/* Controls stay compact; mathematical drawings and digits keep their visual weight. */
.mv-experience :is(.mathviz-controls,.stats-controls) { gap: 4px; }
.mv-experience :is(.decimal-modes,.decimal-units,.decimal-actions,.decimal-joins,.stats-tabs,.stats-presentations,.stats-navigation,.equation-top,.equation-actions,.equation-footer,.first-teacher) { gap: 3px 5px; margin-block: 3px; }
.mv-experience :is(.decimal-story,.stats-story,.equation-story,.first-story) { font-size: 13px; line-height: 1.45; padding: 4px 7px; margin-block: 3px; }
.mv-experience :is(.mathviz-controls,.stats-controls,.decimal-modes,.decimal-units,.equation-actions,.first-teacher) button { padding: 3px 6px; }
.mv-experience .decimal-place { padding: 3px 5px; border-radius: 9px; }
.mv-experience .decimal-boundary { font-size: 11px; line-height: 1.2; }
.mv-experience .decimal-places { gap: 1px 2px; grid-template-columns: 1fr 9px 1fr 1fr 1fr; grid-template-rows: auto auto auto; }
.mv-experience .decimal-place-cell { display: grid; grid-row: 1 / span 3; grid-template-rows: subgrid; grid-template-columns: 1fr 1fr; gap: 1px 3px; align-items: center; }
.mv-experience .decimal-place-cell:nth-of-type(1) { grid-column: 1; }
.mv-experience .decimal-place-cell:nth-of-type(2) { grid-column: 3; }
.mv-experience .decimal-place-cell:nth-of-type(3) { grid-column: 4; }
.mv-experience .decimal-place-cell:nth-of-type(4) { grid-column: 5; }
.mv-experience .decimal-comma { grid-column: 2; grid-row: 2; font: 900 26px/1.1 system-ui; text-align: center; }
.mv-experience .decimal-place-cell > span { grid-column: 1 / -1; grid-row: 1; min-height: 26px; font-size: 11px; line-height: 1.1; }
.mv-experience .decimal-place-cell strong { grid-column: 1 / -1; grid-row: 2; font-size: 26px; line-height: 1.1; }
.mv-experience .decimal-place-cell button { width: 100%; min-width: 24px; min-height: 28px; padding: 0; font-size: 17px; line-height: 1; border-radius: 6px; }
.mv-experience .decimal-place-cell [data-add] { grid-column: 2; grid-row: 3; }
.mv-experience .decimal-place-cell [data-remove] { grid-column: 1; grid-row: 3; }
.mv-experience .decimal-entry { margin: 3px 0 0; gap: 5px; font-size: 12px; }
.mv-experience .decimal-entry input { width: 95px; font-size: 20px; line-height: 1.2; padding: 2px; }
.mv-experience .decimal-entry button { min-height: 28px; padding: 2px 8px; }
.mv-experience .decimal-activity [data-input-error]:empty { display: none; }
@media (min-width: 600px) {
  .mv-experience .decimal-place-cell { grid-template-columns: 28px 36px 28px; justify-content: center; }
  .mv-experience .decimal-place-cell > span { min-height: 16px; }
  .mv-experience .decimal-place-cell strong { grid-column: 2; grid-row: 2; }
  .mv-experience .decimal-place-cell [data-add] { grid-column: 3; grid-row: 2; }
  .mv-experience .decimal-place-cell [data-remove] { grid-column: 1; grid-row: 2; }
}
/* Keep the circle lesson controls compact and give their space to the diagram. */
.mv-experience .circle-area-activity { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; column-gap: 6px; }
.mv-experience .circle-area-stage { grid-column: 1 / -1; }
.mv-experience .circle-area-activity .mv-play { padding: 3px 8px !important; font-size: 12px !important; }
.mv-experience .circle-area-activity header { margin: 0; padding: 0; min-height: 0; }
.mv-experience .circle-area-activity h1 { margin: 0 !important; line-height: 1.2 !important; }
.mv-experience .circle-area-activity .mv-toolbar { margin: 3px 0; gap: 5px; }
.mv-experience .circle-area-tabs { margin: 3px 0; gap: 5px; }
.mv-experience .circle-area-tabs button { padding: 3px 9px; }
.mv-experience .circle-area-controls { margin: 3px 0; padding: 3px 7px; gap: 4px 14px; }
.mv-experience .circle-area-controls label { margin: 0; line-height: 1.3; }
.mv-experience .circle-area-controls input { margin: 0; min-height: 28px; }
.mv-experience .circle-area-controls select { padding: 2px 5px; }
.mv-experience .circle-area-manual { margin: 2px 0; font-size: 12px; }
.mv-experience .circle-area-story { margin: 3px 0; padding: 4px 8px; line-height: 1.5; }
.mv-experience .circle-area-legend, .mv-experience .circle-area-steps { margin: 3px 0; gap: 5px 10px; }
.mv-experience .circle-area-result { padding: 5px; }
.mv-experience .circle-area-activity svg.mv-diagram { width: 100% !important; max-width: 100% !important; max-height: var(--mv-available-height, 65svh) !important; }
@media (max-width: 700px) {
  .skill-layout { padding: 3px; }
  .skill-shell { padding: 5px; }
  .mv-experience .mathviz-controls { gap: 4px; }
  .mv-experience[data-options="false"] .rounding-controls { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 4px; }
  .mv-experience .rounding-controls [data-action="down"] { order: 0; grid-column: 1; grid-row: 1; }
  .mv-experience .rounding-controls .rounding-range { order: 0; grid-column: 2; grid-row: 1; width: 100%; min-width: 0; }
  .mv-experience .rounding-controls [data-action="up"] { order: 0; grid-column: 3; grid-row: 1; }
  .mv-experience .rounding-controls .rounding-number { order: 0; grid-column: 1 / 3; grid-row: 2; width: 100%; }
  .mv-experience .rounding-controls [data-action="places"] { order: 0; grid-column: 3; grid-row: 2; padding: 3px; }
  .mv-experience .mathviz-elapsed-panel { min-width: 0; padding: 4px; }
  .mv-experience .mathviz-elapsed-btn { padding: 4px; }
  .mv-experience .mathviz-elapsed-btn-row { gap: 2px; }
  .mv-experience .mathviz-elapsed-panel > .mathviz-elapsed-btn-row { flex-wrap: wrap; justify-content: center; }
  .mv-experience .mathviz-pa-row { padding-top: 3px; margin-top: 0; }
  .mv-experience .mathviz-pa-controls { padding: 3px; gap: 3px; margin-bottom: 0; }
  .mv-experience .mathviz-pa-info-container { font-size: 13px; }
  .mv-experience [data-mv-feature="CompoundProbabilityFeature"] .mv-prob-layout { grid-template-columns: minmax(0, 1fr); }
  .mv-experience .mv-prob-instruments { display: grid !important; grid-template-columns: 1fr 1fr; }
  .mv-experience .mv-prob-layout svg.mv-diagram { max-height: 32svh !important; }
  .mv-experience [data-mv-feature="CompoundProbabilityFeature"] [data-display] { padding: 4px !important; }
  .mv-experience .mathviz-elapsed-panel .mathviz-elapsed-row { flex-wrap: wrap; }
  .mv-experience [data-mv-feature="SurfaceAreaPrismFeature"] div[style*="display:flex"] { flex-wrap: wrap; min-width: 0; }
  .mv-experience .mathviz-elapsed-row, .mv-experience .mathviz-clock-row { gap: 4px; }
  .mv-experience .mathviz-dec-compare-row--controllers { flex-wrap: wrap; overflow: visible; }
  .mv-experience .mathviz-dec-compare-input { width: 84px; font-size: 20px; }
  .mv-experience .mathviz-meta-controls .mathviz-control-select { font-size: 12px; max-width: 140px; }
  .mv-experience .mathviz-meta-controls .mathviz-control label { font-size: 12px; }
  .mv-experience #ta-sides-panel, .mv-experience #ta-angles-panel { width: 64px !important; padding: 3px !important; }
  .mv-experience #ta-sides-panel input, .mv-experience #ta-angles-panel input { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .mv-experience .rounding-flash, .mv-experience .rounding-answer-flash,
  .mv-experience .ap-celebrate, .mv-experience .transform-pulse,
  .mv-experience .ta-flashing { animation: none !important; }
}

/* Keep navigation icons independent of Arabic bidi glyph mirroring. */
.large-place-activity button.lp-direction-control{display:inline-flex;direction:rtl;align-items:center;justify-content:center;gap:6px}
.large-place-activity .lp-direction-control svg{width:18px!important;height:18px!important;flex:0 0 18px;transform:none}
.large-place-activity .lp-question{border:2px solid #ad5600;background:#fff4d6;border-radius:12px;padding:6px;margin-top:5px}
.large-place-activity .lp-question h2{font-size:13px;color:#854000;margin:0 0 3px}
.large-place-activity .lp-question [data-question-text]{font-size:clamp(15px,2vw,20px);font-weight:850;color:#703300;margin:2px 0 5px}
.large-place-activity .lp-question button{background:white;border:2px solid #5676ad;font-weight:900;min-height:34px}
.decimal-grid-activity{max-width:900px;margin:auto;color:#173478;text-align:center}
.g6-activity{max-width:1100px;margin:auto;text-align:center;color:#173478}
.g6-activity h1{font-size:20px;margin:3px}.g6-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin:5px 0}
.g6-activity button,.g6-activity select{font:800 14px system-ui;padding:5px 8px;background:#eff4ff;border:1px solid #93b0d7;border-radius:9px;color:#173478}
.g6-activity button,.g6-activity input,.g6-activity select,.g6-activity summary{scroll-margin-top:var(--g6-board-height,65vh)}
.g6-controls label{display:inline-flex;align-items:center;gap:4px;font-size:13px}.g6-navigation button{display:inline-flex;direction:rtl;gap:6px;align-items:center}
.g6-navigation [aria-hidden]{unicode-bidi:isolate}.g6-activity [hidden]{display:none!important}
.g6-board{position:sticky;top:0;z-index:5;border:2px solid #acd1e9;background:#f0faff;border-radius:14px;padding:6px}
.g6-story{font-size:15px;font-weight:750;line-height:1.5;margin:2px 0 5px}.g6-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:4px 0}
.g6-phases [aria-pressed=true]{background:#165fcc;color:white;border-color:#165fcc}
.g6-scene{padding:5px 0}.g6-scene-label{margin:3px;font-size:13px;font-weight:800}.g6-explanation{font-size:14px;margin:4px;color:#813f00;background:#fff0ca;border-radius:8px;padding:4px}
.g6-necklace{display:grid;gap:6px;max-width:670px;margin:auto}.g6-pattern{display:flex;direction:rtl;justify-content:space-evenly;gap:2px;align-items:center;background:#fff!important}
.g6-bead{display:block;width:clamp(12px,2.1vw,24px);aspect-ratio:1;border-radius:50%;box-shadow:inset -2px -3px 3px #0003,inset 2px 2px 2px #fff9;flex-shrink:0}
.g6-bead.purple{background:#833de4}.g6-bead.yellow{background:#ffd326}
.g6-key{display:flex;justify-content:center;gap:7px;align-items:center;font-size:13px;margin-top:5px}.g6-key b{padding:3px 7px;border-radius:8px}.g6-key .purple{background:#ecd9ff;color:#6520a8}.g6-key .yellow{background:#ffeb71;color:#513c00}
.g6-necklace-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.g6-necklace-card>span{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:3px}.g6-necklace-card i{font:700 11px system-ui;background:linear-gradient(90deg,#ffe333 28%,#d9b2ff 28%);border-radius:6px;color:#352b47}
.g6-players{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.g6-players>div{padding:3px;background:#e5ecf8;border:2px solid transparent;border-radius:8px}.g6-players span,.g6-players b{display:block}.g6-players b{font-size:21px}.g6-players .relevant{border-color:#006cbd;background:#d6f0ff}.g6-players .extra{opacity:.5}
.g6-shot-grids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}.g6-hundred{display:grid;grid-template-columns:repeat(20,1fr);gap:2px;direction:rtl;margin-top:4px}
.g6-hundred i{aspect-ratio:1;border-radius:50%;background:#dbe3ee}.g6-hundred .matched{background:#006fd0}.g6-hundred .difference{background:#ef7517}
.g6-three-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:7px}.g6-three-groups button{background:#e8d7ff}.g6-three-groups b,.g6-three-groups span{display:block}.g6-three-groups b{font-size:32px}
.g6-three-groups .g6-group-waiting{opacity:.25;background:transparent;border-style:dashed}
.g6-growth{display:flex;direction:ltr;gap:5px;height:175px;margin:22px 8px 26px}.g6-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:12px;border-right:1px solid #506787;padding-right:3px}.g6-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;direction:ltr;flex:1;border-bottom:2px solid #506787}
.g6-bar-slot{position:relative;padding:0!important;background:transparent!important;border:0!important;height:100%;min-width:0}.g6-bar-slot>b{position:absolute;top:-22px;left:0;right:0;font-size:18px}.g6-bar-slot>small{position:absolute;bottom:-23px;left:0;right:0;font-size:12px}.g6-bar{position:absolute;bottom:0;left:15%;width:70%;background:#1676d3;border-radius:6px 6px 0 0;transform-origin:bottom}.g6-bar.target{background:#b8258a}
.g6-growth-jumps{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;font-size:12px;color:#7e217a}.g6-assumption{font-size:12px;margin:4px;color:#733b08}
.g6-equations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;font:900 19px system-ui;color:#92206c}.g6-equations>div{display:flex;justify-content:center;flex-wrap:wrap}.g6-equations:empty{display:none}
.g6-question{padding:5px;border:2px solid #b55b00;background:#fff1d0;border-radius:10px;font-size:14px}.g6-choices{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin-top:4px}.g6-choices button{background:white;flex:1 1 150px}.g6-feedback{font-size:13px;margin:3px;color:#9b3520}.g6-feedback:empty{display:none}.g6-feedback.correct{color:#006d40}
.g6-activity details{background:#edf3fa;padding:7px;border-radius:10px}.g6-activity details p{font-size:12px;margin:5px}
.g6-animate .g6-bead,.g6-animate .g6-necklace-card,.g6-animate .g6-three-groups button{animation:g6-arrive .65s both;animation-delay:var(--delay,0ms)}
.g6-animate .g6-hundred .difference{animation:g6-difference .8s both;animation-delay:var(--delay,0ms)}
.g6-scene[data-growth-entering="true"] .g6-bar.target{animation:g6-grow .9s both}
.g6-navigation button:disabled{opacity:.4;cursor:not-allowed}
.g6-scene button:disabled,.g6-phases button:disabled{cursor:default}
@media(prefers-reduced-motion:reduce){.g6-scene .g6-bar.target{animation:none!important}}
@keyframes g6-arrive{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
@keyframes g6-difference{from{background:#006fd0;transform:translateX(5px)}to{background:#ef7517;transform:translateX(0)}}
@keyframes g6-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:600px){.g6-story{font-size:13px}.g6-phases button{font-size:12px;padding:4px 2px}.g6-players{grid-template-columns:repeat(3,1fr);font-size:12px}.g6-players b{font-size:18px}.g6-hundred{grid-template-columns:repeat(10,1fr)}.g6-shot-grids button{padding:4px}.g6-explanation{font-size:12px}.g6-equations{font-size:14px}.g6-necklace-cards button{font-size:11px;padding:3px}.g6-question{font-size:13px}.g6-choices button{font-size:12px;flex-basis:100%;padding:3px}.g6-growth{height:135px}.g6-assumption{font-size:10px}}
@media(max-height:500px) and (min-width:600px){.g6-story{font-size:12px;line-height:1.3}.g6-scene{padding:2px}.g6-growth{height:85px;margin-top:19px;margin-bottom:20px}.g6-scene-label,.g6-explanation,.g6-assumption{font-size:11px;margin:2px;padding:2px}.g6-equations{font-size:14px}.g6-bead{width:14px}.g6-players b{font-size:16px}.g6-players span{font-size:11px}.g6-hundred{grid-template-columns:repeat(25,1fr)}.g6-question{font-size:12px}.g6-choices button{font-size:11px;padding:2px}.g6-key{margin-top:2px;font-size:11px}.g6-necklace{gap:3px}.g6-pattern{padding:3px}.g6-three-groups{margin:3px}.g6-three-groups b{font-size:22px}.g6-phases button{padding:2px}}
@media(prefers-reduced-motion:reduce){.g6-animate *{animation:none!important}}
@media(max-width:600px){.g6-activity .g6-growth{height:110px}.g6-activity .g6-growth-jumps{gap:3px;font-size:11px}}
@media(max-width:600px){.g6-activity .g6-players{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.g6-activity .g6-players span{font-size:10px}.g6-activity .g6-players b{font-size:16px}.g6-activity .g6-question>[data-g6-ask]{font-size:11px;padding:2px 7px}}
@media(max-height:500px) and (min-width:600px){.g6-activity .g6-hundred{grid-template-columns:repeat(20,1fr)!important}.g6-activity .g6-question>[data-g6-ask]{font-size:10px;padding:1px 6px;line-height:1.2}}
@media(max-height:500px) and (min-width:600px){
 .g6-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px 7px;align-items:start}
 .g6-story,.g6-phases{grid-column:1/-1}.g6-scene{grid-column:2;grid-row:3/span 3;min-width:0}
 .g6-explanation{grid-column:1;grid-row:3}.g6-equations{grid-column:1;grid-row:4}.g6-question{grid-column:1;grid-row:5}
 .g6-choices button{flex-basis:100%;font-size:10px!important}.g6-players{grid-template-columns:repeat(3,1fr)}
 .g6-necklace{grid-template-columns:1fr!important}.g6-bead{width:12px!important}.g6-necklace-card i{font-size:8px}
 .g6-hundred{grid-template-columns:repeat(10,1fr)!important}.g6-three-groups{gap:3px}.g6-three-groups button{padding:2px}
}
@media(max-height:500px) and (min-width:600px){.g6-phases button{font-size:12px;line-height:1.2}.g6-players>div{padding:1px}.g6-shot-grids button{padding:2px 4px}.g6-shot-grids{margin-top:3px}}
@media(max-width:600px){.g6-players b,.g6-players span{line-height:1.2}.g6-players>div{padding:2px}.g6-choices button{line-height:1.3}.g6-phases{margin:2px 0}.g6-story{line-height:1.35}.g6-key{margin-top:3px}}
@media(max-height:500px) and (min-width:600px){.g6-key b{padding:1px 5px}.g6-key{line-height:1.2}.g6-equations{line-height:1.2;gap:1px}.g6-story{margin-bottom:2px}.g6-question{padding:3px}}
@media(max-height:500px) and (min-width:600px){.g6-necklace{grid-template-columns:repeat(2,minmax(0,1fr))}.g6-necklace .g6-pattern:only-child{grid-column:1/-1}.g6-bead{width:12px}.g6-three-groups span{font-size:11px}}
@media(max-height:500px) and (min-width:600px){.g6-necklace-card{padding:2px!important;font-size:11px!important;line-height:1.2!important}.g6-necklace-card>span{grid-template-columns:repeat(4,1fr);gap:2px;margin-top:2px}.g6-necklace-card i{font-size:9px;line-height:1.4}.g6-necklace-cards{gap:3px}.g6-choices button{line-height:1.25}.g6-board{padding:4px}.g6-phases{margin:2px 0}}
.decimal-grid-activity .dg-board{position:sticky;top:0;z-index:5;background:#effaff;border:2px solid #b1d5ed;border-radius:14px;padding:5px}
.decimal-grid-activity .dg-board svg{display:block;width:100%!important;height:min(46svh,350px)!important;max-height:46svh!important;margin:auto}
.decimal-grid-activity .dg-story{font-size:14px;font-weight:750;margin:3px}
.decimal-grid-activity [data-dg-cell]{cursor:pointer}
.decimal-grid-activity [data-dg-cell]:not([fill="#fff"]){animation:dg-color-in .5s ease-out}
@keyframes dg-color-in{from{fill-opacity:.15}to{fill-opacity:1}}
@media(prefers-reduced-motion:reduce){.decimal-grid-activity [data-dg-cell]{animation:none!important}}
.decimal-grid-activity [data-dg-cell]:focus-visible{outline:none;stroke:#f49c00;stroke-width:3px}
.decimal-grid-activity button,.decimal-grid-activity input,.decimal-grid-activity select,.decimal-grid-activity summary{scroll-margin-top:var(--dg-height,65vh)}
.decimal-grid-activity button{border:1px solid #91acd2;border-radius:9px;padding:5px 8px;background:#ecf3ff;color:#173478;font-weight:800}
.dg-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px;margin:5px 0}
.dg-controls button{display:inline-flex;direction:rtl;align-items:center;gap:5px}
.dg-controls label{display:inline-flex;align-items:center;gap:4px}
.dg-controls input:not([type=checkbox]){width:90px;font:800 20px system-ui}
.dg-result{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;font:900 25px system-ui;color:#b11c76}
.dg-result small{flex-basis:100%;font-size:13px}.dg-fraction{display:inline-flex;flex-direction:column;font-size:20px}.dg-fraction b:first-child{border-bottom:2px solid currentColor}
.dg-answer-toggle{display:flex;align-items:center;justify-content:center;gap:5px;margin:2px;font-size:13px;font-weight:800}
.decimal-grid-activity .dg-result{gap:3px 10px;padding:4px;border-radius:10px;background:#fff5cf;border:2px solid #d99400}
.dg-decimal{display:inline-flex;direction:ltr;align-items:baseline;font-size:34px;line-height:1.2;color:#a71057}
.dg-trailing-zero{display:inline-block;width:.7em;overflow:hidden;border-radius:5px;animation:dg-zero-fade 4s ease-in-out forwards}
@keyframes dg-zero-fade{0%,15%{background:transparent;color:inherit;width:.7em;opacity:1}30%,65%{background:#c8234f;color:white;width:.7em;opacity:1}100%{background:#c8234f;color:white;width:0;opacity:0}}
.dg-ten-notice{flex-basis:100%;font-size:13px;color:#854100;animation:dg-ten-pulse .5s ease-in-out 3}
.dg-ten-notice small{display:block;font-size:12px}
.dg-equivalence{display:flex;direction:rtl;justify-content:center;gap:8px;font-size:21px;color:#a71057}
@keyframes dg-ten-pulse{50%{background:#ffe264}}
@media(prefers-reduced-motion:reduce){.dg-trailing-zero,.dg-ten-notice{animation:none}.dg-trailing-zero{width:0;opacity:0}}
.decimal-grid-activity .dg-board:has(.dg-ten-notice) svg{height:min(34svh,280px)!important;max-height:34svh!important}
@media(max-height:500px){.decimal-grid-activity .dg-board:has(.dg-ten-notice) svg{height:27svh!important}.dg-decimal{font-size:27px}.dg-ten-notice{font-size:11px}.dg-ten-notice small{font-size:10px}.dg-equivalence{font-size:18px}.decimal-grid-activity .dg-result small{font-size:11px}}
.dg-question{border:2px solid #ae6200;background:#fff3cd;border-radius:10px;padding:5px;font-size:14px}
.dg-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:5px}.dg-choices button{font-size:19px;background:white}
.dg-feedback{margin:3px;font-size:13px}.dg-feedback:empty,[data-dg-error]:empty{display:none}
.decimal-grid-activity details{background:#eef3fb;padding:6px;border-radius:10px;font-size:13px}
@media(max-height:500px){.decimal-grid-activity .dg-board svg{height:43svh!important}.decimal-grid-activity .dg-story{font-size:12px}.dg-result{font-size:20px}.dg-question{font-size:12px}.dg-choices button{font-size:15px;padding:2px}}
@media(max-height:500px) and (min-width:600px){
 .large-place-board:has(.lp-question:not([hidden])) .large-place-svg{max-height:30svh!important}
 .large-place-activity .lp-question{padding:3px;margin-top:2px}
 .large-place-activity .lp-question h2{font-size:11px;margin:0}
 .large-place-activity .lp-question [data-question-text]{font-size:13px;margin:1px}
 .large-place-activity .lp-question button{min-height:28px}
}

.g6-bar-slot{direction:rtl}
.pf-activity{max-width:1000px;margin:auto;text-align:center;color:#173478}.pf-activity h1{font-size:20px;margin:3px}
.pf-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin:5px 0}.pf-controls label{display:inline-flex;align-items:center;gap:4px;font-size:13px}
.pf-activity button,.pf-activity select{font:800 14px system-ui;background:#edf4ff;color:#173478;border:1px solid #9ab6d9;border-radius:9px;padding:5px 8px}.pf-activity input:not([type=checkbox]){width:85px;font:850 23px system-ui;text-align:center;direction:ltr;border:2px solid #9ab6d9;border-radius:8px}
.pf-activity button,.pf-activity input,.pf-activity select,.pf-activity summary{scroll-margin-top:var(--pf-height,60vh)}.pf-navigation button{display:inline-flex;align-items:center;gap:5px;direction:rtl}.pf-navigation [aria-hidden]{unicode-bidi:isolate}
.pf-board{position:sticky;top:0;z-index:5;border:2px solid #afd5ed;border-radius:14px;background:#f0faff;padding:6px}.pf-story{font-size:16px;font-weight:800;margin:3px}.pf-definition{font-size:13px;margin:4px;padding:4px;background:#fff0c7;border-radius:9px}
.pf-activity .pf-tree{display:block;width:100%!important;height:auto!important;max-height:40svh!important;min-height:90px;margin:4px auto}.pf-tree [data-pf-node]{cursor:pointer}.pf-tree [data-pf-node]:focus-visible circle{stroke:#f1c500;stroke-width:5}
.pf-legend,.pf-splits{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;font-size:13px;margin:3px 0}.pf-legend span{padding:2px 7px;border-radius:7px}.pf-legend .prime{background:#b8f7de;color:#00583d}.pf-legend .composite{background:#ffe0bb;color:#873500}
.pf-splits button{font-size:17px;background:white}.pf-result{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;font:900 clamp(18px,2.6vw,27px) system-ui;color:#a11874;background:#fff3cd;border-radius:9px;padding:5px}.pf-check{font-size:13px;color:#066546;margin:4px}
.pf-question{background:#fff1d0;border:2px solid #ac5d00;border-radius:10px;padding:5px;font-size:14px}.pf-choices{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:5px 0}.pf-choices button{background:white}.pf-feedback{margin:3px;font-size:13px;color:#00643d}.pf-feedback:empty{display:none}
.pf-activity details{background:#edf3fb;border-radius:10px;padding:6px}.pf-activity details p{font-size:12px;margin:4px}.pf-activity [hidden]{display:none!important}.pf-splits:empty{display:none}[data-pf-error]{color:#ab234e;font-size:13px}
.pf-new-node{animation:pf-node-in .65s ease-out both}.pf-new-edge{stroke-dasharray:1;animation:pf-edge-in .55s ease-out both}
@keyframes pf-node-in{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes pf-edge-in{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(max-width:600px){.pf-story{font-size:14px}.pf-definition,.pf-check{font-size:12px}.pf-result{font-size:18px}.pf-question{font-size:13px}.pf-choices button{font-size:12px;padding:3px}.pf-splits button{font-size:15px}.pf-activity .pf-tree{max-height:34svh!important}}
@media(max-height:500px) and (min-width:600px){.pf-board{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;align-items:start}.pf-story,.pf-definition{grid-column:1/-1;font-size:12px;margin:2px}.pf-activity .pf-tree{grid-column:2;grid-row:3/span 5;max-height:62svh!important;min-height:70px}.pf-legend,.pf-splits,.pf-result,.pf-check,.pf-question{grid-column:1}.pf-legend,.pf-check{font-size:11px}.pf-result{font-size:17px}.pf-question{font-size:12px}.pf-choices{gap:3px}.pf-choices button{font-size:11px;padding:2px}.pf-question>[data-pf-ask]{font-size:11px;padding:2px}.pf-splits button{padding:2px 5px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.pf-new-node,.pf-new-edge{animation:none!important}}

/* Powers: fixed geometric units, progressive factors, and compact teacher controls. */
.pw-activity{width:100%;color:#15304d}.pw-activity header h1{font-size:20px;margin:0 0 5px;padding:0}.pw-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px}.pw-controls label{display:flex;align-items:center;gap:4px;font-size:13px}.pw-activity button,.pw-activity select{font:inherit;border:1px solid #aec5dc;border-radius:8px;padding:4px 8px;background:#fff;color:#17334e;cursor:pointer}.pw-activity button:focus-visible{outline:3px solid #ed9b00;outline-offset:2px}.pw-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:13px}.pw-activity button:disabled,.pw-activity select:disabled{opacity:.42;cursor:default}.pw-activity button[aria-pressed=true]{background:#145bcc;color:white;border-color:#145bcc}.pw-tabs{margin-bottom:5px}.pw-board{background:linear-gradient(145deg,#f4fbff,#fff6fc);border:1px solid #bad6eb;border-radius:14px;padding:8px;position:sticky;top:4px;z-index:2}.pw-caption{text-align:center;font-size:15px;font-weight:700;min-height:27px;color:#164875}.pw-notation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;max-width:660px;margin:auto;text-align:center}.pw-term{font-weight:800!important;font-size:17px!important}.pw-term span{display:block;font-size:12px;font-weight:500}.pw-base-label{color:#075cb8!important;background:#e1f1ff!important;border-color:#087de0!important}.pw-exponent-label{color:#b3155e!important;background:#ffdfef!important;border-color:#df247d!important}.pw-power{position:relative;display:inline-flex;align-items:flex-start;justify-content:center;padding:4px 18px;font:900 68px/1.1 system-ui;min-width:110px}.pw-base{color:#075cb8}.pw-exponent{font-size:.48em;line-height:1;margin-top:0;color:#c41466}.pw-power-name{grid-column:1/-1;font-size:12px;margin:0;color:#6c368f}.pw-notation[data-focus=base] .pw-base,.pw-notation[data-focus=exponent] .pw-exponent{animation:pw-pulse .65s 3}.pw-factors{display:flex;direction:rtl;justify-content:center;align-items:center;gap:9px;min-height:56px;margin:4px 0}.pw-factor{background:white;border:2px solid #b8cbdd;border-radius:9px;min-width:56px;text-align:center;color:#5a6c80;padding:2px 5px}.pw-factor.counted{border-color:#087de0;color:#075cb8;background:#e0f2ff}.pw-factor b{font:900 29px/1.1 system-ui}.pw-factor small{display:block;font-size:10px}.pw-times{font:800 24px system-ui;color:#b71866}.pw-scene svg{display:block!important;width:100%!important;height:clamp(130px,35svh,330px)!important;max-height:38svh!important;min-height:0!important;overflow:visible;background:transparent!important}.pw-layers{gap:3px;margin:3px auto}.pw-layers button{font-size:11px;border-bottom:3px solid var(--pw-color,#145bcc);padding:2px 5px}.pw-result{display:flex;align-items:center;justify-content:center;gap:14px;color:#7133af;background:#eee3ff;border:2px solid #955ae0;border-radius:9px;padding:3px;margin-top:4px;font-size:15px}.pw-result b{font:900 34px/1.2 system-ui}.pw-navigation{margin-top:6px}.pw-activity details{font-size:13px;padding:5px;margin-top:4px;background:#edf3fb;border-radius:8px}.pw-question{border:2px solid #b66a00;background:#fff0c9;border-radius:10px;padding:8px;text-align:center}.pw-question strong{font-size:17px}.pw-choices{margin:8px 0}.pw-choices button{font:900 26px system-ui;min-width:48px}.pw-feedback{font-size:13px;color:#24516b;margin:3px}.pw-feedback:empty{display:none}.pw-activity [hidden]{display:none!important}.pw-new-unit{animation:pw-unit-in .7s ease-out both;transform-box:fill-box;transform-origin:center}.pw-arrive{animation:pw-factor-in .6s ease-out both}@keyframes pw-unit-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes pw-factor-in{from{transform:translateY(-15px);background:#ffbddd}to{transform:translateY(0)}}@keyframes pw-pulse{50%{background:#ffda43;box-shadow:0 0 0 5px #ffda43;border-radius:5px}}
@media(max-width:600px){.pw-board{padding:5px}.pw-caption{font-size:12px}.pw-term{font-size:14px!important;padding:3px!important}.pw-term span{font-size:10px}.pw-power{font-size:57px;min-width:78px;padding:3px 5px}.pw-factors{gap:5px}.pw-factor{min-width:44px}.pw-factor b{font-size:25px}.pw-controls button,.pw-controls label{font-size:11px}.pw-controls{gap:4px}.pw-scene svg{height:29svh!important;max-height:29svh!important}.pw-power-name{font-size:11px}.pw-question strong{font-size:14px}.pw-result b{font-size:28px}}
@media(max-height:500px) and (min-width:600px){.pw-board{display:grid;grid-template-columns:38% 1fr;gap:3px 8px}.pw-caption,.pw-navigation{grid-column:1/-1}.pw-caption{font-size:12px}.pw-notation{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.pw-term{font-size:12px!important}.pw-term span{font-size:10px}.pw-power{font-size:50px;min-width:65px;order:-1;width:100%;padding:0}.pw-power-name{width:100%;margin:0}.pw-work{grid-column:2;grid-row:2/span 2}.pw-scene svg{height:36svh!important;max-height:36svh!important}.pw-factors{min-height:35px;margin:0}.pw-factor b{font-size:22px}.pw-factor small{font-size:9px}.pw-factor{min-width:40px}.pw-question{grid-column:1;grid-row:3;padding:3px}.pw-question strong{font-size:12px}.pw-choices{margin:3px}.pw-choices button{font-size:18px;min-width:30px}.pw-feedback{font-size:11px}.pw-result{margin:2px;padding:0;font-size:12px}.pw-result b{font-size:23px}.pw-navigation{margin-top:0}.pw-controls button{font-size:11px;padding:3px 5px}}
@media(prefers-reduced-motion:reduce){.pw-new-unit,.pw-arrive,.pw-notation[data-focus] .pw-base,.pw-notation[data-focus] .pw-exponent{animation:none!important}}

.oo-activity{width:100%;color:#143755}.oo-activity header h1{font-size:20px;padding:0;margin:0 0 5px}.oo-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px}.oo-controls label{display:flex;align-items:center;gap:4px;font-size:12px}.oo-activity button,.oo-activity select{font:inherit;background:white;color:#17456c;border:1px solid #9cbcd8;border-radius:8px;padding:4px 8px;cursor:pointer;max-width:100%}.oo-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px}.oo-activity button[aria-pressed=true]{background:#1261c7;border-color:#1261c7;color:white}.oo-activity button:disabled{opacity:.4;cursor:default}.oo-activity button:focus-visible{outline:3px solid #f2a900;outline-offset:2px}.oo-tabs,.oo-examples{margin-bottom:5px}.oo-examples select{max-width:230px}.oo-board{position:sticky;top:4px;z-index:2;background:linear-gradient(145deg,#f2faff,#fff7fd);border:1px solid #bdd5ec;border-radius:14px;padding:8px;text-align:center}.oo-caption{font-size:16px;font-weight:800;color:#154978;margin:2px 0 6px}.oo-ranks{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.oo-ranks span{font-size:12px;background:#e8eef8;border:2px solid transparent;border-radius:8px;padding:4px 7px}.oo-ranks b{color:#c51b6b}.oo-ranks .active{border-color:#b97500;background:#ffe080;color:#402c00}.oo-direction{font-size:11px;color:#526378;margin:4px}.oo-expression,.oo-group{display:inline-flex;direction:rtl;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font:900 clamp(25px,4vw,44px)/1.3 system-ui}.oo-group{gap:5px}.oo-token{display:inline-block;padding:4px 3px;border:2px solid transparent;border-radius:7px}.oo-number{color:#0968c8}.oo-operator{color:#ce1b71}.oo-paren{display:inline-block;transform:scaleX(-1);color:#8c38b6}.oo-selected{background:#ffe48b;border-color:#ad6700!important;box-shadow:0 0 0 1px #ad6700;border-radius:7px}.oo-power{display:inline-flex;direction:rtl;align-items:flex-start;padding:3px;border:2px solid transparent;border-radius:7px;gap:1px}.oo-power sup{font-size:.55em;line-height:1.3;color:#c51b6b}.oo-power .oo-token{padding:0}.oo-current{display:flex;justify-content:center;align-items:center;min-height:120px;padding:10px 0}.oo-previous{opacity:.75;margin-top:8px}.oo-previous .oo-expression{font-size:25px}.oo-down{display:block;font:700 28px/1 system-ui;color:#7541b8}.oo-reason{font-size:14px;margin:4px;color:#305471}.oo-result{display:flex;align-items:center;justify-content:center;gap:15px;min-height:95px;margin:8px 0;background:#e5f4ff;border:2px solid #267dd9;border-radius:12px;font-size:17px}.oo-result b{font:900 52px system-ui;color:#0968c8}.oo-intro{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:12px 4px}.oo-intro-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:15px 10px;background:#fff;border:2px solid #79b4ed;border-radius:12px;flex:1;min-width:240px}.oo-intro-card strong{font-size:17px;color:#0b62b5}.oo-intro-card p,.oo-intro-note{font-size:13px;margin:4px}.oo-equation-card{border-color:#a18bd4}.oo-equation-card strong{color:#7940b2}.oo-intro-note{width:100%;padding:7px;background:#fff0b7;border-radius:8px}.oo-blue{color:#0968c8}.oo-pink{color:#c51b6b}.oo-mistake{background:#fff1ee;border:2px solid #bd4232;border-radius:10px;padding:6px;margin:5px 0;color:#923725}.oo-mistake>strong{display:block;font-size:14px}.oo-mistake .oo-expression{font-size:25px}.oo-mistake p{font-size:13px;margin:4px}.oo-mistake .oo-down{font-size:19px;color:#bd4232}.oo-question{background:#fff0c8;border:2px solid #b86e00;border-radius:11px;padding:8px;margin:5px 0}.oo-question>strong{font-size:16px}.oo-choices{margin:7px 0}.oo-choices button{font-size:20px;min-width:55px;background:white}.oo-choices .oo-expression{font-size:22px}.oo-feedback{font-size:13px;margin:3px;color:#235778}.oo-feedback:empty{display:none}.oo-operation{font-size:inherit!important;border:2px solid #c57700!important;background:#fff4d9!important;min-width:42px}.oo-navigation{margin-top:6px}.oo-activity details{font-size:13px;background:#edf3fb;border-radius:8px;margin-top:5px;padding:5px}.oo-activity [hidden]{display:none!important}.oo-new-result{animation:oo-drop .75s ease-out both}@keyframes oo-drop{from{opacity:.2;transform:translateY(-32px);background:#ffe080}to{opacity:1;transform:translateY(0);background:#d5efff}}
@media(max-width:600px){.oo-activity header h1{font-size:17px}.oo-board{padding:5px}.oo-caption{font-size:13px}.oo-ranks{gap:3px}.oo-ranks span{font-size:10px;padding:3px}.oo-direction{font-size:10px}.oo-expression{gap:3px;font-size:28px}.oo-group{gap:2px;font-size:inherit}.oo-token{padding:2px}.oo-current{min-height:95px;padding:6px 0}.oo-previous .oo-expression,.oo-mistake .oo-expression{font-size:21px}.oo-reason,.oo-mistake p{font-size:11px}.oo-controls{gap:4px}.oo-controls button,.oo-controls label{font-size:11px}.oo-examples select{max-width:190px}.oo-intro{padding:5px 0;gap:5px}.oo-intro-card{padding:7px;gap:3px;min-width:230px}.oo-intro-card strong{font-size:14px}.oo-intro-card p,.oo-intro-note{font-size:11px}.oo-choices button{font-size:17px;min-width:42px}.oo-question>strong{font-size:13px}.oo-result{min-height:65px;font-size:14px}.oo-result b{font-size:38px}.oo-mistake>strong{font-size:12px}}
@media(max-height:500px) and (min-width:600px){.oo-board{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}.oo-caption,.oo-ranks,.oo-direction,.oo-navigation{grid-column:1/-1;margin:0}.oo-caption{font-size:12px}.oo-ranks span{padding:1px 4px;font-size:10px}.oo-direction{font-size:10px}.oo-calculation{grid-column:1;align-self:center}.oo-board:not(:has(.oo-mistake:not([hidden]))):not(:has(.oo-question:not([hidden]))) .oo-calculation{grid-column:1/-1}.oo-current{min-height:55px;padding:3px}.oo-expression{font-size:28px;gap:4px}.oo-group{font-size:inherit}.oo-previous{margin:0}.oo-previous .oo-expression{font-size:20px}.oo-reason{font-size:11px;margin:1px}.oo-mistake,.oo-question{grid-column:2;grid-row:4;padding:4px;margin:0}.oo-mistake .oo-expression{font-size:20px}.oo-mistake p{font-size:10px}.oo-intro{grid-column:1/-1;padding:2px;gap:5px}.oo-intro-card{padding:4px;gap:3px}.oo-intro-card strong{font-size:13px}.oo-intro-card p,.oo-intro-note{font-size:10px;margin:0}.oo-intro-note{padding:2px}.oo-result{min-height:45px;margin:2px;font-size:12px}.oo-result b{font-size:28px}.oo-controls button{font-size:11px;padding:3px 5px}.oo-question>strong{font-size:12px}.oo-choices button{font-size:12px}.oo-choices{margin:3px}.oo-feedback{font-size:11px}.oo-down{font-size:18px}}
@media(prefers-reduced-motion:reduce){.oo-new-result{animation:none!important}}
.oo-mistake .oo-selected{background:#ffdad6;border-color:#bd4232!important;box-shadow:0 0 0 1px #bd4232}.oo-power sup .oo-operation{min-width:28px;padding:1px 4px}

/* Shared affordances for every MathViz activity. Keep lesson-specific colors and sizes. */
.mv-experience :is(button,input[type=button],input[type=submit],input[type=reset],summary,[role=button]:not(svg *)){
 border-style:solid!important;border-width:2px!important;border-color:currentColor!important;
 box-shadow:0 2px 0 #173b7155,inset 0 1px 0 #ffffff80!important;
 background-image:linear-gradient(135deg,#288dff38,#ffffff08)!important;
 font-weight:750;cursor:pointer!important;
 transition:box-shadow .15s,border-color .15s,background-color .15s;
}
.mv-experience summary{border-radius:8px;padding:4px 8px;color:#125ca9;background-color:#e5f2ff;width:fit-content;max-width:100%}
.mv-experience :is(button,[role=button],input[type=button],input[type=submit],summary):focus-visible{
 outline:3px solid #a64b00!important;outline-offset:3px!important;
}
.mv-experience :is(button,[role=button]:not(svg *))[aria-pressed=true],
.mv-experience :is(button,[role=button]:not(svg *))[aria-selected=true]{box-shadow:inset 0 0 0 2px #ffffffbd,0 2px 0 #153c72!important}
.mv-experience :is(button,input[type=button],input[type=submit],input[type=reset]):disabled,
.mv-experience [role=button][aria-disabled=true]:not(svg *){
 color:#627084!important;background:#e6ebf0!important;border-color:#adb8c5!important;
 border-style:dashed!important;box-shadow:none!important;opacity:1!important;
 cursor:not-allowed!important;filter:none!important;text-shadow:none!important;
}
.mv-experience svg [role=button]{cursor:pointer!important}
/* Locking interaction during a step must not fade the mathematical drawing. */
.mv-experience svg [role=button][aria-disabled=true]{cursor:not-allowed!important}
@media(hover:hover){
 .mv-experience :is(button,input[type=button],input[type=submit],input[type=reset],summary,[role=button]:not(svg *)):not(:disabled):not([aria-disabled=true]):hover{
  box-shadow:0 3px 0 #174c88,0 0 0 2px #62aaff66!important;
 }
 .mv-experience svg [role=button]:not([aria-disabled=true]):hover{filter:drop-shadow(0 0 2px #ed9a00)}
}
.mv-experience :is(button,input[type=button],input[type=submit],summary,[role=button]:not(svg *)):not(:disabled):not([aria-disabled=true]):active{box-shadow:inset 0 2px 4px #173b714d!important}
@media(prefers-reduced-motion:reduce){.mv-experience :is(button,summary,[role=button]){transition:none!important}}
.mv-experience button.mv-button-legible:not(:disabled){color:#12304d!important}

/* Variables: the same blue quantity wherever س occurs; fixed additions stay pink. */
.va-lesson{width:100%;color:#173653}.va-lesson header h1{font-size:20px;margin:0 0 5px;padding:0}.ve-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px}.ve-controls label{display:flex;align-items:center;gap:4px;font-size:12px}.va-lesson button,.va-lesson select{font:inherit;padding:4px 8px;border:1px solid #9bbddd;border-radius:8px;background:#e9f4ff;color:#164673;cursor:pointer;max-width:100%}.ve-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px}.ve-settings{margin-bottom:5px}.ve-board{position:sticky;top:4px;z-index:2;border:1px solid #abcce9;border-radius:13px;background:linear-gradient(145deg,#f0faff,#fff5fb);padding:8px;text-align:center}.ve-story{font-size:15px;font-weight:750;margin:2px 0 5px;color:#144e77}.ve-caption{font-size:13px;margin:3px 0 6px;color:#704000;background:#fff0bb;border-radius:7px;padding:4px}.ve-work{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;align-items:center;min-height:250px}.ve-symbols{min-width:0}.ve-definition{display:flex;flex-direction:column;gap:3px;font-size:13px}.ve-definition>b{font-size:20px;color:#0966cb}.ve-expression{display:inline-flex;direction:rtl;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;font:900 clamp(28px,4vw,43px)/1.35 system-ui}.ve-variable{color:#075fba;background:#d7eeff;border:2px solid #197ad9;border-radius:9px;padding:2px 6px}.ve-constant{color:#c01767}.ve-operation{color:#6d3d98}.ve-parenthesis{transform:scaleX(-1)}.ve-algebra{margin:6px 0}.ve-given{display:flex;justify-content:center;align-items:center;gap:10px;font-size:15px;color:#075fba;margin:6px 0}.ve-given bdi{font:900 29px system-ui;background:#deefff;border:2px solid #2883d9;border-radius:9px;padding:2px 10px}.ve-drop-arrow{display:block;font:800 26px/1 system-ui;color:#6637ae}.ve-numerical{margin:4px 0}.ve-result{display:flex;align-items:center;justify-content:center;gap:12px;background:#e5ddff;border:2px solid #8c57cd;border-radius:10px;margin:6px 0;padding:5px;color:#64339e;font-size:14px}.ve-result b{font:900 40px/1.2 system-ui}.ve-scene{padding:5px;min-width:0}.ve-scene>p{font-size:12px;color:#305773;margin:5px 0}.ve-mystery{display:flex;flex-direction:column;align-items:center;margin:10px auto;border-radius:25% 25% 15% 15%!important;background:#a5dbff!important;padding:20px 30px!important;color:#095aaf!important}.ve-mystery span{font:900 75px/1.1 system-ui}.ve-mystery small{font-size:13px}.ve-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:5px;align-items:stretch}.ve-group{border:2px solid #3299da;border-radius:14px 14px 8px 8px;background:#eefaff;padding:5px}.ve-group.constant{border-color:#d65494;background:#fff1f9}.ve-group strong{display:block;font-size:12px;margin-bottom:4px;color:#195e9e}.ve-group-value{color:#075fba}.ve-cubes{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:3px;min-height:28px}.ve-cube{display:block;position:relative;width:17px;height:17px;background:#1288e8;border:1px solid #07529a;box-shadow:inset -3px -3px #0666b8;border-radius:2px}.ve-group.constant .ve-cube,.ve-cube.extra{background:#ed368c;border-color:#ac1455;box-shadow:inset -3px -3px #c01e6a}.ve-cube.removed{background:#f1d5d5;border-color:#9d3737;box-shadow:none}.ve-cube.removed:after{content:'×';position:absolute;inset:0;display:grid;place-items:center;color:#a90020;font:900 18px/1 system-ui}.ve-empty{font-size:12px;color:#526275}.ve-value-controls{background:#e1f0fc;border-radius:9px;padding:5px;margin:5px 0}.ve-value-controls input{width:130px;accent-color:#086bce}.ve-value-controls button{font-size:20px;line-height:1;min-width:30px}.ve-question{border:2px solid #ad6900;background:#fff0c4;border-radius:10px;padding:8px;margin:5px 0}.ve-question>strong{font-size:15px}.ve-choices{margin:7px 0}.ve-choices button{background:white;font-size:22px;min-width:45px}.ve-choices .ve-expression{font-size:25px;gap:4px}.ve-feedback{font-size:12px;color:#295973;margin:3px}.ve-feedback:empty{display:none}.ve-navigation{margin-top:6px}.va-lesson details{background:#eaf2fb;border-radius:9px;padding:5px;margin-top:5px;font-size:13px}.va-lesson details p{font-size:11px;margin:4px}.va-lesson [hidden]{display:none!important}.ve-arrive{animation:ve-substitute .7s ease-out both}@keyframes ve-substitute{from{opacity:.1;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.va-lesson header h1{font-size:17px}.ve-board{padding:5px}.ve-story{font-size:12px}.ve-caption{font-size:11px;padding:3px}.ve-work{grid-template-columns:1fr;gap:3px;min-height:0}.ve-definition{font-size:11px;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap}.ve-definition>b{font-size:16px}.ve-expression{font-size:29px;gap:5px}.ve-given{margin:3px;font-size:12px}.ve-given bdi{font-size:23px}.ve-algebra{margin:3px}.ve-scene{padding:3px}.ve-mystery{padding:10px 24px!important;margin:5px auto}.ve-mystery span{font-size:50px}.ve-mystery small{font-size:11px}.ve-scene>p{font-size:10px;margin:3px}.ve-group{padding:3px}.ve-group strong{font-size:10px}.ve-cube{width:14px;height:14px;box-shadow:inset -2px -2px #0666b8}.ve-groups{grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:3px}.ve-result{margin:3px;padding:2px;font-size:12px}.ve-result b{font-size:29px}.ve-controls button,.ve-controls label{font-size:11px}.ve-controls{gap:4px}.ve-value-controls{padding:3px;margin:3px 0}.ve-value-controls input{width:90px}.ve-value-controls button{font-size:18px}.ve-choices .ve-expression{font-size:22px}.ve-choices button{font-size:19px}.ve-question>strong{font-size:12px}}
@media(max-height:500px) and (min-width:600px){.ve-board{padding:4px}.ve-story{font-size:12px;margin:0}.ve-caption{font-size:10px;padding:2px;margin:3px}.ve-work{min-height:0;gap:7px}.ve-definition{font-size:10px}.ve-definition>b{font-size:15px}.ve-expression{font-size:28px;gap:5px}.ve-algebra,.ve-given,.ve-numerical{margin:2px}.ve-given{font-size:11px}.ve-given bdi{font-size:21px}.ve-scene>p{font-size:10px;margin:2px}.ve-mystery{padding:8px 20px!important;margin:2px auto}.ve-mystery span{font-size:45px}.ve-mystery small{font-size:10px}.ve-group{padding:2px}.ve-group strong{font-size:10px;margin:2px}.ve-groups{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:3px}.ve-cube{width:12px;height:12px}.ve-cubes{gap:2px;min-height:18px}.ve-result{min-height:0;padding:1px;margin:2px;font-size:11px}.ve-result b{font-size:26px}.ve-value-controls{padding:2px;margin:3px 0}.ve-controls button{padding:2px 5px;font-size:11px}.ve-question{padding:3px;margin:3px}.ve-question>strong{font-size:12px}.ve-choices{margin:3px}.ve-choices .ve-expression{font-size:23px}.ve-feedback{font-size:11px}.ve-navigation{margin-top:3px}.ve-value-controls input{width:100px}}
@media(prefers-reduced-motion:reduce){.ve-arrive{animation:none!important}}
.ve-work:has(.ve-scene[hidden]){grid-template-columns:1fr;min-height:0}.ve-group{animation:ve-unpack .6s ease-out both}.ve-group:nth-child(2){animation-delay:.12s}.ve-group:nth-child(3){animation-delay:.24s}@keyframes ve-unpack{from{opacity:0;transform:translateY(-12px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.ve-group{animation:none!important}}
@media(max-width:600px){.ve-cubes{min-height:18px}.ve-group strong{line-height:1.2;margin-bottom:2px}.ve-scene>p{line-height:1.35}}
@media(max-height:500px) and (min-width:600px){.ve-story,.ve-caption,.ve-definition,.ve-scene>p,.ve-group strong{line-height:1.35}.ve-navigation{margin-top:2px}}
@media(max-height:500px) and (min-width:600px){.ve-symbols{display:grid;grid-template-columns:1fr auto;gap:2px;align-items:center}.ve-definition{grid-column:1/-1}.ve-algebra{grid-column:1}.ve-given{grid-column:2;flex-direction:column;gap:1px}.ve-numerical,.ve-result{grid-column:1/-1}.ve-drop-arrow{font-size:18px}.ve-work{gap:5px}}

.fn-lesson{width:100%;color:#173754}.fn-lesson header h1{font-size:20px;padding:0;margin:0 0 5px}.fn-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px}.fn-controls label{display:flex;align-items:center;gap:4px;font-size:12px}.fn-lesson button,.fn-lesson select,.fn-lesson input{font:inherit;border:1px solid #99bcdb;border-radius:8px;background:#e8f4ff;color:#154a78;padding:4px 8px;max-width:100%}.fn-controls button{display:inline-flex;justify-content:center;align-items:center;gap:5px;font-size:12px}.fn-settings{margin-bottom:5px}.fn-settings form{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}.fn-settings input{width:55px;background:white;font:800 19px system-ui}.fn-settings [role=alert]{font-size:11px;color:#a02a24}.fn-board{position:sticky;top:4px;z-index:2;background:linear-gradient(145deg,#effaff,#fff4fb);border:1px solid #b5cfe6;border-radius:14px;padding:8px;text-align:center}.fn-definition{font-size:16px;font-weight:800;color:#165887;margin:2px 0 4px}.fn-story{font-size:13px;margin:3px;color:#325574}.fn-caption{font-size:13px;background:#fff0bf;color:#734200;border-radius:7px;padding:4px;margin:5px 0}.fn-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr);gap:10px;align-items:center}.fn-layout.no-table{grid-template-columns:1fr}.fn-machine{position:relative;min-height:240px;background:#f9fcff;border:2px solid #8abddd;border-radius:15px;padding:9px}.fn-stations{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;align-items:start}.fn-stations>div{border:2px solid;border-radius:10px;padding:5px;min-height:73px}.fn-stations strong{display:block;font-size:13px}.fn-stations b{display:block;font:900 30px/1.2 system-ui;margin-top:3px}.fn-input{background:#d9eeff;color:#0e63b7}.fn-rule{background:#e9e0ff;color:#7140a5}.fn-rule span{display:block;font-size:12px;font-weight:800;margin-top:5px}.fn-rule.working{background:#ffe69b;color:#734500;border-color:#ac7000}.fn-output{background:#ffe0ef;color:#b91968}.fn-track{position:absolute;top:110px;left:17%;right:17%;height:34px;display:flex;justify-content:space-around;align-items:center;border-bottom:5px solid #bed4e7;color:#4d87b8;font:900 35px/1 system-ui}.fn-packet{position:absolute;left:var(--fn-position,83%);top:111px;transform:translateX(-50%);width:52px;height:52px;display:grid;place-items:center;border:3px solid #0864ba;background:#c7eaff;color:#084f92;border-radius:12px;font:900 31px/1 system-ui;box-shadow:0 3px 0 #3675a933;transition:left .7s ease-in-out,background-color .5s,border-color .5s}.fn-packet[data-stage=output]{background:#ffc5e0;color:#a50952;border-color:#c52173}.fn-equation{position:absolute;bottom:9px;left:4px;right:4px;min-height:38px;display:flex;justify-content:center;align-items:center}.fn-expression{display:inline-flex;direction:rtl;align-items:center;justify-content:center;gap:8px;font:900 30px/1.2 system-ui;color:#075cae}.fn-expression>span{color:#a02a82}.fn-table-wrap table,.fn-pairs{width:100%;border-collapse:separate;border-spacing:3px;text-align:center}.fn-table-wrap caption{font-size:14px;font-weight:800;color:#135f9b}.fn-table-wrap th,.fn-pairs th{font-size:12px;color:#215577;background:#dcebfa;border-radius:5px;padding:4px}.fn-table-wrap td,.fn-pairs td{background:white;border:2px solid #d3e1ec;border-radius:7px;padding:3px}.fn-table-wrap td:first-child{color:#0965ba}.fn-table-wrap td:last-child{color:#b71565;font:900 26px system-ui}.fn-table-wrap .current td{border-color:#c58700;background:#fff0c4}.fn-table-wrap button{font:900 24px/1.1 system-ui;min-width:44px;padding:3px 7px}.fn-table-wrap small{font-size:10px;color:#47647b}.fn-question{border:2px solid #b87000;border-radius:10px;background:#fff0c5;padding:8px;margin:5px 0}.fn-question>strong{font-size:15px}.fn-question-data p{font-size:14px;margin:6px}.fn-question-data p b{color:#0b5faf;font-weight:900}.fn-pairs{max-width:260px;margin:4px auto}.fn-pairs td{font:900 24px system-ui;color:#0b64b5}.fn-pairs td:last-child{color:#b21b66}.fn-choices{margin:6px 0}.fn-choices button{font-size:17px;background:white;min-width:45px}.fn-feedback{font-size:13px;color:#275874;margin:3px}.fn-feedback:empty{display:none}.fn-navigation{margin-top:6px}.fn-lesson details{background:#eaf3fb;border-radius:8px;padding:5px;margin-top:5px;font-size:13px}.fn-lesson details p{font-size:11px;margin:4px}.fn-lesson [hidden]{display:none!important}
@media(max-width:600px){.fn-lesson header h1{font-size:17px}.fn-board{padding:5px}.fn-definition{font-size:13px}.fn-story,.fn-caption{font-size:11px;line-height:1.5}.fn-layout{grid-template-columns:minmax(0,1fr);gap:4px}.fn-machine{min-height:180px;padding:5px}.fn-stations{gap:4px}.fn-stations>div{min-height:62px;padding:3px}.fn-stations strong{font-size:11px}.fn-stations b{font-size:25px}.fn-rule span{font-size:10px;line-height:1.3}.fn-track{top:83px;height:28px;font-size:28px}.fn-packet{top:86px;width:39px;height:39px;font-size:25px}.fn-equation{bottom:5px;min-height:30px}.fn-expression{font-size:25px}.fn-table-wrap table{border-spacing:2px;margin:0 auto;max-width:260px}.fn-table-wrap caption{font-size:12px}.fn-table-wrap th{font-size:10px;padding:1px}.fn-table-wrap td{padding:1px}.fn-table-wrap button{font-size:19px;min-width:40px;padding:1px 6px;line-height:1}.fn-table-wrap td:last-child{font-size:20px}.fn-table-wrap small{font-size:9px}.fn-controls label,.fn-controls button{font-size:11px}.fn-settings input{font-size:17px;width:45px}.fn-settings{gap:4px}.fn-question>strong{font-size:13px}.fn-question-data p{font-size:12px}.fn-choices button{font-size:14px}.fn-feedback{font-size:11px}}
@media(max-height:500px) and (min-width:600px){.fn-board{padding:4px}.fn-definition{font-size:13px;line-height:1.3;margin:1px}.fn-story,.fn-caption{font-size:10px;line-height:1.35;margin:3px;padding:2px}.fn-layout{grid-template-columns:1.8fr 1fr;gap:7px}.fn-machine{min-height:172px;padding:5px}.fn-stations>div{min-height:58px;padding:3px}.fn-stations strong{font-size:11px}.fn-stations b{font-size:23px}.fn-rule span{font-size:10px;line-height:1.3}.fn-track{top:80px;height:27px;font-size:27px}.fn-packet{top:82px;width:36px;height:36px;font-size:23px}.fn-equation{bottom:4px;min-height:30px}.fn-expression{font-size:25px}.fn-table-wrap table{border-spacing:2px}.fn-table-wrap caption{font-size:11px;line-height:1.2}.fn-table-wrap th{font-size:10px;padding:0}.fn-table-wrap td{padding:0}.fn-table-wrap button{font-size:17px;min-width:35px;padding:1px 6px;line-height:1}.fn-table-wrap td:last-child{font-size:19px}.fn-table-wrap small{font-size:9px;line-height:1.2;display:block}.fn-controls button{font-size:11px;padding:2px 6px}.fn-controls label{font-size:11px}.fn-settings input{font-size:17px;padding:2px 5px}.fn-navigation{margin-top:3px}.fn-question{padding:4px;margin:3px}.fn-question>strong{font-size:12px}.fn-question-data p{font-size:12px;margin:4px}.fn-pairs{max-width:260px;margin:2px auto;border-spacing:2px}.fn-pairs th{font-size:10px;padding:1px}.fn-pairs td{font-size:20px;padding:1px}.fn-choices{margin:4px}.fn-feedback{font-size:11px}.fn-choices button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.fn-packet{transition:none!important}}
@media(max-width:600px){.fn-table-wrap table{display:grid;grid-template-columns:48px minmax(0,1fr);gap:3px;max-width:100%;width:100%}.fn-table-wrap caption{grid-column:1/-1}.fn-table-wrap thead tr{display:flex;flex-direction:column;gap:3px}.fn-table-wrap tbody{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.fn-table-wrap tbody tr{display:flex;flex-direction:column;gap:3px;min-width:0}.fn-table-wrap :is(th,td){display:flex;justify-content:center;align-items:center;height:32px;min-width:0;padding:1px}.fn-table-wrap th{line-height:1.2}.fn-table-wrap button{min-width:0;width:100%;font-size:18px;padding:2px 1px}.fn-table-wrap td:last-child{font-size:19px}.fn-table-wrap small{display:block;line-height:1.3;margin-top:3px}}
@media(max-height:500px) and (min-width:600px){.fn-table-wrap th{line-height:1.15}.fn-table-wrap td{border-width:1px}}
.gc-lesson{color:#163b59;width:100%}.gc-lesson h1{font-size:20px;margin:0 0 5px}.gc-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px}.gc-controls label{display:flex;align-items:center;gap:5px;font-size:12px}.gc-controls button,.gc-controls select{font:inherit;font-size:12px;padding:4px 8px;border-radius:8px;background:#e6f2ff;color:#174971;border:2px solid #87b9da}.gc-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.gc-board{position:sticky;top:4px;padding:8px;margin-top:5px;border:1px solid #a5c9e3;border-radius:14px;background:linear-gradient(135deg,#edfaff,#fff2fa);text-align:center;z-index:2}.gc-story{font-size:14px;font-weight:700;margin:3px;line-height:1.6}.gc-goals{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;font-size:12px}.gc-goals>span{background:#dbeaff;border-radius:6px;padding:3px 7px}.gc-goals b{font:900 21px system-ui;color:#135caa}.gc-caption{padding:4px;background:#fff0bf;color:#754400;border-radius:7px;font-size:13px;margin:5px 0}.gc-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:8px;align-items:center}.gc-guess{margin-bottom:5px}.gc-guess input{width:110px;accent-color:#b81a70}.gc-guess b{font:900 25px system-ui;color:#bd116b}.gc-items{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;min-height:120px;align-content:center}.gc-item{padding:5px;border:2px solid #1376cd;border-radius:9px;background:#d8edff;color:#125fa1;transition:background .5s,border-color .5s,transform .5s}.gc-item.large{border-color:#d01b80;background:#ffe0f0;color:#ab095e}.gc-item>span{font:900 20px system-ui}.gc-item>div{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;min-height:27px;align-content:center}.gc-unit{display:block;width:12px;height:12px;background:currentColor;border:1px solid #fff}.gc-unit.wheel{border-radius:50%;box-shadow:inset 0 0 0 3px #fff8}.gc-unit.book{height:17px;border-radius:2px;box-shadow:inset 3px 0 #fff8}.gc-unit.seat{border-radius:2px 2px 5px 5px;border-bottom:4px solid #153956}.gc-item.counting{outline:3px solid #eaa600;outline-offset:1px;animation:gc-count .7s ease 2}.gc-calculation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:5px 0}.gc-expression{display:inline-flex;direction:rtl;align-items:center;gap:6px;font:900 25px/1.2 system-ui;color:#075fae}.gc-expression bdi{direction:ltr}.gc-expression>span{color:#b81a70}.gc-comparison{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:100%;padding:4px;background:#ffe5ca;border-radius:6px;color:#824500;font-size:12px}.gc-comparison.correct{background:#d4f6e1;color:#126837}.gc-log table{width:100%;border-spacing:3px}.gc-log caption{font-size:13px;font-weight:800}.gc-log th{font-size:10px;background:#dceaff;border-radius:5px;padding:4px}.gc-log td{font:800 22px system-ui;background:#fff;border-radius:5px;padding:3px;color:#145c95}.gc-log td[colspan]{font-size:12px}.gc-log tr.correct td{background:#c7f4d8;color:#09643a}.gc-log small{font-size:10px}.gc-final{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;border:2px solid #168a53;background:#dbfae8;padding:5px;border-radius:8px;font-size:13px}.gc-final>span{display:flex;gap:4px;align-items:center}.gc-final .gc-expression{font-size:21px}.gc-question{padding:12px;border:2px solid #bd7700;background:#fff0bc;border-radius:10px;margin:8px 0}.gc-question strong{font-size:16px}.gc-choices{margin-top:9px}.gc-choices button{background:white;font-size:14px;padding:9px}.gc-question p{font-size:14px}.gc-nav{margin-top:5px}.gc-lesson details{margin-top:5px;background:#eaf4ff;padding:5px;border-radius:7px;font-size:13px}.gc-lesson [hidden]{display:none!important}@keyframes gc-count{50%{transform:translateY(-3px);background:#fff0a1}}
@media(max-width:600px){.gc-lesson h1{font-size:17px}.gc-board{padding:5px}.gc-story{font-size:12px}.gc-caption{font-size:11px}.gc-main{grid-template-columns:1fr;gap:3px}.gc-items{min-height:100px;gap:4px}.gc-item{padding:3px}.gc-item>span{font-size:18px}.gc-unit{width:9px;height:9px}.gc-unit.book{height:12px}.gc-item>div{gap:2px}.gc-log table{max-width:320px;margin:auto}.gc-log td{font-size:18px;padding:1px}.gc-log th{padding:1px}.gc-expression{font-size:22px}.gc-calculation{min-height:30px;margin:3px 0}.gc-goals{font-size:10px}.gc-goals b{font-size:18px}.gc-controls button,.gc-controls label,.gc-controls select{font-size:11px}.gc-question{padding:7px}.gc-question strong{font-size:14px}}
@media(max-height:500px) and (min-width:600px){.gc-board{padding:4px}.gc-story{font-size:11px;line-height:1.3}.gc-goals{font-size:10px}.gc-goals b{font-size:16px}.gc-caption{font-size:10px;margin:3px 0;padding:2px}.gc-items{min-height:80px;gap:4px}.gc-item{padding:2px}.gc-item>span{font-size:16px}.gc-item>div{min-height:20px}.gc-unit{width:9px;height:9px}.gc-unit.book{height:12px}.gc-expression{font-size:21px}.gc-calculation{min-height:25px;margin:2px 0;gap:3px}.gc-guess{margin-bottom:2px}.gc-guess b{font-size:20px}.gc-log td{font-size:18px;padding:1px}.gc-log th{padding:2px}.gc-controls button{font-size:10px;padding:2px 5px}.gc-final{padding:2px;font-size:10px}.gc-final .gc-expression{font-size:18px}.gc-nav{margin-top:3px}}
@media(prefers-reduced-motion:reduce){.gc-item{animation:none!important;transition:none!important}}
.gc-guess{flex-wrap:nowrap}.gc-item>span{display:block;line-height:1.2}.gc-item>div{padding:0}.gc-final>strong{width:100%}.gc-nav button{line-height:1.3}.gc-log td{line-height:1.2}
@media(max-width:600px){.gc-guess input{width:65px}.gc-guess label{font-size:10px;gap:3px}.gc-guess button{padding:3px 6px}.gc-log th{line-height:1.3}.gc-final{gap:3px;font-size:11px}.gc-final .gc-expression{font-size:18px}.gc-nav{gap:4px}.gc-nav button{padding:3px 6px}.gc-items{min-height:85px}}
.ae-lesson{color:#153c5e;width:100%}.ae-lesson h1{font-size:20px;margin:0 0 5px}.ae-controls{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}.ae-controls label{display:flex;align-items:center;gap:4px;font-size:12px}.ae-controls button,.ae-controls select{border:2px solid #90b9d9;border-radius:8px;padding:4px 8px;background:#e2f1ff;color:#144c79;font:700 12px system-ui}.ae-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.ae-board{position:sticky;top:4px;border:1px solid #a6c6e4;border-radius:14px;background:linear-gradient(135deg,#edf9ff,#fff2fa);padding:8px;margin-top:5px;text-align:center;z-index:2}.ae-definition{margin:2px;font-size:13px;font-weight:700}.ae-math{display:inline-flex;direction:rtl;align-items:center;justify-content:center;gap:9px;font:900 31px/1.3 system-ui}.ae-math .number{color:#075bb9}.ae-math .unknown{color:#b40a72;background:#ffe0f2;border-radius:7px;padding:0 6px}.ae-math .operator{color:#823587}.ae-expression{padding:4px}.ae-expression.identify .unknown,.ae-expression.identify .operator{animation:ae-flash .65s ease 3}.ae-story{font-size:13px;margin:3px;line-height:1.5}.ae-caption{font-size:12px;margin:5px 0;background:#fff0bf;color:#784600;border-radius:7px;padding:4px}.ae-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(160px,1fr);gap:8px;align-items:center}.ae-layout.without-visual{grid-template-columns:1fr}.ae-visual{min-width:0;background:#fff;border:1px solid #b5d4ee;border-radius:12px}.ae-visual svg{display:block;width:100%;height:auto;max-height:340px;overflow:visible}.ae-svg-label{text-anchor:middle;font:700 15px system-ui;fill:#174575}.ae-pan{transition:transform 1s ease-in-out}.ae-beam{transform-origin:300px 140px;transition:transform 1s ease-in-out}.ae-visual-note{font-size:11px;line-height:1.4;margin:3px;color:#335774}.ae-work{padding:6px;min-width:0}.ae-trial{background:#e9e0ff;border:1px solid #b591e3;border-radius:10px;padding:6px}.ae-trial strong{font-size:14px;color:#6c259b}.ae-trial input{width:90px;accent-color:#ba1377}.ae-trial b{font:900 28px system-ui;color:#ba1377}.ae-trial small{font-size:10px;line-height:1.4;display:block}.ae-calculation{display:flex;flex-direction:column;align-items:center;gap:7px;margin:7px 0}.ae-calculation .ae-math{font-size:27px}.ae-verdict{font-size:12px;font-weight:800;background:#ffe2d6;color:#a13c16;border-radius:7px;padding:5px}.ae-verdict:empty{display:none}.ae-verdict.correct{background:#d3f7e3;color:#096740}.ae-solution{font-size:14px;line-height:1.6;color:#185889;font-weight:700}.ae-operation{background:#ffe294;border:2px solid #be7900;border-radius:9px;color:#754300;font:900 27px system-ui;padding:4px 10px;animation:ae-enter .8s ease both}.ae-operation small{font:700 11px system-ui;display:block}.ae-inverse{font-size:17px;color:#842993}.ae-question{border:2px solid #b97000;background:#fff1c4;border-radius:10px;padding:12px;margin:6px 0}.ae-question>strong{font-size:17px}.ae-question-data{margin:5px}.ae-choices button{font-size:14px;background:#fff;padding:8px}.ae-question p{font-size:13px;margin:5px}.ae-nav{margin-top:5px}.ae-lesson details{margin-top:5px;border-radius:8px;background:#eaf4ff;padding:5px;font-size:13px}.ae-lesson [hidden]{display:none!important}.ae-unit{animation:ae-enter .75s ease both;animation-delay:var(--ae-delay,0ms);transform-box:fill-box;transform-origin:center}.ae-unit.removed{animation:ae-remove 1.4s ease forwards}.ae-unit.added{animation:ae-enter 1.2s ease both;fill:#00a976}.ae-box{animation:ae-enter .75s ease both}@keyframes ae-enter{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes ae-remove{0%,30%{opacity:1;transform:translateY(0)}70%{opacity:1;fill:#f23858}100%{opacity:0;transform:translateY(-40px)}}@keyframes ae-flash{50%{background:#ffc639;box-shadow:0 0 0 3px #ffaf00}}
@media(max-width:600px){.ae-lesson h1{font-size:17px}.ae-board{padding:5px}.ae-definition{font-size:11px}.ae-math{font-size:28px;gap:7px}.ae-story{font-size:11px}.ae-caption{font-size:11px;padding:3px}.ae-layout{grid-template-columns:1fr;gap:3px}.ae-visual svg{max-height:200px}.ae-visual-note{font-size:10px}.ae-work{padding:3px}.ae-trial{padding:3px}.ae-trial strong{font-size:12px}.ae-trial b{font-size:23px}.ae-calculation{flex-direction:row;flex-wrap:wrap;margin:4px 0;gap:5px}.ae-calculation .ae-math{font-size:24px}.ae-operation{font-size:21px;padding:2px 7px}.ae-solution{font-size:12px}.ae-controls button,.ae-controls select,.ae-controls label{font-size:11px}.ae-nav button{padding:3px 6px;line-height:1.4}.ae-question{padding:7px}.ae-question>strong{font-size:14px}.ae-choices button{font-size:12px}.ae-inverse{font-size:14px}}
@media(max-height:500px) and (min-width:600px){.ae-board{padding:4px}.ae-definition{font-size:10px;margin:1px}.ae-expression{padding:1px}.ae-math{font-size:25px}.ae-story{font-size:10px;line-height:1.3;margin:1px}.ae-caption{font-size:10px;line-height:1.3;padding:2px;margin:3px 0}.ae-visual svg{max-height:155px}.ae-visual-note{font-size:9px;margin:1px}.ae-layout{grid-template-columns:1.5fr 1fr;gap:5px}.ae-work{padding:3px}.ae-calculation{gap:3px;margin:3px 0}.ae-calculation .ae-math{font-size:23px}.ae-trial{padding:2px}.ae-trial strong{font-size:11px}.ae-trial b{font-size:20px}.ae-trial small{font-size:9px}.ae-trial input{width:80px}.ae-verdict{font-size:10px;padding:3px}.ae-solution{font-size:12px}.ae-operation{font-size:21px;padding:2px 6px}.ae-nav button{font-size:10px;padding:2px 5px;line-height:1.3}.ae-inverse{font-size:13px}.ae-question{padding:6px}.ae-question>strong{font-size:13px}.ae-choices button{font-size:12px;padding:5px}}
@media(prefers-reduced-motion:reduce){.ae-lesson *{animation-duration:.001ms!important;animation-delay:0ms!important;transition:none!important}.ae-unit.removed{opacity:0}}
.ae-group-away{animation:ae-away 1.6s ease forwards}.ae-group-keep{animation:ae-keep 1.6s ease forwards}.ae-merge{animation:ae-merge 1.6s ease both}@keyframes ae-away{0%,40%{opacity:1}100%{opacity:0;transform:translateY(-22px)}}@keyframes ae-keep{0%,40%{transform:translateX(0)}100%{transform:translateX(var(--ae-shift))}}@keyframes ae-merge{0%,35%{transform:translate(var(--ae-dx),var(--ae-dy))}100%{transform:translate(0,0)}}
.ot-lesson{width:100%;color:#153b59}.ot-lesson h1{font-size:20px;margin:0 0 5px}.ot-controls{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}.ot-controls label{display:flex;align-items:center;gap:4px;font-size:12px}.ot-lesson button,.ot-lesson select{font:700 12px system-ui;border:2px solid #8bb9d8;border-radius:8px;background:#e5f3ff;color:#17517d;padding:4px 8px}.ot-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.ot-board{position:sticky;top:4px;background:linear-gradient(130deg,#eefbff,#fff3fa);border:1px solid #b0cce4;border-radius:14px;padding:8px;margin-top:5px;text-align:center;z-index:2}.ot-phases{display:flex;justify-content:center;gap:5px;font-size:11px}.ot-phases span{padding:3px 8px;border-radius:5px;background:#e0ecf8}.ot-phases .active{background:#185fb9;color:white;font-weight:800}.ot-story{font-size:14px;font-weight:700;line-height:1.5;margin:5px 0 2px}.ot-wanted{font-size:13px;font-weight:800;color:#aa1269;margin:2px}.ot-caption{font-size:12px;color:#754300;background:#ffefb8;padding:4px;border-radius:7px;margin:5px 0}.ot-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(160px,1fr);align-items:center;gap:8px}.ot-layout.no-scene{grid-template-columns:1fr}.ot-scene{background:#fff;border:1px solid #b7d6ee;border-radius:12px;padding:7px}.ot-row-label{font-size:14px;font-weight:800;color:#1b689f;margin:2px 0 5px}.ot-objects{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;min-height:115px;align-content:center}.ot-objects button{position:relative;padding:2px;border-radius:9px;min-width:0;background:#e7f3ff}.ot-objects svg{width:100%;height:48px;display:block}.ot-objects button span{position:absolute;bottom:2px;left:2px;border-radius:50%;background:#ffdb37;color:#173d67;font:900 15px system-ui;width:19px;height:19px;display:none}.ot-objects button.counted{background:#c9f8df!important;border-color:#008955!important;animation:ot-count .45s ease}.ot-objects button.counted span{display:block}.ot-count{font:800 17px system-ui;color:#9f1173;margin:4px}.ot-calculation{margin:4px 0;min-height:45px}.ot-calculation small{display:block;font-size:11px;color:#335f7f}.ot-math{display:inline-flex;direction:rtl;align-items:center;gap:7px;font:900 28px/1.3 system-ui;color:#095cb4}.ot-math bdi{direction:ltr}.ot-math>span{color:#b71c78}.ot-result{background:#ffdf6b;border-radius:5px;padding:0 5px}.ot-table-wrap table{width:100%;border-spacing:4px}.ot-table-wrap caption{font-size:14px;font-weight:800;color:#15578e}.ot-table-wrap th,.ot-table-wrap td{background:#e2effb;border-radius:7px;padding:4px;font:800 24px/1.2 system-ui;color:#16558e}.ot-table-wrap thead th{font-size:12px;line-height:1.4}.ot-table-wrap td button{font:900 24px/1.2 system-ui;width:100%;min-height:34px}.ot-table-wrap tr.current>th,.ot-table-wrap tr.current>td{outline:2px solid #eab316;background:#fff0bc}.ot-table-wrap tr.recorded td:last-child{background:#c5f3de}.ot-table-wrap tr.recorded button:disabled{background:#dcf6ea!important;color:#087246!important}.ot-final{padding:6px;border:2px solid #10935b;background:#d8f8e6;border-radius:9px;margin:5px 0;font-size:13px}.ot-final strong{display:block;font-size:19px;color:#086e41}.ot-question{border:2px solid #b57500;background:#fff0be;padding:12px;border-radius:10px;margin:7px 0}.ot-question strong{font-size:16px}.ot-choices{margin-top:8px}.ot-choices button{font-size:14px;background:white;padding:8px}.ot-question p{font-size:13px;margin:6px}.ot-nav{margin-top:5px}.ot-lesson details{padding:5px;background:#e8f3ff;border-radius:8px;margin-top:5px;font-size:13px}.ot-lesson [hidden]{display:none!important}.ot-flying{position:fixed;z-index:9999;pointer-events:none;display:grid;place-items:center;background:#ffdf4e;border:2px solid #bf8500;border-radius:7px;color:#095eb3;font:900 27px system-ui}@keyframes ot-count{50%{transform:scale(.91)}}
@media(max-width:600px){.ot-lesson h1{font-size:17px}.ot-board{padding:5px}.ot-story{font-size:11px}.ot-wanted{font-size:11px}.ot-caption{font-size:10px;padding:3px}.ot-phases{font-size:9px;gap:3px}.ot-phases span{padding:3px 5px}.ot-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:5px}.ot-scene{padding:4px}.ot-row-label{font-size:10px}.ot-objects{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;min-height:90px}.ot-objects svg{height:28px}.ot-objects button{padding:1px;border-width:1px!important}.ot-objects button span{width:13px;height:13px;font-size:10px;bottom:0;left:0}.ot-count{font-size:12px;margin:3px}.ot-math{font-size:20px;gap:4px}.ot-calculation{min-height:35px;margin:3px 0}.ot-calculation small{font-size:9px}.ot-scene>button{font-size:10px;padding:3px}.ot-table-wrap table{border-spacing:2px}.ot-table-wrap caption{font-size:11px}.ot-table-wrap thead th{font-size:9px;padding:2px;line-height:1.3}.ot-table-wrap th,.ot-table-wrap td{font-size:17px;padding:2px}.ot-table-wrap td button{font-size:18px;padding:2px;min-height:27px}.ot-controls button,.ot-controls select,.ot-controls label{font-size:11px}.ot-nav button{padding:3px 6px;line-height:1.3}.ot-final{font-size:11px;padding:4px}.ot-final strong{font-size:16px}.ot-question{padding:7px}.ot-question strong{font-size:13px}.ot-choices button{font-size:12px}}
@media(max-height:500px) and (min-width:600px){.ot-board{padding:4px}.ot-phases{font-size:9px}.ot-phases span{padding:1px 6px}.ot-story,.ot-wanted{font-size:10px;line-height:1.3;margin:2px}.ot-caption{font-size:10px;line-height:1.3;margin:3px;padding:2px}.ot-layout{grid-template-columns:1.4fr 1fr;gap:6px}.ot-scene{padding:3px}.ot-row-label{font-size:10px;margin:1px}.ot-objects{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;min-height:60px}.ot-objects svg{height:30px}.ot-objects button{padding:1px}.ot-objects button span{width:13px;height:13px;font-size:10px}.ot-count{font-size:12px;margin:2px}.ot-calculation{min-height:28px;margin:2px;display:flex;justify-content:center;align-items:center;gap:5px}.ot-calculation small{font-size:9px}.ot-math{font-size:22px}.ot-scene>button{font-size:10px;padding:2px 5px}.ot-table-wrap table{border-spacing:2px}.ot-table-wrap caption{font-size:10px}.ot-table-wrap thead th{font-size:9px;padding:1px}.ot-table-wrap th,.ot-table-wrap td{font-size:16px;padding:1px}.ot-table-wrap td button{font-size:17px;min-height:23px;padding:1px}.ot-nav button{font-size:10px;padding:2px 5px;line-height:1.3}.ot-final{padding:3px;margin:3px;font-size:10px}.ot-final strong{font-size:15px}.ot-question{padding:6px}.ot-question strong{font-size:13px}.ot-choices button{font-size:12px;padding:5px}}
@media(prefers-reduced-motion:reduce){.ot-lesson *{animation:none!important;transition:none!important}}
.bl-lesson{width:100%;color:#173d5e}.bl-lesson h1{font-size:20px;margin:0 0 5px}.bl-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px}.bl-controls label{display:flex;align-items:center;gap:4px;font-size:12px}.bl-lesson button,.bl-lesson select{font:700 12px system-ui;border:2px solid #8cb9d9;border-radius:8px;background:#e4f2ff;color:#16517e;padding:4px 8px}.bl-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.bl-board{position:sticky;top:4px;background:linear-gradient(130deg,#edfaff,#fff2fa);border:1px solid #accde5;border-radius:14px;padding:8px;margin-top:5px;text-align:center;z-index:2}.bl-caption{font-size:13px;background:#fff0c0;color:#764700;padding:4px;border-radius:7px;margin:3px 0 6px}.bl-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(140px,1fr);gap:8px;align-items:center}.bl-layout.no-table{grid-template-columns:1fr}.bl-chart{background:white;border:1px solid #b9d7ea;border-radius:10px;min-width:0}.bl-chart svg{display:block;width:100%;height:auto;max-height:420px}.bl-table table{width:100%;border-spacing:3px}.bl-table caption{font-size:14px;font-weight:800;color:#175989}.bl-table td,.bl-table th{background:#e0eefb;border-radius:7px;padding:3px;font:800 25px system-ui;color:#115c9a}.bl-table thead th{font-size:12px}.bl-table .current td,.bl-table .current th{outline:2px solid #e5a800;background:#fff0b4}.bl-table button{font-size:12px;width:100%}.bl-table small{font-size:10px;line-height:1.3;display:block}.bl-summary{margin:5px 0;background:#d6f6e7;color:#0c7243;border-radius:7px;padding:6px;font-size:15px;font-weight:800}.bl-question{padding:8px;background:#fff0bc;border:2px solid #b97600;border-radius:10px;margin:5px 0}.bl-question strong{font-size:15px}.bl-question p{font-size:13px;margin:4px}.bl-choices{margin-top:6px}.bl-choices button{font-size:17px;background:white}.bl-nav{margin-top:6px}.bl-lesson details{padding:5px;margin-top:5px;background:#eaf4ff;border-radius:8px;font-size:13px}.bl-editor{margin:5px 0}.bl-editor strong{font-size:12px}.bl-editor input{font:800 20px system-ui;width:48px;border:1px solid #87acce;border-radius:6px;color:#095fae;text-align:center;background:white}.bl-editor [role=alert]{font-size:12px;color:#ae233a}.bl-lesson details>a{display:block;text-align:center;font-size:12px;padding:5px;color:#145fac}.bl-lesson [hidden]{display:none!important}.chart-lesson-link{display:inline-block;padding:4px 8px;border:2px solid #2574b9;border-radius:7px;background:#e0f0ff;color:#135382;font-size:12px;text-decoration:none}
@media(max-width:600px){.bl-lesson h1{font-size:17px}.bl-controls label,.bl-controls button,.bl-controls select{font-size:11px}.bl-board{padding:5px}.bl-caption{font-size:11px;padding:3px}.bl-layout{grid-template-columns:1fr;gap:4px}.bl-chart svg{min-height:190px;max-height:250px}.bl-table table{max-width:320px;margin:auto;display:grid;grid-template-columns:50px repeat(4,minmax(0,1fr));gap:3px}.bl-table caption{grid-column:1/-1;font-size:11px}.bl-table thead{grid-column:1;grid-row:2}.bl-table thead tr{display:grid;grid-template-rows:26px 26px;gap:3px}.bl-table tbody{display:contents}.bl-table tbody tr{display:grid;grid-template-rows:26px 26px;gap:3px}.bl-table td,.bl-table th{padding:1px;font-size:19px}.bl-table th button{font-size:9px;padding:2px;height:100%;line-height:1.1}.bl-table thead th{font-size:9px;display:grid;place-items:center}.bl-table small{font-size:9px;margin-top:3px}.bl-nav button{font-size:11px;padding:3px 6px;line-height:1.3}.bl-question strong{font-size:13px}.bl-choices button{font-size:14px}.bl-summary{font-size:12px;padding:4px}.bl-editor input{font-size:18px}}
@media(max-height:500px) and (min-width:600px){.bl-board{padding:4px}.bl-caption{font-size:10px;line-height:1.3;padding:2px;margin:2px 0 4px}.bl-layout{grid-template-columns:3fr 1fr;gap:5px}.bl-chart svg{max-height:205px}.bl-table table{border-spacing:2px}.bl-table caption{font-size:10px}.bl-table td,.bl-table th{font-size:19px;padding:1px;line-height:1.1}.bl-table thead th{font-size:9px}.bl-table button{font-size:10px;padding:2px}.bl-table small{font-size:9px}.bl-nav{margin-top:3px}.bl-nav button{font-size:10px;padding:2px 5px;line-height:1.3}.bl-summary{font-size:11px;margin:3px 0;padding:3px}.bl-question{padding:4px;margin:3px}.bl-question strong{font-size:12px}.bl-choices{margin-top:4px}.bl-choices button{font-size:13px;padding:2px 6px}.bl-question p{font-size:10px;margin:2px}.bl-board:has(.bl-question:not([hidden])) .bl-chart svg{max-height:155px}}
.dp-lesson{width:100%;color:#163f5e}.dp-lesson h1{font-size:20px;margin:0 0 5px}.dp-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px}.dp-controls label{display:flex;gap:4px;align-items:center;font-size:12px}.dp-lesson button,.dp-lesson select{font:700 12px system-ui;border:2px solid #86b5d5;border-radius:8px;padding:4px 8px;background:#e5f3ff;color:#14517d}.dp-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.dp-board{position:sticky;top:4px;margin-top:5px;padding:7px;border:1px solid #a7c9e3;border-radius:14px;background:linear-gradient(140deg,#ecfaff,#fff2fa);text-align:center;z-index:2}.dp-caption{margin:3px 0 5px;font-size:13px;line-height:1.4;background:#fff0ba;color:#774600;padding:4px;border-radius:7px}.dp-data>strong{font-size:11px}.dp-cards{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin:4px auto;max-width:720px}.dp-cards button{position:relative;font:900 23px/1.2 system-ui;min-width:38px;border-color:var(--dp-color);color:var(--dp-color);background:white;padding:3px 7px}.dp-cards button span{display:none;position:absolute;bottom:0;left:0;font-size:10px;background:#ffe747;color:#135a45;border-radius:50%;width:12px;height:12px}.dp-cards button.placed span{display:block}.dp-cards button.selected{outline:3px solid #ffbd00;outline-offset:1px;background:#fff0bb}.dp-chart{background:white;border:1px solid #b8d6eb;border-radius:10px;margin-top:5px}.dp-chart svg{width:100%;height:auto;max-height:300px;display:block}.dp-targets{height:28px;position:relative;direction:ltr}.dp-targets button{position:absolute;transform:translateX(-50%);width:26px;padding:1px 2px;font:800 16px/1.3 system-ui}.dp-key{font-size:11px;line-height:1.4;margin:3px}.dp-feedback{font-size:12px;color:#a34808;background:#fff0bd;margin:4px;border-radius:5px}.dp-feedback:empty{display:none}.dp-summary{border:1px solid #158a5a;background:#d8f9e8;padding:5px;border-radius:8px;margin:4px 0;font-size:12px;line-height:1.4}.dp-summary strong,.dp-summary span{display:block}.dp-summary strong{font-size:16px;color:#0e7047}.dp-question{padding:8px;background:#fff0bf;border:2px solid #b57700;border-radius:9px;margin:5px 0}.dp-question strong{font-size:15px}.dp-choices{margin-top:5px}.dp-choices button{background:white;font-size:16px}.dp-question p{font-size:12px;margin:3px}.dp-nav{margin-top:5px}.dp-lesson details{padding:5px;border-radius:8px;background:#eaf4ff;margin-top:5px;font-size:13px}.dp-lesson form{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin:5px 0}.dp-lesson form label{display:flex;align-items:center;gap:5px}.dp-lesson form input{font:800 17px system-ui;max-width:100%;width:270px;border:1px solid #8cb3d1;border-radius:6px;padding:4px;color:#095fae}.dp-lesson form small{font-size:11px}.dp-lesson form [role=alert]{font-size:12px;color:#a82539}.dp-lesson [hidden]{display:none!important}.dp-flying{position:fixed;z-index:9999;pointer-events:none;border-radius:50%;display:grid;place-items:center;font:900 23px system-ui;color:white}
@media(max-width:600px){.dp-lesson h1{font-size:17px}.dp-board{padding:5px}.dp-caption{font-size:11px;padding:3px}.dp-controls button,.dp-controls label,.dp-controls select{font-size:11px}.dp-cards{gap:3px}.dp-cards button{font-size:19px;min-width:30px;padding:2px 5px}.dp-chart svg{max-height:250px}.dp-targets{height:25px}.dp-targets button{font-size:14px;width:22px}.dp-key{font-size:10px}.dp-nav button{font-size:11px;line-height:1.3;padding:3px 6px}.dp-summary{font-size:10px;padding:4px}.dp-summary strong{font-size:13px}.dp-question{padding:6px}.dp-question strong{font-size:13px}.dp-choices button{font-size:14px}.dp-lesson form input{width:220px}}
@media(max-height:500px) and (min-width:600px){.dp-board{padding:4px}.dp-caption{font-size:10px;margin:2px;padding:2px}.dp-data>strong{display:none}.dp-cards{gap:3px;margin:3px auto;max-width:none}.dp-cards button{font-size:17px;min-width:26px;padding:1px 4px}.dp-chart{margin-top:3px}.dp-chart svg{max-height:155px}.dp-targets{height:22px}.dp-targets button{font-size:13px;width:22px}.dp-key{font-size:9px;margin:1px}.dp-nav{margin-top:3px}.dp-nav button{font-size:10px;padding:2px 5px;line-height:1.3}.dp-summary{padding:3px;margin:3px;font-size:10px}.dp-summary strong{font-size:12px}.dp-question{padding:4px;margin:3px}.dp-question strong{font-size:12px}.dp-choices button{font-size:13px;padding:2px 5px}.dp-question p{font-size:10px}.dp-board:has(.dp-summary:not([hidden])) .dp-chart svg{max-height:125px}.dp-feedback{font-size:10px;margin:2px}}
/* Shared MathViz workspace: controls stay usable independently of lesson magnification. */
.mv-workspace-tools{position:relative;z-index:20;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;background:#eff6ff;border:1px solid #a6c7e4;border-radius:10px;padding:4px;margin-bottom:5px;color:#123e64}.mv-experience .mv-workspace-tools button{font:700 12px/1.25 system-ui!important;min-width:34px!important;min-height:36px!important;padding:4px 7px!important;border-radius:7px!important;background:#dfeeff;color:#124879}.mv-workspace-tools output{font:800 13px system-ui;min-width:41px;text-align:center}.mv-workspace-tools [data-mv-teacher]{background:#ffe5a3!important;color:#684100!important}.mv-workspace-tools [aria-pressed=true]{background:#0b679e!important;color:white!important}.mv-workspace-tools [hidden]{display:none!important}.mv-workspace-viewport{position:relative;width:100%;min-width:0;max-width:100%;overflow:visible}.mv-workspace-content{min-width:0}.mv-workspace-viewport.mv-scaled{max-height:var(--mv-workspace-height,75dvh);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid #a6c7e4;border-radius:9px}.mv-workspace-viewport{touch-action:pan-y}.mv-workspace-viewport.mv-scaled{touch-action:none}.mv-experience svg,.mv-experience svg *{touch-action:pan-y!important}.mv-scaled svg,.mv-scaled svg *{touch-action:none!important}
.mv-experience .mv-teacher-dialog{width:min(720px,calc(100vw - 20px));max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);margin:auto;padding:10px;border:2px solid #1b70b6;border-radius:14px;background:#f8fbff;color:#173d60;overflow:auto;overscroll-behavior:contain;box-shadow:0 15px 60px #102d6266;text-align:right}.mv-teacher-dialog::backdrop{background:#10294588}.mv-teacher-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-10px;z-index:30;background:#e6f1ff;border-bottom:1px solid #aac8e1;padding:5px;margin-bottom:6px}.mv-teacher-dialog-bar strong{font-size:16px}.mv-experience .mv-teacher-dialog details{position:static!important;max-height:none!important;overflow:visible!important;width:100%!important;margin:0!important;padding:7px!important;background:#fff!important;border:1px solid #c0d7e9!important;border-radius:8px}.mv-experience .mv-teacher-dialog summary{font-size:16px!important;min-height:44px!important;line-height:1.5!important;padding:8px!important;background:#dcecff!important;color:#104b7b!important}.mv-experience .mv-teacher-dialog label{display:inline-flex!important;align-items:center!important;flex-wrap:wrap;gap:8px!important;min-height:44px!important;padding:6px!important;font-size:16px!important;line-height:1.5!important;max-width:100%;background:#eef5ff;border-radius:7px}.mv-experience .mv-teacher-dialog input:not([type=checkbox]):not([type=radio]):not([type=range]),.mv-experience .mv-teacher-dialog select,.mv-experience .mv-teacher-dialog textarea{font-size:16px!important;min-height:44px!important;max-width:100%!important;border:1px solid #719dbf!important;background:white!important;color:#143e61!important;padding:7px!important;border-radius:7px!important}.mv-experience .mv-teacher-dialog input:is([type=checkbox],[type=radio]){width:24px!important;height:24px!important;min-width:24px;accent-color:#0969b7;flex-shrink:0}.mv-experience .mv-teacher-dialog input[type=range]{min-height:44px!important;min-width:140px;max-width:100%}.mv-experience .mv-teacher-dialog button{min-height:44px!important;min-width:44px!important;font-size:15px!important;padding:7px 11px!important;white-space:normal!important}.mv-experience .mv-teacher-dialog small,.mv-experience .mv-teacher-dialog p{font-size:13px!important;line-height:1.6!important}.mv-experience .mv-teacher-dialog form{display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-width:100%;margin:8px 0!important}.mv-experience .mv-teacher-dialog form label{flex:1 1 200px;min-width:0}.mv-experience .mv-teacher-dialog form input{min-width:0;flex:1 1 90px}.mv-experience .mv-teacher-dialog .mv-secondary{display:revert!important}.mv-teacher-panel-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.mv-experience.mv-settings-inline .mv-secondary{position:relative!important;max-width:100%!important;margin:7px 0!important;padding:8px!important;background:#f0f6ff;border:1px solid #a4c8e4;border-radius:9px;overflow:visible!important}.mv-experience.mv-settings-inline .mv-secondary input,.mv-experience.mv-settings-inline .mv-secondary select,.mv-experience.mv-settings-inline .mv-secondary button{min-height:44px!important;font-size:16px!important}.mv-experience.mv-settings-inline .mv-secondary:is(label){display:inline-flex!important;align-items:center;gap:8px;min-height:44px}.mv-experience .mv-settings-unstick{position:static!important}.mv-experience details>summary{font-weight:800!important;border:2px solid #4b88b7!important;background:#e0f0ff;color:#124c78;padding:6px 10px;min-height:38px}
@media(pointer:coarse){.mv-experience .mv-workspace-tools button{min-height:44px!important}.mv-experience details>summary{min-height:44px!important}.mv-experience .mv-resize-handle{min-width:44px!important;min-height:44px!important}}
@media(max-width:480px){.mv-workspace-tools{gap:3px;padding:3px}.mv-experience .mv-workspace-tools button{font-size:11px!important;padding:4px 5px!important}.mv-workspace-tools output{min-width:36px;font-size:12px}.mv-experience .mv-teacher-dialog{padding:7px}.mv-teacher-dialog-bar{top:-7px}.mv-experience .mv-teacher-dialog label{width:100%;font-size:15px!important}.mv-experience .mv-teacher-dialog input[type=range]{width:100%}}
.mv-experience .mv-teacher-dialog [hidden]{display:none!important}
@media(pointer:coarse){.mv-experience .mv-workspace-tools button{min-width:44px!important}}

/* Preserve the original control ancestors and their event handlers inside every dialog. */
.mv-teacher-scope .mv-teacher-branch>:not(.mv-teacher-branch):not(.mv-teacher-leaf),.mv-teacher-scope.mv-teacher-branch>:not(.mv-teacher-branch):not(.mv-teacher-leaf){display:none!important}
.mv-teacher-dialog .mv-teacher-branch{display:block!important;position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;transform:none!important;box-shadow:none!important;border:0!important}
.mv-teacher-dialog .mv-teacher-leaf{position:static!important;max-width:100%!important}
.mv-teacher-dialog .mv-teacher-scope{zoom:1!important}
.mv-workspace-viewport.mv-modal-open{touch-action:auto}
/* One teacher entry point; lesson actions never sit in a short scrolling box. */
.mv-experience .mv-duplicate-options,.mv-experience .mv-teacher-source{display:none!important}
.mv-experience .mv-teacher-dialog .mv-teacher-source{display:block!important}
.mv-experience .mv-teacher-dialog .mv-teacher-source>summary{display:none!important}
.mv-teacher-footer{display:flex;justify-content:center;clear:both;margin:10px 0 0;padding:8px 0;border-top:1px solid #9bb9d0}
.mv-teacher-footer button{background:#ffe5a3!important;color:#684100!important;border:2px solid #a86b00!important;min-height:44px;font-weight:800}
.mv-experience .mv-actions-unclipped{max-height:none!important;height:auto!important;overflow:visible!important;position:static!important}
.mv-experience .mv-lesson-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-block:6px!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.mv-experience .mv-workspace-viewport.mv-scaled{max-height:var(--mv-workspace-height,70dvh)!important;height:var(--mv-workspace-height,70dvh)!important;overflow:auto!important;-webkit-overflow-scrolling:touch}
.mv-experience :is(.prob-renderer-wrapper,#ta-probability-workspace,.ta-wrapper){height:auto!important;min-height:0!important;overflow:visible!important;flex-shrink:0!important}
.mv-experience .pf-board{position:static!important}
.mv-experience .pf-activity :is(button,input,select,summary){scroll-margin-top:12px!important}
.mv-experience :is(.mathviz-f2d-row,.mathviz-dec-lite-row){flex-wrap:wrap!important;overflow:visible!important;max-height:none!important;white-space:normal!important}
.pf-legend .pf-classification-muted{background:#e5e7eb!important;color:#626b76!important;border:2px solid #b7bdc5}
.pf-legend .pf-classification-active{border:2px solid currentColor;font-weight:900;box-shadow:0 0 0 2px #fff}
.gc-lesson .gc-board{position:static;border-radius:0;background:#fff;padding:6px}
.gc-lesson .gc-item{border-radius:0;transition:background-color .3s,border-color .3s;animation:none!important}
.gc-lesson .gc-item.counting{animation:none!important;outline:3px solid #b87500;background:#fff0b4}
.gc-lesson .gc-exchanged{outline:3px solid #9b5900;background:#ffedac}
.gc-lesson .gc-unit{position:relative}
.gc-lesson .gc-meter{padding:4px 0;display:grid;gap:5px}
.gc-meter>div{display:grid;grid-template-columns:60px minmax(0,1fr) 35px;align-items:center;gap:5px;direction:ltr;font-size:13px;font-weight:800;text-align:center}
.gc-meter i{display:block;background:#075bb6;height:16px;justify-self:start}
.gc-meter [data-actual-bar]{background:#b40d56}
.gc-lesson .gc-caption{font-size:13px;line-height:1.5;border:1px solid #a46a00;border-radius:0;min-height:2.8em;align-content:center}
.gc-lesson .gc-items{grid-template-columns:repeat(6,minmax(0,1fr));min-height:100px}
.gc-lesson .gc-final,.gc-lesson .gc-comparison{border-radius:0}
.gc-lesson .gc-question{border:3px solid #9d5800;border-radius:0}
@media(max-width:600px){.gc-lesson .gc-items{grid-template-columns:repeat(4,minmax(0,1fr));min-height:100px}.gc-lesson .gc-item{padding:2px}.gc-lesson .gc-unit{width:10px;height:10px}.gc-lesson .gc-main{gap:2px}.gc-lesson .gc-caption{font-size:12px}.gc-lesson .gc-calculation{gap:3px}.gc-lesson .gc-log td{font-size:16px}.gc-lesson .gc-log table{border-spacing:2px}.gc-lesson .gc-item>div{min-height:20px}}
@media(max-height:500px) and (min-width:600px){.gc-lesson .gc-items{min-height:70px}.gc-lesson .gc-caption{font-size:11px;min-height:2em}.gc-lesson .gc-meter i{height:10px}}
@media(max-width:360px){.gc-lesson .gc-items{grid-template-columns:repeat(6,minmax(0,1fr));min-height:80px;gap:3px}.gc-lesson .gc-item>div{gap:1px}.gc-lesson .gc-unit{width:8px;height:8px}.gc-lesson .gc-unit.book{height:11px}.gc-lesson .gc-item>span{font-size:16px}.gc-lesson .gc-story{font-size:11px;line-height:1.4}.gc-lesson .gc-caption{font-size:11px;line-height:1.35}.gc-lesson .gc-log th{font-size:9px}.gc-lesson .gc-expression{font-size:20px}.gc-lesson .gc-comparison{gap:3px;padding:2px}.gc-lesson .gc-meter{gap:3px}.gc-lesson .gc-meter>div{font-size:11px}}
@media(max-height:500px) and (min-width:600px){.gc-lesson .gc-board{padding:3px}.gc-lesson .gc-items{min-height:60px}.gc-lesson .gc-caption{min-height:0;margin:2px 0;padding:2px;line-height:1.3}.gc-lesson .gc-goals b{font-size:14px}.gc-lesson .gc-story{margin:2px;line-height:1.25}.gc-lesson .gc-calculation{min-height:20px;margin:2px 0}.gc-lesson .gc-expression{font-size:18px}.gc-lesson .gc-item>div{min-height:14px}.gc-lesson .gc-meter{gap:2px;padding:2px 0}.gc-lesson .gc-meter>div{font-size:10px}.gc-lesson .gc-meter i{height:8px}.gc-lesson .gc-comparison{padding:2px}}
@media(max-height:500px) and (min-width:600px){.gc-lesson .gc-main>div:first-child{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:4px}.gc-lesson .gc-guess,.gc-lesson .gc-meter{grid-column:1/-1}.gc-lesson .gc-items{grid-template-columns:repeat(4,minmax(0,1fr))}.gc-lesson .gc-calculation{flex-direction:column}.gc-lesson .gc-item{padding:1px}.gc-lesson .gc-item>span{font-size:14px;line-height:1}.gc-lesson .gc-item>div{min-height:12px}.gc-lesson .gc-unit{width:7px;height:7px}.gc-lesson .gc-unit.book{height:10px}}
/* Equivalent fractions: preserve a full-width mathematical scale and compact touch controls. */
.mv-experience .mathviz-equivalent-lines .mathviz-frac-label { color: #075bb6; }

.mv-experience .mathviz-equivalent-lines .mathviz-explain-inline { justify-content: center; }
.mv-experience .mathviz-controls--stepper-equivalent {
  display: grid; width: 242px; max-width: 100%; grid-template-columns: 128px 108px;
  margin: 2px auto; gap: 2px 6px; align-items: center;
}
.mv-experience .mathviz-controls--stepper-equivalent .mathviz-control-stepper {
  box-sizing: border-box; min-height: 0; padding: 1px 2px; gap: 0;
}
.mv-experience .mathviz-controls--stepper-equivalent .mathviz-control-stepper:nth-child(3) { align-self: center; }
.mv-experience .mathviz-controls--stepper-equivalent .mathviz-stepper-btn {
  width: 36px; min-width: 36px; height: 36px; min-height: 36px; padding: 0; font-size: 18px;
}
.mv-experience .mathviz-controls--stepper-equivalent .mathviz-stepper-value { font-size: 20px; line-height: 1.1; }
.mv-experience .mathviz-controls--stepper-equivalent .mathviz-stepper-row { gap: 2px; }
.mv-experience .mathviz-equivalent-lines .mathviz-frac-label :is(.frac,.mathviz-whole) { background: #fff; }

/* Compact fraction input rows preserve room for the actual model. */
.mv-experience .mathviz-controls--stepper-compact:not(.mathviz-controls--stepper-paired):not(.mathviz-controls--stepper-equivalent){display:flex;flex-direction:row;justify-content:center;max-width:100%;width:100%;margin:4px auto;gap:8px}
.mv-experience .mathviz-controls--stepper-compact:not(.mathviz-controls--stepper-paired):not(.mathviz-controls--stepper-equivalent) .mathviz-control-stepper{width:132px;min-width:0;box-sizing:border-box;padding:2px 4px}

.mv-workspace-surface{box-sizing:content-box;display:flow-root;direction:ltr;min-width:0}
.mv-workspace-surface>.mv-workspace-content{margin-inline:auto!important}
.mv-scaled .mv-workspace-surface>.mv-workspace-content{margin-inline:0!important}
.mv-experience .decimal-activity{width:100%;max-width:none}
.mv-experience .decimal-stage>svg{display:block;width:min(100%,720px)!important;height:auto!important;max-height:52svh;margin:0 auto;overflow:visible}
.mv-experience .decimal-modes{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:600px){.mv-experience .decimal-modes{grid-template-columns:repeat(3,minmax(0,1fr))}}

.ve-symbolic-bag{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;max-width:110px;margin:8px auto;border:3px solid #075bb6;border-top:9px double #075bb6;border-radius:14px 14px 28px 28px;background:#eaf3ff;color:#075bb6}
.ve-symbolic-bag b{font:900 52px/1.2 system-ui}.ve-symbolic-bag small{font-size:14px}
.ve-symbolic-share{display:grid;place-items:center;min-height:75px;border-bottom:4px solid #075bb6;color:#075bb6;font-weight:800}
.ve-symbolic-groups .ve-group>small{display:block;color:#9f174e;font-weight:800}
