.MafsView{background:var(--mafs-bg);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;touch-action:none;--mafs-bg:black;--mafs-fg:white;--mafs-origin-color:var(--mafs-fg);--mafs-line-color:#555;--mafs-line-stroke-dash-style:4, 3;--mafs-axis-stroke-width:1px;--grid-line-subdivision-color:#222;--mafs-red:#f11d0e;--mafs-orange:#f14e0e;--mafs-yellow:#ffe44a;--mafs-green:#15e272;--mafs-blue:#58a6ff;--mafs-indigo:#7c58ff;--mafs-violet:#ae58ff;--mafs-pink:#ee00ab;outline:0;font-family:inherit;display:block;overflow:hidden}.MafsView text{fill:var(--mafs-fg);cursor:default}.MafsView path{stroke:var(--mafs-fg)}.MafsView:focus-visible{border-radius:5px;outline:3px solid #58a6ff}@supports not selector(:focus-visible){.MafsView:focus{border-radius:5px;outline:3px solid #58a6ff}}.mafs-shadow{paint-order:stroke;stroke-width:3px;stroke:var(--mafs-bg);stroke-opacity:.75;stroke-linejoin:round}.mafs-movable-point{cursor:grab;touch-action:none}.mafs-movable-point-dragging{cursor:grabbing}.mafs-movable-point:focus{outline:0}.mafs-movable-point *{fill:none;stroke:none}.mafs-movable-point-hitbox{fill:#0000}.mafs-movable-point-focus{stroke:var(--movable-point-color);stroke-width:2px;stroke-opacity:0;fill:none;transition:stroke-opacity .2s}.mafs-movable-point-ring{fill:var(--movable-point-color);fill-opacity:.25;stroke:none;transition:r .2s}.mafs-movable-point-point{fill:var(--movable-point-color);transition:r .2s}.mafs-movable-point:hover .mafs-movable-point-point,.mafs-movable-point:focus-visible .mafs-movable-point-point{r:calc(var(--movable-point-ring-size) - 2px)}.mafs-movable-point:hover .mafs-movable-point-ring,.mafs-movable-point:focus-visible .mafs-movable-point-ring{r:calc(var(--movable-point-ring-size) + 3px)}.mafs-movable-point.mafs-movable-point-dragging .mafs-movable-point-ring{r:var(--movable-point-ring-size)}.mafs-movable-point:focus-visible .mafs-movable-point-focus{stroke-opacity:1}
@layer legacy{:root{--target:48px;--pad-key:56px}.app--practice{grid-template-columns:var(--rail-w) minmax(0, 1fr) var(--aside-w)}@media (max-width:1080px){.app--practice{grid-template-columns:var(--rail-w) minmax(0, 1fr)}}@media (max-width:640px){.app--practice{grid-template-columns:minmax(0,1fr)}}.thread>*{flex-shrink:0}.qcard{margin-left:calc(44px + var(--sp-3));border:1px solid var(--l-hair);border-radius:var(--r-xl);background-color:var(--s-window);max-width:34rem;padding:var(--sp-4) var(--sp-5);align-self:stretch;gap:var(--sp-4);box-shadow:var(--e-card);flex-direction:column;flex:none;display:flex;overflow:hidden}.qcard__head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.qcard__text{font-family:var(--f-display);font-size:1.625rem;font-weight:var(--fw-semi);line-height:var(--lh-snug);letter-spacing:var(--tr-snug);font-variant-numeric:tabular-nums}.qcard[data-type=T6] .qcard__text{font-family:var(--f-body);font-size:var(--fs-500);font-weight:var(--fw-regular)}.qcard__text:focus,.qcard__text:focus-visible{outline:none}.qcard__read{min-width:var(--target);min-height:var(--target);border-radius:var(--r-full);color:var(--t-you);background-color:var(--u-100);transition:background-color var(--m-quick) var(--m-ease);flex-shrink:0;place-items:center;display:grid}.qcard__read:hover{background-color:var(--u-200)}.qcard__read .glyph{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.qcard__model{justify-content:center;display:flex}.model{max-width:100%;height:auto;max-height:140px}.model__rod,.model__flat{fill:var(--u-100);stroke:var(--u-500);stroke-width:1.5px}.model__cube{fill:var(--u-500)}.model__sign{font-family:var(--f-display);fill:var(--t-primary);text-anchor:middle;font-size:22px}.model__bar,.model__part{fill:var(--u-100);stroke:var(--u-500);stroke-width:1.5px}.model__part--unknown{fill:var(--n-000);stroke-dasharray:5 4}.model__label{font-family:var(--f-display);fill:var(--t-primary);text-anchor:middle;font-size:15px}.pad{gap:var(--sp-3);outline:none;flex-direction:column;align-items:stretch;width:100%;display:flex}.pad__display{min-height:var(--pad-key);border:1px solid var(--l-strong);border-radius:var(--r-lg);font-family:var(--f-display);font-size:var(--fs-600);font-weight:var(--fw-semi);place-items:center;display:grid}.pad__placeholder{color:var(--t-tertiary)}.pad__keys{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pad__keys .pad__key{min-height:64px}.pad__keys .pad__key--clear:nth-child(11){grid-column:span 2}.pad__keys .pad__key--clear:nth-child(13){grid-column:span 3}.pad__key{min-height:var(--pad-key);min-width:var(--target);border-radius:var(--r-lg);background-color:var(--s-sunk);font-family:var(--f-display);font-size:var(--fs-500);font-weight:var(--fw-semi);transition:background-color var(--m-quick) var(--m-ease)}.pad__key:hover:not(:disabled){background-color:var(--n-200)}.pad__key:disabled{opacity:.45;cursor:not-allowed}.pad__check{border-radius:var(--r-full);background-color:var(--s-you);min-height:60px;color:var(--t-on-you);font-family:var(--f-display);font-size:var(--fs-400);font-weight:var(--fw-semi)}.pad__check:disabled{opacity:.4;cursor:not-allowed}.tiles{gap:var(--sp-2);outline:none;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tiles[data-count="3"],.tiles[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}@container qcard (min-width:26rem){.tiles[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.tiles[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}.qcard{container:qcard/inline-size}.tile{min-height:56px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);background-color:var(--s-sunk);font-family:var(--f-display);font-weight:var(--fw-semi);transition:border-color var(--m-quick) var(--m-ease), background-color var(--m-quick) var(--m-ease), transform var(--m-quick) var(--m-ease);border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.tile:hover:not(:disabled){border-color:var(--l-you);background-color:var(--u-100)}.tile:active:not(:disabled){transform:scale(.97)}.tile:focus-visible{outline:2px solid var(--l-you);outline-offset:2px}.tile__key{font-family:var(--f-body);font-size:.6875rem;font-weight:var(--fw-regular);color:var(--t-secondary);position:absolute;top:5px;left:8px}.tile--tried{border-color:var(--l-hair);color:var(--t-secondary);cursor:default;background-color:#0000;border-style:dashed}.tile--tried .tile__key{display:none}.tile__note{align-items:center;gap:var(--sp-1);font-family:var(--f-body);font-size:var(--fs-200);font-weight:var(--fw-regular);display:inline-flex}.tile__icon{stroke:currentColor;stroke-width:2px;fill:none;width:14px;height:14px}.qcard__help{justify-content:space-between;align-items:center;gap:var(--sp-2);border-top:1px solid var(--l-hair);padding-top:var(--sp-3);flex-wrap:wrap;display:flex}.qcard__helpask,.qcard__helpaway{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.qcard__helpask{flex:100%}.qcard__helpask>button{flex:1 1 0}.qcard__helpaway{flex:100%;justify-content:space-between}.helpbtn{min-height:var(--target);padding:0 var(--sp-4);border-radius:var(--r-full);border:1px solid var(--l-hair);background-color:var(--s-window);font-size:var(--fs-200);font-weight:var(--fw-semi);transition:background-color var(--m-quick) var(--m-ease), border-color var(--m-quick) var(--m-ease)}.helpbtn:hover:not(:disabled){border-color:var(--l-you);background-color:var(--u-100);color:var(--t-you)}.helpbtn:disabled{opacity:.5;cursor:not-allowed}.helpbtn--quiet{color:var(--t-secondary);font-weight:var(--fw-regular);padding:0 var(--sp-3);background-color:#0000;border-color:#0000}.helpbtn--quiet:hover:not(:disabled){background-color:var(--s-sunk);color:var(--t-primary);border-color:#0000}.chip{margin-left:calc(44px + var(--sp-3));align-self:flex-start;align-items:center;gap:var(--sp-2);min-height:36px;padding:var(--sp-1) var(--sp-4);border-radius:var(--r-full);border:1px solid var(--l-hair);font-family:var(--f-display);font-size:var(--fs-200);color:var(--t-secondary);display:inline-flex}.chip--done{background-color:var(--s-solved);color:var(--t-solved);border-color:#0000}.chip__icon{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.pad__key,.tile{transition:none}}.practice{min-height:0}.recognition{align-items:baseline;gap:var(--sp-2);color:var(--t-secondary);font-size:var(--fs-200);padding-inline:calc(44px + var(--sp-3));flex-wrap:wrap;display:flex}.recognition strong{color:var(--t-primary);font-weight:var(--fw-semi)}.encouragement{margin:0;margin-left:calc(44px + var(--sp-3));max-width:34rem;padding:var(--sp-4) var(--sp-5);border-left:3px solid var(--l-you);background-color:var(--s-sunk);border-radius:var(--r-lg);gap:var(--sp-2);flex-direction:column;display:flex}.encouragement__message{font-family:var(--f-display);font-size:var(--fs-300);line-height:var(--lh-snug);margin:0}.encouragement__who{font-size:var(--fs-200);color:var(--t-secondary)}.encouragement__credit{font-size:var(--fs-100);color:var(--t-tertiary);display:block}.practice__signedout{align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) calc(44px + var(--sp-3));flex-direction:column;display:flex}.practice__retry{margin-left:calc(44px + var(--sp-3));align-self:flex-start}.chip__text{font-variant-numeric:tabular-nums}.tile__label{font-family:var(--f-display);font-size:1.375rem;font-weight:var(--fw-semi);font-variant-numeric:tabular-nums;line-height:1.2}.tiles[data-words] .tile__label{font-family:var(--f-body);font-size:var(--fs-300)}.pad__key--extra{color:var(--t-you)}.pad__key--clear{border:1px solid var(--l-hair);background-color:#0000}.nline{gap:var(--sp-3);flex-direction:column;display:flex}.nline__view{padding-bottom:var(--sp-2);align-items:stretch;gap:2px;display:flex;overflow-x:auto}.nline__mark{font-variant-numeric:tabular-nums;flex:1 1 0;min-width:44px;min-height:48px;padding:0}.nline__readout{font-size:var(--fs-200);color:var(--t-secondary);margin:0}.model--baseten{max-height:150px}.model--bar{width:100%;max-height:96px}.thinking{align-items:center;gap:var(--sp-3);min-height:44px;padding-left:0;display:flex}.thinking__dots{gap:5px;display:inline-flex}.thinking__line{font-size:var(--fs-200);color:var(--t-secondary);font-weight:var(--fw-medium,500)}.thinking__dots span{background-color:var(--t-tertiary);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite thinking}.thinking__dots span:nth-child(2){animation-delay:.15s}.thinking__dots span:nth-child(3){animation-delay:.3s}@keyframes thinking{0%,60%,to{opacity:.25}30%{opacity:1}}@media (prefers-reduced-motion:reduce){.thinking__dots span{opacity:.6;animation:none}}.scrim{display:none}.aside__close{border-radius:var(--r-md);width:40px;height:40px;color:var(--t-secondary);place-items:center;margin-left:auto;display:none}.aside__close:hover{background-color:var(--s-sunk);color:var(--t-primary)}.aside__close .glyph{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;width:18px;height:18px}@media (max-width:1080px){.app--aside-open .scrim{z-index:19;background:var(--scrim);border:0;display:block;position:fixed;inset:0}.app--aside-open .aside__close{display:grid}}.qcard__judge{align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.qcard__prompt{font-weight:var(--fw-bold);margin:0}.qcard__explain{gap:var(--sp-3);flex-direction:column;display:flex}.qcard__explain-text{resize:vertical;min-height:6rem;font:inherit;line-height:var(--lh-body,1.5)}.handson{gap:var(--sp-4);flex-direction:column;display:flex}.handson__areas{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.handson__area{border:1px solid var(--l-hair);border-radius:var(--r-lg);padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;min-height:7rem;display:flex}.handson__area--taken{background-color:var(--s-sunk);border-style:dashed}.handson__label{font-size:var(--fs-200);font-weight:var(--fw-bold);color:var(--t-secondary);margin:0}.handson__blocks{flex-wrap:wrap;align-items:flex-end;gap:4px;display:flex}.handson__rod{background-color:var(--u-100);border:1.5px solid var(--u-500);border-radius:2px;width:12px;height:60px}.handson__cube{background-color:var(--u-500);border-radius:2px;width:12px;height:12px}.handson__controls{gap:var(--sp-2);flex-wrap:wrap;display:flex}.handson__check{align-self:center;min-width:12rem}.handson__grab{cursor:grab;touch-action:none}.handson__grab:active{cursor:grabbing}.handson__lifted{opacity:.35}.handson__carried{cursor:grabbing;box-shadow:var(--e-carried);display:block;transform:rotate(-4deg)scale(1.15)}.handson__area--ready{border-color:var(--l-you);border-style:dashed}.handson__area--over{background-color:var(--u-100);border-style:solid}.handson__hint{font-size:var(--fs-100);color:var(--t-secondary);margin:auto 0 0}.handson__break{min-height:48px;padding:var(--sp-2) var(--sp-3);border:1.5px dashed var(--l-hair);border-radius:var(--r-lg);font-size:var(--fs-200);color:var(--t-secondary);transition:background-color var(--m-quick) var(--m-ease), border-color var(--m-quick) var(--m-ease);place-items:center;display:grid}.handson__break.handson__area--ready{border-color:var(--l-you);color:var(--t-you)}.handson__break.handson__area--over{background-color:var(--u-100);border-style:solid}@media (prefers-reduced-motion:no-preference){.handson__rod,.handson__cube{transition:opacity var(--m-quick) var(--m-ease)}.turn--guide .mug{animation:cast-hop .52s var(--m-ease) both}.turn--guide .bubble{transform-origin:0 100%;animation:bubble-in .32s 60ms var(--m-ease) both}.thinking__dots span{animation:1s ease-in-out infinite thinking-bounce}.thinking__line{animation:bubble-in .32s var(--m-ease) both}.thinking__dots span:nth-child(2){animation-delay:.12s}.thinking__dots span:nth-child(3){animation-delay:.24s}.qcard[data-busy]{animation:1.1s ease-in-out infinite card-anticipate}.tile:active:not(:disabled){animation:tile-press .18s var(--m-ease)}.chip--done{animation:.48s cubic-bezier(.34,1.56,.64,1) both chip-pop;position:relative}.chip--done:before,.chip--done:after{content:"";pointer-events:none;opacity:0;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:18px}.chip--done:before{background:var(--u-500);box-shadow:14px -10px 0 var(--x-goldfields), -10px -12px 0 var(--a-500), 18px 8px 0 var(--x-terracotta);animation:.62s ease-out 80ms both burst}.chip--done:after{background:var(--a-500);box-shadow:-14px 8px 0 var(--u-500), 8px 14px 0 var(--x-goldfields), -6px -16px 0 var(--x-waterhole);animation:.62s ease-out .14s both burst}.encouragement{animation:.56s cubic-bezier(.34,1.56,.64,1) both surprise-in}.recognition strong{animation:.52s cubic-bezier(.34,1.56,.64,1) .2s both chip-pop;display:inline-block}}.cheer__stage{flex:none;display:inline-flex;position:relative}.bubble--cheer{background:linear-gradient(135deg, var(--warm-soft), var(--you-soft));font-weight:600}.cheer__fx{pointer-events:none;position:absolute;inset:-10px}@media (prefers-reduced-motion:no-preference){.cheer .bubble--cheer{animation:.56s cubic-bezier(.34,1.56,.64,1) .12s both surprise-in}.cheer--spin .mug{animation:.9s cubic-bezier(.34,1.56,.64,1) both cheer-spin}.cheer--wiggle .mug{animation:.9s ease-in-out both cheer-wiggle}.cheer--stars .mug,.cheer--confetti .mug{animation:.8s cubic-bezier(.34,1.56,.64,1) both cheer-jump}.cheer--confetti .cheer__fx:before,.cheer--confetti .cheer__fx:after{content:"";opacity:0;border-radius:2px;width:7px;height:7px;position:absolute;top:50%;left:50%}.cheer--confetti .cheer__fx:before{background:var(--x-goldfields);box-shadow:-22px -30px 0 var(--a-500), 20px -34px 0 var(--u-500), -30px 4px 0 var(--x-terracotta), 28px 0 0 var(--x-waterhole), 4px -44px 0 var(--x-desert-rose);animation:1s ease-out 80ms both confetti}.cheer--confetti .cheer__fx:after{background:var(--x-olive);box-shadow:14px -40px 0 var(--x-goldfields), -14px -42px 0 var(--x-waterhole), 34px -18px 0 var(--a-500), -36px -16px 0 var(--u-500);animation:1.1s ease-out .18s both confetti}.cheer--stars .cheer__fx:before,.cheer--stars .cheer__fx:after{content:"✦";color:var(--x-goldfields);opacity:0;font-size:14px;line-height:1;position:absolute}.cheer--stars .cheer__fx:before{text-shadow:44px 6px 0 var(--u-500);animation:1.2s ease-in-out .15s both twinkle;top:0;left:-2px}.cheer--stars .cheer__fx:after{text-shadow:-40px 4px 0 var(--a-500);animation:1.2s ease-in-out .35s both twinkle;bottom:0;right:-2px}}@keyframes cheer-spin{0%{opacity:0;transform:scale(.6)rotate(-180deg)}70%{opacity:1;transform:scale(1.12)rotate(12deg)}to{transform:none}}@keyframes cheer-wiggle{0%{opacity:0;transform:scale(.7)}20%{opacity:1;transform:scale(1.1)rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}to{transform:none}}@keyframes cheer-jump{0%{opacity:0;transform:translateY(8px)scale(.7)}45%{opacity:1;transform:translateY(-14px)scale(1.1)}70%{transform:translateY(2px)scale(.97)}to{transform:none}}@keyframes confetti{0%{opacity:1;transform:translate(-50%)scale(.3)}to{opacity:0;transform:translate(-50%,18px)scale(1.4)rotate(120deg)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.3)}70%{opacity:.8;transform:scale(.9)}}@keyframes cast-hop{0%{opacity:0;transform:translateY(6px)scale(.9)}55%{opacity:1;transform:translateY(-4px)scale(1.04)}to{transform:none}}@keyframes bubble-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@keyframes thinking-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@keyframes card-anticipate{0%,to{box-shadow:var(--e-hair), var(--glow-you-0)}50%{box-shadow:var(--e-hair), var(--glow-you)}}@keyframes tile-press{50%{transform:scale(.94)}}@keyframes chip-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}@keyframes surprise-in{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:none}}.turn--cont{margin-top:calc(var(--sp-3) * -1)}.turn--cont .mug{visibility:hidden}.turn--cont .who,.topbar__nav,.topbar__signout .glyph{display:none}@media (max-width:640px){.app--practice{grid-template-rows:minmax(0,1fr)}.app--practice>.rail{display:none}.practice .topbar{min-height:52px;padding:0 var(--sp-2) 0 var(--sp-3);gap:var(--sp-2)}.practice .topbar__id{gap:var(--sp-2)}.practice .topbar__id .mug{width:30px;height:30px}.practice .topbar__name{font-size:var(--fs-400)}.practice .topbar__meta{display:none}.practice .topbar__tools{gap:0}.topbar__nav{display:flex}.topbar__icon,.practice .topbar__signout{width:var(--target);height:var(--target);min-height:var(--target);border-radius:var(--r-md);color:var(--t-secondary);place-items:center;padding:0;display:grid}.topbar__icon:hover{background-color:var(--s-sunk);color:var(--t-primary)}.topbar__signout-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar__signout .glyph{display:block}.practice .thread{padding:var(--sp-3) var(--sp-3) var(--sp-5);gap:var(--sp-3)}.practice .turn{gap:var(--sp-2);max-width:100%}.practice .turn .mug{width:28px;height:28px}.practice .bubble{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-300)}.practice .chip,.practice .recognition{margin-left:calc(28px + var(--sp-2))}.practice .qcard{max-width:none;padding:var(--sp-4);gap:var(--sp-3);border-radius:var(--r-lg);margin-left:0}.practice .practice__retry{margin-left:calc(28px + var(--sp-2))}.practice .qcard__text{font-size:var(--fs-500)}.practice .pad{gap:var(--sp-2)}.practice .pad__display{min-height:52px}.practice .pad__keys{gap:6px}.practice .pad__keys .pad__key,.practice .pad__check{min-height:52px}}.you-settings{gap:var(--sp-4);flex-direction:column;display:flex}.you-settings .acct-cards{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.nline__marks{gap:var(--sp-1);grid-auto-columns:minmax(44px,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}}.encouragement__media{object-fit:cover;border-radius:var(--r-md);width:100%;max-height:18rem;margin-bottom:var(--sp-3);display:block}.encouragement__audio{width:100%;margin-bottom:var(--sp-3);display:block}
