@font-face{font-family:Cooper BT;src:url(/fonts/CooperBT-LightItalic.ttf)format("truetype");font-weight:300;font-style:italic}@font-face{font-family:Fenomen Sans;font-style:normal;font-weight:400;font-display:swap;src:local(Fenomen Sans),local(FenomenSans-Regular),url(/fonts/FenomenSans-Regular.woff2)format("woff2"),url(/fonts/FenomenSans-Regular.woff)format("woff")}@font-face{font-family:Fenomen Sans;font-style:normal;font-weight:700;font-display:swap;src:local(Fenomen Sans Bold),local(FenomenSans-Bold),url(/fonts/FenomenSans-Bold.woff2)format("woff2"),url(/fonts/FenomenSans-Bold.woff)format("woff")}:root{--font-math-upright:"Cooper BT", ui-serif, Georgia, "Times New Roman", serif;--font-math-cooper:"Cooper BT", ui-serif, Georgia, "Times New Roman", serif;--font-fenomen:"Fenomen Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--bg:#f4f6fa;--surface:#fff;--text:#1e293b;--muted:#64748b;--border:#e2e8f0;--primary:#2563eb;--primary-hover:#1d4ed8;--fallback-primary-on-surface-08:#edf4fe;--fallback-primary-on-surface-12:#e8f0fe;--fallback-primary-on-surface-16:#e0e9ff;--fallback-primary-alpha-10:#2563eb1a;--fallback-primary-alpha-18:#2563eb2e;--fallback-green-on-surface-14:#e8f5ea;--fallback-green-border-45:#b6e0c3;--fallback-red-on-surface-12:#fdecec;--fallback-red-border-40:#f5b8b8;--fallback-primary-border-72:#aac4f5;--workspace-bg:#eef1f7;--radius:10px;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100vh;display:flex}.app--fill{flex-direction:column;flex:1;max-width:none;min-height:0;margin:0;padding:0;display:flex}.app__header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:.65rem 1rem}.app__header--compact h1{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.15rem;font-weight:650}.app__header--compact .app__sub{max-width:none;margin:0;font-size:.82rem}.app__body{flex:1;gap:0;min-height:0;display:flex}.bank-sidebar{z-index:0;border-right:1px solid var(--border);width:min(300px,92vw);box-shadow:none;border-radius:0;flex-direction:column;flex-shrink:0;gap:0;display:flex;position:relative;overflow-y:auto}.bank-sidebar h2{margin:0 0 .5rem;font-size:.95rem}.app__body--free-rail{position:relative}.bank-sidebar.bank-sidebar--free-tools{min-width:90px;max-width:90px;width:90px!important}.bank-sidebar--free-tools{left:max(12px, env(safe-area-inset-left,0px));z-index:40;box-sizing:border-box;max-height:min(calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)), calc(100vh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:default;pointer-events:auto;background:#f2f2f2;border-radius:999px;flex-flow:column;align-items:center;gap:5px;min-height:0;padding:12px 5px;position:fixed;top:50%;overflow:visible auto;transform:translateY(-50%);box-shadow:0 4px 14px #0000001a,0 1px 3px #00000014;border:none!important}.bank-sidebar--equation-right.bank-sidebar--free-tools{left:auto;right:max(12px, env(safe-area-inset-right,0px));box-sizing:border-box;justify-content:flex-start;min-height:0;padding:24px 5px 14px}.bank-sidebar--equation-right .bank-grid--equation-right{flex:none;justify-content:flex-start;min-height:0}.bank-sidebar--free-tools .bank-rail__tools{flex-direction:column;flex-shrink:0;align-items:center;gap:5px;display:flex}.bank-sidebar--free-tools .bank-rail__tool{box-sizing:border-box;color:#111827;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;transition:background .15s,color .15s;display:inline-flex}.bank-sidebar--free-tools .bank-rail__tool:hover{background:#e5e7eb}.bank-sidebar--free-tools .bank-rail__tool--active{color:#fff;background:#1e1b4b}.bank-sidebar--free-tools .bank-rail__tool--active:hover{color:#fff;background:#312e81}.bank-sidebar--free-tools .bank-rail__tool-icon{width:22px;height:22px}.bank-sidebar--free-tools .bank-rail__back{width:38px;min-width:38px;height:38px;min-height:38px}.bank-rail__back{color:#000;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;min-height:36px;margin:0;padding:0;transition:background .2s;display:inline-flex}.bank-rail__back:hover{background:#e5e7eb}.bank-rail__back:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.bank-rail__back-icon{display:block}.bank-rail__sep{background:#d1d5db;border:none;flex-shrink:0;width:32px;max-width:32px;height:1px;margin:0 0 8px}.bank-sidebar--free-tools .bank-rail__sep--vertical{align-self:center;width:min(48px,80%);min-width:0;max-width:48px;height:1px;min-height:1px;margin:4px 0}.bank-sidebar--free-tools .bank-heading--rail.bank-heading--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}.bank-sidebar--free-tools .bank-grid--rail{flex-flow:column;flex:auto;justify-content:flex-start;align-items:center;gap:.45rem;width:100%;min-width:0;margin:0;display:flex}.bank-sidebar--free-tools .bank-grid--rail .bank-cell{flex-shrink:0;width:auto;max-width:none}.bank-sidebar--free-tools .bank-grid--rail .bank-cell__drop{touch-action:none;background:#fff;border:2px dashed #b8c2d4;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:0;padding:.12rem;display:flex}.bank-sidebar--free-tools .bank-grid--rail .bank-cell__drop--free-rail{box-sizing:border-box;background:0 0;border:none;outline:none;width:auto;height:auto;padding:0;display:block;overflow:visible}.bank-sidebar--free-tools .bank-cell__free-rail-inner{pointer-events:none;flex-shrink:0;display:block}.bank-sidebar--free-tools .bank-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:5px;width:100%;margin:auto 0 0;display:flex}.bank-sidebar--free-tools .bank-rail__clear-icon{width:24px;height:24px}.bank-sidebar--free-tools .bank-rail__clear{box-sizing:border-box;color:#000;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:row;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;min-height:38px;margin:0;padding:0;transition:background .2s,color .2s;display:flex;position:relative}.bank-rail__clear-icon{flex-shrink:0;width:24px;height:24px}.bank-rail__clear-tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#000c;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1.2;transition:opacity .2s;position:absolute;top:calc(100% + 6px);left:50%;right:auto;transform:translate(-50%)}.bank-sidebar--free-tools .bank-rail__clear:hover,.bank-sidebar--free-tools .bank-rail__clear:focus-visible{color:#ef4444;background:#fef2f2}.bank-sidebar--free-tools .bank-rail__clear:hover .bank-rail__clear-tooltip,.bank-sidebar--free-tools .bank-rail__clear:focus-visible .bank-rail__clear-tooltip{opacity:1}.task-random-intro{color:var(--muted);margin:0 0 .65rem;font-size:.82rem;line-height:1.4}.sidebar-check-stack{flex-flow:wrap;justify-content:center;align-items:center;gap:.45rem;display:flex}.check-icon-button{box-sizing:border-box;color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2.85rem;min-width:2.85rem;height:2.85rem;min-height:2.85rem;padding:0;transition:background .15s,opacity .15s;display:inline-flex;box-shadow:0 6px 14px #22c55e47}.check-icon-button:hover{background:#16a34a}.check-icon-button:focus-visible{outline-offset:2px;outline:2px solid #22c55e99}.check-icon-button__icon{display:block}.equation-free-answer-banner--dark .check-icon-button,.simplify-free-answer-banner--dark .check-icon-button,.expand-free-answer-banner--dark .check-icon-button{background:#4ade80;box-shadow:0 8px 18px #0003}.equation-free-answer-banner--dark .check-icon-button:hover,.simplify-free-answer-banner--dark .check-icon-button:hover,.expand-free-answer-banner--dark .check-icon-button:hover{background:#22c55e}.task-random-intro+.btn{margin-bottom:.65rem}.bank-heading{margin-top:1rem!important}.task-poly-row{font-size:2.16rem;font-style:normal;font-weight:300;font-family:var(--font-math-upright);color:var(--text);flex-wrap:wrap;align-items:baseline;gap:.12em .2em;margin:0 0 .5rem;line-height:1.45;display:flex}.task-poly__lhs{white-space:nowrap}.task-poly__eq{white-space:pre}.task-poly__lit{white-space:nowrap}.math-var{font-style:italic;font-family:var(--font-math-cooper);font-size:1.05em}.factor-task-panel{border-bottom:1px solid var(--border);background:var(--surface);-webkit-overflow-scrolling:touch;padding:.85rem 1rem 1rem;overflow-x:auto}.task-poly-row--on-board{flex-wrap:nowrap;width:max-content;max-width:none;margin:0;padding-bottom:.2rem}.factor-inline-input{box-sizing:border-box;width:3em;min-width:2.25em;max-width:6em;font:inherit;color:var(--text-h,var(--text));text-align:center;border:none;border-bottom:2px solid var(--primary);background:var(--fallback-primary-alpha-10);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:2px 2px 0 0;outline:none;margin:0 .05em;padding:.12em .2em .06em;font-size:1em;font-weight:600}.factor-inline-input::placeholder{color:var(--muted);font-weight:500}.factor-inline-input:focus{background:var(--fallback-primary-alpha-18);background:color-mix(in srgb, var(--primary) 18%, transparent);border-bottom-color:var(--primary-hover)}.factor-inline-input--coef{width:2.35em;min-width:2em;max-width:4em}.factor-task-panel--with-keyboard .math-keyboard{margin-top:.55rem}.factor-bracket-input{box-sizing:border-box;width:8.5rem;min-width:6.5rem;max-width:14rem;font:inherit;color:var(--text-h,var(--text));text-align:left;border:none;border-bottom:2px solid var(--primary);background:var(--fallback-primary-alpha-10);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:2px 2px 0 0;outline:none;flex:7rem;margin:0 .05em;padding:.12em .35em .06em;font-size:1em;font-weight:600}.factor-bracket-input::placeholder{color:var(--muted);font-weight:500}.factor-bracket-input:focus{background:var(--fallback-primary-alpha-18);background:color-mix(in srgb, var(--primary) 18%, transparent);border-bottom-color:var(--primary-hover)}.panel{background:var(--surface);padding:.85rem 1rem}.field{color:var(--muted);flex-direction:column;gap:.35rem;margin-bottom:.65rem;font-size:.85rem;display:flex}.field--inline{flex:1;min-width:0}.field select,.field input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .5rem;font-size:.95rem}.task-desc{color:var(--text);margin:0 0 .65rem;font-size:.88rem}.bank-grid{grid-template-columns:repeat(2,1fr);gap:.75rem .5rem;margin-top:.35rem;display:grid}.bank-cell{flex-direction:column;align-items:center;gap:.35rem;display:flex}.bank-cell__drop{border:2px dashed var(--border);cursor:grab;background:var(--bg);touch-action:none;border-radius:8px;justify-content:center;align-items:center;padding:.35rem;display:flex}.bank-cell__drop:active{cursor:grabbing}.hint{color:var(--muted);margin:.5rem 0 0;font-size:.76rem}.hint--bank{margin-bottom:0}.bank-actions{flex-direction:column;gap:.45rem;margin-top:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:.5rem .75rem;font-size:.88rem;font-weight:600}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.workspace-column{z-index:1;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.workspace-scroll{background:var(--workspace-bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.workspace-scroll--tile-live-drag{z-index:2;overflow-x:visible}.workspace-board-fill{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.workspace{background:var(--workspace-bg);box-sizing:border-box;flex:1;width:100%;position:relative}.workspace-equation-scaffold{pointer-events:none;z-index:0;box-sizing:border-box;width:min(42rem,100% - 1.5rem);max-width:calc(100% - 1.5rem);padding:.5rem .75rem;position:absolute;transform:translate(-50%,-50%)}.workspace-equation-scaffold__row{font-size:2.9rem;font-style:normal;font-weight:300;font-family:var(--font-math-upright);color:var(--text);grid-template-columns:1fr auto 1fr;align-items:baseline;column-gap:.35em;width:100%;display:grid}.workspace-equation-scaffold__lhs{text-align:right;justify-self:end}.workspace-equation-scaffold__eq{justify-self:center}.workspace-equation-scaffold__rhs{text-align:left;white-space:normal;word-break:break-word;justify-self:start}.workspace-equation-scaffold__rail{font-size:2.9rem;font-family:var(--font-math-upright);color:var(--text);grid-template-columns:1fr auto 1fr;width:100%;margin-top:2.75rem;font-style:normal;font-weight:300;display:grid}.workspace-equation-scaffold__rail-col{flex-direction:column;align-items:center;gap:4rem;padding-bottom:.35rem;display:flex}.workspace-equation-scaffold__rail-mark{line-height:1}.feedback{background:var(--fallback-primary-on-surface-08);background:color-mix(in srgb, var(--primary) 8%, var(--surface));border:1px solid var(--border);border-radius:8px;margin:.5rem 0 0;padding:.55rem .65rem;font-size:.88rem}.feedback--sidebar{margin:.65rem 0 .85rem}.feedback--success{background:var(--fallback-green-on-surface-14);background:color-mix(in srgb, #16a34a 14%, var(--surface));border-color:var(--fallback-green-border-45);border-color:color-mix(in srgb, #16a34a 45%, var(--border));color:#166534;font-weight:600}.feedback--fail{background:var(--fallback-red-on-surface-12);background:color-mix(in srgb, #dc2626 12%, var(--surface));border-color:var(--fallback-red-border-40);border-color:color-mix(in srgb, #dc2626 40%, var(--border));color:#991b1b;font-weight:600}.algebra-tile{box-sizing:border-box;-webkit-tap-highlight-color:transparent;flex-shrink:0;position:relative}.algebra-tile--pt-palette-pos{--tile-face:#5e9fff;--tile-ink:#fff;--tile-rim-top:#8ec6ff;--tile-rim-bot:#244f9a}.algebra-tile--pt-palette-neg{--tile-face:#f8485e;--tile-ink:#000b2e;--tile-rim-top:#ff6f82;--tile-rim-bot:#8b1028}.algebra-tile__underlay{box-sizing:border-box;border-radius:var(--at-r,10px);background:var(--tile-rim-bot);width:100%;height:100%;box-shadow:inset 0 0 0 var(--at-stroke,3px) #5078be73, inset 0 1px 0 0 #ffffff24;transform:translateY(var(--at-shift,0px));pointer-events:none;z-index:0;position:absolute;top:0;left:0}@supports (background:color-mix(in srgb, red, blue)){.algebra-tile__underlay{box-shadow:inset 0 0 0 var(--at-stroke,3px) color-mix(in srgb, var(--tile-rim-bot) 72%, white 28%), inset 0 1px 0 0 #ffffff24}}.algebra-tile__face{box-sizing:border-box;border-radius:var(--at-r,10px);width:100%;height:100%;padding:clamp(2px, calc(var(--at-min,40px) * .06), 11px);box-shadow:inset 0 0 0 var(--at-stroke,3px) var(--tile-rim-top), inset 0 1px 0 0 #ffffff2e;background:var(--tile-face);color:var(--tile-ink);font-style:normal;font-weight:300;font-family:var(--font-math-upright);pointer-events:none;z-index:1;border:none;justify-content:center;align-items:center;transition:filter .15s;display:flex;position:absolute;top:0;left:0}.algebra-tile__label{z-index:1;text-align:center;line-height:1;position:relative}.algebra-tile:not(.algebra-tile--drag):hover .algebra-tile__face{filter:brightness(1.04)}.algebra-tile--drag .algebra-tile__face{filter:brightness(1.02)}.algebra-tile--drag{filter:drop-shadow(0 10px 26px #00000047)}.algebra-tile--playback-zero-pair{opacity:.3}.algebra-tile--playback-zero-pair .algebra-tile__face{text-decoration:line-through;text-decoration-thickness:.08em}.free-zero-pair-fx__ghost{transform-origin:50% 88%;will-change:transform, opacity, filter;animation:.58s cubic-bezier(.2,.95,.25,1) forwards free-zero-pair-vapor}.free-zero-pair-fx__ghost--lag{animation-name:free-zero-pair-vapor-mirror;animation-delay:50ms}@keyframes free-zero-pair-vapor{0%{opacity:1;filter:blur()brightness()saturate()drop-shadow(0 0 #2563eb00);transform:scale(1)translateY(0)rotate(0)}15%{opacity:1;filter:blur()brightness(1.45)saturate(1.35)drop-shadow(0 6px 18px #3b82f6a6);transform:scale(1.12)translateY(-8px)rotate(-7deg)}45%{opacity:.88;filter:blur(4px)brightness(1.65)saturate(1.55)drop-shadow(0 14px 36px #60a5fa8c);transform:scale(1.2)translateY(-36px)rotate(4deg)}to{opacity:0;filter:blur(18px)brightness(2)saturate(1.7)drop-shadow(0 28px 56px #93c5fd59);transform:scale(1.42)translateY(-88px)rotate(14deg)}}@keyframes free-zero-pair-vapor-mirror{0%{opacity:1;filter:blur()brightness()saturate()drop-shadow(0 0 #2563eb00);transform:scale(1)translateY(0)rotate(0)}15%{opacity:1;filter:blur()brightness(1.45)saturate(1.35)drop-shadow(0 6px 18px #f43f5e8c);transform:scale(1.12)translateY(-8px)rotate(7deg)}45%{opacity:.88;filter:blur(4px)brightness(1.65)saturate(1.55)drop-shadow(0 14px 36px #fb718580);transform:scale(1.2)translateY(-36px)rotate(-4deg)}to{opacity:0;filter:blur(18px)brightness(2)saturate(1.7)drop-shadow(0 28px 56px #fda4af4d);transform:scale(1.42)translateY(-88px)rotate(-14deg)}}@media (prefers-reduced-motion:reduce){.free-zero-pair-fx__ghost{animation:.28s ease-out forwards free-zero-pair-vapor-simple;animation-delay:0s!important}.free-zero-pair-fx__ghost--lag{animation-name:free-zero-pair-vapor-simple}@keyframes free-zero-pair-vapor-simple{to{opacity:0;transform:scale(.92)}}}.algebra-tile--selected:not(.algebra-tile--drag){z-index:120!important}.algebra-tile--selection-chrome:not(.algebra-tile--drag){isolation:isolate;z-index:500!important}.algebra-tile__hover-bridge{z-index:1;pointer-events:auto;width:2.85rem;height:calc(18px + 1.85rem);position:absolute;top:100%;left:50%;transform:translate(-50%)}.algebra-tile__hover-bridge-left{z-index:1;pointer-events:auto;width:calc(18px + 1.85rem);height:2.85rem;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.algebra-tile__hover-bridge-right{z-index:1;pointer-events:auto;width:calc(18px + 1.85rem);height:2.85rem;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.algebra-tile__hover-bridge-top{z-index:1;pointer-events:auto;width:3.35rem;height:calc(18px + 1.65rem);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.algebra-tile__sign-toggle{z-index:2;cursor:pointer;opacity:0;pointer-events:none;appearance:none;width:3rem;height:1.65rem;font:inherit;isolation:isolate;background:0 0;border:none;border-radius:999px;margin:0;padding:0;line-height:0;transition:opacity .12s,transform .12s;display:block;position:absolute;bottom:100%;left:50%;overflow:visible;transform:translate(-50%,-6px)}.algebra-tile__sign-toggle:before{content:"";z-index:0;border-radius:inherit;box-sizing:border-box;box-shadow:none;background:#c7c7cc;border:1px solid #0000001f;transition:background .2s,border-color .2s;position:absolute;inset:0}.algebra-tile__sign-toggle--neg:before{background:#fb7185;border-color:#be123c47}.algebra-tile__sign-toggle--pos:before{background:#60a5fa;border-color:#1d4ed847}.algebra-tile__sign-toggle--mixed:before{background:#aeb4bd;border-color:#00000024}.algebra-tile__sign-toggle--mixed .algebra-tile__sign-toggle__thumb{color:#4b5563;border-color:#4b556359;margin-top:-.675rem;top:50%;left:50%;transform:translate(-50%)}.free-lasso-rect{border:2px dashed #2563eb73;border:2px dashed color-mix(in srgb, var(--primary) 55%, transparent);background:#2563eb14;border-radius:4px}.free-selection-chrome__bridge-top{z-index:1;pointer-events:auto;width:3.35rem;height:calc(18px + 1.65rem);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.free-selection-chrome__bridge-bottom{z-index:1;pointer-events:auto;width:2.85rem;height:calc(18px + 1.85rem);position:absolute;top:100%;left:50%;transform:translate(-50%)}.free-selection-chrome .algebra-tile__sign-toggle,.free-selection-chrome .algebra-tile__duplicate{opacity:1;pointer-events:auto}.free-selection-chrome .algebra-tile__duplicate.free-selection-chrome__duplicate--neg{color:#be123c;border-color:#be123c73;box-shadow:0 1px 2px #0000001f,0 2px 8px #be123c38}.free-selection-chrome .algebra-tile__duplicate--bottom.free-selection-chrome__duplicate--neg:hover{background:#f7e3e8;transform:translate(-50%,5px)scale(1.06)}.free-selection-chrome .algebra-tile__duplicate.free-selection-chrome__duplicate--neg:focus-visible{outline-color:#be123c}.algebra-tile--selected:not(.algebra-tile--drag) .algebra-tile__sign-toggle{opacity:1;pointer-events:auto}.algebra-tile__sign-toggle__thumb{z-index:1;width:1.35rem;height:1.35rem;box-shadow:none;background:#fff;border:1px solid #0000001a;border-radius:50%;justify-content:center;align-items:center;margin-top:-.675rem;line-height:0;transition:left .22s cubic-bezier(.4,0,.2,1),border-color .2s,color .2s;display:flex;position:absolute;top:50%;left:2px}.algebra-tile__sign-toggle--neg .algebra-tile__sign-toggle__thumb{color:#be123c;border-color:#be123c59;left:2px}.algebra-tile__sign-toggle--pos .algebra-tile__sign-toggle__thumb{color:var(--primary);border-color:#1d4ed859;left:calc(100% - 1.35rem - 2px)}.algebra-tile__sign-toggle:hover{transform:translate(-50%,-7px)}.algebra-tile__sign-toggle:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--primary);outline-offset:3px}.algebra-tile__duplicate{z-index:5;border:2px solid var(--fallback-primary-border-72);border:2px solid color-mix(in srgb, var(--primary) 72%, var(--border));width:1.85rem;height:1.85rem;color:var(--primary);cursor:pointer;opacity:0;pointer-events:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;transition:opacity .12s,transform .12s,background .12s;display:flex;position:absolute;box-shadow:0 1px 2px #0000001f,0 2px 8px #2563eb2e}.algebra-tile__duplicate-count-bubble{z-index:3;min-width:1.7rem;min-height:1.55rem;font-family:var(--font-fenomen);color:#1e40af;text-align:center;opacity:0;pointer-events:none;background:#fff;border:2px solid #2563eb59;border-radius:999px;padding:.14rem .5rem .16rem;font-size:.88rem;font-weight:700;line-height:1.1;transition:opacity .14s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001f}.algebra-tile__duplicate:hover .algebra-tile__duplicate-count-bubble{opacity:1}.algebra-tile--neg .algebra-tile__duplicate-count-bubble{color:#9f1239;border-color:#be123c61}.algebra-tile__duplicate--bottom{top:100%;left:50%;transform:translate(-50%,6px)}.algebra-tile__duplicate--left{top:50%;left:0;transform:translate(calc(-100% - 6px),-50%)}.algebra-tile__duplicate--right{top:50%;left:100%;transform:translate(6px,-50%)}.algebra-tile--selected:not(.algebra-tile--drag) .algebra-tile__duplicate{opacity:1;pointer-events:auto}.algebra-tile--neg .algebra-tile__duplicate{color:#be123c;border-color:#be123c73;box-shadow:0 1px 2px #0000001f,0 2px 8px #be123c38}.algebra-tile__duplicate--bottom:hover{background:var(--fallback-primary-on-surface-12);background:color-mix(in srgb, var(--primary) 12%, #fff);transform:translate(-50%,5px)scale(1.06)}.algebra-tile__duplicate--left:hover{background:var(--fallback-primary-on-surface-12);background:color-mix(in srgb, var(--primary) 12%, #fff);transform:translate(calc(-100% - 7px),-50%)scale(1.06)}.algebra-tile__duplicate--right:hover{background:var(--fallback-primary-on-surface-12);background:color-mix(in srgb, var(--primary) 12%, #fff);transform:translate(7px,-50%)scale(1.06)}.algebra-tile--neg .algebra-tile__duplicate--bottom:hover,.algebra-tile--neg .algebra-tile__duplicate--left:hover,.algebra-tile--neg .algebra-tile__duplicate--right:hover{background:#f7e3e8}.algebra-tile__duplicate:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--primary);outline-offset:2px}.algebra-tile--neg .algebra-tile__duplicate:focus-visible{outline-color:#be123c}.mode-tabs{gap:.35rem;margin-bottom:.85rem;display:flex}.mode-tab{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:8px;flex:1;padding:.4rem .35rem;font-size:.78rem;font-weight:600}.mode-tab--active{background:var(--fallback-primary-on-surface-16);background:color-mix(in srgb, var(--primary) 16%, var(--surface));color:var(--text);border-color:var(--primary)}.equation-level-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem;display:flex}.equation-level-tab{border:1px solid var(--border);background:var(--surface);min-width:4.5rem;color:var(--muted);cursor:pointer;border-radius:8px;flex:1;padding:.35rem .3rem;font-size:.72rem;font-weight:600}.equation-level-tab--active{background:var(--fallback-primary-on-surface-16);background:color-mix(in srgb, var(--primary) 16%, var(--surface));color:var(--text);border-color:var(--primary)}.simplify-panel{border-bottom:1px solid var(--border);background:var(--surface);padding:.85rem 1rem 1rem}.equation-x-row{font-size:2.1rem;font-family:var(--font-math-upright);flex-wrap:wrap;align-items:center;gap:.35rem .55rem;font-style:normal;font-weight:300;display:flex}.equation-x-row__prefix{color:var(--text);flex-shrink:0;align-items:baseline;gap:.35em;font-weight:300;display:inline-flex}.equation-x-row__equals{font-weight:300}.equation-x-row .equation-x-row__input{flex:10rem;width:auto;min-width:min(100%,7rem);max-width:24rem}.simplify-exercise{font-size:2.1rem;font-family:var(--font-math-upright);margin-bottom:.65rem;font-style:normal;font-weight:300;line-height:1.45}.simplify-exercise__label{color:var(--muted);font-weight:500}.simplify-exercise__eq{font-weight:300}.simplify-exercise--with-answer{flex-wrap:wrap;align-items:baseline;gap:.15em .35em;display:flex}.simplify-exercise__answer{flex:14rem;min-width:min(100%,11rem);max-width:100%;margin:0}.simplify-answer-input--inline{vertical-align:baseline;width:100%;margin:0}.simplify-answer-label{color:var(--muted);flex-direction:column;gap:.35rem;margin-bottom:.65rem;font-size:.82rem;display:flex}.simplify-answer-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:.5rem .65rem;font-family:ui-monospace,monospace;font-size:1rem}.simplify-exercise--with-answer .simplify-answer-input,.equation-x-row .equation-x-row__input{font-size:2.1rem}.math-keyboard{margin-top:.25rem}.math-keyboard__grid{gap:.4rem;display:grid}.math-keyboard__grid--wide{grid-template-columns:repeat(10,minmax(0,1fr));width:100%;max-width:min(42rem,100%)}.math-keyboard__key{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;min-height:2.25rem;padding:.35rem;font-size:.95rem;font-weight:600}.math-keyboard__key:hover{background:var(--fallback-primary-on-surface-08);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.math-keyboard__key--wide{font-size:.72rem}.math-keyboard__key--tool{font-size:.78rem}.math-keyboard__key--span4{grid-column:span 4}.main-menu{box-sizing:border-box;max-width:960px;margin:0 auto;padding:2rem 1.25rem 2.5rem}.main-menu.main-menu--geo{--main-menu-ink:#3f4d5c;--main-menu-ink-muted:#5c6b7a;max-width:none;min-height:100vh;font-family:var(--font-fenomen);background:#fff;margin:0;padding:0}.main-menu__masthead{box-sizing:border-box;background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.25rem;padding:1rem 1.75rem;display:flex}.main-menu__brand{letter-spacing:-.015em;min-width:0;color:var(--main-menu-ink);font-size:clamp(1.05rem,2.1vw,1.45rem);font-weight:400;line-height:1.25;font-family:var(--font-fenomen);flex:12rem;margin:0}.main-menu__tabs{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.main-menu__tab{color:var(--main-menu-ink);font-size:.86rem;font-weight:400;font-family:var(--font-fenomen);cursor:pointer;background:#fff;border:1px solid #5f7080a6;border-radius:999px;padding:.48rem 1.2rem;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.main-menu__tab:hover{background:#f8fafc}.main-menu__tab--active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 10px #2563eb6b}.main-menu__tab--active:hover{color:#fff;background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 3px 12px #2563eb7a}.main-menu__tab:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.main-menu__body{box-sizing:border-box;max-width:1180px;font-family:var(--font-fenomen);margin:0 auto;padding:1.5rem 1.75rem 3rem}.main-menu__section-title{letter-spacing:-.015em;color:var(--main-menu-ink);font-size:clamp(1.35rem,3vw,1.85rem);font-weight:400;line-height:1.2;font-family:var(--font-fenomen);margin:0 0 1.35rem}.main-menu__help-panel-wrap{max-width:44rem;margin:0 auto}.main-menu__help-panel-wrap .controls-help-panel{font-family:var(--font-fenomen);color:var(--main-menu-ink);background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:0;padding:1.1rem 1.2rem 1.25rem;box-shadow:0 1px 2px #0f172a0d}.main-menu__help-panel-wrap .controls-help__h{color:var(--main-menu-ink);font-weight:500}.main-menu__help-panel-wrap .controls-help__lead{color:var(--main-menu-ink-muted)}.main-menu__help-panel-wrap .controls-help__list li{color:var(--main-menu-ink)}.main-menu__help-panel-wrap .controls-help-panel strong{color:var(--main-menu-ink);font-weight:500}.main-menu__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.main-menu__grid--geo{gap:1.25rem}.main-menu__grid--practice{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.main-menu__free-single{justify-content:center;max-width:22rem;margin:0 auto;display:flex}.main-menu__free-single .main-menu__card--geo{width:100%;min-height:12rem}@media (width<=1050px){.main-menu__grid--practice{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.main-menu__grid--practice{grid-template-columns:1fr}}.main-menu__card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-direction:column;align-items:flex-start;padding:1.15rem 1.1rem;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex;box-shadow:0 1px 2px #0f172a0f}.main-menu__card--geo{min-height:11rem;font-family:var(--font-fenomen);border-width:1px;border-radius:18px;align-items:stretch;padding:1.1rem 1.1rem 1rem;position:relative;box-shadow:0 1px 2px #0f172a0d,0 4px 16px #0f172a0f}.main-menu__card--geo:hover{border-color:#1e3a8a59;transform:translateY(-3px);box-shadow:0 2px 4px #1e3a8a14,0 10px 28px #1e3a8a1a}.main-menu__card--geo:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.main-menu__card--tone-0{background:#e3f2fd;border-color:#64b5f673}.main-menu__card--tone-1{background:#fffde7;border-color:#ffd54f8c}.main-menu__card--tone-2{background:#e8f5e9;border-color:#81c78480}.main-menu__card--tone-3{background:#fce4ec;border-color:#f0629273}.main-menu__card--tone-free{background:#e3f2fd;border-color:#64b5f673}.main-menu__card-visual{flex:1;justify-content:center;align-items:center;min-height:5.5rem;margin-bottom:.35rem;display:flex}.main-menu__card-icon{color:var(--main-menu-ink);opacity:.78}.main-menu__card-footer{justify-content:space-between;align-items:flex-end;gap:.65rem;width:100%;margin-top:auto;display:flex}.main-menu__card--geo .main-menu__card-title{color:var(--main-menu-ink);text-align:left;font-size:1rem;font-weight:400;line-height:1.25;font-family:var(--font-fenomen);margin:0}.main-menu__card-arrow{color:var(--main-menu-ink-muted);flex-shrink:0;align-self:center}.main-menu__card--geo:hover .main-menu__card-arrow{color:#64748b}.main-menu__card-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:500}.main-menu-back{text-align:center;width:100%;margin-bottom:.85rem}.main-menu__help-toggle{width:fit-content;max-width:100%;margin-top:.75rem}.controls-help-toggle{width:fit-content;max-width:100%;margin-top:.45rem;font-size:.84rem}.controls-help-panel{border-top:1px solid var(--border);color:var(--text);max-width:40rem;margin-top:.75rem;padding-top:.75rem;font-size:.84rem;line-height:1.5}.controls-help__lead{color:var(--muted);margin:0 0 .65rem}.controls-help__h{color:var(--text);margin:.85rem 0 .4rem;font-size:.92rem;font-weight:650}.controls-help__list{margin:.2rem 0 0;padding-left:1.2rem}.controls-help__list li{margin:.25rem 0}.controls-help__p{color:var(--muted);margin:.35rem 0 0}.app.app--free-geometry{min-height:100vh}.app.app--free-geometry .app__header{display:none}.workspace-column--free-geo{flex:auto;min-width:0;min-height:0;position:relative}.app.app--free-geometry .workspace-scroll.workspace-scroll--free-geo{flex:auto;width:100%;min-height:0;padding-top:0;padding-bottom:0;scroll-padding-bottom:0}.app.app--free-geometry .workspace-scroll.workspace-scroll--free-geo .workspace-board-fill{box-sizing:border-box;flex-direction:column;flex:auto;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.workspace-board-fill--free-viewport{position:relative}.workspace-scroll--free-geo{overscroll-behavior:none;background-color:#e4e7ef;overflow:hidden}.workspace-scroll--free-geo.workspace-scroll--free-geo-dark{background-color:#111827}.free-canvas-paper{box-sizing:border-box;background-color:#fff}.free-canvas-paper--dark{background-color:#1a1b26}.geo-topbar{z-index:50;background:#f2f2f2;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:calc(100vw - 24px);padding:8px;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #00000014}.geo-topbar--dark{background:#2a2b36;box-shadow:0 2px 12px #00000059}.free-poly-expr{left:50%;bottom:max(1rem, env(safe-area-inset-bottom,0px));z-index:52;max-width:min(100vw - 24px,28rem);color:var(--text);font-size:clamp(1.9rem,5.2vw,2.24rem);font-style:normal;font-weight:300;font-family:var(--font-math-upright);letter-spacing:-.02em;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #93c5fdd9;border-radius:12px;padding:.42rem 1.15rem;line-height:1.35;position:fixed;top:auto;transform:translate(-50%);box-shadow:0 1px 2px #2563eb14,0 4px 14px #00000012}.free-poly-expr .math-var{font-weight:inherit;font-style:italic}.free-poly-term--pos{color:#1d4ed8}.free-poly-term--neg{color:#e11d48}.free-poly-term--zero{color:var(--muted)}.free-poly-expr--equation{max-width:min(100vw - 24px,36rem)}.free-poly-expr__equation{flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem .35rem;display:flex}.free-poly-expr__side{min-width:0}.free-poly-expr__eq{color:var(--muted);flex-shrink:0;font-weight:600}.free-eq-band{background:#2563eb1c;border-left:1px solid #2563eb38;border-right:1px solid #2563eb38}.free-eq-band--dark{background:#60a5fa1f;border-left-color:#60a5fa47;border-right-color:#60a5fa47}.free-eq-viewport-mark{z-index:48;pointer-events:none;font-size:clamp(3rem,8.4vmin,3.8rem);font-weight:600;font-family:var(--font-math-upright);color:#1e40af;letter-spacing:-.04em;-webkit-user-select:none;user-select:none;text-shadow:0 0 1px #fff,0 0 10px #fff,0 1px 2px #fffffff2;font-style:normal;line-height:1;position:fixed;transform:translate(-50%,-50%)}.free-eq-viewport-mark--dark{color:#e8ecff;text-shadow:0 0 2px #0f172ae6,0 1px 3px #00000073}.free-poly-expr--dark{color:#cbd5e1;background:#1e293b;border-color:#60a5fa73;box-shadow:0 1px 2px #0003,0 4px 16px #00000059}.free-poly-expr--dark .free-poly-term--pos{color:#93c5fd}.free-poly-expr--dark .free-poly-term--neg{color:#fb7185}.free-poly-expr--dark .free-poly-term--zero,.free-poly-expr--dark .free-poly-expr__eq{color:#94a3b8}.equation-free-task-banner{left:50%;top:max(5.25rem, calc(env(safe-area-inset-top,0px) + 4.5rem));z-index:51;max-width:min(100vw - 24px,36rem);color:var(--text);font-size:clamp(1.85rem,5vw,2.2rem);font-style:normal;font-weight:300;font-family:var(--font-math-upright);text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #93c5fdd9;border-radius:12px;padding:.5rem 1.25rem;line-height:1.35;position:fixed;transform:translate(-50%);box-shadow:0 1px 2px #2563eb14,0 4px 14px #00000012}.equation-free-task-banner--dark{color:#e2e8f0;background:#1e293b;border-color:#60a5fa73;box-shadow:0 1px 2px #0003,0 4px 16px #00000059}.equation-free-answer-banner,.simplify-free-answer-banner{left:50%;bottom:max(1rem, env(safe-area-inset-bottom,0px));z-index:52;pointer-events:auto;background:#fff;border:1px solid #93c5fdd9;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;max-width:min(100vw - 24px,38rem);padding:.42rem 1rem .42rem 1.15rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 1px 2px #2563eb14,0 4px 14px #00000012}.equation-free-answer-banner--dark,.simplify-free-answer-banner--dark{background:#1e293b;border-color:#60a5fa73;box-shadow:0 1px 2px #0003,0 4px 16px #00000059}.equation-free-answer-banner--answer-route{flex-direction:column;align-items:stretch;gap:.45rem}.equation-free-answer-banner__main-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;display:flex}.equation-answer-eval{box-sizing:border-box;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:.42rem .85rem .48rem;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.82rem;line-height:1.2;display:flex}.equation-answer-eval__title{letter-spacing:.01em;font-weight:700}.equation-answer-eval__smile{font-size:.8rem;font-weight:600}.equation-answer-eval--success{color:#1b5e20;background:#e8f5e9;border-color:#2e7d32}.equation-answer-eval--fail{color:#b71c1c;background:#ffebee;border-color:#c62828}.equation-answer-eval--dark.equation-answer-eval--success{color:#bbf7d0;background:#14532d59;border-color:#4ade808c}.equation-answer-eval--dark.equation-answer-eval--fail{color:#fecaca;background:#7f1d1d59;border-color:#f8717173}.expand-free-answer-banner.equation-free-answer-banner--answer-route,.simplify-free-answer-banner.equation-free-answer-banner--answer-route{overflow:visible}.expand-free-answer-banner.equation-free-answer-banner--answer-route .expand-free-answer-banner__main-row,.simplify-free-answer-banner.equation-free-answer-banner--answer-route .simplify-free-answer-banner__main-row{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:center;width:100%;min-width:0;overflow:auto hidden}.expand-free-answer-banner .equation-free-answer-banner__equals,.simplify-free-answer-banner .equation-free-answer-banner__equals{flex-shrink:0}.simplify-free-answer-banner__input.factor-bracket-input,.expand-free-answer-banner__input.factor-bracket-input,.factor-free-answer-banner__bracket.factor-bracket-input{min-height:2.85rem;font-family:var(--font-math-upright);color:var(--text);background:#f8fafcf2;border:1px solid #93c5fda6;border-radius:10px;padding:.28rem .55rem;font-style:normal;font-weight:400}.simplify-free-answer-banner__input.factor-bracket-input,.expand-free-answer-banner__input.factor-bracket-input{flex:8rem;width:auto;min-width:5rem;max-width:min(16rem,32vw);font-size:clamp(.95rem,2.2vw,1.2rem)}.factor-free-answer-banner.equation-free-answer-banner,.simplify-free-answer-banner.equation-free-answer-banner,.expand-free-answer-banner.equation-free-answer-banner{max-width:min(100vw - 24px,56rem)}.factor-free-answer-banner.equation-free-answer-banner--answer-route{overflow:visible}.factor-free-answer-banner.equation-free-answer-banner--answer-route .factor-free-answer-banner__main-row{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:center;width:100%;min-width:0;overflow:auto hidden}.factor-free-answer-banner .equation-free-answer-banner__equals{flex-shrink:0}.factor-free-answer-banner__poly,.simplify-free-answer-banner__poly,.expand-free-answer-banner__poly{font-size:clamp(1.05rem,2.8vw,1.65rem);font-style:normal;font-weight:400;font-family:var(--font-math-upright);color:#1d4ed8;white-space:nowrap;flex-shrink:0;line-height:1.2}.factor-free-answer-banner__poly .math-var,.simplify-free-answer-banner__poly .math-var,.expand-free-answer-banner__poly .math-var{font-weight:inherit;font-style:italic}.factor-free-answer-banner--dark .factor-free-answer-banner__poly,.simplify-free-answer-banner--dark .simplify-free-answer-banner__poly,.expand-free-answer-banner--dark .expand-free-answer-banner__poly{color:#93c5fd}.factor-free-answer-banner__paren{font-size:clamp(1.05rem,2.8vw,1.65rem);font-style:normal;font-weight:400;font-family:var(--font-math-upright);color:#1d4ed8;flex-shrink:0;line-height:1.2}.factor-free-answer-banner--dark .factor-free-answer-banner__paren{color:#93c5fd}.factor-free-answer-banner__bracket.factor-bracket-input{flex:0 5.5rem;width:auto;min-width:3.25rem;max-width:min(9.5rem,22vw);font-size:clamp(.95rem,2.2vw,1.2rem)}.equation-level-pick__kind{margin-bottom:.75rem}.equation-free-answer-banner__prefix{font-size:clamp(1.9rem,5.2vw,2.24rem);font-style:normal;font-weight:300;font-family:var(--font-math-upright);color:#1d4ed8;-webkit-user-select:none;user-select:none;align-items:baseline;gap:.15rem;line-height:1.2;display:inline-flex}.equation-free-answer-banner--dark .equation-free-answer-banner__prefix{color:#93c5fd}.equation-free-answer-banner__equals{color:var(--muted);font-weight:600}.equation-free-answer-banner--dark .equation-free-answer-banner__equals{color:#94a3b8}.equation-free-answer-banner__input{box-sizing:border-box;min-width:6rem;max-width:14rem;min-height:2.85rem;font-size:1.35rem;font-family:var(--font-math-upright);color:var(--text);background:#f8fafcf2;border:1px solid #93c5fda6;border-radius:10px;flex:1;padding:.28rem .55rem;font-style:normal}.equation-free-answer-banner--dark .equation-free-answer-banner__input,.simplify-free-answer-banner--dark .simplify-free-answer-banner__input.factor-bracket-input,.expand-free-answer-banner--dark .expand-free-answer-banner__input.factor-bracket-input,.factor-free-answer-banner--dark .factor-free-answer-banner__bracket.factor-bracket-input{color:#e2e8f0;background:#1e293bd9;border-color:#60a5fa66}.simplify-free-answer-banner__input.factor-bracket-input:focus,.expand-free-answer-banner__input.factor-bracket-input:focus,.factor-free-answer-banner__bracket.factor-bracket-input:focus{background:#eff6fff5;border-color:#3b82f6cc}.simplify-free-answer-banner--dark .simplify-free-answer-banner__input.factor-bracket-input:focus,.expand-free-answer-banner--dark .expand-free-answer-banner__input.factor-bracket-input:focus,.factor-free-answer-banner--dark .factor-free-answer-banner__bracket.factor-bracket-input:focus{background:#1e293bf5;border-color:#60a5fabf}.equation-free-answer-banner__calc{box-sizing:border-box;cursor:pointer;color:#fff;background:#64748b;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:2.85rem;min-height:2.85rem;padding:0;display:inline-flex;box-shadow:0 1px 2px #64748b59}.equation-free-answer-banner__calc:hover{background:#475569}.equation-free-answer-banner__calc:focus-visible{outline-offset:2px;outline:2px solid #64748ba6}.equation-free-answer-banner__calc--active{background:#2563eb;box-shadow:0 1px 2px #2563eb59}.equation-free-answer-banner__calc--active:hover{background:#1d4ed8}.equation-free-answer-banner--dark .equation-free-answer-banner__calc{background:#475569;box-shadow:0 1px 2px #00000040}.equation-free-answer-banner--dark .equation-free-answer-banner__calc:hover{background:#64748b}.equation-free-answer-banner--dark .equation-free-answer-banner__calc--active{background:#3b82f6}.equation-free-answer-banner--dark .equation-free-answer-banner__calc--active:hover{background:#2563eb}.equation-free-answer-banner__calc-icon{display:block}.equation-free-answer-banner__refresh{box-sizing:border-box;cursor:pointer;color:#fff;background:#fb923c;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:2.85rem;min-height:2.85rem;padding:0;transition:transform .16s,box-shadow .16s,filter .16s;display:inline-flex;box-shadow:0 8px 18px #fb923c40}.equation-free-answer-banner__refresh:hover{filter:none;background:#f97316;transform:translateY(-1px);box-shadow:0 10px 22px #f973164d}.equation-free-answer-banner__refresh:focus-visible{outline-offset:2px;outline:2px solid #f97316b3}.equation-free-answer-banner--dark .equation-free-answer-banner__refresh{background:#fb923c;box-shadow:0 10px 20px #00000047}.equation-free-answer-banner--dark .equation-free-answer-banner__refresh:hover{filter:none;background:#f97316}.equation-free-answer-banner__refresh-icon{display:block}.simplify-free-calculator-wrap{right:max(.5rem, env(safe-area-inset-right,0px));bottom:max(4.2rem, calc(env(safe-area-inset-bottom,0px) + 3.85rem));z-index:53;width:min(100vw - 20px,16.4rem);position:fixed}@media (width>=64rem){.simplify-free-calculator-wrap{bottom:max(1rem, env(safe-area-inset-bottom,0px))}}.simplify-calculator{background:#f2f2f2;border:none;border-radius:14px;padding:.5rem .55rem .55rem;box-shadow:0 4px 14px #0000001a,0 1px 3px #00000014}.simplify-calculator--dark{background:#2a2b36;box-shadow:0 4px 18px #00000059,0 1px 3px #00000040}.simplify-calculator__row{gap:.35rem;margin-bottom:.35rem;display:flex}.simplify-calculator__row:last-child{margin-bottom:0}.simplify-calculator__row--tools{margin-bottom:.4rem}.simplify-calculator__key{cursor:pointer;color:#fff;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;min-height:2.65rem;font-size:1.05rem;font-weight:600;transition:opacity .12s;display:inline-flex}.simplify-calculator__key:hover{opacity:.92}.simplify-calculator__key--num{background:#5c6b7a}.simplify-calculator__key--op{color:#334155;background:#cbd5e1;font-size:1rem}.simplify-calculator--dark .simplify-calculator__key--op{color:#e2e8f0;background:#334155}.simplify-calculator__key--danger{background:#ef4444;font-size:.78rem}.simplify-calculator__key--warn{background:#f4a259;font-size:1.05rem}.simplify-calculator__key--span3{flex:3}.simplify-calculator__key .math-var{font-style:italic}.simplify-calculator__row .simplify-calculator__key:last-child.simplify-calculator__key--op{font-size:.72rem;font-weight:700}.simplify-calculator__row .simplify-calculator__key:last-child.simplify-calculator__key--op.simplify-calculator__key--poly-var{font-family:var(--font-math-cooper);font-size:1.5rem;font-style:italic;font-weight:300}.equation-level-pick-backdrop{z-index:200;background:#00000059;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.equation-level-pick-backdrop--dark{background:#0000008c}.equation-level-pick{background:#fff;border-radius:14px;width:100%;max-width:20rem;padding:1.25rem 1.35rem;box-shadow:0 8px 32px #0000002e}.equation-level-pick-backdrop--dark .equation-level-pick{color:#e2e8f0;background:#1e293b}.equation-level-pick__title{margin:0 0 .35rem;font-size:1.1rem;font-weight:700}.equation-level-pick__hint{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.equation-level-pick-backdrop--dark .equation-level-pick__hint{color:#94a3b8}.equation-level-pick__actions{flex-direction:column;gap:.5rem;display:flex}.equation-level-pick__btn{width:100%}.equation-level-pick__cancel{width:100%;margin-top:.65rem}.geo-topbar__eq-icon{font-size:1.15rem;font-weight:800;line-height:1}.geo-topbar__btn{color:#000;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.geo-topbar__btn:hover{background:#0000000f}.geo-topbar__btn:disabled{opacity:.45;cursor:not-allowed}.geo-topbar__btn--active{color:#fff!important;background:#1e1b4b!important}.geo-topbar__btn--active:hover{background:#2d2960!important}.geo-topbar--dark .geo-topbar__btn{color:#e5e7eb}.geo-topbar--dark .geo-topbar__btn:hover{background:#ffffff14}.geo-topbar--dark .geo-topbar__sep,.geo-topbar--dark .geo-topbar__slider{background:#565f89}.geo-topbar__icon{display:block}.geo-topbar__sep{background:#d1d5db;flex-shrink:0;width:1px;height:24px}.app--free-dark .geo-topbar__sep{background:#565f89}.geo-topbar__slider-wrap{flex-shrink:0;width:96px;padding:0 6px}.geo-topbar__slider{appearance:none;cursor:pointer;background:#d1d5db;border-radius:4px;width:100%;height:4px}.geo-topbar__slider::-webkit-slider-thumb{appearance:none;cursor:grab;background:#1e1b4b;border-radius:50%;width:14px;height:14px}.geo-rightbar{z-index:50;background:#f2f2f2;border-radius:999px;align-items:center;gap:4px;padding:8px;display:flex;position:absolute;top:1rem;right:1rem;box-shadow:0 1px 3px #00000014}.geo-rightbar--dark{background:#2a2b36;box-shadow:0 2px 12px #00000059}.geo-rightbar__btn{color:#000;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex;position:relative}.geo-rightbar__btn:hover:not(:disabled){background:#0000000f}.geo-rightbar__btn:disabled{color:#9ca3af;cursor:not-allowed}.geo-rightbar--dark .geo-rightbar__btn{color:#e5e7eb}.geo-rightbar--dark .geo-rightbar__btn:hover:not(:disabled){background:#ffffff14}.geo-rightbar__btn--active{color:#fff!important;background:#1e1b4b!important}.geo-rightbar__btn--recording{animation:1.2s ease-in-out infinite geo-rec-pulse;color:#fff!important;background:#ef4444!important}@keyframes geo-rec-pulse{0%,to{box-shadow:0 0 #ef444473}50%{box-shadow:0 0 0 6px #ef444400}}.geo-rightbar__rec-idle{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.geo-rightbar__rec-idle:after{content:"";background:currentColor;border-radius:50%;width:10px;height:10px}.geo-rightbar__rec-square{background:#fff;border-radius:3px;width:22px;height:22px}.geo-rightbar__rec-ping{background:#fecaca;border-radius:50%;width:10px;height:10px;animation:1s cubic-bezier(0,0,.2,1) infinite geo-ping;position:absolute;top:6px;right:6px;box-shadow:0 0 #fca5a5b3}@keyframes geo-ping{75%,to{opacity:0;transform:scale(1.6)}}.geo-rightbar__badge{color:#fff;background:#1e1b4b;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.geo-notes-backdrop{z-index:80;background:#0f172a59;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.geo-notes-backdrop--dark{background:#0000008c}.geo-notes-panel{background:#fff;flex-direction:column;gap:.65rem;width:min(400px,100vw);padding:1rem 1.1rem 1.25rem;display:flex;overflow-y:auto;box-shadow:-8px 0 32px #0000001f}.geo-notes-backdrop--dark .geo-notes-panel{color:#c0caf5;background:#24283b}.geo-notes-panel__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.geo-notes-panel__title{margin:0;font-size:1.1rem;font-weight:700}.geo-notes-panel__close{cursor:pointer;color:#374151;background:#f3f4f6;border:none;border-radius:10px;width:36px;height:36px;font-size:1.35rem;line-height:1}.geo-notes-backdrop--dark .geo-notes-panel__close{color:#c0caf5;background:#414868}.geo-notes-panel__label{color:#6b7280;font-size:.82rem;font-weight:600}.geo-notes-backdrop--dark .geo-notes-panel__label{color:#9aa5ce}.geo-notes-panel__textarea{width:100%;min-height:160px;font:inherit;resize:vertical;box-sizing:border-box;border:1px solid #e5e7eb;border-radius:12px;padding:.65rem .75rem;font-size:.9rem}.geo-notes-backdrop--dark .geo-notes-panel__textarea{color:#c0caf5;background:#414868;border-color:#565f89}.geo-notes-panel__log-head{font-size:.78rem;font-weight:650}.geo-notes-panel__rec-live{color:#dc2626}.geo-notes-backdrop--dark .geo-notes-panel__rec-live{color:#f7768e}.geo-notes-panel__rec-off{color:#6b7280}.geo-notes-panel__log{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;max-height:220px;margin:0;padding:0;font-size:.82rem;list-style:none;overflow-y:auto}.geo-notes-backdrop--dark .geo-notes-panel__log{background:#1a1b26;border-color:#565f89}.geo-notes-panel__log-empty{color:#9ca3af;padding:.75rem}.geo-notes-panel__log-item{border-bottom:1px solid #e5e7eb;flex-direction:column;gap:.15rem;padding:.45rem .65rem;display:flex}.geo-notes-backdrop--dark .geo-notes-panel__log-item{border-bottom-color:#565f89}.geo-notes-panel__log-time{color:#9ca3af;font-size:.72rem}.workspace--free-outer{background:0 0}.workspace.workspace--free-outer{flex:auto;align-self:stretch;min-height:0}.workspace--free-outer--pan-tool{cursor:grab}.workspace--free-outer--pan-tool:active{cursor:grabbing}.workspace--free-outer--erase-tool{cursor:crosshair}.workspace--free-inner{background:0 0}.free-grid-drop-preview{background-color:#3b82f624;background-image:linear-gradient(90deg,#2563eb47 1px,#0000 1px),linear-gradient(#2563eb47 1px,#0000 1px);background-size:50px 50px,50px 50px;border:2px solid #2563ebe0;border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff59,0 0 0 1px #2563eb33}.app--free-dark .free-grid-drop-preview{background-color:#38bdf824;background-image:linear-gradient(90deg,#7dd3fc59 1px,#0000 1px),linear-gradient(#7dd3fc59 1px,#0000 1px);background-size:50px 50px,50px 50px;border-color:#7dd3fceb;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 0 1px #38bdf840}.free-edge-snap-guide{border-radius:2px;box-shadow:0 0 0 1px #ffffff8c,0 0 10px #2563eb73}.free-edge-snap-guide--v{background:linear-gradient(#2563ebf2,#1d4ed8f2)}.free-edge-snap-guide--h{background:linear-gradient(90deg,#2563ebf2,#1d4ed8f2)}.app--free-dark .free-edge-snap-guide{box-shadow:0 0 0 1px #fff3,0 0 12px #38bdf880}.app--free-dark .free-edge-snap-guide--v{background:linear-gradient(#7dd3fcfa,#38bdf8f2)}.app--free-dark .free-edge-snap-guide--h{background:linear-gradient(90deg,#7dd3fcfa,#38bdf8f2)}.app--free-dark .bank-sidebar--free-tools{background:#2a2b36;box-shadow:0 4px 18px #00000059,0 1px 3px #00000040}.app--free-dark .bank-rail__back{color:#e5e7eb}.app--free-dark .bank-rail__back:hover{background:#ffffff14}.app--free-dark .bank-sidebar--free-tools .bank-rail__tool{color:#c0caf5}.app--free-dark .bank-sidebar--free-tools .bank-rail__tool:hover{background:#ffffff14}.app--free-dark .bank-sidebar--free-tools .bank-rail__tool--active{color:#e0e7ff;background:#1e1b4b}.app--free-dark .bank-sidebar--free-tools .bank-rail__tool--active:hover{color:#fff;background:#312e81}.app--free-dark .bank-rail__sep{background:#565f89}.app--free-dark .bank-sidebar--free-tools .bank-heading--rail{color:#c0caf5}.app--free-dark .bank-sidebar--free-tools .bank-rail__clear{color:#e5e7eb}.app--free-dark .bank-sidebar--free-tools .bank-rail__clear:hover,.app--free-dark .bank-sidebar--free-tools .bank-rail__clear:focus-visible{color:#f87171;background:#ef44442e}.bank-sidebar--free-tablet{width:86px;min-width:86px;max-width:100px;padding:10px 10px 2rem}.bank-sidebar--free-tablet .bank-grid--rail .bank-cell{max-width:4.75rem}@media (width<=520px){.main-menu__masthead{flex-direction:column;align-items:stretch}.main-menu__tabs{justify-content:flex-start}}@media (width<=720px){.app__body{flex-direction:column}.bank-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:42vh}.app__body--free-rail{flex-direction:column;align-items:stretch;min-height:0}.bank-sidebar.bank-sidebar--free-tools{min-width:90px;max-width:90px;width:90px!important}.app__body--free-rail .workspace-column{flex:1;min-width:0;min-height:0}.app__body--free-rail .workspace-scroll,.bank-sidebar--equation-right.bank-sidebar--free-tools{min-height:0}.workspace-scroll{min-height:45vh}.main-menu:not(.main-menu--geo){padding:1.25rem 1rem 2rem}.main-menu__body{padding:1.1rem 1rem 2rem}}.geo-rightbar__btn--record-wrap{position:relative}.geo-rightbar__rec-tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:5;background:#000000d1;border-radius:8px;padding:.35rem .65rem;font-size:.72rem;font-weight:500;transition:opacity .15s;position:absolute;top:calc(100% + 8px);right:0}.geo-rightbar__btn--record-wrap:hover .geo-rightbar__rec-tooltip{opacity:1}.app--free-playback .geo-topbar,.app--free-playback .bank-sidebar.bank-sidebar--free-tools{display:none!important}.app--free-playback .workspace-scroll--free-geo{pointer-events:none}.app--free-playback .workspace-scroll--free-geo .free-rec-player,.app--free-playback .workspace-scroll--free-geo .free-rec-player *{pointer-events:auto}.free-rec-backdrop{z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000c7;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.free-rec-backdrop--dark{background:#000000d9}.free-rec-editor{background:#fff;border-radius:1rem;flex-direction:column;width:min(40rem,100%);max-height:min(82vh,720px);padding:1.75rem 1.5rem 1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000059}.free-rec-backdrop--dark .free-rec-editor{background:#24283b;border:1px solid #565f89}.free-rec-editor__close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex;position:absolute;top:.85rem;right:.85rem}.free-rec-backdrop--dark .free-rec-editor__close:hover{color:#c0caf5;background:#ffffff14}.free-rec-editor__close:hover{color:#374151;background:#f3f4f6}.free-rec-editor__title{color:#111827;margin:0 2rem .35rem 0;font-size:1.35rem;font-weight:700}.free-rec-backdrop--dark .free-rec-editor__title{color:#c0caf5}.free-rec-editor__lead{color:#6b7280;margin:0 0 1rem;font-size:.88rem}.free-rec-backdrop--dark .free-rec-editor__lead{color:#9aa5ce}.free-rec-editor__field{margin-bottom:1rem}.free-rec-editor__label,.free-rec-editor__sublabel{color:#4b5563;margin-bottom:.35rem;font-size:.72rem;font-weight:600;display:block}.free-rec-backdrop--dark .free-rec-editor__label,.free-rec-backdrop--dark .free-rec-editor__sublabel{color:#9aa5ce}.free-rec-editor__input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:.65rem;width:100%;padding:.5rem .65rem;font-size:.88rem}.free-rec-editor__input--mono{font-family:ui-monospace,monospace;font-size:.82rem}.free-rec-backdrop--dark .free-rec-editor__input{color:#c0caf5;background:#414868;border-color:#565f89}.free-rec-editor__steps{flex-direction:column;flex:1;gap:.65rem;margin-bottom:1rem;padding-right:.25rem;display:flex;overflow-y:auto}.free-rec-editor__step{background:#f9fafb;border-radius:.65rem;padding:.85rem}.free-rec-backdrop--dark .free-rec-editor__step{background:#00000040}.free-rec-editor__step-head{align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.free-rec-editor__step-num{color:#374151;background:#e5e7eb;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:700;display:flex}.free-rec-backdrop--dark .free-rec-editor__step-num{color:#c0caf5;background:#414868}.free-rec-editor__step-ic{background:#dbe7ff;background:color-mix(in srgb, var(--primary) 18%, #fff);width:2rem;height:2rem;color:var(--primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.free-rec-editor__step-notation-wrap{flex:1;min-width:0}.free-rec-editor__step-desc{margin-left:4.5rem}.free-rec-icon{display:block}.free-rec-icon--text{font-size:.95rem;font-weight:700;line-height:1}.free-rec-editor__done{cursor:pointer;color:#fff;background:linear-gradient(90deg,#3b82f6,#2563eb);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 4px 14px #2563eb59}.free-rec-editor__done:hover{filter:brightness(1.05)}.free-rec-player{z-index:110;pointer-events:none;flex-direction:column;display:flex;position:fixed;inset:0}.app--free-rec-player-active .workspace-column--free-geo>.free-poly-expr{display:none!important}.free-rec-player__top-strip{top:max(.65rem, env(safe-area-inset-top,0px));z-index:112;pointer-events:none;flex-direction:column;align-items:stretch;width:min(100vw - 24px,24rem);display:flex;position:fixed;left:50%;transform:translate(-50%)}.free-poly-expr.free-poly-expr--rec-top{box-sizing:border-box;width:100%;max-width:none;margin:0;font-size:clamp(2.7rem,8vw,3.7rem);position:relative;inset:auto;transform:none}.free-poly-expr.free-poly-expr--rec-top .free-rec-player__top-comment{text-align:center;color:#475569;border-top:1px solid #93c5fd73;margin:.4rem 0 0;padding:.45rem .35rem 0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.84rem;font-style:normal;font-weight:500;line-height:1.4}.free-poly-expr.free-poly-expr--rec-top.free-poly-expr--dark .free-rec-player__top-comment{color:#94a3b8;border-top-color:#60a5fa66}.free-rec-player--dark .free-rec-player__intro-title{color:#8b9ec7}.free-rec-player__intro{pointer-events:auto;background:#ffffff0f;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;display:flex;position:absolute;inset:0}.free-rec-player--dark .free-rec-player__intro{background:#0003}.free-rec-player__intro-pill{border:1px solid #2563eb61;border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);background:var(--fallback-primary-on-surface-12);background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--primary);border-radius:999px;padding:.35rem 1rem;font-size:.82rem;font-weight:600}.free-rec-player--dark .free-rec-player__intro-pill{color:#7aa2f7;background:#7aa2f726;border-color:#7aa2f759}.free-rec-player__intro-title{text-align:center;color:#3b4a6b;max-width:90vw;margin:0;font-size:clamp(2rem,7vw,4.5rem);font-weight:700;line-height:1.05}.free-rec-player__share{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;display:inline-flex;box-shadow:0 4px 16px #2563eb59}.free-rec-player__share:hover{background:#1d4ed8}.free-rec-player__hint{text-align:center;color:#9ca3af;max-width:20rem;margin:0;font-size:.82rem;line-height:1.45}.free-rec-player--dark .free-rec-player__hint{color:#6b7280}.free-rec-player__bar{z-index:115;padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom,0px));pointer-events:auto;background:#f2f2f2f5;border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.free-rec-player--dark .free-rec-player__bar{background:#24283bf5;border-top-color:#565f89}.free-rec-player__icon-btn{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.free-rec-player__icon-btn:hover{background:#e5e7eb}.free-rec-player--dark .free-rec-player__icon-btn{color:#c0caf5}.free-rec-player--dark .free-rec-player__icon-btn:hover{background:#ffffff14}.free-rec-player__bar-sep{background:#d1d5db;width:1px;height:1.75rem;margin:0 .25rem}.free-rec-player--dark .free-rec-player__bar-sep{background:#565f89}.free-rec-player__nav{cursor:pointer;border:none;border-radius:.75rem;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.88rem;font-weight:700;display:inline-flex}.free-rec-player__nav:disabled{opacity:.45;cursor:not-allowed}.free-rec-player__nav--back{color:#fff;background:#3b82f6}.free-rec-player__nav--back:hover:not(:disabled){background:#2563eb}.free-rec-player__nav--fwd{color:#fff;background:#2563eb}.free-rec-player__nav--fwd:hover:not(:disabled){background:#1d4ed8}
