.play-young{gap:10px}.play-young .play-steps button{min-width:52px;min-height:52px;font-size:20px}.play-young-goal{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.play-young .play-goal{flex:1 1 12ch;font-size:24px;line-height:1.25;font-weight:750}.play-say,.play-show{min-height:56px;border:2px solid var(--accent);border-radius:999px;background:var(--control);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;touch-action:manipulation}.play-say{min-width:56px;padding:0;font-size:26px}.play-show{padding:0 18px;border-color:var(--pink)}.play-say:focus-visible,.play-show:focus-visible,.grown-ups summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.play-big{align-items:center;gap:12px}.play-big button{min-width:76px;min-height:64px;font-size:26px;border-width:2px}.play-young .play-found{font-size:24px;text-align:center}.play-young .play-note:empty{display:none}.play-show-ring{fill:none;stroke:var(--pink);stroke-width:4;opacity:.8}.play-show-path{stroke:var(--pink);stroke-width:3;stroke-dasharray:6 8;stroke-linecap:round;opacity:.55}.play-show-hand{opacity:0;animation:play-show-glide 1.8s ease-in-out 1 forwards;pointer-events:none}.play-show-me{animation:play-show-leave .4s ease-out 1.8s 1 forwards}@keyframes play-show-glide{0%{opacity:0;transform:translate(0)}15%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(var(--dx),var(--dy))}to{opacity:1;transform:translate(var(--dx),var(--dy))}}@keyframes play-show-leave{to{opacity:0}}@media(prefers-reduced-motion:reduce){.play-show-hand,.play-show-me{animation:none;opacity:1}}.play-ask{flex-basis:100%;margin:0;font-size:18px;font-weight:650;color:var(--ink)}.play-why{padding:8px 12px;border:1px solid var(--edge);border-radius:12px;background:var(--field);color:var(--ink)}.play-why summary{min-height:48px;display:list-item;align-content:center;cursor:pointer;font-size:20px;font-weight:700}.play-why summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.play-why p{line-height:1.5}.play-why .play-say{min-width:48px;min-height:48px;font-size:22px}.grown-ups{margin:12px 0 0;padding:10px 14px;border:1px solid var(--edge);border-radius:12px;background:var(--field);color:var(--ink)}.grown-ups summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;font-weight:650;color:var(--dim)}.grown-ups p,.grown-ups li{line-height:1.5}[data-band=years-1-2] .canvas .instruction,[data-band=years-3-4] .canvas .instruction,[data-band=years-1-2] .canvas .eyebrow,[data-band=years-3-4] .canvas .eyebrow{display:none}:root[data-theme=daylight] .count-ten-0{fill:var(--sky)}:root[data-theme=daylight] .count-ten-1{fill:var(--peach)}:root[data-theme=daylight] .groups-row-0{fill:var(--mint)}:root[data-theme=daylight] .groups-row-1{fill:var(--lavender)}.bonds-activity .bonds-stage svg{touch-action:none;width:100%;max-width:450px;height:auto;max-height:none;justify-self:center}.bonds-activity .equation-zone{min-width:0}.bonds-activity .bonds-stage{align-content:start}.bonds-stage .play-strip{min-width:0;grid-template-columns:minmax(0,1fr)}.bonds-activity .history-controls{flex-wrap:wrap}.bonds-activity .history-controls button{min-height:52px}.bonds-stage .graph-caption{flex-wrap:wrap;overflow-wrap:anywhere}.bonds-stage .graph-caption strong{min-width:0}.bonds-buttons button:focus-visible,.bonds-wholes button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.bonds-tray{stroke:var(--field-edge);stroke-width:2.5}.bonds-tray-left{fill:var(--mint, rgba(93, 255, 176, .12))}.bonds-tray-right{fill:var(--peach, rgba(255, 179, 122, .14))}.bonds-body{stroke:var(--line);stroke-width:2.5;cursor:grab}.bonds-left .bonds-body{fill:var(--green)}.bonds-right .bonds-body{fill:var(--amber)}.bonds-hit{fill:transparent;cursor:grab}.bonds-counter[data-lifted] .bonds-body{cursor:grabbing}.bonds-whole{fill:var(--ink);font-size:28px;font-weight:750}.bonds-sentence{fill:var(--ink);font-size:30px;font-weight:750}.bonds-left-number{fill:var(--green);color:var(--green)}.bonds-right-number{fill:var(--amber);color:var(--amber)}.bonds-readout{display:flex;align-items:baseline;gap:12px;margin:8px 0}.bonds-readout strong{font-size:48px;color:var(--gold)}.bonds-buttons,.bonds-wholes{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.bonds-buttons button,.bonds-wholes button{min-height:52px;padding:8px 16px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-weight:700;font-size:17px;cursor:pointer;touch-action:manipulation}.bonds-wholes button[aria-pressed=true]{border-color:var(--accent);background:var(--field)}.bonds-shelf{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:8px 0;list-style:none}.bonds-shelf li{padding:6px 12px;border:2px solid var(--edge);border-radius:12px;background:var(--field);color:var(--ink);font-size:20px;font-weight:750;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:no-preference){.bonds-shelf li:last-child{animation:play-settle .32s ease-out}}.bonds-stage .play-optional-guess>summary,.bonds-stage .play-why>summary{min-height:48px;padding:12px 8px;box-sizing:border-box;cursor:pointer}.bonds-stage summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.bridge-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-height:76px;margin:4px 0 0;color:var(--ink);font-size:40px;font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums}.bridge-readout strong{color:var(--gold);font-size:52px}.bridge-parts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:6px 0 0;font-size:22px;font-weight:750;font-variant-numeric:tabular-nums}.bridge-tens-word{color:var(--amber)}.bridge-ones-word{color:var(--cyan)}.bridge-signs,.bridge-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.bridge-signs button,.bridge-buttons button{min-height:52px;padding:8px 10px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:19px;font-weight:700;cursor:pointer;touch-action:manipulation}.bridge-signs button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400}.bridge-signs button:disabled,.bridge-buttons button:disabled{opacity:.45;cursor:default}.bridge-signs button:focus-visible,.bridge-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.bridge-note{min-height:1.4em;margin:10px 0 0;color:var(--ink);font-size:17px;font-weight:650}.bridge-stage svg{cursor:default;touch-action:none}.bridge-hit{fill:transparent;cursor:pointer}.bridge-slot{fill:none;stroke:var(--grid);stroke-width:2;stroke-dasharray:5 5;cursor:pointer}.bridge-unit{fill:var(--amber);stroke:var(--line);stroke-width:1.5;pointer-events:none}.bridge-frame-box{fill:var(--field);stroke:var(--field-edge);stroke-width:2.5;cursor:pointer}.bridge-cell{fill:transparent;stroke:var(--grid);stroke-width:2;pointer-events:none}.bridge-shut{fill:none;stroke:var(--dim);stroke-width:2;stroke-dasharray:3 4;pointer-events:none}.bridge-one{fill:var(--cyan);stroke:var(--line);stroke-width:1.5;pointer-events:none}.bridge-one[data-beyond]{fill:var(--field);stroke:var(--cyan);stroke-width:5}.bridge-amount{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.bridge-amount-tens{fill:var(--amber)}.bridge-amount-ones{fill:var(--cyan)}.bridge-split{fill:var(--ink);font-size:18px;font-weight:750;pointer-events:none}.bridge-goal-text{fill:var(--gold);font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.bridge-sentence{fill:var(--ink);font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.bridge-sentence .bridge-end{fill:var(--gold)}.bridge-path{fill:var(--dim);font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}.bridge-path tspan[data-ten]{fill:var(--ink);text-decoration:underline}.bridge-line{stroke:var(--line);stroke-width:4;stroke-linecap:round}.bridge-tick{stroke:var(--dim);stroke-width:1.5}.bridge-tick[data-major]{stroke:var(--line);stroke-width:3}.bridge-label{fill:var(--ink);font-size:18px;font-weight:700}.bridge-split-pin{fill:none;stroke:var(--ink);stroke-width:3}.bridge-hops{pointer-events:none}.bridge-hop-arc{fill:none;stroke-width:3;stroke-linecap:round}.bridge-hop-ten .bridge-hop-arc{stroke:var(--amber)}.bridge-hop-one .bridge-hop-arc{stroke:var(--cyan);stroke-dasharray:2 5}.bridge-hop[data-back] .bridge-hop-arc{stroke-width:2.5}.bridge-hop-ten .bridge-hop-head{fill:var(--amber)}.bridge-hop-one .bridge-hop-head{fill:var(--cyan)}.bridge-stone{cursor:grab}.bridge-stone[data-active]{cursor:grabbing}.bridge-stone-body{fill:var(--control);stroke:var(--line);stroke-width:3}.bridge-stone-label{fill:var(--ink);font-size:20px;font-weight:800;pointer-events:none;font-variant-numeric:tabular-nums}.bridge-notes{display:grid;gap:8px;padding:0;list-style:none}.bridge-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(prefers-reduced-motion:no-preference){.bridge-stone{transition:transform .18s ease-out}}.bridge-stage svg[data-dragging] .bridge-frog,.bridge-stage svg[data-dragging] .bridge-stone{transition:none}@media(max-width:400px){.bridge-readout{font-size:32px}.bridge-readout strong{font-size:40px}.bridge-signs button,.bridge-buttons button{font-size:16px;padding:8px 6px}}[data-theme=daylight] .bridge-signs button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;color:#1c1400}.charts-activity .lesson-panel>div{min-width:0}.charts-activity .history-controls{flex-wrap:wrap}.charts-buttons{display:grid;gap:8px;margin-top:12px;max-width:460px}.charts-button-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.charts-chip{flex:none;width:40px;height:40px}.charts-count{min-width:2ch;font-size:24px;font-weight:700;text-align:center;color:var(--ink);font-variant-numeric:tabular-nums}.charts-buttons button,.charts-keys button,.charts-pair button{min-width:48px;min-height:48px;padding:4px 10px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:22px;font-weight:700;cursor:pointer;touch-action:manipulation}.charts-buttons .charts-picture{font-size:17px}.charts-buttons button:focus-visible,.charts-keys button:focus-visible,.charts-pair button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.charts-keys{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;color:var(--ink);font-size:20px;font-weight:700}.charts-keys button[aria-pressed=true],.charts-pair button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400}.charts-key-note{min-height:3em;margin:8px 0 0;color:var(--dim);font-size:15px}.charts-pair{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.charts-pair svg{width:34px;height:34px}.charts-answer{min-height:2em;font-size:19px;font-weight:700;color:var(--ink)}.charts-notes{display:grid;gap:8px;padding:0;list-style:none}.charts-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}.charts-stage .graph-caption span{min-height:1.4em}.charts-stage svg{background:var(--stage);cursor:default;touch-action:none}.charts-band{fill:var(--field);stroke:var(--field-edge);stroke-width:2;stroke-dasharray:8 6}.charts-hit{fill:transparent;cursor:grab}.charts-hit:not([data-grab]){cursor:default}.charts-axis line{stroke:var(--line);stroke-width:2}.charts-axis .charts-gridline{stroke:var(--grid);stroke-width:2}.charts-axis text,.charts-heading,.charts-top{fill:var(--ink);font-size:16px;font-weight:700}.charts-heading{font-size:15px;fill:var(--dim)}.charts-top{font-size:18px;pointer-events:none}.charts-divider,.charts-row-start{stroke:var(--edge);stroke-width:2}.charts-mark{stroke:var(--ink);stroke-width:3.5;stroke-linecap:round}.charts-block{stroke:var(--stage);stroke-width:1.5}.charts-column[data-locked] .charts-block,.charts-row[data-locked] .charts-fruit,.charts-row[data-locked] .charts-mark{opacity:.45}.charts-column[data-goal] .charts-hit{fill:var(--gold);fill-opacity:.1;stroke:var(--gold);stroke-width:3;stroke-dasharray:8 6}.charts-column[data-active] .charts-block{filter:drop-shadow(0 0 6px var(--gold))}.charts-guide{stroke:var(--gold);stroke-width:3;stroke-dasharray:8 6;pointer-events:none}.charts-goal-text{fill:var(--gold);font-size:30px;font-weight:800}.charts-goal-now{fill:var(--dim);font-size:18px;font-weight:700}.charts-goal-key{fill:var(--ink);font-size:16px;font-weight:700}.charts-goal .charts-mark{stroke:var(--gold)}.charts-crown{fill:var(--gold);stroke:var(--line);stroke-width:2;stroke-linejoin:round}.charts-item{cursor:grab}.charts-item[data-active]{cursor:grabbing;filter:drop-shadow(0 0 8px var(--gold))}.charts-item-hit{fill:transparent}.charts-fruit{stroke:var(--stage);stroke-width:1.2}.charts-stem{fill:none;stroke:var(--amber);stroke-width:2.5;stroke-linecap:round}.charts-leaf{fill:var(--green);stroke:none}.fruit-0{fill:var(--pink)}.fruit-1{fill:var(--gold)}.fruit-2{fill:var(--green)}.fruit-3{fill:var(--violet)}.charts-fruit.fruit-2 .charts-leaf{fill:var(--cyan)}@media(prefers-reduced-motion:no-preference){.charts-item{transition:transform .18s ease-out}.charts-stage svg[data-dragging] .charts-item[data-active]{transition:none}}@media(max-width:400px){.charts-buttons button,.charts-keys button{min-width:44px;min-height:44px;font-size:19px;padding:2px 6px}.charts-chip{width:32px;height:32px}}[data-theme=daylight] .fruit-1{fill:#f59e0b}[data-theme=daylight] .charts-goal-text,[data-theme=daylight] .charts-crown{fill:#b46a00}[data-theme=daylight] .charts-guide,[data-theme=daylight] .charts-goal .charts-mark{stroke:#b46a00}.clock-readout{display:flex;align-items:baseline;gap:2px;min-height:64px;margin:4px 0 0;color:var(--ink);font-size:52px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.clock-readout .clock-hours{color:var(--cyan)}.clock-readout .clock-minutes{color:var(--pink)}.clock-readout small{margin-left:12px;color:var(--dim);font-size:24px;font-weight:700}.clock-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.clock-buttons button{min-height:52px;padding:8px 10px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation;min-width:0;overflow-wrap:anywhere}.clock-buttons button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400}.clock-buttons button:disabled{opacity:.45;cursor:default}.clock-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.clock-stage svg{cursor:default;touch-action:none}.clock-goal-text{fill:var(--gold);font-size:28px;font-weight:800;pointer-events:none}.clock-face{fill:var(--control);stroke:var(--line);stroke-width:3}.clock-tick{stroke:var(--dim);stroke-width:1.5;pointer-events:none}.clock-tick[data-major]{stroke:var(--ink);stroke-width:3}.clock-numeral{fill:var(--ink);font-size:30px;font-weight:800;pointer-events:none;font-variant-numeric:tabular-nums}.clock-numeral[data-roman]{font-size:22px}.clock-hand{cursor:grab}.clock-hand-bar{stroke-linecap:round;pointer-events:none}.clock-hour-hand .clock-hand-bar{stroke:var(--cyan);stroke-width:12}.clock-minute-hand .clock-hand-bar{stroke:var(--pink);stroke-width:6}.clock-hit{fill:transparent}.clock-tip{stroke:var(--line);stroke-width:3}.clock-hour-tip{fill:var(--cyan)}.clock-minute-tip{fill:var(--pink)}.clock-tip[data-active]{stroke-width:5}.clock-tip-label{fill:#1c1400;font-size:18px;font-weight:900;pointer-events:none}.clock-pin{fill:var(--ink);stroke:var(--line);stroke-width:2;pointer-events:none}.clock-words{fill:var(--ink);font-size:19px;font-weight:700;pointer-events:none}.clock-since{fill:var(--amber);font-size:18px;font-weight:700;pointer-events:none}@media(max-width:400px){.clock-readout{font-size:42px}.clock-buttons button{font-size:16px}}.columns-readout{margin:4px 0 0;min-height:64px;font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);overflow-wrap:anywhere}.columns-readout strong{color:var(--gold)}.columns-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.columns-buttons button{min-height:52px;padding:8px 10px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation;min-width:0;overflow-wrap:anywhere}.columns-takes{grid-template-columns:repeat(3,minmax(0,1fr))}.columns-take-hundreds{border-left:6px solid var(--violet)!important}.columns-take-tens{border-left:6px solid var(--amber)!important}.columns-take-ones{border-left:6px solid var(--cyan)!important}.columns-buttons button:disabled{opacity:.45;cursor:default}.columns-buttons button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400}.columns-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.columns-stage svg{cursor:default;touch-action:none}.columns-head{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.columns-head-hundreds{fill:var(--violet)}.columns-head-tens{fill:var(--amber)}.columns-head-ones{fill:var(--cyan)}.columns-divide{stroke:var(--grid);stroke-width:3}.columns-flat{fill:var(--violet);stroke:var(--line);stroke-width:1.5;pointer-events:none}.columns-rod{fill:var(--amber);stroke:var(--line);stroke-width:1.5;pointer-events:none}.columns-cube{fill:var(--cyan);stroke:var(--line);stroke-width:1.5;pointer-events:none}.columns-tray-box{fill:none;stroke:var(--dim);stroke-width:2.5;stroke-dasharray:6 5;pointer-events:none}.columns-tray-text{fill:var(--ink);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.columns-handle-label{fill:var(--stage);font-size:16px;font-weight:900;pointer-events:none}.columns-carried{pointer-events:none;opacity:.65}.columns-carried[data-over]{opacity:1}.columns-carried rect{stroke:var(--line);stroke-width:2}.columns-carried-hundreds rect{fill:var(--violet)}.columns-carried-tens rect{fill:var(--amber)}.columns-carried-ones rect{fill:var(--cyan)}.columns-carried text{fill:var(--stage);font-size:22px;font-weight:900}.columns-digit{fill:var(--ink);font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.columns-column-hundreds .columns-result:not([data-open]){fill:var(--violet)}.columns-column-tens .columns-result:not([data-open]){fill:var(--amber)}.columns-column-ones .columns-result:not([data-open]){fill:var(--cyan)}.columns-result[data-open]{fill:var(--dim)}.columns-sign{fill:var(--ink);font-size:34px;font-weight:800}.columns-note{fill:var(--gold);font-size:20px;font-weight:800;pointer-events:none}.columns-rule{stroke:var(--line);stroke-width:3}.columns-goal-box{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:8 6;pointer-events:none}.columns-goal-text{fill:var(--gold);font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.columns-notes{display:grid;gap:8px;padding:0;list-style:none}.columns-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}@media(max-width:400px){.columns-readout{font-size:32px}.columns-buttons button{font-size:15px}}[data-theme=daylight] .columns-buttons button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;color:#1c1400}.data-readouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px;max-width:460px}.data-readout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:0;padding:10px 12px;border:1px solid var(--edge);border-radius:14px;background:var(--field)}.data-readout>div{min-width:0}.data-readout-name{grid-column:1 / -1;display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:800}.data-readout dt{color:var(--dim);font-size:14px}.data-readout dd{margin:0;height:1.3em;overflow:hidden;color:var(--ink);font-size:20px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.data-key{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--cyan)}.data-key[data-set=b]{border-radius:3px;background:var(--pink)}.data-key-label{align-self:center;color:var(--dim);font-weight:700}.data-words{height:3.9em;margin:10px 0 0;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.3}.data-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;max-width:460px}.data-buttons button,.data-views button{min-height:48px;padding:6px 10px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation}.data-buttons button:disabled,.data-views button:disabled{opacity:.45;cursor:default}.data-buttons button:focus-visible,.data-views button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.data-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:420px}.data-views button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.data-activity .history-controls{flex-wrap:wrap}.data-activity .lesson-panel>div{min-width:0}.data-stage svg{background:var(--stage);cursor:default;touch-action:none}.data-line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.data-tick{stroke:var(--dim);stroke-width:1.5}.data-tick[data-major]{stroke:var(--line);stroke-width:2.5}.data-label{fill:var(--ink);font-size:19px;font-weight:700;text-anchor:middle}.data-set[data-set=a] .data-mark{fill:var(--cyan);stroke:var(--line);stroke-width:1.5}.data-set[data-set=b] .data-mark{fill:var(--pink);stroke:var(--line);stroke-width:1.5}.data-pin{fill:var(--stage);stroke:var(--line);stroke-width:1;pointer-events:none}.data-ring{fill:none;stroke:var(--gold);stroke-width:3;pointer-events:none}.data-dot[data-chosen] .data-mark{stroke:var(--ink);stroke-width:3.5}.data-hit{fill:transparent;cursor:grab}.data-dot[data-active] .data-hit,.data-fulcrum[data-active] .data-hit{cursor:grabbing}.data-bracket{fill:none;stroke:var(--violet);stroke-width:2.5}.data-bracket-text{fill:var(--violet);font-size:15px;font-weight:700;text-anchor:middle}.data-mean{fill:var(--gold);stroke:var(--line);stroke-width:1}.data-level{stroke:var(--dim);stroke-width:1.5;stroke-dasharray:6 6}.data-plank{stroke:var(--amber);stroke-width:7;stroke-linecap:round}.data-plank[data-level]{stroke:var(--green)}.data-weight{stroke:var(--cyan);stroke-width:3}.data-fulcrum-shape{fill:var(--gold);stroke:var(--line);stroke-width:2}.data-fulcrum[data-locked] .data-fulcrum-shape{fill:var(--field);stroke:var(--gold);stroke-width:3}.data-tip{fill:var(--ink);font-size:18px;font-weight:700;text-anchor:middle}.data-goal{pointer-events:none}.data-goal-mark{stroke:var(--gold);stroke-width:2.5;stroke-dasharray:7 5;opacity:.8}.data-notes{display:grid;gap:8px;padding:0;list-style:none}.data-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(max-width:400px){.data-readout dd{font-size:17px}.data-buttons button{font-size:15px;padding:6px 4px}.data-words{font-size:15px}}.directed-equation{height:52px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:36px;font-weight:800;line-height:52px;white-space:nowrap;font-variant-numeric:tabular-nums}.directed-words{height:3.9em;margin:4px 0 0;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.3}.directed-ops,.directed-buttons{display:grid;gap:10px;margin-top:12px;max-width:420px}.directed-ops{grid-template-columns:repeat(4,minmax(0,1fr))}.directed-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.directed-ops button,.directed-buttons button{min-height:52px;padding:6px 10px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;touch-action:manipulation}.directed-ops button{font-size:28px}.directed-ops button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.directed-ops button:disabled,.directed-buttons button:disabled{opacity:.45;cursor:default}.directed-ops button:focus-visible,.directed-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.directed-activity .history-controls{flex-wrap:wrap}.directed-activity .lesson-panel>div{min-width:0}.directed-stage svg{background:var(--stage);cursor:default;touch-action:none}.directed-line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.directed-tick{stroke:var(--dim);stroke-width:1.5}.directed-tick[data-major]{stroke:var(--line);stroke-width:2.5}.directed-label{fill:var(--ink);font-size:22px;font-weight:700;text-anchor:middle}.directed-label[data-zero]{fill:var(--accent)}.directed-start{fill:none;stroke:var(--dim);stroke-width:2.5;stroke-dasharray:4 3}.directed-jump{fill:none;stroke:var(--cyan);stroke-width:3.5;stroke-dasharray:8 6;stroke-linecap:round}.directed-arrow{fill:none;stroke:var(--pink);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.directed-arrow-ghost{stroke:var(--dim);stroke-width:3;opacity:.6}.directed-goal{pointer-events:none}.directed-goal-mark{stroke:var(--gold);stroke-width:3;stroke-dasharray:7 5}.directed-goal-text{fill:var(--gold);font-size:20px;font-weight:700;text-anchor:middle}.directed-pin{cursor:grab}.directed-pin[data-active]{cursor:grabbing}.directed-pin-pole{stroke:var(--violet);stroke-width:2.5}.directed-pin-flag{fill:var(--violet)}.directed-pin-text{fill:var(--stage);font-size:16px;font-weight:800;text-anchor:middle;pointer-events:none}.directed-pin-hit{fill:transparent}.directed-walker{cursor:grab}.directed-walker-hit{fill:transparent}.directed-walker[data-active]{cursor:grabbing}.directed-body{fill:var(--gold);stroke:var(--line);stroke-width:2.5}.directed-eye{fill:var(--stage);stroke:var(--line);stroke-width:1.5;pointer-events:none}.directed-pupil{fill:var(--line);pointer-events:none}.directed-nose{fill:var(--amber);stroke:var(--line);stroke-width:1.5;pointer-events:none}.directed-feet{fill:none;stroke:var(--line);stroke-width:4;stroke-linecap:round;pointer-events:none}.directed-value{fill:var(--ink);font-size:24px;font-weight:800;text-anchor:middle;pointer-events:none}.directed-turned{fill:var(--cyan);font-size:26px;font-weight:800;pointer-events:none}.directed-notes{display:grid;gap:8px;padding:0;list-style:none}.directed-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}.directed-order{font-size:22px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}.directed-moves{font-size:17px;line-height:1.6;color:var(--ink)}@media(prefers-reduced-motion:no-preference){.directed-walker{transition:transform .16s ease-out}.directed-face{transition:transform .2s ease-out}.directed-stage svg[data-dragging] .directed-walker{transition:none}}@media(max-width:400px){.directed-equation{font-size:27px}.directed-words{font-size:15px}.directed-ops button{font-size:24px}.directed-buttons button{font-size:18px}}[data-theme=daylight] .directed-body{fill:#f59e0b}.fraction-stage svg{touch-action:none}.fraction-whole{fill:var(--field);stroke:var(--field-edge);stroke-width:2.5}.fraction-part{fill:var(--control);stroke:var(--line);stroke-width:2;cursor:pointer}.fraction-shaded{fill:var(--mint, var(--green))}:root:not([data-theme=daylight]) .fraction-shaded{fill:var(--green);fill-opacity:.75}.fraction-index{fill:var(--ink);font-size:22px;font-weight:700;pointer-events:none}.fraction-knife{fill:var(--ink);font-size:16px;font-weight:800;pointer-events:none}.fraction-dot{fill:var(--control);stroke:var(--line);stroke-width:2}.fraction-dot-on{fill:var(--green)}.fraction-readout{display:flex;align-items:baseline;gap:10px;margin:8px 0;color:var(--dim)}.fraction-readout strong{font-size:44px;color:var(--gold)}.fraction-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.fraction-buttons button{min-height:52px;padding:8px 16px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-weight:700;font-size:17px;cursor:pointer;touch-action:manipulation}.growth-equation{height:52px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:36px;font-weight:800;line-height:52px;white-space:nowrap;font-variant-numeric:tabular-nums}.growth-equation span{color:var(--dim);font-weight:600}.growth-words{height:2.6em;margin:4px 0 0;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.3;font-variant-numeric:tabular-nums}.growth-buttons{display:flex;align-items:center;gap:8px;margin-top:10px;max-width:440px}.growth-key{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;color:var(--dim);font-size:14px;font-weight:700;line-height:1.2}.growth-key strong{color:var(--ink);font-size:19px;font-variant-numeric:tabular-nums}.growth-buttons button{flex:0 0 auto;min-width:48px;min-height:48px;padding:4px 8px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:18px;font-weight:700;cursor:pointer;touch-action:manipulation;font-variant-numeric:tabular-nums}.growth-buttons button:disabled{opacity:.45;cursor:default}.growth-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.growth-activity .history-controls{flex-wrap:wrap}.growth-activity .lesson-panel>div{min-width:0}.growth-stage svg{background:var(--stage);cursor:default;touch-action:none}.growth-goal{pointer-events:none}.growth-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.growth-goal-text{fill:var(--gold);font-size:21px;font-weight:800}.growth-grid{stroke:var(--grid);stroke-width:1.5}.growth-grid[data-hundred]{stroke:var(--line);stroke-width:2;stroke-dasharray:10 6}.growth-axis-text{fill:var(--dim);font-size:15px;font-weight:700;text-anchor:end}.growth-axis-text[data-hundred]{fill:var(--ink)}.growth-year{fill:var(--dim);font-size:15px;font-weight:700;text-anchor:middle;opacity:.55}.growth-year[data-on]{fill:var(--ink);opacity:1}.growth-fill{fill:var(--cyan);stroke:var(--stage);stroke-width:1.5}.growth-bar[data-year="0"] .growth-fill{fill:var(--dim)}.growth-fill[data-capped]{stroke:var(--ink);stroke-dasharray:6 4}.growth-cap{fill:var(--stage);font-size:14px;text-anchor:middle}.growth-simple{fill:none;stroke:var(--pink);stroke-width:3;stroke-dasharray:7 5;pointer-events:none}.growth-level line{stroke:var(--gold);stroke-width:3;stroke-dasharray:12 6}.growth-level text{fill:var(--gold);font-size:16px;font-weight:800;text-anchor:end}.growth-last{fill:var(--ink);font-size:16px;font-weight:800;text-anchor:middle;font-variant-numeric:tabular-nums;pointer-events:none}.growth-dial-track{stroke:var(--line);stroke-width:3;stroke-linecap:round}.growth-dial-reach{stroke:var(--accent);stroke-width:2;stroke-dasharray:4 4}.growth-dial-text{fill:var(--ink);font-size:15px;font-weight:800;text-anchor:end;font-variant-numeric:tabular-nums;pointer-events:none}.growth-track-line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.growth-track-text{fill:var(--ink);font-size:16px;font-weight:800;text-anchor:end;font-variant-numeric:tabular-nums}.growth-legend{flex-basis:100%}.growth-legend[data-off]{visibility:hidden}.growth-notes{display:grid;gap:8px;padding:0;list-style:none}.growth-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(max-width:400px){.growth-equation{font-size:28px}.growth-words{font-size:15px}.growth-buttons{gap:6px}.growth-buttons button{min-width:44px;font-size:16px;padding:4px 6px}.growth-key{font-size:12px}.growth-key strong{font-size:16px}}.histogram-rule{height:40px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:26px;font-weight:800;line-height:40px;white-space:nowrap}.histogram-words{height:2.6em;margin:4px 0 0;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.3}.histogram-buttons{display:grid;grid-template-columns:96px repeat(2,minmax(0,1fr));align-items:center;gap:10px;margin-top:12px;max-width:420px}.histogram-buttons button{min-height:52px;padding:6px 10px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:19px;font-weight:700;cursor:pointer;touch-action:manipulation}.histogram-buttons button:disabled{opacity:.45;cursor:default}.histogram-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.histogram-key{color:var(--ink);font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}.histogram-activity .history-controls{flex-wrap:wrap}.histogram-activity .lesson-panel>div{min-width:0}.histogram-stage svg{background:var(--stage);cursor:default;touch-action:none}.histogram-goal{pointer-events:none}.histogram-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.histogram-goal-text{fill:var(--gold);font-size:21px;font-weight:800}.histogram-scale,.histogram-bars,.histogram-axis{pointer-events:none}.histogram-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.histogram-scale-text{fill:var(--dim);font-size:15px;text-anchor:end}.histogram-scale-title{fill:var(--dim);font-size:15px;font-weight:700}.histogram-bar-area{fill:var(--cyan);fill-opacity:.55;stroke:var(--cyan);stroke-width:2}.histogram-bar[data-modal] .histogram-bar-area{stroke:var(--gold);stroke-width:3.5}.histogram-modal{fill:var(--gold);font-size:15px;text-anchor:middle}.histogram-frequency{fill:var(--ink);font-size:18px;font-weight:800;text-anchor:middle;font-variant-numeric:tabular-nums}.histogram-density{fill:var(--dim);font-size:15px;font-weight:700;text-anchor:middle;font-variant-numeric:tabular-nums}.histogram-density[data-small]{font-size:13px}.histogram-mark{stroke:var(--gold);stroke-width:3;stroke-dasharray:8 6;pointer-events:none}.histogram-axis-line{stroke:var(--ink);stroke-width:2.5}.histogram-tick{stroke:var(--dim);stroke-width:2}.histogram-axis-text{fill:var(--dim);font-size:15px;text-anchor:middle}.histogram-axis-title{fill:var(--dim);font-size:15px;text-anchor:end}.histogram-dot{fill:var(--ink);fill-opacity:.7}.histogram-edge-line{stroke:var(--ink);stroke-width:2;stroke-dasharray:5 4;pointer-events:none}.histogram-edge[data-chosen] .histogram-edge-line{stroke:var(--accent);stroke-width:3;stroke-dasharray:none}.histogram-edge-text{fill:var(--stage);font-size:12px;font-weight:800;text-anchor:middle;pointer-events:none;font-variant-numeric:tabular-nums}.histogram-notes{display:grid;gap:8px;padding:0;list-style:none}.histogram-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(max-width:400px){.histogram-rule{font-size:21px}.histogram-words{font-size:15px}.histogram-buttons{grid-template-columns:76px repeat(2,minmax(0,1fr))}.histogram-buttons button{font-size:17px}}.hundreds-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-height:84px;margin:4px 0 0;color:var(--ink)}.hundreds-readout strong{font-size:64px;line-height:1;font-variant-numeric:tabular-nums;color:var(--gold)}.hundreds-readout>span{font-size:24px;font-weight:650;overflow-wrap:anywhere}.hundreds-digit-hundreds,.hundreds-hundreds-word{color:var(--violet)}.hundreds-digit-tens,.hundreds-tens-word{color:var(--amber)}.hundreds-digit-ones,.hundreds-ones-word{color:var(--cyan)}.hundreds-worth{margin:6px 0 0;font-size:24px;font-weight:750;font-variant-numeric:tabular-nums;color:var(--ink)}.hundreds-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.hundreds-buttons[aria-label=Blocks],.hundreds-other{grid-template-columns:1fr}.hundreds-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hundreds-buttons button,.hundreds-hops button{min-height:52px;padding:8px 10px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:19px;font-weight:700;cursor:pointer;touch-action:manipulation;min-width:0;overflow-wrap:anywhere}.hundreds-pair-hundreds button{border-left:6px solid var(--violet)}.hundreds-pair-tens button{border-left:6px solid var(--amber)}.hundreds-pair-ones button{border-left:6px solid var(--cyan)}.hundreds-swaps button{font-size:16px}.hundreds-buttons button:disabled,.hundreds-hops button:disabled{opacity:.45;cursor:default}.hundreds-hops{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.hundreds-hops button{min-width:56px;font-variant-numeric:tabular-nums}.hundreds-hops button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400}.hundreds-buttons button:focus-visible,.hundreds-hops button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.hundreds-stage svg{cursor:default;touch-action:none}.hundreds-hit{fill:transparent;cursor:pointer}.hundreds-head{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.hundreds-head-hundreds{fill:var(--violet)}.hundreds-head-tens{fill:var(--amber)}.hundreds-head-ones{fill:var(--cyan)}.hundreds-divide{stroke:var(--grid);stroke-width:3}.hundreds-slot{fill:none;stroke:var(--grid);stroke-width:2;stroke-dasharray:4 4;pointer-events:none}.hundreds-flat-face{fill:var(--violet);stroke:var(--line);stroke-width:1.5;pointer-events:none}.hundreds-flat-grid,.hundreds-rod-grid{fill:none;stroke:var(--stage);stroke-opacity:.55;stroke-width:1;pointer-events:none}.hundreds-rod-face{fill:var(--amber);stroke:var(--line);stroke-width:1.5;pointer-events:none}.hundreds-frame{fill:var(--field);stroke:var(--field-edge);stroke-width:2.5;pointer-events:none}.hundreds-cell{fill:transparent;stroke:var(--grid);stroke-width:2;pointer-events:none}.hundreds-cube{fill:var(--cyan);stroke:var(--line);stroke-width:1.5;pointer-events:none}.hundreds-handle-label{fill:var(--stage);font-size:16px;font-weight:900;pointer-events:none}.hundreds-carried{opacity:.6;pointer-events:none}.hundreds-carried[data-over]{opacity:1}.hundreds-goal-box{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:8 6;pointer-events:none}.hundreds-goal-text{fill:var(--gold);font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.hundreds-compare{fill:var(--ink);font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.hundreds-sign{fill:var(--green)}.hundreds-line{stroke:var(--line);stroke-width:4;stroke-linecap:round;pointer-events:none}.hundreds-tick{stroke:var(--dim);stroke-width:1;pointer-events:none}.hundreds-tick[data-half]{stroke-width:2}.hundreds-tick[data-major]{stroke:var(--line);stroke-width:3}.hundreds-label{fill:var(--ink);font-size:16px;font-weight:700;pointer-events:none}.hundreds-landing{fill:var(--gold);stroke:var(--line);stroke-width:1.5;pointer-events:none}.hundreds-frog{cursor:grab}.hundreds-frog[data-active]{cursor:grabbing}.hundreds-frog-other-body{fill:var(--pink);stroke:var(--line);stroke-width:2}.hundreds-other-bubble{fill:var(--pink);font-size:22px;font-weight:800;pointer-events:none}.hundreds-swapped{margin:8px 0 0;font-size:20px;font-weight:750;color:var(--ink)}.hundreds-notes{display:grid;gap:8px;padding:0;list-style:none}.hundreds-notes li,.hundreds-compare-fact{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}@media(prefers-reduced-motion:no-preference){.hundreds-frog{transition:transform .3s ease-out}.hundreds-stage svg[data-dragging] .hundreds-frog{transition:none}}@media(max-width:400px){.hundreds-readout strong{font-size:52px}.hundreds-readout>span{font-size:20px}.hundreds-buttons button{font-size:16px}}[data-theme=daylight] .hundreds-hops button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;color:#1c1400}.join-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-height:84px;margin:4px 0 0;color:var(--ink);font-size:44px;font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums}.join-readout strong{color:var(--gold);font-size:56px}.join-readout .join-start{color:var(--cyan)}.join-readout .join-change{color:var(--pink)}.join-signs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.join-signs button{min-height:56px;padding:8px 12px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;touch-action:manipulation}.join-signs button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400}.join-signs button:disabled{opacity:.45;cursor:default}.join-signs button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.join-stage svg{cursor:default}.join-counter{stroke:var(--line);stroke-width:2;pointer-events:none}.join-start{fill:var(--cyan)}.join-joined{fill:var(--pink)}.join-taken{fill:none;stroke:var(--dim);stroke-dasharray:4 4}.join-cross{stroke:var(--pink);stroke-width:4;stroke-linecap:round;pointer-events:none}.join-sentence{fill:var(--ink);font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.join-sentence .join-change{fill:var(--pink)}.join-sentence .join-end{fill:var(--gold)}.join-goal-text{fill:var(--gold);font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.join-hop{pointer-events:none}.join-hop-arc{fill:none;stroke:var(--amber);stroke-width:3.5;stroke-linecap:round}.join-hop-back .join-hop-arc{stroke-dasharray:7 6}.join-hop-head{fill:var(--amber)}.join-hop-label{fill:var(--amber);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.join-stone{cursor:grab}.join-stone[data-active]{cursor:grabbing}.join-stone-body{fill:var(--control);stroke:var(--cyan);stroke-width:3}.join-stone-label{fill:var(--ink);font-size:24px;font-weight:800;pointer-events:none;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:no-preference){.join-stone{transition:transform .18s ease-out}.join-stage svg[data-dragging] .count-frog,.join-stage svg[data-dragging] .join-stone{transition:none}}@media(max-width:400px){.join-readout{font-size:36px}.join-readout strong{font-size:44px}.join-signs button{font-size:18px}}[data-theme=daylight] .join-signs button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;color:#1c1400}.line-readout{display:grid;gap:2px;height:76px;margin:4px 0 0;color:var(--ink);overflow:hidden}.line-readout strong{font-size:30px;line-height:1.15;overflow-wrap:anywhere}.line-readout span{font-size:18px;color:var(--dim)}.line-pad{display:grid;grid-template-columns:repeat(3,60px);gap:8px;margin-top:12px}.line-pad button{min-height:56px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:24px;font-weight:700;cursor:pointer;touch-action:manipulation}.line-pad button:disabled{opacity:.45;cursor:default}.line-pad button:focus-visible,.line-starters button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.line-blocked{min-height:3em;margin:8px 0 0;color:var(--dim);font-size:15px}.line-activity .history-controls{flex-wrap:wrap}.line-activity .lesson-panel>div{min-width:0}.line-starters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.line-starters button{min-height:48px;padding:8px 14px;border:1px solid var(--field-edge);border-radius:999px;background:var(--control);color:var(--ink);font-weight:700;cursor:pointer;touch-action:manipulation}.line-stage svg{background:var(--stage);cursor:default;touch-action:none}.line-hole{fill:var(--dim);opacity:.55}.line-stretch line{stroke:var(--dim);stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round;pointer-events:none}.line-a line{stroke:var(--cyan);stroke-width:7;stroke-linecap:round;pointer-events:none}.line-b line{stroke:var(--gold);stroke-width:7;stroke-linecap:butt;stroke-dasharray:18 9;pointer-events:none}.line-name circle{fill:var(--control);stroke:var(--line);stroke-width:2}.line-name text{fill:var(--ink);font-size:15px;font-weight:800;pointer-events:none}.line-chevrons path,.line-square{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.line-join{fill:none;stroke:var(--violet);stroke-width:3;pointer-events:none}.line-hit{fill:transparent;cursor:grab}.line-mark{fill:var(--line);stroke:var(--stage);stroke-width:3}.line-end[data-free] .line-mark{fill:var(--gold);stroke:var(--line);cursor:grab}.line-end[data-active] .line-mark{cursor:grabbing}.line-pick{fill:none;stroke:var(--gold);stroke-width:2.5;pointer-events:none}.line-notes{display:grid;gap:8px;padding:0;list-style:none}.line-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}@media(max-width:400px){.line-readout strong{font-size:24px}.line-readout span{font-size:16px}}[data-theme=daylight] .line-end[data-free] .line-mark{fill:#f59e0b}.measure-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-height:84px;margin:4px 0 0;color:var(--ink)}.measure-readout strong{min-width:1.4em;font-size:64px;line-height:1;font-variant-numeric:tabular-nums;color:var(--gold)}.measure-readout strong.measure-red{color:var(--pink)}.measure-readout strong.measure-blue{color:var(--cyan)}.measure-readout span{font-size:24px;font-weight:650;overflow-wrap:anywhere}.measure-buttons,.measure-toys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.measure-toys{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.measure-buttons button,.measure-row button,.measure-toys button{min-height:56px;padding:8px 12px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;touch-action:manipulation}.measure-toys button{font-size:30px;padding:4px}.measure-toys button:first-child:not([aria-label]){font-size:16px}.measure-toys button[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.measure-buttons button:disabled,.measure-row button:disabled,.measure-toys button:disabled{opacity:.45;cursor:default}.measure-buttons button:focus-visible,.measure-row button:focus-visible,.measure-toys button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.measure-rows{display:grid;gap:8px;margin-top:12px;max-width:420px}.measure-row{display:grid;grid-template-columns:minmax(0,1fr) 56px 2.2em 56px;align-items:center;gap:10px;color:var(--ink);font-size:18px;font-weight:650}.measure-row button{padding:0;font-size:26px}.measure-row strong{text-align:center;font-size:26px;font-variant-numeric:tabular-nums}.measure-row-red strong{color:var(--pink)}.measure-row-blue strong{color:var(--cyan)}.measure-stage svg{background:var(--stage);cursor:default}.measure-ruler{fill:var(--panel);stroke:var(--gold);stroke-width:2;pointer-events:none}.measure-tick{stroke:var(--ink);stroke-width:2;pointer-events:none}.measure-number{fill:var(--ink);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}.measure-zero{stroke:var(--dim);stroke-width:2;pointer-events:none}.measure-guide{stroke:var(--pink);stroke-width:2;stroke-dasharray:4 6;opacity:.8;pointer-events:none}.measure-track{fill:var(--field);stroke:var(--edge);stroke-width:2}.measure-track[data-grab]{cursor:ew-resize}.measure-ribbon{stroke:var(--line);stroke-width:2;pointer-events:none}.measure-ribbon-red{fill:var(--pink)}.measure-ribbon-blue{fill:var(--cyan)}.measure-length{fill:var(--ink);font-size:26px;font-weight:750;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--stage);stroke-width:5px;pointer-events:none}.measure-pin{font-size:22px;pointer-events:none}.measure-goal{pointer-events:none}.measure-goal-red{fill:var(--pink);opacity:.85}.measure-goal-blue{fill:var(--cyan);opacity:.85}.measure-goal-blue[data-ghost]{fill:none;stroke:var(--cyan);stroke-width:2;stroke-dasharray:4 4}.measure-goal-word{fill:var(--gold);font-size:28px;font-weight:800}.measure-pan-hit{fill:transparent;cursor:pointer}.measure-pan-hit[data-target]{fill:var(--gold);fill-opacity:.12;stroke:var(--gold);stroke-width:3}.measure-stand{fill:none;stroke:var(--dim);stroke-width:8;stroke-linecap:round;pointer-events:none}.measure-beam{stroke:var(--gold);stroke-width:8;stroke-linecap:round;pointer-events:none}.measure-beam[data-level]{stroke:var(--green)}.measure-ghost{stroke:var(--gold);stroke-width:3;stroke-dasharray:6 8;opacity:.55;pointer-events:none}.measure-pivot{fill:var(--ink);pointer-events:none}.measure-pan{pointer-events:none}.measure-string{fill:none;stroke:var(--dim);stroke-width:2}.measure-dish{fill:var(--panel);stroke:var(--ink);stroke-width:3}.measure-toy{font-size:40px;pointer-events:none}.measure-cube{fill:var(--violet);stroke:var(--line);stroke-width:1.5;pointer-events:none}.measure-tray{fill:var(--panel);stroke:var(--edge);stroke-width:2.5;stroke-dasharray:8 6;cursor:pointer}.measure-tray[data-target]{stroke:var(--gold);stroke-width:4}.measure-in-hand{filter:drop-shadow(0 0 10px rgba(200,155,255,.9))}.measure-notes{display:grid;gap:8px;padding:0;list-style:none}.measure-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}@media(prefers-reduced-motion:no-preference){.measure-ribbon,.measure-cube:not(.measure-in-hand){transition:width .14s ease-out,x .16s ease-out,y .16s ease-out}.measure-stage svg[data-dragging] .measure-ribbon{transition:none}}@media(max-width:400px){.measure-readout strong{font-size:52px}.measure-readout span{font-size:20px}.measure-buttons button{font-size:18px}}[data-theme=daylight] .measure-in-hand{filter:none}[data-theme=daylight] .measure-goal-word{fill:#9a5b00}.parabola-equation{height:52px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:36px;font-weight:800;line-height:52px;white-space:nowrap;font-variant-numeric:tabular-nums}.parabola-words{height:1.4em;margin:4px 0 0;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.3;white-space:nowrap}.parabola-buttons{display:flex;align-items:center;gap:8px;margin-top:10px;max-width:440px}.parabola-key{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;color:var(--dim);font-size:14px;font-weight:700;line-height:1.2}.parabola-key strong{color:var(--ink);font-size:19px;font-variant-numeric:tabular-nums}.parabola-buttons button{flex:0 0 auto;min-width:48px;min-height:48px;padding:4px 8px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:18px;font-weight:700;cursor:pointer;touch-action:manipulation;font-variant-numeric:tabular-nums}.parabola-buttons button:disabled{opacity:.45;cursor:default}.parabola-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.parabola-activity .history-controls{flex-wrap:wrap}.parabola-activity .lesson-panel>div{min-width:0}.parabola-stage svg{background:var(--stage);cursor:default;touch-action:none}.parabola-goal{pointer-events:none}.parabola-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.parabola-goal-text{fill:var(--gold);font-size:21px;font-weight:800}.parabola-axis{stroke:var(--line);stroke-width:2}.parabola-axis[data-symmetry]{stroke-dasharray:10 6}.parabola-tick,.parabola-axis-name{fill:var(--dim);font-size:14px;font-weight:700}.parabola-curve{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.parabola-curve[data-opening=upwards]{stroke:var(--cyan)}.parabola-curve[data-opening=downwards]{stroke:var(--pink);stroke-dasharray:14 7}.parabola-curve[data-opening=line]{stroke:var(--gold);stroke-dasharray:3 8}.parabola-grab{fill:none;stroke:transparent;stroke-width:36;cursor:grab}.parabola-opening{font-size:18px;font-weight:800;pointer-events:none;fill:var(--ink)}.parabola-opening[data-opening=upwards]{fill:var(--cyan)}.parabola-opening[data-opening=downwards]{fill:var(--pink)}.parabola-opening[data-opening=line]{fill:var(--gold)}.parabola-turn{fill:var(--gold);stroke:var(--stage);stroke-width:2}.parabola-turn-text{fill:var(--ink);font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.parabola-root{fill:var(--green);stroke:var(--stage);stroke-width:2}.parabola-notes{display:grid;gap:8px;padding:0;list-style:none}.parabola-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}.parabola-compare{min-height:7em;padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:16px;overflow-wrap:anywhere}.parabola-compare p{margin:4px 0}@media(max-width:400px){.parabola-equation{font-size:28px}.parabola-words{font-size:15px}.parabola-buttons{gap:6px}.parabola-buttons button{min-width:44px;font-size:16px;padding:4px 6px}.parabola-key{font-size:12px}.parabola-key strong{font-size:16px}}.peg-readout{display:grid;gap:2px;height:76px;margin:4px 0 0;color:var(--ink);overflow:hidden}.peg-readout strong{font-size:30px;line-height:1.15;overflow-wrap:anywhere}.peg-readout span{font-size:18px;color:var(--dim);font-variant-numeric:tabular-nums}.peg-pad{display:grid;grid-template-columns:repeat(3,60px);gap:8px;margin-top:12px}.peg-pad button{min-height:56px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:24px;font-weight:700;cursor:pointer;touch-action:manipulation}.peg-pad button:disabled{opacity:.45;cursor:default}.peg-pad button:focus-visible,.peg-starters button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.peg-blocked{min-height:3em;margin:8px 0 0;color:var(--dim);font-size:15px}.peg-activity .history-controls{flex-wrap:wrap}.peg-activity .lesson-panel>div{min-width:0}.peg-starters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.peg-starters button{min-height:48px;padding:8px 14px;border:1px solid var(--field-edge);border-radius:999px;background:var(--control);color:var(--ink);font-weight:700;cursor:pointer;touch-action:manipulation}.peg-stage svg{background:var(--stage);cursor:default;touch-action:none}.peg-hole{fill:var(--dim);opacity:.55}.peg-outline{fill:none;stroke:var(--gold);stroke-width:4;stroke-dasharray:10 8;stroke-linejoin:round;pointer-events:none}.peg-ghost{fill:none;stroke:var(--dim);stroke-width:2.5;stroke-dasharray:4 7;stroke-linejoin:round;pointer-events:none}.peg-shape{fill:var(--cyan);fill-opacity:.16;stroke:var(--cyan);stroke-width:4;stroke-linejoin:round;pointer-events:none}.peg-axes line{stroke:var(--violet);stroke-width:2.5;stroke-dasharray:14 6 3 6;pointer-events:none}.peg-ticks line,.peg-square{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;pointer-events:none}.peg-fold line{stroke:var(--gold);stroke-width:3;stroke-dasharray:8 8;pointer-events:none}.peg-fold-tab{fill:var(--control);stroke:var(--gold);stroke-width:2}.peg-fold-tab[data-grab]{cursor:ew-resize}.peg-fold text{fill:var(--ink);font-size:15px;font-weight:750;text-anchor:middle;pointer-events:none}.peg-fold[data-lit] line{stroke:var(--green);stroke-dasharray:none}.peg-fold[data-lit] .peg-fold-tab{stroke:var(--green)}.peg-hit{fill:transparent;cursor:grab}.peg-mark{fill:var(--line);stroke:var(--stage);stroke-width:3}.peg-dot:not([data-corner]) .peg-mark{fill:var(--stage);stroke:var(--line);stroke-width:3}.peg-dot[data-free] .peg-mark{fill:var(--gold);stroke:var(--line);cursor:grab}.peg-dot[data-free]:not([data-corner]) .peg-mark{fill:var(--stage);stroke:var(--gold);stroke-width:5}.peg-dot[data-active] .peg-mark{cursor:grabbing}.peg-pick{fill:none;stroke:var(--gold);stroke-width:2.5;pointer-events:none}.peg-notes{display:grid;gap:8px;padding:0;list-style:none}.peg-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}@media(max-width:400px){.peg-readout strong{font-size:24px}.peg-readout span{font-size:16px}}[data-theme=daylight] .peg-dot[data-free] .peg-mark{fill:#f59e0b}[data-theme=daylight] .peg-dot[data-free]:not([data-corner]) .peg-mark{fill:var(--stage);stroke:#b46a00}.place-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-height:84px;margin:4px 0 0;color:var(--ink)}.place-readout strong{min-width:1.6em;font-size:64px;line-height:1;font-variant-numeric:tabular-nums;color:var(--gold)}.place-readout span{font-size:28px;font-weight:650;overflow-wrap:anywhere}.place-parts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:6px 0 0;font-size:24px;font-weight:750;font-variant-numeric:tabular-nums}.place-tens-word{color:var(--amber)}.place-ones-word{color:var(--cyan)}.place-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.place-buttons button,.place-hops button{min-height:56px;padding:8px 12px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;touch-action:manipulation}.place-buttons button:disabled,.place-hops button:disabled{opacity:.45;cursor:default}.place-hops{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.place-hops button{min-width:56px;font-variant-numeric:tabular-nums}.place-hops button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400}.place-buttons button:focus-visible,.place-hops button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.place-stage svg{cursor:default;touch-action:none}.place-hit{fill:transparent;cursor:pointer}.place-slot{fill:none;stroke:var(--grid);stroke-width:2;stroke-dasharray:5 5;cursor:pointer}.place-unit{fill:var(--amber);stroke:var(--line);stroke-width:1.5;pointer-events:none}.place-frame{fill:var(--field);stroke:var(--field-edge);stroke-width:2.5;cursor:pointer}.place-cell{fill:transparent;stroke:var(--grid);stroke-width:2;pointer-events:none}.place-one{fill:var(--cyan);stroke:var(--line);stroke-width:1.5;pointer-events:none}.place-carried{opacity:.6;pointer-events:none}.place-carried[data-over]{opacity:1}.place-goal-box{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:8 6}.place-goal-text{fill:var(--gold);font-size:30px;font-weight:800;font-variant-numeric:tabular-nums}.place-compare{fill:var(--ink);font-size:30px;font-weight:800;font-variant-numeric:tabular-nums}.place-sign{fill:var(--green)}.place-line{stroke:var(--line);stroke-width:4;stroke-linecap:round}.place-tick{stroke:var(--dim);stroke-width:1.5}.place-tick[data-half]{stroke-width:2}.place-tick[data-major]{stroke:var(--line);stroke-width:3}.place-label{fill:var(--ink);font-size:18px;font-weight:700}.place-last-hop{fill:none;stroke:var(--violet);stroke-width:3;stroke-linecap:round}.place-frog{cursor:grab}.place-frog[data-active]{cursor:grabbing}.place-frog-other-body{fill:var(--violet);stroke:var(--line);stroke-width:2}.place-other-bubble{fill:var(--violet);font-size:22px;font-weight:800;pointer-events:none}.place-notes{display:grid;gap:8px;padding:0;list-style:none}.place-notes li,.place-compare-fact{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}@media(prefers-reduced-motion:no-preference){.place-frog{transition:transform .18s ease-out}.place-stage svg[data-dragging] .place-frog{transition:none}}@media(max-width:400px){.place-readout strong{font-size:52px}.place-readout span{font-size:22px}.place-buttons button{font-size:18px}}[data-theme=daylight] .place-hops button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;color:#1c1400}.prob-activity{--c-blue: var(--cyan);--c-pink: var(--pink);--c-green: var(--green);--c-violet: var(--violet)}.prob-activity [data-colour=blue]{--c: var(--c-blue)}.prob-activity [data-colour=pink]{--c: var(--c-pink)}.prob-activity [data-colour=green]{--c: var(--c-green)}.prob-activity [data-colour=violet]{--c: var(--c-violet)}.prob-activity .lesson-panel>div{min-width:0}.prob-activity .history-controls{flex-wrap:wrap}.prob-tabs,.prob-spin,.prob-venn-pick{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;max-width:440px}.prob-tabs button,.prob-spin button,.prob-venn-pick button,.prob-buttons button{min-height:48px;padding:6px 14px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation}.prob-tabs button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.prob-activity button:disabled{opacity:.45;cursor:default}.prob-activity button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.prob-venn-pick{flex-direction:column;align-items:stretch}.prob-venn-pick button{text-align:left}.prob-table{display:grid;gap:6px;margin:14px 0 0;padding:0;list-style:none;max-width:440px}.prob-table li{display:grid;grid-template-columns:34px minmax(0,1fr) 56px 76px;align-items:center;gap:8px;color:var(--ink);font-size:17px}.prob-table strong{font-size:22px;font-variant-numeric:tabular-nums}.prob-spun{color:var(--dim);font-variant-numeric:tabular-nums;text-align:right}.prob-chip{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c);color:var(--stage);font-weight:800}.prob-buttons{display:grid;grid-template-columns:64px repeat(2,minmax(0,1fr));align-items:center;gap:10px;margin-top:10px;max-width:440px}.prob-key{color:var(--ink);font-size:18px;font-weight:800}.prob-key [data-colour]{color:var(--c)}.prob-stage svg{background:var(--stage);touch-action:none;-webkit-user-select:none;user-select:none}.prob-goal{pointer-events:none}.prob-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.prob-goal-text{fill:var(--gold);font-size:17px;font-weight:800}.prob-sector{fill:var(--c);stroke:var(--stage);stroke-width:2}.prob-tick{stroke:var(--stage);stroke-width:2;opacity:.7}.prob-rim{fill:none;stroke:var(--line);stroke-width:2.5}.prob-letter{fill:var(--stage);font-size:22px;font-weight:800;text-anchor:middle}.prob-zero{stroke:var(--line);stroke-width:4;stroke-linecap:round}.prob-divider{stroke:var(--line);stroke-width:3;stroke-linecap:round}.prob-hub{fill:var(--line)}.prob-pointer{transform-box:view-box;transform-origin:210px 190px}.prob-pointer line{stroke:var(--ink);stroke-width:5;stroke-linecap:round}.prob-pointer polygon{fill:var(--ink);stroke:var(--stage);stroke-width:2}.prob-axis{stroke:var(--line);stroke-width:3;stroke-linecap:round}.prob-axis-tick{stroke:var(--dim);stroke-width:1.5}.prob-axis-tick[data-major]{stroke:var(--line);stroke-width:2.5}.prob-axis-label{fill:var(--ink);font-size:16px;font-weight:800;text-anchor:middle}.prob-axis-words{fill:var(--dim);font-size:13px;font-weight:700;text-anchor:middle}.prob-marker line{stroke:var(--c);stroke-width:2}.prob-marker circle{fill:var(--c);stroke:var(--stage);stroke-width:2}.prob-marker text{fill:var(--stage);font-size:14px;font-weight:800;text-anchor:middle}.prob-bar-label{fill:var(--dim);font-size:13px;font-weight:700;text-anchor:end}.prob-bar-slot{fill:var(--field);stroke:var(--edge);stroke-width:1.5;stroke-dasharray:4 4}.prob-bar-part{fill:var(--c);stroke:var(--stage);stroke-width:1.5}.prob-bar-letter{fill:var(--stage);font-size:13px;font-weight:800;text-anchor:middle}.prob-grid-caption{fill:var(--dim);font-size:14px;font-weight:700;text-anchor:start}.prob-head{fill:var(--ink);font-size:18px;font-weight:800;text-anchor:middle}.prob-row-chip{fill:var(--c)}.prob-row-letter{fill:var(--stage);font-size:16px;font-weight:800;text-anchor:middle}.prob-cell rect{fill:var(--field);stroke:var(--edge);stroke-width:1.5;cursor:pointer}.prob-cell rect:focus-visible{outline:none;stroke:var(--accent);stroke-width:4}.prob-cell text{fill:var(--ink);font-size:17px;font-weight:700;text-anchor:middle;pointer-events:none}.prob-cell[data-on] rect{fill:var(--gold);stroke:var(--ink);stroke-width:2.5}.prob-cell[data-on] text{fill:var(--stage);font-weight:800}.prob-mark-p{fill:var(--cyan);color:var(--cyan);pointer-events:none}.prob-mark-q{fill:var(--pink);color:var(--pink);pointer-events:none}.prob-cell[data-on] .prob-mark-p,.prob-cell[data-on] .prob-mark-q{fill:var(--stage)}.prob-venn{max-width:380px}.prob-venn-box{fill:none;stroke:var(--edge);stroke-width:2}.prob-venn-p{fill:none;stroke:var(--cyan);stroke-width:3}.prob-venn-q{fill:none;stroke:var(--pink);stroke-width:3;stroke-dasharray:9 5}.prob-venn-name{fill:var(--ink);font-size:16px;font-weight:800}.prob-venn-count{fill:var(--ink);font-size:24px;font-weight:800;text-anchor:middle;font-variant-numeric:tabular-nums}.prob-venn-out{font-size:18px;fill:var(--dim)}.prob-notes{display:grid;gap:8px;padding:0;list-style:none}.prob-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(prefers-reduced-motion:no-preference){.prob-pointer{transition:transform .3s ease-out}}@media(max-width:400px){.prob-table li{grid-template-columns:30px minmax(0,1fr) 48px 64px;font-size:15px}.prob-tabs button,.prob-spin button,.prob-venn-pick button,.prob-buttons button{font-size:15px;padding:6px 10px}.prob-buttons{grid-template-columns:52px repeat(2,minmax(0,1fr))}}.proof-equation{min-height:2.6em;margin:6px 0 0;color:var(--ink);font-size:26px;font-weight:800;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.proof-words{min-height:4.2em;margin:4px 0 0;color:var(--dim);font-size:17px;line-height:1.3}.proof-buttons,.proof-tiles{display:grid;gap:10px;margin-top:12px;max-width:420px}.proof-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-tiles{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));margin:12px 0}.proof-buttons button,.proof-tiles button,.proof-move button{min-height:52px;padding:6px 10px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:19px;font-weight:700;cursor:pointer;touch-action:manipulation}.proof-tiles button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.proof-buttons button:disabled,.proof-move button:disabled{opacity:.45;cursor:default}.proof-buttons button:focus-visible,.proof-tiles button:focus-visible,.proof-move button:focus-visible,.proof-grip:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.proof-activity .history-controls{flex-wrap:wrap}.proof-activity .lesson-panel>div{min-width:0}.proof-stage svg{background:var(--stage);cursor:default;touch-action:none}.proof-claim{position:relative;margin:8px 0;padding:12px 14px;border:2px solid var(--field-edge);border-radius:12px;background:var(--field);color:var(--ink);font-size:18px;font-weight:700;overflow:hidden}.proof-claim p{margin:0}.proof-claim-state{margin-top:6px!important;color:var(--dim);font-size:16px;font-weight:600}.proof-claim[data-cracked]{border-style:dashed;border-color:var(--pink)}.proof-claim[data-cracked] .proof-claim-state{color:var(--ink)}.proof-crack{position:absolute;top:0;right:0;width:110px;height:36px;fill:none;stroke:var(--pink);stroke-width:2.5;stroke-linejoin:round;pointer-events:none}.proof-line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.proof-tick{stroke:var(--dim);stroke-width:1.5}.proof-label{fill:var(--ink);font-size:18px;font-weight:700;text-anchor:middle}.proof-n{fill:var(--ink);font-size:22px;font-weight:800;text-anchor:middle;pointer-events:none}.proof-mark[data-kind=holds]{fill:var(--cyan)}.proof-mark[data-kind=broken]{fill:var(--pink);stroke:var(--ink);stroke-width:1.5}.proof-mark[data-kind=silent],.proof-case{fill:none;stroke:var(--dim);stroke-width:2}.proof-case[data-seen]{fill:var(--violet);stroke:var(--ink)}.proof-remainder{fill:var(--gold);stroke:none;font-size:18px;font-weight:800;text-anchor:middle}.proof-legend{margin:6px 0;color:var(--dim);font-size:15px}.proof-cases{display:grid;gap:8px;padding:0;list-style:none}.proof-cases li{display:grid;gap:4px;padding:10px 14px;border:1px solid var(--edge);border-radius:12px;background:var(--field);color:var(--ink);font-size:16px;overflow-wrap:anywhere}.proof-cases li[data-covered]{border-color:var(--violet);border-width:2px}.proof-steps{display:grid;gap:8px;margin:8px 0;padding:0;list-style:none}.proof-steps li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:2px solid var(--edge);border-radius:12px;background:var(--field);color:var(--ink)}.proof-steps li[data-stuck]{border-style:dashed;border-color:var(--gold)}.proof-steps li[data-lifted]{border-color:var(--accent)}.proof-step-text{display:grid;gap:2px;min-width:0;font-size:16px;overflow-wrap:anywhere}.proof-stuck{color:var(--ink);font-size:14px;font-style:normal;font-weight:700}.proof-grip{min-width:48px;min-height:52px;border:2px solid var(--field-edge);border-radius:12px;background:var(--control);color:var(--ink);font-size:24px;cursor:grab;touch-action:none}.proof-grip:active{cursor:grabbing}.proof-move{display:grid;gap:6px}.proof-move button{min-width:48px;min-height:46px;font-size:16px;padding:4px}.proof-notes{display:grid;gap:8px;padding:0;list-style:none}.proof-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}.proof-range{display:grid;gap:6px;color:var(--ink);font-weight:700}.proof-range input{width:100%;min-height:44px}@media(max-width:400px){.proof-equation{font-size:21px}.proof-words{font-size:15px}.proof-steps li{grid-template-columns:auto minmax(0,1fr)}.proof-move{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}}.ratio-equation{height:52px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:40px;font-weight:800;line-height:52px;white-space:nowrap;font-variant-numeric:tabular-nums}.ratio-words{height:2.6em;margin:4px 0 0;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.3}.ratio-buttons{display:grid;grid-template-columns:76px repeat(2,minmax(0,1fr));align-items:center;gap:10px;margin-top:12px;max-width:420px}.ratio-buttons button,.ratio-pour-buttons button{min-height:52px;padding:6px 10px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;touch-action:manipulation}.ratio-buttons button:disabled,.ratio-pour-buttons button:disabled{opacity:.45;cursor:default}.ratio-buttons button:focus-visible,.ratio-pour-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ratio-key{color:var(--ink);font-size:18px;font-weight:800}.ratio-key[data-strip=a]{color:var(--cyan)}.ratio-key[data-strip=b]{color:var(--pink)}.ratio-activity .history-controls{flex-wrap:wrap}.ratio-activity .lesson-panel>div{min-width:0}.ratio-stage svg{background:var(--stage);cursor:default;touch-action:none}.ratio-goal{pointer-events:none}.ratio-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.ratio-goal-text{fill:var(--gold);font-size:22px;font-weight:800}.ratio-total,.ratio-row-label{fill:var(--ink);font-size:18px;font-weight:700;text-anchor:end}.ratio-slot{fill:var(--field);stroke:var(--edge);stroke-width:1.5;stroke-dasharray:4 4}.ratio-block{stroke:var(--stage);stroke-width:1.5}.ratio-strip[data-strip=a] .ratio-block{fill:var(--cyan)}.ratio-strip[data-strip=b] .ratio-block{fill:var(--pink)}.ratio-block-value{fill:var(--stage);font-size:17px;font-weight:800;text-anchor:middle;pointer-events:none}.ratio-chunk{fill:none;stroke:var(--ink);stroke-width:3.5;pointer-events:none}.ratio-mark{stroke:var(--gold);stroke-width:4;stroke-dasharray:8 6;pointer-events:none}.ratio-part{fill:var(--ink);font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;text-anchor:end}.ratio-part[data-long]{font-size:15px}.ratio-hit{fill:transparent;cursor:grab}.ratio-strip[data-active] .ratio-hit{cursor:grabbing}.ratio-track-line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.ratio-track-tick{stroke:var(--dim);stroke-width:2.5}.ratio-track-text{fill:var(--dim);font-size:16px;font-weight:700;text-anchor:middle}.ratio-stretch-text{fill:var(--stage);font-size:16px;font-weight:800;text-anchor:middle;pointer-events:none}.ratio-pour{font-size:22px;font-weight:700;color:var(--ink)}.ratio-pour-buttons{display:flex;flex-wrap:wrap;gap:10px}.ratio-pour-buttons button{min-width:64px}.ratio-notes{display:grid;gap:8px;padding:0;list-style:none}.ratio-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(prefers-reduced-motion:no-preference){.ratio-block{transition:opacity .16s ease-out}}@media(max-width:400px){.ratio-equation{font-size:32px}.ratio-words{font-size:15px}.ratio-buttons{grid-template-columns:60px repeat(2,minmax(0,1fr))}.ratio-buttons button{font-size:18px}}.rounding-equation{min-height:2.5em;margin:6px 0 0;color:var(--ink);font-size:32px;font-weight:800;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.rounding-words{min-height:2.6em;margin:4px 0 0;color:var(--dim);font-size:17px;line-height:1.3}.rounding-modes,.rounding-rules,.rounding-pair{display:grid;gap:8px;margin-top:10px;max-width:440px}.rounding-modes{grid-template-columns:repeat(3,minmax(0,1fr))}.rounding-rules{grid-template-columns:repeat(4,minmax(0,1fr))}.rounding-ops{grid-template-columns:repeat(3,minmax(0,1fr))}.rounding-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.rounding-ends{display:grid;gap:0}.rounding-activity :is(.rounding-modes,.rounding-rules,.rounding-pair) button{min-height:48px;padding:6px 8px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation}.rounding-activity :is(.rounding-modes,.rounding-rules,.rounding-pair) button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.rounding-activity :is(.rounding-modes,.rounding-rules,.rounding-pair) button:disabled{opacity:.45;cursor:default}.rounding-activity :is(.rounding-modes,.rounding-rules,.rounding-pair) button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.rounding-zoom{margin:6px 0 0;color:var(--dim);font-size:15px}.rounding-activity .history-controls{flex-wrap:wrap}.rounding-activity .lesson-panel>div{min-width:0}.rounding-stage svg{background:var(--stage);cursor:default;touch-action:none}.rounding-pan{fill:transparent;cursor:grab}.rounding-stage svg[data-dragging] .rounding-pan{cursor:grabbing}.rounding-line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.rounding-result-line{stroke:var(--dim);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 6}.rounding-tick{stroke:var(--dim);stroke-width:1.5}.rounding-tick[data-major]{stroke:var(--line);stroke-width:2.5}.rounding-label{fill:var(--ink);font-size:17px;font-weight:700;text-anchor:middle;font-variant-numeric:tabular-nums}.rounding-band-fill{fill:var(--cyan);fill-opacity:.22;stroke:var(--cyan);stroke-width:2}.rounding-band-text{fill:var(--cyan);font-size:17px;font-weight:800;text-anchor:middle}.rounding-cut-fill{fill:url(#rounding-hatch);stroke:var(--violet);stroke-width:2}.rounding-hatch-line{stroke:var(--violet);stroke-width:3}.rounding-cut-text{fill:var(--violet);font-size:17px;font-weight:800;text-anchor:middle}.rounding-closed{fill:var(--line);stroke:var(--stage);stroke-width:2}.rounding-open{fill:var(--stage);stroke:var(--line);stroke-width:3}.rounding-stem{stroke:var(--line);stroke-width:2;stroke-dasharray:3 4;pointer-events:none}.rounding-value{fill:var(--ink);font-size:22px;font-weight:800;text-anchor:middle;pointer-events:none;font-variant-numeric:tabular-nums}.rounding-goal{pointer-events:none}.rounding-goal-mark{stroke:var(--gold);stroke-width:3;stroke-dasharray:7 5}.rounding-goal-text{fill:var(--gold);font-size:19px;font-weight:800;text-anchor:middle}.rounding-diamond{fill:var(--gold);stroke:var(--stage);stroke-width:2}.rounding-bracket{pointer-events:none}.rounding-bracket-fill{fill:var(--pink);fill-opacity:.2}.rounding-bracket-edge{fill:none;stroke:var(--pink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.rounding-end-text{fill:var(--pink);font-size:18px;font-weight:800;text-anchor:middle;pointer-events:none;font-variant-numeric:tabular-nums}.rounding-point,.rounding-end,.rounding-bound{cursor:grab}.rounding-point[data-active],.rounding-end[data-active],.rounding-bound[data-active]{cursor:grabbing}.rounding-length-name{fill:var(--dim);font-size:17px;font-weight:700}.rounding-bound-value{font-size:19px}.rounding-result{fill:var(--pink);stroke:var(--line);stroke-width:2}.rounding-notes{display:grid;gap:8px;padding:0;list-style:none}.rounding-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(max-width:400px){.rounding-equation{font-size:24px}.rounding-words{font-size:15px}.rounding-activity :is(.rounding-modes,.rounding-rules,.rounding-pair) button{font-size:15px;padding:4px}.rounding-label{font-size:26px}.rounding-length-name{font-size:22px}.rounding-band-text,.rounding-cut-text,.rounding-end-text,.rounding-goal-text{font-size:26px}.rounding-value{font-size:30px}}.walk-readout{display:flex;align-items:center;gap:14px;height:72px;margin:4px 0 0;color:var(--ink);overflow:hidden}.walk-readout span{min-width:0;font-size:26px;font-weight:700;line-height:1.15;overflow-wrap:anywhere}.walk-arrow{flex:none;width:64px;height:64px}.walk-arrow path{fill:var(--gold)}.walk-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.walk-buttons button{min-height:56px;padding:8px 12px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:22px;font-weight:700;cursor:pointer;touch-action:manipulation}.walk-buttons button:disabled{opacity:.45;cursor:default}.walk-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.walk-activity .history-controls{flex-wrap:wrap}.walk-activity .lesson-panel>div{min-width:0}.walk-stage svg{background:var(--stage);cursor:default;touch-action:none}.walk-cell{fill:var(--field);stroke:var(--grid);stroke-width:2}.walk-thing{pointer-events:none}.walk-trunk{fill:var(--amber)}.walk-leaves{fill:var(--green)}.walk-wall{fill:var(--control);stroke:var(--line);stroke-width:2.5}.walk-roof{fill:var(--pink);stroke:var(--line);stroke-width:2.5;stroke-linejoin:round}.walk-door{fill:var(--violet)}.walk-water{fill:var(--cyan);opacity:.75}.walk-ripple{fill:none;stroke:var(--stage);stroke-width:3;stroke-linecap:round}.walk-petal{fill:var(--pink)}.walk-flower-middle{fill:var(--gold)}.walk-thing[data-seen]{filter:drop-shadow(0 0 10px var(--gold))}.walk-goal{pointer-events:none}.walk-goal-ring,.walk-goal-square{fill:none;stroke:var(--gold);stroke-width:4;stroke-dasharray:9 7}.walk-bee{cursor:grab}.walk-bee[data-active]{cursor:grabbing}.walk-bee-hit{fill:transparent}.walk-bee-body{fill:var(--gold);stroke:var(--line);stroke-width:2.5}.walk-stripe{fill:none;stroke:#1c1400;stroke-width:5;stroke-linecap:round;pointer-events:none}.walk-wing{fill:var(--stage);stroke:var(--cyan);stroke-width:2.5;opacity:.9;pointer-events:none}.walk-eye{fill:#fff;stroke:#1c1400;stroke-width:1.5;pointer-events:none}.walk-pupil{fill:#10182b;pointer-events:none}.walk-nose{fill:var(--line);pointer-events:none}.walk-notes{display:grid;gap:8px;padding:0;list-style:none}.walk-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}.walk-moves{font-size:17px;line-height:1.6;color:var(--ink)}@media(prefers-reduced-motion:no-preference){.walk-bee{transition:transform .18s ease-out}.walk-spin{transition:transform .2s ease-out}.walk-stage svg[data-dragging] .walk-bee{transition:none}}@media(max-width:400px){.walk-readout span{font-size:21px}.walk-arrow{width:52px;height:52px}.walk-buttons button{font-size:19px}}[data-theme=daylight] .walk-bee-body,[data-theme=daylight] .walk-flower-middle{fill:#f59e0b}[data-theme=daylight] .walk-arrow path{fill:#b46a00}[data-theme=daylight] .walk-thing[data-seen]{filter:drop-shadow(0 0 6px #b46a00)}.routes-readout span{font-size:24px}.routes-forward{grid-template-columns:minmax(0,1fr)}.walk-buttons button.routes-cw{border-color:var(--pink)}.walk-buttons button.routes-acw{border-color:var(--cyan)}.routes-start{fill:var(--grid);stroke:none;pointer-events:none}.routes-start-text{fill:var(--dim);font-size:15px;font-weight:700;pointer-events:none}.routes-trail{fill:none;stroke:var(--gold);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:.85;pointer-events:none}.routes-kept{fill:none;stroke:var(--violet);stroke-width:5;stroke-dasharray:2 12;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.routes-turns{pointer-events:none}.routes-right-angle{fill:none;stroke-width:4;stroke-linejoin:miter}.routes-cw .routes-right-angle{stroke:var(--pink)}.routes-acw .routes-right-angle{stroke:var(--cyan)}.routes-tag{fill:var(--stage);stroke-width:2.5}.routes-cw .routes-tag,.routes-cw .routes-tile-turn{stroke:var(--pink)}.routes-acw .routes-tag,.routes-acw .routes-tile-turn{stroke:var(--cyan)}.routes-tag-text{fill:var(--ink);font-size:18px;font-weight:700}.routes-strip{fill:var(--field);stroke:var(--edge);stroke-width:2}.routes-strip-text{fill:var(--ink);font-size:30px;font-weight:700}.routes-tile{fill:var(--stage);stroke:var(--field-edge);stroke-width:2.5}.routes-tile-arrow{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.routes-tile-text{fill:var(--ink);font-size:26px;font-weight:700}.routes-kept-note{color:var(--ink)}.routes-dot .play-orb{filter:none}@media(prefers-reduced-motion:no-preference){.routes-trail[data-drawing]{stroke-dasharray:1;animation:routes-draw .6s linear 1 both}}@keyframes routes-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}[data-theme=daylight] .routes-trail,[data-theme=daylight] .routes-tile-arrow{stroke:#b46a00}.scales-sentence{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-height:64px;margin:4px 0 0;font-size:40px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--ink)}.scales-sentence strong{font-size:52px}.scales-a{color:var(--gold)}.scales-b{color:var(--cyan);text-decoration:underline dashed;text-underline-offset:6px}.scales-row-a strong{color:var(--gold)}.scales-row-b strong{color:var(--cyan)}.scales-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.measure-toys.scales-tools button{font-size:17px;padding:6px 8px}.scales-stage svg{background:var(--stage);cursor:default;touch-action:none}.scales-fill-a{fill:var(--gold)}.scales-fill-b{fill:var(--cyan)}.scales-bar,.scales-liquid,.scales-bulb{pointer-events:none}.scales-bar.scales-fill-a,.scales-bulb.scales-fill-a{stroke:var(--line);stroke-width:2}.scales-bar.scales-fill-b,.scales-bulb.scales-fill-b{stroke:var(--line);stroke-width:2;stroke-dasharray:6 4;fill-opacity:.75}.scales-label{fill:var(--ink);font-size:22px;font-weight:750;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--stage);stroke-width:5px;pointer-events:none}.scales-guide{stroke:var(--gold);stroke-width:2;stroke-dasharray:4 5;pointer-events:none}.scales-number{fill:var(--ink);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}.scales-dial-number{font-size:17px}.scales-dial-number[data-long]{font-size:13px;letter-spacing:-.02em}.scales-thermo-number{font-size:20px}.scales-unit{fill:var(--dim);font-size:16px;font-weight:700;pointer-events:none}.scales-tube-hit{fill:transparent;cursor:ns-resize}.scales-tube-hit:not([data-grab]){cursor:default}.scales-tube{fill:var(--field);stroke:var(--ink);stroke-width:2.5;pointer-events:none}.scales-face{fill:var(--panel);stroke:var(--ink);stroke-width:3;cursor:grab}.scales-face:not([data-grab]){cursor:default}.scales-needle{stroke-width:6;stroke-linecap:round;pointer-events:none}.scales-stroke-a{stroke:var(--gold)}.scales-stroke-b{stroke:var(--cyan);stroke-dasharray:10 6}.scales-cards{pointer-events:none}.scales-card{fill:var(--panel);stroke:var(--edge);stroke-width:2}.scales-card-text{fill:var(--ink);font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.scales-sign{fill:var(--ink);font-size:34px}.scales-goal-sign rect{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:8 6}.scales-goal-sign[data-lit] rect{stroke:var(--green);stroke-dasharray:none}.scales-goal-sign text{fill:var(--gold);font-size:40px;font-weight:800}.scales-goal-sign[data-lit] text{fill:var(--green)}@media(prefers-reduced-motion:no-preference){.scales-bar{transition:width .16s ease-out}.scales-liquid{transition:y .16s ease-out,height .16s ease-out}.scales-stage svg[data-dragging] .scales-bar,.scales-stage svg[data-dragging] .scales-liquid{transition:none}}@media(max-width:400px){.scales-sentence{font-size:30px}.scales-sentence strong{font-size:40px}}.shear-area{height:52px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:40px;font-weight:800;line-height:52px;white-space:nowrap;font-variant-numeric:tabular-nums}.shear-count{height:1.4em;margin:2px 0 0;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis}.shear-rule{min-height:2.8em;margin:8px 0 0;padding:8px 12px;border-radius:12px;border:1px dashed var(--edge);background:var(--field);color:var(--ink);font-size:16px;line-height:1.4}.shear-kinds{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.shear-buttons{display:grid;grid-template-columns:76px repeat(2,minmax(0,1fr));align-items:center;gap:10px;margin-top:10px;max-width:420px}.shear-kinds button,.shear-buttons button,.shear-tools button{min-height:48px;padding:6px 12px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation}.shear-buttons button{font-size:22px}.shear-kinds button[aria-pressed=true],.shear-tools button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.shear-kinds button:disabled,.shear-buttons button:disabled,.shear-tools button:disabled{opacity:.45;cursor:default}.shear-kinds button:focus-visible,.shear-buttons button:focus-visible,.shear-tools button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.shear-key{color:var(--ink);font-size:17px;font-weight:800}.shear-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.shear-activity .history-controls{flex-wrap:wrap}.shear-activity .lesson-panel>div{min-width:0}.shear-stage svg{background:var(--stage);cursor:default;touch-action:none}.shear-goal{pointer-events:none}.shear-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.shear-goal-text{fill:var(--gold);font-size:21px;font-weight:800}.shear-grid{fill:none;stroke:var(--edge);stroke-width:1.2;pointer-events:none}.shear-target{pointer-events:none}.shear-outline{fill:none;stroke:var(--gold);stroke-width:4;stroke-dasharray:10 7;stroke-linejoin:round}.shear-join{stroke:var(--gold);stroke-width:3;stroke-dasharray:4 6}.shear-cell{fill:var(--cyan);opacity:.22;pointer-events:none}.shear-body,.shear-piece{fill:var(--cyan);fill-opacity:.38;stroke:var(--cyan);stroke-width:3;stroke-linejoin:round}.shear-body{pointer-events:none}.shear-piece{fill:var(--pink);fill-opacity:.5;stroke:var(--pink);cursor:grab}.shear-cut{stroke:var(--ink);stroke-width:2.5;stroke-dasharray:6 5;pointer-events:none}.shear-copy{fill:var(--violet);fill-opacity:.4;stroke:var(--violet);stroke-width:3;stroke-linejoin:round;cursor:grab}.shear-copy[data-fitted]{fill-opacity:.55}.shear-stage svg[data-dragging] .shear-piece,.shear-stage svg[data-dragging] .shear-copy{cursor:grabbing}.shear-height line{stroke:var(--ink);stroke-width:2;stroke-dasharray:3 5}.shear-height text,.shear-base{fill:var(--ink);font-size:20px;font-weight:800}.shear-base{text-anchor:middle}.shear-notes{display:grid;gap:8px;padding:0;list-style:none}.shear-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(prefers-reduced-motion:no-preference){.shear-cell{transition:opacity .16s ease-out}}@media(max-width:400px){.shear-area{font-size:32px}.shear-count,.shear-rule{font-size:15px}.shear-buttons{grid-template-columns:60px repeat(2,minmax(0,1fr))}.shear-kinds button,.shear-tools button{font-size:15px;padding:6px 8px}}.sort-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-height:84px;margin:4px 0 0;color:var(--ink)}.sort-readout strong{font-size:52px;line-height:1;color:var(--gold)}.sort-readout span{font-size:22px;font-weight:650;overflow-wrap:anywhere}.sort-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sort-picker button{min-width:56px;min-height:56px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:22px;font-weight:800;cursor:pointer;touch-action:manipulation}.sort-picker button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#06122b}.sort-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.sort-buttons button{min-height:56px;padding:8px 10px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:18px;font-weight:700;cursor:pointer;touch-action:manipulation;overflow-wrap:anywhere}.sort-buttons button:disabled,.sort-picker button:disabled{opacity:.45;cursor:default}.sort-buttons button:focus-visible,.sort-picker button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sort-places{grid-template-columns:repeat(2,minmax(0,1fr))}.sort-said{min-height:3.2em;margin:12px 0 0;color:var(--ink);font-size:18px;font-weight:600}.sort-notes{display:grid;gap:8px;padding:0;list-style:none}.sort-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}.sort-stage svg{cursor:default}.sort-hoop ellipse{fill:color-mix(in srgb,var(--panel) 70%,transparent);stroke:var(--field-edge);stroke-width:4;stroke-dasharray:10 8}.sort-hoop[data-target] ellipse{stroke:var(--gold);stroke-width:6}.sort-hoop text{fill:var(--ink);font-size:20px;font-weight:750;pointer-events:none}.sort-hoop,.sort-rule-icon{pointer-events:none}.sort-rule-icon{fill:color-mix(in srgb,var(--accent) 35%,transparent);stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}.sort-ghost,.sort-ghost *{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:8 7;pointer-events:none}.sort-ghost .sort-shine{display:none}.sort-hit{fill:transparent;cursor:grab}.sort-kind-rectangle{color:var(--cyan)}.sort-kind-triangle{color:var(--pink)}.sort-kind-circle{color:var(--green)}.sort-kind-cuboid{color:var(--violet)}.sort-kind-pyramid{color:var(--gold)}.sort-kind-sphere{color:var(--amber)}.sort-body,.sort-body *{fill:color-mix(in srgb,currentColor 32%,transparent);stroke:currentColor;stroke-width:3;stroke-linejoin:round;cursor:grab}.sort-body .sort-top{fill:color-mix(in srgb,currentColor 50%,transparent)}.sort-body .sort-side{fill:color-mix(in srgb,currentColor 18%,transparent)}.sort-body .sort-hidden{fill:none;stroke-width:1.5;stroke-dasharray:4 5;opacity:.7;pointer-events:none}.sort-body .sort-shine{fill:#fff;stroke:none;opacity:.55;pointer-events:none}.sort-piece[data-selected] .sort-body,.sort-piece[data-selected] .sort-body *{stroke-width:4.5;filter:drop-shadow(0 0 8px currentColor)}.sort-piece[data-selected] .sort-body .sort-hidden{stroke-width:1.5;filter:none}.sort-glyph{fill:#06122b;font-size:17px;font-weight:900;pointer-events:none}.sort-activity .stage3d{margin:8px 0 12px}.shape3d,.shape3d-turn{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d}.shape3d-face{position:absolute;box-sizing:border-box;border:2px solid currentColor;background:color-mix(in srgb,currentColor 32%,transparent)}.shape3d-shade-1{background:color-mix(in srgb,currentColor 46%,transparent)}.shape3d-shade-2{background:color-mix(in srgb,currentColor 20%,transparent)}.shape3d-tri{border:none;transform-origin:50% 100%;clip-path:polygon(50% 0,100% 100%,0 100%)}.shape3d-card[data-round]{border-radius:50%}.shape3d-ball{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,currentColor 35%,#ffffff) 0,currentColor 45%,color-mix(in srgb,currentColor 55%,#000000) 100%)}@media(prefers-reduced-motion:no-preference){.sort-hoop ellipse{transition:stroke .16s ease,stroke-width .16s ease}}@media(max-width:420px){.sort-readout strong{font-size:42px}.sort-readout span{font-size:19px}.sort-buttons button{font-size:16px}}[data-theme=daylight] .sort-picker button[aria-pressed=true]{color:#fff}[data-theme=daylight] .sort-ghost,[data-theme=daylight] .sort-ghost *{stroke:#b46a00}[data-theme=daylight] .sort-piece[data-selected] .sort-body,[data-theme=daylight] .sort-piece[data-selected] .sort-body *{filter:none}[data-theme=daylight] .sort-body .sort-shine{opacity:.8}.tables-readout{display:grid;gap:4px;min-height:84px;margin:4px 0 0;color:var(--ink)}.tables-readout strong{font-size:40px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--ink);overflow-wrap:anywhere}.tables-readout span{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tables-steppers{display:grid;gap:10px;margin-top:12px;max-width:420px}.tables-stepper{display:grid;grid-template-columns:minmax(0,1fr) 52px 2.4em 52px;align-items:center;gap:8px;color:var(--ink);font-size:18px;font-weight:650}.tables-stepper[data-tens]{grid-template-columns:56px 52px 2.4em 52px 56px}.tables-stepper[data-tens]>span{grid-column:1 / -1}.tables-stepper button{min-height:52px;padding:0;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:22px;font-weight:700;cursor:pointer;touch-action:manipulation}.tables-stepper button:disabled{opacity:.45;cursor:default}.tables-stepper button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.tables-stepper strong{text-align:center;font-size:24px;font-variant-numeric:tabular-nums;color:var(--ink)}.tables-stage svg{cursor:default;touch-action:none}.tables-stage .play-pulse{animation:none}.tables-array,.tables-goal,.tables-tens,.tables-parts{pointer-events:none}.tables-counter{stroke:var(--line);stroke-width:1.5}.tables-part-left{fill:var(--cyan)}.tables-part-right{fill:var(--pink)}.tables-edge{fill:none;stroke-width:2.5}.tables-edge-left{stroke:var(--cyan)}.tables-edge-right{stroke:var(--pink);stroke-dasharray:6 4}.tables-tens line{stroke:var(--dim);stroke-width:1.5;stroke-dasharray:2 5}.tables-tens text{fill:var(--dim);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.tables-cut-line{stroke:var(--ink);stroke-width:2.5;stroke-dasharray:7 5;pointer-events:none}.tables-cut-mark{fill:var(--stage);font-size:15px;font-weight:800;pointer-events:none}.tables-goal-cut line{stroke:var(--gold);stroke-width:3;stroke-dasharray:3 6}.tables-goal-cut polygon{fill:var(--gold)}.tables-goal-ribbon rect{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:5 4}.tables-goal-ribbon rect[data-copy="0"]{fill:var(--gold);stroke-dasharray:none}.tables-tray-box{fill:var(--field);stroke:var(--edge);stroke-width:2;stroke-dasharray:6 5;cursor:pointer}.tables-extra{fill:var(--amber);stroke:var(--line);stroke-width:1.5;pointer-events:none}.tables-tray-label{fill:var(--ink);font-size:20px;font-weight:750;font-variant-numeric:tabular-nums;pointer-events:none}.tables-goal-sentence{fill:var(--gold);font-size:32px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.tables-sentence,.tables-sum{fill:var(--ink);font-size:28px;font-weight:750;font-variant-numeric:tabular-nums}.tables-sentence{pointer-events:none}.tables-part-left-text{fill:var(--cyan);font-size:26px;font-weight:750;font-variant-numeric:tabular-nums}.tables-part-right-text{fill:var(--pink);font-size:26px;font-weight:750;font-variant-numeric:tabular-nums;text-decoration:underline dashed}@media(max-width:400px){.tables-readout strong{font-size:30px}.tables-readout span{font-size:20px}.tables-stepper{grid-template-columns:minmax(0,1fr) 48px 2.2em 48px;gap:6px}.tables-stepper[data-tens]{grid-template-columns:50px 48px 2.2em 48px 50px}}.times-readout{display:grid;gap:4px;min-height:84px;margin:4px 0 0;color:var(--ink)}.times-readout strong{font-size:44px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--gold);overflow-wrap:anywhere}.times-readout span{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.times-steppers{display:grid;gap:8px;margin-top:12px;max-width:420px}.times-stepper{display:grid;grid-template-columns:minmax(0,1fr) 56px 2.2em 56px;align-items:center;gap:10px;color:var(--ink);font-size:18px;font-weight:650}.times-stepper button{min-height:56px;padding:0;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:26px;font-weight:700;cursor:pointer;touch-action:manipulation}.times-stepper button:disabled{opacity:.45;cursor:default}.times-stepper button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.times-stepper strong{text-align:center;font-size:26px;font-variant-numeric:tabular-nums;color:var(--gold)}.times-stage svg{cursor:default;touch-action:none}.times-array{pointer-events:none}.times-sentence{fill:var(--ink);font-size:28px;font-weight:750;font-variant-numeric:tabular-nums;pointer-events:none}.times-goal{pointer-events:none}.times-goal-sentence{fill:var(--gold);font-size:34px;font-weight:800;font-variant-numeric:tabular-nums}.times-dial-ring{fill:none;stroke:var(--edge);stroke-width:3;pointer-events:none}.times-dial-arc{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-dasharray:3 9;pointer-events:none}.times-dial-mark{fill:var(--dim);font-size:28px;font-weight:700;pointer-events:none}.times-line{pointer-events:none}.times-line>line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.times-tick{stroke:var(--dim);stroke-width:1.5}.times-tick-major{stroke:var(--line);stroke-width:2.5}.times-tick-label{fill:var(--dim);font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}.times-hop{fill:none;stroke-width:3.5;stroke-linecap:round}.groups-row-stroke-0{stroke:var(--cyan)}.groups-row-stroke-1{stroke:var(--pink)}.times-landing{fill:var(--line)}.times-total{fill:var(--gold);font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.times-goal-landing line{stroke:var(--gold);stroke-width:3}.times-goal-landing polygon{fill:var(--gold)}.times-three{font-size:24px;font-weight:700;line-height:1.5;color:var(--ink);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:no-preference){.times-stage svg:not([data-dragging]) .groups-counter{transition:cx .16s ease-out,cy .16s ease-out}}@media(max-width:400px){.times-readout strong{font-size:34px}.times-readout span{font-size:22px}.times-stepper{grid-template-columns:minmax(0,1fr) 52px 2em 52px;gap:8px}}[data-theme=daylight] .times-goal-landing line{stroke:#b46a00}[data-theme=daylight] .times-goal-landing polygon{fill:#b46a00}.transform-equation{height:52px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:34px;font-weight:800;line-height:52px;white-space:nowrap;font-variant-numeric:tabular-nums}.transform-words{height:1.4em;margin:4px 0 8px;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.3;white-space:nowrap}.transform-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;max-width:520px}.transform-buttons:empty{display:none}.transform-buttons button,.transform-bases button{min-height:48px;padding:4px 12px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:16px;font-weight:700;cursor:pointer;touch-action:manipulation}.transform-buttons button:disabled{opacity:.45;cursor:default}.transform-buttons button:focus-visible,.transform-bases button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.transform-bases{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.transform-bases button[aria-pressed=true]{border-color:var(--accent)}.transform-activity .history-controls{flex-wrap:wrap}.transform-activity .lesson-panel>div{min-width:0}.transform-stage svg{background:var(--stage);cursor:default;touch-action:none}.transform-goal{pointer-events:none}.transform-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.transform-goal-text{fill:var(--gold);font-size:21px;font-weight:800}.transform-axis{stroke:var(--line);stroke-width:2}.transform-tick{fill:var(--dim);font-size:14px;font-weight:700}.transform-base{fill:none;stroke:var(--dim);stroke-width:2.5;stroke-dasharray:3 7;pointer-events:none}.transform-curve{fill:none;stroke:var(--cyan);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.transform-grab{fill:none;stroke:transparent;stroke-width:36;cursor:grab}.transform-key{font-size:15px;font-weight:800;pointer-events:none}.transform-key-base{fill:var(--dim)}.transform-key-new{fill:var(--cyan)}.transform-mark-from{fill:none;stroke:var(--dim);stroke-width:2.5}.transform-mark-to{fill:var(--gold);stroke:var(--stage);stroke-width:2}.transform-mark-name{fill:var(--ink);font-size:14px;font-weight:800}.transform-handle-name{fill:var(--ink);font-size:13px;font-weight:800}.transform-notes{display:grid;gap:8px;padding:0;list-style:none}.transform-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}.transform-compare{min-height:5em;padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:16px;overflow-wrap:anywhere}.transform-compare p{margin:4px 0}@media(max-width:400px){.transform-equation{font-size:26px}.transform-words{font-size:14px}.transform-buttons{gap:6px}.transform-buttons button{font-size:14px;padding:4px 8px}}.tree-bag-words{height:52px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:36px;font-weight:800;line-height:52px;white-space:nowrap;font-variant-numeric:tabular-nums}.tree-mode-words{height:1.4em;margin:4px 0 0;overflow:hidden;color:var(--dim);font-size:17px;line-height:1.3}.tree-buttons{display:grid;grid-template-columns:96px repeat(2,minmax(0,1fr));align-items:center;gap:10px;margin-top:12px;max-width:420px}.tree-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:10px;margin-top:12px;max-width:420px}.tree-buttons button,.tree-picks button,.tree-switch{min-height:52px;padding:6px 10px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:18px;font-weight:700;cursor:pointer;touch-action:manipulation}.tree-buttons button{font-size:22px}.tree-switch{display:block;width:100%;max-width:420px;margin-top:12px}.tree-picks button[aria-pressed=true],.tree-switch[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.tree-buttons button:disabled,.tree-picks button:disabled,.tree-switch:disabled{opacity:.45;cursor:default}.tree-buttons button:focus-visible,.tree-picks button:focus-visible,.tree-switch:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.tree-key{font-size:18px;font-weight:800}.tree-key[data-colour=R]{color:var(--pink)}.tree-key[data-colour=B]{color:var(--cyan)}.tree-activity .history-controls{flex-wrap:wrap}.tree-activity .lesson-panel>div{min-width:0}.tree-stage svg{background:var(--stage);cursor:default;touch-action:none}.tree-goal{pointer-events:none}.tree-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.tree-goal-text{fill:var(--gold);font-size:21px;font-weight:800}.tree-bag{fill:var(--field);stroke:var(--field-edge);stroke-width:3}.tree-bag-count{fill:var(--dim);font-size:16px;font-weight:700;text-anchor:middle}.tree-counter-hit{fill:transparent;cursor:grab}.tree-counter-disc{stroke:var(--stage);stroke-width:2;cursor:grab}.tree-counter[data-colour=R] .tree-counter-disc,.tree-node[data-colour=R] .tree-dot,.tree-leaf[data-colour=R] .tree-dot{fill:var(--pink)}.tree-counter[data-colour=B] .tree-counter-disc,.tree-node[data-colour=B] .tree-dot,.tree-leaf[data-colour=B] .tree-dot{fill:var(--cyan)}.tree-counter-text,.tree-dot-text{fill:var(--stage);font-size:18px;font-weight:800;text-anchor:middle;pointer-events:none}.tree-pile .tree-counter-disc{stroke:var(--ink);stroke-width:2.5;stroke-dasharray:5 4}.tree-ghost{pointer-events:none;opacity:.85}.tree-branch line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.tree-branch[data-on] line{stroke:var(--gold);stroke-width:6}.tree-branch[data-zero] line{stroke:var(--dim);stroke-width:2;stroke-dasharray:4 6}.tree-branch-text{fill:var(--ink);font-size:17px;font-weight:800;text-anchor:middle;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--stage);stroke-width:5px}.tree-root{fill:var(--line)}.tree-node,.tree-leaf{cursor:pointer}.tree-node-hit,.tree-leaf-hit{fill:transparent}.tree-node[data-given] .tree-node-hit{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:6 4}.tree-leaf[data-picked] .tree-leaf-hit{fill:none;stroke:var(--gold);stroke-width:3}.tree-leaf-text{fill:var(--ink);font-size:17px;font-weight:800}.tree-leaf-chance{fill:var(--ink);font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}.tree-branches [data-faded],.tree-node[data-faded],.tree-leaf[data-faded]{opacity:.3}.tree-table{width:100%;max-width:420px;margin-top:12px;border-collapse:collapse;color:var(--ink);font-size:17px;font-variant-numeric:tabular-nums}.tree-table caption{margin-bottom:6px;color:var(--dim);text-align:left}.tree-table th,.tree-table td{padding:6px 8px;border:1px solid var(--edge);text-align:center}.tree-table td[data-picked]{outline:3px solid var(--gold);outline-offset:-3px;font-weight:800}.tree-table tr[data-faded]{opacity:.45}.tree-notes{display:grid;gap:8px;padding:0;list-style:none}.tree-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px;overflow-wrap:anywhere}@media(max-width:400px){.tree-bag-words{font-size:28px}.tree-buttons{grid-template-columns:76px repeat(2,minmax(0,1fr))}.tree-picks button{font-size:16px}}.tri-equation{height:52px;margin:6px 0 0;overflow:hidden;color:var(--ink);font-size:36px;font-weight:800;line-height:52px;white-space:nowrap;font-variant-numeric:tabular-nums}.tri-equation [data-side=a]{color:var(--cyan)}.tri-equation [data-side=b]{color:var(--pink)}.tri-equation [data-side=c]{color:var(--gold)}.tri-words{min-height:1.4em;margin:4px 0 0;color:var(--dim);font-size:17px;line-height:1.3;overflow-wrap:anywhere}.tri-angle-line{margin:10px 0 0;color:var(--violet);font-size:17px;font-weight:700}.tri-ratios{display:grid;gap:4px;margin:8px 0 0;padding:0;list-style:none;color:var(--ink);font-size:17px;font-variant-numeric:tabular-nums}.tri-ratios li{min-height:1.4em;overflow-wrap:anywhere}.tri-buttons{display:grid;grid-template-columns:96px repeat(2,minmax(0,1fr));align-items:center;gap:10px;margin-top:12px;max-width:420px}.tri-buttons button{min-height:48px;padding:6px 10px;border:2px solid var(--field-edge);border-radius:14px;background:var(--control);color:var(--ink);font-size:18px;font-weight:700;cursor:pointer;touch-action:manipulation}.tri-buttons button[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}.tri-buttons button:disabled{opacity:.45;cursor:default}.tri-buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.tri-key{color:var(--ink);font-size:17px;font-weight:800}.triangles-activity .history-controls{flex-wrap:wrap}.triangles-activity .lesson-panel>div{min-width:0}.tri-stage svg{background:var(--stage);cursor:default;touch-action:none}.tri-goal{pointer-events:none}.tri-goal-card{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:8 6}.tri-goal-text{fill:var(--gold);font-size:20px;font-weight:800}.tri-rails line{stroke:var(--line);stroke-width:2;stroke-opacity:.45}.tri-rails .tri-tick{stroke-width:2;stroke-opacity:.7}.tri-square{stroke-width:2.5;pointer-events:none}.tri-square[data-side=a]{fill:color-mix(in srgb,var(--cyan) 22%,transparent);stroke:var(--cyan)}.tri-square[data-side=b]{fill:color-mix(in srgb,var(--pink) 22%,transparent);stroke:var(--pink);stroke-dasharray:7 4}.tri-square[data-side=c]{fill:color-mix(in srgb,var(--gold) 18%,transparent);stroke:var(--gold);stroke-dasharray:2 4}.tri-area{fill:var(--ink);font-size:18px;font-weight:800;text-anchor:middle;pointer-events:none;font-variant-numeric:tabular-nums}.tri-shape{fill:color-mix(in srgb,var(--line) 10%,transparent);stroke:var(--line);stroke-width:3.5;stroke-linejoin:round;pointer-events:none}.tri-right{fill:none;stroke:var(--line);stroke-width:2;pointer-events:none}.tri-side{font-size:16px;font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:var(--stage);stroke-width:4px}.tri-side[data-side=a]{fill:var(--cyan)}.tri-side[data-side=b]{fill:var(--pink)}.tri-side[data-side=c]{fill:var(--gold)}.tri-corner{fill:var(--ink);font-size:18px;font-weight:800;text-anchor:middle;pointer-events:none}.tri-angle-arc{fill:color-mix(in srgb,var(--violet) 35%,transparent);stroke:var(--violet);stroke-width:2;pointer-events:none}.tri-angle-hit{fill:transparent;cursor:pointer}.tri-angle-text{fill:var(--violet);font-size:16px;font-weight:800;pointer-events:none;paint-order:stroke;stroke:var(--stage);stroke-width:4px}.tri-scale-text{fill:var(--stage);font-size:16px;font-weight:800;text-anchor:middle;pointer-events:none}.tri-notes,.tri-steps{display:grid;gap:8px;padding:0;list-style:none}.tri-notes li,.tri-steps li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:16px;overflow-wrap:anywhere}.triangles-activity .stage3d{margin-top:14px}.tri-face{position:absolute;border:2px solid var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,transparent);pointer-events:none}.tri-face-cut{border:2px dashed var(--pink);background:color-mix(in srgb,var(--pink) 16%,transparent)}.tri-face-cut svg{display:block;overflow:visible}.tri-space{stroke:var(--gold);stroke-width:4;stroke-linecap:round}.tri-floor-line{stroke:var(--pink);stroke-width:3;stroke-dasharray:6 4}.tri-turns{margin-top:10px}@media(max-width:400px){.tri-equation{font-size:28px}.tri-ratios,.tri-words{font-size:15px}.tri-buttons{grid-template-columns:76px repeat(2,minmax(0,1fr))}.tri-buttons button{padding:4px 6px;font-size:15px}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#15213b;background:#f4f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid #dce2ee;background:#fffffff5}.brand{font-size:22px;letter-spacing:.08em}.alpha{margin-left:10px;color:#667085;font-size:13px}.status{color:#475467;font-size:13px}.canvas{flex:1;display:grid;grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);gap:28px;padding:34px;background:#fff}.equation-zone{align-self:center;max-width:520px}.eyebrow{margin:0 0 14px;color:#667085;font-size:14px;font-weight:650}.equation-row{display:flex;align-items:center;gap:10px;min-height:84px}.equation{font-family:Comic Sans MS,Segoe Print,cursive;font-size:clamp(42px,5vw,70px);white-space:nowrap}.coefficient{display:inline-flex;align-items:center;justify-content:center;min-width:3.4em;min-height:64px;padding:0 12px;border:1px solid #b7c5df;border-radius:16px;background:#eef3fb;color:#244c8f;font-family:Comic Sans MS,Segoe Print,cursive;font-size:clamp(32px,4vw,54px);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:ns-resize;touch-action:none;user-select:none;-webkit-user-select:none}.coefficient[data-dragging]{background:#dfe9fa;border-color:#7aa2e3}.coefficient:focus-visible{outline:3px solid #7aa2e3;outline-offset:3px}.instruction{margin:16px 0 12px;color:#475467;line-height:1.5}.facts{display:flex;flex-wrap:wrap;gap:10px}.facts span{padding:8px 11px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:13px}.geometry-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.geometry-field{display:grid;gap:6px;min-width:0;color:#475467;font-size:13px}.geometry-field input{width:100%;min-width:0;min-height:44px;border:1px solid #b7c5df;border-radius:8px;padding:8px;color:#15213b;background:#fff}.geometry-field input:focus-visible{outline:3px solid #244c8f;outline-offset:2px}.geometry-controls>p{grid-column:1 / -1;margin:0}.geometry-help{font-size:12px;line-height:1.5;color:#475467}.accessible-control{display:grid;gap:7px;margin-top:24px;max-width:420px;color:#475467;font-size:13px}.range-row{display:flex;align-items:center;gap:10px}.range-row input{flex:1;min-width:0;min-height:44px}.nudge{flex:none;width:44px;height:44px;border:1px solid #b7c5df;border-radius:12px;background:#eef3fb;color:#244c8f;font-size:22px;line-height:1;cursor:pointer;touch-action:manipulation}.nudge:focus-visible{outline:3px solid #7aa2e3;outline-offset:3px}.nudge[aria-disabled=true]{opacity:.45;cursor:default}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.graph-zone{display:grid;align-content:center;gap:12px;min-width:0}.graph-zone svg{width:100%;max-height:68vh;border-radius:20px;background:linear-gradient(#eef1f6 1px,transparent 1px),linear-gradient(90deg,#eef1f6 1px,transparent 1px);background-size:28px 28px;border:1px solid #e4e7ec}.axis{stroke:#667085;stroke-width:1.5}.curve{stroke:#2d6ac8;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.vertex{fill:#8b5cf6}.root{fill:#d14f59}.graph-caption{display:flex;justify-content:space-between;gap:16px;color:#475467}.graph-caption strong{color:#1d2939}@media(max-width:820px){.canvas{grid-template-columns:1fr;padding:22px}.graph-zone svg{max-height:none}.status{display:none}}.curve-hit{stroke:transparent;stroke-width:28;pointer-events:stroke;cursor:ns-resize}.vertex{cursor:ns-resize}.graph-zone svg{touch-action:none;-webkit-user-select:none;user-select:none}.history-controls{display:flex;gap:10px;margin-top:20px}.history-controls button{min-height:44px;padding:8px 18px;border:1px solid #b7c5df;border-radius:12px;background:#eef3fb;color:#244c8f;cursor:pointer;touch-action:manipulation}.history-controls button:focus-visible{outline:3px solid #244c8f;outline-offset:3px}button:disabled{opacity:.5;cursor:default}.balance-panel{margin-top:28px;padding-top:20px;border-top:1px solid #dce2ee}.balance-panel h2{font-size:18px;margin:0 0 8px}.balance-panel p{font-size:14px;line-height:1.5;color:#475467}.balance-row{display:flex;align-items:stretch;gap:6px}.balance-half{display:flex;align-items:center;flex:1;min-width:0;gap:6px}.balance-side{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;flex:1;min-width:0;min-height:100px;padding:8px 4px;border:2px dashed #b7c5df;border-radius:12px;background:#f7f9fd}.balance-term{min-height:44px;min-width:44px;padding:6px;border:1px solid #b7c5df;border-radius:8px;background:#eef3fb;color:#244c8f;font-size:22px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.balance-term:focus-visible{outline:3px solid #244c8f;outline-offset:2px}.balance-equals{font-size:26px}.balance-ghost{position:fixed;transform:translate(-50%,-125%);z-index:10;pointer-events:none;background:#244c8f;color:#fff;border-radius:8px;padding:8px 12px;font-size:24px}.balance-panel .history-controls{flex-wrap:wrap}@media(max-width:400px){.canvas{padding:14px}.equation{font-size:34px}.coefficient{font-size:28px;min-width:3em}.equation-row{gap:6px}.graph-caption{flex-wrap:wrap}}.lesson-panel{padding:28px 34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;border-top:1px solid #dce2ee;background:#f4f6fb}.lesson-panel p{line-height:1.6}.lesson-panel h2{font-size:24px}.lesson-panel h3{margin-top:0}.lesson-tabs{display:grid;gap:8px}.lesson-tabs button{text-align:left;min-height:44px;padding:10px;border:1px solid #b7c5df;border-radius:8px;background:#fff;color:#244c8f;cursor:pointer}.lesson-tabs button[aria-current]{border:2px solid #244c8f;font-weight:700}.lesson-task{padding:20px;min-width:0;background:#fff;border-radius:16px}.lesson-task>label{display:grid;gap:8px}.lesson-task input[type=text]{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #b7c5df;border-radius:8px}.lesson-task fieldset{min-width:0;border:1px solid #b7c5df;border-radius:8px}.lesson-choice{display:flex;align-items:center;min-height:44px;gap:10px}.lesson-task .history-controls{flex-wrap:wrap}.lesson-panel button:focus-visible,.lesson-panel input:focus-visible,.lesson-panel a:focus-visible{outline:3px solid #244c8f;outline-offset:3px}.lesson-hint{padding:12px;background:#eef3fb;border-radius:8px}.lesson-panel a{color:#244c8f;overflow-wrap:anywhere}@media(max-width:820px){.lesson-panel{grid-template-columns:1fr;padding:22px}}@media(max-width:400px){.lesson-panel,.lesson-task{padding:14px}}.activity-nav{display:flex;flex-wrap:wrap;gap:10px;padding:14px 24px;background:#fff;border-bottom:1px solid #dce2ee}.activity-nav button{min-height:44px;padding:8px 16px;border:1px solid #b7c5df;border-radius:10px;color:#244c8f;background:#fff;cursor:pointer}.activity-nav button[aria-pressed=true]{background:#244c8f;color:#fff}.activity-nav button:focus-visible{outline:3px solid #244c8f;outline-offset:3px}.linear-equation{font-size:clamp(28px,4vw,44px);font-weight:700}.linear-coefficient{display:grid;gap:8px;margin-top:18px}.linear-coefficient input[type=number]{min-width:0;width:100%;min-height:44px;padding:8px;border:1px solid #b7c5df;border-radius:8px}.linear-coefficient input[type=range]{width:100%;min-width:0;min-height:44px}.linear-coefficient input:focus-visible{outline:3px solid #244c8f;outline-offset:3px}.linear-table{border-collapse:collapse;width:100%;max-width:320px}.linear-table caption{text-align:left;font-weight:700;margin:12px 0}.linear-table th,.linear-table td{border:1px solid #b7c5df;padding:8px;text-align:center}.graph-tick{font-size:13px;fill:#344054}.gradient-triangle{fill:none;stroke:#8b3a17;stroke-width:2;stroke-dasharray:5 3}.linear-intercept{fill:#8b3a17}.reference-line{stroke:#667085;stroke-width:3;stroke-dasharray:8 6}.linear-activity .graph-zone svg{touch-action:auto}.linear-activity .graph-zone svg{background:#fff}.linear-grid{stroke:#e4e7ec;stroke-width:1}.extra-practice{background:#eef3fb}.extra-practice button[aria-pressed=true]{background:#244c8f;color:#fff}.support-summary{font-size:13px;color:#344054}.coordinate-canvas{align-items:center}.coordinate-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.coordinate-fields label{display:grid;gap:6px;min-width:0;color:#475467;font-size:13px}.coordinate-fields input{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #b7c5df;border-radius:8px;color:#15213b;background:#fff}.coordinate-fields input:focus-visible,.coordinate-pad button:focus-visible{outline:3px solid #244c8f;outline-offset:2px}.coordinate-pad{display:grid;grid-template-columns:repeat(4,44px);gap:8px;margin-top:18px}.coordinate-pad button{width:44px;height:44px;border:1px solid #b7c5df;border-radius:10px;background:#eef3fb;color:#244c8f;font-size:22px;cursor:pointer;touch-action:manipulation}.coordinate-graph svg{background:#fff;touch-action:auto}.coordinate-point{fill:#8b5cf6;stroke:#fff;stroke-width:3}.coordinate-source{fill:#fff;stroke:#d14f59;stroke-width:4}.coordinate-label{fill:#15213b;font-size:17px;font-weight:750}@media(max-width:400px){.coordinate-fields{grid-template-columns:1fr}.coordinate-pad{grid-template-columns:repeat(4,42px)}.coordinate-pad button{width:42px}}.cubic-graph svg{background:#fff;touch-action:auto}.cubic-curve{stroke:#7c3aed}.cubic-inflection{fill:#f59e0b;stroke:#fff;stroke-width:3}.cubic-root{fill:#d14f59}.reciprocal-graph svg{background:#fff;touch-action:auto}.reciprocal-branch{stroke:#0f766e}.reciprocal-asymptote{stroke:#b54708;stroke-width:2.5;stroke-dasharray:9 6}.asymptote-label{fill:#93370d;font-size:14px;font-weight:700}.sign-control{min-height:44px;padding:8px 14px;border:1px solid #b7c5df;border-radius:10px;background:#eef3fb;color:#244c8f;cursor:pointer}.sign-control:focus-visible{outline:3px solid #244c8f;outline-offset:3px}:root{--ink: #eaf1ff;--dim: #a9b8de;--line: #f4f8ff;--stage: #070b1a;--page: #060916;--panel: #0b1230;--card: #111a3d;--edge: #2a3870;--field: #0a1030;--field-edge: #4a5ca8;--control: #17224f;--accent: #7ae0ff;--grid: rgba(120, 150, 255, .13);--cyan: #4dd8ff;--pink: #ff6fae;--green: #5dffb0;--violet: #c89bff;--gold: #ffd166;--amber: #ffb37a;color:var(--ink);background:var(--page);color-scheme:dark}body{background:var(--page)}.topbar{background:#080c20f5;border-bottom-color:var(--edge)}.brand{color:var(--ink);text-shadow:0 0 18px rgba(122,224,255,.55)}.alpha,.status{color:var(--dim)}.activity-nav{background:var(--panel);border-bottom-color:var(--edge)}.activity-nav button{background:var(--control);border-color:var(--edge);color:var(--ink)}.activity-nav button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#06122b;font-weight:700;box-shadow:0 0 18px #7ae0ff73}.activity-nav button:focus-visible,.history-controls button:focus-visible,.nudge:focus-visible,.coefficient:focus-visible,.geometry-field input:focus-visible,.balance-term:focus-visible,.linear-coefficient input:focus-visible,.sign-control:focus-visible,.coordinate-fields input:focus-visible,.coordinate-pad button:focus-visible,.lesson-panel button:focus-visible,.lesson-panel input:focus-visible,.lesson-panel a:focus-visible,input[type=range]:focus-visible{outline-color:var(--accent)}.canvas{background:radial-gradient(120% 140% at 70% 0%,#16204a,#0a1030 45%,#060916);color:var(--ink)}.eyebrow,.instruction,.geometry-field,.geometry-help,.accessible-control,.graph-caption,.balance-panel p,.coordinate-fields label,.support-summary{color:var(--dim)}.graph-caption strong,.canvas h2,.canvas label{color:var(--ink)}.equation{color:var(--ink);text-shadow:0 0 22px rgba(190,215,255,.45)}.coefficient{background:var(--control);border-color:var(--field-edge);color:var(--gold);text-shadow:0 0 16px rgba(255,209,102,.6)}.coefficient[data-dragging]{background:#22306a;border-color:var(--gold);box-shadow:0 0 22px #ffd16673}.facts span{background:var(--control);color:var(--ink)}.geometry-field input,.coordinate-fields input,.linear-coefficient input[type=number],.lesson-task input[type=text]{background:var(--field);border-color:var(--field-edge);color:var(--ink)}input[type=range]{accent-color:var(--accent)}.nudge,.history-controls button,.sign-control,.coordinate-pad button{background:var(--control);border-color:var(--field-edge);color:var(--ink)}.balance-panel{border-top-color:var(--edge)}.balance-side{background:var(--field);border-color:var(--field-edge)}.balance-term{background:var(--control);border-color:var(--field-edge);color:var(--gold)}.balance-ghost{background:var(--accent);color:#06122b;box-shadow:0 0 20px #7ae0ff99}.graph-zone svg,.linear-activity .graph-zone svg,.coordinate-graph svg,.cubic-graph svg,.reciprocal-graph svg{background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),var(--stage);background-size:28px 28px,28px 28px,auto;border-color:var(--edge);box-shadow:inset 0 0 80px #3c5adc2e}.linear-activity .graph-zone svg,.coordinate-graph svg,.cubic-graph svg,.reciprocal-graph svg{background:var(--stage)}.axis{stroke:#8ea0d0}.linear-grid{stroke:var(--grid)}.graph-tick{fill:var(--dim)}.curve{stroke:var(--cyan);filter:drop-shadow(0 0 6px rgba(77,216,255,.9))}.cubic-curve{stroke:var(--violet);filter:drop-shadow(0 0 6px rgba(200,155,255,.9))}.reciprocal-branch{stroke:var(--green);filter:drop-shadow(0 0 6px rgba(93,255,176,.9))}.vertex,.coordinate-point,.cubic-inflection{fill:var(--gold);stroke:#fff6da;stroke-width:3;filter:drop-shadow(0 0 9px rgba(255,209,102,.95))}.root,.cubic-root{fill:var(--pink);filter:drop-shadow(0 0 8px rgba(255,111,174,.95))}.coordinate-source{fill:var(--stage);stroke:var(--pink);filter:drop-shadow(0 0 8px rgba(255,111,174,.9))}.coordinate-label{fill:var(--ink)}.gradient-triangle{stroke:var(--amber)}.linear-intercept{fill:var(--amber);filter:drop-shadow(0 0 8px rgba(255,179,122,.9))}.reference-line{stroke:#8ea0d0}.reciprocal-asymptote{stroke:var(--amber)}.asymptote-label{fill:#ffc79a}.linear-table th,.linear-table td{border-color:var(--field-edge)}.lesson-panel{background:var(--panel);border-top-color:var(--edge);color:var(--ink)}.lesson-tabs button{background:var(--control);border-color:var(--edge);color:var(--ink)}.lesson-tabs button[aria-current]{border-color:var(--accent);box-shadow:0 0 14px #7ae0ff59}.lesson-task{background:var(--card);border:1px solid var(--edge)}.lesson-task fieldset{border-color:var(--field-edge)}.lesson-hint{background:#14204a;color:var(--ink)}.lesson-panel a{color:#8fd3ff}.extra-practice{background:#0e1638}.extra-practice button[aria-pressed=true]{background:var(--accent);color:#06122b}.angles-graph svg{background:var(--stage)}.angle-grid line{stroke:var(--grid);stroke-width:1}.angle-half-turn path{fill:none;stroke:#a0b9ff59;stroke-width:2;stroke-dasharray:3 9;stroke-linecap:round}.angle-sum{margin:6px 0 12px;font-size:clamp(20px,2.9vw,30px);font-weight:750;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap;word-spacing:.12em}.angle-sum[data-terms="3"]{font-size:clamp(17px,2.3vw,24px)}.angle-sum[data-terms="4"]{font-size:clamp(14px,1.9vw,20px)}.angle-text{display:inline-block;text-shadow:0 0 18px currentColor}.angle-total{color:var(--ink)}.angle-line{stroke:var(--line);stroke-width:3.5;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(190,215,255,.85))}.angle-ghost{stroke:#bed7ff66;stroke-width:2;stroke-dasharray:5 8;stroke-linecap:round}.angle-origin{fill:var(--line);filter:drop-shadow(0 0 6px rgba(190,215,255,.9))}.angle-hit{fill:transparent;cursor:grab}.angle-handle,.turn-handle{fill:#ffd166;stroke:#fff6da;stroke-width:3;cursor:grab;filter:drop-shadow(0 0 9px rgba(255,209,102,.95))}.angle-pulse{fill:none;stroke:#ffd166;stroke-width:2;opacity:0;pointer-events:none}.angle-ray[data-active] .angle-handle,.angle-ray[data-active] .turn-handle{fill:#fff;cursor:grabbing;filter:drop-shadow(0 0 16px #ffd166)}.angle-ray[data-active] .angle-line{stroke:#ffe9a8;filter:drop-shadow(0 0 9px rgba(255,209,102,.95))}.angles-graph .coordinate-label{fill:var(--ink)}.angle-mark path,.angle-mark polygon{fill:currentColor;fill-opacity:.2;stroke:currentColor;stroke-width:2.5;stroke-linejoin:round;filter:drop-shadow(0 0 6px currentColor)}.angle-mark text{fill:currentColor;font-size:20px;font-weight:750;paint-order:stroke;stroke:var(--stage);stroke-width:5px;font-variant-numeric:tabular-nums}.angle-tone-0{color:var(--cyan)}.angle-tone-1{color:var(--pink)}.angle-tone-2{color:var(--green)}.angle-tone-3{color:var(--violet)}.angle-list,.angle-notes,.angle-kept{margin:12px 0 0;padding-left:0;list-style:none;display:grid;gap:6px}.angle-kept{list-style:decimal inside}.angle-swatch{display:inline-block;width:12px;height:12px;margin-right:8px;border-radius:3px;background:currentColor;box-shadow:0 0 8px currentColor}.angle-notes li{padding:8px 12px;border-radius:10px;background:#23184a;color:#e3d6ff}.angle-found{padding:10px 14px;border-radius:12px;background:#0f3a2c;color:#9dffd0;font-weight:650;box-shadow:0 0 18px #5dffb040}.angles-graph svg[data-found]{border-color:#5dffb0;box-shadow:inset 0 0 90px #5dffb038,0 0 0 3px #5dffb08c}.angles-graph svg[data-found] .angle-half-turn path{stroke:#5dffb0;stroke-dasharray:none;filter:drop-shadow(0 0 8px #5dffb0)}.angle-spark{fill:currentColor;opacity:0;filter:drop-shadow(0 0 6px currentColor)}@media(prefers-reduced-motion:no-preference){.angle-text{animation:angle-pop .22s ease-out}.angle-pulse{animation:angle-pulse 2.2s ease-out infinite}.angles-graph svg[data-dragging] .angle-pulse{animation:none}.angle-handle,.turn-handle{transition:r .14s ease}.angle-ray[data-active] .angle-handle,.angle-ray[data-active] .turn-handle{r:17px}.angle-mark path,.angle-mark polygon{transition:fill-opacity .16s ease}.angles-graph svg[data-dragging] .angle-mark path,.angles-graph svg[data-dragging] .angle-mark polygon{fill-opacity:.36}.angles-graph svg,.angle-half-turn path{transition:box-shadow .4s ease,border-color .4s ease,stroke .4s ease}.angle-spark{animation:angle-spark 1.1s cubic-bezier(.15,.7,.3,1) 1 both}.angle-found{animation:play-settle .32s ease-out}}@keyframes angle-pop{0%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes angle-pulse{0%{r:13px;opacity:.8}70%,to{r:34px;opacity:0}}@keyframes angle-spark{0%{transform:translate(20px) scale(.4);opacity:0}15%{opacity:1}to{transform:translate(215px) scale(1);opacity:0}}@media(max-width:820px){.angles-canvas .angles-graph{order:-1}}.angle-goal{display:grid;gap:4px}.angle-goal .eyebrow{margin:0}.angle-goal-text{margin:0;font-size:18px;font-weight:650;color:var(--ink)}.angle-predict{margin:8px 0 4px;padding:12px 14px;border:1px dashed var(--field-edge);border-radius:14px;background:var(--field)}.angle-predict .eyebrow{margin-bottom:6px;color:var(--gold)}.angle-predict p{margin:0 0 10px}.angle-predict p:last-child{margin:10px 0 0;color:var(--dim);font-size:14px}.angle-chips{display:flex;flex-wrap:wrap;gap:8px}.angle-chips button{min-width:64px;min-height:48px;padding:8px 14px;border:1px solid var(--field-edge);border-radius:999px;background:var(--control);color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation}.angle-chips button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400;box-shadow:0 0 16px #ffd16680}.angle-chips .angle-skip{font-weight:500}.angle-chips .angle-skip[aria-pressed=true]{background:var(--control);border-color:var(--accent);color:var(--ink);box-shadow:none}.angle-mark .angle-depth{fill:#000;fill-opacity:.45;stroke:none;filter:blur(3px);transform:translateY(7px)}.angle-mark path:not(.angle-depth),.angle-mark polygon:not(.angle-depth){transform:translateY(-2px)}@media(prefers-reduced-motion:no-preference){.angle-mark path,.angle-mark polygon{transition:transform .18s ease,fill-opacity .16s ease}.angles-graph svg[data-dragging] .angle-mark path:not(.angle-depth),.angles-graph svg[data-dragging] .angle-mark polygon:not(.angle-depth){transform:translateY(-6px)}.angles-graph svg[data-dragging] .angle-mark .angle-depth{transform:translateY(11px);fill-opacity:.3}.angles-graph svg[data-found] .angle-mark path:not(.angle-depth),.angles-graph svg[data-found] .angle-mark polygon:not(.angle-depth){animation:angle-rise .7s ease-out 1}}@keyframes angle-rise{0%{transform:translateY(-2px)}40%{transform:translateY(-12px)}to{transform:translateY(-2px)}}.top-toggles{display:flex;gap:8px}.top-toggles button{min-height:44px;padding:6px 12px;border:1px solid var(--edge);border-radius:999px;background:var(--control);color:var(--ink);font-size:13px;cursor:pointer;touch-action:manipulation}.top-toggles button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:520px){.topbar{flex-wrap:wrap}.alpha{display:none}}:root[data-theme=daylight]{--ink: #2b2118;--dim: #5b4c3d;--line: #3a2e24;--stage: #fffdf8;--page: #fbf7f0;--panel: #f6efe3;--card: #fffdf8;--edge: #d9cbb4;--field: #fffdf8;--field-edge: #8a7559;--control: #f3ebdd;--accent: #1f5f7a;--grid: rgba(120, 90, 50, .1);--cyan: #0b63c5;--pink: #c2255c;--green: #0b7a57;--violet: #7c3aed;--gold: #9a5b00;--amber: #b45309;--mint: #cdeedd;--peach: #fbd9c4;--lavender: #e2dbf7;--sky: #cfe6f8;color-scheme:light}[data-theme=daylight] .topbar{background:#fffffff5}[data-theme=daylight] .brand,[data-theme=daylight] .equation,[data-theme=daylight] .coefficient,[data-theme=daylight] .angle-text{text-shadow:none}[data-theme=daylight] .canvas{background:var(--card)}[data-theme=daylight] .activity-nav button[aria-pressed=true],[data-theme=daylight] .extra-practice button[aria-pressed=true]{color:#fff;box-shadow:none}[data-theme=daylight] .coefficient[data-dragging]{background:var(--sky);box-shadow:none}[data-theme=daylight] .lesson-hint{background:var(--control)}[data-theme=daylight] .lesson-panel a{color:var(--accent)}[data-theme=daylight] .extra-practice{background:var(--panel)}[data-theme=daylight] .axis,[data-theme=daylight] .reference-line{stroke:var(--dim)}[data-theme=daylight] .asymptote-label{fill:#93370d}[data-theme=daylight] .balance-ghost{color:#fff;box-shadow:none}[data-theme=daylight] .graph-zone svg{box-shadow:none}[data-theme=daylight] .curve,[data-theme=daylight] .cubic-curve,[data-theme=daylight] .reciprocal-branch,[data-theme=daylight] .angle-line,[data-theme=daylight] .angle-origin,[data-theme=daylight] .angle-mark path,[data-theme=daylight] .angle-mark polygon{filter:none}[data-theme=daylight] .angle-mark .angle-depth{fill:var(--line);fill-opacity:.16;filter:blur(3px)}[data-theme=daylight] .vertex,[data-theme=daylight] .coordinate-point,[data-theme=daylight] .cubic-inflection,[data-theme=daylight] .angle-handle,[data-theme=daylight] .turn-handle{fill:#f59e0b;stroke:#fff}[data-theme=daylight] .angle-ghost{stroke:#1d293959}[data-theme=daylight] .angle-half-turn path{stroke:var(--field-edge)}[data-theme=daylight] .angle-notes li{background:#f3effe;color:#3b2a7a}[data-theme=daylight] .angle-found{background:#e7f6ef;color:#0b5c43;box-shadow:none}[data-theme=daylight] .angle-chips button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;color:#1c1400;box-shadow:none}[data-theme=daylight] .angle-ray[data-active] .angle-handle,[data-theme=daylight] .angle-ray[data-active] .turn-handle{fill:#b46a00}[data-theme=daylight] .angle-ray[data-active] .angle-line{stroke:#b46a00;filter:none}.angle-full-turn circle{fill:none;stroke:#a0b9ff59;stroke-width:2;stroke-dasharray:3 9;stroke-linecap:round}.angles-graph svg[data-found] .angle-full-turn circle{stroke:#5dffb0;stroke-dasharray:none;filter:drop-shadow(0 0 8px #5dffb0)}.turns-graph svg{width:100%;max-width:520px;height:auto;margin:0 auto;display:block;touch-action:none}@media(prefers-reduced-motion:no-preference){.angle-full-turn circle{transition:stroke .4s ease}}[data-theme=daylight] .angle-full-turn circle{stroke:var(--field-edge)}[data-theme=daylight] .angles-graph svg[data-found] .angle-full-turn circle{stroke:#0b7a57;filter:none}.play-strip{display:grid;gap:6px}.play-strip .eyebrow{margin:0}.play-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.play-steps button{min-width:44px;min-height:44px;border:1px solid var(--edge);border-radius:999px;background:var(--control);color:var(--ink);font-weight:700;cursor:pointer;touch-action:manipulation}.play-steps button[aria-current]{border-color:var(--accent);box-shadow:0 0 14px #7ae0ff66}.play-steps button:focus-visible,.play-chips button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.play-goal{margin:0;font-size:18px;font-weight:650;color:var(--ink)}.play-predict{margin:6px 0 2px;padding:12px 14px;border:1px dashed var(--field-edge);border-radius:14px;background:var(--field)}.play-predict .eyebrow{margin-bottom:6px;color:var(--gold)}.play-predict p{margin:0 0 10px;color:var(--ink)}.play-chips{display:flex;flex-wrap:wrap;gap:8px}.play-chips button{min-width:64px;min-height:48px;padding:8px 14px;border:1px solid var(--field-edge);border-radius:999px;background:var(--control);color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation}.play-chips button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400;box-shadow:0 0 16px #ffd16680}.play-chips .play-skip{font-weight:500}.play-chips .play-skip[aria-pressed=true]{background:var(--control);border-color:var(--accent);color:var(--ink);box-shadow:none}.play-note{margin:4px 0 0;color:var(--dim);font-size:14px}.play-reflection{padding:10px 14px;border:1px solid var(--edge);border-radius:12px;background:var(--field);color:var(--ink)}.play-reflection summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-weight:650}.play-reflection summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.play-reflection p{line-height:1.5}.play-found{margin:4px 0 0;padding:10px 14px;border-radius:12px;background:#0f3a2c;color:#9dffd0;font-weight:650;box-shadow:0 0 18px #5dffb040}.graph-zone.play-stage svg{touch-action:none;user-select:none;-webkit-user-select:none}.canvas,.play-stage{overflow-anchor:none}.play-stage svg[data-found]{border-color:var(--green);box-shadow:inset 0 0 90px #5dffb038,0 0 0 3px #5dffb08c}.play-star{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linejoin:round;opacity:.85}.play-star[data-lit]{fill:var(--gold);opacity:1;filter:drop-shadow(0 0 10px rgba(255,209,102,.95))}.play-hit{fill:transparent;cursor:grab}.play-orb{fill:var(--gold);stroke:#fff6da;stroke-width:3;cursor:grab;filter:drop-shadow(0 0 9px rgba(255,209,102,.95))}.play-pulse{fill:none;stroke:var(--gold);stroke-width:2;opacity:0;pointer-events:none}.play-handle[data-active] .play-orb{fill:#fff;cursor:grabbing;filter:drop-shadow(0 0 16px #ffd166)}.play-grab{cursor:grab}.play-spark{fill:currentColor;opacity:0;filter:drop-shadow(0 0 6px currentColor)}.play-tone-0{color:var(--cyan)}.play-tone-1{color:var(--pink)}.play-tone-2{color:var(--green)}.play-tone-3{color:var(--gold)}.play-ghost{fill:none;stroke:#bed7ff66;stroke-width:2;stroke-dasharray:5 8;stroke-linecap:round}@media(prefers-reduced-motion:no-preference){.play-pulse{animation:angle-pulse 2.2s ease-out infinite}.play-stage svg[data-dragging] .play-pulse{animation:none}.play-star{animation:play-twinkle 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.play-star[data-lit]{animation:angle-pop .26s ease-out}.play-spark{animation:angle-spark 1.1s cubic-bezier(.15,.7,.3,1) 1 both}.play-found{animation:play-settle .32s ease-out}.play-stage svg{transition:box-shadow .4s ease,border-color .4s ease}}@keyframes play-settle{0%{transform:scale(.96)}to{transform:scale(1)}}@keyframes play-twinkle{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.18);opacity:1}}@media(max-width:820px){.canvas .play-stage{order:-1}}[data-theme=daylight] .play-found{background:#e7f6ef;color:#0b5c43;box-shadow:none}[data-theme=daylight] .play-orb{fill:#f59e0b;stroke:#fff}[data-theme=daylight] .play-star{stroke:#b46a00}[data-theme=daylight] .play-star[data-lit]{fill:#f59e0b}[data-theme=daylight] .play-chips button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;box-shadow:none}[data-theme=daylight] .play-ghost{stroke:#1d293959}.stage3d{position:relative;width:100%;aspect-ratio:4 / 3;max-height:62vh;border:1px solid var(--edge);border-radius:20px;background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),var(--stage);background-size:28px 28px,28px 28px,auto;box-shadow:inset 0 0 80px #3c5adc2e;perspective:900px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.stage3d[data-turning]{cursor:grabbing}.stage3d[data-lit]{border-color:var(--green);box-shadow:inset 0 0 90px #5dffb038,0 0 0 3px #5dffb08c}.stage3d-world{position:absolute;left:50%;top:56%;width:0;height:0;transform-style:preserve-3d}.cube-face{position:absolute;width:60px;height:60px;display:grid;place-items:center;transform-style:preserve-3d;border:2px solid currentColor;background:color-mix(in srgb,currentColor 26%,transparent);font-weight:800;font-size:22px;box-shadow:0 0 14px color-mix(in srgb,currentColor 55%,transparent)}.cube-face>span{color:var(--ink);text-shadow:0 0 6px var(--stage);pointer-events:none}.cube-face[data-star]>span{color:var(--gold);font-size:30px}.cube-face[data-facing]{background:color-mix(in srgb,var(--gold) 55%,transparent);border-color:var(--gold)}.cube-tone-0{color:var(--cyan)}.cube-tone-1{color:var(--pink)}.cube-tone-2{color:var(--green)}.cube-tone-3{color:var(--violet)}.cube-tone-4{color:var(--gold)}.cube-tone-5{color:var(--amber)}.cube-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.cube-picker button,.cube-turns button{min-width:48px;min-height:48px;padding:8px 14px;border:1px solid var(--field-edge);border-radius:12px;background:var(--control);color:var(--ink);cursor:pointer;touch-action:manipulation}.cube-picker button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#06122b;font-weight:700}.cube-picker button:focus-visible,.cube-grid button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.cube-turns{flex-wrap:wrap}.cube-grid{display:grid;grid-template-columns:repeat(5,48px);gap:6px;margin:4px 0 16px}.cube-grid button{width:48px;height:48px;border:1px solid var(--field-edge);border-radius:8px;background:var(--field);cursor:pointer;touch-action:manipulation}.cube-grid button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);box-shadow:0 0 12px #ffd1668c}.cube-grid button:disabled{opacity:.35;cursor:default}@media(prefers-reduced-motion:no-preference){.cube-face{transition:transform 90ms linear,background .3s ease}}@media(max-width:400px){.cube-grid{grid-template-columns:repeat(5,44px)}.cube-grid button{width:44px;height:44px}}[data-theme=daylight] .stage3d{box-shadow:none}[data-theme=daylight] .cube-picker button[aria-pressed=true]{color:#fff}[data-theme=daylight] .cube-grid button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;box-shadow:none}.shapes-canvas{align-items:center}.shape-graph svg{background:var(--stage)}.shape-grid line{stroke:var(--grid);stroke-width:1}.shape-mirrors{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.shape-mirrors button{min-height:48px;padding:8px 14px;border:1px solid var(--field-edge);border-radius:999px;background:var(--control);color:var(--ink);font-weight:650;cursor:pointer;touch-action:manipulation}.shape-mirrors button[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:#1a0010;box-shadow:0 0 16px #ff6fae73}.shape-pad{display:grid;grid-template-columns:repeat(4,48px);gap:8px;margin-top:16px}.shape-pad button{width:48px;height:48px;border:1px solid var(--field-edge);border-radius:12px;background:var(--control);color:var(--ink);font-size:22px;cursor:pointer;touch-action:manipulation}.shape-mirrors button:focus-visible,.shape-pad button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.shape-table{margin-top:16px;border-collapse:collapse;font-variant-numeric:tabular-nums;color:var(--ink)}.shape-table caption{text-align:left;color:var(--dim);font-size:14px;padding-bottom:6px}.shape-table th,.shape-table td{padding:4px 12px 4px 0;text-align:left;white-space:nowrap}.shape-table td:last-child{color:var(--pink)}.shape-table td:nth-child(2){color:var(--gold)}.shape-hit{fill:transparent;cursor:grab}.shape-pole{stroke-width:6;stroke-linecap:round}.shape-flag .shape-pole{stroke:var(--line)}.shape-flag .shape-cloth{fill:var(--gold);stroke:var(--gold);stroke-width:3;stroke-linejoin:round;cursor:grab;filter:drop-shadow(0 0 9px rgba(255,209,102,.8))}.shape-flag .shape-corner{fill:var(--line)}.shape-image .shape-pole{stroke:var(--pink);stroke-dasharray:2 9}.shape-image .shape-cloth{fill:var(--pink);fill-opacity:.45;stroke:var(--pink);stroke-width:3;stroke-linejoin:round;cursor:grab}.shape-image .shape-corner{fill:var(--pink)}.shape-moving[data-active] .shape-cloth{stroke-width:5}.shape-corner,.shape-label{pointer-events:none}.shape-label{fill:var(--ink);font-size:15px;font-weight:750;paint-order:stroke;stroke:var(--stage);stroke-width:4px}.shape-outline .shape-pole,.shape-outline .shape-cloth,.shape-from .shape-pole,.shape-from .shape-cloth{fill:none;stroke-width:3;stroke-dasharray:6 7;stroke-linejoin:round}.shape-outline .shape-pole,.shape-outline .shape-cloth{stroke:var(--green)}.shape-from .shape-pole,.shape-from .shape-cloth{stroke:var(--dim)}.shape-stamp{opacity:.4;pointer-events:none}.shape-stamp .shape-pole{stroke:var(--line);stroke-width:3}.shape-stamp-flag .shape-cloth{fill:var(--cyan)}.shape-stamp-reflection .shape-cloth{fill:var(--violet)}.shape-stamp-number{fill:var(--dim);font-size:13px;font-weight:700}.shape-mirror{stroke:var(--pink);stroke-width:5;stroke-linecap:round;opacity:.85;filter:drop-shadow(0 0 8px rgba(255,111,174,.9));pointer-events:none}.shape-graph svg[data-found] .shape-outline .shape-pole,.shape-graph svg[data-found] .shape-outline .shape-cloth{stroke-dasharray:none}.shape-notes{display:grid;gap:8px;padding:0;list-style:none}.shape-notes li{padding:8px 12px;border-radius:10px;background:var(--card);border:1px solid var(--edge)}.shape-stamps{line-height:1.6}.shapes-activity .history-controls{flex-wrap:wrap}.shapes-activity .lesson-panel>div{min-width:0}@media(prefers-reduced-motion:no-preference){.shape-moving{transition:transform .11s ease-out}.shape-mirror{animation:play-settle .32s ease-out}}@media(max-width:400px){.shape-mirrors button{flex:1 1 100%}.shape-table th,.shape-table td{padding-right:8px}}[data-theme=daylight] .shape-flag .shape-cloth{fill:#f59e0b;stroke:#b46a00;filter:none}[data-theme=daylight] .shape-mirror{filter:none}[data-theme=daylight] .shape-mirrors button[aria-pressed=true]{color:#fff;box-shadow:none}[data-theme=daylight] .shape-table td:nth-child(2){color:#8a4f00}.count-readout{display:flex;align-items:baseline;gap:16px;min-height:84px;margin:4px 0 0;color:var(--ink);white-space:nowrap}.count-readout strong{min-width:1.4em;font-size:64px;line-height:1;font-variant-numeric:tabular-nums;color:var(--gold)}.count-readout span{font-size:30px;font-weight:650}.count-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.count-buttons button,.count-hops button{min-height:56px;padding:8px 12px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;touch-action:manipulation}.count-buttons button:disabled,.count-hops button:disabled{opacity:.45;cursor:default}.count-hops{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.count-hops button{min-width:56px;font-variant-numeric:tabular-nums}.count-hops button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1c1400}.count-buttons button:focus-visible,.count-hops button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.count-stage svg{cursor:default}.count-hit{fill:transparent;cursor:pointer}.count-frame{fill:var(--field);stroke:var(--field-edge);stroke-width:2.5;cursor:pointer}.count-cell{fill:transparent;stroke:var(--grid);stroke-width:2;pointer-events:none}.count-counter{stroke:var(--line);stroke-width:2;pointer-events:none}.count-ten-0{fill:var(--cyan)}.count-ten-1{fill:var(--pink)}.count-line{stroke:var(--line);stroke-width:4;stroke-linecap:round}.count-tick{stroke:var(--dim);stroke-width:2}.count-tick[data-major]{stroke:var(--line);stroke-width:3}.count-label{fill:var(--ink);font-size:22px;font-weight:700}.count-pin{fill:none;stroke:var(--gold);stroke-width:4}.count-pin-label{fill:var(--gold);font-size:18px;font-weight:700}.count-hop{fill:none;stroke:var(--amber);stroke-width:3;stroke-dasharray:6 6;stroke-linecap:round}.count-hop-more{fill:var(--amber);font-size:28px;font-weight:700}.count-mark{fill:var(--violet)}.count-frog{cursor:grab}.count-frog[data-active]{cursor:grabbing}.count-frog-hit{fill:transparent}.count-frog-body{fill:var(--green);stroke:var(--line);stroke-width:2}.count-frog-eye{fill:#fff;stroke:var(--line);stroke-width:2;pointer-events:none}.count-frog-pupil{fill:#10182b;pointer-events:none}.count-bubble{fill:var(--ink);font-size:28px;font-weight:800;pointer-events:none}.count-notes{display:grid;gap:8px;padding:0;list-style:none}.count-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}@media(prefers-reduced-motion:no-preference){.count-frog{transition:transform .18s ease-out}.count-stage svg[data-dragging] .count-frog{transition:none}}@media(max-width:400px){.count-readout strong{font-size:52px}.count-readout span{font-size:24px}.count-buttons button{font-size:18px}}[data-theme=daylight] .count-hops button[aria-pressed=true]{background:#f59e0b;border-color:#b46a00;color:#1c1400}.groups-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-height:84px;margin:4px 0 0;color:var(--ink)}.groups-readout strong{min-width:1.4em;font-size:64px;line-height:1;font-variant-numeric:tabular-nums;color:var(--gold)}.groups-readout span{font-size:24px;font-weight:650;overflow-wrap:anywhere}.groups-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-width:420px}.groups-buttons button,.groups-plate-row button{min-height:56px;padding:8px 12px;border:2px solid var(--field-edge);border-radius:16px;background:var(--control);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;touch-action:manipulation}.groups-buttons button:disabled,.groups-plate-row button:disabled{opacity:.45;cursor:default}.groups-buttons button:focus-visible,.groups-plate-row button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.groups-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.groups-plates{display:grid;gap:8px;margin-top:12px;max-width:420px}.groups-plate-row{display:grid;grid-template-columns:minmax(0,1fr) 56px 2.2em 56px;align-items:center;gap:10px;color:var(--ink);font-size:18px;font-weight:650}.groups-plate-row button{padding:0;font-size:26px}.groups-plate-row strong{text-align:center;font-size:26px;font-variant-numeric:tabular-nums;color:var(--gold)}.groups-stage svg{cursor:default}.groups-room circle{fill:var(--dim);opacity:.35;pointer-events:none}.groups-hit{fill:transparent;cursor:pointer}.groups-edge{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 6;opacity:.6;pointer-events:none}.groups-counter{stroke:var(--line);stroke-width:2;pointer-events:none}.groups-row-0{fill:var(--cyan)}.groups-row-1{fill:var(--pink)}.groups-loose{fill:var(--gold)}.groups-in-hand{fill:var(--gold);filter:drop-shadow(0 0 10px rgba(255,209,102,.9))}.groups-plate{fill:var(--field);stroke:var(--field-edge);stroke-width:2.5;cursor:pointer}.groups-plate[data-target],.groups-pile[data-target]{stroke:var(--gold);stroke-width:4}.groups-pile{fill:var(--panel);stroke:var(--edge);stroke-width:2.5;stroke-dasharray:8 6;cursor:pointer}.groups-pile-label{fill:var(--dim);font-size:22px;font-weight:650;pointer-events:none}.groups-sentence{fill:var(--ink);font-size:30px;font-weight:750;font-variant-numeric:tabular-nums;pointer-events:none}.groups-goal{pointer-events:none}.groups-outline{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:8 7}.groups-goal-ring{fill:none;stroke:var(--gold);stroke-width:3}.groups-goal-number{fill:var(--gold);font-size:30px;font-weight:800;font-variant-numeric:tabular-nums}.groups-goal-dot{fill:var(--gold)}.groups-goal-bar{fill:var(--gold);opacity:.85}.groups-goal-plate{fill:none;stroke:var(--gold);stroke-width:3}.groups-notes{display:grid;gap:8px;padding:0;list-style:none}.groups-notes li{padding:10px 14px;border-radius:12px;background:var(--field);border:1px solid var(--edge);color:var(--ink);font-size:17px}.groups-kept{font-size:18px;color:var(--ink)}@media(prefers-reduced-motion:no-preference){.groups-counter:not(.groups-in-hand){transition:cx .16s ease-out,cy .16s ease-out}.groups-stage svg[data-dragging] .groups-counter{transition:none}}@media(max-width:400px){.groups-readout strong{font-size:52px}.groups-readout span{font-size:20px}.groups-buttons button{font-size:18px}}[data-theme=daylight] .groups-in-hand{filter:none}[data-theme=daylight] .groups-loose,[data-theme=daylight] .groups-in-hand{fill:#f59e0b}[data-theme=daylight] .groups-goal-dot,[data-theme=daylight] .groups-goal-bar{fill:#b46a00}
