:root{color:#25333d;font-synthesis:none;background:#f4f1ea;font-family:Inter,ui-rounded,system-ui,sans-serif}html,body,#root{height:100%;overflow:hidden}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;font-size:1.5rem}button,input,select{font:inherit;font-size:1em}.app-shell{--selection-outline:#d88918;--cancel-strike:#c89cdf;--work-area-height:clamp(300px, calc(100dvh - 358px), 720px);--modeling-word-size:min(calc(var(--work-area-height) / 9.75), 6vw);--modeling-word-weight:750;grid-template-columns:clamp(150px,14vw,185px) minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.splash-heading{justify-content:flex-end;display:flex}.splash-shell>.play-space{padding:0;overflow:auto}.tower-panel{overscroll-behavior:contain;color:#f8fbf8;background:linear-gradient(155deg,#184c52,#12333d);flex-direction:column;min-width:0;height:100dvh;padding:26px 12px;display:flex;overflow-y:auto}.masthead{isolation:isolate;color:#184c52;justify-items:center;width:max-content;margin:0;padding:0 .55em .06em;display:grid;position:relative}.masthead:before{z-index:-1;content:"🧠";opacity:.3;place-items:center;font-size:8rem;line-height:1;display:grid;position:absolute;inset:-10%;transform:translate(.35rem,.9rem)scale(2.65,1.9875)}.masthead strong{letter-spacing:-.04em;font-size:4.65rem}.masthead span{color:#405957;letter-spacing:.04em;font-size:1.2rem;font-weight:700;transform:translate(.7rem)}.eyebrow{color:#88bcb1;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:1.44rem;font-weight:800}.domain-link,.phase-link,.tower-link,.level-link,.options-button{color:#d5e7e2;overflow-wrap:break-word;text-align:left;white-space:normal;cursor:pointer;background:0 0;border:0;width:100%;min-width:0}.phase-section{border-top:1px solid #ffffff14}.phase-section:first-child{border-top:0}.phase-section[data-open]{background:#ffffff0d;padding-bottom:4px}.phase-link{letter-spacing:-.015em;padding:6px 8px;font-size:1.2rem;font-weight:850;line-height:1.12}.phase-section[data-open]>.phase-link{color:#fff}.domain-section{border-top:1px solid #ffffff24}.domain-section[data-open]{background:#ffffff08;padding-bottom:4px}.domain-link{padding:7px 8px;font-size:1.28rem;font-weight:900;line-height:1.12}.domain-section[data-open]>.domain-link{color:#fff}.domain-section .phase-link{padding-left:16px}.tower-section{border-left:2px solid #4d777355;margin-left:10px}.tower-section[data-open]{border-left-color:#8fc4b8}.tower-link{color:#b7d6cf;letter-spacing:.02em;text-transform:uppercase;padding:4px 10px;font-size:.85rem;font-weight:700}.tower-section[data-open]>.tower-link{color:#e3f3ee}.level-list{flex-direction:column;margin:0 0 4px;padding-left:18px;display:flex}.level-link{border-radius:6px;margin:0;padding:3px 8px;font-size:.9rem;font-weight:400;line-height:1.3}.level-link:hover:not(:disabled){background:#ffffff10}.level-link:disabled{color:#76928e;cursor:not-allowed}.level-link[data-current]{color:#fff;background:#ffffff18}.options-button{border-top:1px solid #ffffff25;margin-top:auto;padding:10px 7px;font-size:1.23rem}.play-space{overscroll-behavior:contain;flex-direction:column;min-width:0;height:100dvh;padding:18px clamp(22px,6vw,86px);display:flex;position:relative;overflow:hidden}.splash{text-align:center;background:#fff;border:1px solid #dedbd1;border-radius:24px;align-content:center;align-self:center;justify-items:center;gap:20px;width:min(760px,100%);min-height:420px;margin:auto 0;padding:48px;display:grid;box-shadow:0 14px 45px #2b444414}.splash h1,.splash p{margin:0}.splash h1{color:#184c52;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.05}.account-options{border:1px solid #dedbd1;border-radius:14px;margin:0 0 4px;padding:12px 14px}.account-options legend{color:#184c52;letter-spacing:.04em;text-transform:uppercase;padding:0 6px;font-size:.85rem;font-weight:750}.account-options p{color:#42545a;margin:0;font-size:.95rem}.account-options button{color:#184c52;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.account-options .sign-in{width:100%;box-shadow:none;border:0;margin:0;padding:0}.app-shell[data-theme=dark] .account-options{border-color:#22383d}.splash-learner{color:#40595799;margin:14px 0 0;font-size:1.05rem}.splash-learner button{color:#184c52;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.sign-in{text-align:left;background:#fff;border:1px solid #dedbd1;border-radius:20px;gap:12px;width:min(420px,100%);margin:8px auto 0;padding:22px 24px;display:grid;box-shadow:0 14px 45px #2b444414}.sign-in h2{color:#184c52;margin:0;font-size:1.5rem}.sign-in form{gap:12px;display:grid}.sign-in label{color:#42545a;gap:5px;font-size:.95rem;font-weight:650;display:grid}.sign-in input{font:inherit;border:1px solid #c9c4b8;border-radius:9px;padding:9px 11px;font-size:1.05rem}.sign-in input:focus-visible{outline-offset:1px;outline:3px solid #d88918}.sign-in-note{color:#5d6f74;margin:-4px 0 0;font-size:.85rem}.sign-in-problem{color:#7a2626;background:#f7dede;border-radius:9px;margin:0;padding:9px 11px;font-size:.95rem;font-weight:650}.sign-in-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.sign-in-actions button{color:#495457;font:inherit;cursor:pointer;background:#f8f6ef;border:1px solid #b8b4aa;border-radius:10px;padding:9px 15px;font-weight:650}.sign-in-actions button.primary{color:#fff;background:#184c52;border-color:#184c52}.sign-in-actions button:disabled{opacity:.6;cursor:default}.app-shell[data-theme=dark] .sign-in{background:#16272b;border-color:#22383d}.app-shell[data-theme=dark] .sign-in input{color:#e7f0ee;background:#0f1e22;border-color:#2f4a50}.splash>p:not(.eyebrow){color:#53676b;max-width:620px;line-height:1.4}.splash .splash-direction{color:#7b5a24;font-weight:800}.play-heading{z-index:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;display:grid;position:relative}.level-header{align-items:baseline;gap:18px;min-width:0;display:flex}.level-header h1{margin:0;font-size:3rem;line-height:1.05}.mastery{z-index:2;color:#42545a;flex-direction:column;align-items:center;gap:10px;width:34px;font-size:1.15rem;font-weight:800;display:flex;position:absolute;top:132px;bottom:108px;left:14px}.mastery progress{writing-mode:vertical-lr;accent-color:#3c8b71;direction:rtl;flex:auto;width:15px;min-height:0}.instruction-card{z-index:1;background:#fffaf1;border-left:4px solid #eea642;border-radius:4px 12px 12px 4px;grid-template-columns:minmax(0,1fr);gap:6px;width:fit-content;max-width:100%;margin-top:4px;padding:8px 16px;display:grid;position:relative;box-shadow:0 4px 20px #2f3f4010}.play-space:has(.modeling-panel) .attention{margin:3px 0 0}.work-area{box-sizing:border-box;width:100%;height:var(--work-area-height);min-height:var(--work-area-height);max-height:var(--work-area-height);flex:0 0 var(--work-area-height)}.modeling-panel{z-index:0;background:#fff;border:1px solid #dedbd1;border-radius:24px;grid-template-rows:auto minmax(0,1fr);gap:14px;margin:6px 0 4px;padding:18px 20px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 45px #2b444414}.modeling-panel:has(.modeling-equation-system){flex-direction:column;display:flex;overflow-y:auto}.modeling-panel:has(.modeling-equation-group){flex-direction:column;gap:10px;display:flex;overflow-y:auto}.modeling-panel:has(.modeling-equation-group) .modeling-stories{gap:2px}.modeling-panel:has(.modeling-equation-group) .modeling-story{font-size:clamp(.9rem, calc(var(--modeling-word-size) * .55), 1.35rem);line-height:1.15}.modeling-panel:has(.modeling-equation-group) .modeling-story .modeling-token{font-size:inherit}.modeling-pickup-status{z-index:4;color:#5a4314;white-space:nowrap;background:#fff4c7;border:1px solid #e6b84d;border-radius:999px;padding:6px 12px;font:700 .9rem/1.2 system-ui,sans-serif;position:absolute;top:8px;left:50%;transform:translate(-50%)}.modeling-stories{gap:4px;display:grid}.graph-panel{z-index:0;background:#fff;border:1px solid #dedbd1;border-radius:24px;margin:6px 0 4px;padding:14px 18px;position:relative;overflow:hidden;box-shadow:0 14px 45px #2b444414}.line-board{grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:18px;height:100%;display:grid}.line-board>*{min-width:0;min-height:0}.line-graph{aspect-ratio:1;touch-action:none;justify-self:center;width:auto;max-width:100%;height:100%;display:block}.line-graph-grid line{stroke:#ece8de;stroke-width:.05px}.line-graph-grid line[data-major]{stroke:#d8d3c6;stroke-width:.08px}.line-graph-axes line{stroke:#68747a;stroke-width:.1px}.line-graph-axes text{fill:#68747a;font:600 .48px system-ui,sans-serif}.line-graph-axes .line-graph-axis-name{fill:#445459;font:italic 700 .8px Georgia,serif}.line-graph-line{stroke:#276aa1;stroke-width:.16px;stroke-linecap:round;pointer-events:none}.line-graph-grab{stroke:#0000;cursor:grab}.point-board .line-graph{cursor:crosshair}.point-guide{stroke:#276aa1;stroke-width:.1px;stroke-dasharray:.3 .25;opacity:.45}.point-mark{fill:#c23b3b;stroke:#fff;stroke-width:.1px}.point-mark[data-right]{fill:#27824f}.point-mark[data-kind=point]{r:.48px}.point-target{justify-items:center}.point-target-text{color:#25333d;white-space:nowrap;font:700 clamp(1.3rem,2.1vw,1.9rem)/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.notation-only{place-items:center;height:100%;display:grid}.notation-board{color:#25333d;justify-items:center;gap:18px;font:700 clamp(1.6rem,3vw,2.6rem)/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:grid}.notation-only .notation-board{gap:34px;font-size:clamp(2.2rem,5vw,4rem)}.notation-point{white-space:nowrap}.notation-value{color:#27824f;cursor:grab;touch-action:none;border-radius:.2em;padding:0 .12em;display:inline-block;position:relative}.notation-value[data-drag-hit]{background:#eef7f1;box-shadow:inset 0 0 0 2px #27824f33}.notation-slots{gap:12px;display:grid}.notation-slot{align-items:center;gap:.35em;display:flex}.notation-name{color:#276aa1;font-style:italic}.notation-box{border:2px dashed #9aa5a8;border-radius:.25em;place-items:center;min-width:2.4em;min-height:1.35em;display:inline-grid}.notation-box[data-filled]{color:#c23b3b;border-style:solid;border-color:#c23b3b}.notation-box[data-right]{color:#27824f;border-color:#27824f}.line-graph-ghost{stroke:#9aa5a8;stroke-width:.2px;stroke-dasharray:.5 .35;stroke-linecap:round;opacity:.85}.line-graph-shift line{stroke:#8752a3;stroke-width:.12px}.line-graph-shift path{fill:#8752a3}.line-graph-shift text{fill:#8752a3;font:700 .7px system-ui,sans-serif}.line-graph-help{pointer-events:none}.line-graph-help circle{fill:none;stroke:#d88918;stroke-width:.16px;transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite line-help-pulse}.line-graph-help text{fill:#8a5a10;paint-order:stroke;stroke:#fff;stroke-width:.25px;font:800 .75px system-ui,sans-serif}@keyframes line-help-pulse{50%{opacity:.55;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.line-graph-help circle{animation:none}}.line-board[data-complete] .line-graph-line{stroke:#27824f}.graph-panel[data-complete]{border-color:#6fac91}.line-graph-triangle line{stroke:#d88918;stroke-width:.08px;stroke-dasharray:.25 .18}.line-graph-triangle text{fill:#b06f0f;font:700 .6px system-ui,sans-serif}.line-graph-handle{cursor:grab}.line-graph-handle-grab{fill:#0000}.line-graph-handle-dot{fill:#fff;stroke:#276aa1;stroke-width:.14px}.line-graph-handle[data-handle=y-intercept] .line-graph-handle-dot,.line-graph-handle[data-handle=x-intercept] .line-graph-handle-dot{fill:#d88918;stroke:#fff}.line-board[data-held] .line-graph,.line-board[data-held] .line-graph-handle{cursor:grabbing}.line-board[data-held=turn] .line-graph-line{stroke-width:.22px}.line-values{align-content:center;gap:14px;display:grid}.line-value{grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;display:grid}.line-value-name{color:#445459;font:700 .95rem/1.2 system-ui,sans-serif}.line-value>button{color:#184c52;cursor:pointer;background:#f4f8f7;border:1px solid #cfd8d6;border-radius:12px;width:38px;height:38px;font:700 1.25rem/1 system-ui,sans-serif}.line-value-number{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:2px;min-width:64px;font:600 1.35rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex}.line-value-fraction{justify-items:center;font-size:.82em;display:inline-grid}.line-value-fraction>span:first-child{border-bottom:2px solid;padding:0 .2em .08em}.line-value-fraction>span:last-child{padding-top:.08em}.line-equation{border-top:1px solid #ece8de;justify-content:center;padding:14px 6px 4px;display:flex;overflow:hidden}.line-equation .equation{font-size:clamp(1.6rem,2.6vw,2.3rem)}@media (width<=760px){.graph-panel{padding:10px}.line-board{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:8px}.line-graph{width:100%;height:100%;max-height:100%}.line-values{gap:6px}.line-value{grid-template-columns:1fr auto minmax(64px,auto) auto}.line-equation{padding:6px}}.app-shell[data-theme=dark] .graph-panel{color:#d7e0e1;background:#16272b;border-color:#22383d;box-shadow:0 14px 45px #0006}.app-shell[data-theme=dark] .line-graph-grid line{stroke:#213539}.app-shell[data-theme=dark] .line-graph-grid line[data-major]{stroke:#2d474c}.app-shell[data-theme=dark] .line-graph-axes line{stroke:#8fa3a6}.app-shell[data-theme=dark] .line-graph-axes text{fill:#8fa3a6}.app-shell[data-theme=dark] .line-graph-axes .line-graph-axis-name{fill:#b9cbc7}.app-shell[data-theme=dark] .line-graph-line{stroke:#6fb3ea}.app-shell[data-theme=dark] .line-graph-handle[data-handle=turn] .line-graph-handle-dot{fill:#16272b;stroke:#6fb3ea}.app-shell[data-theme=dark] .line-graph-triangle line{stroke:#ffd15a}.app-shell[data-theme=dark] .line-graph-triangle text{fill:#ffd15a}.app-shell[data-theme=dark] .line-value-name{color:#b9cbc7}.app-shell[data-theme=dark] .line-value>button{color:#9de0d5;background:#1d3236;border-color:#2d474c}.app-shell[data-theme=dark] .notation-board{color:#e6eceb}.app-shell[data-theme=dark] .notation-value[data-drag-hit]{background:#1d3236}.app-shell[data-theme=dark] .point-target-text{color:#e6eceb}.app-shell[data-theme=dark] .point-guide{stroke:#6fb3ea}.app-shell[data-theme=dark] .line-graph-ghost{stroke:#6f8386}.app-shell[data-theme=dark] .line-graph-help text{fill:#ffd15a;stroke:#16272b}.app-shell[data-theme=dark] .line-board[data-complete] .line-graph-line{stroke:#59c787}.app-shell[data-theme=dark] .line-equation{border-color:#2d474c}.modeling-story,.modeling-token,.modeling-blank-equation,.modeling-slot-fill,.modeling-name-drop{font-family:Inter,ui-rounded,system-ui,sans-serif;font-size:var(--modeling-word-size);font-weight:var(--modeling-word-weight);line-height:1}.modeling-story{color:#243e44;text-align:center;white-space:nowrap;max-width:none;margin:0 auto}.modeling-stories{--modeling-story-scale:1}.modeling-story{font-size:calc(var(--modeling-word-size) * var(--modeling-story-scale))}.modeling-story .modeling-token{font-size:inherit!important}.modeling-panel[data-modeling-story-wrap] .modeling-story{white-space:normal;width:100%}.modeling-story-token-wrap{display:inline;position:relative}.modeling-token{color:inherit;box-sizing:border-box;cursor:grab;background:#f8fbfa;border:1px solid #9eb0ad;border-radius:8px;align-items:center;height:1em;margin:0 .05em;padding:0 .2em;display:inline-flex}.modeling-token-word{background:0 0;border:0;padding:0 .06em}.modeling-token:not([data-kind=value]),.modeling-split-word[data-kind=name],.modeling-slot-fill[data-kind=name],.modeling-word-choice{color:#276aa1}.modeling-token[data-kind=value],.modeling-slot-fill[data-kind=value]{color:#27824f}.modeling-token[aria-pressed=true]{outline:2px solid #276a70}.play-space:has(.modeling-panel){overflow:auto}.modeling-quantities{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.modeling-quantities>span{background:#f7f8f4;border:1px solid #d5d9d4;border-radius:10px;grid-template-columns:auto 1fr;align-items:baseline;gap:1px 7px;padding:8px 10px;display:grid}.modeling-quantities strong{color:#276a70;grid-row:span 2;font-size:1.35rem}.modeling-quantities small{color:#617277}.modeling-board{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;min-height:0;display:grid;position:relative;overflow:hidden}.modeling-board:has(.modeling-equation-system){flex:none;display:block;overflow:visible}.modeling-board:has(.modeling-equation-group){flex:none;display:block;overflow:visible}.modeling-view-controls{justify-self:start;align-items:center;gap:8px;width:max-content;max-width:100%;display:flex}.modeling-board-toggle{z-index:6;color:#495457;cursor:pointer;background:#f8f6efdc;border:1px solid #b8b4aa;border-radius:8px;min-width:44px;min-height:44px;padding:14px 21px;font:650 1rem/1 system-ui,sans-serif;position:absolute;bottom:8px;right:12px}.modeling-bin{box-sizing:border-box;background:#f8fbfa;border:2px dashed #9eb0ad;border-radius:12px;flex-direction:column;align-items:center;gap:8px;min-height:12rem;padding:14px;display:flex;position:relative;overflow:visible}.modeling-board[data-bins=two]{min-height:16rem}.modeling-bin-tokens{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.modeling-bin[data-bin=maybe-using]{grid-area:1/1}.modeling-bin[data-bin=not-using]{grid-area:1/2}.modeling-board[data-bins=one] .modeling-bin[data-bin=maybe-using]{grid-column:1/-1}.modeling-bin .formalism-chooser{z-index:6;position:absolute;inset:auto auto calc(100% + 4px) 50%;transform:translate(-50%)}.modeling-bin strong{color:#42545a;text-align:center;font-size:1.5rem;font-weight:750}.modeling-bin[data-absent]{display:none}.modeling-destinations{flex-flow:column;grid-area:2/1/auto/-1;justify-content:center;align-items:center;gap:10px;padding:16px 0 24px;display:flex;overflow:visible}.modeling-board:has(.modeling-equation-system) .modeling-destinations{padding:16px 0 24px;display:block}.modeling-board:has(.modeling-equation-group) .modeling-destinations{padding:8px 0 18px;display:flex}.modeling-equation-group{gap:8px;width:max-content;max-width:100%;margin:0 auto;display:grid}.modeling-board:has(.modeling-equation-system) .modeling-equation-system{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px 28px;display:grid}:is(.modeling-board:has(.modeling-equation-system) .modeling-equation-system-slots,.modeling-board:has(.modeling-equation-system) .modeling-equation-system-values){gap:12px;min-width:0;display:grid}.modeling-equation-types,.modeling-equation-type-selected{z-index:8;justify-items:center;gap:8px;display:grid;position:relative}:is(.modeling-panel:has(.modeling-equation-group) .modeling-equation-types,.modeling-panel:has(.modeling-equation-group) .modeling-equation-type-selected){gap:4px;font-size:.72em}.modeling-panel:has(.modeling-equation-group) .modeling-equation-types .modeling-token{font-size:inherit}.modeling-equation-type-selected{pointer-events:none}.modeling-equation-type-choices{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.modeling-equation-type-drop{color:#42545a;text-align:center;border:2px dashed #9eb0ad;border-radius:10px;min-width:18ch;padding:8px 12px}.modeling-name-palette{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.modeling-bin .modeling-pick-control{z-index:7;width:72px;height:44px;display:block;position:absolute;bottom:8px;left:12px}.modeling-bin .modeling-pick-control-open{width:auto;height:0;right:12px}.modeling-bin .modeling-pick-control:has(.modeling-pick-label[aria-expanded=true]){width:auto;right:12px}.modeling-pick-label{color:#495457;cursor:pointer;white-space:nowrap;background:#f8f6efdc;border:1px solid #b8b4aa;border-radius:8px;width:72px;height:44px;padding:0;font:650 1rem/1 system-ui,sans-serif}.modeling-pick-toggle-cue{z-index:8;color:#77501a;pointer-events:none;filter:drop-shadow(0 4px 3px #0002);justify-items:center;width:max-content;font:700 1.05rem/1.15 Inter,system-ui,sans-serif;animation:1.4s ease-in-out infinite modeling-pick-toggle-point;display:grid;position:absolute;bottom:calc(100% + 5px);left:50%}.modeling-pick-toggle-cue span{font-size:2rem;line-height:1}@keyframes modeling-pick-toggle-point{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,5px)}}.modeling-bin-toggle{width:auto;min-width:0}.modeling-pick-words{flex-wrap:wrap;justify-content:space-evenly;gap:6px;width:auto;max-width:none;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0}.modeling-pick-control-open .modeling-pick-words{bottom:90px}.modeling-pick-control:has(.modeling-pick-label[aria-expanded=true]) .modeling-pick-words{bottom:110px}.modeling-pick-word{position:relative}.modeling-pick-cue{z-index:5;color:#77501a;text-align:center;pointer-events:none;filter:drop-shadow(0 4px 3px #0002);justify-items:center;width:max-content;max-width:16ch;font:700 1.05rem/1.15 Inter,system-ui,sans-serif;animation:1.4s ease-in-out infinite modeling-pick-point;display:grid;position:absolute;top:calc(100% + 8px);left:50%}.modeling-pick-cue span{font-size:2.4rem;line-height:1}@keyframes modeling-pick-point{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,6px)}}.modeling-pick-word>button,.modeling-bin .formalism-chooser button{min-height:2.2em;padding:.35em .7em;font:700 18px/1.2 Inter,ui-rounded,system-ui,sans-serif}.modeling-pick-word>button{background:#f8fbfa;border:1px solid #9eb0ad;border-radius:8px}.modeling-equation{justify-items:center;padding:0;display:grid}.modeling-equation>.equation{pointer-events:none;font-size:2rem;position:static}.modeling-blank-equation{color:#68747a;white-space:nowrap;align-items:center;gap:.3em;display:flex}.modeling-equation-group .modeling-blank-equation{font-size:clamp(1rem, calc(var(--modeling-word-size) * .72), 1.75rem)}.modeling-equation-group .modeling-slot[data-slot=name]{width:7ch;min-width:7ch}.modeling-slot{box-sizing:border-box;width:var(--modeling-name-width,12ch);min-width:var(--modeling-name-width,12ch);place-items:center;height:1.25em;display:grid;position:relative;overflow:visible}.modeling-slot[data-slot=value]{width:var(--modeling-value-width,6ch);min-width:var(--modeling-value-width,6ch)}.modeling-slot[data-filled=true]{width:max-content;min-width:0}.modeling-slot-fill{box-sizing:border-box;align-items:center;max-width:100%;line-height:1.2;display:inline-flex;overflow:visible}.modeling-split-word{white-space:nowrap;display:inline}.modeling-split-word[data-kind=name]{color:#276aa1}.modeling-split-part{color:inherit;font:inherit;line-height:inherit;cursor:grab;background:0 0;border:0;margin:0;padding:0;display:inline}.modeling-split-part[data-letter]{color:#0d2f52;text-underline-offset:.12em;font-weight:800;text-decoration:underline;text-decoration-thickness:.08em}.modeling-split-part[data-word-rest]{color:#7891a5}.modeling-token[data-letter]{color:#163f66}.modeling-name-drop{color:#68747a;background:#f8fbfa;border:3px dashed #7daeb3;border-radius:10px;width:100%;height:100%}.modeling-name-drop span{font-size:.62em;font-weight:inherit}.modeling-feedback{color:#8c3e2c;text-align:center;margin:0;font-weight:750}.complete-status{color:#276a70;font-weight:800}.instruction-card p{margin:0;font-size:1.575rem}.speak-text{color:#31484d;vertical-align:.15em;cursor:pointer;background:#fff;border:1px solid #c4b49a;border-radius:999px;justify-content:center;align-items:center;width:1.7em;height:1.7em;margin:0 .4em 0 0;padding:0;font-size:.62em;line-height:1;display:inline-flex}.speak-text[aria-pressed=true]{color:#fff;background:#69539a;border-color:#69539a}.attention{color:#7b5a24;text-align:left;max-width:100%;margin:3px 0 0;font-weight:750}.target{color:#617078;align-items:center;gap:12px;height:2rem;min-height:2rem;margin-top:0;font-weight:700;display:flex}.target[data-empty]{visibility:hidden}.target .equation{gap:var(--operator-space);font-size:1.45rem}.target .object-fraction[data-format=bar]{font-size:.76em}.gesture-trail{z-index:7;pointer-events:none;--gesture-trail:#c86a9e;width:100%;height:100%;position:absolute;inset:0}.respell-cloud{z-index:8;pointer-events:none;animation:.5s ease-in-out forwards respell-cloud;position:absolute}.respell-cloud svg{width:100%;height:100%;display:block;overflow:visible}@keyframes respell-cloud{0%{opacity:.85;transform:scale(.16)}40%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(.12)}}.app-shell[data-theme=dark] .gesture-trail{--gesture-trail:#e089b8}@media (prefers-reduced-motion:reduce){.gesture-trail{display:none}}.board{background:#fff;border:1px solid #dedbd1;border-radius:24px;align-content:center;place-items:center;gap:34px;margin:6px 0 4px;display:grid;position:relative;box-shadow:0 14px 45px #2b444414}.board[data-complete]{border-color:#6fac91;box-shadow:0 14px 45px #2d765528}.term-wrap,.explain-action,.control-intro{position:relative}.control-intro{display:inline-flex}.intro-hand{zoom:calc(1 / var(--equation-fit,1));z-index:5;color:#77501a;pointer-events:none;justify-items:center;width:max-content;font-family:Inter,system-ui,sans-serif;font-size:1.2rem;animation:1.4s ease-in-out infinite intro-point;display:grid;position:absolute;top:82%;left:50%;transform:translate(-50%)}.equation-fit-content>[data-substitution-role=source] .intro-hand{zoom:1}.intro-hand.shake-demo{animation:1.15s linear infinite shake-demo}.intro-hand.slash-demo{animation:1.6s ease-in-out infinite slash-demo;top:18%}@keyframes slash-demo{0%{opacity:0;transform:translate(calc(-50% - 46px),-34px)}10%{opacity:1}14%{opacity:1;transform:translate(calc(-50% - 46px),-34px)}58%{opacity:1;transform:translate(calc(50px - 50%),58px)}74%{opacity:0}to{opacity:0;transform:translate(calc(50px - 50%),58px)}}@keyframes shake-demo{0%{transform:translate(calc(-50% - 46px),-58px)}46%{transform:translate(-50%,18px)}92%,to{transform:translate(calc(46px - 50%),-58px)}}.intro-hand span{--cue-fingertip-x:.5;--cue-fingertip-y:0;filter:drop-shadow(0 4px 3px #0002);font-size:2.4rem}.intro-hand b{transform:translateX(var(--cue-nudge,0px))}.modeling-story-token-wrap>.intro-hand{top:88%}.modeling-story-token-wrap>.intro-hand>b{white-space:nowrap;position:absolute;top:100%;left:0}.intro-explain{top:75%;left:50%}.action-help-up{top:72%}.product-part-hand{top:auto;bottom:108%}.product-part-hand b{order:1}.product-part-hand span{order:2}.bottom-control-hand{animation:1.4s ease-in-out infinite help-point-down;top:auto;bottom:calc(100% + .25rem)}.board[data-help-target-active] .intro-hand{animation:1.15s ease-out both help-arrive-target}.board[data-help-target-active] .intro-hand.shake-demo{animation:.7s ease-in-out infinite shake-demo}.board[data-help-target-active] .intro-hand.slash-demo{animation:1.6s ease-in-out infinite slash-demo}@keyframes help-arrive-target{0%{opacity:0;transform:translate(calc(-50% + var(--cue-arrive-from,-72px)), -70px) rotate(-12deg)}65%{opacity:1;transform:translate(calc(5px - 50%),4px)rotate(2deg)}to{opacity:1;transform:translate(-50%)}}.instruction-card[data-pending-prompt]{background:#fff0b8;animation:.45s ease-out instruction-lift}@keyframes instruction-lift{0%{background:#ffd95a;transform:scale(.97)}to{transform:scale(1)}}.explain-action{position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.explain-action[data-finished]{visibility:hidden;pointer-events:none}@keyframes intro-point{0%,to{transform:translate(-50%)}50%{transform:translate(calc(-50% - 12px),-22px)rotate(-8deg)}}.equation{--operator-space:.4em;align-items:center;gap:var(--operator-space);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(2.7rem,7vw,5.7rem);line-height:1;display:flex}.sum{align-items:center;gap:0;display:flex}.term-wrap{align-items:center;gap:7px;display:flex}.plus,.equals{color:#68747a;place-items:center;min-height:1.25em;font-weight:400;display:inline-grid}.mathematical-object{color:#68747a;justify-content:center;align-items:center;display:flex}.object-equation{width:max-content}.object-atom-wrap,.object-operator-wrap,.object-product,.object-coefficient-variable,.object-sum,.object-move-term,.pairwise-sum,.pairwise-product,.combine-group,.object-fraction{align-items:center;display:inline-flex;position:relative}.object-atom,.object-operator{color:#68747a;min-width:1.15em;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .08em;line-height:1.25}.object-operator.plus{min-width:0;padding:0}.object-atom{border:2px solid #0000;border-radius:.2em;place-items:center;min-width:0;height:1.25em;padding:0;line-height:1;display:inline-grid}.object-product,.object-sum{border-radius:.25em}.product-factor{align-items:center;line-height:1;display:inline-flex}.compact-leading-additive-slot{justify-content:center;align-items:center;min-width:2ch;display:inline-flex}.implicit-leading-product-space{visibility:hidden;flex:none;width:.58em;display:inline-block}.object-product[data-format=implicit] .object-atom{min-width:0;padding-inline:0}.object-move-term{gap:0}.object-move-term>.object-operator-wrap{margin-inline:var(--operator-space)}.leading-negative,.unary-negative,.explicit-plus{margin-right:var(--operator-space)}:is(.object-atom:has(>.explicit-plus),.term:has(>.explicit-plus)){grid-auto-flow:column}.object-move-term:has(>.leading-negative){gap:0}.object-move-term[data-tone=positive-number]{color:#27824f}.object-move-term[data-tone=negative-number]{color:#c23b3b}.object-move-term[data-tone=positive-variable]{color:#276aa1}.object-move-term[data-tone=negative-variable]{color:#d26b24}.object-move-term[data-tone=identity]{color:#8752a3}.object-move-term[data-tone=unit]{color:#c33cc3}.object-move-term[data-tone]>.object-atom-wrap>.object-atom,.object-move-term[data-tone]>.plus,.object-move-term[data-tone]>.object-operator-wrap>.plus,.object-coefficient-variable[data-tone]>.object-atom{color:inherit}.object-atom[data-intro-target]{position:relative}.object-atom[data-tone=identity]{color:#8752a3}.object-atom[data-tone=unit]{color:#c33cc3}:where(.object-atom,.object-operator,.product-join,.fraction-bar,.fraction-join):where(:focus:not(:focus-visible)){outline:none}.object-power:not(.object-root)>*{pointer-events:none}.object-root{align-items:flex-start;display:inline-flex}.object-root .root-sign{margin-left:-.2em;margin-right:-.06em;padding:.1em .12em .1em .2em;font-size:1.15em;line-height:1}.object-root .root-degree{align-self:flex-start;margin-right:-.3em;font-size:.6em}.object-root .root-body{border-top:.06em solid;padding:.06em .12em 0 .1em}.object-fraction[data-format=bar]{vertical-align:middle;grid-template-rows:auto .14em auto;place-items:center stretch;min-width:.8em;line-height:.82;display:inline-grid}.fraction-numerator,.fraction-denominator{justify-content:center;padding-inline:.1em;display:flex}.fraction-bar{width:100%;min-width:.8em;height:.14em;color:inherit;cursor:pointer;background:currentColor;border:0;padding:0}.fraction-join{min-width:.65em;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.object-fraction[data-format=bar] :where(.fraction-numerator,.fraction-denominator) .object-fraction[data-format=bar]{font-size:.74em}[data-somersault=right]{animation:1s cubic-bezier(.3,.8,.3,1) somersault-right}[data-somersault=left]{animation:1s cubic-bezier(.3,.8,.3,1) somersault-left}@keyframes somersault-right{to{transform:rotate(360deg)}}@keyframes somersault-left{to{transform:rotate(-360deg)}}.somersault-zones{--zone-circle:2.4em;width:calc(3 * var(--zone-circle));pointer-events:none;justify-content:space-between;font-size:1.4rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.somersault-zone{width:var(--zone-circle,2.4em);height:var(--zone-circle,2.4em);color:#5b4a00;opacity:.5;pointer-events:auto;background:#ffe45e;border:2px solid #f2c230;border-radius:50%;font-size:1.4rem;position:relative}.somersault-zone[data-closest],.somersault-zone[data-help-target]{opacity:1;background:#fff176;border-color:#f6d400;box-shadow:inset 0 0 0 4px #ffd23f}.no-loop-icon{place-items:center;line-height:1;display:inline-grid;position:relative}.no-loop-icon:after{content:"";background:currentColor;border-radius:2px;width:1.15em;height:2px;position:absolute;transform:rotate(-48deg)}.loop-direction-hand{animation:1.4s ease-in-out infinite help-point-down;top:auto;bottom:calc(100% + .2rem)}.loop-direction-hand b{order:1}.loop-direction-hand span{order:2}.product-join{color:#68747a;min-width:0;font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.product-join:empty{vertical-align:-.08em;width:.08em;height:1em;margin-inline:-.04em;position:relative;overflow:visible}.product-join:empty:before{content:"";position:absolute;inset:-.55em -.2em}.equals{cursor:pointer;min-width:0;padding:0}.term{color:#68747a;min-width:0;height:1.25em;font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:.25em;place-items:center;padding:0;line-height:1;transition:transform .12s,background .12s,border .12s;display:inline-grid}.term[data-tone=positive-number]{color:#27824f}.term[data-tone=negative-number]{color:#c23b3b}.term-wrap:has(.term[data-tone=negative-number])>.plus{color:#c23b3b}.term-wrap:has(.term[data-tone=negative-number])>.object-operator-wrap>.plus{color:#c23b3b}.term[data-tone=positive-variable]{color:#276aa1}.term[data-tone=negative-variable]{color:#d26b24}.term-wrap:has(.term[data-tone=negative-variable])>.plus{color:#d26b24}.term-wrap:has(.term[data-tone=negative-variable])>.object-operator-wrap>.plus{color:#d26b24}.object-move-term[data-internal-product-sign]>.plus,.object-move-term[data-internal-product-sign]>.object-operator-wrap>.plus{color:inherit}.term[data-tone=identity]{color:#8752a3}.term[data-tone=unit]{color:#c33cc3}.term[data-movable]{background:0 0}.term[data-interactable]:not([data-movable]){cursor:pointer;border-style:dotted;border-color:currentColor}.object-product:where([data-interactable]:not([data-movable])){outline-offset:2px;cursor:pointer;outline:2px dotted}.term[data-combine=multiply],.object-product[data-combine=multiply],.sum[data-combine=add]{background:#f0e9fb;border-radius:.28em;box-shadow:inset 0 0 0 2px #ad91cb66}.object-product[data-combine=multiply],.sum[data-combine=add]{padding:.03em .09em}.object-product[data-product-boundary=true]{box-shadow:none;background:#fff9df;border-radius:.28em;padding:.03em .09em}.object-product[data-product-boundary=true] .object-atom[data-tone=positive-number]{color:#27824f}.object-product[data-product-boundary=true] .object-atom[data-tone=negative-number]{color:#c23b3b}.object-product[data-product-boundary=true] .object-atom[data-tone=positive-variable]{color:#276aa1}.object-product[data-product-boundary=true] .object-atom[data-tone=negative-variable]{color:#d26b24}.object-product[data-product-boundary=true] .object-atom[data-tone=identity]{color:#8752a3}.object-product[data-product-boundary=true] .object-atom[data-tone=unit]{color:#c33cc3}.object-fraction[data-tone=positive-number]{color:#27824f}.object-fraction[data-tone=negative-number]{color:#c23b3b}.object-paren[data-tone=positive-number]{color:#27824f}.object-paren[data-tone=negative-number]{color:#c23b3b}.product-join[data-associated-tone=positive-number],.fraction-bar[data-associated-tone=positive-number],.fraction-join[data-associated-tone=positive-number]{color:#27824f}.product-join[data-associated-tone=negative-number],.fraction-bar[data-associated-tone=negative-number],.fraction-join[data-associated-tone=negative-number]{color:#c23b3b}.product-join[data-associated-tone=positive-variable],.fraction-bar[data-associated-tone=positive-variable],.fraction-join[data-associated-tone=positive-variable]{color:#276aa1}.product-join[data-associated-tone=negative-variable],.fraction-bar[data-associated-tone=negative-variable],.fraction-join[data-associated-tone=negative-variable]{color:#d26b24}.signed-product[data-tone=negative-number]>.unary-negative,.unary-negative[data-tone=negative-number]{color:#c23b3b}.unary-negative[data-tone=negative-variable]{color:#d26b24}[data-move-owner][data-movable]:hover{transform:translateY(-3px)}[data-selection-anchor=true]{outline:3px solid var(--selection-outline);outline-offset:3px;border-radius:.2em}.term[data-selection-anchor=true]{background:0 0;border-color:#0000}[data-movable][data-selection-anchor=true],[data-movable][data-selection-anchor=true]:hover{border-color:#0000;transform:none}.plus[data-associated-selected]{color:#ad6c0b}[data-move-owner][data-moving]{opacity:.25}.drag-overlay{z-index:30;pointer-events:none;transform:translate(calc(var(--drag-x) * 1px), calc(var(--drag-y) * 1px)) translate(var(--drag-anchor-x,-50%), var(--drag-anchor-y,-50%));display:block;position:fixed;top:0;left:0}.drag-overlay .drag-value{color:#59c787;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--drag-font-size,4.6rem);opacity:1;filter:drop-shadow(0 5px 5px #0004);font-weight:400;display:block}.dragged-move-term{white-space:nowrap;align-items:baseline;display:inline-flex}.drag-overlay[data-tone=negative-number] .drag-value{color:#c23b3b}.drag-overlay[data-panel-drag] .drag-value{color:var(--drag-color);font-family:var(--drag-font);font-weight:var(--drag-weight);letter-spacing:var(--drag-spacing);-webkit-text-decoration:var(--drag-decoration);text-decoration:var(--drag-decoration);text-underline-offset:.12em}.drag-overlay[data-tone=positive-variable] .drag-value{color:#276aa1}.drag-overlay[data-tone=negative-variable] .drag-value{color:#d26b24}.drag-overlay[data-tone=identity] .drag-value{color:#8752a3}.drag-overlay[data-tone=unit] .drag-value{color:#c33cc3}.drag-overlay .drag-hand{filter:drop-shadow(0 4px 3px #0003);font-size:2.7rem;position:absolute;top:.42em;left:62%}.drag-overlay[data-help-drag]{animation:1.2s ease-in-out both help-drag-arc}@keyframes help-drag-arc{0%{transform:translate(var(--drag-0-x), var(--drag-0-y)) translate(-50%, -50%)}16.667%{transform:translate(var(--drag-1-x), var(--drag-1-y)) translate(-50%, -50%)}33.333%{transform:translate(var(--drag-2-x), var(--drag-2-y)) translate(-50%, -50%)}50%{transform:translate(var(--drag-3-x), var(--drag-3-y)) translate(-50%, -50%)}66.667%{transform:translate(var(--drag-4-x), var(--drag-4-y)) translate(-50%, -50%)}83.333%{transform:translate(var(--drag-5-x), var(--drag-5-y)) translate(-50%, -50%)}to{transform:translate(var(--drag-6-x), var(--drag-6-y)) translate(-50%, -50%)}}.term:disabled{color:#64727a;cursor:default}.drop-space{width:54px;height:54px;display:inline-block}.drop-zone-anchor{width:0;height:0;display:inline-block;position:relative;overflow:visible}.drop-zone{--zone-lift:calc(.625em + 27px + 6px);z-index:6;left:-27px;top:calc(-27px - var(--zone-lift));color:#5b4a00;cursor:pointer;opacity:.5;background:#ffe45e;border:2px solid #f2c230;border-radius:50%;place-items:center;width:54px;height:54px;margin:0;padding:0;animation:1.1s ease-in-out infinite alternate zone-pulse;display:grid;position:absolute}.drop-zone[data-keyboard-target=true],.somersault-zone[data-keyboard-target=true],.factor-drop-zone[data-keyboard-target=true],.vertical-drop-zone[data-keyboard-target=true]{opacity:1;outline-offset:3px;outline:3px solid #1c1915}.drop-zone[data-closest],.drop-zone[data-help-target]{opacity:1;background:#fff176;border-color:#f6d400;animation:none;transform:scale(1.12);box-shadow:0 0 0 5px #ffe45e55,0 0 18px #f6d400aa}.drop-zone:not([data-origin]):before{content:"";position:absolute;inset:-8px}.drop-zone[data-edge=leading]{left:-54px}.drop-zone[data-edge=trailing],.drop-zone[data-edge=leading-sign]{left:0}.operator-drop-zone{transform:translate(-50%, calc(-50% - var(--zone-lift)));top:50%;left:50%}.operator-drop-zone[data-closest],.operator-drop-zone[data-help-target]{transform:translate(-50%, calc(-50% - var(--zone-lift))) scale(1.12)}.drop-zone span{font-size:1.4rem}.vertical-drop-zone{left:50%;transform:translate(-50%)}.vertical-drop-zone[data-direction=down]{top:auto;bottom:24px}.vertical-drop-zone[data-direction=up]{top:4px;bottom:auto}.vertical-drop-zone[data-closest]{transform:translate(-50%)scale(1.12)}@keyframes zone-pulse{to{background:#fff36a;border-color:#ffbf00;box-shadow:0 0 0 4px #ffd40035}}.context-menu,.action-bar{background:#fff;border:1px solid #d7d4cb;border-radius:12px;gap:8px;padding:9px;display:flex;box-shadow:0 8px 25px #26383920}.context-menu{z-index:20;flex-direction:column;align-items:stretch;max-width:min(200px,100vw - 16px);margin:0;list-style:none;position:fixed}.context-menu>li,.context-menu>li>button,.context-menu>button{width:100%}.context-menu-drop{gap:4px;margin:4px 0 0 12px;padding:0;list-style:none;display:grid}.context-menu-drop>li>button{color:#fff;cursor:pointer;background:#3a7f86;border:0;border-radius:9px;width:100%;padding:8px 14px}.context-menu>li>button,.context-menu>button,.action-bar button,.primary{color:#fff;cursor:pointer;background:#276a70;border:0;border-radius:9px;padding:10px 16px}.transform-choice-panel{z-index:20;text-align:center;overscroll-behavior:contain;scrollbar-width:thin;background:#fff8e8;border:2px solid #b77a29;border-radius:14px;gap:10px;min-width:210px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 10px 28px #2638392e}.transform-choice-panel>div{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.transform-choice-panel>div>button{color:#fff;cursor:pointer;background:#276a70;border:0;border-radius:9px;padding:10px 16px}.split-slider-panel{width:min(300px,100vw - 16px)}.transform-choice-panel>.split-tree{justify-items:center;gap:0;display:grid;position:relative}.split-tree-root,.split-tree-part{justify-content:center;align-items:center;min-height:52px;display:flex}.split-tree-math .equation{font-size:34px}.split-tree{position:relative}.split-tree-gap{height:44px}.split-tree-branches{z-index:1;pointer-events:none;stroke:#b77a29;stroke-width:5px;stroke-linecap:round;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.split-tree-parts{grid-template-columns:1fr 1fr;place-items:center;column-gap:12px;width:210px;max-width:100%;display:grid}.split-tree[data-help-target] .split-tree-parts{background:#fff176;border-radius:8px}.split-slider-panel .math-choice{align-items:center;min-height:44px}.split-slider-panel .math-choice .equation{font-size:34px}.transform-choice-panel>.split-slider-track{display:block}.split-slider-stops{justify-content:space-between;align-items:center;height:12px;margin:0 10px;display:flex}.split-slider-stop{opacity:.4;background:#b77a29;border-radius:50%;width:12px;height:12px;transform:scale(.5)}.split-slider-stop[data-current]{opacity:1;transform:none}.split-slider{cursor:pointer;appearance:none;background:0 0;width:100%;height:44px;margin:0;display:block}.split-slider:focus-visible{outline-offset:2px;outline:2px solid #276a70}.split-slider::-webkit-slider-runnable-track{background:#eadcbd;border-radius:5px;height:10px}.split-slider::-moz-range-track{background:#eadcbd;border-radius:5px;height:10px}.split-slider::-webkit-slider-thumb{width:var(--split-slider-thumb,32px);height:var(--split-slider-thumb,32px);appearance:none;background:#276a70;border:2px solid #fff8e8;border-radius:50%;margin-top:-11px}.split-slider::-moz-range-thumb{width:var(--split-slider-thumb,32px);height:var(--split-slider-thumb,32px);background:#276a70;border:2px solid #fff8e8;border-radius:50%}.transform-choice-panel>.split-slider-controls{flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:6px;display:flex}.split-slider-controls>button{min-height:44px}.split-slider-controls>.split-slider-dismiss{color:#42545a;background:0 0;border:1px solid #bdc6c4}.split-slider-controls>button{padding:8px 10px;font-size:16px}.split-slider-typed{position:relative}.split-tree-ghost{visibility:hidden}.split-tree-part{position:relative}.split-slider-track-held{justify-content:center;align-items:center;height:56px;display:flex;overflow:hidden}.split-slider-entry-face{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.split-slider-entry-face>.equation{display:block}.split-slider-entry{text-align:center;cursor:text;z-index:1;background:0 0;outline:none;width:2.4ch;min-width:0;padding:0;position:relative}.split-slider-entry-box{box-sizing:border-box;pointer-events:none;background:#fff;border:1.5px solid #276a70;border-radius:4px;position:absolute}.split-slider-commit:disabled{opacity:.45;cursor:default}.split-slider-entry::placeholder{color:#b9c0c2}.split-slider-entry[data-help-target]{background:#fff176;border-color:#f6d400;box-shadow:0 0 0 4px #ffe45e55}.split-slider-typed>.split-slider-entry-hand{white-space:nowrap;z-index:1;margin-top:2px;animation:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.transform-choice-panel>.split-slider-type-hand{white-space:normal;align-self:center;animation:none;position:static;transform:none}.split-slider-controls>.split-slider-type-toggle{color:#42545a;background:0 0;border:1px solid #bdc6c4;border-radius:7px;min-height:44px;padding:4px 14px;font:600 15px/1 system-ui,sans-serif}.split-slider-type-toggle[aria-expanded=true]{background:#e6ecea}.split-slider-type-toggle[data-help-target]{background:#fff176;border-color:#f6d400;box-shadow:0 0 0 4px #ffe45e55}.split-slider-entry-error{color:#a12d2d;white-space:normal;max-width:100%;font:650 12px/1.25 system-ui,sans-serif}.board>.answer-entry{z-index:2;flex-direction:column;align-items:flex-start;gap:4px;margin:0;display:flex;position:absolute;bottom:8px;left:12px}@media (width<=760px){.board>.answer-entry{bottom:86px}}.answer-entry-controls{flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;display:flex}.answer-entry{--answer-face:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--answer-size:clamp(2rem, 4.5vw, 3.2rem)}.answer-entry-lead{font:500 var(--answer-size)/1 var(--answer-face);font-variant-numeric:tabular-nums;color:#2f2a22}.answer-entry[data-board-face] .answer-entry-lead{color:#68747a;white-space:nowrap;margin-right:.25em;font-weight:400}.answer-entry-letter{color:#276aa1}.answer-entry-controls>button{min-height:44px}.answer-entry-controls>.answer-entry-entry{box-sizing:content-box;width:7ch;min-height:44px;font:500 var(--answer-size)/1.15 var(--answer-face);font-variant-numeric:tabular-nums;text-align:center;border:2px solid #aaa69c;border-radius:9px;flex:none;padding:2px 8px}.answer-entry[data-board-face] .answer-entry-controls>.answer-entry-entry{color:#68747a;width:9ch;font-weight:400}.answer-entry-fraction{flex-direction:column;align-items:stretch;gap:4px;display:inline-flex}.answer-entry-fraction>.answer-entry-entry{box-sizing:content-box;width:9ch;min-height:40px;font:400 var(--answer-size)/1.15 var(--answer-face);font-variant-numeric:tabular-nums;color:#68747a;text-align:center;border:2px solid #aaa69c;border-radius:9px;padding:2px 8px}.answer-entry-fraction-bar{background:#68747a;border-radius:2px;height:3px}.app-shell[data-theme=dark] .answer-entry-fraction>.answer-entry-entry{color:#f4f7f6;caret-color:#f6d400;background:#31434a;border-color:#8fa4a8}.answer-entry-controls>.answer-entry-entry::placeholder{letter-spacing:.02em;font-size:.5em}.answer-entry-controls>.answer-entry-entry[data-help-target]{background:#fff176;border-color:#f6d400;box-shadow:0 0 0 4px #ffe45e55}.answer-entry-panel>.answer-entry-entry-hand{white-space:normal;align-self:center;animation:none;position:static;top:auto;left:auto;transform:none}.answer-entry-panel>.answer-entry-entry-error{color:#a12d2d;white-space:normal;max-width:100%;font:650 12px/1.25 system-ui,sans-serif}.move-hint{color:#8a631f;margin:0;font-weight:700;position:absolute;bottom:36px}.success{color:#317354;font-weight:800}.quiet{color:#42545a;cursor:pointer;background:0 0;border:1px solid #bdc6c4;border-radius:9px;padding:9px 14px}.board-controls{border-top:1px solid #d8d6ce;border-bottom:1px solid #d8d6ce;align-items:center;gap:9px;min-width:0;padding:8px 0;display:flex}.equation-controls,.session-controls{display:contents}.board-controls>*>*{order:2}.board-controls>.equation-controls>.contextual-actions{flex:0 auto;order:1;margin-right:5px}.board-controls>.session-controls>.control-spacer{flex:auto;order:3}.board-controls>.equation-controls>.history-actions{order:4}:is(.board-controls>.session-controls>.next,.board-controls>.session-controls>.control-intro:has(>.next)){order:5}.contextual-actions,.history-actions{align-items:center;gap:9px;display:flex}.contextual-actions{scrollbar-width:thin;flex:auto;min-width:0;overflow-x:auto}.contextual-actions[data-help-active]{overflow:visible}.contextual-actions .help-loop-hand{animation:1.4s ease-in-out infinite help-point-down;top:auto;bottom:100%}.contextual-actions .help-loop-hand span{order:2}.contextual-actions .help-loop-hand b{order:1}@keyframes help-point-down{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,14px)rotate(-5deg)}}.history-actions{flex:none;margin-left:auto}.equation-controls button,.session-controls button,.modal button{color:#31484d;cursor:pointer;padding:9px 14px;background:#fff;border:1px solid #aebbb8;border-radius:9px;padding:14px 21px}.equation-controls button:disabled,.session-controls button:disabled{opacity:.4;cursor:default}.equation-controls button[aria-pressed=true]{color:#fff;background:#69539a;border-color:#69539a}.session-controls .next{color:#fff;background:#276a70;border-color:#276a70;font-weight:800}.session-controls .done,.done-feedback,.cancel-feedback,.canceling-status{font-weight:800}.done-feedback,.cancel-feedback{color:#8c3e2c}.canceling-status{color:#8752a3}.problem-feedback{justify-content:center;align-items:center;min-height:1.35em;display:flex}.board[data-done-rejected=true] .equation-fit-content{animation:.34s ease-in-out done-rejected}@keyframes done-rejected{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}[data-slashed=true]:not([data-slashed=true] [data-slashed=true]){position:relative}[data-slashed=true]:not([data-slashed=true] [data-slashed=true]):after{content:"";z-index:8;background:linear-gradient(to top right, transparent calc(50% - .06em), var(--cancel-strike) calc(50% - .06em), var(--cancel-strike) calc(50% + .06em), transparent calc(50% + .06em));pointer-events:none;position:absolute;inset:0}[data-canceling=true]:not([data-canceling=true] [data-canceling=true]){animation:.75s ease-in forwards cancel-fade;position:relative}[data-canceling=true]:not([data-slashed=true]):not([data-canceling=true] [data-canceling=true]):after{content:"";z-index:8;background:linear-gradient(to top right, transparent calc(50% - .06em), var(--cancel-strike) calc(50% - .06em), var(--cancel-strike) calc(50% + .06em), transparent calc(50% + .06em));clip-path:polygon(0 0,0 0,0 0);pointer-events:none;animation:.75s ease-out forwards cancel-strike;position:absolute;inset:0}[data-cancel-rejected=true]{animation:.36s ease-in-out cancel-rejected}@keyframes cancel-strike{45%,to{clip-path:polygon(0 0,200% 0,0 200%)}}@keyframes cancel-fade{0%,72%{opacity:1}to{opacity:0}}@keyframes cancel-rejected{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.help-warning{color:#9b3d20;text-transform:uppercase;font-size:.9rem;font-weight:900}.control-spacer{flex:1}.step-history{background:#fbfaf5;border:1px solid #d8d6ce;border-radius:14px;align-content:start;gap:8px;max-height:min(38vh,320px);margin:8px 0 4px;padding:12px 16px;display:grid;overflow:auto}.play-space:has(.step-history){overflow:auto}.step-history-list{align-content:start;gap:5px;margin:0;padding:0;list-style:none;display:grid}.step-history-step{align-items:baseline;gap:8px;min-width:0;display:flex}.step-history-ordinal{color:#7b8a8d;flex:none;min-width:1.6em;font:700 .85rem/1 system-ui,sans-serif}.step-history-step .equation{gap:var(--operator-space);font-size:1.2rem}.step-history .equation-fit-content>[data-substitution-role=target]{margin-inline-end:96px}.step-history .equation-fit-content:not(:has(>[data-substitution-role=target])){margin-inline-end:96px}.step-history-close{color:#495457;cursor:pointer;background:#f8f6ef;border:1px solid #b8b4aa;border-radius:8px;justify-self:start;min-width:44px;min-height:44px;padding:14px 21px;font:650 1rem/1 system-ui,sans-serif}.board>.step-history-toggle{z-index:6;color:#495457;cursor:pointer;background:#f8f6efdc;border:1px solid #b8b4aa;border-radius:8px;min-width:44px;min-height:44px;padding:14px 21px;font:650 1rem/1 system-ui,sans-serif;position:absolute;bottom:8px;right:12px}.board:has(.equation-zoom)>.step-history-toggle{bottom:62px}.step-history-toggle[aria-expanded=true]{color:#fff;background:#276a70;border-color:#276a70}.modal-backdrop{z-index:40;background:#17292dbb;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;gap:18px;width:min(720px,100%);padding:26px;display:grid;box-shadow:0 18px 70px #0005}.info-ink{font-weight:800}.info-figure{width:min(100%,360px);height:auto;margin:4px auto 0;display:block}.modal h2,.modal p{margin:0}.modal label{justify-content:space-between;align-items:center;gap:10px;display:flex}.equation-entry{background:#f6f7f3;border:1px solid #d6d8d3;border-radius:12px;gap:12px;padding:15px;display:grid}.equation-entry input,.equation-entry select{background:#fff;border:1px solid #aebbb8;border-radius:7px;min-width:220px;padding:7px}.entry-error{color:#a92f2f;font-weight:700}.sandbox-note{color:#806027;margin:0;font-weight:750}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.board>.equation{justify-content:center;width:100%;height:100%;margin:0;padding:44px 24px 42px;position:absolute;inset:0;overflow:clip visible}.board>.equation[data-pannable]{justify-content:flex-start;overflow:auto hidden}.equation-fit-content{zoom:var(--equation-fit,1);flex:none;justify-content:center;align-items:center;margin-inline:auto;display:inline-flex}.equation-fit-content:has(>.mathematical-object~.mathematical-object){flex-direction:column;justify-content:space-around;align-self:stretch;align-items:flex-start}.equation-fit-content:has(>[data-substitution-role]~[data-substitution-role]){flex-flow:wrap;place-content:flex-start;align-self:stretch;gap:.5em;width:100%;margin-inline:0;display:flex;position:relative}.equation-fit-content>[data-substitution-role=source]{zoom:calc(1 / var(--equation-fit,1));font-size:.5em;position:relative;top:7.5%;translate:0 -50%}.equation-fit-content>[data-substitution-role=source] .equation{font-size:1em}.equation-fit-content>[data-substitution-role=source] .object-operator{min-width:44px;min-height:44px}.equation-fit-content>[data-substitution-role=target]{position:absolute;top:50%;left:50%;translate:-50% -50%}.board>.equation[data-pannable] .equation-fit-content{margin-inline:0}.board>.equation[data-pannable] .equation-fit-content>[data-substitution-role=target]{margin-inline-end:96px}.board>.equation[data-pannable] .equation-fit-content:not(:has(>[data-substitution-role=target])){margin-inline-end:96px}.scroll-slider-hand,.board[data-help-target-active] .scroll-slider-hand{left:calc(26px + (100% - 210px) * var(--scroll-progress,0));z-index:7;animation:1.4s ease-in-out infinite scroll-slider-point;top:auto;bottom:2px}@keyframes scroll-slider-point{0%,to{transform:translate(0)}50%{transform:translate(14px,-10px)rotate(6deg)}}.equation-zoom{z-index:6;align-items:center;gap:4px;display:flex;position:absolute;bottom:8px;right:12px}.equation-zoom button{color:#495457;cursor:pointer;background:#f8f6efdc;border:1px solid #b8b4aa;border-radius:8px;min-width:44px;min-height:44px;padding:14px 21px;font:650 1rem/1 system-ui,sans-serif}.equation-zoom .intro-hand{justify-items:end;animation-name:size-cue-point;left:auto;right:0;transform:none}@keyframes size-cue-point{0%,to{transform:none}50%{transform:translateY(14px)rotate(-5deg)}}.formalism-control{z-index:8;pointer-events:none;flex-direction:row-reverse;justify-content:flex-start;align-items:flex-start;gap:5px;display:flex;position:absolute;top:10px;left:12px;right:12px}.formalism-control>*{pointer-events:auto}.formalism-control>.control-intro>button{min-width:44px;min-height:44px}.formalism-control>.control-intro>button,.pane-action-menu button{color:#495457;cursor:pointer;background:#f8f6ef;border:1px solid #b8b4aa;border-radius:8px;padding:4px 9px;font:650 12px/1 system-ui,sans-serif}.pane-action-menu button{min-height:28px;position:relative}.formalism-control>.control-intro>button{padding:14px 21px;font:650 1rem/1 system-ui,sans-serif}.pane-action-menu{background:#fffdf7;border:1px solid #c9c4b8;border-radius:10px;gap:5px;min-width:max-content;padding:7px;display:grid;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 24px #263a3d24}.formalism-operations{flex-flow:row-reverse wrap-reverse;justify-content:flex-start;min-width:0;display:flex;position:static}.menu-divider{background:#c9c4b8;align-self:stretch;width:1px;margin-inline:2px}.pane-action-menu button[data-help-target]{background:#fff176;border-color:#f6d400;box-shadow:0 0 0 4px #ffe45e55}.formalism-operations{top:0;right:calc(100% + 5px)}.menu-item{position:relative}.menu-drop{z-index:2;background:#fffdf7;border:1px solid #c9c4b8;border-radius:10px;gap:5px;padding:7px;display:grid;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 8px 24px #263a3d24}.formalism-chooser{right:calc(100% + 5px)}.menu-item>.formalism-chooser{z-index:2;top:calc(100% + 5px);left:0;right:auto}.formalism-chooser strong{padding:3px 4px;font:700 12px/1.2 system-ui,sans-serif}.formalism-entry label{gap:5px;font:700 12px/1.2 system-ui,sans-serif;display:grid}.formalism-entry input{border:1px solid #aaa69c;border-radius:7px;width:150px;padding:6px 8px;font:500 14px/1.2 system-ui,sans-serif}.formalism-entry [role=alert]{color:#a12d2d;white-space:normal;max-width:190px;font:650 12px/1.25 system-ui,sans-serif}@media (width>=761px){.attention,.masthead span,.sandbox-note{white-space:nowrap}}.instruction-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=1100px) and (width>=761px){.instruction-card p{font-size:1.2rem}}.app-shell[data-theme=dark]{--selection-outline:#ffd15a;--cancel-strike:#8752a3;color:#e6eceb;background:#172327}.app-shell[data-theme=dark] .masthead{color:#9de0d5}.app-shell[data-theme=dark] .masthead span{color:#b9cbc7}.app-shell[data-theme=dark] .attention{color:#f2bf69}.app-shell[data-theme=dark] .term:disabled,.app-shell[data-theme=dark] .plus,.app-shell[data-theme=dark] .equals{color:#d7e0e1;font-weight:400}.app-shell[data-theme=dark] .mathematical-object,.app-shell[data-theme=dark] .object-atom,.app-shell[data-theme=dark] .object-operator,.app-shell[data-theme=dark] .product-join,.app-shell[data-theme=dark] .object-fraction,.app-shell[data-theme=dark] .fraction-join{color:#d7e0e1}.app-shell[data-theme=dark] .object-atom[data-tone=positive-number]{color:#59c787}.app-shell[data-theme=dark] .object-atom[data-tone=negative-number]{color:#ef7676}.app-shell[data-theme=dark] .object-atom[data-tone=positive-variable]{color:#69aee0}.app-shell[data-theme=dark] .object-atom[data-tone=negative-variable]{color:#ef985c}.app-shell[data-theme=dark] .object-atom[data-tone=unit]{color:#e68ce6}.app-shell[data-theme=dark] .object-paren[data-tone=positive-number]{color:#59c787}.app-shell[data-theme=dark] .object-paren[data-tone=negative-number]{color:#ef7676}.app-shell[data-theme=dark] .object-move-term[data-tone=positive-number]{color:#59c787}.app-shell[data-theme=dark] .object-move-term[data-tone=negative-number]{color:#ef7676}.app-shell[data-theme=dark] .object-move-term[data-tone=positive-variable]{color:#69aee0}.app-shell[data-theme=dark] .object-move-term[data-tone=negative-variable]{color:#ef985c}.app-shell[data-theme=dark] .object-move-term[data-tone=identity]{color:#c89cdf}.app-shell[data-theme=dark] .object-move-term[data-tone=unit]{color:#e68ce6}.app-shell[data-theme=dark] .object-move-term[data-tone]>.object-atom-wrap>.object-atom,.app-shell[data-theme=dark] .object-move-term[data-tone]>.plus,.app-shell[data-theme=dark] .object-move-term[data-tone]>.object-operator-wrap>.plus,.app-shell[data-theme=dark] .object-coefficient-variable[data-tone]>.object-atom{color:inherit}.app-shell[data-theme=dark] .object-atom[data-tone=identity]{color:#c89cdf}.app-shell[data-theme=dark] .board,.app-shell[data-theme=dark] .modal,.app-shell[data-theme=dark] .equation-controls button,.app-shell[data-theme=dark] .session-controls button{color:#e6eceb;background:#263438;border-color:#445459}.app-shell[data-theme=dark] .modeling-board-toggle{color:#e6eceb;background:#263438;border-color:#53666b}.app-shell[data-theme=dark] .equation-controls button[aria-pressed=true]{color:#fff;background:#6d55a0;border-color:#9b82d3}.app-shell[data-theme=dark] .done-feedback{color:#ff9d88}.app-shell[data-theme=dark] .canceling-status{color:#c89cdf}.app-shell[data-theme=dark] .splash{background:#263438;border-color:#445459}.app-shell[data-theme=dark] .splash h1{color:#9de0d5}.app-shell[data-theme=dark] .splash>p:not(.eyebrow){color:#d7e0e1}.app-shell[data-theme=dark] .splash .splash-direction{color:#f2bf69}.app-shell[data-theme=dark] .instruction-card{color:#f2e9d9;background:#3c3428}.app-shell[data-theme=dark] .speak-text{color:#f2e9d9;background:#2a241c;border-color:#8a7964}.app-shell[data-theme=dark] .speak-text[aria-pressed=true]{color:#fff;background:#69539a;border-color:#69539a}.app-shell[data-theme=dark] .math-choice,.app-shell[data-theme=dark] .context-menu,.app-shell[data-theme=dark] .action-bar,.app-shell[data-theme=dark] .pane-action-menu,.app-shell[data-theme=dark] .transform-choice-panel,.app-shell[data-theme=dark] .fraction-partition-panel,.app-shell[data-theme=dark] .factor-extraction-panel,.app-shell[data-theme=dark] .split-slider-controls,.app-shell[data-theme=dark] .equation-entry,.app-shell[data-theme=dark] .answer-entry-controls{color:#e6eceb;background:#263438;border-color:#445459}.app-shell[data-theme=dark] .answer-entry-lead{color:#e6eceb}.app-shell[data-theme=dark] .answer-entry-controls>.answer-entry-entry{color:#f4f7f6;caret-color:#f6d400;background:#31434a;border-color:#8fa4a8}.app-shell[data-theme=dark] .answer-entry-controls>.answer-entry-entry::placeholder{color:#9fb1b4}.app-shell[data-theme=dark] .answer-entry-controls>.answer-entry-entry:focus{outline-offset:1px;outline:2px solid #8fd0c5}.app-shell[data-theme=dark] .answer-entry-controls>.answer-entry-entry[data-help-target]{color:#1b1a17;background:#fff176;border-color:#f6d400}.app-shell[data-theme=dark] .answer-entry-entry-error{color:#ff9b8f}.app-shell[data-theme=dark] .menu-drop{color:#e6eceb;background:#263438;border-color:#445459}.app-shell[data-theme=dark] .pane-action-menu button,.app-shell[data-theme=dark] .step-history-close{color:#e6eceb;background:#31434a;border-color:#4d5c61}.app-shell[data-theme=dark] .step-history{color:#e6eceb;background:#263438;border-color:#445459}.app-shell[data-theme=dark] .step-history-ordinal{color:#9fb3b4}.app-shell[data-theme=dark] .board>.step-history-toggle{color:#e6eceb;background:#31434adc;border-color:#4d5c61}.app-shell[data-theme=dark] .board>.step-history-toggle[aria-expanded=true]{color:#12333d;background:#8fd0c5;border-color:#8fd0c5}.app-shell[data-theme=dark] .target,.app-shell[data-theme=dark] .mastery{color:#b9c7c9}.app-shell[data-theme=dark] .splash-learner button,.app-shell[data-theme=dark] .account-options>p button,.app-shell[data-theme=dark] .sign-in h2{color:#8fd0c5}.app-shell[data-theme=dark] .sign-in label,.app-shell[data-theme=dark] .account-options p{color:#c7d5d6}.app-shell[data-theme=dark] .account-options legend{color:#8fd0c5}.app-shell[data-theme=dark] .sign-in-note{color:#9fb3b4}.app-shell[data-theme=dark] .sign-in-actions button{color:#e6eceb;background:#31434a;border-color:#4d5c61}.app-shell[data-theme=dark] .sign-in-actions button.primary{color:#12333d;background:#8fd0c5;border-color:#8fd0c5}.app-shell[data-theme=dark] .sign-in-problem{color:#ffd7d7;background:#5a2626}.app-shell[data-theme=dark] .instruction-card[data-pending-prompt]{background:#51451f}.app-shell[data-theme=dark] .sum[data-combine=add],.app-shell[data-theme=dark] .term[data-combine=multiply],.app-shell[data-theme=dark] .object-product[data-combine=multiply]{background:#3b3545;box-shadow:inset 0 0 0 2px #8d73a866}.app-shell[data-theme=dark] .object-product[data-product-boundary=true]{background:#292715}.app-shell[data-theme=dark] .object-product[data-product-boundary=true] .object-atom[data-tone=positive-number]{color:#59c787}.app-shell[data-theme=dark] .object-product[data-product-boundary=true] .object-atom[data-tone=negative-number]{color:#ef7676}.app-shell[data-theme=dark] .object-product[data-product-boundary=true] .object-atom[data-tone=positive-variable]{color:#69aee0}.app-shell[data-theme=dark] .object-product[data-product-boundary=true] .object-atom[data-tone=negative-variable]{color:#ef985c}.app-shell[data-theme=dark] .object-product[data-product-boundary=true] .object-atom[data-tone=identity]{color:#c89cdf}.app-shell[data-theme=dark] .object-product[data-product-boundary=true] .object-atom[data-tone=unit]{color:#e68ce6}.app-shell[data-theme=dark] .object-fraction[data-tone=positive-number]{color:#59c787}.app-shell[data-theme=dark] .object-fraction[data-tone=negative-number]{color:#ef7676}.app-shell[data-theme=dark] .product-join[data-associated-tone=positive-number],.app-shell[data-theme=dark] .fraction-bar[data-associated-tone=positive-number],.app-shell[data-theme=dark] .fraction-join[data-associated-tone=positive-number]{color:#59c787}.app-shell[data-theme=dark] .product-join[data-associated-tone=negative-number],.app-shell[data-theme=dark] .fraction-bar[data-associated-tone=negative-number],.app-shell[data-theme=dark] .fraction-join[data-associated-tone=negative-number]{color:#ef7676}.app-shell[data-theme=dark] .product-join[data-associated-tone=positive-variable],.app-shell[data-theme=dark] .fraction-bar[data-associated-tone=positive-variable],.app-shell[data-theme=dark] .fraction-join[data-associated-tone=positive-variable]{color:#69aee0}.app-shell[data-theme=dark] .product-join[data-associated-tone=negative-variable],.app-shell[data-theme=dark] .fraction-bar[data-associated-tone=negative-variable],.app-shell[data-theme=dark] .fraction-join[data-associated-tone=negative-variable]{color:#ef985c}.app-shell[data-theme=dark] .signed-product[data-tone=negative-number]>.unary-negative,.app-shell[data-theme=dark] .unary-negative[data-tone=negative-number]{color:#ef7676}.app-shell[data-theme=dark] .unary-negative[data-tone=negative-variable]{color:#ef985c}.app-shell[data-theme=dark] .intro-hand{color:#f3c87d}.app-shell[data-theme=dark] .help-warning{color:#ffb38f}.app-shell[data-theme=dark] .modeling-panel{background:#263438;border-color:#445459}.app-shell[data-theme=dark] .modeling-story-token{color:#e6eceb;background:#31464b;border-color:#597075}.app-shell[data-theme=dark] .modeling-token[data-kind=name],.app-shell[data-theme=dark] .modeling-bin[data-bin=maybe-using] .modeling-token:not([data-kind=value]){color:#69aee0}.app-shell[data-theme=dark] .modeling-token[data-kind=value]{color:#59c787}.app-shell[data-theme=dark] .modeling-slot[data-slot=discard] .modeling-name-drop{background:#263438;border-color:#445459}@media (width>=761px) and (height>=500px){.play-space{grid-template-rows:minmax(min-content,20%) minmax(0,1fr) minmax(min-content,10%);grid-template-columns:minmax(0,1fr);align-content:stretch;display:grid}.splash-shell>.play-space{display:flex}.play-heading{grid-area:1/1;grid-template-rows:minmax(min-content,40%) minmax(min-content,40%) minmax(min-content,20%);grid-template-columns:minmax(0,1fr) 25%;align-items:start;gap:0 24px;min-height:0}.play-heading>.level-header{grid-area:1/1}.play-heading>.instruction-card{grid-area:2/1;width:fit-content;max-width:min(70ch,100%);margin-top:0;overflow:hidden}.play-heading>.attention{grid-area:3/1/auto/-1;align-self:end;margin:0}.play-heading>.masthead{grid-area:1/2/span 3;align-content:start;width:100%;height:100%;padding:0;container-type:size}.play-heading>.masthead strong{font-size:min(4.65rem,22cqw,42cqh)}.play-heading>.masthead span{font-size:min(1.2rem,8cqw,12cqh);transform:none}.play-heading>.masthead:before{font-size:min(103cqh,103cqw);inset:0;transform:none}.work-area{grid-area:2/1;height:auto;min-height:0;max-height:none}.board,.modeling-panel,.graph-panel{margin:0}.problem-feedback{z-index:4;pointer-events:none;grid-area:2/1;align-self:end;height:1.35em;margin-bottom:4px}.play-space:has(>.fraction-partition-panel){grid-template-rows:minmax(min-content,20%) minmax(0,1fr) min-content minmax(min-content,10%)}.fraction-partition-panel{grid-area:3/1}.play-space:has(>.fraction-partition-panel) .board-controls{grid-row:4}.play-space:has(>.factor-extraction-panel){grid-template-rows:minmax(min-content,20%) minmax(0,1fr) min-content minmax(min-content,10%)}.factor-extraction-panel{grid-area:3/1}.play-space:has(>.factor-extraction-panel) .board-controls{grid-row:4}.play-space:has(>.answer-entry-panel){grid-template-rows:minmax(min-content,20%) minmax(0,1fr) min-content minmax(min-content,10%)}.answer-entry-panel{grid-area:3/1}.play-space:has(>.answer-entry-panel) .board-controls{grid-row:4}.board-controls{grid-area:3/1;align-self:center}.play-space{--modeling-word-size:min(calc((100dvh - 36px) * .7 / 9.75), 6vw)}}@media (width>=900px) and (height>=500px){.play-space:has(.step-history){grid-template-columns:minmax(0,1fr) clamp(180px,20vw,290px);column-gap:clamp(12px,1.8vw,26px)}:is(.play-space:has(.step-history)>.play-heading,.play-space:has(.step-history)>.board-controls){grid-column:1/-1}:is(.play-space:has(.step-history)>.work-area,.play-space:has(.step-history)>.modeling-panel,.play-space:has(.step-history)>.graph-panel){grid-column:1}.play-space:has(.step-history)>.step-history{grid-area:2/2;align-self:stretch;max-height:none;margin:0}}@media (width<=760px){html,body,#root{height:auto;overflow:visible}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.tower-panel,.play-space{height:auto;overflow:visible}.tower-panel{padding:22px}.tower-panel nav{display:flex;overflow-x:auto}.level-link{min-width:150px}.play-space{padding:24px 16px}.play-heading{grid-template-columns:minmax(0,1fr)}.instruction-card{grid-template-columns:1fr}.board-controls{border:0;flex-wrap:wrap;gap:0;padding:0}.equation-controls,.session-controls{align-items:center;gap:9px;padding:10px 0;display:flex}.equation-controls{border-top:1px solid #d8d6ce;border-bottom:1px solid #d8d6ce;flex:100%;min-height:76px}.session-controls{flex:100%}.board-controls>.equation-controls>.contextual-actions{margin-right:0}.mastery{width:100%;font-size:inherit;flex-direction:row;gap:10px;position:static}.mastery progress{writing-mode:horizontal-tb;direction:ltr;width:100%;height:15px}.masthead{justify-self:center}.target{margin-top:8px}.modeling-quantities{grid-template-columns:1fr}.play-heading{align-items:center;row-gap:0}.play-heading>.masthead{margin-top:24px}.level-header h1{margin:4px 0 0;font-size:3rem}.masthead{padding:.18em .55em .28em}.instruction-card{gap:8px;margin-top:10px;padding:11px 16px}.attention{text-align:center;margin:9px 0 -6px}.play-space:has(.modeling-panel) .attention{margin:8px 0 0}.board{margin:18px 0 8px}.modeling-panel{margin:16px 0 8px}}[data-substitution-drop=true]{border-radius:5px;box-shadow:0 0 0 3px #d99732}[data-substitution-drop=true]:has([data-substitution-drop=true]){box-shadow:none}.drag-value>.math-viewport{width:auto;height:auto;font-size:inherit;margin:0;padding:0;position:static}.drag-overlay .equation{font-size:inherit}.math-choice{cursor:pointer;background:#fff;border:1px solid #d7d4cb;border-radius:9px;justify-content:center;padding:10px 16px;display:flex}.math-choice:focus-visible{outline-offset:2px;outline:2px solid #276a70}.math-choice-preview{pointer-events:none}.math-choice .equation{font-size:28px}.fraction-partition-panel,.factor-extraction-panel{text-align:center;background:#fff;border:1px solid #d7d4cb;border-radius:12px;padding:12px}.fraction-partition-panel p,.factor-extraction-panel p{margin:0 0 8px}.fraction-partition-panel>div:last-child,.factor-extraction-panel>div:last-child{justify-content:center;gap:8px;display:flex}.fraction-partition-panel>div:last-child>button,.fraction-partition-panel .control-intro>button,.factor-extraction-panel>div:last-child>button,.factor-extraction-panel .control-intro>button{padding:8px 12px}.fraction-partition-preview{pointer-events:none;margin-bottom:12px}.fraction-partition-panel .equation{font-size:28px}[data-partition-selectable]{cursor:pointer}[data-partition-selectable]:not([data-partition-picked]){outline:2px dashed var(--selection-outline);outline-offset:3px;border-radius:5px}[data-partition-picked]{outline-offset:2px;border-radius:5px;outline:2px solid #356d9c}.app-shell[data-theme=dark] .modeling-panel{color:#d7e0e1;background:#16272b;border-color:#22383d;box-shadow:0 14px 45px #0006}.app-shell[data-theme=dark] .modeling-pickup-status{color:#2b2412;background:#f3d77e;border-color:#d5ad43}.app-shell[data-theme=dark] .modeling-story{color:#d7e0e1}.app-shell[data-theme=dark] .modeling-token{background:#0f1e22;border-color:#2f4a50}.app-shell[data-theme=dark] .modeling-token-word{background:0 0}.app-shell[data-theme=dark] .modeling-split-part[data-word-rest]{color:#6e8b9a}.app-shell[data-theme=dark] .modeling-token:not([data-kind=value]),.app-shell[data-theme=dark] .modeling-split-word[data-kind=name],.app-shell[data-theme=dark] .modeling-slot-fill[data-kind=name],.app-shell[data-theme=dark] .modeling-word-choice{color:#69aee0}.app-shell[data-theme=dark] .modeling-pick-label{color:#e6eceb;background:#263438;border-color:#53666b}.app-shell[data-theme=dark] .modeling-pick-word>button{color:#69aee0;background:#0f1e22;border-color:#2f4a50}.app-shell[data-theme=dark] .modeling-pick-cue,.app-shell[data-theme=dark] .modeling-pick-toggle-cue{color:#f3c87d}.app-shell[data-theme=dark] .modeling-token[data-kind=value],.app-shell[data-theme=dark] .modeling-slot-fill[data-kind=value]{color:#59c787}.app-shell[data-theme=dark] .modeling-token[data-letter]{color:#a9cdf0}.app-shell[data-theme=dark] .modeling-split-part[data-letter]{color:#e9f2f7}.app-shell[data-theme=dark] .modeling-token[aria-pressed=true]{outline-color:#7fd2c6}.app-shell[data-theme=dark] .modeling-quantities>span{background:#0f1e22;border-color:#2f4a50}.app-shell[data-theme=dark] .modeling-quantities strong{color:#7fd2c6}.app-shell[data-theme=dark] .modeling-quantities small{color:#a7b8bc}.app-shell[data-theme=dark] .modeling-bin{background:#14242a;border-color:#3c6d73}.app-shell[data-theme=dark] .modeling-bin strong{color:#c3d2d6}.app-shell[data-theme=dark] .modeling-blank-equation{color:#a7b8bc}.app-shell[data-theme=dark] .modeling-name-drop{color:#a7b8bc;background:#0f1e22;border-color:#3c6d73}.app-shell[data-theme=dark] .modeling-feedback{color:#f0a08c}.app-shell[data-theme=dark] .complete-status{color:#7fd2c6}.problem-eeg path{fill:none;stroke:#e2466f;stroke-width:4.5px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 5px #ff7aa0cc)}.welcome-chat{text-align:left;align-content:start;justify-items:stretch;gap:14px}.chat-line{align-items:flex-end;gap:12px;display:flex}.chat-brain{justify-content:flex-start}.chat-you{justify-content:flex-end}.chat-avatar{flex:none;place-items:center;width:2.6rem;height:2.6rem;font-size:2.2rem;line-height:1;display:grid}.chat-shadow{width:2.4rem;height:2.6rem;position:relative}.chat-shadow:before{content:"";background:#3b4446;border-radius:50%;width:1.15rem;height:1.15rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.chat-shadow:after{content:"";background:#3b4446;border-radius:1.1rem 1.1rem .3rem .3rem;width:2.2rem;height:1.25rem;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.chat-thought,.chat-speech{max-width:30rem;margin:0;padding:12px 18px;font-size:1.2rem;line-height:1.35;position:relative}.chat-thought{color:#184c52;background:#eef8f5;border:2px dashed #9fcfc5;border-radius:26px;font-weight:650}.chat-thought:before,.chat-thought:after{content:"";background:#eef8f5;border:2px dashed #9fcfc5;border-radius:50%;position:absolute}.chat-thought:before{width:12px;height:12px;bottom:2px;left:-14px}.chat-thought:after{width:7px;height:7px;bottom:-6px;left:-24px}.chat-speech{color:#2f2a22;background:#dfe3e1;border-radius:20px 20px 6px;font-style:italic}.chat-replies{flex-wrap:wrap;gap:10px;padding-right:3.6rem}.chat-replies button{color:#2f2a22;cursor:pointer;background:#fff;border:2px solid #b9c4c1;border-radius:20px 20px 6px;min-height:44px;padding:8px 18px;font:650 1.05rem/1.2 system-ui,sans-serif}.chat-replies button.primary{color:#fff;background:#184c52;border-color:#184c52}.chat-replies button:hover{border-color:#184c52}.chat-form{padding-left:3.6rem}.app-shell[data-theme=dark] .chat-thought,.app-shell[data-theme=dark] .chat-thought:before,.app-shell[data-theme=dark] .chat-thought:after{background:#1f3236;border-color:#5f9e93}.app-shell[data-theme=dark] .chat-thought{color:#9de0d5}.app-shell[data-theme=dark] .chat-speech{color:#e6eceb;background:#3a474b}.app-shell[data-theme=dark] .chat-shadow:before,.app-shell[data-theme=dark] .chat-shadow:after{background:#b9c4c1}.app-shell[data-theme=dark] .chat-replies button{color:#e6eceb;background:#31434a;border-color:#5a6a6e}.app-shell[data-theme=dark] .chat-replies button.primary{color:#12333d;background:#8fd0c5;border-color:#8fd0c5}.splash.welcome-chat{box-sizing:border-box;flex:auto;align-content:center;gap:clamp(10px,2.2vh,26px);width:min(1500px,100%);min-height:0;margin:0 0 clamp(12px,2vh,28px);padding:clamp(20px,3.5vh,48px) clamp(20px,3.5vw,64px)}.splash-shell>.play-space{padding:clamp(10px,2vh,22px) clamp(16px,3vw,48px) 0}.welcome-chat .chat-thought,.welcome-chat .chat-speech{max-width:62rem;padding:.55em .9em;font-size:clamp(1.3rem,min(2.7vw,4.4vh),2.7rem);line-height:1.3}.welcome-chat .chat-avatar{width:clamp(3rem,min(5.4vw,8vh),5.6rem);height:clamp(3rem,min(5.4vw,8vh),5.6rem);font-size:clamp(2.6rem,min(4.8vw,7vh),5rem)}.welcome-chat .chat-shadow{width:clamp(2.6rem,min(4.6vw,7vh),4.8rem);height:clamp(3rem,min(5.4vw,8vh),5.6rem)}.welcome-chat .chat-shadow:before{width:46%;height:40%;top:0}.welcome-chat .chat-shadow:after{border-radius:999px 999px 12% 12%;width:100%;height:48%;bottom:0}.welcome-chat .chat-thought:before{width:.55em;height:.55em;left:-.7em}.welcome-chat .chat-thought:after{width:.32em;height:.32em;bottom:-.3em;left:-1.15em}.welcome-chat .chat-replies{gap:clamp(10px,1.4vw,22px);padding-right:clamp(4rem,8vw,8rem)}.welcome-chat .chat-replies button{border-width:3px;min-height:0;padding:.45em 1em;font-size:clamp(1.15rem,min(2.2vw,3.6vh),2.2rem)}.welcome-chat .chat-form{padding-left:clamp(4rem,8vw,8rem)}.welcome-chat .chat-replies button,.welcome-chat .chat-replies button.primary{color:#184c52;background:#e3f1ee;border:3px solid #184c52;border-radius:14px;transition:transform 60ms,box-shadow 60ms;transform:translateY(-2px);box-shadow:0 5px #184c52}.welcome-chat .chat-replies button:hover{background:#d0e9e3}.welcome-chat .chat-replies button:active{transform:translateY(2px);box-shadow:0 1px #184c52}.welcome-chat .chat-replies button:focus-visible{outline-offset:3px;outline:3px solid #f6d400}.app-shell[data-theme=dark] .welcome-chat .chat-replies button,.app-shell[data-theme=dark] .welcome-chat .chat-replies button.primary{color:#e6f5f2;background:#2c4a4d;border-color:#8fd0c5;box-shadow:0 5px #8fd0c5}.app-shell[data-theme=dark] .welcome-chat .chat-replies button:hover{background:#355a5d}.app-shell[data-theme=dark] .welcome-chat .chat-replies button:active{box-shadow:0 1px #8fd0c5}.board,.board *,.drag-overlay,.modeling-panel,.graph-panel{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.board input,.board textarea,.modeling-panel input,.modeling-panel textarea{-webkit-user-select:text;user-select:text}.intro-hand.circle-demo{animation:1.6s linear infinite circle-demo}.board[data-help-target-active] .intro-hand.circle-demo{animation:1.2s linear infinite circle-demo}@keyframes circle-demo{0%{transform:translate(-50%,-54px)}8.3%{transform:translate(calc(26px - 50%),-49px)}16.7%{transform:translate(calc(45px - 50%),-34px)}25%{transform:translate(calc(52px - 50%),-14px)}33.3%{transform:translate(calc(45px - 50%),6px)}41.7%{transform:translate(calc(26px - 50%),21px)}50%{transform:translate(-50%,26px)}58.3%{transform:translate(calc(-50% - 26px),21px)}66.7%{transform:translate(calc(-50% - 45px),6px)}75%{transform:translate(calc(-50% - 52px),-14px)}83.3%{transform:translate(calc(-50% - 45px),-34px)}91.7%{transform:translate(calc(-50% - 26px),-49px)}to{transform:translate(-50%,-54px)}}.rotate-prompt,.nav-toggle{display:none}@media (pointer:coarse){.app-shell{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.board.work-area,.modeling-panel,.graph-panel{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.board .object-atom,.board button.object-operator{position:relative}.board .object-atom:after,.board button.object-operator:after{content:"";position:absolute;inset:min(0px,50% - 22px)}.context-menu button,.context-menu [role=menuitem],.product-choice button{min-height:44px}}@media (pointer:coarse) and (orientation:portrait) and (width<=760px){.app-shell>:not(.rotate-prompt),.modal-backdrop{display:none!important}html,body,#root,.app-shell{height:100%;overflow:hidden}.rotate-prompt{z-index:1000;text-align:center;color:#f8fbf8;background:linear-gradient(160deg,#123c44,#0e2d33);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:fixed;inset:0}.rotate-prompt p{margin:0;font-size:1.6rem;font-weight:800}.rotate-prompt small{opacity:.85;font-size:1rem}.rotate-phone{font-size:4.5rem;animation:2.4s ease-in-out infinite rotate-phone}@keyframes rotate-phone{0%,30%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}}@media (pointer:coarse) and (orientation:landscape) and (height<=560px){html,body,#root{height:100%;overflow:hidden}.app-shell{grid-template-columns:minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden}.nav-toggle{top:max(6px, env(safe-area-inset-top));left:max(6px, env(safe-area-inset-left));z-index:61;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.3rem;display:inline-flex;position:fixed}.tower-panel{z-index:60;width:min(300px,75vw);height:100dvh;box-shadow:none;padding:58px 12px 12px;transition:transform .18s ease-out;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.app-shell[data-nav-open] .tower-panel{transform:none;box-shadow:0 0 0 100vmax #0006}.tower-panel nav{display:block;overflow:visible}.options-button{background:#0f3138;margin-bottom:-12px;padding:12px 7px;position:sticky;bottom:-12px}.play-space{height:100dvh;padding:6px max(8px, env(safe-area-inset-right)) 6px 58px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;grid-auto-rows:min-content;align-content:stretch;gap:4px 8px;display:grid;overflow:hidden}.splash-shell>.play-space{padding-left:58px;display:flex;overflow:auto}.play-heading{flex-wrap:wrap;grid-area:1/1;align-items:baseline;gap:2px 10px;min-height:0;margin:0;display:flex}.play-heading>.masthead{display:none}.level-header h1{margin:0;font-size:1.05rem;line-height:1.2}.play-heading>.instruction-card{flex:60%;grid-template-columns:1fr;gap:4px;width:auto;max-width:none;margin:0;padding:4px 10px;font-size:.95rem}.instruction-card p,.attention{white-space:normal}.play-heading>.instruction-card{height:auto;min-height:0}.instruction-card .target[data-empty]{display:none}.instruction-card p{margin:0}.play-heading>.attention{text-align:left;flex:100%;margin:0;font-size:.85rem}.work-area{grid-area:2/1;height:auto;min-height:0;max-height:none;margin:0}.board,.modeling-panel,.graph-panel{grid-area:2/1;margin:0}.play-space{--work-area-height:calc(100dvh - 110px);--modeling-word-size:min(calc((100dvh - 110px) / 9.75), 6vw)}.problem-feedback{z-index:4;pointer-events:none;grid-area:2/1;align-self:end;height:1.35em;margin-bottom:2px}.fraction-partition-panel,.factor-extraction-panel,.answer-entry-panel,.step-history{grid-column:1;max-height:40dvh;margin:0;overflow:auto}.board-controls{border:0;flex-flow:column;grid-area:1/2/span 4;align-self:stretch;gap:6px;min-height:0;padding:0;display:flex;overflow-y:auto}.board-controls .equation-controls,.board-controls .session-controls{border:0;flex-direction:column;flex:none;align-items:stretch;gap:6px;min-height:0;padding:0;display:flex}.board-controls .history-actions,.board-controls .contextual-actions{flex-direction:column;gap:6px;margin:0;display:flex}.board-controls button{min-width:78px;min-height:44px;padding:4px 10px;font-size:.95rem}.control-spacer{display:none}.mastery{left:max(6px, env(safe-area-inset-left));width:44px;font-size:.8rem;position:fixed;top:58px;bottom:8px}.splash-heading{display:none}.splash.welcome-chat{border-radius:18px;gap:6px;min-height:0;margin:6px 0;padding:10px 16px}.welcome-chat .chat-thought,.welcome-chat .chat-speech{padding:.3em .7em;font-size:clamp(.95rem,5.2vh,1.2rem)}.welcome-chat .chat-avatar,.welcome-chat .chat-shadow{width:2.2rem;height:2.2rem;font-size:1.9rem}.welcome-chat .chat-replies{padding-right:2.8rem}}.board [data-drag-hit],.modeling-panel [data-drag-hit]{touch-action:none;-webkit-user-drag:none}
